Compare commits
31 Commits
work/dphal
...
v24.04.80
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
eeddf99ca5 | ||
|
|
09a35b1a7e | ||
|
|
533182ec55 | ||
|
|
70a8842f00 | ||
|
|
ab33d1ca88 | ||
|
|
9e45f22e09 | ||
|
|
6a627dfff0 | ||
|
|
a9f05a7f63 | ||
|
|
4dfd4b68eb | ||
|
|
3786710d81 | ||
|
|
3967b27352 | ||
|
|
714ea8413c | ||
|
|
4097addae9 | ||
|
|
e9ac9deb40 | ||
|
|
3b858ab7d5 | ||
|
|
08807797a5 | ||
|
|
923839d6c7 | ||
|
|
3d4a1d22b0 | ||
|
|
5aa7f499c0 | ||
|
|
40c3519737 | ||
|
|
6ec9cc2475 | ||
|
|
eba34b19ad | ||
|
|
8517636485 | ||
|
|
4a96dae57d | ||
|
|
09f433be45 | ||
|
|
b9901a9167 | ||
|
|
8b27d99d82 | ||
|
|
6b53c4d7b1 | ||
|
|
bd28a7f66d | ||
|
|
0d1c09696d | ||
|
|
aeb4013d26 |
@@ -110,7 +110,7 @@
|
||||
{
|
||||
"type": "git",
|
||||
"url": "https://github.com/quotient-im/libQuotient.git",
|
||||
"branch": "dev",
|
||||
"branch": "0.8.x",
|
||||
"disable-submodules": true
|
||||
}
|
||||
],
|
||||
|
||||
@@ -9,7 +9,7 @@ cmake_minimum_required(VERSION 3.16)
|
||||
# KDE Applications version, managed by release script.
|
||||
set(RELEASE_SERVICE_VERSION_MAJOR "24")
|
||||
set(RELEASE_SERVICE_VERSION_MINOR "04")
|
||||
set(RELEASE_SERVICE_VERSION_MICRO "70")
|
||||
set(RELEASE_SERVICE_VERSION_MICRO "80")
|
||||
set(RELEASE_SERVICE_VERSION "${RELEASE_SERVICE_VERSION_MAJOR}.${RELEASE_SERVICE_VERSION_MINOR}.${RELEASE_SERVICE_VERSION_MICRO}")
|
||||
|
||||
project(NeoChat VERSION ${RELEASE_SERVICE_VERSION})
|
||||
|
||||
377
po/ar/neochat.po
377
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-04-21 00:38+0000\n"
|
||||
"POT-Creation-Date: 2024-04-24 02:56+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"
|
||||
@@ -17,7 +17,7 @@ msgstr ""
|
||||
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
||||
"X-Generator: Lokalize 23.08.4\n"
|
||||
|
||||
#: src/controller.cpp:134
|
||||
#: src/controller.cpp:133
|
||||
#, kde-format
|
||||
msgctxt ""
|
||||
"The reason for using push notifications, as in: '[Push notifications are "
|
||||
@@ -25,47 +25,47 @@ msgctxt ""
|
||||
msgid "Receiving notifications for new messages"
|
||||
msgstr ""
|
||||
|
||||
#: src/controller.cpp:213
|
||||
#: src/controller.cpp:212
|
||||
#, kde-format
|
||||
msgid "Network Error: %1"
|
||||
msgstr ""
|
||||
|
||||
#: src/controller.cpp:235
|
||||
#: src/controller.cpp:234
|
||||
#, kde-format
|
||||
msgid "Access token wasn't found"
|
||||
msgstr ""
|
||||
|
||||
#: src/controller.cpp:235
|
||||
#: src/controller.cpp:234
|
||||
#, kde-format
|
||||
msgid "Maybe it was deleted?"
|
||||
msgstr ""
|
||||
|
||||
#: src/controller.cpp:239
|
||||
#: src/controller.cpp:238
|
||||
#, kde-format
|
||||
msgid "Access to keychain was denied."
|
||||
msgstr ""
|
||||
|
||||
#: src/controller.cpp:239
|
||||
#: src/controller.cpp:238
|
||||
#, kde-format
|
||||
msgid "Please allow NeoChat to read the access token"
|
||||
msgstr ""
|
||||
|
||||
#: src/controller.cpp:242
|
||||
#: src/controller.cpp:241
|
||||
#, kde-format
|
||||
msgid "No keychain available."
|
||||
msgstr ""
|
||||
|
||||
#: src/controller.cpp:242
|
||||
#: src/controller.cpp:241
|
||||
#, kde-format
|
||||
msgid "Please install a keychain, e.g. KWallet or GNOME keyring on Linux"
|
||||
msgstr ""
|
||||
|
||||
#: src/controller.cpp:245
|
||||
#: src/controller.cpp:244
|
||||
#, kde-format
|
||||
msgid "Unable to read access token"
|
||||
msgstr ""
|
||||
|
||||
#: src/controller.cpp:341
|
||||
#: src/controller.cpp:340
|
||||
#, kde-format
|
||||
msgid "Receiving push notifications"
|
||||
msgstr ""
|
||||
@@ -82,19 +82,31 @@ msgctxt "@title:window"
|
||||
msgid "Event Source"
|
||||
msgstr ""
|
||||
|
||||
#: src/devtools/DebugOptions.qml:20
|
||||
#: src/devtools/DebugOptions.qml:19
|
||||
#, kde-format
|
||||
msgctxt "@option:check"
|
||||
msgid "Show hidden events in the timeline"
|
||||
msgstr ""
|
||||
|
||||
#: src/devtools/DebugOptions.qml:26
|
||||
#, kde-format
|
||||
msgctxt "@option:check Enable the matrix 'threads' feature"
|
||||
msgid "Always allow device verification"
|
||||
msgstr ""
|
||||
|
||||
#: src/devtools/DebugOptions.qml:21
|
||||
#: src/devtools/DebugOptions.qml:27
|
||||
#, kde-format
|
||||
msgid ""
|
||||
"Allow the user to start a verification session with devices that were "
|
||||
"already verified"
|
||||
msgstr ""
|
||||
|
||||
#: src/devtools/DebugOptions.qml:33
|
||||
#, kde-format
|
||||
msgctxt "@option:check"
|
||||
msgid "Show focus in window header"
|
||||
msgstr ""
|
||||
|
||||
#: src/devtools/DevtoolsPage.qml:18 src/settings/NeoChatGeneralPage.qml:240
|
||||
#, kde-format
|
||||
msgid "Developer Tools"
|
||||
@@ -141,28 +153,28 @@ msgstr ""
|
||||
msgid "Room"
|
||||
msgstr ""
|
||||
|
||||
#: src/devtools/RoomData.qml:35
|
||||
#: src/devtools/RoomData.qml:36
|
||||
#, kde-format
|
||||
msgid "Room Id: %1"
|
||||
msgstr ""
|
||||
|
||||
#: src/devtools/RoomData.qml:39
|
||||
#: src/devtools/RoomData.qml:40
|
||||
#, kde-format
|
||||
msgid "Room Account Data"
|
||||
msgstr ""
|
||||
|
||||
#: src/devtools/RoomData.qml:52 src/devtools/RoomData.qml:98
|
||||
#: src/devtools/RoomData.qml:53 src/devtools/RoomData.qml:99
|
||||
#: src/qml/MessageSourceSheet.qml:42
|
||||
#, kde-format
|
||||
msgid "Event Source"
|
||||
msgstr ""
|
||||
|
||||
#: src/devtools/RoomData.qml:60
|
||||
#: src/devtools/RoomData.qml:61
|
||||
#, kde-format
|
||||
msgid "Room State"
|
||||
msgstr ""
|
||||
|
||||
#: src/devtools/RoomData.qml:74
|
||||
#: src/devtools/RoomData.qml:75
|
||||
#, kde-format
|
||||
msgctxt "'Event' being some JSON data, not something physically happening."
|
||||
msgid "%1 event of this type"
|
||||
@@ -170,7 +182,7 @@ msgid_plural "%1 events of this type"
|
||||
msgstr[0] ""
|
||||
msgstr[1] ""
|
||||
|
||||
#: src/devtools/RoomData.qml:83
|
||||
#: src/devtools/RoomData.qml:84
|
||||
#, kde-format
|
||||
msgctxt "'Event' being some JSON data, not something physically happening."
|
||||
msgid "Event Information"
|
||||
@@ -204,49 +216,44 @@ msgctxt ""
|
||||
msgid "State Keys"
|
||||
msgstr ""
|
||||
|
||||
#: src/enums/neochatroomtype.h:60
|
||||
#: src/enums/neochatroomtype.h:59
|
||||
#, kde-format
|
||||
msgid "Invited"
|
||||
msgstr ""
|
||||
|
||||
#: src/enums/neochatroomtype.h:62
|
||||
#: src/enums/neochatroomtype.h:61
|
||||
#, kde-format
|
||||
msgid "Favorite"
|
||||
msgstr ""
|
||||
|
||||
#: src/enums/neochatroomtype.h:64 src/qml/UserSearchPage.qml:82
|
||||
#: src/enums/neochatroomtype.h:63 src/qml/UserSearchPage.qml:82
|
||||
#, kde-format
|
||||
msgid "Friends"
|
||||
msgstr ""
|
||||
|
||||
#: src/enums/neochatroomtype.h:66
|
||||
#: src/enums/neochatroomtype.h:65
|
||||
#, kde-format
|
||||
msgid "Normal"
|
||||
msgstr ""
|
||||
|
||||
#: src/enums/neochatroomtype.h:68
|
||||
#: src/enums/neochatroomtype.h:67
|
||||
#, kde-format
|
||||
msgid "Low priority"
|
||||
msgstr ""
|
||||
|
||||
#: src/enums/neochatroomtype.h:70
|
||||
#: src/enums/neochatroomtype.h:69
|
||||
#, kde-format
|
||||
msgid "Spaces"
|
||||
msgstr ""
|
||||
|
||||
#: src/enums/neochatroomtype.h:72 src/qml/ExploreComponentMobile.qml:36
|
||||
#, kde-format
|
||||
msgid "Search"
|
||||
msgstr ""
|
||||
|
||||
#: src/eventhandler.cpp:303 src/eventhandler.cpp:507
|
||||
#: src/models/messagecontentmodel.cpp:140 src/models/messageeventmodel.cpp:465
|
||||
#: src/models/messagecontentmodel.cpp:140 src/models/messageeventmodel.cpp:436
|
||||
#, kde-format
|
||||
msgid "<i>[This message was deleted]</i>"
|
||||
msgstr ""
|
||||
|
||||
#: src/eventhandler.cpp:303 src/models/messagecontentmodel.cpp:141
|
||||
#: src/models/messageeventmodel.cpp:466
|
||||
#: src/models/messageeventmodel.cpp:437
|
||||
#, kde-format
|
||||
msgid "<i>[This message was deleted: %1]</i>"
|
||||
msgstr ""
|
||||
@@ -619,12 +626,12 @@ msgctxt "The location being downloaded to"
|
||||
msgid "Destination"
|
||||
msgstr ""
|
||||
|
||||
#: src/login.cpp:85 src/login.cpp:100
|
||||
#: src/login.cpp:84 src/login.cpp:99
|
||||
#, kde-format
|
||||
msgid "Network Error"
|
||||
msgstr ""
|
||||
|
||||
#: src/login.cpp:93
|
||||
#: src/login.cpp:92
|
||||
#, kde-format
|
||||
msgid "Login Failed: %1"
|
||||
msgstr ""
|
||||
@@ -944,315 +951,315 @@ msgstr ""
|
||||
msgid "Share a URL to Matrix"
|
||||
msgstr ""
|
||||
|
||||
#: src/matriximageprovider.cpp:40
|
||||
#: src/matriximageprovider.cpp:38
|
||||
#, kde-format
|
||||
msgid "Media id '%1' doesn't follow server/mediaId pattern"
|
||||
msgstr ""
|
||||
|
||||
#: src/matriximageprovider.cpp:98
|
||||
#: src/matriximageprovider.cpp:96
|
||||
#, kde-format
|
||||
msgid "Image request has been cancelled"
|
||||
msgstr ""
|
||||
|
||||
#: src/models/actionsmodel.cpp:24
|
||||
#: src/models/actionsmodel.cpp:25
|
||||
#, kde-format
|
||||
msgid "Leaving this room."
|
||||
msgstr ""
|
||||
|
||||
#: src/models/actionsmodel.cpp:31 src/models/actionsmodel.cpp:228
|
||||
#: src/models/actionsmodel.cpp:254 src/models/actionsmodel.cpp:284
|
||||
#: src/models/actionsmodel.cpp:32 src/models/actionsmodel.cpp:229
|
||||
#: src/models/actionsmodel.cpp:255 src/models/actionsmodel.cpp:285
|
||||
#, kde-format
|
||||
msgctxt "'<text>' does not look like a room id or alias."
|
||||
msgid "'%1' does not look like a room id or alias."
|
||||
msgstr ""
|
||||
|
||||
#: src/models/actionsmodel.cpp:39
|
||||
#: src/models/actionsmodel.cpp:40
|
||||
#, kde-format
|
||||
msgctxt "Leaving room <roomname>."
|
||||
msgid "Leaving room %1."
|
||||
msgstr ""
|
||||
|
||||
#: src/models/actionsmodel.cpp:42
|
||||
#: src/models/actionsmodel.cpp:43
|
||||
#, kde-format
|
||||
msgctxt "Room <roomname> not found"
|
||||
msgid "Room %1 not found."
|
||||
msgstr ""
|
||||
|
||||
#: src/models/actionsmodel.cpp:50 src/models/actionsmodel.cpp:320
|
||||
#: src/models/actionsmodel.cpp:51 src/models/actionsmodel.cpp:321
|
||||
#, kde-format
|
||||
msgid "No new nickname provided, no changes will happen."
|
||||
msgstr ""
|
||||
|
||||
#: src/models/actionsmodel.cpp:65 src/models/actionsmodel.cpp:75
|
||||
#: src/models/actionsmodel.cpp:85 src/models/actionsmodel.cpp:95
|
||||
#: src/models/actionsmodel.cpp:115 src/models/actionsmodel.cpp:135
|
||||
#: src/models/actionsmodel.cpp:146 src/models/actionsmodel.cpp:162
|
||||
#: src/models/actionsmodel.cpp:172 src/models/actionsmodel.cpp:182
|
||||
#: src/models/actionsmodel.cpp:66 src/models/actionsmodel.cpp:76
|
||||
#: src/models/actionsmodel.cpp:86 src/models/actionsmodel.cpp:96
|
||||
#: src/models/actionsmodel.cpp:116 src/models/actionsmodel.cpp:136
|
||||
#: src/models/actionsmodel.cpp:147 src/models/actionsmodel.cpp:163
|
||||
#: src/models/actionsmodel.cpp:173 src/models/actionsmodel.cpp:183
|
||||
msgid "<message>"
|
||||
msgstr ""
|
||||
|
||||
#: src/models/actionsmodel.cpp:66
|
||||
#: src/models/actionsmodel.cpp:67
|
||||
msgid "Prepends ¯\\_(ツ)_/¯ to a plain-text message"
|
||||
msgstr ""
|
||||
|
||||
#: src/models/actionsmodel.cpp:76
|
||||
#: src/models/actionsmodel.cpp:77
|
||||
msgid "Prepends ( ͡° ͜ʖ ͡°) to a plain-text message"
|
||||
msgstr ""
|
||||
|
||||
#: src/models/actionsmodel.cpp:86
|
||||
#: src/models/actionsmodel.cpp:87
|
||||
msgid "Prepends (╯°□°)╯︵ ┻━┻ to a plain-text message"
|
||||
msgstr ""
|
||||
|
||||
#: src/models/actionsmodel.cpp:96
|
||||
#: src/models/actionsmodel.cpp:97
|
||||
msgid "Prepends ┬──┬ ノ( ゜-゜ノ) to a plain-text message"
|
||||
msgstr ""
|
||||
|
||||
#: src/models/actionsmodel.cpp:116
|
||||
#: src/models/actionsmodel.cpp:117
|
||||
msgid "Sends the given message colored as a rainbow"
|
||||
msgstr ""
|
||||
|
||||
#: src/models/actionsmodel.cpp:136
|
||||
#: src/models/actionsmodel.cpp:137
|
||||
msgid "Sends the given emote colored as a rainbow"
|
||||
msgstr ""
|
||||
|
||||
#: src/models/actionsmodel.cpp:147
|
||||
#: src/models/actionsmodel.cpp:148
|
||||
msgid "Sends the given message as plain text"
|
||||
msgstr ""
|
||||
|
||||
#: src/models/actionsmodel.cpp:163
|
||||
#: src/models/actionsmodel.cpp:164
|
||||
msgid "Sends the given message as a spoiler"
|
||||
msgstr ""
|
||||
|
||||
#: src/models/actionsmodel.cpp:173
|
||||
#: src/models/actionsmodel.cpp:174
|
||||
msgid "Sends the given emote"
|
||||
msgstr ""
|
||||
|
||||
#: src/models/actionsmodel.cpp:183
|
||||
#: src/models/actionsmodel.cpp:184
|
||||
msgid "Sends the given message as a notice"
|
||||
msgstr ""
|
||||
|
||||
#: src/models/actionsmodel.cpp:192 src/models/actionsmodel.cpp:354
|
||||
#: src/models/actionsmodel.cpp:377 src/models/actionsmodel.cpp:421
|
||||
#: src/models/actionsmodel.cpp:459 src/models/actionsmodel.cpp:494
|
||||
#: src/models/actionsmodel.cpp:193 src/models/actionsmodel.cpp:355
|
||||
#: src/models/actionsmodel.cpp:378 src/models/actionsmodel.cpp:422
|
||||
#: src/models/actionsmodel.cpp:460 src/models/actionsmodel.cpp:495
|
||||
#, kde-format
|
||||
msgctxt "'<text>' does not look like a matrix id."
|
||||
msgid "'%1' does not look like a matrix id."
|
||||
msgstr ""
|
||||
|
||||
#: src/models/actionsmodel.cpp:197
|
||||
#: src/models/actionsmodel.cpp:198
|
||||
#, kde-format
|
||||
msgctxt "<user> is already invited to this room."
|
||||
msgid "%1 is already invited to this room."
|
||||
msgstr ""
|
||||
|
||||
#: src/models/actionsmodel.cpp:201
|
||||
#: src/models/actionsmodel.cpp:202
|
||||
#, kde-format
|
||||
msgctxt "<user> is banned from this room."
|
||||
msgid "%1 is banned from this room."
|
||||
msgstr ""
|
||||
|
||||
#: src/models/actionsmodel.cpp:205
|
||||
#: src/models/actionsmodel.cpp:206
|
||||
#, kde-format
|
||||
msgid "You are already in this room."
|
||||
msgstr ""
|
||||
|
||||
#: src/models/actionsmodel.cpp:209
|
||||
#: src/models/actionsmodel.cpp:210
|
||||
#, kde-format
|
||||
msgctxt "<user> is already in this room."
|
||||
msgid "%1 is already in this room."
|
||||
msgstr ""
|
||||
|
||||
#: src/models/actionsmodel.cpp:213
|
||||
#: src/models/actionsmodel.cpp:214
|
||||
#, kde-format
|
||||
msgctxt "<username> was invited into this room"
|
||||
msgid "%1 was invited into this room"
|
||||
msgstr ""
|
||||
|
||||
#: src/models/actionsmodel.cpp:218 src/models/actionsmodel.cpp:367
|
||||
#: src/models/actionsmodel.cpp:390 src/models/actionsmodel.cpp:482
|
||||
#: src/models/actionsmodel.cpp:219 src/models/actionsmodel.cpp:368
|
||||
#: src/models/actionsmodel.cpp:391 src/models/actionsmodel.cpp:483
|
||||
msgid "<user id>"
|
||||
msgstr ""
|
||||
|
||||
#: src/models/actionsmodel.cpp:219
|
||||
#: src/models/actionsmodel.cpp:220
|
||||
msgid "Invites the user to this room"
|
||||
msgstr ""
|
||||
|
||||
#: src/models/actionsmodel.cpp:236 src/models/actionsmodel.cpp:291
|
||||
#: src/models/actionsmodel.cpp:237 src/models/actionsmodel.cpp:292
|
||||
#, kde-format
|
||||
msgctxt "Joining room <roomname>."
|
||||
msgid "Joining room %1."
|
||||
msgstr ""
|
||||
|
||||
#: src/models/actionsmodel.cpp:242 src/models/actionsmodel.cpp:297
|
||||
#: src/models/actionsmodel.cpp:243 src/models/actionsmodel.cpp:298
|
||||
msgid "<room alias or id>"
|
||||
msgstr ""
|
||||
|
||||
#: src/models/actionsmodel.cpp:243 src/models/actionsmodel.cpp:298
|
||||
#: src/models/actionsmodel.cpp:244 src/models/actionsmodel.cpp:299
|
||||
msgid "Joins the given room"
|
||||
msgstr ""
|
||||
|
||||
#: src/models/actionsmodel.cpp:262
|
||||
#: src/models/actionsmodel.cpp:263
|
||||
#, kde-format
|
||||
msgctxt "Knocking room <roomname>."
|
||||
msgid "Knocking room %1."
|
||||
msgstr ""
|
||||
|
||||
#: src/models/actionsmodel.cpp:274
|
||||
#: src/models/actionsmodel.cpp:275
|
||||
msgid "<room alias or id> [<reason>]"
|
||||
msgstr ""
|
||||
|
||||
#: src/models/actionsmodel.cpp:275
|
||||
#: src/models/actionsmodel.cpp:276
|
||||
msgid "Requests to join the given room"
|
||||
msgstr ""
|
||||
|
||||
#: src/models/actionsmodel.cpp:288
|
||||
#: src/models/actionsmodel.cpp:289
|
||||
#, kde-format
|
||||
msgctxt "You are already in room <roomname>."
|
||||
msgid "You are already in room %1."
|
||||
msgstr ""
|
||||
|
||||
#: src/models/actionsmodel.cpp:305 src/models/actionsmodel.cpp:313
|
||||
#: src/models/actionsmodel.cpp:306 src/models/actionsmodel.cpp:314
|
||||
msgid "[<room alias or id>]"
|
||||
msgstr ""
|
||||
|
||||
#: src/models/actionsmodel.cpp:306 src/models/actionsmodel.cpp:314
|
||||
#: src/models/actionsmodel.cpp:307 src/models/actionsmodel.cpp:315
|
||||
msgid "Leaves the given room or this room, if there is none given"
|
||||
msgstr ""
|
||||
|
||||
#: src/models/actionsmodel.cpp:328 src/models/actionsmodel.cpp:336
|
||||
#: src/models/actionsmodel.cpp:344
|
||||
#: src/models/actionsmodel.cpp:329 src/models/actionsmodel.cpp:337
|
||||
#: src/models/actionsmodel.cpp:345
|
||||
msgid "<display name>"
|
||||
msgstr ""
|
||||
|
||||
#: src/models/actionsmodel.cpp:329
|
||||
#: src/models/actionsmodel.cpp:330
|
||||
msgid "Changes your global display name"
|
||||
msgstr ""
|
||||
|
||||
#: src/models/actionsmodel.cpp:337 src/models/actionsmodel.cpp:345
|
||||
#: src/models/actionsmodel.cpp:338 src/models/actionsmodel.cpp:346
|
||||
msgid "Changes your display name in this room"
|
||||
msgstr ""
|
||||
|
||||
#: src/models/actionsmodel.cpp:358
|
||||
#: src/models/actionsmodel.cpp:359
|
||||
#, kde-format
|
||||
msgctxt "<username> is already ignored."
|
||||
msgid "%1 is already ignored."
|
||||
msgstr ""
|
||||
|
||||
#: src/models/actionsmodel.cpp:362
|
||||
#: src/models/actionsmodel.cpp:363
|
||||
#, kde-format
|
||||
msgctxt "<username> is now ignored"
|
||||
msgid "%1 is now ignored."
|
||||
msgstr ""
|
||||
|
||||
#: src/models/actionsmodel.cpp:368
|
||||
#: src/models/actionsmodel.cpp:369
|
||||
msgid "Ignores the given user"
|
||||
msgstr ""
|
||||
|
||||
#: src/models/actionsmodel.cpp:381
|
||||
#: src/models/actionsmodel.cpp:382
|
||||
#, kde-format
|
||||
msgctxt "<username> is not ignored."
|
||||
msgid "%1 is not ignored."
|
||||
msgstr ""
|
||||
|
||||
#: src/models/actionsmodel.cpp:385
|
||||
#: src/models/actionsmodel.cpp:386
|
||||
#, kde-format
|
||||
msgctxt "<username> is no longer ignored."
|
||||
msgid "%1 is no longer ignored."
|
||||
msgstr ""
|
||||
|
||||
#: src/models/actionsmodel.cpp:391
|
||||
#: src/models/actionsmodel.cpp:392
|
||||
msgid "Unignores the given user"
|
||||
msgstr ""
|
||||
|
||||
#: src/models/actionsmodel.cpp:410
|
||||
#: src/models/actionsmodel.cpp:411
|
||||
msgid "<reaction text>"
|
||||
msgstr ""
|
||||
|
||||
#: src/models/actionsmodel.cpp:411
|
||||
#: src/models/actionsmodel.cpp:412
|
||||
msgid "React to the message with the given text"
|
||||
msgstr ""
|
||||
|
||||
#: src/models/actionsmodel.cpp:426
|
||||
#: src/models/actionsmodel.cpp:427
|
||||
#, kde-format
|
||||
msgctxt "<user> is already banned from this room."
|
||||
msgid "%1 is already banned from this room."
|
||||
msgstr ""
|
||||
|
||||
#: src/models/actionsmodel.cpp:434
|
||||
#: src/models/actionsmodel.cpp:435
|
||||
#, kde-format
|
||||
msgid "You are not allowed to ban users from this room."
|
||||
msgstr ""
|
||||
|
||||
#: src/models/actionsmodel.cpp:440
|
||||
#: src/models/actionsmodel.cpp:441
|
||||
#, kde-format
|
||||
msgctxt "You are not allowed to ban <username> from this room."
|
||||
msgid "You are not allowed to ban %1 from this room."
|
||||
msgstr ""
|
||||
|
||||
#: src/models/actionsmodel.cpp:444
|
||||
#: src/models/actionsmodel.cpp:445
|
||||
#, kde-format
|
||||
msgctxt "<username> was banned from this room."
|
||||
msgid "%1 was banned from this room."
|
||||
msgstr ""
|
||||
|
||||
#: src/models/actionsmodel.cpp:449 src/models/actionsmodel.cpp:526
|
||||
#: src/models/actionsmodel.cpp:450 src/models/actionsmodel.cpp:527
|
||||
msgid "<user id> [<reason>]"
|
||||
msgstr ""
|
||||
|
||||
#: src/models/actionsmodel.cpp:450
|
||||
#: src/models/actionsmodel.cpp:451
|
||||
msgid "Bans the given user"
|
||||
msgstr ""
|
||||
|
||||
#: src/models/actionsmodel.cpp:467
|
||||
#: src/models/actionsmodel.cpp:468
|
||||
#, kde-format
|
||||
msgid "You are not allowed to unban users from this room."
|
||||
msgstr ""
|
||||
|
||||
#: src/models/actionsmodel.cpp:472
|
||||
#: src/models/actionsmodel.cpp:473
|
||||
#, kde-format
|
||||
msgctxt "<user> is not banned from this room."
|
||||
msgid "%1 is not banned from this room."
|
||||
msgstr ""
|
||||
|
||||
#: src/models/actionsmodel.cpp:476
|
||||
#: src/models/actionsmodel.cpp:477
|
||||
#, kde-format
|
||||
msgctxt "<username> was unbanned from this room."
|
||||
msgid "%1 was unbanned from this room."
|
||||
msgstr ""
|
||||
|
||||
#: src/models/actionsmodel.cpp:483
|
||||
#: src/models/actionsmodel.cpp:484
|
||||
msgid "Removes the ban of the given user"
|
||||
msgstr ""
|
||||
|
||||
#: src/models/actionsmodel.cpp:498
|
||||
#: src/models/actionsmodel.cpp:499
|
||||
#, kde-format
|
||||
msgid "You cannot kick yourself from the room."
|
||||
msgstr ""
|
||||
|
||||
#: src/models/actionsmodel.cpp:502
|
||||
#: src/models/actionsmodel.cpp:503
|
||||
#, kde-format
|
||||
msgctxt "<username> is not in this room"
|
||||
msgid "%1 is not in this room."
|
||||
msgstr ""
|
||||
|
||||
#: src/models/actionsmodel.cpp:511
|
||||
#: src/models/actionsmodel.cpp:512
|
||||
#, kde-format
|
||||
msgid "You are not allowed to kick users from this room."
|
||||
msgstr ""
|
||||
|
||||
#: src/models/actionsmodel.cpp:517
|
||||
#: src/models/actionsmodel.cpp:518
|
||||
#, kde-format
|
||||
msgctxt "You are not allowed to kick <username> from this room"
|
||||
msgid "You are not allowed to kick %1 from this room."
|
||||
msgstr ""
|
||||
|
||||
#: src/models/actionsmodel.cpp:521
|
||||
#: src/models/actionsmodel.cpp:522
|
||||
#, kde-format
|
||||
msgctxt "<username> was kicked from this room."
|
||||
msgid "%1 was kicked from this room."
|
||||
msgstr ""
|
||||
|
||||
#: src/models/actionsmodel.cpp:527
|
||||
#: src/models/actionsmodel.cpp:528
|
||||
msgid "Removes the user from the room"
|
||||
msgstr ""
|
||||
|
||||
@@ -1334,7 +1341,7 @@ msgctxt "As in 'The user's own emojis"
|
||||
msgid "Own Emojis"
|
||||
msgstr ""
|
||||
|
||||
#: src/models/messagefiltermodel.cpp:142
|
||||
#: src/models/messagefiltermodel.cpp:153
|
||||
#, kde-format
|
||||
msgctxt "%1: What's being done; %2: How often it is done."
|
||||
msgid " %1"
|
||||
@@ -1342,7 +1349,7 @@ msgid_plural " %1 %2 times"
|
||||
msgstr[0] ""
|
||||
msgstr[1] ""
|
||||
|
||||
#: src/models/messagefiltermodel.cpp:146
|
||||
#: src/models/messagefiltermodel.cpp:157
|
||||
#, kde-format
|
||||
msgctxt "n users"
|
||||
msgid " %1 user "
|
||||
@@ -1350,25 +1357,25 @@ msgid_plural " %1 users "
|
||||
msgstr[0] ""
|
||||
msgstr[1] ""
|
||||
|
||||
#: src/models/messagefiltermodel.cpp:155
|
||||
#: src/models/messagefiltermodel.cpp:166
|
||||
#, kde-format
|
||||
msgctxt "[action 1], [action 2 and/or action 3]"
|
||||
msgid ", "
|
||||
msgstr ""
|
||||
|
||||
#: src/models/messagefiltermodel.cpp:159
|
||||
#: src/models/messagefiltermodel.cpp:170
|
||||
#, kde-format
|
||||
msgctxt "[action 1, action 2] or [action 3]"
|
||||
msgid " or "
|
||||
msgstr ""
|
||||
|
||||
#: src/models/messagefiltermodel.cpp:159
|
||||
#: src/models/messagefiltermodel.cpp:170
|
||||
#, kde-format
|
||||
msgctxt "[action 1, action 2] and [action 3]"
|
||||
msgid " and "
|
||||
msgstr ""
|
||||
|
||||
#: src/models/messagefiltermodel.cpp:165
|
||||
#: src/models/messagefiltermodel.cpp:176
|
||||
#, kde-format
|
||||
msgctxt ""
|
||||
"userText (%1) is either a Matrix username if a single user sent all the "
|
||||
@@ -1500,7 +1507,7 @@ msgstr ""
|
||||
msgid "Encrypted Message"
|
||||
msgstr ""
|
||||
|
||||
#: src/notificationsmanager.cpp:204 src/qml/Main.qml:270
|
||||
#: src/notificationsmanager.cpp:204 src/qml/Main.qml:274
|
||||
#, kde-format
|
||||
msgid "%1: %2"
|
||||
msgstr ""
|
||||
@@ -1559,13 +1566,12 @@ msgstr ""
|
||||
msgid "Open NeoChat"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/AccountMenu.qml:22 src/qml/UserInfo.qml:65
|
||||
#: src/qml/AccountMenu.qml:22 src/qml/UserInfo.qml:46
|
||||
#, kde-format
|
||||
msgid "Edit this account"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/AccountMenu.qml:27 src/qml/UserInfo.qml:59
|
||||
#: src/settings/AccountsPage.qml:34
|
||||
#: src/qml/AccountMenu.qml:27 src/settings/AccountsPage.qml:34
|
||||
#, kde-format
|
||||
msgid "Account editor"
|
||||
msgstr ""
|
||||
@@ -1576,7 +1582,7 @@ msgid "Notification settings"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/AccountMenu.qml:37 src/qml/AccountMenu.qml:49
|
||||
#: src/qml/GlobalMenu.qml:35 src/qml/Main.qml:400 src/qml/UserInfo.qml:116
|
||||
#: src/qml/GlobalMenu.qml:35 src/qml/Main.qml:404 src/qml/UserInfo.qml:103
|
||||
#, kde-format
|
||||
msgid "Configure"
|
||||
msgstr ""
|
||||
@@ -1911,8 +1917,8 @@ msgstr ""
|
||||
|
||||
#: src/qml/CreateRoomDialog.qml:30 src/qml/ExploreComponent.qml:64
|
||||
#: src/qml/ExploreComponent.qml:66 src/qml/ExploreComponentMobile.qml:162
|
||||
#: src/qml/ExploreComponentMobile.qml:164 src/qml/SpaceDrawer.qml:281
|
||||
#: src/qml/SpaceDrawer.qml:283
|
||||
#: src/qml/ExploreComponentMobile.qml:164 src/qml/SpaceDrawer.qml:294
|
||||
#: src/qml/SpaceDrawer.qml:296
|
||||
#, kde-format
|
||||
msgctxt "@title"
|
||||
msgid "Create a Space"
|
||||
@@ -1983,7 +1989,7 @@ msgstr ""
|
||||
|
||||
#: src/qml/CreateRoomDialog.qml:117 src/qml/CreateRoomDialog.qml:200
|
||||
#: src/qml/ExploreComponent.qml:29 src/qml/ExploreComponentMobile.qml:58
|
||||
#: src/qml/GlobalMenu.qml:74 src/qml/RoomListPage.qml:220
|
||||
#: src/qml/GlobalMenu.qml:74 src/qml/RoomListPage.qml:210
|
||||
#: src/qml/SelectParentDialog.qml:142
|
||||
#, kde-format
|
||||
msgctxt "@title"
|
||||
@@ -2151,21 +2157,21 @@ msgid "They don't match"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/ExploreComponent.qml:23 src/qml/ExploreComponentMobile.qml:52
|
||||
#: src/qml/RoomListPage.qml:214
|
||||
#: src/qml/RoomListPage.qml:204
|
||||
#, kde-format
|
||||
msgid "Explore rooms"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/ExploreComponent.qml:37 src/qml/ExploreComponentMobile.qml:67
|
||||
#: src/qml/GlobalMenu.qml:52 src/qml/GlobalMenu.qml:61
|
||||
#: src/qml/RoomListPage.qml:182 src/qml/RoomListPage.qml:231
|
||||
#: src/qml/RoomListPage.qml:172 src/qml/RoomListPage.qml:221
|
||||
#, kde-format
|
||||
msgid "Find your friends"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/ExploreComponent.qml:42 src/qml/ExploreComponentMobile.qml:73
|
||||
#: src/qml/GlobalMenu.qml:56 src/qml/RoomListPage.qml:190
|
||||
#: src/qml/RoomListPage.qml:235
|
||||
#: src/qml/GlobalMenu.qml:56 src/qml/RoomListPage.qml:180
|
||||
#: src/qml/RoomListPage.qml:225
|
||||
#, kde-format
|
||||
msgctxt "@title"
|
||||
msgid "Find your friends"
|
||||
@@ -2192,11 +2198,34 @@ msgctxt "@title"
|
||||
msgid "Scan a QR Code"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/ExploreComponent.qml:103 src/qml/ExploreComponent.qml:167
|
||||
#: src/qml/ExploreComponent.qml:93
|
||||
#, kde-format
|
||||
msgctxt "@title"
|
||||
msgid "Rooms"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/ExploreComponent.qml:105
|
||||
#, kde-format
|
||||
msgctxt "@action"
|
||||
msgid "Search Room"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/ExploreComponent.qml:118
|
||||
#, kde-format
|
||||
msgctxt "@action:button"
|
||||
msgid "Show Menu"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/ExploreComponent.qml:182
|
||||
#, kde-format
|
||||
msgid "Create rooms and chats"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/ExploreComponentMobile.qml:36
|
||||
#, kde-format
|
||||
msgid "Search"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/ExploreComponentMobile.qml:79
|
||||
#, kde-format
|
||||
msgid "Create New"
|
||||
@@ -2552,46 +2581,58 @@ msgstr ""
|
||||
msgid "There are no locations shared in this room."
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/Main.qml:304
|
||||
#: src/qml/Main.qml:163
|
||||
#, kde-format
|
||||
msgctxt "@action:button"
|
||||
msgid "Show Room Information"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/Main.qml:166
|
||||
#, kde-format
|
||||
msgctxt "@action:button"
|
||||
msgid "Close Room Information Drawer"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/Main.qml:308
|
||||
#, kde-format
|
||||
msgctxt "@title:window"
|
||||
msgid "Session Verification"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/Main.qml:321
|
||||
#: src/qml/Main.qml:325
|
||||
#, kde-format
|
||||
msgid "User consent"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/Main.qml:326
|
||||
#: src/qml/Main.qml:330
|
||||
#, kde-format
|
||||
msgid ""
|
||||
"Your homeserver requires you to agree to its terms and conditions before "
|
||||
"being able to use it. Please click the button below to read them."
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/Main.qml:331
|
||||
#: src/qml/Main.qml:335
|
||||
#, kde-format
|
||||
msgid "Open"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/Main.qml:358
|
||||
#: src/qml/Main.qml:362
|
||||
#, kde-format
|
||||
msgid "Start a chat"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/Main.qml:360
|
||||
#: src/qml/Main.qml:364
|
||||
#, kde-format
|
||||
msgid "Do you want to start a chat with %1?"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/Main.qml:386
|
||||
#: src/qml/Main.qml:390
|
||||
#, kde-format
|
||||
msgctxt "@info screenreader"
|
||||
msgid "The currently selected link"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/Main.qml:418 src/qml/ShareAction.qml:68
|
||||
#: src/qml/Main.qml:422 src/qml/ShareAction.qml:68
|
||||
#, kde-format
|
||||
msgctxt "@title"
|
||||
msgid "Share"
|
||||
@@ -2674,7 +2715,7 @@ msgctxt "@action As in 'edit the state of this room'"
|
||||
msgid "Edit state"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/NotificationsView.qml:19 src/qml/SpaceDrawer.qml:66
|
||||
#: src/qml/NotificationsView.qml:19 src/qml/SpaceDrawer.qml:68
|
||||
#, kde-format
|
||||
msgctxt "@title"
|
||||
msgid "Notifications"
|
||||
@@ -2829,12 +2870,12 @@ msgstr ""
|
||||
msgid "Reason for reporting this message"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/RoomDelegate.qml:101
|
||||
#: src/qml/RoomDelegate.qml:103
|
||||
#, kde-format
|
||||
msgid "Muted room"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/RoomDelegate.qml:134
|
||||
#: src/qml/RoomDelegate.qml:136
|
||||
#, kde-format
|
||||
msgid "Configure room"
|
||||
msgstr ""
|
||||
@@ -2936,33 +2977,33 @@ msgstr[1] ""
|
||||
msgid "No member count"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/RoomListPage.qml:205
|
||||
#: src/qml/RoomListPage.qml:195
|
||||
#, kde-format
|
||||
msgid "No friends found"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/RoomListPage.qml:205
|
||||
#: src/qml/RoomListPage.qml:195
|
||||
#, kde-format
|
||||
msgid "No rooms found"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/RoomListPage.qml:207
|
||||
#: src/qml/RoomListPage.qml:197
|
||||
#, kde-format
|
||||
msgid ""
|
||||
"You haven't added any of your friends yet, click below to search for them."
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/RoomListPage.qml:207
|
||||
#: src/qml/RoomListPage.qml:197
|
||||
#, kde-format
|
||||
msgid "Join some rooms to get started"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/RoomListPage.qml:214
|
||||
#: src/qml/RoomListPage.qml:204
|
||||
#, kde-format
|
||||
msgid "Search in room directory"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/RoomListPage.qml:231
|
||||
#: src/qml/RoomListPage.qml:221
|
||||
#, kde-format
|
||||
msgid "Search in friend directory"
|
||||
msgstr ""
|
||||
@@ -3138,24 +3179,24 @@ msgstr ""
|
||||
msgid "View notifications"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/SpaceDrawer.qml:84
|
||||
#: src/qml/SpaceDrawer.qml:86
|
||||
#, kde-format
|
||||
msgid "Home"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/SpaceDrawer.qml:130
|
||||
#: src/qml/SpaceDrawer.qml:134
|
||||
#, kde-format
|
||||
msgctxt "@button View all one-on-one chats with your friends."
|
||||
msgid "Friends"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/SpaceDrawer.qml:232
|
||||
#: src/qml/SpaceDrawer.qml:242
|
||||
#, kde-format
|
||||
msgctxt "Join <name of a space>"
|
||||
msgid "Join %1"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/SpaceDrawer.qml:274
|
||||
#: src/qml/SpaceDrawer.qml:284
|
||||
#, kde-format
|
||||
msgid "Create a space"
|
||||
msgstr ""
|
||||
@@ -3431,12 +3472,18 @@ msgstr ""
|
||||
msgid "Copy link"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/UserInfo.qml:104
|
||||
#: src/qml/UserInfo.qml:54
|
||||
#, kde-format
|
||||
msgctxt "@title:window"
|
||||
msgid "Account editor"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/UserInfo.qml:91
|
||||
#, kde-format
|
||||
msgid "Switch User"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/UserInfo.qml:111
|
||||
#: src/qml/UserInfo.qml:98
|
||||
#, kde-format
|
||||
msgid "Open Settings"
|
||||
msgstr ""
|
||||
@@ -3848,47 +3895,42 @@ msgstr ""
|
||||
msgid "Use compact room list"
|
||||
msgstr ""
|
||||
|
||||
#: src/settings/AppearanceSettingsPage.qml:232
|
||||
#, kde-format
|
||||
msgid "Show fancy effects in chat"
|
||||
msgstr ""
|
||||
|
||||
#: src/settings/AppearanceSettingsPage.qml:249
|
||||
#: src/settings/AppearanceSettingsPage.qml:233
|
||||
#, kde-format
|
||||
msgid "Use transparent chat page"
|
||||
msgstr ""
|
||||
|
||||
#: src/settings/AppearanceSettingsPage.qml:270
|
||||
#: src/settings/AppearanceSettingsPage.qml:254
|
||||
#, kde-format
|
||||
msgid "Transparency"
|
||||
msgstr ""
|
||||
|
||||
#: src/settings/AppearanceSettingsPage.qml:289
|
||||
#: src/settings/AppearanceSettingsPage.qml:273
|
||||
#, kde-format
|
||||
msgid "Only enabled if the transparent chat page is enabled."
|
||||
msgstr ""
|
||||
|
||||
#: src/settings/AppearanceSettingsPage.qml:306
|
||||
#: src/settings/AppearanceSettingsPage.qml:290
|
||||
#, kde-format
|
||||
msgid "Show your messages on the right"
|
||||
msgstr ""
|
||||
|
||||
#: src/settings/AppearanceSettingsPage.qml:322
|
||||
#: src/settings/AppearanceSettingsPage.qml:306
|
||||
#, kde-format
|
||||
msgid "Show links preview in the chat messages"
|
||||
msgstr ""
|
||||
|
||||
#: src/settings/AppearanceSettingsPage.qml:332
|
||||
#: src/settings/AppearanceSettingsPage.qml:316
|
||||
#, kde-format
|
||||
msgid "Show Avatar"
|
||||
msgstr ""
|
||||
|
||||
#: src/settings/AppearanceSettingsPage.qml:336
|
||||
#: src/settings/AppearanceSettingsPage.qml:320
|
||||
#, kde-format
|
||||
msgid "In chat"
|
||||
msgstr ""
|
||||
|
||||
#: src/settings/AppearanceSettingsPage.qml:346
|
||||
#: src/settings/AppearanceSettingsPage.qml:330
|
||||
#, kde-format
|
||||
msgid "In sidebar"
|
||||
msgstr ""
|
||||
|
||||
375
po/az/neochat.po
375
po/az/neochat.po
File diff suppressed because it is too large
Load Diff
367
po/ca/neochat.po
367
po/ca/neochat.po
File diff suppressed because it is too large
Load Diff
@@ -9,8 +9,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: neochat\n"
|
||||
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
|
||||
"POT-Creation-Date: 2024-04-21 00:38+0000\n"
|
||||
"PO-Revision-Date: 2024-04-17 14:29+0200\n"
|
||||
"POT-Creation-Date: 2024-04-24 02:56+0000\n"
|
||||
"PO-Revision-Date: 2024-04-24 09:37+0200\n"
|
||||
"Last-Translator: Josep M. Ferrer <txemaq@gmail.com>\n"
|
||||
"Language-Team: Catalan <kde-i18n-ca@kde.org>\n"
|
||||
"Language: ca@valencia\n"
|
||||
@@ -20,7 +20,7 @@ msgstr ""
|
||||
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
||||
"X-Generator: Lokalize 22.12.3\n"
|
||||
|
||||
#: src/controller.cpp:134
|
||||
#: src/controller.cpp:133
|
||||
#, kde-format
|
||||
msgctxt ""
|
||||
"The reason for using push notifications, as in: '[Push notifications are "
|
||||
@@ -28,48 +28,48 @@ msgctxt ""
|
||||
msgid "Receiving notifications for new messages"
|
||||
msgstr "Rebre les notificacions dels missatges nous"
|
||||
|
||||
#: src/controller.cpp:213
|
||||
#: src/controller.cpp:212
|
||||
#, kde-format
|
||||
msgid "Network Error: %1"
|
||||
msgstr "S'ha produït un error de la xarxa: %1"
|
||||
|
||||
#: src/controller.cpp:235
|
||||
#: src/controller.cpp:234
|
||||
#, kde-format
|
||||
msgid "Access token wasn't found"
|
||||
msgstr "No s'ha trobat el testimoni d'accés"
|
||||
|
||||
#: src/controller.cpp:235
|
||||
#: src/controller.cpp:234
|
||||
#, kde-format
|
||||
msgid "Maybe it was deleted?"
|
||||
msgstr "Potser s'ha suprimit?"
|
||||
|
||||
#: src/controller.cpp:239
|
||||
#: src/controller.cpp:238
|
||||
#, kde-format
|
||||
msgid "Access to keychain was denied."
|
||||
msgstr "S'ha denegat l'accés al clauer."
|
||||
|
||||
#: src/controller.cpp:239
|
||||
#: src/controller.cpp:238
|
||||
#, kde-format
|
||||
msgid "Please allow NeoChat to read the access token"
|
||||
msgstr "Permeteu que NeoChat llija el testimoni d'accés"
|
||||
|
||||
#: src/controller.cpp:242
|
||||
#: src/controller.cpp:241
|
||||
#, kde-format
|
||||
msgid "No keychain available."
|
||||
msgstr "No hi ha cap clauer disponible."
|
||||
|
||||
#: src/controller.cpp:242
|
||||
#: src/controller.cpp:241
|
||||
#, kde-format
|
||||
msgid "Please install a keychain, e.g. KWallet or GNOME keyring on Linux"
|
||||
msgstr ""
|
||||
"Instal·leu un clauer, p. ex., KWallet o l'anell de claus de GNOME a Linux"
|
||||
|
||||
#: src/controller.cpp:245
|
||||
#: src/controller.cpp:244
|
||||
#, kde-format
|
||||
msgid "Unable to read access token"
|
||||
msgstr "No s'ha pogut llegir el testimoni d'accés"
|
||||
|
||||
#: src/controller.cpp:341
|
||||
#: src/controller.cpp:340
|
||||
#, kde-format
|
||||
msgid "Receiving push notifications"
|
||||
msgstr "Rebre les notificacions «push»"
|
||||
@@ -86,13 +86,19 @@ msgctxt "@title:window"
|
||||
msgid "Event Source"
|
||||
msgstr "Font d'esdeveniments"
|
||||
|
||||
#: src/devtools/DebugOptions.qml:20
|
||||
#: src/devtools/DebugOptions.qml:19
|
||||
#, kde-format
|
||||
msgctxt "@option:check"
|
||||
msgid "Show hidden events in the timeline"
|
||||
msgstr "Mostra els esdeveniments ocults en la línia de temps"
|
||||
|
||||
#: src/devtools/DebugOptions.qml:26
|
||||
#, kde-format
|
||||
msgctxt "@option:check Enable the matrix 'threads' feature"
|
||||
msgid "Always allow device verification"
|
||||
msgstr "Permet sempre la verificació del dispositiu"
|
||||
|
||||
#: src/devtools/DebugOptions.qml:21
|
||||
#: src/devtools/DebugOptions.qml:27
|
||||
#, kde-format
|
||||
msgid ""
|
||||
"Allow the user to start a verification session with devices that were "
|
||||
@@ -101,6 +107,12 @@ msgstr ""
|
||||
"Permet a l'usuari iniciar una sessió de verificació amb dispositius que ja "
|
||||
"estaven verificats"
|
||||
|
||||
#: src/devtools/DebugOptions.qml:33
|
||||
#, kde-format
|
||||
msgctxt "@option:check"
|
||||
msgid "Show focus in window header"
|
||||
msgstr "Mostra el focus a la capçalera de la finestra"
|
||||
|
||||
#: src/devtools/DevtoolsPage.qml:18 src/settings/NeoChatGeneralPage.qml:240
|
||||
#, kde-format
|
||||
msgid "Developer Tools"
|
||||
@@ -147,28 +159,28 @@ msgstr "Seleccioneu una sala"
|
||||
msgid "Room"
|
||||
msgstr "Sala"
|
||||
|
||||
#: src/devtools/RoomData.qml:35
|
||||
#: src/devtools/RoomData.qml:36
|
||||
#, kde-format
|
||||
msgid "Room Id: %1"
|
||||
msgstr "ID de la sala: %1"
|
||||
|
||||
#: src/devtools/RoomData.qml:39
|
||||
#: src/devtools/RoomData.qml:40
|
||||
#, kde-format
|
||||
msgid "Room Account Data"
|
||||
msgstr "Dades de comptatge de la sala"
|
||||
|
||||
#: src/devtools/RoomData.qml:52 src/devtools/RoomData.qml:98
|
||||
#: src/devtools/RoomData.qml:53 src/devtools/RoomData.qml:99
|
||||
#: src/qml/MessageSourceSheet.qml:42
|
||||
#, kde-format
|
||||
msgid "Event Source"
|
||||
msgstr "Codi font de l'esdeveniment"
|
||||
|
||||
#: src/devtools/RoomData.qml:60
|
||||
#: src/devtools/RoomData.qml:61
|
||||
#, kde-format
|
||||
msgid "Room State"
|
||||
msgstr "Estat de la sala"
|
||||
|
||||
#: src/devtools/RoomData.qml:74
|
||||
#: src/devtools/RoomData.qml:75
|
||||
#, kde-format
|
||||
msgctxt "'Event' being some JSON data, not something physically happening."
|
||||
msgid "%1 event of this type"
|
||||
@@ -176,7 +188,7 @@ msgid_plural "%1 events of this type"
|
||||
msgstr[0] "%1 esdeveniment d'este tipus"
|
||||
msgstr[1] "%1 esdeveniments d'este tipus"
|
||||
|
||||
#: src/devtools/RoomData.qml:83
|
||||
#: src/devtools/RoomData.qml:84
|
||||
#, kde-format
|
||||
msgctxt "'Event' being some JSON data, not something physically happening."
|
||||
msgid "Event Information"
|
||||
@@ -210,49 +222,44 @@ msgctxt ""
|
||||
msgid "State Keys"
|
||||
msgstr "State Keys"
|
||||
|
||||
#: src/enums/neochatroomtype.h:60
|
||||
#: src/enums/neochatroomtype.h:59
|
||||
#, kde-format
|
||||
msgid "Invited"
|
||||
msgstr "Convidat"
|
||||
|
||||
#: src/enums/neochatroomtype.h:62
|
||||
#: src/enums/neochatroomtype.h:61
|
||||
#, kde-format
|
||||
msgid "Favorite"
|
||||
msgstr "Preferit"
|
||||
|
||||
#: src/enums/neochatroomtype.h:64 src/qml/UserSearchPage.qml:82
|
||||
#: src/enums/neochatroomtype.h:63 src/qml/UserSearchPage.qml:82
|
||||
#, kde-format
|
||||
msgid "Friends"
|
||||
msgstr "Amics"
|
||||
|
||||
#: src/enums/neochatroomtype.h:66
|
||||
#: src/enums/neochatroomtype.h:65
|
||||
#, kde-format
|
||||
msgid "Normal"
|
||||
msgstr "Normal"
|
||||
|
||||
#: src/enums/neochatroomtype.h:68
|
||||
#: src/enums/neochatroomtype.h:67
|
||||
#, kde-format
|
||||
msgid "Low priority"
|
||||
msgstr "Prioritat baixa"
|
||||
|
||||
#: src/enums/neochatroomtype.h:70
|
||||
#: src/enums/neochatroomtype.h:69
|
||||
#, kde-format
|
||||
msgid "Spaces"
|
||||
msgstr "Espais"
|
||||
|
||||
#: src/enums/neochatroomtype.h:72 src/qml/ExploreComponentMobile.qml:36
|
||||
#, kde-format
|
||||
msgid "Search"
|
||||
msgstr "Busca"
|
||||
|
||||
#: src/eventhandler.cpp:303 src/eventhandler.cpp:507
|
||||
#: src/models/messagecontentmodel.cpp:140 src/models/messageeventmodel.cpp:465
|
||||
#: src/models/messagecontentmodel.cpp:140 src/models/messageeventmodel.cpp:436
|
||||
#, kde-format
|
||||
msgid "<i>[This message was deleted]</i>"
|
||||
msgstr "<i>[Este missatge s'ha suprimit]</i>"
|
||||
|
||||
#: src/eventhandler.cpp:303 src/models/messagecontentmodel.cpp:141
|
||||
#: src/models/messageeventmodel.cpp:466
|
||||
#: src/models/messageeventmodel.cpp:437
|
||||
#, kde-format
|
||||
msgid "<i>[This message was deleted: %1]</i>"
|
||||
msgstr "<i>[Este missatge s'ha suprimit: %1]</i>"
|
||||
@@ -625,12 +632,12 @@ msgctxt "The location being downloaded to"
|
||||
msgid "Destination"
|
||||
msgstr "Destinació"
|
||||
|
||||
#: src/login.cpp:85 src/login.cpp:100
|
||||
#: src/login.cpp:84 src/login.cpp:99
|
||||
#, kde-format
|
||||
msgid "Network Error"
|
||||
msgstr "S'ha produït un error de la xarxa"
|
||||
|
||||
#: src/login.cpp:93
|
||||
#: src/login.cpp:92
|
||||
#, kde-format
|
||||
msgid "Login Failed: %1"
|
||||
msgstr "No s'ha pogut fer l'inici de la sessió: %1"
|
||||
@@ -954,316 +961,316 @@ msgstr "Només ús intern."
|
||||
msgid "Share a URL to Matrix"
|
||||
msgstr "Compartix un URL a Matrix"
|
||||
|
||||
#: src/matriximageprovider.cpp:40
|
||||
#: src/matriximageprovider.cpp:38
|
||||
#, kde-format
|
||||
msgid "Media id '%1' doesn't follow server/mediaId pattern"
|
||||
msgstr "L'element multimèdia amb ID «%1» no seguix el patró servidor/mediaId"
|
||||
|
||||
#: src/matriximageprovider.cpp:98
|
||||
#: src/matriximageprovider.cpp:96
|
||||
#, kde-format
|
||||
msgid "Image request has been cancelled"
|
||||
msgstr "S'ha cancel·lat la sol·licitud d'imatge"
|
||||
|
||||
#: src/models/actionsmodel.cpp:24
|
||||
#: src/models/actionsmodel.cpp:25
|
||||
#, kde-format
|
||||
msgid "Leaving this room."
|
||||
msgstr "Eixida d'esta sala."
|
||||
|
||||
#: src/models/actionsmodel.cpp:31 src/models/actionsmodel.cpp:228
|
||||
#: src/models/actionsmodel.cpp:254 src/models/actionsmodel.cpp:284
|
||||
#: src/models/actionsmodel.cpp:32 src/models/actionsmodel.cpp:229
|
||||
#: src/models/actionsmodel.cpp:255 src/models/actionsmodel.cpp:285
|
||||
#, kde-format
|
||||
msgctxt "'<text>' does not look like a room id or alias."
|
||||
msgid "'%1' does not look like a room id or alias."
|
||||
msgstr "«%1» no pareix pas un ID de sala o un àlies."
|
||||
|
||||
#: src/models/actionsmodel.cpp:39
|
||||
#: src/models/actionsmodel.cpp:40
|
||||
#, kde-format
|
||||
msgctxt "Leaving room <roomname>."
|
||||
msgid "Leaving room %1."
|
||||
msgstr "Eixida de la sala %1."
|
||||
|
||||
#: src/models/actionsmodel.cpp:42
|
||||
#: src/models/actionsmodel.cpp:43
|
||||
#, kde-format
|
||||
msgctxt "Room <roomname> not found"
|
||||
msgid "Room %1 not found."
|
||||
msgstr "No s'ha trobat la sala %1."
|
||||
|
||||
#: src/models/actionsmodel.cpp:50 src/models/actionsmodel.cpp:320
|
||||
#: src/models/actionsmodel.cpp:51 src/models/actionsmodel.cpp:321
|
||||
#, kde-format
|
||||
msgid "No new nickname provided, no changes will happen."
|
||||
msgstr "No s'ha proporcionat un sobrenom nou, no s'efectuarà cap canvi."
|
||||
|
||||
#: src/models/actionsmodel.cpp:65 src/models/actionsmodel.cpp:75
|
||||
#: src/models/actionsmodel.cpp:85 src/models/actionsmodel.cpp:95
|
||||
#: src/models/actionsmodel.cpp:115 src/models/actionsmodel.cpp:135
|
||||
#: src/models/actionsmodel.cpp:146 src/models/actionsmodel.cpp:162
|
||||
#: src/models/actionsmodel.cpp:172 src/models/actionsmodel.cpp:182
|
||||
#: src/models/actionsmodel.cpp:66 src/models/actionsmodel.cpp:76
|
||||
#: src/models/actionsmodel.cpp:86 src/models/actionsmodel.cpp:96
|
||||
#: src/models/actionsmodel.cpp:116 src/models/actionsmodel.cpp:136
|
||||
#: src/models/actionsmodel.cpp:147 src/models/actionsmodel.cpp:163
|
||||
#: src/models/actionsmodel.cpp:173 src/models/actionsmodel.cpp:183
|
||||
msgid "<message>"
|
||||
msgstr "<missatge>"
|
||||
|
||||
#: src/models/actionsmodel.cpp:66
|
||||
#: src/models/actionsmodel.cpp:67
|
||||
msgid "Prepends ¯\\_(ツ)_/¯ to a plain-text message"
|
||||
msgstr "Prefixa ¯\\_(ツ)_/¯ a un missatge de text net"
|
||||
|
||||
#: src/models/actionsmodel.cpp:76
|
||||
#: src/models/actionsmodel.cpp:77
|
||||
msgid "Prepends ( ͡° ͜ʖ ͡°) to a plain-text message"
|
||||
msgstr "Prefixa ( ͡° ͜ʖ ͡°) a un missatge de text net"
|
||||
|
||||
# skip-rule: t-par_obe_tan
|
||||
#: src/models/actionsmodel.cpp:86
|
||||
#: src/models/actionsmodel.cpp:87
|
||||
msgid "Prepends (╯°□°)╯︵ ┻━┻ to a plain-text message"
|
||||
msgstr "Prefixa (╯°□°)╯︵ ┻━┻ a un missatge de text net"
|
||||
|
||||
#: src/models/actionsmodel.cpp:96
|
||||
#: src/models/actionsmodel.cpp:97
|
||||
msgid "Prepends ┬──┬ ノ( ゜-゜ノ) to a plain-text message"
|
||||
msgstr "Prefixa ┬──┬ ノ( ゜-゜ノ) a un missatge de text net"
|
||||
|
||||
#: src/models/actionsmodel.cpp:116
|
||||
#: src/models/actionsmodel.cpp:117
|
||||
msgid "Sends the given message colored as a rainbow"
|
||||
msgstr "Envia el missatge indicat acolorit com un arc de Sant Martí"
|
||||
|
||||
#: src/models/actionsmodel.cpp:136
|
||||
#: src/models/actionsmodel.cpp:137
|
||||
msgid "Sends the given emote colored as a rainbow"
|
||||
msgstr "Envia l'emote indicada acolorida com un arc de Sant Martí"
|
||||
|
||||
#: src/models/actionsmodel.cpp:147
|
||||
#: src/models/actionsmodel.cpp:148
|
||||
msgid "Sends the given message as plain text"
|
||||
msgstr "Envia el missatge indicat com a text net"
|
||||
|
||||
#: src/models/actionsmodel.cpp:163
|
||||
#: src/models/actionsmodel.cpp:164
|
||||
msgid "Sends the given message as a spoiler"
|
||||
msgstr "Envia el missatge indicat com un espòiler"
|
||||
|
||||
#: src/models/actionsmodel.cpp:173
|
||||
#: src/models/actionsmodel.cpp:174
|
||||
msgid "Sends the given emote"
|
||||
msgstr "Envia l'emote indicada"
|
||||
|
||||
#: src/models/actionsmodel.cpp:183
|
||||
#: src/models/actionsmodel.cpp:184
|
||||
msgid "Sends the given message as a notice"
|
||||
msgstr "Envia el missatge indicat com una nota"
|
||||
|
||||
#: src/models/actionsmodel.cpp:192 src/models/actionsmodel.cpp:354
|
||||
#: src/models/actionsmodel.cpp:377 src/models/actionsmodel.cpp:421
|
||||
#: src/models/actionsmodel.cpp:459 src/models/actionsmodel.cpp:494
|
||||
#: src/models/actionsmodel.cpp:193 src/models/actionsmodel.cpp:355
|
||||
#: src/models/actionsmodel.cpp:378 src/models/actionsmodel.cpp:422
|
||||
#: src/models/actionsmodel.cpp:460 src/models/actionsmodel.cpp:495
|
||||
#, kde-format
|
||||
msgctxt "'<text>' does not look like a matrix id."
|
||||
msgid "'%1' does not look like a matrix id."
|
||||
msgstr "«%1» no pareix pas un ID de Matrix."
|
||||
|
||||
#: src/models/actionsmodel.cpp:197
|
||||
#: src/models/actionsmodel.cpp:198
|
||||
#, kde-format
|
||||
msgctxt "<user> is already invited to this room."
|
||||
msgid "%1 is already invited to this room."
|
||||
msgstr "%1 ja està convidat en esta sala."
|
||||
|
||||
#: src/models/actionsmodel.cpp:201
|
||||
#: src/models/actionsmodel.cpp:202
|
||||
#, kde-format
|
||||
msgctxt "<user> is banned from this room."
|
||||
msgid "%1 is banned from this room."
|
||||
msgstr "%1 està bandejat d'esta sala."
|
||||
|
||||
#: src/models/actionsmodel.cpp:205
|
||||
#: src/models/actionsmodel.cpp:206
|
||||
#, kde-format
|
||||
msgid "You are already in this room."
|
||||
msgstr "Ja vos trobeu en esta sala."
|
||||
|
||||
#: src/models/actionsmodel.cpp:209
|
||||
#: src/models/actionsmodel.cpp:210
|
||||
#, kde-format
|
||||
msgctxt "<user> is already in this room."
|
||||
msgid "%1 is already in this room."
|
||||
msgstr "%1 ja es troba en esta sala."
|
||||
|
||||
#: src/models/actionsmodel.cpp:213
|
||||
#: src/models/actionsmodel.cpp:214
|
||||
#, kde-format
|
||||
msgctxt "<username> was invited into this room"
|
||||
msgid "%1 was invited into this room"
|
||||
msgstr "%1 se l'ha convidat a esta sala"
|
||||
|
||||
#: src/models/actionsmodel.cpp:218 src/models/actionsmodel.cpp:367
|
||||
#: src/models/actionsmodel.cpp:390 src/models/actionsmodel.cpp:482
|
||||
#: src/models/actionsmodel.cpp:219 src/models/actionsmodel.cpp:368
|
||||
#: src/models/actionsmodel.cpp:391 src/models/actionsmodel.cpp:483
|
||||
msgid "<user id>"
|
||||
msgstr "<ID d'usuari>"
|
||||
|
||||
#: src/models/actionsmodel.cpp:219
|
||||
#: src/models/actionsmodel.cpp:220
|
||||
msgid "Invites the user to this room"
|
||||
msgstr "Convida l'usuari en esta sala"
|
||||
|
||||
#: src/models/actionsmodel.cpp:236 src/models/actionsmodel.cpp:291
|
||||
#: src/models/actionsmodel.cpp:237 src/models/actionsmodel.cpp:292
|
||||
#, kde-format
|
||||
msgctxt "Joining room <roomname>."
|
||||
msgid "Joining room %1."
|
||||
msgstr "S'unix a la sala %1."
|
||||
|
||||
#: src/models/actionsmodel.cpp:242 src/models/actionsmodel.cpp:297
|
||||
#: src/models/actionsmodel.cpp:243 src/models/actionsmodel.cpp:298
|
||||
msgid "<room alias or id>"
|
||||
msgstr "<àlies o ID de sala>"
|
||||
|
||||
#: src/models/actionsmodel.cpp:243 src/models/actionsmodel.cpp:298
|
||||
#: src/models/actionsmodel.cpp:244 src/models/actionsmodel.cpp:299
|
||||
msgid "Joins the given room"
|
||||
msgstr "S'unix a la sala indicada"
|
||||
|
||||
#: src/models/actionsmodel.cpp:262
|
||||
#: src/models/actionsmodel.cpp:263
|
||||
#, kde-format
|
||||
msgctxt "Knocking room <roomname>."
|
||||
msgid "Knocking room %1."
|
||||
msgstr "Sol·licita permís a la sala %1."
|
||||
|
||||
#: src/models/actionsmodel.cpp:274
|
||||
#: src/models/actionsmodel.cpp:275
|
||||
msgid "<room alias or id> [<reason>]"
|
||||
msgstr "<àlies o ID de sala> [<motiu>]"
|
||||
|
||||
#: src/models/actionsmodel.cpp:275
|
||||
#: src/models/actionsmodel.cpp:276
|
||||
msgid "Requests to join the given room"
|
||||
msgstr "Sol·licita unir-se a la sala indicada"
|
||||
|
||||
#: src/models/actionsmodel.cpp:288
|
||||
#: src/models/actionsmodel.cpp:289
|
||||
#, kde-format
|
||||
msgctxt "You are already in room <roomname>."
|
||||
msgid "You are already in room %1."
|
||||
msgstr "Ja vos trobeu en la sala %1."
|
||||
|
||||
#: src/models/actionsmodel.cpp:305 src/models/actionsmodel.cpp:313
|
||||
#: src/models/actionsmodel.cpp:306 src/models/actionsmodel.cpp:314
|
||||
msgid "[<room alias or id>]"
|
||||
msgstr "[<àlies o ID de sala>]"
|
||||
|
||||
#: src/models/actionsmodel.cpp:306 src/models/actionsmodel.cpp:314
|
||||
#: src/models/actionsmodel.cpp:307 src/models/actionsmodel.cpp:315
|
||||
msgid "Leaves the given room or this room, if there is none given"
|
||||
msgstr "Ix de la sala indicada o d'esta sala, si no se n'ha indicat cap"
|
||||
|
||||
#: src/models/actionsmodel.cpp:328 src/models/actionsmodel.cpp:336
|
||||
#: src/models/actionsmodel.cpp:344
|
||||
#: src/models/actionsmodel.cpp:329 src/models/actionsmodel.cpp:337
|
||||
#: src/models/actionsmodel.cpp:345
|
||||
msgid "<display name>"
|
||||
msgstr "<nom que es mostrarà>"
|
||||
|
||||
#: src/models/actionsmodel.cpp:329
|
||||
#: src/models/actionsmodel.cpp:330
|
||||
msgid "Changes your global display name"
|
||||
msgstr "Canvia el vostre nom que s'ha de mostrar global"
|
||||
|
||||
#: src/models/actionsmodel.cpp:337 src/models/actionsmodel.cpp:345
|
||||
#: src/models/actionsmodel.cpp:338 src/models/actionsmodel.cpp:346
|
||||
msgid "Changes your display name in this room"
|
||||
msgstr "Canvia el vostre nom que s'ha de mostrar en esta sala"
|
||||
|
||||
#: src/models/actionsmodel.cpp:358
|
||||
#: src/models/actionsmodel.cpp:359
|
||||
#, kde-format
|
||||
msgctxt "<username> is already ignored."
|
||||
msgid "%1 is already ignored."
|
||||
msgstr "%1 ja és ignorat."
|
||||
|
||||
#: src/models/actionsmodel.cpp:362
|
||||
#: src/models/actionsmodel.cpp:363
|
||||
#, kde-format
|
||||
msgctxt "<username> is now ignored"
|
||||
msgid "%1 is now ignored."
|
||||
msgstr "%1 ara és ignorat."
|
||||
|
||||
#: src/models/actionsmodel.cpp:368
|
||||
#: src/models/actionsmodel.cpp:369
|
||||
msgid "Ignores the given user"
|
||||
msgstr "Ignora l'usuari indicat"
|
||||
|
||||
#: src/models/actionsmodel.cpp:381
|
||||
#: src/models/actionsmodel.cpp:382
|
||||
#, kde-format
|
||||
msgctxt "<username> is not ignored."
|
||||
msgid "%1 is not ignored."
|
||||
msgstr "%1 no està ignorat."
|
||||
|
||||
#: src/models/actionsmodel.cpp:385
|
||||
#: src/models/actionsmodel.cpp:386
|
||||
#, kde-format
|
||||
msgctxt "<username> is no longer ignored."
|
||||
msgid "%1 is no longer ignored."
|
||||
msgstr "%1 ja no es troba ignorat."
|
||||
|
||||
#: src/models/actionsmodel.cpp:391
|
||||
#: src/models/actionsmodel.cpp:392
|
||||
msgid "Unignores the given user"
|
||||
msgstr "Deixa d'ignorar l'usuari indicat"
|
||||
|
||||
#: src/models/actionsmodel.cpp:410
|
||||
#: src/models/actionsmodel.cpp:411
|
||||
msgid "<reaction text>"
|
||||
msgstr "<text de reacció>"
|
||||
|
||||
#: src/models/actionsmodel.cpp:411
|
||||
#: src/models/actionsmodel.cpp:412
|
||||
msgid "React to the message with the given text"
|
||||
msgstr "Reacciona al missatge amb el text indicat"
|
||||
|
||||
#: src/models/actionsmodel.cpp:426
|
||||
#: src/models/actionsmodel.cpp:427
|
||||
#, kde-format
|
||||
msgctxt "<user> is already banned from this room."
|
||||
msgid "%1 is already banned from this room."
|
||||
msgstr "%1 ja està bandejat d'esta sala."
|
||||
|
||||
#: src/models/actionsmodel.cpp:434
|
||||
#: src/models/actionsmodel.cpp:435
|
||||
#, kde-format
|
||||
msgid "You are not allowed to ban users from this room."
|
||||
msgstr "No teniu permís per a bandejar usuaris d'esta sala."
|
||||
|
||||
#: src/models/actionsmodel.cpp:440
|
||||
#: src/models/actionsmodel.cpp:441
|
||||
#, kde-format
|
||||
msgctxt "You are not allowed to ban <username> from this room."
|
||||
msgid "You are not allowed to ban %1 from this room."
|
||||
msgstr "No teniu permís per a bandejar l'usuari %1 d'esta sala."
|
||||
|
||||
#: src/models/actionsmodel.cpp:444
|
||||
#: src/models/actionsmodel.cpp:445
|
||||
#, kde-format
|
||||
msgctxt "<username> was banned from this room."
|
||||
msgid "%1 was banned from this room."
|
||||
msgstr "%1 fou bandejat d'esta sala."
|
||||
|
||||
#: src/models/actionsmodel.cpp:449 src/models/actionsmodel.cpp:526
|
||||
#: src/models/actionsmodel.cpp:450 src/models/actionsmodel.cpp:527
|
||||
msgid "<user id> [<reason>]"
|
||||
msgstr "<ID d'usuari> [<motiu>]"
|
||||
|
||||
#: src/models/actionsmodel.cpp:450
|
||||
#: src/models/actionsmodel.cpp:451
|
||||
msgid "Bans the given user"
|
||||
msgstr "Bandeja l'usuari indicat"
|
||||
|
||||
#: src/models/actionsmodel.cpp:467
|
||||
#: src/models/actionsmodel.cpp:468
|
||||
#, kde-format
|
||||
msgid "You are not allowed to unban users from this room."
|
||||
msgstr "No teniu permís per a desbandejar usuaris d'esta sala."
|
||||
|
||||
#: src/models/actionsmodel.cpp:472
|
||||
#: src/models/actionsmodel.cpp:473
|
||||
#, kde-format
|
||||
msgctxt "<user> is not banned from this room."
|
||||
msgid "%1 is not banned from this room."
|
||||
msgstr "%1 no està bandejat d'esta sala."
|
||||
|
||||
#: src/models/actionsmodel.cpp:476
|
||||
#: src/models/actionsmodel.cpp:477
|
||||
#, kde-format
|
||||
msgctxt "<username> was unbanned from this room."
|
||||
msgid "%1 was unbanned from this room."
|
||||
msgstr "%1 fou desbandejat d'esta sala."
|
||||
|
||||
#: src/models/actionsmodel.cpp:483
|
||||
#: src/models/actionsmodel.cpp:484
|
||||
msgid "Removes the ban of the given user"
|
||||
msgstr "Elimina el bandeig a l'usuari indicat"
|
||||
|
||||
#: src/models/actionsmodel.cpp:498
|
||||
#: src/models/actionsmodel.cpp:499
|
||||
#, kde-format
|
||||
msgid "You cannot kick yourself from the room."
|
||||
msgstr "No podeu expulsar-vos vós mateix de la sala."
|
||||
|
||||
#: src/models/actionsmodel.cpp:502
|
||||
#: src/models/actionsmodel.cpp:503
|
||||
#, kde-format
|
||||
msgctxt "<username> is not in this room"
|
||||
msgid "%1 is not in this room."
|
||||
msgstr "%1 no es troba en esta sala."
|
||||
|
||||
#: src/models/actionsmodel.cpp:511
|
||||
#: src/models/actionsmodel.cpp:512
|
||||
#, kde-format
|
||||
msgid "You are not allowed to kick users from this room."
|
||||
msgstr "No teniu permís per a expulsar usuaris d'esta sala."
|
||||
|
||||
#: src/models/actionsmodel.cpp:517
|
||||
#: src/models/actionsmodel.cpp:518
|
||||
#, kde-format
|
||||
msgctxt "You are not allowed to kick <username> from this room"
|
||||
msgid "You are not allowed to kick %1 from this room."
|
||||
msgstr "No teniu permís per a expulsar l'usuari %1 d'esta sala."
|
||||
|
||||
#: src/models/actionsmodel.cpp:521
|
||||
#: src/models/actionsmodel.cpp:522
|
||||
#, kde-format
|
||||
msgctxt "<username> was kicked from this room."
|
||||
msgid "%1 was kicked from this room."
|
||||
msgstr "%1 fou expulsat d'esta sala."
|
||||
|
||||
#: src/models/actionsmodel.cpp:527
|
||||
#: src/models/actionsmodel.cpp:528
|
||||
msgid "Removes the user from the room"
|
||||
msgstr "Elimina l'usuari d'esta sala"
|
||||
|
||||
@@ -1345,7 +1352,7 @@ msgctxt "As in 'The user's own emojis"
|
||||
msgid "Own Emojis"
|
||||
msgstr "Emoji propis"
|
||||
|
||||
#: src/models/messagefiltermodel.cpp:142
|
||||
#: src/models/messagefiltermodel.cpp:153
|
||||
#, kde-format
|
||||
msgctxt "%1: What's being done; %2: How often it is done."
|
||||
msgid " %1"
|
||||
@@ -1353,7 +1360,7 @@ msgid_plural " %1 %2 times"
|
||||
msgstr[0] " %1"
|
||||
msgstr[1] " %1 %2 vegades"
|
||||
|
||||
#: src/models/messagefiltermodel.cpp:146
|
||||
#: src/models/messagefiltermodel.cpp:157
|
||||
#, kde-format
|
||||
msgctxt "n users"
|
||||
msgid " %1 user "
|
||||
@@ -1361,25 +1368,25 @@ msgid_plural " %1 users "
|
||||
msgstr[0] " %1 usuari "
|
||||
msgstr[1] " %1 usuaris "
|
||||
|
||||
#: src/models/messagefiltermodel.cpp:155
|
||||
#: src/models/messagefiltermodel.cpp:166
|
||||
#, kde-format
|
||||
msgctxt "[action 1], [action 2 and/or action 3]"
|
||||
msgid ", "
|
||||
msgstr ", "
|
||||
|
||||
#: src/models/messagefiltermodel.cpp:159
|
||||
#: src/models/messagefiltermodel.cpp:170
|
||||
#, kde-format
|
||||
msgctxt "[action 1, action 2] or [action 3]"
|
||||
msgid " or "
|
||||
msgstr " o "
|
||||
|
||||
#: src/models/messagefiltermodel.cpp:159
|
||||
#: src/models/messagefiltermodel.cpp:170
|
||||
#, kde-format
|
||||
msgctxt "[action 1, action 2] and [action 3]"
|
||||
msgid " and "
|
||||
msgstr " i "
|
||||
|
||||
#: src/models/messagefiltermodel.cpp:165
|
||||
#: src/models/messagefiltermodel.cpp:176
|
||||
#, kde-format
|
||||
msgctxt ""
|
||||
"userText (%1) is either a Matrix username if a single user sent all the "
|
||||
@@ -1511,7 +1518,7 @@ msgstr "Lat.: %1, lon.: %2"
|
||||
msgid "Encrypted Message"
|
||||
msgstr "Missatge encriptat"
|
||||
|
||||
#: src/notificationsmanager.cpp:204 src/qml/Main.qml:270
|
||||
#: src/notificationsmanager.cpp:204 src/qml/Main.qml:274
|
||||
#, kde-format
|
||||
msgid "%1: %2"
|
||||
msgstr "%1: %2"
|
||||
@@ -1570,13 +1577,12 @@ msgstr "%1 (%2)"
|
||||
msgid "Open NeoChat"
|
||||
msgstr "Obri NeoChat"
|
||||
|
||||
#: src/qml/AccountMenu.qml:22 src/qml/UserInfo.qml:65
|
||||
#: src/qml/AccountMenu.qml:22 src/qml/UserInfo.qml:46
|
||||
#, kde-format
|
||||
msgid "Edit this account"
|
||||
msgstr "Edita este compte"
|
||||
|
||||
#: src/qml/AccountMenu.qml:27 src/qml/UserInfo.qml:59
|
||||
#: src/settings/AccountsPage.qml:34
|
||||
#: src/qml/AccountMenu.qml:27 src/settings/AccountsPage.qml:34
|
||||
#, kde-format
|
||||
msgid "Account editor"
|
||||
msgstr "Editor de comptes"
|
||||
@@ -1587,7 +1593,7 @@ msgid "Notification settings"
|
||||
msgstr "Configureu les notificacions"
|
||||
|
||||
#: src/qml/AccountMenu.qml:37 src/qml/AccountMenu.qml:49
|
||||
#: src/qml/GlobalMenu.qml:35 src/qml/Main.qml:400 src/qml/UserInfo.qml:116
|
||||
#: src/qml/GlobalMenu.qml:35 src/qml/Main.qml:404 src/qml/UserInfo.qml:103
|
||||
#, kde-format
|
||||
msgid "Configure"
|
||||
msgstr "Configura"
|
||||
@@ -1926,8 +1932,8 @@ msgstr "Afig a les preferides"
|
||||
|
||||
#: src/qml/CreateRoomDialog.qml:30 src/qml/ExploreComponent.qml:64
|
||||
#: src/qml/ExploreComponent.qml:66 src/qml/ExploreComponentMobile.qml:162
|
||||
#: src/qml/ExploreComponentMobile.qml:164 src/qml/SpaceDrawer.qml:281
|
||||
#: src/qml/SpaceDrawer.qml:283
|
||||
#: src/qml/ExploreComponentMobile.qml:164 src/qml/SpaceDrawer.qml:294
|
||||
#: src/qml/SpaceDrawer.qml:296
|
||||
#, kde-format
|
||||
msgctxt "@title"
|
||||
msgid "Create a Space"
|
||||
@@ -1998,7 +2004,7 @@ msgstr "Tria la sala"
|
||||
|
||||
#: src/qml/CreateRoomDialog.qml:117 src/qml/CreateRoomDialog.qml:200
|
||||
#: src/qml/ExploreComponent.qml:29 src/qml/ExploreComponentMobile.qml:58
|
||||
#: src/qml/GlobalMenu.qml:74 src/qml/RoomListPage.qml:220
|
||||
#: src/qml/GlobalMenu.qml:74 src/qml/RoomListPage.qml:210
|
||||
#: src/qml/SelectParentDialog.qml:142
|
||||
#, kde-format
|
||||
msgctxt "@title"
|
||||
@@ -2171,21 +2177,21 @@ msgid "They don't match"
|
||||
msgstr "No coincidixen"
|
||||
|
||||
#: src/qml/ExploreComponent.qml:23 src/qml/ExploreComponentMobile.qml:52
|
||||
#: src/qml/RoomListPage.qml:214
|
||||
#: src/qml/RoomListPage.qml:204
|
||||
#, kde-format
|
||||
msgid "Explore rooms"
|
||||
msgstr "Explora les sales"
|
||||
|
||||
#: src/qml/ExploreComponent.qml:37 src/qml/ExploreComponentMobile.qml:67
|
||||
#: src/qml/GlobalMenu.qml:52 src/qml/GlobalMenu.qml:61
|
||||
#: src/qml/RoomListPage.qml:182 src/qml/RoomListPage.qml:231
|
||||
#: src/qml/RoomListPage.qml:172 src/qml/RoomListPage.qml:221
|
||||
#, kde-format
|
||||
msgid "Find your friends"
|
||||
msgstr "Busqueu els vostres amics"
|
||||
|
||||
#: src/qml/ExploreComponent.qml:42 src/qml/ExploreComponentMobile.qml:73
|
||||
#: src/qml/GlobalMenu.qml:56 src/qml/RoomListPage.qml:190
|
||||
#: src/qml/RoomListPage.qml:235
|
||||
#: src/qml/GlobalMenu.qml:56 src/qml/RoomListPage.qml:180
|
||||
#: src/qml/RoomListPage.qml:225
|
||||
#, kde-format
|
||||
msgctxt "@title"
|
||||
msgid "Find your friends"
|
||||
@@ -2212,11 +2218,34 @@ msgctxt "@title"
|
||||
msgid "Scan a QR Code"
|
||||
msgstr "Escaneja un codi QR"
|
||||
|
||||
#: src/qml/ExploreComponent.qml:103 src/qml/ExploreComponent.qml:167
|
||||
#: src/qml/ExploreComponent.qml:93
|
||||
#, kde-format
|
||||
msgctxt "@title"
|
||||
msgid "Rooms"
|
||||
msgstr "Sales"
|
||||
|
||||
#: src/qml/ExploreComponent.qml:105
|
||||
#, kde-format
|
||||
msgctxt "@action"
|
||||
msgid "Search Room"
|
||||
msgstr "Busca una sala"
|
||||
|
||||
#: src/qml/ExploreComponent.qml:118
|
||||
#, kde-format
|
||||
msgctxt "@action:button"
|
||||
msgid "Show Menu"
|
||||
msgstr "Mostra el menú"
|
||||
|
||||
#: src/qml/ExploreComponent.qml:182
|
||||
#, kde-format
|
||||
msgid "Create rooms and chats"
|
||||
msgstr "Crea sales i xats"
|
||||
|
||||
#: src/qml/ExploreComponentMobile.qml:36
|
||||
#, kde-format
|
||||
msgid "Search"
|
||||
msgstr "Busca"
|
||||
|
||||
#: src/qml/ExploreComponentMobile.qml:79
|
||||
#, kde-format
|
||||
msgid "Create New"
|
||||
@@ -2574,18 +2603,30 @@ msgstr "Ubicacions"
|
||||
msgid "There are no locations shared in this room."
|
||||
msgstr "No hi ha ubicacions compartides en esta sala."
|
||||
|
||||
#: src/qml/Main.qml:304
|
||||
#: src/qml/Main.qml:163
|
||||
#, kde-format
|
||||
msgctxt "@action:button"
|
||||
msgid "Show Room Information"
|
||||
msgstr "Mostra informació de la sala"
|
||||
|
||||
#: src/qml/Main.qml:166
|
||||
#, kde-format
|
||||
msgctxt "@action:button"
|
||||
msgid "Close Room Information Drawer"
|
||||
msgstr "Tanca el calaix d'informació de la sala"
|
||||
|
||||
#: src/qml/Main.qml:308
|
||||
#, kde-format
|
||||
msgctxt "@title:window"
|
||||
msgid "Session Verification"
|
||||
msgstr "Verificació de la sessió"
|
||||
|
||||
#: src/qml/Main.qml:321
|
||||
#: src/qml/Main.qml:325
|
||||
#, kde-format
|
||||
msgid "User consent"
|
||||
msgstr "Consentiment de l'usuari"
|
||||
|
||||
#: src/qml/Main.qml:326
|
||||
#: src/qml/Main.qml:330
|
||||
#, kde-format
|
||||
msgid ""
|
||||
"Your homeserver requires you to agree to its terms and conditions before "
|
||||
@@ -2594,28 +2635,28 @@ msgstr ""
|
||||
"El servidor domèstic requerix que accepteu els seus termes i condicions "
|
||||
"abans de poder-lo utilitzar. Feu clic en el botó de davall per a llegir-los."
|
||||
|
||||
#: src/qml/Main.qml:331
|
||||
#: src/qml/Main.qml:335
|
||||
#, kde-format
|
||||
msgid "Open"
|
||||
msgstr "Obri"
|
||||
|
||||
#: src/qml/Main.qml:358
|
||||
#: src/qml/Main.qml:362
|
||||
#, kde-format
|
||||
msgid "Start a chat"
|
||||
msgstr "Inicia un xat"
|
||||
|
||||
#: src/qml/Main.qml:360
|
||||
#: src/qml/Main.qml:364
|
||||
#, kde-format
|
||||
msgid "Do you want to start a chat with %1?"
|
||||
msgstr "Voleu iniciar un xat amb %1?"
|
||||
|
||||
#: src/qml/Main.qml:386
|
||||
#: src/qml/Main.qml:390
|
||||
#, kde-format
|
||||
msgctxt "@info screenreader"
|
||||
msgid "The currently selected link"
|
||||
msgstr "L'enllaç seleccionat actualment"
|
||||
|
||||
#: src/qml/Main.qml:418 src/qml/ShareAction.qml:68
|
||||
#: src/qml/Main.qml:422 src/qml/ShareAction.qml:68
|
||||
#, kde-format
|
||||
msgctxt "@title"
|
||||
msgid "Share"
|
||||
@@ -2699,7 +2740,7 @@ msgctxt "@action As in 'edit the state of this room'"
|
||||
msgid "Edit state"
|
||||
msgstr "Edita l'estat"
|
||||
|
||||
#: src/qml/NotificationsView.qml:19 src/qml/SpaceDrawer.qml:66
|
||||
#: src/qml/NotificationsView.qml:19 src/qml/SpaceDrawer.qml:68
|
||||
#, kde-format
|
||||
msgctxt "@title"
|
||||
msgid "Notifications"
|
||||
@@ -2854,12 +2895,12 @@ msgstr "Informa del missatge"
|
||||
msgid "Reason for reporting this message"
|
||||
msgstr "Motiu per a informar d'este missatge"
|
||||
|
||||
#: src/qml/RoomDelegate.qml:101
|
||||
#: src/qml/RoomDelegate.qml:103
|
||||
#, kde-format
|
||||
msgid "Muted room"
|
||||
msgstr "Sala silenciada"
|
||||
|
||||
#: src/qml/RoomDelegate.qml:134
|
||||
#: src/qml/RoomDelegate.qml:136
|
||||
#, kde-format
|
||||
msgid "Configure room"
|
||||
msgstr "Configura la sala"
|
||||
@@ -2961,17 +3002,17 @@ msgstr[1] "%1 membres"
|
||||
msgid "No member count"
|
||||
msgstr "No hi ha comptador de membres"
|
||||
|
||||
#: src/qml/RoomListPage.qml:205
|
||||
#: src/qml/RoomListPage.qml:195
|
||||
#, kde-format
|
||||
msgid "No friends found"
|
||||
msgstr "No s'ha trobat cap amic"
|
||||
|
||||
#: src/qml/RoomListPage.qml:205
|
||||
#: src/qml/RoomListPage.qml:195
|
||||
#, kde-format
|
||||
msgid "No rooms found"
|
||||
msgstr "No s'ha trobat cap sala"
|
||||
|
||||
#: src/qml/RoomListPage.qml:207
|
||||
#: src/qml/RoomListPage.qml:197
|
||||
#, kde-format
|
||||
msgid ""
|
||||
"You haven't added any of your friends yet, click below to search for them."
|
||||
@@ -2979,17 +3020,17 @@ msgstr ""
|
||||
"Encara no heu afegit cap dels vostres amics, feu clic en davall per a buscar-"
|
||||
"los."
|
||||
|
||||
#: src/qml/RoomListPage.qml:207
|
||||
#: src/qml/RoomListPage.qml:197
|
||||
#, kde-format
|
||||
msgid "Join some rooms to get started"
|
||||
msgstr "Uniu-vos a diverses sales per a començar"
|
||||
|
||||
#: src/qml/RoomListPage.qml:214
|
||||
#: src/qml/RoomListPage.qml:204
|
||||
#, kde-format
|
||||
msgid "Search in room directory"
|
||||
msgstr "Busca en el directori de sales"
|
||||
|
||||
#: src/qml/RoomListPage.qml:231
|
||||
#: src/qml/RoomListPage.qml:221
|
||||
#, kde-format
|
||||
msgid "Search in friend directory"
|
||||
msgstr "Busca en el directori d'amics"
|
||||
@@ -3169,24 +3210,24 @@ msgstr "L'URL compartit per a la imatge és <a href='%1'>%1</a>"
|
||||
msgid "View notifications"
|
||||
msgstr "Visualitza les notificacions"
|
||||
|
||||
#: src/qml/SpaceDrawer.qml:84
|
||||
#: src/qml/SpaceDrawer.qml:86
|
||||
#, kde-format
|
||||
msgid "Home"
|
||||
msgstr "Inici"
|
||||
|
||||
#: src/qml/SpaceDrawer.qml:130
|
||||
#: src/qml/SpaceDrawer.qml:134
|
||||
#, kde-format
|
||||
msgctxt "@button View all one-on-one chats with your friends."
|
||||
msgid "Friends"
|
||||
msgstr "Amics"
|
||||
|
||||
#: src/qml/SpaceDrawer.qml:232
|
||||
#: src/qml/SpaceDrawer.qml:242
|
||||
#, kde-format
|
||||
msgctxt "Join <name of a space>"
|
||||
msgid "Join %1"
|
||||
msgstr "Unix-te a %1"
|
||||
|
||||
#: src/qml/SpaceDrawer.qml:274
|
||||
#: src/qml/SpaceDrawer.qml:284
|
||||
#, kde-format
|
||||
msgid "Create a space"
|
||||
msgstr "Creeu un espai"
|
||||
@@ -3469,12 +3510,18 @@ msgstr "Convida a un xat privat"
|
||||
msgid "Copy link"
|
||||
msgstr "Copia l'enllaç"
|
||||
|
||||
#: src/qml/UserInfo.qml:104
|
||||
#: src/qml/UserInfo.qml:54
|
||||
#, kde-format
|
||||
msgctxt "@title:window"
|
||||
msgid "Account editor"
|
||||
msgstr "Editor de comptes"
|
||||
|
||||
#: src/qml/UserInfo.qml:91
|
||||
#, kde-format
|
||||
msgid "Switch User"
|
||||
msgstr "Canvia d'usuari"
|
||||
|
||||
#: src/qml/UserInfo.qml:111
|
||||
#: src/qml/UserInfo.qml:98
|
||||
#, kde-format
|
||||
msgid "Open Settings"
|
||||
msgstr "Obri la configuració"
|
||||
@@ -3919,47 +3966,42 @@ msgstr "Compacte"
|
||||
msgid "Use compact room list"
|
||||
msgstr "Utilitza una llista compacta de sales"
|
||||
|
||||
#: src/settings/AppearanceSettingsPage.qml:232
|
||||
#, kde-format
|
||||
msgid "Show fancy effects in chat"
|
||||
msgstr "Mostra efectes sofisticats en el xat"
|
||||
|
||||
#: src/settings/AppearanceSettingsPage.qml:249
|
||||
#: src/settings/AppearanceSettingsPage.qml:233
|
||||
#, kde-format
|
||||
msgid "Use transparent chat page"
|
||||
msgstr "Utilitza una pàgina transparent de xat"
|
||||
|
||||
#: src/settings/AppearanceSettingsPage.qml:270
|
||||
#: src/settings/AppearanceSettingsPage.qml:254
|
||||
#, kde-format
|
||||
msgid "Transparency"
|
||||
msgstr "Transparència"
|
||||
|
||||
#: src/settings/AppearanceSettingsPage.qml:289
|
||||
#: src/settings/AppearanceSettingsPage.qml:273
|
||||
#, kde-format
|
||||
msgid "Only enabled if the transparent chat page is enabled."
|
||||
msgstr "Només estarà activat si s'ha habilitat la pàgina transparent de xat."
|
||||
|
||||
#: src/settings/AppearanceSettingsPage.qml:306
|
||||
#: src/settings/AppearanceSettingsPage.qml:290
|
||||
#, kde-format
|
||||
msgid "Show your messages on the right"
|
||||
msgstr "Mostra els vostres missatges a la dreta"
|
||||
|
||||
#: src/settings/AppearanceSettingsPage.qml:322
|
||||
#: src/settings/AppearanceSettingsPage.qml:306
|
||||
#, kde-format
|
||||
msgid "Show links preview in the chat messages"
|
||||
msgstr "Mostra la vista prèvia dels enllaços en els missatges de xat"
|
||||
|
||||
#: src/settings/AppearanceSettingsPage.qml:332
|
||||
#: src/settings/AppearanceSettingsPage.qml:316
|
||||
#, kde-format
|
||||
msgid "Show Avatar"
|
||||
msgstr "Mostra l'avatar"
|
||||
|
||||
#: src/settings/AppearanceSettingsPage.qml:336
|
||||
#: src/settings/AppearanceSettingsPage.qml:320
|
||||
#, kde-format
|
||||
msgid "In chat"
|
||||
msgstr "En el xat"
|
||||
|
||||
#: src/settings/AppearanceSettingsPage.qml:346
|
||||
#: src/settings/AppearanceSettingsPage.qml:330
|
||||
#, kde-format
|
||||
msgid "In sidebar"
|
||||
msgstr "En la barra lateral"
|
||||
|
||||
370
po/cs/neochat.po
370
po/cs/neochat.po
@@ -6,7 +6,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: neochat\n"
|
||||
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
|
||||
"POT-Creation-Date: 2024-04-21 00:38+0000\n"
|
||||
"POT-Creation-Date: 2024-04-24 02:56+0000\n"
|
||||
"PO-Revision-Date: 2023-11-23 10:08+0100\n"
|
||||
"Last-Translator: Vit Pelcak <vit@pelcak.org>\n"
|
||||
"Language-Team: Czech <kde-i18n-doc@kde.org>\n"
|
||||
@@ -17,7 +17,7 @@ msgstr ""
|
||||
"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n"
|
||||
"X-Generator: Lokalize 23.08.3\n"
|
||||
|
||||
#: src/controller.cpp:134
|
||||
#: src/controller.cpp:133
|
||||
#, kde-format
|
||||
msgctxt ""
|
||||
"The reason for using push notifications, as in: '[Push notifications are "
|
||||
@@ -25,47 +25,47 @@ msgctxt ""
|
||||
msgid "Receiving notifications for new messages"
|
||||
msgstr ""
|
||||
|
||||
#: src/controller.cpp:213
|
||||
#: src/controller.cpp:212
|
||||
#, kde-format
|
||||
msgid "Network Error: %1"
|
||||
msgstr "Chyba sítě: %1"
|
||||
|
||||
#: src/controller.cpp:235
|
||||
#: src/controller.cpp:234
|
||||
#, kde-format
|
||||
msgid "Access token wasn't found"
|
||||
msgstr ""
|
||||
|
||||
#: src/controller.cpp:235
|
||||
#: src/controller.cpp:234
|
||||
#, kde-format
|
||||
msgid "Maybe it was deleted?"
|
||||
msgstr ""
|
||||
|
||||
#: src/controller.cpp:239
|
||||
#: src/controller.cpp:238
|
||||
#, kde-format
|
||||
msgid "Access to keychain was denied."
|
||||
msgstr ""
|
||||
|
||||
#: src/controller.cpp:239
|
||||
#: src/controller.cpp:238
|
||||
#, kde-format
|
||||
msgid "Please allow NeoChat to read the access token"
|
||||
msgstr ""
|
||||
|
||||
#: src/controller.cpp:242
|
||||
#: src/controller.cpp:241
|
||||
#, kde-format
|
||||
msgid "No keychain available."
|
||||
msgstr ""
|
||||
|
||||
#: src/controller.cpp:242
|
||||
#: src/controller.cpp:241
|
||||
#, kde-format
|
||||
msgid "Please install a keychain, e.g. KWallet or GNOME keyring on Linux"
|
||||
msgstr ""
|
||||
|
||||
#: src/controller.cpp:245
|
||||
#: src/controller.cpp:244
|
||||
#, kde-format
|
||||
msgid "Unable to read access token"
|
||||
msgstr ""
|
||||
|
||||
#: src/controller.cpp:341
|
||||
#: src/controller.cpp:340
|
||||
#, kde-format
|
||||
msgid "Receiving push notifications"
|
||||
msgstr ""
|
||||
@@ -82,19 +82,31 @@ msgctxt "@title:window"
|
||||
msgid "Event Source"
|
||||
msgstr ""
|
||||
|
||||
#: src/devtools/DebugOptions.qml:20
|
||||
#: src/devtools/DebugOptions.qml:19
|
||||
#, kde-format
|
||||
msgctxt "@option:check"
|
||||
msgid "Show hidden events in the timeline"
|
||||
msgstr ""
|
||||
|
||||
#: src/devtools/DebugOptions.qml:26
|
||||
#, kde-format
|
||||
msgctxt "@option:check Enable the matrix 'threads' feature"
|
||||
msgid "Always allow device verification"
|
||||
msgstr ""
|
||||
|
||||
#: src/devtools/DebugOptions.qml:21
|
||||
#: src/devtools/DebugOptions.qml:27
|
||||
#, kde-format
|
||||
msgid ""
|
||||
"Allow the user to start a verification session with devices that were "
|
||||
"already verified"
|
||||
msgstr ""
|
||||
|
||||
#: src/devtools/DebugOptions.qml:33
|
||||
#, kde-format
|
||||
msgctxt "@option:check"
|
||||
msgid "Show focus in window header"
|
||||
msgstr ""
|
||||
|
||||
#: src/devtools/DevtoolsPage.qml:18 src/settings/NeoChatGeneralPage.qml:240
|
||||
#, kde-format
|
||||
msgid "Developer Tools"
|
||||
@@ -142,28 +154,28 @@ msgstr "Vyberte místnost"
|
||||
msgid "Room"
|
||||
msgstr "Pokoj"
|
||||
|
||||
#: src/devtools/RoomData.qml:35
|
||||
#: src/devtools/RoomData.qml:36
|
||||
#, kde-format
|
||||
msgid "Room Id: %1"
|
||||
msgstr ""
|
||||
|
||||
#: src/devtools/RoomData.qml:39
|
||||
#: src/devtools/RoomData.qml:40
|
||||
#, kde-format
|
||||
msgid "Room Account Data"
|
||||
msgstr ""
|
||||
|
||||
#: src/devtools/RoomData.qml:52 src/devtools/RoomData.qml:98
|
||||
#: src/devtools/RoomData.qml:53 src/devtools/RoomData.qml:99
|
||||
#: src/qml/MessageSourceSheet.qml:42
|
||||
#, kde-format
|
||||
msgid "Event Source"
|
||||
msgstr ""
|
||||
|
||||
#: src/devtools/RoomData.qml:60
|
||||
#: src/devtools/RoomData.qml:61
|
||||
#, kde-format
|
||||
msgid "Room State"
|
||||
msgstr ""
|
||||
|
||||
#: src/devtools/RoomData.qml:74
|
||||
#: src/devtools/RoomData.qml:75
|
||||
#, kde-format
|
||||
msgctxt "'Event' being some JSON data, not something physically happening."
|
||||
msgid "%1 event of this type"
|
||||
@@ -172,7 +184,7 @@ msgstr[0] ""
|
||||
msgstr[1] ""
|
||||
msgstr[2] ""
|
||||
|
||||
#: src/devtools/RoomData.qml:83
|
||||
#: src/devtools/RoomData.qml:84
|
||||
#, kde-format
|
||||
msgctxt "'Event' being some JSON data, not something physically happening."
|
||||
msgid "Event Information"
|
||||
@@ -206,49 +218,44 @@ msgctxt ""
|
||||
msgid "State Keys"
|
||||
msgstr ""
|
||||
|
||||
#: src/enums/neochatroomtype.h:60
|
||||
#: src/enums/neochatroomtype.h:59
|
||||
#, kde-format
|
||||
msgid "Invited"
|
||||
msgstr ""
|
||||
|
||||
#: src/enums/neochatroomtype.h:62
|
||||
#: src/enums/neochatroomtype.h:61
|
||||
#, kde-format
|
||||
msgid "Favorite"
|
||||
msgstr "Oblíbené"
|
||||
|
||||
#: src/enums/neochatroomtype.h:64 src/qml/UserSearchPage.qml:82
|
||||
#: src/enums/neochatroomtype.h:63 src/qml/UserSearchPage.qml:82
|
||||
#, kde-format
|
||||
msgid "Friends"
|
||||
msgstr "Přátelé"
|
||||
|
||||
#: src/enums/neochatroomtype.h:66
|
||||
#: src/enums/neochatroomtype.h:65
|
||||
#, kde-format
|
||||
msgid "Normal"
|
||||
msgstr "Normální"
|
||||
|
||||
#: src/enums/neochatroomtype.h:68
|
||||
#: src/enums/neochatroomtype.h:67
|
||||
#, kde-format
|
||||
msgid "Low priority"
|
||||
msgstr "Nízká priorita"
|
||||
|
||||
#: src/enums/neochatroomtype.h:70
|
||||
#: src/enums/neochatroomtype.h:69
|
||||
#, kde-format
|
||||
msgid "Spaces"
|
||||
msgstr "Mezery"
|
||||
|
||||
#: src/enums/neochatroomtype.h:72 src/qml/ExploreComponentMobile.qml:36
|
||||
#, kde-format
|
||||
msgid "Search"
|
||||
msgstr "Hledat"
|
||||
|
||||
#: src/eventhandler.cpp:303 src/eventhandler.cpp:507
|
||||
#: src/models/messagecontentmodel.cpp:140 src/models/messageeventmodel.cpp:465
|
||||
#: src/models/messagecontentmodel.cpp:140 src/models/messageeventmodel.cpp:436
|
||||
#, kde-format
|
||||
msgid "<i>[This message was deleted]</i>"
|
||||
msgstr ""
|
||||
|
||||
#: src/eventhandler.cpp:303 src/models/messagecontentmodel.cpp:141
|
||||
#: src/models/messageeventmodel.cpp:466
|
||||
#: src/models/messageeventmodel.cpp:437
|
||||
#, kde-format
|
||||
msgid "<i>[This message was deleted: %1]</i>"
|
||||
msgstr ""
|
||||
@@ -622,12 +629,12 @@ msgctxt "The location being downloaded to"
|
||||
msgid "Destination"
|
||||
msgstr "Cíl"
|
||||
|
||||
#: src/login.cpp:85 src/login.cpp:100
|
||||
#: src/login.cpp:84 src/login.cpp:99
|
||||
#, kde-format
|
||||
msgid "Network Error"
|
||||
msgstr "Chyba sítě"
|
||||
|
||||
#: src/login.cpp:93
|
||||
#: src/login.cpp:92
|
||||
#, kde-format
|
||||
msgid "Login Failed: %1"
|
||||
msgstr "Přihlášení selhalo: %1"
|
||||
@@ -947,315 +954,315 @@ msgstr ""
|
||||
msgid "Share a URL to Matrix"
|
||||
msgstr ""
|
||||
|
||||
#: src/matriximageprovider.cpp:40
|
||||
#: src/matriximageprovider.cpp:38
|
||||
#, kde-format
|
||||
msgid "Media id '%1' doesn't follow server/mediaId pattern"
|
||||
msgstr ""
|
||||
|
||||
#: src/matriximageprovider.cpp:98
|
||||
#: src/matriximageprovider.cpp:96
|
||||
#, kde-format
|
||||
msgid "Image request has been cancelled"
|
||||
msgstr ""
|
||||
|
||||
#: src/models/actionsmodel.cpp:24
|
||||
#: src/models/actionsmodel.cpp:25
|
||||
#, kde-format
|
||||
msgid "Leaving this room."
|
||||
msgstr ""
|
||||
|
||||
#: src/models/actionsmodel.cpp:31 src/models/actionsmodel.cpp:228
|
||||
#: src/models/actionsmodel.cpp:254 src/models/actionsmodel.cpp:284
|
||||
#: src/models/actionsmodel.cpp:32 src/models/actionsmodel.cpp:229
|
||||
#: src/models/actionsmodel.cpp:255 src/models/actionsmodel.cpp:285
|
||||
#, kde-format
|
||||
msgctxt "'<text>' does not look like a room id or alias."
|
||||
msgid "'%1' does not look like a room id or alias."
|
||||
msgstr ""
|
||||
|
||||
#: src/models/actionsmodel.cpp:39
|
||||
#: src/models/actionsmodel.cpp:40
|
||||
#, kde-format
|
||||
msgctxt "Leaving room <roomname>."
|
||||
msgid "Leaving room %1."
|
||||
msgstr ""
|
||||
|
||||
#: src/models/actionsmodel.cpp:42
|
||||
#: src/models/actionsmodel.cpp:43
|
||||
#, kde-format
|
||||
msgctxt "Room <roomname> not found"
|
||||
msgid "Room %1 not found."
|
||||
msgstr "Místnost %1 nenalezena."
|
||||
|
||||
#: src/models/actionsmodel.cpp:50 src/models/actionsmodel.cpp:320
|
||||
#: src/models/actionsmodel.cpp:51 src/models/actionsmodel.cpp:321
|
||||
#, kde-format
|
||||
msgid "No new nickname provided, no changes will happen."
|
||||
msgstr ""
|
||||
|
||||
#: src/models/actionsmodel.cpp:65 src/models/actionsmodel.cpp:75
|
||||
#: src/models/actionsmodel.cpp:85 src/models/actionsmodel.cpp:95
|
||||
#: src/models/actionsmodel.cpp:115 src/models/actionsmodel.cpp:135
|
||||
#: src/models/actionsmodel.cpp:146 src/models/actionsmodel.cpp:162
|
||||
#: src/models/actionsmodel.cpp:172 src/models/actionsmodel.cpp:182
|
||||
#: src/models/actionsmodel.cpp:66 src/models/actionsmodel.cpp:76
|
||||
#: src/models/actionsmodel.cpp:86 src/models/actionsmodel.cpp:96
|
||||
#: src/models/actionsmodel.cpp:116 src/models/actionsmodel.cpp:136
|
||||
#: src/models/actionsmodel.cpp:147 src/models/actionsmodel.cpp:163
|
||||
#: src/models/actionsmodel.cpp:173 src/models/actionsmodel.cpp:183
|
||||
msgid "<message>"
|
||||
msgstr "< zpráva>"
|
||||
|
||||
#: src/models/actionsmodel.cpp:66
|
||||
#: src/models/actionsmodel.cpp:67
|
||||
msgid "Prepends ¯\\_(ツ)_/¯ to a plain-text message"
|
||||
msgstr ""
|
||||
|
||||
#: src/models/actionsmodel.cpp:76
|
||||
#: src/models/actionsmodel.cpp:77
|
||||
msgid "Prepends ( ͡° ͜ʖ ͡°) to a plain-text message"
|
||||
msgstr ""
|
||||
|
||||
#: src/models/actionsmodel.cpp:86
|
||||
#: src/models/actionsmodel.cpp:87
|
||||
msgid "Prepends (╯°□°)╯︵ ┻━┻ to a plain-text message"
|
||||
msgstr ""
|
||||
|
||||
#: src/models/actionsmodel.cpp:96
|
||||
#: src/models/actionsmodel.cpp:97
|
||||
msgid "Prepends ┬──┬ ノ( ゜-゜ノ) to a plain-text message"
|
||||
msgstr ""
|
||||
|
||||
#: src/models/actionsmodel.cpp:116
|
||||
#: src/models/actionsmodel.cpp:117
|
||||
msgid "Sends the given message colored as a rainbow"
|
||||
msgstr ""
|
||||
|
||||
#: src/models/actionsmodel.cpp:136
|
||||
#: src/models/actionsmodel.cpp:137
|
||||
msgid "Sends the given emote colored as a rainbow"
|
||||
msgstr ""
|
||||
|
||||
#: src/models/actionsmodel.cpp:147
|
||||
#: src/models/actionsmodel.cpp:148
|
||||
msgid "Sends the given message as plain text"
|
||||
msgstr ""
|
||||
|
||||
#: src/models/actionsmodel.cpp:163
|
||||
#: src/models/actionsmodel.cpp:164
|
||||
msgid "Sends the given message as a spoiler"
|
||||
msgstr ""
|
||||
|
||||
#: src/models/actionsmodel.cpp:173
|
||||
#: src/models/actionsmodel.cpp:174
|
||||
msgid "Sends the given emote"
|
||||
msgstr ""
|
||||
|
||||
#: src/models/actionsmodel.cpp:183
|
||||
#: src/models/actionsmodel.cpp:184
|
||||
msgid "Sends the given message as a notice"
|
||||
msgstr ""
|
||||
|
||||
#: src/models/actionsmodel.cpp:192 src/models/actionsmodel.cpp:354
|
||||
#: src/models/actionsmodel.cpp:377 src/models/actionsmodel.cpp:421
|
||||
#: src/models/actionsmodel.cpp:459 src/models/actionsmodel.cpp:494
|
||||
#: src/models/actionsmodel.cpp:193 src/models/actionsmodel.cpp:355
|
||||
#: src/models/actionsmodel.cpp:378 src/models/actionsmodel.cpp:422
|
||||
#: src/models/actionsmodel.cpp:460 src/models/actionsmodel.cpp:495
|
||||
#, kde-format
|
||||
msgctxt "'<text>' does not look like a matrix id."
|
||||
msgid "'%1' does not look like a matrix id."
|
||||
msgstr ""
|
||||
|
||||
#: src/models/actionsmodel.cpp:197
|
||||
#: src/models/actionsmodel.cpp:198
|
||||
#, kde-format
|
||||
msgctxt "<user> is already invited to this room."
|
||||
msgid "%1 is already invited to this room."
|
||||
msgstr ""
|
||||
|
||||
#: src/models/actionsmodel.cpp:201
|
||||
#: src/models/actionsmodel.cpp:202
|
||||
#, kde-format
|
||||
msgctxt "<user> is banned from this room."
|
||||
msgid "%1 is banned from this room."
|
||||
msgstr ""
|
||||
|
||||
#: src/models/actionsmodel.cpp:205
|
||||
#: src/models/actionsmodel.cpp:206
|
||||
#, kde-format
|
||||
msgid "You are already in this room."
|
||||
msgstr ""
|
||||
|
||||
#: src/models/actionsmodel.cpp:209
|
||||
#: src/models/actionsmodel.cpp:210
|
||||
#, kde-format
|
||||
msgctxt "<user> is already in this room."
|
||||
msgid "%1 is already in this room."
|
||||
msgstr ""
|
||||
|
||||
#: src/models/actionsmodel.cpp:213
|
||||
#: src/models/actionsmodel.cpp:214
|
||||
#, kde-format
|
||||
msgctxt "<username> was invited into this room"
|
||||
msgid "%1 was invited into this room"
|
||||
msgstr ""
|
||||
|
||||
#: src/models/actionsmodel.cpp:218 src/models/actionsmodel.cpp:367
|
||||
#: src/models/actionsmodel.cpp:390 src/models/actionsmodel.cpp:482
|
||||
#: src/models/actionsmodel.cpp:219 src/models/actionsmodel.cpp:368
|
||||
#: src/models/actionsmodel.cpp:391 src/models/actionsmodel.cpp:483
|
||||
msgid "<user id>"
|
||||
msgstr ""
|
||||
|
||||
#: src/models/actionsmodel.cpp:219
|
||||
#: src/models/actionsmodel.cpp:220
|
||||
msgid "Invites the user to this room"
|
||||
msgstr ""
|
||||
|
||||
#: src/models/actionsmodel.cpp:236 src/models/actionsmodel.cpp:291
|
||||
#: src/models/actionsmodel.cpp:237 src/models/actionsmodel.cpp:292
|
||||
#, kde-format
|
||||
msgctxt "Joining room <roomname>."
|
||||
msgid "Joining room %1."
|
||||
msgstr ""
|
||||
|
||||
#: src/models/actionsmodel.cpp:242 src/models/actionsmodel.cpp:297
|
||||
#: src/models/actionsmodel.cpp:243 src/models/actionsmodel.cpp:298
|
||||
msgid "<room alias or id>"
|
||||
msgstr ""
|
||||
|
||||
#: src/models/actionsmodel.cpp:243 src/models/actionsmodel.cpp:298
|
||||
#: src/models/actionsmodel.cpp:244 src/models/actionsmodel.cpp:299
|
||||
msgid "Joins the given room"
|
||||
msgstr ""
|
||||
|
||||
#: src/models/actionsmodel.cpp:262
|
||||
#: src/models/actionsmodel.cpp:263
|
||||
#, kde-format
|
||||
msgctxt "Knocking room <roomname>."
|
||||
msgid "Knocking room %1."
|
||||
msgstr "Klepete na místnost %1."
|
||||
|
||||
#: src/models/actionsmodel.cpp:274
|
||||
#: src/models/actionsmodel.cpp:275
|
||||
msgid "<room alias or id> [<reason>]"
|
||||
msgstr ""
|
||||
|
||||
#: src/models/actionsmodel.cpp:275
|
||||
#: src/models/actionsmodel.cpp:276
|
||||
msgid "Requests to join the given room"
|
||||
msgstr ""
|
||||
|
||||
#: src/models/actionsmodel.cpp:288
|
||||
#: src/models/actionsmodel.cpp:289
|
||||
#, kde-format
|
||||
msgctxt "You are already in room <roomname>."
|
||||
msgid "You are already in room %1."
|
||||
msgstr ""
|
||||
|
||||
#: src/models/actionsmodel.cpp:305 src/models/actionsmodel.cpp:313
|
||||
#: src/models/actionsmodel.cpp:306 src/models/actionsmodel.cpp:314
|
||||
msgid "[<room alias or id>]"
|
||||
msgstr ""
|
||||
|
||||
#: src/models/actionsmodel.cpp:306 src/models/actionsmodel.cpp:314
|
||||
#: src/models/actionsmodel.cpp:307 src/models/actionsmodel.cpp:315
|
||||
msgid "Leaves the given room or this room, if there is none given"
|
||||
msgstr ""
|
||||
|
||||
#: src/models/actionsmodel.cpp:328 src/models/actionsmodel.cpp:336
|
||||
#: src/models/actionsmodel.cpp:344
|
||||
#: src/models/actionsmodel.cpp:329 src/models/actionsmodel.cpp:337
|
||||
#: src/models/actionsmodel.cpp:345
|
||||
msgid "<display name>"
|
||||
msgstr ""
|
||||
|
||||
#: src/models/actionsmodel.cpp:329
|
||||
#: src/models/actionsmodel.cpp:330
|
||||
msgid "Changes your global display name"
|
||||
msgstr ""
|
||||
|
||||
#: src/models/actionsmodel.cpp:337 src/models/actionsmodel.cpp:345
|
||||
#: src/models/actionsmodel.cpp:338 src/models/actionsmodel.cpp:346
|
||||
msgid "Changes your display name in this room"
|
||||
msgstr ""
|
||||
|
||||
#: src/models/actionsmodel.cpp:358
|
||||
#: src/models/actionsmodel.cpp:359
|
||||
#, kde-format
|
||||
msgctxt "<username> is already ignored."
|
||||
msgid "%1 is already ignored."
|
||||
msgstr ""
|
||||
|
||||
#: src/models/actionsmodel.cpp:362
|
||||
#: src/models/actionsmodel.cpp:363
|
||||
#, kde-format
|
||||
msgctxt "<username> is now ignored"
|
||||
msgid "%1 is now ignored."
|
||||
msgstr ""
|
||||
|
||||
#: src/models/actionsmodel.cpp:368
|
||||
#: src/models/actionsmodel.cpp:369
|
||||
msgid "Ignores the given user"
|
||||
msgstr ""
|
||||
|
||||
#: src/models/actionsmodel.cpp:381
|
||||
#: src/models/actionsmodel.cpp:382
|
||||
#, kde-format
|
||||
msgctxt "<username> is not ignored."
|
||||
msgid "%1 is not ignored."
|
||||
msgstr ""
|
||||
|
||||
#: src/models/actionsmodel.cpp:385
|
||||
#: src/models/actionsmodel.cpp:386
|
||||
#, kde-format
|
||||
msgctxt "<username> is no longer ignored."
|
||||
msgid "%1 is no longer ignored."
|
||||
msgstr ""
|
||||
|
||||
#: src/models/actionsmodel.cpp:391
|
||||
#: src/models/actionsmodel.cpp:392
|
||||
msgid "Unignores the given user"
|
||||
msgstr ""
|
||||
|
||||
#: src/models/actionsmodel.cpp:410
|
||||
#: src/models/actionsmodel.cpp:411
|
||||
msgid "<reaction text>"
|
||||
msgstr ""
|
||||
|
||||
#: src/models/actionsmodel.cpp:411
|
||||
#: src/models/actionsmodel.cpp:412
|
||||
msgid "React to the message with the given text"
|
||||
msgstr ""
|
||||
|
||||
#: src/models/actionsmodel.cpp:426
|
||||
#: src/models/actionsmodel.cpp:427
|
||||
#, kde-format
|
||||
msgctxt "<user> is already banned from this room."
|
||||
msgid "%1 is already banned from this room."
|
||||
msgstr ""
|
||||
|
||||
#: src/models/actionsmodel.cpp:434
|
||||
#: src/models/actionsmodel.cpp:435
|
||||
#, kde-format
|
||||
msgid "You are not allowed to ban users from this room."
|
||||
msgstr ""
|
||||
|
||||
#: src/models/actionsmodel.cpp:440
|
||||
#: src/models/actionsmodel.cpp:441
|
||||
#, kde-format
|
||||
msgctxt "You are not allowed to ban <username> from this room."
|
||||
msgid "You are not allowed to ban %1 from this room."
|
||||
msgstr ""
|
||||
|
||||
#: src/models/actionsmodel.cpp:444
|
||||
#: src/models/actionsmodel.cpp:445
|
||||
#, kde-format
|
||||
msgctxt "<username> was banned from this room."
|
||||
msgid "%1 was banned from this room."
|
||||
msgstr ""
|
||||
|
||||
#: src/models/actionsmodel.cpp:449 src/models/actionsmodel.cpp:526
|
||||
#: src/models/actionsmodel.cpp:450 src/models/actionsmodel.cpp:527
|
||||
msgid "<user id> [<reason>]"
|
||||
msgstr ""
|
||||
|
||||
#: src/models/actionsmodel.cpp:450
|
||||
#: src/models/actionsmodel.cpp:451
|
||||
msgid "Bans the given user"
|
||||
msgstr ""
|
||||
|
||||
#: src/models/actionsmodel.cpp:467
|
||||
#: src/models/actionsmodel.cpp:468
|
||||
#, kde-format
|
||||
msgid "You are not allowed to unban users from this room."
|
||||
msgstr ""
|
||||
|
||||
#: src/models/actionsmodel.cpp:472
|
||||
#: src/models/actionsmodel.cpp:473
|
||||
#, kde-format
|
||||
msgctxt "<user> is not banned from this room."
|
||||
msgid "%1 is not banned from this room."
|
||||
msgstr ""
|
||||
|
||||
#: src/models/actionsmodel.cpp:476
|
||||
#: src/models/actionsmodel.cpp:477
|
||||
#, kde-format
|
||||
msgctxt "<username> was unbanned from this room."
|
||||
msgid "%1 was unbanned from this room."
|
||||
msgstr ""
|
||||
|
||||
#: src/models/actionsmodel.cpp:483
|
||||
#: src/models/actionsmodel.cpp:484
|
||||
msgid "Removes the ban of the given user"
|
||||
msgstr ""
|
||||
|
||||
#: src/models/actionsmodel.cpp:498
|
||||
#: src/models/actionsmodel.cpp:499
|
||||
#, kde-format
|
||||
msgid "You cannot kick yourself from the room."
|
||||
msgstr ""
|
||||
|
||||
#: src/models/actionsmodel.cpp:502
|
||||
#: src/models/actionsmodel.cpp:503
|
||||
#, kde-format
|
||||
msgctxt "<username> is not in this room"
|
||||
msgid "%1 is not in this room."
|
||||
msgstr ""
|
||||
|
||||
#: src/models/actionsmodel.cpp:511
|
||||
#: src/models/actionsmodel.cpp:512
|
||||
#, kde-format
|
||||
msgid "You are not allowed to kick users from this room."
|
||||
msgstr ""
|
||||
|
||||
#: src/models/actionsmodel.cpp:517
|
||||
#: src/models/actionsmodel.cpp:518
|
||||
#, kde-format
|
||||
msgctxt "You are not allowed to kick <username> from this room"
|
||||
msgid "You are not allowed to kick %1 from this room."
|
||||
msgstr ""
|
||||
|
||||
#: src/models/actionsmodel.cpp:521
|
||||
#: src/models/actionsmodel.cpp:522
|
||||
#, kde-format
|
||||
msgctxt "<username> was kicked from this room."
|
||||
msgid "%1 was kicked from this room."
|
||||
msgstr ""
|
||||
|
||||
#: src/models/actionsmodel.cpp:527
|
||||
#: src/models/actionsmodel.cpp:528
|
||||
msgid "Removes the user from the room"
|
||||
msgstr ""
|
||||
|
||||
@@ -1337,7 +1344,7 @@ msgctxt "As in 'The user's own emojis"
|
||||
msgid "Own Emojis"
|
||||
msgstr "Vlastní emotikony"
|
||||
|
||||
#: src/models/messagefiltermodel.cpp:142
|
||||
#: src/models/messagefiltermodel.cpp:153
|
||||
#, kde-format
|
||||
msgctxt "%1: What's being done; %2: How often it is done."
|
||||
msgid " %1"
|
||||
@@ -1346,7 +1353,7 @@ msgstr[0] ""
|
||||
msgstr[1] ""
|
||||
msgstr[2] ""
|
||||
|
||||
#: src/models/messagefiltermodel.cpp:146
|
||||
#: src/models/messagefiltermodel.cpp:157
|
||||
#, kde-format
|
||||
msgctxt "n users"
|
||||
msgid " %1 user "
|
||||
@@ -1355,25 +1362,25 @@ msgstr[0] "%1 uživatel "
|
||||
msgstr[1] "%1 uživatelé "
|
||||
msgstr[2] "%1 uživatelů "
|
||||
|
||||
#: src/models/messagefiltermodel.cpp:155
|
||||
#: src/models/messagefiltermodel.cpp:166
|
||||
#, kde-format
|
||||
msgctxt "[action 1], [action 2 and/or action 3]"
|
||||
msgid ", "
|
||||
msgstr ", "
|
||||
|
||||
#: src/models/messagefiltermodel.cpp:159
|
||||
#: src/models/messagefiltermodel.cpp:170
|
||||
#, kde-format
|
||||
msgctxt "[action 1, action 2] or [action 3]"
|
||||
msgid " or "
|
||||
msgstr " nebo "
|
||||
|
||||
#: src/models/messagefiltermodel.cpp:159
|
||||
#: src/models/messagefiltermodel.cpp:170
|
||||
#, kde-format
|
||||
msgctxt "[action 1, action 2] and [action 3]"
|
||||
msgid " and "
|
||||
msgstr " a "
|
||||
|
||||
#: src/models/messagefiltermodel.cpp:165
|
||||
#: src/models/messagefiltermodel.cpp:176
|
||||
#, kde-format
|
||||
msgctxt ""
|
||||
"userText (%1) is either a Matrix username if a single user sent all the "
|
||||
@@ -1507,7 +1514,7 @@ msgstr "Šíř.: %1, Dél.: %2"
|
||||
msgid "Encrypted Message"
|
||||
msgstr "Zašifrovaná zpráva"
|
||||
|
||||
#: src/notificationsmanager.cpp:204 src/qml/Main.qml:270
|
||||
#: src/notificationsmanager.cpp:204 src/qml/Main.qml:274
|
||||
#, kde-format
|
||||
msgid "%1: %2"
|
||||
msgstr "%1: %2"
|
||||
@@ -1566,13 +1573,12 @@ msgstr "%1 (%2)"
|
||||
msgid "Open NeoChat"
|
||||
msgstr "Otevřít NeoChat"
|
||||
|
||||
#: src/qml/AccountMenu.qml:22 src/qml/UserInfo.qml:65
|
||||
#: src/qml/AccountMenu.qml:22 src/qml/UserInfo.qml:46
|
||||
#, kde-format
|
||||
msgid "Edit this account"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/AccountMenu.qml:27 src/qml/UserInfo.qml:59
|
||||
#: src/settings/AccountsPage.qml:34
|
||||
#: src/qml/AccountMenu.qml:27 src/settings/AccountsPage.qml:34
|
||||
#, kde-format
|
||||
msgid "Account editor"
|
||||
msgstr "Editor účtů"
|
||||
@@ -1583,7 +1589,7 @@ msgid "Notification settings"
|
||||
msgstr "Nastavení oznamování"
|
||||
|
||||
#: src/qml/AccountMenu.qml:37 src/qml/AccountMenu.qml:49
|
||||
#: src/qml/GlobalMenu.qml:35 src/qml/Main.qml:400 src/qml/UserInfo.qml:116
|
||||
#: src/qml/GlobalMenu.qml:35 src/qml/Main.qml:404 src/qml/UserInfo.qml:103
|
||||
#, kde-format
|
||||
msgid "Configure"
|
||||
msgstr "Nastavit"
|
||||
@@ -1918,8 +1924,8 @@ msgstr "Přidat k oblíbeným"
|
||||
|
||||
#: src/qml/CreateRoomDialog.qml:30 src/qml/ExploreComponent.qml:64
|
||||
#: src/qml/ExploreComponent.qml:66 src/qml/ExploreComponentMobile.qml:162
|
||||
#: src/qml/ExploreComponentMobile.qml:164 src/qml/SpaceDrawer.qml:281
|
||||
#: src/qml/SpaceDrawer.qml:283
|
||||
#: src/qml/ExploreComponentMobile.qml:164 src/qml/SpaceDrawer.qml:294
|
||||
#: src/qml/SpaceDrawer.qml:296
|
||||
#, kde-format
|
||||
msgctxt "@title"
|
||||
msgid "Create a Space"
|
||||
@@ -1990,7 +1996,7 @@ msgstr ""
|
||||
|
||||
#: src/qml/CreateRoomDialog.qml:117 src/qml/CreateRoomDialog.qml:200
|
||||
#: src/qml/ExploreComponent.qml:29 src/qml/ExploreComponentMobile.qml:58
|
||||
#: src/qml/GlobalMenu.qml:74 src/qml/RoomListPage.qml:220
|
||||
#: src/qml/GlobalMenu.qml:74 src/qml/RoomListPage.qml:210
|
||||
#: src/qml/SelectParentDialog.qml:142
|
||||
#, kde-format
|
||||
msgctxt "@title"
|
||||
@@ -2161,21 +2167,21 @@ msgid "They don't match"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/ExploreComponent.qml:23 src/qml/ExploreComponentMobile.qml:52
|
||||
#: src/qml/RoomListPage.qml:214
|
||||
#: src/qml/RoomListPage.qml:204
|
||||
#, kde-format
|
||||
msgid "Explore rooms"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/ExploreComponent.qml:37 src/qml/ExploreComponentMobile.qml:67
|
||||
#: src/qml/GlobalMenu.qml:52 src/qml/GlobalMenu.qml:61
|
||||
#: src/qml/RoomListPage.qml:182 src/qml/RoomListPage.qml:231
|
||||
#: src/qml/RoomListPage.qml:172 src/qml/RoomListPage.qml:221
|
||||
#, kde-format
|
||||
msgid "Find your friends"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/ExploreComponent.qml:42 src/qml/ExploreComponentMobile.qml:73
|
||||
#: src/qml/GlobalMenu.qml:56 src/qml/RoomListPage.qml:190
|
||||
#: src/qml/RoomListPage.qml:235
|
||||
#: src/qml/GlobalMenu.qml:56 src/qml/RoomListPage.qml:180
|
||||
#: src/qml/RoomListPage.qml:225
|
||||
#, kde-format
|
||||
msgctxt "@title"
|
||||
msgid "Find your friends"
|
||||
@@ -2202,11 +2208,37 @@ msgctxt "@title"
|
||||
msgid "Scan a QR Code"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/ExploreComponent.qml:103 src/qml/ExploreComponent.qml:167
|
||||
#: src/qml/ExploreComponent.qml:93
|
||||
#, fuzzy, kde-format
|
||||
#| msgid "Room"
|
||||
msgctxt "@title"
|
||||
msgid "Rooms"
|
||||
msgstr "Pokoj"
|
||||
|
||||
#: src/qml/ExploreComponent.qml:105
|
||||
#, fuzzy, kde-format
|
||||
#| msgid "Search"
|
||||
msgctxt "@action"
|
||||
msgid "Search Room"
|
||||
msgstr "Hledat"
|
||||
|
||||
#: src/qml/ExploreComponent.qml:118
|
||||
#, fuzzy, kde-format
|
||||
#| msgid "Show"
|
||||
msgctxt "@action:button"
|
||||
msgid "Show Menu"
|
||||
msgstr "Zobrazit"
|
||||
|
||||
#: src/qml/ExploreComponent.qml:182
|
||||
#, kde-format
|
||||
msgid "Create rooms and chats"
|
||||
msgstr "Vytvářejte místnosti a rozhovory"
|
||||
|
||||
#: src/qml/ExploreComponentMobile.qml:36
|
||||
#, kde-format
|
||||
msgid "Search"
|
||||
msgstr "Hledat"
|
||||
|
||||
#: src/qml/ExploreComponentMobile.qml:79
|
||||
#, kde-format
|
||||
msgid "Create New"
|
||||
@@ -2562,46 +2594,62 @@ msgstr "Umístění"
|
||||
msgid "There are no locations shared in this room."
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/Main.qml:304
|
||||
#: src/qml/Main.qml:163
|
||||
#, fuzzy, kde-format
|
||||
#| msgctxt "@action:title"
|
||||
#| msgid "Room information"
|
||||
msgctxt "@action:button"
|
||||
msgid "Show Room Information"
|
||||
msgstr "informace o místnosti"
|
||||
|
||||
#: src/qml/Main.qml:166
|
||||
#, fuzzy, kde-format
|
||||
#| msgctxt "@action:title"
|
||||
#| msgid "Room information"
|
||||
msgctxt "@action:button"
|
||||
msgid "Close Room Information Drawer"
|
||||
msgstr "informace o místnosti"
|
||||
|
||||
#: src/qml/Main.qml:308
|
||||
#, kde-format
|
||||
msgctxt "@title:window"
|
||||
msgid "Session Verification"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/Main.qml:321
|
||||
#: src/qml/Main.qml:325
|
||||
#, kde-format
|
||||
msgid "User consent"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/Main.qml:326
|
||||
#: src/qml/Main.qml:330
|
||||
#, kde-format
|
||||
msgid ""
|
||||
"Your homeserver requires you to agree to its terms and conditions before "
|
||||
"being able to use it. Please click the button below to read them."
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/Main.qml:331
|
||||
#: src/qml/Main.qml:335
|
||||
#, kde-format
|
||||
msgid "Open"
|
||||
msgstr "Otevřít"
|
||||
|
||||
#: src/qml/Main.qml:358
|
||||
#: src/qml/Main.qml:362
|
||||
#, kde-format
|
||||
msgid "Start a chat"
|
||||
msgstr "Zahájit rozhovor"
|
||||
|
||||
#: src/qml/Main.qml:360
|
||||
#: src/qml/Main.qml:364
|
||||
#, kde-format
|
||||
msgid "Do you want to start a chat with %1?"
|
||||
msgstr "Přejete si začít rozhovor s %1?"
|
||||
|
||||
#: src/qml/Main.qml:386
|
||||
#: src/qml/Main.qml:390
|
||||
#, kde-format
|
||||
msgctxt "@info screenreader"
|
||||
msgid "The currently selected link"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/Main.qml:418 src/qml/ShareAction.qml:68
|
||||
#: src/qml/Main.qml:422 src/qml/ShareAction.qml:68
|
||||
#, kde-format
|
||||
msgctxt "@title"
|
||||
msgid "Share"
|
||||
@@ -2686,7 +2734,7 @@ msgctxt "@action As in 'edit the state of this room'"
|
||||
msgid "Edit state"
|
||||
msgstr "Upravit nálepku"
|
||||
|
||||
#: src/qml/NotificationsView.qml:19 src/qml/SpaceDrawer.qml:66
|
||||
#: src/qml/NotificationsView.qml:19 src/qml/SpaceDrawer.qml:68
|
||||
#, kde-format
|
||||
msgctxt "@title"
|
||||
msgid "Notifications"
|
||||
@@ -2841,12 +2889,12 @@ msgstr "Nahlásit zprávu"
|
||||
msgid "Reason for reporting this message"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/RoomDelegate.qml:101
|
||||
#: src/qml/RoomDelegate.qml:103
|
||||
#, kde-format
|
||||
msgid "Muted room"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/RoomDelegate.qml:134
|
||||
#: src/qml/RoomDelegate.qml:136
|
||||
#, kde-format
|
||||
msgid "Configure room"
|
||||
msgstr ""
|
||||
@@ -2949,33 +2997,33 @@ msgstr[2] "%1 členů"
|
||||
msgid "No member count"
|
||||
msgstr "Žádný počet členů"
|
||||
|
||||
#: src/qml/RoomListPage.qml:205
|
||||
#: src/qml/RoomListPage.qml:195
|
||||
#, kde-format
|
||||
msgid "No friends found"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/RoomListPage.qml:205
|
||||
#: src/qml/RoomListPage.qml:195
|
||||
#, kde-format
|
||||
msgid "No rooms found"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/RoomListPage.qml:207
|
||||
#: src/qml/RoomListPage.qml:197
|
||||
#, kde-format
|
||||
msgid ""
|
||||
"You haven't added any of your friends yet, click below to search for them."
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/RoomListPage.qml:207
|
||||
#: src/qml/RoomListPage.qml:197
|
||||
#, kde-format
|
||||
msgid "Join some rooms to get started"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/RoomListPage.qml:214
|
||||
#: src/qml/RoomListPage.qml:204
|
||||
#, kde-format
|
||||
msgid "Search in room directory"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/RoomListPage.qml:231
|
||||
#: src/qml/RoomListPage.qml:221
|
||||
#, kde-format
|
||||
msgid "Search in friend directory"
|
||||
msgstr ""
|
||||
@@ -3151,24 +3199,24 @@ msgstr "Sdílená adresa obrázku je <a href='%1'>%1</a>"
|
||||
msgid "View notifications"
|
||||
msgstr "Zobrazit upozornění"
|
||||
|
||||
#: src/qml/SpaceDrawer.qml:84
|
||||
#: src/qml/SpaceDrawer.qml:86
|
||||
#, kde-format
|
||||
msgid "Home"
|
||||
msgstr "Domů"
|
||||
|
||||
#: src/qml/SpaceDrawer.qml:130
|
||||
#: src/qml/SpaceDrawer.qml:134
|
||||
#, kde-format
|
||||
msgctxt "@button View all one-on-one chats with your friends."
|
||||
msgid "Friends"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/SpaceDrawer.qml:232
|
||||
#: src/qml/SpaceDrawer.qml:242
|
||||
#, kde-format
|
||||
msgctxt "Join <name of a space>"
|
||||
msgid "Join %1"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/SpaceDrawer.qml:274
|
||||
#: src/qml/SpaceDrawer.qml:284
|
||||
#, kde-format
|
||||
msgid "Create a space"
|
||||
msgstr ""
|
||||
@@ -3447,12 +3495,19 @@ msgstr ""
|
||||
msgid "Copy link"
|
||||
msgstr "Kopírovat odkaz"
|
||||
|
||||
#: src/qml/UserInfo.qml:104
|
||||
#: src/qml/UserInfo.qml:54
|
||||
#, fuzzy, kde-format
|
||||
#| msgid "Account editor"
|
||||
msgctxt "@title:window"
|
||||
msgid "Account editor"
|
||||
msgstr "Editor účtů"
|
||||
|
||||
#: src/qml/UserInfo.qml:91
|
||||
#, kde-format
|
||||
msgid "Switch User"
|
||||
msgstr "Přepnout uživatele"
|
||||
|
||||
#: src/qml/UserInfo.qml:111
|
||||
#: src/qml/UserInfo.qml:98
|
||||
#, kde-format
|
||||
msgid "Open Settings"
|
||||
msgstr "Otevřít nastavení"
|
||||
@@ -3865,12 +3920,7 @@ msgstr "Kompaktní"
|
||||
msgid "Use compact room list"
|
||||
msgstr ""
|
||||
|
||||
#: src/settings/AppearanceSettingsPage.qml:232
|
||||
#, kde-format
|
||||
msgid "Show fancy effects in chat"
|
||||
msgstr ""
|
||||
|
||||
#: src/settings/AppearanceSettingsPage.qml:249
|
||||
#: src/settings/AppearanceSettingsPage.qml:233
|
||||
#, kde-format
|
||||
msgid "Use transparent chat page"
|
||||
msgstr "Použít průhlednou stránku pro rozhovor"
|
||||
@@ -3878,37 +3928,37 @@ msgstr "Použít průhlednou stránku pro rozhovor"
|
||||
# Přechod sklouznutí má posunovače, kde vlevo (žádný výběr) znamená průhlednost a vpravo (výběr 100 %) znamená neprůhlednost.
|
||||
#
|
||||
# Opačně to nedává smysl.
|
||||
#: src/settings/AppearanceSettingsPage.qml:270
|
||||
#: src/settings/AppearanceSettingsPage.qml:254
|
||||
#, kde-format
|
||||
msgid "Transparency"
|
||||
msgstr "Průhlednost"
|
||||
|
||||
#: src/settings/AppearanceSettingsPage.qml:289
|
||||
#: src/settings/AppearanceSettingsPage.qml:273
|
||||
#, kde-format
|
||||
msgid "Only enabled if the transparent chat page is enabled."
|
||||
msgstr ""
|
||||
|
||||
#: src/settings/AppearanceSettingsPage.qml:306
|
||||
#: src/settings/AppearanceSettingsPage.qml:290
|
||||
#, kde-format
|
||||
msgid "Show your messages on the right"
|
||||
msgstr ""
|
||||
|
||||
#: src/settings/AppearanceSettingsPage.qml:322
|
||||
#: src/settings/AppearanceSettingsPage.qml:306
|
||||
#, kde-format
|
||||
msgid "Show links preview in the chat messages"
|
||||
msgstr ""
|
||||
|
||||
#: src/settings/AppearanceSettingsPage.qml:332
|
||||
#: src/settings/AppearanceSettingsPage.qml:316
|
||||
#, kde-format
|
||||
msgid "Show Avatar"
|
||||
msgstr "Zobrazit avatara"
|
||||
|
||||
#: src/settings/AppearanceSettingsPage.qml:336
|
||||
#: src/settings/AppearanceSettingsPage.qml:320
|
||||
#, kde-format
|
||||
msgid "In chat"
|
||||
msgstr ""
|
||||
|
||||
#: src/settings/AppearanceSettingsPage.qml:346
|
||||
#: src/settings/AppearanceSettingsPage.qml:330
|
||||
#, kde-format
|
||||
msgid "In sidebar"
|
||||
msgstr ""
|
||||
|
||||
368
po/da/neochat.po
368
po/da/neochat.po
File diff suppressed because it is too large
Load Diff
377
po/de/neochat.po
377
po/de/neochat.po
File diff suppressed because it is too large
Load Diff
377
po/el/neochat.po
377
po/el/neochat.po
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
373
po/eo/neochat.po
373
po/eo/neochat.po
File diff suppressed because it is too large
Load Diff
369
po/es/neochat.po
369
po/es/neochat.po
File diff suppressed because it is too large
Load Diff
373
po/eu/neochat.po
373
po/eu/neochat.po
File diff suppressed because it is too large
Load Diff
372
po/fi/neochat.po
372
po/fi/neochat.po
File diff suppressed because it is too large
Load Diff
373
po/fr/neochat.po
373
po/fr/neochat.po
File diff suppressed because it is too large
Load Diff
372
po/hu/neochat.po
372
po/hu/neochat.po
File diff suppressed because it is too large
Load Diff
375
po/ia/neochat.po
375
po/ia/neochat.po
File diff suppressed because it is too large
Load Diff
377
po/id/neochat.po
377
po/id/neochat.po
File diff suppressed because it is too large
Load Diff
370
po/ie/neochat.po
370
po/ie/neochat.po
File diff suppressed because it is too large
Load Diff
426
po/it/neochat.po
426
po/it/neochat.po
File diff suppressed because it is too large
Load Diff
362
po/ja/neochat.po
362
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-04-21 00:38+0000\n"
|
||||
"POT-Creation-Date: 2024-04-24 02:56+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"
|
||||
@@ -14,7 +14,7 @@ msgstr ""
|
||||
"X-Accelerator-Marker: &\n"
|
||||
"X-Text-Markup: kde4\n"
|
||||
|
||||
#: src/controller.cpp:134
|
||||
#: src/controller.cpp:133
|
||||
#, kde-format
|
||||
msgctxt ""
|
||||
"The reason for using push notifications, as in: '[Push notifications are "
|
||||
@@ -22,47 +22,47 @@ msgctxt ""
|
||||
msgid "Receiving notifications for new messages"
|
||||
msgstr ""
|
||||
|
||||
#: src/controller.cpp:213
|
||||
#: src/controller.cpp:212
|
||||
#, kde-format
|
||||
msgid "Network Error: %1"
|
||||
msgstr ""
|
||||
|
||||
#: src/controller.cpp:235
|
||||
#: src/controller.cpp:234
|
||||
#, kde-format
|
||||
msgid "Access token wasn't found"
|
||||
msgstr ""
|
||||
|
||||
#: src/controller.cpp:235
|
||||
#: src/controller.cpp:234
|
||||
#, kde-format
|
||||
msgid "Maybe it was deleted?"
|
||||
msgstr ""
|
||||
|
||||
#: src/controller.cpp:239
|
||||
#: src/controller.cpp:238
|
||||
#, kde-format
|
||||
msgid "Access to keychain was denied."
|
||||
msgstr ""
|
||||
|
||||
#: src/controller.cpp:239
|
||||
#: src/controller.cpp:238
|
||||
#, kde-format
|
||||
msgid "Please allow NeoChat to read the access token"
|
||||
msgstr ""
|
||||
|
||||
#: src/controller.cpp:242
|
||||
#: src/controller.cpp:241
|
||||
#, kde-format
|
||||
msgid "No keychain available."
|
||||
msgstr ""
|
||||
|
||||
#: src/controller.cpp:242
|
||||
#: src/controller.cpp:241
|
||||
#, kde-format
|
||||
msgid "Please install a keychain, e.g. KWallet or GNOME keyring on Linux"
|
||||
msgstr ""
|
||||
|
||||
#: src/controller.cpp:245
|
||||
#: src/controller.cpp:244
|
||||
#, kde-format
|
||||
msgid "Unable to read access token"
|
||||
msgstr ""
|
||||
|
||||
#: src/controller.cpp:341
|
||||
#: src/controller.cpp:340
|
||||
#, kde-format
|
||||
msgid "Receiving push notifications"
|
||||
msgstr ""
|
||||
@@ -79,19 +79,31 @@ msgctxt "@title:window"
|
||||
msgid "Event Source"
|
||||
msgstr ""
|
||||
|
||||
#: src/devtools/DebugOptions.qml:20
|
||||
#: src/devtools/DebugOptions.qml:19
|
||||
#, kde-format
|
||||
msgctxt "@option:check"
|
||||
msgid "Show hidden events in the timeline"
|
||||
msgstr ""
|
||||
|
||||
#: src/devtools/DebugOptions.qml:26
|
||||
#, kde-format
|
||||
msgctxt "@option:check Enable the matrix 'threads' feature"
|
||||
msgid "Always allow device verification"
|
||||
msgstr ""
|
||||
|
||||
#: src/devtools/DebugOptions.qml:21
|
||||
#: src/devtools/DebugOptions.qml:27
|
||||
#, kde-format
|
||||
msgid ""
|
||||
"Allow the user to start a verification session with devices that were "
|
||||
"already verified"
|
||||
msgstr ""
|
||||
|
||||
#: src/devtools/DebugOptions.qml:33
|
||||
#, kde-format
|
||||
msgctxt "@option:check"
|
||||
msgid "Show focus in window header"
|
||||
msgstr ""
|
||||
|
||||
#: src/devtools/DevtoolsPage.qml:18 src/settings/NeoChatGeneralPage.qml:240
|
||||
#, kde-format
|
||||
msgid "Developer Tools"
|
||||
@@ -138,35 +150,35 @@ msgstr ""
|
||||
msgid "Room"
|
||||
msgstr ""
|
||||
|
||||
#: src/devtools/RoomData.qml:35
|
||||
#: src/devtools/RoomData.qml:36
|
||||
#, kde-format
|
||||
msgid "Room Id: %1"
|
||||
msgstr ""
|
||||
|
||||
#: src/devtools/RoomData.qml:39
|
||||
#: src/devtools/RoomData.qml:40
|
||||
#, kde-format
|
||||
msgid "Room Account Data"
|
||||
msgstr ""
|
||||
|
||||
#: src/devtools/RoomData.qml:52 src/devtools/RoomData.qml:98
|
||||
#: src/devtools/RoomData.qml:53 src/devtools/RoomData.qml:99
|
||||
#: src/qml/MessageSourceSheet.qml:42
|
||||
#, kde-format
|
||||
msgid "Event Source"
|
||||
msgstr ""
|
||||
|
||||
#: src/devtools/RoomData.qml:60
|
||||
#: src/devtools/RoomData.qml:61
|
||||
#, kde-format
|
||||
msgid "Room State"
|
||||
msgstr ""
|
||||
|
||||
#: src/devtools/RoomData.qml:74
|
||||
#: src/devtools/RoomData.qml:75
|
||||
#, kde-format
|
||||
msgctxt "'Event' being some JSON data, not something physically happening."
|
||||
msgid "%1 event of this type"
|
||||
msgid_plural "%1 events of this type"
|
||||
msgstr[0] ""
|
||||
|
||||
#: src/devtools/RoomData.qml:83
|
||||
#: src/devtools/RoomData.qml:84
|
||||
#, kde-format
|
||||
msgctxt "'Event' being some JSON data, not something physically happening."
|
||||
msgid "Event Information"
|
||||
@@ -200,49 +212,44 @@ msgctxt ""
|
||||
msgid "State Keys"
|
||||
msgstr ""
|
||||
|
||||
#: src/enums/neochatroomtype.h:60
|
||||
#: src/enums/neochatroomtype.h:59
|
||||
#, kde-format
|
||||
msgid "Invited"
|
||||
msgstr ""
|
||||
|
||||
#: src/enums/neochatroomtype.h:62
|
||||
#: src/enums/neochatroomtype.h:61
|
||||
#, kde-format
|
||||
msgid "Favorite"
|
||||
msgstr ""
|
||||
|
||||
#: src/enums/neochatroomtype.h:64 src/qml/UserSearchPage.qml:82
|
||||
#: src/enums/neochatroomtype.h:63 src/qml/UserSearchPage.qml:82
|
||||
#, kde-format
|
||||
msgid "Friends"
|
||||
msgstr ""
|
||||
|
||||
#: src/enums/neochatroomtype.h:66
|
||||
#: src/enums/neochatroomtype.h:65
|
||||
#, kde-format
|
||||
msgid "Normal"
|
||||
msgstr ""
|
||||
|
||||
#: src/enums/neochatroomtype.h:68
|
||||
#: src/enums/neochatroomtype.h:67
|
||||
#, kde-format
|
||||
msgid "Low priority"
|
||||
msgstr ""
|
||||
|
||||
#: src/enums/neochatroomtype.h:70
|
||||
#: src/enums/neochatroomtype.h:69
|
||||
#, kde-format
|
||||
msgid "Spaces"
|
||||
msgstr ""
|
||||
|
||||
#: src/enums/neochatroomtype.h:72 src/qml/ExploreComponentMobile.qml:36
|
||||
#, kde-format
|
||||
msgid "Search"
|
||||
msgstr ""
|
||||
|
||||
#: src/eventhandler.cpp:303 src/eventhandler.cpp:507
|
||||
#: src/models/messagecontentmodel.cpp:140 src/models/messageeventmodel.cpp:465
|
||||
#: src/models/messagecontentmodel.cpp:140 src/models/messageeventmodel.cpp:436
|
||||
#, kde-format
|
||||
msgid "<i>[This message was deleted]</i>"
|
||||
msgstr ""
|
||||
|
||||
#: src/eventhandler.cpp:303 src/models/messagecontentmodel.cpp:141
|
||||
#: src/models/messageeventmodel.cpp:466
|
||||
#: src/models/messageeventmodel.cpp:437
|
||||
#, kde-format
|
||||
msgid "<i>[This message was deleted: %1]</i>"
|
||||
msgstr ""
|
||||
@@ -614,12 +621,12 @@ msgctxt "The location being downloaded to"
|
||||
msgid "Destination"
|
||||
msgstr ""
|
||||
|
||||
#: src/login.cpp:85 src/login.cpp:100
|
||||
#: src/login.cpp:84 src/login.cpp:99
|
||||
#, kde-format
|
||||
msgid "Network Error"
|
||||
msgstr ""
|
||||
|
||||
#: src/login.cpp:93
|
||||
#: src/login.cpp:92
|
||||
#, kde-format
|
||||
msgid "Login Failed: %1"
|
||||
msgstr ""
|
||||
@@ -939,315 +946,315 @@ msgstr ""
|
||||
msgid "Share a URL to Matrix"
|
||||
msgstr ""
|
||||
|
||||
#: src/matriximageprovider.cpp:40
|
||||
#: src/matriximageprovider.cpp:38
|
||||
#, kde-format
|
||||
msgid "Media id '%1' doesn't follow server/mediaId pattern"
|
||||
msgstr ""
|
||||
|
||||
#: src/matriximageprovider.cpp:98
|
||||
#: src/matriximageprovider.cpp:96
|
||||
#, kde-format
|
||||
msgid "Image request has been cancelled"
|
||||
msgstr ""
|
||||
|
||||
#: src/models/actionsmodel.cpp:24
|
||||
#: src/models/actionsmodel.cpp:25
|
||||
#, kde-format
|
||||
msgid "Leaving this room."
|
||||
msgstr ""
|
||||
|
||||
#: src/models/actionsmodel.cpp:31 src/models/actionsmodel.cpp:228
|
||||
#: src/models/actionsmodel.cpp:254 src/models/actionsmodel.cpp:284
|
||||
#: src/models/actionsmodel.cpp:32 src/models/actionsmodel.cpp:229
|
||||
#: src/models/actionsmodel.cpp:255 src/models/actionsmodel.cpp:285
|
||||
#, kde-format
|
||||
msgctxt "'<text>' does not look like a room id or alias."
|
||||
msgid "'%1' does not look like a room id or alias."
|
||||
msgstr ""
|
||||
|
||||
#: src/models/actionsmodel.cpp:39
|
||||
#: src/models/actionsmodel.cpp:40
|
||||
#, kde-format
|
||||
msgctxt "Leaving room <roomname>."
|
||||
msgid "Leaving room %1."
|
||||
msgstr ""
|
||||
|
||||
#: src/models/actionsmodel.cpp:42
|
||||
#: src/models/actionsmodel.cpp:43
|
||||
#, kde-format
|
||||
msgctxt "Room <roomname> not found"
|
||||
msgid "Room %1 not found."
|
||||
msgstr ""
|
||||
|
||||
#: src/models/actionsmodel.cpp:50 src/models/actionsmodel.cpp:320
|
||||
#: src/models/actionsmodel.cpp:51 src/models/actionsmodel.cpp:321
|
||||
#, kde-format
|
||||
msgid "No new nickname provided, no changes will happen."
|
||||
msgstr ""
|
||||
|
||||
#: src/models/actionsmodel.cpp:65 src/models/actionsmodel.cpp:75
|
||||
#: src/models/actionsmodel.cpp:85 src/models/actionsmodel.cpp:95
|
||||
#: src/models/actionsmodel.cpp:115 src/models/actionsmodel.cpp:135
|
||||
#: src/models/actionsmodel.cpp:146 src/models/actionsmodel.cpp:162
|
||||
#: src/models/actionsmodel.cpp:172 src/models/actionsmodel.cpp:182
|
||||
#: src/models/actionsmodel.cpp:66 src/models/actionsmodel.cpp:76
|
||||
#: src/models/actionsmodel.cpp:86 src/models/actionsmodel.cpp:96
|
||||
#: src/models/actionsmodel.cpp:116 src/models/actionsmodel.cpp:136
|
||||
#: src/models/actionsmodel.cpp:147 src/models/actionsmodel.cpp:163
|
||||
#: src/models/actionsmodel.cpp:173 src/models/actionsmodel.cpp:183
|
||||
msgid "<message>"
|
||||
msgstr ""
|
||||
|
||||
#: src/models/actionsmodel.cpp:66
|
||||
#: src/models/actionsmodel.cpp:67
|
||||
msgid "Prepends ¯\\_(ツ)_/¯ to a plain-text message"
|
||||
msgstr ""
|
||||
|
||||
#: src/models/actionsmodel.cpp:76
|
||||
#: src/models/actionsmodel.cpp:77
|
||||
msgid "Prepends ( ͡° ͜ʖ ͡°) to a plain-text message"
|
||||
msgstr ""
|
||||
|
||||
#: src/models/actionsmodel.cpp:86
|
||||
#: src/models/actionsmodel.cpp:87
|
||||
msgid "Prepends (╯°□°)╯︵ ┻━┻ to a plain-text message"
|
||||
msgstr ""
|
||||
|
||||
#: src/models/actionsmodel.cpp:96
|
||||
#: src/models/actionsmodel.cpp:97
|
||||
msgid "Prepends ┬──┬ ノ( ゜-゜ノ) to a plain-text message"
|
||||
msgstr ""
|
||||
|
||||
#: src/models/actionsmodel.cpp:116
|
||||
#: src/models/actionsmodel.cpp:117
|
||||
msgid "Sends the given message colored as a rainbow"
|
||||
msgstr ""
|
||||
|
||||
#: src/models/actionsmodel.cpp:136
|
||||
#: src/models/actionsmodel.cpp:137
|
||||
msgid "Sends the given emote colored as a rainbow"
|
||||
msgstr ""
|
||||
|
||||
#: src/models/actionsmodel.cpp:147
|
||||
#: src/models/actionsmodel.cpp:148
|
||||
msgid "Sends the given message as plain text"
|
||||
msgstr ""
|
||||
|
||||
#: src/models/actionsmodel.cpp:163
|
||||
#: src/models/actionsmodel.cpp:164
|
||||
msgid "Sends the given message as a spoiler"
|
||||
msgstr ""
|
||||
|
||||
#: src/models/actionsmodel.cpp:173
|
||||
#: src/models/actionsmodel.cpp:174
|
||||
msgid "Sends the given emote"
|
||||
msgstr ""
|
||||
|
||||
#: src/models/actionsmodel.cpp:183
|
||||
#: src/models/actionsmodel.cpp:184
|
||||
msgid "Sends the given message as a notice"
|
||||
msgstr ""
|
||||
|
||||
#: src/models/actionsmodel.cpp:192 src/models/actionsmodel.cpp:354
|
||||
#: src/models/actionsmodel.cpp:377 src/models/actionsmodel.cpp:421
|
||||
#: src/models/actionsmodel.cpp:459 src/models/actionsmodel.cpp:494
|
||||
#: src/models/actionsmodel.cpp:193 src/models/actionsmodel.cpp:355
|
||||
#: src/models/actionsmodel.cpp:378 src/models/actionsmodel.cpp:422
|
||||
#: src/models/actionsmodel.cpp:460 src/models/actionsmodel.cpp:495
|
||||
#, kde-format
|
||||
msgctxt "'<text>' does not look like a matrix id."
|
||||
msgid "'%1' does not look like a matrix id."
|
||||
msgstr ""
|
||||
|
||||
#: src/models/actionsmodel.cpp:197
|
||||
#: src/models/actionsmodel.cpp:198
|
||||
#, kde-format
|
||||
msgctxt "<user> is already invited to this room."
|
||||
msgid "%1 is already invited to this room."
|
||||
msgstr ""
|
||||
|
||||
#: src/models/actionsmodel.cpp:201
|
||||
#: src/models/actionsmodel.cpp:202
|
||||
#, kde-format
|
||||
msgctxt "<user> is banned from this room."
|
||||
msgid "%1 is banned from this room."
|
||||
msgstr ""
|
||||
|
||||
#: src/models/actionsmodel.cpp:205
|
||||
#: src/models/actionsmodel.cpp:206
|
||||
#, kde-format
|
||||
msgid "You are already in this room."
|
||||
msgstr ""
|
||||
|
||||
#: src/models/actionsmodel.cpp:209
|
||||
#: src/models/actionsmodel.cpp:210
|
||||
#, kde-format
|
||||
msgctxt "<user> is already in this room."
|
||||
msgid "%1 is already in this room."
|
||||
msgstr ""
|
||||
|
||||
#: src/models/actionsmodel.cpp:213
|
||||
#: src/models/actionsmodel.cpp:214
|
||||
#, kde-format
|
||||
msgctxt "<username> was invited into this room"
|
||||
msgid "%1 was invited into this room"
|
||||
msgstr ""
|
||||
|
||||
#: src/models/actionsmodel.cpp:218 src/models/actionsmodel.cpp:367
|
||||
#: src/models/actionsmodel.cpp:390 src/models/actionsmodel.cpp:482
|
||||
#: src/models/actionsmodel.cpp:219 src/models/actionsmodel.cpp:368
|
||||
#: src/models/actionsmodel.cpp:391 src/models/actionsmodel.cpp:483
|
||||
msgid "<user id>"
|
||||
msgstr ""
|
||||
|
||||
#: src/models/actionsmodel.cpp:219
|
||||
#: src/models/actionsmodel.cpp:220
|
||||
msgid "Invites the user to this room"
|
||||
msgstr ""
|
||||
|
||||
#: src/models/actionsmodel.cpp:236 src/models/actionsmodel.cpp:291
|
||||
#: src/models/actionsmodel.cpp:237 src/models/actionsmodel.cpp:292
|
||||
#, kde-format
|
||||
msgctxt "Joining room <roomname>."
|
||||
msgid "Joining room %1."
|
||||
msgstr ""
|
||||
|
||||
#: src/models/actionsmodel.cpp:242 src/models/actionsmodel.cpp:297
|
||||
#: src/models/actionsmodel.cpp:243 src/models/actionsmodel.cpp:298
|
||||
msgid "<room alias or id>"
|
||||
msgstr ""
|
||||
|
||||
#: src/models/actionsmodel.cpp:243 src/models/actionsmodel.cpp:298
|
||||
#: src/models/actionsmodel.cpp:244 src/models/actionsmodel.cpp:299
|
||||
msgid "Joins the given room"
|
||||
msgstr ""
|
||||
|
||||
#: src/models/actionsmodel.cpp:262
|
||||
#: src/models/actionsmodel.cpp:263
|
||||
#, kde-format
|
||||
msgctxt "Knocking room <roomname>."
|
||||
msgid "Knocking room %1."
|
||||
msgstr ""
|
||||
|
||||
#: src/models/actionsmodel.cpp:274
|
||||
#: src/models/actionsmodel.cpp:275
|
||||
msgid "<room alias or id> [<reason>]"
|
||||
msgstr ""
|
||||
|
||||
#: src/models/actionsmodel.cpp:275
|
||||
#: src/models/actionsmodel.cpp:276
|
||||
msgid "Requests to join the given room"
|
||||
msgstr ""
|
||||
|
||||
#: src/models/actionsmodel.cpp:288
|
||||
#: src/models/actionsmodel.cpp:289
|
||||
#, kde-format
|
||||
msgctxt "You are already in room <roomname>."
|
||||
msgid "You are already in room %1."
|
||||
msgstr ""
|
||||
|
||||
#: src/models/actionsmodel.cpp:305 src/models/actionsmodel.cpp:313
|
||||
#: src/models/actionsmodel.cpp:306 src/models/actionsmodel.cpp:314
|
||||
msgid "[<room alias or id>]"
|
||||
msgstr ""
|
||||
|
||||
#: src/models/actionsmodel.cpp:306 src/models/actionsmodel.cpp:314
|
||||
#: src/models/actionsmodel.cpp:307 src/models/actionsmodel.cpp:315
|
||||
msgid "Leaves the given room or this room, if there is none given"
|
||||
msgstr ""
|
||||
|
||||
#: src/models/actionsmodel.cpp:328 src/models/actionsmodel.cpp:336
|
||||
#: src/models/actionsmodel.cpp:344
|
||||
#: src/models/actionsmodel.cpp:329 src/models/actionsmodel.cpp:337
|
||||
#: src/models/actionsmodel.cpp:345
|
||||
msgid "<display name>"
|
||||
msgstr ""
|
||||
|
||||
#: src/models/actionsmodel.cpp:329
|
||||
#: src/models/actionsmodel.cpp:330
|
||||
msgid "Changes your global display name"
|
||||
msgstr ""
|
||||
|
||||
#: src/models/actionsmodel.cpp:337 src/models/actionsmodel.cpp:345
|
||||
#: src/models/actionsmodel.cpp:338 src/models/actionsmodel.cpp:346
|
||||
msgid "Changes your display name in this room"
|
||||
msgstr ""
|
||||
|
||||
#: src/models/actionsmodel.cpp:358
|
||||
#: src/models/actionsmodel.cpp:359
|
||||
#, kde-format
|
||||
msgctxt "<username> is already ignored."
|
||||
msgid "%1 is already ignored."
|
||||
msgstr ""
|
||||
|
||||
#: src/models/actionsmodel.cpp:362
|
||||
#: src/models/actionsmodel.cpp:363
|
||||
#, kde-format
|
||||
msgctxt "<username> is now ignored"
|
||||
msgid "%1 is now ignored."
|
||||
msgstr ""
|
||||
|
||||
#: src/models/actionsmodel.cpp:368
|
||||
#: src/models/actionsmodel.cpp:369
|
||||
msgid "Ignores the given user"
|
||||
msgstr ""
|
||||
|
||||
#: src/models/actionsmodel.cpp:381
|
||||
#: src/models/actionsmodel.cpp:382
|
||||
#, kde-format
|
||||
msgctxt "<username> is not ignored."
|
||||
msgid "%1 is not ignored."
|
||||
msgstr ""
|
||||
|
||||
#: src/models/actionsmodel.cpp:385
|
||||
#: src/models/actionsmodel.cpp:386
|
||||
#, kde-format
|
||||
msgctxt "<username> is no longer ignored."
|
||||
msgid "%1 is no longer ignored."
|
||||
msgstr ""
|
||||
|
||||
#: src/models/actionsmodel.cpp:391
|
||||
#: src/models/actionsmodel.cpp:392
|
||||
msgid "Unignores the given user"
|
||||
msgstr ""
|
||||
|
||||
#: src/models/actionsmodel.cpp:410
|
||||
#: src/models/actionsmodel.cpp:411
|
||||
msgid "<reaction text>"
|
||||
msgstr ""
|
||||
|
||||
#: src/models/actionsmodel.cpp:411
|
||||
#: src/models/actionsmodel.cpp:412
|
||||
msgid "React to the message with the given text"
|
||||
msgstr ""
|
||||
|
||||
#: src/models/actionsmodel.cpp:426
|
||||
#: src/models/actionsmodel.cpp:427
|
||||
#, kde-format
|
||||
msgctxt "<user> is already banned from this room."
|
||||
msgid "%1 is already banned from this room."
|
||||
msgstr ""
|
||||
|
||||
#: src/models/actionsmodel.cpp:434
|
||||
#: src/models/actionsmodel.cpp:435
|
||||
#, kde-format
|
||||
msgid "You are not allowed to ban users from this room."
|
||||
msgstr ""
|
||||
|
||||
#: src/models/actionsmodel.cpp:440
|
||||
#: src/models/actionsmodel.cpp:441
|
||||
#, kde-format
|
||||
msgctxt "You are not allowed to ban <username> from this room."
|
||||
msgid "You are not allowed to ban %1 from this room."
|
||||
msgstr ""
|
||||
|
||||
#: src/models/actionsmodel.cpp:444
|
||||
#: src/models/actionsmodel.cpp:445
|
||||
#, kde-format
|
||||
msgctxt "<username> was banned from this room."
|
||||
msgid "%1 was banned from this room."
|
||||
msgstr ""
|
||||
|
||||
#: src/models/actionsmodel.cpp:449 src/models/actionsmodel.cpp:526
|
||||
#: src/models/actionsmodel.cpp:450 src/models/actionsmodel.cpp:527
|
||||
msgid "<user id> [<reason>]"
|
||||
msgstr ""
|
||||
|
||||
#: src/models/actionsmodel.cpp:450
|
||||
#: src/models/actionsmodel.cpp:451
|
||||
msgid "Bans the given user"
|
||||
msgstr ""
|
||||
|
||||
#: src/models/actionsmodel.cpp:467
|
||||
#: src/models/actionsmodel.cpp:468
|
||||
#, kde-format
|
||||
msgid "You are not allowed to unban users from this room."
|
||||
msgstr ""
|
||||
|
||||
#: src/models/actionsmodel.cpp:472
|
||||
#: src/models/actionsmodel.cpp:473
|
||||
#, kde-format
|
||||
msgctxt "<user> is not banned from this room."
|
||||
msgid "%1 is not banned from this room."
|
||||
msgstr ""
|
||||
|
||||
#: src/models/actionsmodel.cpp:476
|
||||
#: src/models/actionsmodel.cpp:477
|
||||
#, kde-format
|
||||
msgctxt "<username> was unbanned from this room."
|
||||
msgid "%1 was unbanned from this room."
|
||||
msgstr ""
|
||||
|
||||
#: src/models/actionsmodel.cpp:483
|
||||
#: src/models/actionsmodel.cpp:484
|
||||
msgid "Removes the ban of the given user"
|
||||
msgstr ""
|
||||
|
||||
#: src/models/actionsmodel.cpp:498
|
||||
#: src/models/actionsmodel.cpp:499
|
||||
#, kde-format
|
||||
msgid "You cannot kick yourself from the room."
|
||||
msgstr ""
|
||||
|
||||
#: src/models/actionsmodel.cpp:502
|
||||
#: src/models/actionsmodel.cpp:503
|
||||
#, kde-format
|
||||
msgctxt "<username> is not in this room"
|
||||
msgid "%1 is not in this room."
|
||||
msgstr ""
|
||||
|
||||
#: src/models/actionsmodel.cpp:511
|
||||
#: src/models/actionsmodel.cpp:512
|
||||
#, kde-format
|
||||
msgid "You are not allowed to kick users from this room."
|
||||
msgstr ""
|
||||
|
||||
#: src/models/actionsmodel.cpp:517
|
||||
#: src/models/actionsmodel.cpp:518
|
||||
#, kde-format
|
||||
msgctxt "You are not allowed to kick <username> from this room"
|
||||
msgid "You are not allowed to kick %1 from this room."
|
||||
msgstr ""
|
||||
|
||||
#: src/models/actionsmodel.cpp:521
|
||||
#: src/models/actionsmodel.cpp:522
|
||||
#, kde-format
|
||||
msgctxt "<username> was kicked from this room."
|
||||
msgid "%1 was kicked from this room."
|
||||
msgstr ""
|
||||
|
||||
#: src/models/actionsmodel.cpp:527
|
||||
#: src/models/actionsmodel.cpp:528
|
||||
msgid "Removes the user from the room"
|
||||
msgstr ""
|
||||
|
||||
@@ -1329,39 +1336,39 @@ msgctxt "As in 'The user's own emojis"
|
||||
msgid "Own Emojis"
|
||||
msgstr ""
|
||||
|
||||
#: src/models/messagefiltermodel.cpp:142
|
||||
#: src/models/messagefiltermodel.cpp:153
|
||||
#, kde-format
|
||||
msgctxt "%1: What's being done; %2: How often it is done."
|
||||
msgid " %1"
|
||||
msgid_plural " %1 %2 times"
|
||||
msgstr[0] ""
|
||||
|
||||
#: src/models/messagefiltermodel.cpp:146
|
||||
#: src/models/messagefiltermodel.cpp:157
|
||||
#, kde-format
|
||||
msgctxt "n users"
|
||||
msgid " %1 user "
|
||||
msgid_plural " %1 users "
|
||||
msgstr[0] ""
|
||||
|
||||
#: src/models/messagefiltermodel.cpp:155
|
||||
#: src/models/messagefiltermodel.cpp:166
|
||||
#, kde-format
|
||||
msgctxt "[action 1], [action 2 and/or action 3]"
|
||||
msgid ", "
|
||||
msgstr ""
|
||||
|
||||
#: src/models/messagefiltermodel.cpp:159
|
||||
#: src/models/messagefiltermodel.cpp:170
|
||||
#, kde-format
|
||||
msgctxt "[action 1, action 2] or [action 3]"
|
||||
msgid " or "
|
||||
msgstr ""
|
||||
|
||||
#: src/models/messagefiltermodel.cpp:159
|
||||
#: src/models/messagefiltermodel.cpp:170
|
||||
#, kde-format
|
||||
msgctxt "[action 1, action 2] and [action 3]"
|
||||
msgid " and "
|
||||
msgstr ""
|
||||
|
||||
#: src/models/messagefiltermodel.cpp:165
|
||||
#: src/models/messagefiltermodel.cpp:176
|
||||
#, kde-format
|
||||
msgctxt ""
|
||||
"userText (%1) is either a Matrix username if a single user sent all the "
|
||||
@@ -1491,7 +1498,7 @@ msgstr ""
|
||||
msgid "Encrypted Message"
|
||||
msgstr ""
|
||||
|
||||
#: src/notificationsmanager.cpp:204 src/qml/Main.qml:270
|
||||
#: src/notificationsmanager.cpp:204 src/qml/Main.qml:274
|
||||
#, kde-format
|
||||
msgid "%1: %2"
|
||||
msgstr ""
|
||||
@@ -1550,13 +1557,12 @@ msgstr ""
|
||||
msgid "Open NeoChat"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/AccountMenu.qml:22 src/qml/UserInfo.qml:65
|
||||
#: src/qml/AccountMenu.qml:22 src/qml/UserInfo.qml:46
|
||||
#, kde-format
|
||||
msgid "Edit this account"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/AccountMenu.qml:27 src/qml/UserInfo.qml:59
|
||||
#: src/settings/AccountsPage.qml:34
|
||||
#: src/qml/AccountMenu.qml:27 src/settings/AccountsPage.qml:34
|
||||
#, kde-format
|
||||
msgid "Account editor"
|
||||
msgstr ""
|
||||
@@ -1567,7 +1573,7 @@ msgid "Notification settings"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/AccountMenu.qml:37 src/qml/AccountMenu.qml:49
|
||||
#: src/qml/GlobalMenu.qml:35 src/qml/Main.qml:400 src/qml/UserInfo.qml:116
|
||||
#: src/qml/GlobalMenu.qml:35 src/qml/Main.qml:404 src/qml/UserInfo.qml:103
|
||||
#, kde-format
|
||||
msgid "Configure"
|
||||
msgstr ""
|
||||
@@ -1902,8 +1908,8 @@ msgstr ""
|
||||
|
||||
#: src/qml/CreateRoomDialog.qml:30 src/qml/ExploreComponent.qml:64
|
||||
#: src/qml/ExploreComponent.qml:66 src/qml/ExploreComponentMobile.qml:162
|
||||
#: src/qml/ExploreComponentMobile.qml:164 src/qml/SpaceDrawer.qml:281
|
||||
#: src/qml/SpaceDrawer.qml:283
|
||||
#: src/qml/ExploreComponentMobile.qml:164 src/qml/SpaceDrawer.qml:294
|
||||
#: src/qml/SpaceDrawer.qml:296
|
||||
#, kde-format
|
||||
msgctxt "@title"
|
||||
msgid "Create a Space"
|
||||
@@ -1974,7 +1980,7 @@ msgstr ""
|
||||
|
||||
#: src/qml/CreateRoomDialog.qml:117 src/qml/CreateRoomDialog.qml:200
|
||||
#: src/qml/ExploreComponent.qml:29 src/qml/ExploreComponentMobile.qml:58
|
||||
#: src/qml/GlobalMenu.qml:74 src/qml/RoomListPage.qml:220
|
||||
#: src/qml/GlobalMenu.qml:74 src/qml/RoomListPage.qml:210
|
||||
#: src/qml/SelectParentDialog.qml:142
|
||||
#, kde-format
|
||||
msgctxt "@title"
|
||||
@@ -2142,21 +2148,21 @@ msgid "They don't match"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/ExploreComponent.qml:23 src/qml/ExploreComponentMobile.qml:52
|
||||
#: src/qml/RoomListPage.qml:214
|
||||
#: src/qml/RoomListPage.qml:204
|
||||
#, kde-format
|
||||
msgid "Explore rooms"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/ExploreComponent.qml:37 src/qml/ExploreComponentMobile.qml:67
|
||||
#: src/qml/GlobalMenu.qml:52 src/qml/GlobalMenu.qml:61
|
||||
#: src/qml/RoomListPage.qml:182 src/qml/RoomListPage.qml:231
|
||||
#: src/qml/RoomListPage.qml:172 src/qml/RoomListPage.qml:221
|
||||
#, kde-format
|
||||
msgid "Find your friends"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/ExploreComponent.qml:42 src/qml/ExploreComponentMobile.qml:73
|
||||
#: src/qml/GlobalMenu.qml:56 src/qml/RoomListPage.qml:190
|
||||
#: src/qml/RoomListPage.qml:235
|
||||
#: src/qml/GlobalMenu.qml:56 src/qml/RoomListPage.qml:180
|
||||
#: src/qml/RoomListPage.qml:225
|
||||
#, kde-format
|
||||
msgctxt "@title"
|
||||
msgid "Find your friends"
|
||||
@@ -2183,11 +2189,34 @@ msgctxt "@title"
|
||||
msgid "Scan a QR Code"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/ExploreComponent.qml:103 src/qml/ExploreComponent.qml:167
|
||||
#: src/qml/ExploreComponent.qml:93
|
||||
#, kde-format
|
||||
msgctxt "@title"
|
||||
msgid "Rooms"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/ExploreComponent.qml:105
|
||||
#, kde-format
|
||||
msgctxt "@action"
|
||||
msgid "Search Room"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/ExploreComponent.qml:118
|
||||
#, kde-format
|
||||
msgctxt "@action:button"
|
||||
msgid "Show Menu"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/ExploreComponent.qml:182
|
||||
#, kde-format
|
||||
msgid "Create rooms and chats"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/ExploreComponentMobile.qml:36
|
||||
#, kde-format
|
||||
msgid "Search"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/ExploreComponentMobile.qml:79
|
||||
#, kde-format
|
||||
msgid "Create New"
|
||||
@@ -2543,46 +2572,58 @@ msgstr ""
|
||||
msgid "There are no locations shared in this room."
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/Main.qml:304
|
||||
#: src/qml/Main.qml:163
|
||||
#, kde-format
|
||||
msgctxt "@action:button"
|
||||
msgid "Show Room Information"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/Main.qml:166
|
||||
#, kde-format
|
||||
msgctxt "@action:button"
|
||||
msgid "Close Room Information Drawer"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/Main.qml:308
|
||||
#, kde-format
|
||||
msgctxt "@title:window"
|
||||
msgid "Session Verification"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/Main.qml:321
|
||||
#: src/qml/Main.qml:325
|
||||
#, kde-format
|
||||
msgid "User consent"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/Main.qml:326
|
||||
#: src/qml/Main.qml:330
|
||||
#, kde-format
|
||||
msgid ""
|
||||
"Your homeserver requires you to agree to its terms and conditions before "
|
||||
"being able to use it. Please click the button below to read them."
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/Main.qml:331
|
||||
#: src/qml/Main.qml:335
|
||||
#, kde-format
|
||||
msgid "Open"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/Main.qml:358
|
||||
#: src/qml/Main.qml:362
|
||||
#, kde-format
|
||||
msgid "Start a chat"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/Main.qml:360
|
||||
#: src/qml/Main.qml:364
|
||||
#, kde-format
|
||||
msgid "Do you want to start a chat with %1?"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/Main.qml:386
|
||||
#: src/qml/Main.qml:390
|
||||
#, kde-format
|
||||
msgctxt "@info screenreader"
|
||||
msgid "The currently selected link"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/Main.qml:418 src/qml/ShareAction.qml:68
|
||||
#: src/qml/Main.qml:422 src/qml/ShareAction.qml:68
|
||||
#, kde-format
|
||||
msgctxt "@title"
|
||||
msgid "Share"
|
||||
@@ -2665,7 +2706,7 @@ msgctxt "@action As in 'edit the state of this room'"
|
||||
msgid "Edit state"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/NotificationsView.qml:19 src/qml/SpaceDrawer.qml:66
|
||||
#: src/qml/NotificationsView.qml:19 src/qml/SpaceDrawer.qml:68
|
||||
#, kde-format
|
||||
msgctxt "@title"
|
||||
msgid "Notifications"
|
||||
@@ -2820,12 +2861,12 @@ msgstr ""
|
||||
msgid "Reason for reporting this message"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/RoomDelegate.qml:101
|
||||
#: src/qml/RoomDelegate.qml:103
|
||||
#, kde-format
|
||||
msgid "Muted room"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/RoomDelegate.qml:134
|
||||
#: src/qml/RoomDelegate.qml:136
|
||||
#, kde-format
|
||||
msgid "Configure room"
|
||||
msgstr ""
|
||||
@@ -2926,33 +2967,33 @@ msgstr[0] ""
|
||||
msgid "No member count"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/RoomListPage.qml:205
|
||||
#: src/qml/RoomListPage.qml:195
|
||||
#, kde-format
|
||||
msgid "No friends found"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/RoomListPage.qml:205
|
||||
#: src/qml/RoomListPage.qml:195
|
||||
#, kde-format
|
||||
msgid "No rooms found"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/RoomListPage.qml:207
|
||||
#: src/qml/RoomListPage.qml:197
|
||||
#, kde-format
|
||||
msgid ""
|
||||
"You haven't added any of your friends yet, click below to search for them."
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/RoomListPage.qml:207
|
||||
#: src/qml/RoomListPage.qml:197
|
||||
#, kde-format
|
||||
msgid "Join some rooms to get started"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/RoomListPage.qml:214
|
||||
#: src/qml/RoomListPage.qml:204
|
||||
#, kde-format
|
||||
msgid "Search in room directory"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/RoomListPage.qml:231
|
||||
#: src/qml/RoomListPage.qml:221
|
||||
#, kde-format
|
||||
msgid "Search in friend directory"
|
||||
msgstr ""
|
||||
@@ -3128,24 +3169,24 @@ msgstr ""
|
||||
msgid "View notifications"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/SpaceDrawer.qml:84
|
||||
#: src/qml/SpaceDrawer.qml:86
|
||||
#, kde-format
|
||||
msgid "Home"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/SpaceDrawer.qml:130
|
||||
#: src/qml/SpaceDrawer.qml:134
|
||||
#, kde-format
|
||||
msgctxt "@button View all one-on-one chats with your friends."
|
||||
msgid "Friends"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/SpaceDrawer.qml:232
|
||||
#: src/qml/SpaceDrawer.qml:242
|
||||
#, kde-format
|
||||
msgctxt "Join <name of a space>"
|
||||
msgid "Join %1"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/SpaceDrawer.qml:274
|
||||
#: src/qml/SpaceDrawer.qml:284
|
||||
#, kde-format
|
||||
msgid "Create a space"
|
||||
msgstr ""
|
||||
@@ -3418,12 +3459,18 @@ msgstr ""
|
||||
msgid "Copy link"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/UserInfo.qml:104
|
||||
#: src/qml/UserInfo.qml:54
|
||||
#, kde-format
|
||||
msgctxt "@title:window"
|
||||
msgid "Account editor"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/UserInfo.qml:91
|
||||
#, kde-format
|
||||
msgid "Switch User"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/UserInfo.qml:111
|
||||
#: src/qml/UserInfo.qml:98
|
||||
#, kde-format
|
||||
msgid "Open Settings"
|
||||
msgstr ""
|
||||
@@ -3835,47 +3882,42 @@ msgstr ""
|
||||
msgid "Use compact room list"
|
||||
msgstr ""
|
||||
|
||||
#: src/settings/AppearanceSettingsPage.qml:232
|
||||
#, kde-format
|
||||
msgid "Show fancy effects in chat"
|
||||
msgstr ""
|
||||
|
||||
#: src/settings/AppearanceSettingsPage.qml:249
|
||||
#: src/settings/AppearanceSettingsPage.qml:233
|
||||
#, kde-format
|
||||
msgid "Use transparent chat page"
|
||||
msgstr ""
|
||||
|
||||
#: src/settings/AppearanceSettingsPage.qml:270
|
||||
#: src/settings/AppearanceSettingsPage.qml:254
|
||||
#, kde-format
|
||||
msgid "Transparency"
|
||||
msgstr ""
|
||||
|
||||
#: src/settings/AppearanceSettingsPage.qml:289
|
||||
#: src/settings/AppearanceSettingsPage.qml:273
|
||||
#, kde-format
|
||||
msgid "Only enabled if the transparent chat page is enabled."
|
||||
msgstr ""
|
||||
|
||||
#: src/settings/AppearanceSettingsPage.qml:306
|
||||
#: src/settings/AppearanceSettingsPage.qml:290
|
||||
#, kde-format
|
||||
msgid "Show your messages on the right"
|
||||
msgstr ""
|
||||
|
||||
#: src/settings/AppearanceSettingsPage.qml:322
|
||||
#: src/settings/AppearanceSettingsPage.qml:306
|
||||
#, kde-format
|
||||
msgid "Show links preview in the chat messages"
|
||||
msgstr ""
|
||||
|
||||
#: src/settings/AppearanceSettingsPage.qml:332
|
||||
#: src/settings/AppearanceSettingsPage.qml:316
|
||||
#, kde-format
|
||||
msgid "Show Avatar"
|
||||
msgstr ""
|
||||
|
||||
#: src/settings/AppearanceSettingsPage.qml:336
|
||||
#: src/settings/AppearanceSettingsPage.qml:320
|
||||
#, kde-format
|
||||
msgid "In chat"
|
||||
msgstr ""
|
||||
|
||||
#: src/settings/AppearanceSettingsPage.qml:346
|
||||
#: src/settings/AppearanceSettingsPage.qml:330
|
||||
#, kde-format
|
||||
msgid "In sidebar"
|
||||
msgstr ""
|
||||
|
||||
373
po/ka/neochat.po
373
po/ka/neochat.po
File diff suppressed because it is too large
Load Diff
372
po/ko/neochat.po
372
po/ko/neochat.po
File diff suppressed because it is too large
Load Diff
362
po/lt/neochat.po
362
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-04-21 00:38+0000\n"
|
||||
"POT-Creation-Date: 2024-04-24 02:56+0000\n"
|
||||
"PO-Revision-Date: 2023-02-25 01:00+0000\n"
|
||||
"Last-Translator: Automatically generated\n"
|
||||
"Language-Team: none\n"
|
||||
@@ -18,7 +18,7 @@ msgstr ""
|
||||
"Plural-Forms: nplurals=4; plural=(n==1 ? 0 : n%10>=2 && (n%100<10 || n"
|
||||
"%100>=20) ? 1 : n%10==0 || (n%100>10 && n%100<20) ? 2 : 3);\n"
|
||||
|
||||
#: src/controller.cpp:134
|
||||
#: src/controller.cpp:133
|
||||
#, kde-format
|
||||
msgctxt ""
|
||||
"The reason for using push notifications, as in: '[Push notifications are "
|
||||
@@ -26,47 +26,47 @@ msgctxt ""
|
||||
msgid "Receiving notifications for new messages"
|
||||
msgstr ""
|
||||
|
||||
#: src/controller.cpp:213
|
||||
#: src/controller.cpp:212
|
||||
#, kde-format
|
||||
msgid "Network Error: %1"
|
||||
msgstr ""
|
||||
|
||||
#: src/controller.cpp:235
|
||||
#: src/controller.cpp:234
|
||||
#, kde-format
|
||||
msgid "Access token wasn't found"
|
||||
msgstr ""
|
||||
|
||||
#: src/controller.cpp:235
|
||||
#: src/controller.cpp:234
|
||||
#, kde-format
|
||||
msgid "Maybe it was deleted?"
|
||||
msgstr ""
|
||||
|
||||
#: src/controller.cpp:239
|
||||
#: src/controller.cpp:238
|
||||
#, kde-format
|
||||
msgid "Access to keychain was denied."
|
||||
msgstr ""
|
||||
|
||||
#: src/controller.cpp:239
|
||||
#: src/controller.cpp:238
|
||||
#, kde-format
|
||||
msgid "Please allow NeoChat to read the access token"
|
||||
msgstr ""
|
||||
|
||||
#: src/controller.cpp:242
|
||||
#: src/controller.cpp:241
|
||||
#, kde-format
|
||||
msgid "No keychain available."
|
||||
msgstr ""
|
||||
|
||||
#: src/controller.cpp:242
|
||||
#: src/controller.cpp:241
|
||||
#, kde-format
|
||||
msgid "Please install a keychain, e.g. KWallet or GNOME keyring on Linux"
|
||||
msgstr ""
|
||||
|
||||
#: src/controller.cpp:245
|
||||
#: src/controller.cpp:244
|
||||
#, kde-format
|
||||
msgid "Unable to read access token"
|
||||
msgstr ""
|
||||
|
||||
#: src/controller.cpp:341
|
||||
#: src/controller.cpp:340
|
||||
#, kde-format
|
||||
msgid "Receiving push notifications"
|
||||
msgstr ""
|
||||
@@ -83,19 +83,31 @@ msgctxt "@title:window"
|
||||
msgid "Event Source"
|
||||
msgstr ""
|
||||
|
||||
#: src/devtools/DebugOptions.qml:20
|
||||
#: src/devtools/DebugOptions.qml:19
|
||||
#, kde-format
|
||||
msgctxt "@option:check"
|
||||
msgid "Show hidden events in the timeline"
|
||||
msgstr ""
|
||||
|
||||
#: src/devtools/DebugOptions.qml:26
|
||||
#, kde-format
|
||||
msgctxt "@option:check Enable the matrix 'threads' feature"
|
||||
msgid "Always allow device verification"
|
||||
msgstr ""
|
||||
|
||||
#: src/devtools/DebugOptions.qml:21
|
||||
#: src/devtools/DebugOptions.qml:27
|
||||
#, kde-format
|
||||
msgid ""
|
||||
"Allow the user to start a verification session with devices that were "
|
||||
"already verified"
|
||||
msgstr ""
|
||||
|
||||
#: src/devtools/DebugOptions.qml:33
|
||||
#, kde-format
|
||||
msgctxt "@option:check"
|
||||
msgid "Show focus in window header"
|
||||
msgstr ""
|
||||
|
||||
#: src/devtools/DevtoolsPage.qml:18 src/settings/NeoChatGeneralPage.qml:240
|
||||
#, kde-format
|
||||
msgid "Developer Tools"
|
||||
@@ -142,28 +154,28 @@ msgstr ""
|
||||
msgid "Room"
|
||||
msgstr ""
|
||||
|
||||
#: src/devtools/RoomData.qml:35
|
||||
#: src/devtools/RoomData.qml:36
|
||||
#, kde-format
|
||||
msgid "Room Id: %1"
|
||||
msgstr ""
|
||||
|
||||
#: src/devtools/RoomData.qml:39
|
||||
#: src/devtools/RoomData.qml:40
|
||||
#, kde-format
|
||||
msgid "Room Account Data"
|
||||
msgstr ""
|
||||
|
||||
#: src/devtools/RoomData.qml:52 src/devtools/RoomData.qml:98
|
||||
#: src/devtools/RoomData.qml:53 src/devtools/RoomData.qml:99
|
||||
#: src/qml/MessageSourceSheet.qml:42
|
||||
#, kde-format
|
||||
msgid "Event Source"
|
||||
msgstr ""
|
||||
|
||||
#: src/devtools/RoomData.qml:60
|
||||
#: src/devtools/RoomData.qml:61
|
||||
#, kde-format
|
||||
msgid "Room State"
|
||||
msgstr ""
|
||||
|
||||
#: src/devtools/RoomData.qml:74
|
||||
#: src/devtools/RoomData.qml:75
|
||||
#, kde-format
|
||||
msgctxt "'Event' being some JSON data, not something physically happening."
|
||||
msgid "%1 event of this type"
|
||||
@@ -173,7 +185,7 @@ msgstr[1] ""
|
||||
msgstr[2] ""
|
||||
msgstr[3] ""
|
||||
|
||||
#: src/devtools/RoomData.qml:83
|
||||
#: src/devtools/RoomData.qml:84
|
||||
#, kde-format
|
||||
msgctxt "'Event' being some JSON data, not something physically happening."
|
||||
msgid "Event Information"
|
||||
@@ -207,49 +219,44 @@ msgctxt ""
|
||||
msgid "State Keys"
|
||||
msgstr ""
|
||||
|
||||
#: src/enums/neochatroomtype.h:60
|
||||
#: src/enums/neochatroomtype.h:59
|
||||
#, kde-format
|
||||
msgid "Invited"
|
||||
msgstr ""
|
||||
|
||||
#: src/enums/neochatroomtype.h:62
|
||||
#: src/enums/neochatroomtype.h:61
|
||||
#, kde-format
|
||||
msgid "Favorite"
|
||||
msgstr ""
|
||||
|
||||
#: src/enums/neochatroomtype.h:64 src/qml/UserSearchPage.qml:82
|
||||
#: src/enums/neochatroomtype.h:63 src/qml/UserSearchPage.qml:82
|
||||
#, kde-format
|
||||
msgid "Friends"
|
||||
msgstr ""
|
||||
|
||||
#: src/enums/neochatroomtype.h:66
|
||||
#: src/enums/neochatroomtype.h:65
|
||||
#, kde-format
|
||||
msgid "Normal"
|
||||
msgstr ""
|
||||
|
||||
#: src/enums/neochatroomtype.h:68
|
||||
#: src/enums/neochatroomtype.h:67
|
||||
#, kde-format
|
||||
msgid "Low priority"
|
||||
msgstr ""
|
||||
|
||||
#: src/enums/neochatroomtype.h:70
|
||||
#: src/enums/neochatroomtype.h:69
|
||||
#, kde-format
|
||||
msgid "Spaces"
|
||||
msgstr ""
|
||||
|
||||
#: src/enums/neochatroomtype.h:72 src/qml/ExploreComponentMobile.qml:36
|
||||
#, kde-format
|
||||
msgid "Search"
|
||||
msgstr ""
|
||||
|
||||
#: src/eventhandler.cpp:303 src/eventhandler.cpp:507
|
||||
#: src/models/messagecontentmodel.cpp:140 src/models/messageeventmodel.cpp:465
|
||||
#: src/models/messagecontentmodel.cpp:140 src/models/messageeventmodel.cpp:436
|
||||
#, kde-format
|
||||
msgid "<i>[This message was deleted]</i>"
|
||||
msgstr ""
|
||||
|
||||
#: src/eventhandler.cpp:303 src/models/messagecontentmodel.cpp:141
|
||||
#: src/models/messageeventmodel.cpp:466
|
||||
#: src/models/messageeventmodel.cpp:437
|
||||
#, kde-format
|
||||
msgid "<i>[This message was deleted: %1]</i>"
|
||||
msgstr ""
|
||||
@@ -624,12 +631,12 @@ msgctxt "The location being downloaded to"
|
||||
msgid "Destination"
|
||||
msgstr ""
|
||||
|
||||
#: src/login.cpp:85 src/login.cpp:100
|
||||
#: src/login.cpp:84 src/login.cpp:99
|
||||
#, kde-format
|
||||
msgid "Network Error"
|
||||
msgstr ""
|
||||
|
||||
#: src/login.cpp:93
|
||||
#: src/login.cpp:92
|
||||
#, kde-format
|
||||
msgid "Login Failed: %1"
|
||||
msgstr ""
|
||||
@@ -949,315 +956,315 @@ msgstr ""
|
||||
msgid "Share a URL to Matrix"
|
||||
msgstr ""
|
||||
|
||||
#: src/matriximageprovider.cpp:40
|
||||
#: src/matriximageprovider.cpp:38
|
||||
#, kde-format
|
||||
msgid "Media id '%1' doesn't follow server/mediaId pattern"
|
||||
msgstr ""
|
||||
|
||||
#: src/matriximageprovider.cpp:98
|
||||
#: src/matriximageprovider.cpp:96
|
||||
#, kde-format
|
||||
msgid "Image request has been cancelled"
|
||||
msgstr ""
|
||||
|
||||
#: src/models/actionsmodel.cpp:24
|
||||
#: src/models/actionsmodel.cpp:25
|
||||
#, kde-format
|
||||
msgid "Leaving this room."
|
||||
msgstr ""
|
||||
|
||||
#: src/models/actionsmodel.cpp:31 src/models/actionsmodel.cpp:228
|
||||
#: src/models/actionsmodel.cpp:254 src/models/actionsmodel.cpp:284
|
||||
#: src/models/actionsmodel.cpp:32 src/models/actionsmodel.cpp:229
|
||||
#: src/models/actionsmodel.cpp:255 src/models/actionsmodel.cpp:285
|
||||
#, kde-format
|
||||
msgctxt "'<text>' does not look like a room id or alias."
|
||||
msgid "'%1' does not look like a room id or alias."
|
||||
msgstr ""
|
||||
|
||||
#: src/models/actionsmodel.cpp:39
|
||||
#: src/models/actionsmodel.cpp:40
|
||||
#, kde-format
|
||||
msgctxt "Leaving room <roomname>."
|
||||
msgid "Leaving room %1."
|
||||
msgstr ""
|
||||
|
||||
#: src/models/actionsmodel.cpp:42
|
||||
#: src/models/actionsmodel.cpp:43
|
||||
#, kde-format
|
||||
msgctxt "Room <roomname> not found"
|
||||
msgid "Room %1 not found."
|
||||
msgstr ""
|
||||
|
||||
#: src/models/actionsmodel.cpp:50 src/models/actionsmodel.cpp:320
|
||||
#: src/models/actionsmodel.cpp:51 src/models/actionsmodel.cpp:321
|
||||
#, kde-format
|
||||
msgid "No new nickname provided, no changes will happen."
|
||||
msgstr ""
|
||||
|
||||
#: src/models/actionsmodel.cpp:65 src/models/actionsmodel.cpp:75
|
||||
#: src/models/actionsmodel.cpp:85 src/models/actionsmodel.cpp:95
|
||||
#: src/models/actionsmodel.cpp:115 src/models/actionsmodel.cpp:135
|
||||
#: src/models/actionsmodel.cpp:146 src/models/actionsmodel.cpp:162
|
||||
#: src/models/actionsmodel.cpp:172 src/models/actionsmodel.cpp:182
|
||||
#: src/models/actionsmodel.cpp:66 src/models/actionsmodel.cpp:76
|
||||
#: src/models/actionsmodel.cpp:86 src/models/actionsmodel.cpp:96
|
||||
#: src/models/actionsmodel.cpp:116 src/models/actionsmodel.cpp:136
|
||||
#: src/models/actionsmodel.cpp:147 src/models/actionsmodel.cpp:163
|
||||
#: src/models/actionsmodel.cpp:173 src/models/actionsmodel.cpp:183
|
||||
msgid "<message>"
|
||||
msgstr ""
|
||||
|
||||
#: src/models/actionsmodel.cpp:66
|
||||
#: src/models/actionsmodel.cpp:67
|
||||
msgid "Prepends ¯\\_(ツ)_/¯ to a plain-text message"
|
||||
msgstr ""
|
||||
|
||||
#: src/models/actionsmodel.cpp:76
|
||||
#: src/models/actionsmodel.cpp:77
|
||||
msgid "Prepends ( ͡° ͜ʖ ͡°) to a plain-text message"
|
||||
msgstr ""
|
||||
|
||||
#: src/models/actionsmodel.cpp:86
|
||||
#: src/models/actionsmodel.cpp:87
|
||||
msgid "Prepends (╯°□°)╯︵ ┻━┻ to a plain-text message"
|
||||
msgstr ""
|
||||
|
||||
#: src/models/actionsmodel.cpp:96
|
||||
#: src/models/actionsmodel.cpp:97
|
||||
msgid "Prepends ┬──┬ ノ( ゜-゜ノ) to a plain-text message"
|
||||
msgstr ""
|
||||
|
||||
#: src/models/actionsmodel.cpp:116
|
||||
#: src/models/actionsmodel.cpp:117
|
||||
msgid "Sends the given message colored as a rainbow"
|
||||
msgstr ""
|
||||
|
||||
#: src/models/actionsmodel.cpp:136
|
||||
#: src/models/actionsmodel.cpp:137
|
||||
msgid "Sends the given emote colored as a rainbow"
|
||||
msgstr ""
|
||||
|
||||
#: src/models/actionsmodel.cpp:147
|
||||
#: src/models/actionsmodel.cpp:148
|
||||
msgid "Sends the given message as plain text"
|
||||
msgstr ""
|
||||
|
||||
#: src/models/actionsmodel.cpp:163
|
||||
#: src/models/actionsmodel.cpp:164
|
||||
msgid "Sends the given message as a spoiler"
|
||||
msgstr ""
|
||||
|
||||
#: src/models/actionsmodel.cpp:173
|
||||
#: src/models/actionsmodel.cpp:174
|
||||
msgid "Sends the given emote"
|
||||
msgstr ""
|
||||
|
||||
#: src/models/actionsmodel.cpp:183
|
||||
#: src/models/actionsmodel.cpp:184
|
||||
msgid "Sends the given message as a notice"
|
||||
msgstr ""
|
||||
|
||||
#: src/models/actionsmodel.cpp:192 src/models/actionsmodel.cpp:354
|
||||
#: src/models/actionsmodel.cpp:377 src/models/actionsmodel.cpp:421
|
||||
#: src/models/actionsmodel.cpp:459 src/models/actionsmodel.cpp:494
|
||||
#: src/models/actionsmodel.cpp:193 src/models/actionsmodel.cpp:355
|
||||
#: src/models/actionsmodel.cpp:378 src/models/actionsmodel.cpp:422
|
||||
#: src/models/actionsmodel.cpp:460 src/models/actionsmodel.cpp:495
|
||||
#, kde-format
|
||||
msgctxt "'<text>' does not look like a matrix id."
|
||||
msgid "'%1' does not look like a matrix id."
|
||||
msgstr ""
|
||||
|
||||
#: src/models/actionsmodel.cpp:197
|
||||
#: src/models/actionsmodel.cpp:198
|
||||
#, kde-format
|
||||
msgctxt "<user> is already invited to this room."
|
||||
msgid "%1 is already invited to this room."
|
||||
msgstr ""
|
||||
|
||||
#: src/models/actionsmodel.cpp:201
|
||||
#: src/models/actionsmodel.cpp:202
|
||||
#, kde-format
|
||||
msgctxt "<user> is banned from this room."
|
||||
msgid "%1 is banned from this room."
|
||||
msgstr ""
|
||||
|
||||
#: src/models/actionsmodel.cpp:205
|
||||
#: src/models/actionsmodel.cpp:206
|
||||
#, kde-format
|
||||
msgid "You are already in this room."
|
||||
msgstr ""
|
||||
|
||||
#: src/models/actionsmodel.cpp:209
|
||||
#: src/models/actionsmodel.cpp:210
|
||||
#, kde-format
|
||||
msgctxt "<user> is already in this room."
|
||||
msgid "%1 is already in this room."
|
||||
msgstr ""
|
||||
|
||||
#: src/models/actionsmodel.cpp:213
|
||||
#: src/models/actionsmodel.cpp:214
|
||||
#, kde-format
|
||||
msgctxt "<username> was invited into this room"
|
||||
msgid "%1 was invited into this room"
|
||||
msgstr ""
|
||||
|
||||
#: src/models/actionsmodel.cpp:218 src/models/actionsmodel.cpp:367
|
||||
#: src/models/actionsmodel.cpp:390 src/models/actionsmodel.cpp:482
|
||||
#: src/models/actionsmodel.cpp:219 src/models/actionsmodel.cpp:368
|
||||
#: src/models/actionsmodel.cpp:391 src/models/actionsmodel.cpp:483
|
||||
msgid "<user id>"
|
||||
msgstr ""
|
||||
|
||||
#: src/models/actionsmodel.cpp:219
|
||||
#: src/models/actionsmodel.cpp:220
|
||||
msgid "Invites the user to this room"
|
||||
msgstr ""
|
||||
|
||||
#: src/models/actionsmodel.cpp:236 src/models/actionsmodel.cpp:291
|
||||
#: src/models/actionsmodel.cpp:237 src/models/actionsmodel.cpp:292
|
||||
#, kde-format
|
||||
msgctxt "Joining room <roomname>."
|
||||
msgid "Joining room %1."
|
||||
msgstr ""
|
||||
|
||||
#: src/models/actionsmodel.cpp:242 src/models/actionsmodel.cpp:297
|
||||
#: src/models/actionsmodel.cpp:243 src/models/actionsmodel.cpp:298
|
||||
msgid "<room alias or id>"
|
||||
msgstr ""
|
||||
|
||||
#: src/models/actionsmodel.cpp:243 src/models/actionsmodel.cpp:298
|
||||
#: src/models/actionsmodel.cpp:244 src/models/actionsmodel.cpp:299
|
||||
msgid "Joins the given room"
|
||||
msgstr ""
|
||||
|
||||
#: src/models/actionsmodel.cpp:262
|
||||
#: src/models/actionsmodel.cpp:263
|
||||
#, kde-format
|
||||
msgctxt "Knocking room <roomname>."
|
||||
msgid "Knocking room %1."
|
||||
msgstr ""
|
||||
|
||||
#: src/models/actionsmodel.cpp:274
|
||||
#: src/models/actionsmodel.cpp:275
|
||||
msgid "<room alias or id> [<reason>]"
|
||||
msgstr ""
|
||||
|
||||
#: src/models/actionsmodel.cpp:275
|
||||
#: src/models/actionsmodel.cpp:276
|
||||
msgid "Requests to join the given room"
|
||||
msgstr ""
|
||||
|
||||
#: src/models/actionsmodel.cpp:288
|
||||
#: src/models/actionsmodel.cpp:289
|
||||
#, kde-format
|
||||
msgctxt "You are already in room <roomname>."
|
||||
msgid "You are already in room %1."
|
||||
msgstr ""
|
||||
|
||||
#: src/models/actionsmodel.cpp:305 src/models/actionsmodel.cpp:313
|
||||
#: src/models/actionsmodel.cpp:306 src/models/actionsmodel.cpp:314
|
||||
msgid "[<room alias or id>]"
|
||||
msgstr ""
|
||||
|
||||
#: src/models/actionsmodel.cpp:306 src/models/actionsmodel.cpp:314
|
||||
#: src/models/actionsmodel.cpp:307 src/models/actionsmodel.cpp:315
|
||||
msgid "Leaves the given room or this room, if there is none given"
|
||||
msgstr ""
|
||||
|
||||
#: src/models/actionsmodel.cpp:328 src/models/actionsmodel.cpp:336
|
||||
#: src/models/actionsmodel.cpp:344
|
||||
#: src/models/actionsmodel.cpp:329 src/models/actionsmodel.cpp:337
|
||||
#: src/models/actionsmodel.cpp:345
|
||||
msgid "<display name>"
|
||||
msgstr ""
|
||||
|
||||
#: src/models/actionsmodel.cpp:329
|
||||
#: src/models/actionsmodel.cpp:330
|
||||
msgid "Changes your global display name"
|
||||
msgstr ""
|
||||
|
||||
#: src/models/actionsmodel.cpp:337 src/models/actionsmodel.cpp:345
|
||||
#: src/models/actionsmodel.cpp:338 src/models/actionsmodel.cpp:346
|
||||
msgid "Changes your display name in this room"
|
||||
msgstr ""
|
||||
|
||||
#: src/models/actionsmodel.cpp:358
|
||||
#: src/models/actionsmodel.cpp:359
|
||||
#, kde-format
|
||||
msgctxt "<username> is already ignored."
|
||||
msgid "%1 is already ignored."
|
||||
msgstr ""
|
||||
|
||||
#: src/models/actionsmodel.cpp:362
|
||||
#: src/models/actionsmodel.cpp:363
|
||||
#, kde-format
|
||||
msgctxt "<username> is now ignored"
|
||||
msgid "%1 is now ignored."
|
||||
msgstr ""
|
||||
|
||||
#: src/models/actionsmodel.cpp:368
|
||||
#: src/models/actionsmodel.cpp:369
|
||||
msgid "Ignores the given user"
|
||||
msgstr ""
|
||||
|
||||
#: src/models/actionsmodel.cpp:381
|
||||
#: src/models/actionsmodel.cpp:382
|
||||
#, kde-format
|
||||
msgctxt "<username> is not ignored."
|
||||
msgid "%1 is not ignored."
|
||||
msgstr ""
|
||||
|
||||
#: src/models/actionsmodel.cpp:385
|
||||
#: src/models/actionsmodel.cpp:386
|
||||
#, kde-format
|
||||
msgctxt "<username> is no longer ignored."
|
||||
msgid "%1 is no longer ignored."
|
||||
msgstr ""
|
||||
|
||||
#: src/models/actionsmodel.cpp:391
|
||||
#: src/models/actionsmodel.cpp:392
|
||||
msgid "Unignores the given user"
|
||||
msgstr ""
|
||||
|
||||
#: src/models/actionsmodel.cpp:410
|
||||
#: src/models/actionsmodel.cpp:411
|
||||
msgid "<reaction text>"
|
||||
msgstr ""
|
||||
|
||||
#: src/models/actionsmodel.cpp:411
|
||||
#: src/models/actionsmodel.cpp:412
|
||||
msgid "React to the message with the given text"
|
||||
msgstr ""
|
||||
|
||||
#: src/models/actionsmodel.cpp:426
|
||||
#: src/models/actionsmodel.cpp:427
|
||||
#, kde-format
|
||||
msgctxt "<user> is already banned from this room."
|
||||
msgid "%1 is already banned from this room."
|
||||
msgstr ""
|
||||
|
||||
#: src/models/actionsmodel.cpp:434
|
||||
#: src/models/actionsmodel.cpp:435
|
||||
#, kde-format
|
||||
msgid "You are not allowed to ban users from this room."
|
||||
msgstr ""
|
||||
|
||||
#: src/models/actionsmodel.cpp:440
|
||||
#: src/models/actionsmodel.cpp:441
|
||||
#, kde-format
|
||||
msgctxt "You are not allowed to ban <username> from this room."
|
||||
msgid "You are not allowed to ban %1 from this room."
|
||||
msgstr ""
|
||||
|
||||
#: src/models/actionsmodel.cpp:444
|
||||
#: src/models/actionsmodel.cpp:445
|
||||
#, kde-format
|
||||
msgctxt "<username> was banned from this room."
|
||||
msgid "%1 was banned from this room."
|
||||
msgstr ""
|
||||
|
||||
#: src/models/actionsmodel.cpp:449 src/models/actionsmodel.cpp:526
|
||||
#: src/models/actionsmodel.cpp:450 src/models/actionsmodel.cpp:527
|
||||
msgid "<user id> [<reason>]"
|
||||
msgstr ""
|
||||
|
||||
#: src/models/actionsmodel.cpp:450
|
||||
#: src/models/actionsmodel.cpp:451
|
||||
msgid "Bans the given user"
|
||||
msgstr ""
|
||||
|
||||
#: src/models/actionsmodel.cpp:467
|
||||
#: src/models/actionsmodel.cpp:468
|
||||
#, kde-format
|
||||
msgid "You are not allowed to unban users from this room."
|
||||
msgstr ""
|
||||
|
||||
#: src/models/actionsmodel.cpp:472
|
||||
#: src/models/actionsmodel.cpp:473
|
||||
#, kde-format
|
||||
msgctxt "<user> is not banned from this room."
|
||||
msgid "%1 is not banned from this room."
|
||||
msgstr ""
|
||||
|
||||
#: src/models/actionsmodel.cpp:476
|
||||
#: src/models/actionsmodel.cpp:477
|
||||
#, kde-format
|
||||
msgctxt "<username> was unbanned from this room."
|
||||
msgid "%1 was unbanned from this room."
|
||||
msgstr ""
|
||||
|
||||
#: src/models/actionsmodel.cpp:483
|
||||
#: src/models/actionsmodel.cpp:484
|
||||
msgid "Removes the ban of the given user"
|
||||
msgstr ""
|
||||
|
||||
#: src/models/actionsmodel.cpp:498
|
||||
#: src/models/actionsmodel.cpp:499
|
||||
#, kde-format
|
||||
msgid "You cannot kick yourself from the room."
|
||||
msgstr ""
|
||||
|
||||
#: src/models/actionsmodel.cpp:502
|
||||
#: src/models/actionsmodel.cpp:503
|
||||
#, kde-format
|
||||
msgctxt "<username> is not in this room"
|
||||
msgid "%1 is not in this room."
|
||||
msgstr ""
|
||||
|
||||
#: src/models/actionsmodel.cpp:511
|
||||
#: src/models/actionsmodel.cpp:512
|
||||
#, kde-format
|
||||
msgid "You are not allowed to kick users from this room."
|
||||
msgstr ""
|
||||
|
||||
#: src/models/actionsmodel.cpp:517
|
||||
#: src/models/actionsmodel.cpp:518
|
||||
#, kde-format
|
||||
msgctxt "You are not allowed to kick <username> from this room"
|
||||
msgid "You are not allowed to kick %1 from this room."
|
||||
msgstr ""
|
||||
|
||||
#: src/models/actionsmodel.cpp:521
|
||||
#: src/models/actionsmodel.cpp:522
|
||||
#, kde-format
|
||||
msgctxt "<username> was kicked from this room."
|
||||
msgid "%1 was kicked from this room."
|
||||
msgstr ""
|
||||
|
||||
#: src/models/actionsmodel.cpp:527
|
||||
#: src/models/actionsmodel.cpp:528
|
||||
msgid "Removes the user from the room"
|
||||
msgstr ""
|
||||
|
||||
@@ -1339,7 +1346,7 @@ msgctxt "As in 'The user's own emojis"
|
||||
msgid "Own Emojis"
|
||||
msgstr ""
|
||||
|
||||
#: src/models/messagefiltermodel.cpp:142
|
||||
#: src/models/messagefiltermodel.cpp:153
|
||||
#, kde-format
|
||||
msgctxt "%1: What's being done; %2: How often it is done."
|
||||
msgid " %1"
|
||||
@@ -1349,7 +1356,7 @@ msgstr[1] ""
|
||||
msgstr[2] ""
|
||||
msgstr[3] ""
|
||||
|
||||
#: src/models/messagefiltermodel.cpp:146
|
||||
#: src/models/messagefiltermodel.cpp:157
|
||||
#, kde-format
|
||||
msgctxt "n users"
|
||||
msgid " %1 user "
|
||||
@@ -1358,25 +1365,25 @@ msgstr[0] ""
|
||||
msgstr[1] ""
|
||||
msgstr[2] ""
|
||||
|
||||
#: src/models/messagefiltermodel.cpp:155
|
||||
#: src/models/messagefiltermodel.cpp:166
|
||||
#, kde-format
|
||||
msgctxt "[action 1], [action 2 and/or action 3]"
|
||||
msgid ", "
|
||||
msgstr ""
|
||||
|
||||
#: src/models/messagefiltermodel.cpp:159
|
||||
#: src/models/messagefiltermodel.cpp:170
|
||||
#, kde-format
|
||||
msgctxt "[action 1, action 2] or [action 3]"
|
||||
msgid " or "
|
||||
msgstr ""
|
||||
|
||||
#: src/models/messagefiltermodel.cpp:159
|
||||
#: src/models/messagefiltermodel.cpp:170
|
||||
#, kde-format
|
||||
msgctxt "[action 1, action 2] and [action 3]"
|
||||
msgid " and "
|
||||
msgstr ""
|
||||
|
||||
#: src/models/messagefiltermodel.cpp:165
|
||||
#: src/models/messagefiltermodel.cpp:176
|
||||
#, kde-format
|
||||
msgctxt ""
|
||||
"userText (%1) is either a Matrix username if a single user sent all the "
|
||||
@@ -1510,7 +1517,7 @@ msgstr ""
|
||||
msgid "Encrypted Message"
|
||||
msgstr ""
|
||||
|
||||
#: src/notificationsmanager.cpp:204 src/qml/Main.qml:270
|
||||
#: src/notificationsmanager.cpp:204 src/qml/Main.qml:274
|
||||
#, kde-format
|
||||
msgid "%1: %2"
|
||||
msgstr ""
|
||||
@@ -1569,13 +1576,12 @@ msgstr ""
|
||||
msgid "Open NeoChat"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/AccountMenu.qml:22 src/qml/UserInfo.qml:65
|
||||
#: src/qml/AccountMenu.qml:22 src/qml/UserInfo.qml:46
|
||||
#, kde-format
|
||||
msgid "Edit this account"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/AccountMenu.qml:27 src/qml/UserInfo.qml:59
|
||||
#: src/settings/AccountsPage.qml:34
|
||||
#: src/qml/AccountMenu.qml:27 src/settings/AccountsPage.qml:34
|
||||
#, kde-format
|
||||
msgid "Account editor"
|
||||
msgstr ""
|
||||
@@ -1586,7 +1592,7 @@ msgid "Notification settings"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/AccountMenu.qml:37 src/qml/AccountMenu.qml:49
|
||||
#: src/qml/GlobalMenu.qml:35 src/qml/Main.qml:400 src/qml/UserInfo.qml:116
|
||||
#: src/qml/GlobalMenu.qml:35 src/qml/Main.qml:404 src/qml/UserInfo.qml:103
|
||||
#, kde-format
|
||||
msgid "Configure"
|
||||
msgstr ""
|
||||
@@ -1921,8 +1927,8 @@ msgstr ""
|
||||
|
||||
#: src/qml/CreateRoomDialog.qml:30 src/qml/ExploreComponent.qml:64
|
||||
#: src/qml/ExploreComponent.qml:66 src/qml/ExploreComponentMobile.qml:162
|
||||
#: src/qml/ExploreComponentMobile.qml:164 src/qml/SpaceDrawer.qml:281
|
||||
#: src/qml/SpaceDrawer.qml:283
|
||||
#: src/qml/ExploreComponentMobile.qml:164 src/qml/SpaceDrawer.qml:294
|
||||
#: src/qml/SpaceDrawer.qml:296
|
||||
#, kde-format
|
||||
msgctxt "@title"
|
||||
msgid "Create a Space"
|
||||
@@ -1993,7 +1999,7 @@ msgstr ""
|
||||
|
||||
#: src/qml/CreateRoomDialog.qml:117 src/qml/CreateRoomDialog.qml:200
|
||||
#: src/qml/ExploreComponent.qml:29 src/qml/ExploreComponentMobile.qml:58
|
||||
#: src/qml/GlobalMenu.qml:74 src/qml/RoomListPage.qml:220
|
||||
#: src/qml/GlobalMenu.qml:74 src/qml/RoomListPage.qml:210
|
||||
#: src/qml/SelectParentDialog.qml:142
|
||||
#, kde-format
|
||||
msgctxt "@title"
|
||||
@@ -2161,21 +2167,21 @@ msgid "They don't match"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/ExploreComponent.qml:23 src/qml/ExploreComponentMobile.qml:52
|
||||
#: src/qml/RoomListPage.qml:214
|
||||
#: src/qml/RoomListPage.qml:204
|
||||
#, kde-format
|
||||
msgid "Explore rooms"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/ExploreComponent.qml:37 src/qml/ExploreComponentMobile.qml:67
|
||||
#: src/qml/GlobalMenu.qml:52 src/qml/GlobalMenu.qml:61
|
||||
#: src/qml/RoomListPage.qml:182 src/qml/RoomListPage.qml:231
|
||||
#: src/qml/RoomListPage.qml:172 src/qml/RoomListPage.qml:221
|
||||
#, kde-format
|
||||
msgid "Find your friends"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/ExploreComponent.qml:42 src/qml/ExploreComponentMobile.qml:73
|
||||
#: src/qml/GlobalMenu.qml:56 src/qml/RoomListPage.qml:190
|
||||
#: src/qml/RoomListPage.qml:235
|
||||
#: src/qml/GlobalMenu.qml:56 src/qml/RoomListPage.qml:180
|
||||
#: src/qml/RoomListPage.qml:225
|
||||
#, kde-format
|
||||
msgctxt "@title"
|
||||
msgid "Find your friends"
|
||||
@@ -2202,11 +2208,34 @@ msgctxt "@title"
|
||||
msgid "Scan a QR Code"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/ExploreComponent.qml:103 src/qml/ExploreComponent.qml:167
|
||||
#: src/qml/ExploreComponent.qml:93
|
||||
#, kde-format
|
||||
msgctxt "@title"
|
||||
msgid "Rooms"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/ExploreComponent.qml:105
|
||||
#, kde-format
|
||||
msgctxt "@action"
|
||||
msgid "Search Room"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/ExploreComponent.qml:118
|
||||
#, kde-format
|
||||
msgctxt "@action:button"
|
||||
msgid "Show Menu"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/ExploreComponent.qml:182
|
||||
#, kde-format
|
||||
msgid "Create rooms and chats"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/ExploreComponentMobile.qml:36
|
||||
#, kde-format
|
||||
msgid "Search"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/ExploreComponentMobile.qml:79
|
||||
#, kde-format
|
||||
msgid "Create New"
|
||||
@@ -2562,46 +2591,58 @@ msgstr ""
|
||||
msgid "There are no locations shared in this room."
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/Main.qml:304
|
||||
#: src/qml/Main.qml:163
|
||||
#, kde-format
|
||||
msgctxt "@action:button"
|
||||
msgid "Show Room Information"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/Main.qml:166
|
||||
#, kde-format
|
||||
msgctxt "@action:button"
|
||||
msgid "Close Room Information Drawer"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/Main.qml:308
|
||||
#, kde-format
|
||||
msgctxt "@title:window"
|
||||
msgid "Session Verification"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/Main.qml:321
|
||||
#: src/qml/Main.qml:325
|
||||
#, kde-format
|
||||
msgid "User consent"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/Main.qml:326
|
||||
#: src/qml/Main.qml:330
|
||||
#, kde-format
|
||||
msgid ""
|
||||
"Your homeserver requires you to agree to its terms and conditions before "
|
||||
"being able to use it. Please click the button below to read them."
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/Main.qml:331
|
||||
#: src/qml/Main.qml:335
|
||||
#, kde-format
|
||||
msgid "Open"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/Main.qml:358
|
||||
#: src/qml/Main.qml:362
|
||||
#, kde-format
|
||||
msgid "Start a chat"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/Main.qml:360
|
||||
#: src/qml/Main.qml:364
|
||||
#, kde-format
|
||||
msgid "Do you want to start a chat with %1?"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/Main.qml:386
|
||||
#: src/qml/Main.qml:390
|
||||
#, kde-format
|
||||
msgctxt "@info screenreader"
|
||||
msgid "The currently selected link"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/Main.qml:418 src/qml/ShareAction.qml:68
|
||||
#: src/qml/Main.qml:422 src/qml/ShareAction.qml:68
|
||||
#, kde-format
|
||||
msgctxt "@title"
|
||||
msgid "Share"
|
||||
@@ -2684,7 +2725,7 @@ msgctxt "@action As in 'edit the state of this room'"
|
||||
msgid "Edit state"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/NotificationsView.qml:19 src/qml/SpaceDrawer.qml:66
|
||||
#: src/qml/NotificationsView.qml:19 src/qml/SpaceDrawer.qml:68
|
||||
#, kde-format
|
||||
msgctxt "@title"
|
||||
msgid "Notifications"
|
||||
@@ -2839,12 +2880,12 @@ msgstr ""
|
||||
msgid "Reason for reporting this message"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/RoomDelegate.qml:101
|
||||
#: src/qml/RoomDelegate.qml:103
|
||||
#, kde-format
|
||||
msgid "Muted room"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/RoomDelegate.qml:134
|
||||
#: src/qml/RoomDelegate.qml:136
|
||||
#, kde-format
|
||||
msgid "Configure room"
|
||||
msgstr ""
|
||||
@@ -2948,33 +2989,33 @@ msgstr[3] ""
|
||||
msgid "No member count"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/RoomListPage.qml:205
|
||||
#: src/qml/RoomListPage.qml:195
|
||||
#, kde-format
|
||||
msgid "No friends found"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/RoomListPage.qml:205
|
||||
#: src/qml/RoomListPage.qml:195
|
||||
#, kde-format
|
||||
msgid "No rooms found"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/RoomListPage.qml:207
|
||||
#: src/qml/RoomListPage.qml:197
|
||||
#, kde-format
|
||||
msgid ""
|
||||
"You haven't added any of your friends yet, click below to search for them."
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/RoomListPage.qml:207
|
||||
#: src/qml/RoomListPage.qml:197
|
||||
#, kde-format
|
||||
msgid "Join some rooms to get started"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/RoomListPage.qml:214
|
||||
#: src/qml/RoomListPage.qml:204
|
||||
#, kde-format
|
||||
msgid "Search in room directory"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/RoomListPage.qml:231
|
||||
#: src/qml/RoomListPage.qml:221
|
||||
#, kde-format
|
||||
msgid "Search in friend directory"
|
||||
msgstr ""
|
||||
@@ -3150,24 +3191,24 @@ msgstr ""
|
||||
msgid "View notifications"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/SpaceDrawer.qml:84
|
||||
#: src/qml/SpaceDrawer.qml:86
|
||||
#, kde-format
|
||||
msgid "Home"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/SpaceDrawer.qml:130
|
||||
#: src/qml/SpaceDrawer.qml:134
|
||||
#, kde-format
|
||||
msgctxt "@button View all one-on-one chats with your friends."
|
||||
msgid "Friends"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/SpaceDrawer.qml:232
|
||||
#: src/qml/SpaceDrawer.qml:242
|
||||
#, kde-format
|
||||
msgctxt "Join <name of a space>"
|
||||
msgid "Join %1"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/SpaceDrawer.qml:274
|
||||
#: src/qml/SpaceDrawer.qml:284
|
||||
#, kde-format
|
||||
msgid "Create a space"
|
||||
msgstr ""
|
||||
@@ -3448,12 +3489,18 @@ msgstr ""
|
||||
msgid "Copy link"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/UserInfo.qml:104
|
||||
#: src/qml/UserInfo.qml:54
|
||||
#, kde-format
|
||||
msgctxt "@title:window"
|
||||
msgid "Account editor"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/UserInfo.qml:91
|
||||
#, kde-format
|
||||
msgid "Switch User"
|
||||
msgstr ""
|
||||
|
||||
#: src/qml/UserInfo.qml:111
|
||||
#: src/qml/UserInfo.qml:98
|
||||
#, kde-format
|
||||
msgid "Open Settings"
|
||||
msgstr ""
|
||||
@@ -3865,47 +3912,42 @@ msgstr ""
|
||||
msgid "Use compact room list"
|
||||
msgstr ""
|
||||
|
||||
#: src/settings/AppearanceSettingsPage.qml:232
|
||||
#, kde-format
|
||||
msgid "Show fancy effects in chat"
|
||||
msgstr ""
|
||||
|
||||
#: src/settings/AppearanceSettingsPage.qml:249
|
||||
#: src/settings/AppearanceSettingsPage.qml:233
|
||||
#, kde-format
|
||||
msgid "Use transparent chat page"
|
||||
msgstr ""
|
||||
|
||||
#: src/settings/AppearanceSettingsPage.qml:270
|
||||
#: src/settings/AppearanceSettingsPage.qml:254
|
||||
#, kde-format
|
||||
msgid "Transparency"
|
||||
msgstr ""
|
||||
|
||||
#: src/settings/AppearanceSettingsPage.qml:289
|
||||
#: src/settings/AppearanceSettingsPage.qml:273
|
||||
#, kde-format
|
||||
msgid "Only enabled if the transparent chat page is enabled."
|
||||
msgstr ""
|
||||
|
||||
#: src/settings/AppearanceSettingsPage.qml:306
|
||||
#: src/settings/AppearanceSettingsPage.qml:290
|
||||
#, kde-format
|
||||
msgid "Show your messages on the right"
|
||||
msgstr ""
|
||||
|
||||
#: src/settings/AppearanceSettingsPage.qml:322
|
||||
#: src/settings/AppearanceSettingsPage.qml:306
|
||||
#, kde-format
|
||||
msgid "Show links preview in the chat messages"
|
||||
msgstr ""
|
||||
|
||||
#: src/settings/AppearanceSettingsPage.qml:332
|
||||
#: src/settings/AppearanceSettingsPage.qml:316
|
||||
#, kde-format
|
||||
msgid "Show Avatar"
|
||||
msgstr ""
|
||||
|
||||
#: src/settings/AppearanceSettingsPage.qml:336
|
||||
#: src/settings/AppearanceSettingsPage.qml:320
|
||||
#, kde-format
|
||||
msgid "In chat"
|
||||
msgstr ""
|
||||
|
||||
#: src/settings/AppearanceSettingsPage.qml:346
|
||||
#: src/settings/AppearanceSettingsPage.qml:330
|
||||
#, kde-format
|
||||
msgid "In sidebar"
|
||||
msgstr ""
|
||||
|
||||
372
po/lv/neochat.po
372
po/lv/neochat.po
File diff suppressed because it is too large
Load Diff
373
po/nl/neochat.po
373
po/nl/neochat.po
File diff suppressed because it is too large
Load Diff
377
po/nn/neochat.po
377
po/nn/neochat.po
File diff suppressed because it is too large
Load Diff
375
po/pa/neochat.po
375
po/pa/neochat.po
File diff suppressed because it is too large
Load Diff
373
po/pl/neochat.po
373
po/pl/neochat.po
File diff suppressed because it is too large
Load Diff
377
po/pt/neochat.po
377
po/pt/neochat.po
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
372
po/ru/neochat.po
372
po/ru/neochat.po
File diff suppressed because it is too large
Load Diff
376
po/sk/neochat.po
376
po/sk/neochat.po
File diff suppressed because it is too large
Load Diff
369
po/sl/neochat.po
369
po/sl/neochat.po
File diff suppressed because it is too large
Load Diff
377
po/sv/neochat.po
377
po/sv/neochat.po
File diff suppressed because it is too large
Load Diff
420
po/ta/neochat.po
420
po/ta/neochat.po
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
375
po/tr/neochat.po
375
po/tr/neochat.po
File diff suppressed because it is too large
Load Diff
373
po/uk/neochat.po
373
po/uk/neochat.po
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -204,7 +204,6 @@ qt_add_qml_module(neochat URI org.kde.neochat NO_PLUGIN
|
||||
qml/InviteUserPage.qml
|
||||
qml/ImageEditorPage.qml
|
||||
qml/NeochatMaximizeComponent.qml
|
||||
qml/FancyEffectsContainer.qml
|
||||
qml/TypingPane.qml
|
||||
qml/QuickSwitcher.qml
|
||||
qml/HoverActions.qml
|
||||
@@ -281,9 +280,6 @@ qt_add_qml_module(neochat URI org.kde.neochat NO_PLUGIN
|
||||
qml/ConfirmLeaveDialog.qml
|
||||
qml/CodeMaximizeComponent.qml
|
||||
qml/EditStateDialog.qml
|
||||
RESOURCES
|
||||
qml/confetti.png
|
||||
qml/glowdot.png
|
||||
)
|
||||
|
||||
add_subdirectory(settings)
|
||||
|
||||
@@ -14,6 +14,7 @@
|
||||
#include "models/actionsmodel.h"
|
||||
#include "neochatconfig.h"
|
||||
#include "texthandler.h"
|
||||
#include "utils.h"
|
||||
|
||||
using namespace Quotient;
|
||||
|
||||
@@ -145,6 +146,26 @@ void ActionsHandler::handleMessage(const QString &text, QString handledText, Cha
|
||||
return;
|
||||
}
|
||||
|
||||
// We want to add back the <mx-reply> if it's in the original message but not in the edit, to preserve the reply.
|
||||
for (auto it = m_room->messageEvents().crbegin(); it != m_room->messageEvents().crend(); it++) {
|
||||
if (const auto event = eventCast<const RoomMessageEvent>(&**it)) {
|
||||
if (event->senderId() == m_room->localUser()->id() && event->hasTextContent()) {
|
||||
QString originalString;
|
||||
if (event->content()) {
|
||||
originalString = static_cast<const Quotient::EventContent::TextContent *>(event->content())->body;
|
||||
} else {
|
||||
originalString = event->plainBody();
|
||||
}
|
||||
|
||||
const QRegularExpression exp(TextRegex::removeRichReply);
|
||||
const auto match = exp.match(originalString);
|
||||
if (match.hasCaptured(0) && !handledText.contains(TextRegex::removeRichReply)) {
|
||||
handledText.prepend(match.captured(0));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
m_room->postMessage(text, handledText, messageType, chatBarCache->replyId(), chatBarCache->editId(), chatBarCache->threadId());
|
||||
}
|
||||
|
||||
|
||||
@@ -19,7 +19,6 @@
|
||||
#include <signal.h>
|
||||
|
||||
#include <Quotient/accountregistry.h>
|
||||
#include <Quotient/connection.h>
|
||||
#include <Quotient/csapi/logout.h>
|
||||
#include <Quotient/csapi/notifications.h>
|
||||
#include <Quotient/eventstats.h>
|
||||
|
||||
@@ -117,7 +117,7 @@ private:
|
||||
|
||||
Quotient::AccountRegistry m_accountRegistry;
|
||||
QStringList m_accountsLoading;
|
||||
QMap<QString, QPointer<Quotient::Connection>> m_connectionsLoading;
|
||||
QMap<QString, QPointer<NeoChatConnection>> m_connectionsLoading;
|
||||
QString m_endpoint;
|
||||
|
||||
private Q_SLOTS:
|
||||
|
||||
@@ -15,6 +15,12 @@ FormCard.FormCardPage {
|
||||
FormCard.FormCard {
|
||||
Layout.topMargin: Kirigami.Units.largeSpacing
|
||||
|
||||
FormCard.FormCheckDelegate {
|
||||
text: i18nc("@option:check", "Show hidden events in the timeline")
|
||||
checked: Config.showAllEvents
|
||||
|
||||
onToggled: Config.showAllEvents = checked
|
||||
}
|
||||
FormCard.FormCheckDelegate {
|
||||
id: roomAccountDataVisibleCheck
|
||||
text: i18nc("@option:check Enable the matrix 'threads' feature", "Always allow device verification")
|
||||
@@ -23,5 +29,14 @@ FormCard.FormCardPage {
|
||||
|
||||
onToggled: Config.alwaysVerifyDevice = checked
|
||||
}
|
||||
FormCard.FormCheckDelegate {
|
||||
text: i18nc("@option:check", "Show focus in window header")
|
||||
checked: Config.windowTitleFocus
|
||||
|
||||
onToggled: {
|
||||
Config.windowTitleFocus = checked;
|
||||
Config.save();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -25,9 +25,10 @@ ColumnLayout {
|
||||
text: i18n("Room")
|
||||
textRole: "escapedDisplayName"
|
||||
valueRole: "roomId"
|
||||
displayText: RoomManager.roomListModel.data(RoomManager.roomListModel.index(currentIndex, 0), RoomListModel.DisplayNameRole)
|
||||
displayText: RoomManager.roomListModel.data(RoomManager.roomListModel.index(currentIndex, 0), RoomListModel.EscapedDisplayNameRole)
|
||||
model: RoomManager.roomListModel
|
||||
currentIndex: 0
|
||||
displayMode: FormCard.FormComboBoxDelegate.Page
|
||||
Component.onCompleted: currentIndex = RoomManager.roomListModel.rowForRoom(root.room)
|
||||
onCurrentValueChanged: root.room = RoomManager.roomListModel.roomByAliasOrId(roomComboBox.currentValue)
|
||||
}
|
||||
|
||||
@@ -21,7 +21,6 @@ public:
|
||||
* @brief Defines the room list categories a room can be assigned.
|
||||
*/
|
||||
enum Types {
|
||||
Search = 0, /**< So we can show a search delegate if needed, e.g. collapsed mode. */
|
||||
Invited, /**< The user has been invited to the room. */
|
||||
Favorite, /**< The room is set as a favourite. */
|
||||
Direct, /**< The room is a direct chat. */
|
||||
@@ -68,8 +67,6 @@ public:
|
||||
return i18n("Low priority");
|
||||
case NeoChatRoomType::Space:
|
||||
return i18n("Spaces");
|
||||
case NeoChatRoomType::Search:
|
||||
return i18n("Search");
|
||||
default:
|
||||
return {};
|
||||
}
|
||||
@@ -89,8 +86,6 @@ public:
|
||||
return QStringLiteral("object-order-lower");
|
||||
case NeoChatRoomType::Space:
|
||||
return QStringLiteral("group");
|
||||
case NeoChatRoomType::Search:
|
||||
return QStringLiteral("search");
|
||||
default:
|
||||
return QStringLiteral("tools-report-bug");
|
||||
}
|
||||
|
||||
@@ -4,7 +4,6 @@
|
||||
#include "login.h"
|
||||
|
||||
#include <Quotient/accountregistry.h>
|
||||
#include <Quotient/connection.h>
|
||||
#include <Quotient/qt_connection_util.h>
|
||||
|
||||
#include "controller.h"
|
||||
@@ -54,7 +53,7 @@ void LoginHelper::init()
|
||||
m_connection = new NeoChatConnection();
|
||||
}
|
||||
m_connection->resolveServer(m_matrixId);
|
||||
connectSingleShot(m_connection, &Connection::loginFlowsChanged, this, [this]() {
|
||||
connectSingleShot(m_connection.get(), &Connection::loginFlowsChanged, this, [this]() {
|
||||
setHomeserverReachable(true);
|
||||
m_testing = false;
|
||||
Q_EMIT testingChanged();
|
||||
@@ -100,7 +99,7 @@ void LoginHelper::init()
|
||||
Q_EMIT Controller::instance().errorOccured(i18n("Network Error"), std::move(error));
|
||||
});
|
||||
|
||||
connectSingleShot(m_connection, &Connection::syncDone, this, [this]() {
|
||||
connectSingleShot(m_connection.get(), &Connection::syncDone, this, [this]() {
|
||||
Q_EMIT loaded();
|
||||
});
|
||||
}
|
||||
@@ -182,7 +181,7 @@ QUrl LoginHelper::ssoUrl() const
|
||||
void LoginHelper::loginWithSso()
|
||||
{
|
||||
m_connection->resolveServer(m_matrixId);
|
||||
connectSingleShot(m_connection, &Connection::loginFlowsChanged, this, [this]() {
|
||||
connectSingleShot(m_connection.get(), &Connection::loginFlowsChanged, this, [this]() {
|
||||
SsoSession *session = m_connection->prepareForSso(m_deviceName);
|
||||
m_ssoUrl = session->ssoUrl();
|
||||
Q_EMIT ssoUrlChanged();
|
||||
|
||||
@@ -146,7 +146,7 @@ private:
|
||||
QString m_deviceName;
|
||||
bool m_supportsSso = false;
|
||||
bool m_supportsPassword = false;
|
||||
NeoChatConnection *m_connection = nullptr;
|
||||
QPointer<NeoChatConnection> m_connection;
|
||||
QUrl m_ssoUrl;
|
||||
bool m_testing = false;
|
||||
bool m_isLoggingIn = false;
|
||||
|
||||
@@ -14,8 +14,6 @@
|
||||
|
||||
#include "neochatconnection.h"
|
||||
|
||||
#include <Quotient/connection.h>
|
||||
|
||||
using namespace Quotient;
|
||||
|
||||
ThumbnailResponse::ThumbnailResponse(QString id, QSize size, NeoChatConnection *connection)
|
||||
|
||||
@@ -35,7 +35,7 @@ private:
|
||||
QSize requestedSize;
|
||||
const QString localFile;
|
||||
Quotient::MediaThumbnailJob *job = nullptr;
|
||||
NeoChatConnection *m_connection;
|
||||
QPointer<NeoChatConnection> m_connection;
|
||||
|
||||
QImage image;
|
||||
QString errorStr;
|
||||
@@ -75,6 +75,6 @@ public:
|
||||
QQuickImageResponse *requestImageResponse(const QString &id, const QSize &requestedSize) override;
|
||||
|
||||
private:
|
||||
NeoChatConnection *m_connection = nullptr;
|
||||
QPointer<NeoChatConnection> m_connection;
|
||||
MatrixImageProvider() = default;
|
||||
};
|
||||
|
||||
@@ -10,6 +10,8 @@
|
||||
#include <Quotient/events/eventcontent.h>
|
||||
#include <qcoro/qcorosignal.h>
|
||||
|
||||
#include "neochatconnection.h"
|
||||
|
||||
using namespace Quotient;
|
||||
|
||||
AccountEmoticonModel::AccountEmoticonModel(QObject *parent)
|
||||
@@ -77,12 +79,12 @@ QHash<int, QByteArray> AccountEmoticonModel::roleNames() const
|
||||
};
|
||||
}
|
||||
|
||||
Connection *AccountEmoticonModel::connection() const
|
||||
NeoChatConnection *AccountEmoticonModel::connection() const
|
||||
{
|
||||
return m_connection;
|
||||
}
|
||||
|
||||
void AccountEmoticonModel::setConnection(Connection *connection)
|
||||
void AccountEmoticonModel::setConnection(NeoChatConnection *connection)
|
||||
{
|
||||
if (m_connection) {
|
||||
disconnect(m_connection, nullptr, this, nullptr);
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
#include <QPointer>
|
||||
#include <QQmlEngine>
|
||||
|
||||
#include <Quotient/connection.h>
|
||||
class NeoChatConnection;
|
||||
|
||||
/**
|
||||
* @class AccountEmoticonModel
|
||||
@@ -29,7 +29,7 @@ class AccountEmoticonModel : public QAbstractListModel
|
||||
/**
|
||||
* @brief The connection to get emoticons from.
|
||||
*/
|
||||
Q_PROPERTY(Quotient::Connection *connection READ connection WRITE setConnection NOTIFY connectionChanged)
|
||||
Q_PROPERTY(NeoChatConnection *connection READ connection WRITE setConnection NOTIFY connectionChanged)
|
||||
|
||||
public:
|
||||
enum Roles {
|
||||
@@ -63,8 +63,8 @@ public:
|
||||
*/
|
||||
[[nodiscard]] QHash<int, QByteArray> roleNames() const override;
|
||||
|
||||
[[nodiscard]] Quotient::Connection *connection() const;
|
||||
void setConnection(Quotient::Connection *connection);
|
||||
[[nodiscard]] NeoChatConnection *connection() const;
|
||||
void setConnection(NeoChatConnection *connection);
|
||||
|
||||
/**
|
||||
* @brief Deletes the emoticon at the given index.
|
||||
@@ -96,7 +96,7 @@ Q_SIGNALS:
|
||||
|
||||
private:
|
||||
std::optional<Quotient::ImagePackEventContent> m_images;
|
||||
QPointer<Quotient::Connection> m_connection;
|
||||
QPointer<NeoChatConnection> m_connection;
|
||||
QCoro::Task<void> doSetEmoticonImage(int index, QUrl source);
|
||||
QCoro::Task<void> doAddEmoticon(QUrl source, QString shortcode, QString description, QString type);
|
||||
|
||||
|
||||
@@ -4,6 +4,7 @@
|
||||
#include "actionsmodel.h"
|
||||
|
||||
#include "chatbarcache.h"
|
||||
#include "neochatconnection.h"
|
||||
#include "neochatroom.h"
|
||||
#include "roommanager.h"
|
||||
#include <Quotient/events/roommemberevent.h>
|
||||
@@ -260,7 +261,7 @@ QList<ActionsModel::Action> actions{
|
||||
return QString();
|
||||
}
|
||||
Q_EMIT room->showMessage(NeoChatRoom::Info, i18nc("Knocking room <roomname>.", "Knocking room %1.", text));
|
||||
auto connection = room->connection();
|
||||
auto connection = dynamic_cast<NeoChatConnection *>(room->connection());
|
||||
const auto knownServer = roomName.mid(roomName.indexOf(":"_ls) + 1);
|
||||
if (parts.length() >= 2) {
|
||||
RoomManager::instance().knockRoom(connection, roomName, parts[1], QStringList{knownServer});
|
||||
|
||||
@@ -110,7 +110,7 @@ Q_SIGNALS:
|
||||
private:
|
||||
explicit CustomEmojiModel(QObject *parent = nullptr);
|
||||
QList<CustomEmoji> m_emojis;
|
||||
NeoChatConnection *m_connection = nullptr;
|
||||
QPointer<NeoChatConnection> m_connection;
|
||||
|
||||
void fetchEmojis();
|
||||
};
|
||||
|
||||
@@ -5,7 +5,8 @@
|
||||
|
||||
#include "customemojimodel.h"
|
||||
#include <QRegularExpression>
|
||||
#include <connection.h>
|
||||
|
||||
class NeoChatConnection;
|
||||
|
||||
struct CustomEmoji {
|
||||
QString name; // with :semicolons:
|
||||
@@ -14,6 +15,6 @@ struct CustomEmoji {
|
||||
};
|
||||
|
||||
struct CustomEmojiModel::Private {
|
||||
Quotient::Connection *conn = nullptr;
|
||||
QPointer<NeoChatConnection> connection;
|
||||
QList<CustomEmoji> emojies;
|
||||
};
|
||||
|
||||
@@ -11,9 +11,10 @@
|
||||
#include <KLocalizedString>
|
||||
|
||||
#include <Quotient/csapi/device_management.h>
|
||||
#include <Quotient/connection.h>
|
||||
#include <Quotient/user.h>
|
||||
|
||||
#include "neochatconnection.h"
|
||||
|
||||
using namespace Quotient;
|
||||
|
||||
DevicesModel::DevicesModel(QObject *parent)
|
||||
@@ -152,12 +153,12 @@ void DevicesModel::setName(const QString &deviceId, const QString &name)
|
||||
});
|
||||
}
|
||||
|
||||
Connection *DevicesModel::connection() const
|
||||
NeoChatConnection *DevicesModel::connection() const
|
||||
{
|
||||
return m_connection;
|
||||
}
|
||||
|
||||
void DevicesModel::setConnection(Connection *connection)
|
||||
void DevicesModel::setConnection(NeoChatConnection *connection)
|
||||
{
|
||||
if (m_connection) {
|
||||
disconnect(m_connection, nullptr, this, nullptr);
|
||||
|
||||
@@ -9,10 +9,7 @@
|
||||
|
||||
#include <Quotient/csapi/definitions/client_device.h>
|
||||
|
||||
namespace Quotient
|
||||
{
|
||||
class Connection;
|
||||
}
|
||||
class NeoChatConnection;
|
||||
|
||||
/**
|
||||
* @class DevicesModel
|
||||
@@ -31,7 +28,7 @@ class DevicesModel : public QAbstractListModel
|
||||
/**
|
||||
* @brief The current connection that the model is getting its devices from.
|
||||
*/
|
||||
Q_PROPERTY(Quotient::Connection *connection READ connection WRITE setConnection NOTIFY connectionChanged REQUIRED)
|
||||
Q_PROPERTY(NeoChatConnection *connection READ connection WRITE setConnection NOTIFY connectionChanged REQUIRED)
|
||||
|
||||
public:
|
||||
/**
|
||||
@@ -88,9 +85,8 @@ public:
|
||||
|
||||
explicit DevicesModel(QObject *parent = nullptr);
|
||||
|
||||
|
||||
[[nodiscard]] Quotient::Connection *connection() const;
|
||||
void setConnection(Quotient::Connection *connection);
|
||||
[[nodiscard]] NeoChatConnection *connection() const;
|
||||
void setConnection(NeoChatConnection *connection);
|
||||
|
||||
Q_SIGNALS:
|
||||
void connectionChanged();
|
||||
@@ -99,5 +95,5 @@ Q_SIGNALS:
|
||||
private:
|
||||
void fetchDevices();
|
||||
QList<Quotient::Device> m_devices;
|
||||
QPointer<Quotient::Connection> m_connection;
|
||||
QPointer<NeoChatConnection> m_connection;
|
||||
};
|
||||
|
||||
@@ -246,70 +246,86 @@ void MessageContentModel::updateComponents(bool isEditing)
|
||||
if (eventCast<const Quotient::RoomMessageEvent>(m_event)
|
||||
&& eventCast<const Quotient::RoomMessageEvent>(m_event)->rawMsgtype() == QStringLiteral("m.key.verification.request")) {
|
||||
m_components += MessageComponent{MessageComponentType::Verification, QString(), {}};
|
||||
} else {
|
||||
EventHandler eventHandler(m_room, m_event);
|
||||
if (eventHandler.hasReply()) {
|
||||
if (m_room->findInTimeline(eventHandler.getReplyId()) == m_room->historyEdge()) {
|
||||
m_components += MessageComponent{MessageComponentType::ReplyLoad, QString(), {}};
|
||||
m_room->loadReply(m_event->id(), eventHandler.getReplyId());
|
||||
} else {
|
||||
m_components += MessageComponent{MessageComponentType::Reply, QString(), {}};
|
||||
}
|
||||
}
|
||||
endResetModel();
|
||||
return;
|
||||
}
|
||||
|
||||
if (isEditing) {
|
||||
m_components += MessageComponent{MessageComponentType::Edit, QString(), {}};
|
||||
} else if (m_event->isRedacted()) {
|
||||
m_components += MessageComponent{MessageComponentType::Text, QString(), {}};
|
||||
if (m_event->isRedacted()) {
|
||||
m_components += MessageComponent{MessageComponentType::Text, QString(), {}};
|
||||
endResetModel();
|
||||
return;
|
||||
}
|
||||
|
||||
EventHandler eventHandler(m_room, m_event);
|
||||
if (eventHandler.hasReply()) {
|
||||
if (m_room->findInTimeline(eventHandler.getReplyId()) == m_room->historyEdge()) {
|
||||
m_components += MessageComponent{MessageComponentType::ReplyLoad, QString(), {}};
|
||||
m_room->loadReply(m_event->id(), eventHandler.getReplyId());
|
||||
} else {
|
||||
if (eventHandler.messageComponentType() == MessageComponentType::Text) {
|
||||
const auto event = eventCast<const Quotient::RoomMessageEvent>(m_event);
|
||||
auto body = EventHandler::rawMessageBody(*event);
|
||||
m_components.append(TextHandler().textComponents(body, EventHandler::messageBodyInputFormat(*event), m_room, event, event->isReplaced()));
|
||||
} else if (eventHandler.messageComponentType() == MessageComponentType::File) {
|
||||
m_components += MessageComponent{MessageComponentType::File, QString(), {}};
|
||||
if (m_emptyItinerary) {
|
||||
auto fileTransferInfo = fileInfo();
|
||||
|
||||
#ifndef Q_OS_ANDROID
|
||||
KSyntaxHighlighting::Repository repository;
|
||||
const auto definitionForFile = repository.definitionForFileName(fileTransferInfo.localPath.toString());
|
||||
if (definitionForFile.isValid() || QFileInfo(fileTransferInfo.localPath.path()).suffix() == QStringLiteral("txt")) {
|
||||
QFile file(fileTransferInfo.localPath.path());
|
||||
file.open(QIODevice::ReadOnly);
|
||||
m_components += MessageComponent{MessageComponentType::Code,
|
||||
QString::fromStdString(file.readAll().toStdString()),
|
||||
{{QStringLiteral("class"), definitionForFile.name()}}};
|
||||
}
|
||||
#endif
|
||||
|
||||
if (FileType::instance().fileHasImage(fileTransferInfo.localPath)) {
|
||||
QImageReader reader(fileTransferInfo.localPath.path());
|
||||
m_components += MessageComponent{MessageComponentType::Pdf, QString(), {{QStringLiteral("size"), reader.size()}}};
|
||||
}
|
||||
} else {
|
||||
updateItineraryModel();
|
||||
if (m_itineraryModel != nullptr) {
|
||||
m_components += MessageComponent{MessageComponentType::Itinerary, QString(), {}};
|
||||
}
|
||||
}
|
||||
} else {
|
||||
m_components += MessageComponent{eventHandler.messageComponentType(), QString(), {}};
|
||||
}
|
||||
m_components += MessageComponent{MessageComponentType::Reply, QString(), {}};
|
||||
}
|
||||
}
|
||||
|
||||
if (m_linkPreviewer != nullptr) {
|
||||
if (m_linkPreviewer->loaded()) {
|
||||
m_components += MessageComponent{MessageComponentType::LinkPreview, QString(), {}};
|
||||
} else {
|
||||
m_components += MessageComponent{MessageComponentType::LinkPreviewLoad, QString(), {}};
|
||||
}
|
||||
if (isEditing) {
|
||||
m_components += MessageComponent{MessageComponentType::Edit, QString(), {}};
|
||||
} else {
|
||||
m_components.append(componentsForType(eventHandler.messageComponentType()));
|
||||
}
|
||||
|
||||
if (m_linkPreviewer != nullptr) {
|
||||
if (m_linkPreviewer->loaded()) {
|
||||
m_components += MessageComponent{MessageComponentType::LinkPreview, QString(), {}};
|
||||
} else {
|
||||
m_components += MessageComponent{MessageComponentType::LinkPreviewLoad, QString(), {}};
|
||||
}
|
||||
}
|
||||
|
||||
endResetModel();
|
||||
}
|
||||
|
||||
QList<MessageComponent> MessageContentModel::componentsForType(MessageComponentType::Type type)
|
||||
{
|
||||
switch (type) {
|
||||
case MessageComponentType::Text: {
|
||||
const auto event = eventCast<const Quotient::RoomMessageEvent>(m_event);
|
||||
auto body = EventHandler::rawMessageBody(*event);
|
||||
return TextHandler().textComponents(body, EventHandler::messageBodyInputFormat(*event), m_room, event, event->isReplaced());
|
||||
}
|
||||
case MessageComponentType::File: {
|
||||
QList<MessageComponent> components;
|
||||
components += MessageComponent{MessageComponentType::File, QString(), {}};
|
||||
if (m_emptyItinerary) {
|
||||
auto fileTransferInfo = fileInfo();
|
||||
|
||||
#ifndef Q_OS_ANDROID
|
||||
KSyntaxHighlighting::Repository repository;
|
||||
const auto definitionForFile = repository.definitionForFileName(fileTransferInfo.localPath.toString());
|
||||
if (definitionForFile.isValid() || QFileInfo(fileTransferInfo.localPath.path()).suffix() == QStringLiteral("txt")) {
|
||||
QFile file(fileTransferInfo.localPath.path());
|
||||
file.open(QIODevice::ReadOnly);
|
||||
components += MessageComponent{MessageComponentType::Code,
|
||||
QString::fromStdString(file.readAll().toStdString()),
|
||||
{{QStringLiteral("class"), definitionForFile.name()}}};
|
||||
}
|
||||
#endif
|
||||
|
||||
if (FileType::instance().fileHasImage(fileTransferInfo.localPath)) {
|
||||
QImageReader reader(fileTransferInfo.localPath.path());
|
||||
components += MessageComponent{MessageComponentType::Pdf, QString(), {{QStringLiteral("size"), reader.size()}}};
|
||||
}
|
||||
} else {
|
||||
updateItineraryModel();
|
||||
if (m_itineraryModel != nullptr) {
|
||||
components += MessageComponent{MessageComponentType::Itinerary, QString(), {}};
|
||||
}
|
||||
}
|
||||
return components;
|
||||
}
|
||||
default:
|
||||
return {MessageComponent{type, QString(), {}}};
|
||||
}
|
||||
}
|
||||
|
||||
void MessageContentModel::updateLinkPreviewer()
|
||||
{
|
||||
if (m_room == nullptr || m_event == nullptr) {
|
||||
|
||||
@@ -98,6 +98,8 @@ private:
|
||||
QPointer<LinkPreviewer> m_linkPreviewer;
|
||||
ItineraryModel *m_itineraryModel = nullptr;
|
||||
|
||||
QList<MessageComponent> componentsForType(MessageComponentType::Type type);
|
||||
|
||||
void updateLinkPreviewer();
|
||||
void updateItineraryModel();
|
||||
bool m_emptyItinerary = false;
|
||||
|
||||
@@ -7,7 +7,6 @@
|
||||
|
||||
#include "neochatconfig.h"
|
||||
|
||||
#include <Quotient/connection.h>
|
||||
#include <Quotient/csapi/rooms.h>
|
||||
#include <Quotient/events/redactionevent.h>
|
||||
#include <Quotient/events/roommessageevent.h>
|
||||
@@ -117,34 +116,6 @@ void MessageEventModel::setRoom(NeoChatRoom *room)
|
||||
|
||||
if (message != nullptr) {
|
||||
createEventObjects(message);
|
||||
if (NeoChatConfig::self()->showFancyEffects()) {
|
||||
QString planBody = message->plainBody();
|
||||
// snowflake
|
||||
const QString snowlakeEmoji = QString::fromUtf8("\xE2\x9D\x84");
|
||||
if (planBody.contains(snowlakeEmoji)) {
|
||||
Q_EMIT fancyEffectsReasonFound(QStringLiteral("snowflake"));
|
||||
}
|
||||
// fireworks
|
||||
const QString fireworksEmoji = QString::fromUtf8("\xF0\x9F\x8E\x86");
|
||||
if (planBody.contains(fireworksEmoji)) {
|
||||
Q_EMIT fancyEffectsReasonFound(QStringLiteral("fireworks"));
|
||||
}
|
||||
// sparkler
|
||||
const QString sparklerEmoji = QString::fromUtf8("\xF0\x9F\x8E\x87");
|
||||
if (planBody.contains(sparklerEmoji)) {
|
||||
Q_EMIT fancyEffectsReasonFound(QStringLiteral("fireworks"));
|
||||
}
|
||||
// party pooper
|
||||
const QString partyEmoji = QString::fromUtf8("\xF0\x9F\x8E\x89");
|
||||
if (planBody.contains(partyEmoji)) {
|
||||
Q_EMIT fancyEffectsReasonFound(QStringLiteral("confetti"));
|
||||
}
|
||||
// confetti ball
|
||||
const QString confettiEmoji = QString::fromUtf8("\xF0\x9F\x8E\x8A");
|
||||
if (planBody.contains(confettiEmoji)) {
|
||||
Q_EMIT fancyEffectsReasonFound(QStringLiteral("confetti"));
|
||||
}
|
||||
}
|
||||
}
|
||||
if (event->is<PollStartEvent>()) {
|
||||
m_currentRoom->createPollHandler(eventCast<const PollStartEvent>(event.get()));
|
||||
|
||||
@@ -140,5 +140,4 @@ private:
|
||||
|
||||
Q_SIGNALS:
|
||||
void roomChanged();
|
||||
void fancyEffectsReasonFound(const QString &fancyEffect);
|
||||
};
|
||||
|
||||
@@ -36,6 +36,14 @@ MessageFilterModel::MessageFilterModel(QObject *parent, TimelineModel *sourceMod
|
||||
}
|
||||
|
||||
bool MessageFilterModel::filterAcceptsRow(int sourceRow, const QModelIndex &sourceParent) const
|
||||
{
|
||||
if (NeoChatConfig::self()->showAllEvents()) {
|
||||
return true;
|
||||
}
|
||||
return eventIsVisible(sourceRow, sourceParent);
|
||||
}
|
||||
|
||||
bool MessageFilterModel::eventIsVisible(int sourceRow, const QModelIndex &sourceParent) const
|
||||
{
|
||||
const QModelIndex index = sourceModel()->index(sourceRow, 0, sourceParent);
|
||||
|
||||
@@ -59,9 +67,8 @@ bool MessageFilterModel::filterAcceptsRow(int sourceRow, const QModelIndex &sour
|
||||
// Don't show state events that are not the first in a consecutive group on the
|
||||
// same day as they will be grouped as a single delegate.
|
||||
const bool notLastRow = sourceRow < sourceModel()->rowCount() - 1;
|
||||
const bool previousEventIsState = notLastRow
|
||||
? sourceModel()->data(sourceModel()->index(sourceRow + 1, 0), MessageEventModel::DelegateTypeRole) == DelegateType::State
|
||||
: false;
|
||||
const bool previousEventIsState =
|
||||
notLastRow ? sourceModel()->data(sourceModel()->index(sourceRow + 1, 0), MessageEventModel::DelegateTypeRole) == DelegateType::State : false;
|
||||
const bool newDay = sourceModel()->data(sourceModel()->index(sourceRow, 0), MessageEventModel::ShowSectionRole).toBool();
|
||||
if (eventType == DelegateType::State && notLastRow && previousEventIsState && !newDay) {
|
||||
return false;
|
||||
@@ -72,7 +79,11 @@ bool MessageFilterModel::filterAcceptsRow(int sourceRow, const QModelIndex &sour
|
||||
|
||||
QVariant MessageFilterModel::data(const QModelIndex &index, int role) const
|
||||
{
|
||||
if (role == AggregateDisplayRole) {
|
||||
if (role == MessageEventModel::DelegateTypeRole && NeoChatConfig::self()->showAllEvents()) {
|
||||
if (!eventIsVisible(index.row(), index.parent())) {
|
||||
return DelegateType::Other;
|
||||
}
|
||||
} else if (role == AggregateDisplayRole) {
|
||||
return aggregateEventToString(mapToSource(index).row());
|
||||
} else if (role == StateEventsRole) {
|
||||
return stateEventsList(mapToSource(index).row());
|
||||
|
||||
@@ -60,6 +60,8 @@ public:
|
||||
[[nodiscard]] QHash<int, QByteArray> roleNames() const override;
|
||||
|
||||
private:
|
||||
bool eventIsVisible(int sourceRow, const QModelIndex &sourceParent) const;
|
||||
|
||||
/**
|
||||
* @brief Aggregation of the text of consecutive state events starting at row.
|
||||
*
|
||||
|
||||
@@ -3,7 +3,6 @@
|
||||
|
||||
#include "notificationsmodel.h"
|
||||
|
||||
#include <Quotient/connection.h>
|
||||
#include <Quotient/events/event.h>
|
||||
#include <Quotient/uri.h>
|
||||
|
||||
|
||||
@@ -3,8 +3,7 @@
|
||||
|
||||
#include "publicroomlistmodel.h"
|
||||
|
||||
#include <Quotient/connection.h>
|
||||
|
||||
#include "neochatconnection.h"
|
||||
#include "publicroomlist_logging.h"
|
||||
|
||||
using namespace Quotient;
|
||||
@@ -14,14 +13,14 @@ PublicRoomListModel::PublicRoomListModel(QObject *parent)
|
||||
{
|
||||
}
|
||||
|
||||
Quotient::Connection *PublicRoomListModel::connection() const
|
||||
NeoChatConnection *PublicRoomListModel::connection() const
|
||||
{
|
||||
return m_connection;
|
||||
}
|
||||
|
||||
void PublicRoomListModel::setConnection(Connection *conn)
|
||||
void PublicRoomListModel::setConnection(NeoChatConnection *connection)
|
||||
{
|
||||
if (m_connection == conn) {
|
||||
if (m_connection == connection) {
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -38,7 +37,7 @@ void PublicRoomListModel::setConnection(Connection *conn)
|
||||
|
||||
endResetModel();
|
||||
|
||||
m_connection = conn;
|
||||
m_connection = connection;
|
||||
|
||||
if (job) {
|
||||
job->abandon();
|
||||
|
||||
@@ -9,10 +9,7 @@
|
||||
|
||||
#include <Quotient/csapi/list_public_rooms.h>
|
||||
|
||||
namespace Quotient
|
||||
{
|
||||
class Connection;
|
||||
}
|
||||
class NeoChatConnection;
|
||||
|
||||
/**
|
||||
* @class PublicRoomListModel
|
||||
@@ -33,7 +30,7 @@ class PublicRoomListModel : public QAbstractListModel
|
||||
/**
|
||||
* @brief The current connection that the model is getting its rooms from.
|
||||
*/
|
||||
Q_PROPERTY(Quotient::Connection *connection READ connection WRITE setConnection NOTIFY connectionChanged)
|
||||
Q_PROPERTY(NeoChatConnection *connection READ connection WRITE setConnection NOTIFY connectionChanged)
|
||||
|
||||
/**
|
||||
* @brief The server to get the public room list from.
|
||||
@@ -95,8 +92,8 @@ public:
|
||||
*/
|
||||
[[nodiscard]] QHash<int, QByteArray> roleNames() const override;
|
||||
|
||||
[[nodiscard]] Quotient::Connection *connection() const;
|
||||
void setConnection(Quotient::Connection *conn);
|
||||
[[nodiscard]] NeoChatConnection *connection() const;
|
||||
void setConnection(NeoChatConnection *connection);
|
||||
|
||||
[[nodiscard]] QString server() const;
|
||||
void setServer(const QString &value);
|
||||
@@ -117,7 +114,7 @@ public:
|
||||
Q_INVOKABLE void search(int limit = 50);
|
||||
|
||||
private:
|
||||
QPointer<Quotient::Connection> m_connection = nullptr;
|
||||
QPointer<NeoChatConnection> m_connection = nullptr;
|
||||
QString m_server;
|
||||
QString m_searchText;
|
||||
bool m_showOnlySpaces = false;
|
||||
|
||||
@@ -5,13 +5,13 @@
|
||||
|
||||
#include <QDebug>
|
||||
|
||||
#include <Quotient/connection.h>
|
||||
#include <Quotient/converters.h>
|
||||
#include <Quotient/csapi/definitions/push_ruleset.h>
|
||||
#include <Quotient/csapi/pushrules.h>
|
||||
#include <Quotient/jobs/basejob.h>
|
||||
|
||||
#include "neochatconfig.h"
|
||||
#include "neochatconnection.h"
|
||||
|
||||
#include <KLazyLocalizedString>
|
||||
|
||||
@@ -454,7 +454,7 @@ void PushRuleModel::setConnection(NeoChatConnection *connection)
|
||||
Q_EMIT connectionChanged();
|
||||
|
||||
if (m_connection) {
|
||||
connect(m_connection, &Quotient::Connection::accountDataChanged, this, &PushRuleModel::updateNotificationRules);
|
||||
connect(m_connection, &NeoChatConnection::accountDataChanged, this, &PushRuleModel::updateNotificationRules);
|
||||
updateNotificationRules(QStringLiteral("m.push_rules"));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -126,7 +126,7 @@ private Q_SLOTS:
|
||||
private:
|
||||
PushRuleAction::Action m_defaultKeywordAction;
|
||||
QList<Rule> m_rules;
|
||||
NeoChatConnection *m_connection;
|
||||
QPointer<NeoChatConnection> m_connection;
|
||||
|
||||
void setRules(QList<Quotient::PushRule> rules, PushRuleKind::Kind kind);
|
||||
|
||||
|
||||
@@ -25,12 +25,12 @@ RoomListModel::RoomListModel(QObject *parent)
|
||||
|
||||
RoomListModel::~RoomListModel() = default;
|
||||
|
||||
Quotient::Connection *RoomListModel::connection() const
|
||||
NeoChatConnection *RoomListModel::connection() const
|
||||
{
|
||||
return m_connection;
|
||||
}
|
||||
|
||||
void RoomListModel::setConnection(Connection *connection)
|
||||
void RoomListModel::setConnection(NeoChatConnection *connection)
|
||||
{
|
||||
if (connection == m_connection) {
|
||||
return;
|
||||
|
||||
@@ -12,10 +12,11 @@ class NeoChatRoom;
|
||||
|
||||
namespace Quotient
|
||||
{
|
||||
class Connection;
|
||||
class Room;
|
||||
}
|
||||
|
||||
class NeoChatConnection;
|
||||
|
||||
/**
|
||||
* @class RoomListModel
|
||||
*
|
||||
@@ -29,7 +30,7 @@ class RoomListModel : public QAbstractListModel
|
||||
/**
|
||||
* @brief The current connection that the model is getting its rooms from.
|
||||
*/
|
||||
Q_PROPERTY(Quotient::Connection *connection READ connection WRITE setConnection NOTIFY connectionChanged)
|
||||
Q_PROPERTY(NeoChatConnection *connection READ connection WRITE setConnection NOTIFY connectionChanged)
|
||||
|
||||
public:
|
||||
/**
|
||||
@@ -60,8 +61,8 @@ public:
|
||||
explicit RoomListModel(QObject *parent = nullptr);
|
||||
~RoomListModel() override;
|
||||
|
||||
[[nodiscard]] Quotient::Connection *connection() const;
|
||||
void setConnection(Quotient::Connection *connection);
|
||||
[[nodiscard]] NeoChatConnection *connection() const;
|
||||
void setConnection(NeoChatConnection *connection);
|
||||
|
||||
/**
|
||||
* @brief Get the given role value at the given index.
|
||||
@@ -109,7 +110,7 @@ private Q_SLOTS:
|
||||
void refresh(NeoChatRoom *room, const QList<int> &roles = {});
|
||||
|
||||
private:
|
||||
Quotient::Connection *m_connection = nullptr;
|
||||
QPointer<NeoChatConnection> m_connection;
|
||||
QList<NeoChatRoom *> m_rooms;
|
||||
|
||||
QString m_activeSpaceId;
|
||||
|
||||
@@ -3,7 +3,6 @@
|
||||
|
||||
#include "roomtreemodel.h"
|
||||
|
||||
#include <Quotient/connection.h>
|
||||
#include <Quotient/room.h>
|
||||
|
||||
#include "eventhandler.h"
|
||||
@@ -300,9 +299,6 @@ QVariant RoomTreeModel::data(const QModelIndex &index, int role) const
|
||||
return NeoChatRoomType::typeName(index.row());
|
||||
}
|
||||
if (role == DelegateTypeRole) {
|
||||
if (index.row() == NeoChatRoomType::Search) {
|
||||
return QStringLiteral("search");
|
||||
}
|
||||
if (index.row() == NeoChatRoomType::AddDirect) {
|
||||
return QStringLiteral("addDirect");
|
||||
}
|
||||
|
||||
@@ -10,7 +10,6 @@
|
||||
|
||||
#include <QGuiApplication>
|
||||
|
||||
#include <Quotient/connection.h>
|
||||
#include <Quotient/events/stickerevent.h>
|
||||
|
||||
#include <KLocalizedString>
|
||||
|
||||
@@ -3,8 +3,6 @@
|
||||
|
||||
#include "serverlistmodel.h"
|
||||
|
||||
#include <Quotient/connection.h>
|
||||
|
||||
#include <QDebug>
|
||||
|
||||
#include <KConfig>
|
||||
|
||||
@@ -110,7 +110,7 @@ Q_SIGNALS:
|
||||
private:
|
||||
QList<Server> m_servers;
|
||||
QPointer<Quotient::QueryPublicRoomsJob> m_checkServerJob = nullptr;
|
||||
NeoChatConnection *m_connection = nullptr;
|
||||
QPointer<NeoChatConnection> m_connection;
|
||||
|
||||
void initialize();
|
||||
};
|
||||
|
||||
@@ -5,6 +5,8 @@
|
||||
|
||||
#include "roomlistmodel.h"
|
||||
|
||||
#include "neochatconnection.h"
|
||||
|
||||
SortFilterRoomListModel::SortFilterRoomListModel(RoomListModel *sourceModel, QObject *parent)
|
||||
: QSortFilterProxyModel(parent)
|
||||
{
|
||||
|
||||
@@ -129,10 +129,6 @@ QString SortFilterRoomTreeModel::filterText() const
|
||||
bool SortFilterRoomTreeModel::filterAcceptsRow(int source_row, const QModelIndex &source_parent) const
|
||||
{
|
||||
if (!source_parent.isValid()) {
|
||||
if (sourceModel()->data(sourceModel()->index(source_row, 0), RoomTreeModel::CategoryRole).toInt() == NeoChatRoomType::Search
|
||||
&& NeoChatConfig::collapsed()) {
|
||||
return true;
|
||||
}
|
||||
if (sourceModel()->data(sourceModel()->index(source_row, 0), RoomTreeModel::CategoryRole).toInt() == NeoChatRoomType::AddDirect
|
||||
&& m_mode == DirectChats) {
|
||||
return true;
|
||||
@@ -205,4 +201,14 @@ void SortFilterRoomTreeModel::setMode(SortFilterRoomTreeModel::Mode mode)
|
||||
invalidate();
|
||||
}
|
||||
|
||||
QModelIndex SortFilterRoomTreeModel::currentRoomIndex() const
|
||||
{
|
||||
const auto roomModel = dynamic_cast<RoomTreeModel *>(sourceModel());
|
||||
if (roomModel == nullptr) {
|
||||
return {};
|
||||
}
|
||||
|
||||
return mapFromSource(roomModel->indexForRoom(RoomManager::instance().currentRoom()));
|
||||
}
|
||||
|
||||
#include "moc_sortfilterroomtreemodel.cpp"
|
||||
|
||||
@@ -76,6 +76,8 @@ public:
|
||||
Mode mode() const;
|
||||
void setMode(Mode mode);
|
||||
|
||||
Q_INVOKABLE QModelIndex currentRoomIndex() const;
|
||||
|
||||
protected:
|
||||
/**
|
||||
* @brief Returns true if the value of source_left is less than source_right.
|
||||
|
||||
@@ -3,7 +3,6 @@
|
||||
|
||||
#include "spacechildrenmodel.h"
|
||||
|
||||
#include <Quotient/connection.h>
|
||||
#include <Quotient/jobs/basejob.h>
|
||||
#include <Quotient/room.h>
|
||||
|
||||
@@ -47,7 +46,7 @@ void SpaceChildrenModel::setSpace(NeoChatRoom *space)
|
||||
}
|
||||
|
||||
auto connection = m_space->connection();
|
||||
connect(connection, &Quotient::Connection::loadedRoomState, this, [this](Quotient::Room *room) {
|
||||
connect(connection, &NeoChatConnection::loadedRoomState, this, [this](Quotient::Room *room) {
|
||||
if (m_pendingChildren.contains(room->name())) {
|
||||
m_pendingChildren.removeAll(room->name());
|
||||
refreshModel();
|
||||
|
||||
@@ -1,6 +1,8 @@
|
||||
// SPDX-FileCopyrightText: 2023 James Graham <james.h.graham@protonmail.com>
|
||||
// SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL
|
||||
|
||||
#include <QPointer>
|
||||
|
||||
#include <Quotient/csapi/space_hierarchy.h>
|
||||
#include <Quotient/events/stateevent.h>
|
||||
|
||||
@@ -149,7 +151,7 @@ public:
|
||||
bool isSuggested() const;
|
||||
|
||||
private:
|
||||
NeoChatConnection *m_connection;
|
||||
QPointer<NeoChatConnection> m_connection;
|
||||
std::vector<std::unique_ptr<SpaceTreeItem>> m_children;
|
||||
SpaceTreeItem *m_parentItem;
|
||||
|
||||
|
||||
@@ -3,9 +3,10 @@
|
||||
|
||||
#include "userdirectorylistmodel.h"
|
||||
|
||||
#include <Quotient/connection.h>
|
||||
#include <Quotient/room.h>
|
||||
|
||||
#include "neochatconnection.h"
|
||||
|
||||
using namespace Quotient;
|
||||
|
||||
UserDirectoryListModel::UserDirectoryListModel(QObject *parent)
|
||||
@@ -13,14 +14,14 @@ UserDirectoryListModel::UserDirectoryListModel(QObject *parent)
|
||||
{
|
||||
}
|
||||
|
||||
Quotient::Connection *UserDirectoryListModel::connection() const
|
||||
NeoChatConnection *UserDirectoryListModel::connection() const
|
||||
{
|
||||
return m_connection;
|
||||
}
|
||||
|
||||
void UserDirectoryListModel::setConnection(Connection *conn)
|
||||
void UserDirectoryListModel::setConnection(NeoChatConnection *connection)
|
||||
{
|
||||
if (m_connection == conn) {
|
||||
if (m_connection == connection) {
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -35,7 +36,7 @@ void UserDirectoryListModel::setConnection(Connection *conn)
|
||||
|
||||
endResetModel();
|
||||
|
||||
m_connection = conn;
|
||||
m_connection = connection;
|
||||
Q_EMIT connectionChanged();
|
||||
|
||||
if (m_job) {
|
||||
|
||||
@@ -9,10 +9,7 @@
|
||||
|
||||
#include <Quotient/csapi/users.h>
|
||||
|
||||
namespace Quotient
|
||||
{
|
||||
class Connection;
|
||||
}
|
||||
class NeoChatConnection;
|
||||
|
||||
/**
|
||||
* @class UserDirectoryListModel
|
||||
@@ -32,7 +29,7 @@ class UserDirectoryListModel : public QAbstractListModel
|
||||
/**
|
||||
* @brief The current connection that the model is getting users from.
|
||||
*/
|
||||
Q_PROPERTY(Quotient::Connection *connection READ connection WRITE setConnection NOTIFY connectionChanged)
|
||||
Q_PROPERTY(NeoChatConnection *connection READ connection WRITE setConnection NOTIFY connectionChanged)
|
||||
|
||||
/**
|
||||
* @brief The text to search the public room list for.
|
||||
@@ -57,8 +54,8 @@ public:
|
||||
|
||||
explicit UserDirectoryListModel(QObject *parent = nullptr);
|
||||
|
||||
[[nodiscard]] Quotient::Connection *connection() const;
|
||||
void setConnection(Quotient::Connection *conn);
|
||||
[[nodiscard]] NeoChatConnection *connection() const;
|
||||
void setConnection(NeoChatConnection *connection);
|
||||
|
||||
[[nodiscard]] QString searchText() const;
|
||||
void setSearchText(const QString &searchText);
|
||||
@@ -99,7 +96,7 @@ Q_SIGNALS:
|
||||
void searchingChanged();
|
||||
|
||||
private:
|
||||
Quotient::Connection *m_connection = nullptr;
|
||||
QPointer<NeoChatConnection> m_connection;
|
||||
QString m_searchText;
|
||||
|
||||
bool attempted = false;
|
||||
|
||||
@@ -5,7 +5,6 @@
|
||||
|
||||
#include <QGuiApplication>
|
||||
|
||||
#include <Quotient/connection.h>
|
||||
#include <Quotient/events/roompowerlevelsevent.h>
|
||||
|
||||
#include "neochatroom.h"
|
||||
|
||||
@@ -100,10 +100,6 @@
|
||||
<label>Minimize to system tray on startup</label>
|
||||
<default>false</default>
|
||||
</entry>
|
||||
<entry name="ShowFancyEffects" type="bool">
|
||||
<label>Show Fancy Effects</label>
|
||||
<default>true</default>
|
||||
</entry>
|
||||
<entry name="MediaMaxWidth" type="int">
|
||||
<label>The maximum width any media item in the timeline can be.</label>
|
||||
<default>540</default>
|
||||
@@ -161,10 +157,18 @@
|
||||
</entry>
|
||||
</group>
|
||||
<group name="Debug">
|
||||
<entry name="ShowAllEvents" type="bool">
|
||||
<label>Don't hide any events in the timeline</label>
|
||||
<default>false</default>
|
||||
</entry>
|
||||
<entry name="AlwaysVerifyDevice" type="bool">
|
||||
<label>Always allow device verification</label>
|
||||
<default>false</default>
|
||||
</entry>
|
||||
<entry name="WindowTitleFocus" type="bool">
|
||||
<label>Show the current focus item in the window title</label>
|
||||
<default>false</default>
|
||||
</entry>
|
||||
</group>
|
||||
<group name="FeatureFlags">
|
||||
<entry name="Threads" type="bool">
|
||||
|
||||
@@ -18,6 +18,7 @@
|
||||
"Name[nl]": "Tobias Fella",
|
||||
"Name[pl]": "Tobias Fella",
|
||||
"Name[sl]": "Tobias Fella",
|
||||
"Name[ta]": "டோபியாஸ் ஃபெல்லா",
|
||||
"Name[tr]": "Tobias Fella",
|
||||
"Name[uk]": "Tobias Fella",
|
||||
"Name[x-test]": "xxTobias Fellaxx",
|
||||
@@ -40,6 +41,7 @@
|
||||
"Description[nl]": "Delen via NeoChat",
|
||||
"Description[pl]": "Udostępnij przez NeoChat",
|
||||
"Description[sl]": "Deli prek NeoChat",
|
||||
"Description[ta]": "நியோச்சாட் மூலம் பகிர்",
|
||||
"Description[tr]": "NeoChat ile Paylaş",
|
||||
"Description[uk]": "Оприлюднити за допомогою NeoChat",
|
||||
"Description[x-test]": "xxShare via NeoChatxx",
|
||||
@@ -63,6 +65,7 @@
|
||||
"Name[nl]": "NeoChat",
|
||||
"Name[pl]": "NeoChat",
|
||||
"Name[sl]": "NeoChat",
|
||||
"Name[ta]": "நியோச்சாட்",
|
||||
"Name[tr]": "NeoChat",
|
||||
"Name[uk]": "NeoChat",
|
||||
"Name[x-test]": "xxNeoChatxx",
|
||||
|
||||
@@ -278,6 +278,8 @@ QQC2.Control {
|
||||
Keys.onTabPressed: {
|
||||
if (completionMenu.visible) {
|
||||
completionMenu.complete();
|
||||
} else {
|
||||
contextDrawer.handle.children[0].forceActiveFocus()
|
||||
}
|
||||
}
|
||||
Keys.onPressed: event => {
|
||||
|
||||
@@ -48,10 +48,10 @@ QQC2.ItemDelegate {
|
||||
|
||||
background: Rectangle {
|
||||
color: root.checked ? Kirigami.Theme.highlightColor : Kirigami.Theme.backgroundColor
|
||||
radius: Kirigami.Units.smallSpacing
|
||||
radius: Kirigami.Units.cornerRadius
|
||||
|
||||
Rectangle {
|
||||
radius: Kirigami.Units.smallSpacing
|
||||
radius: Kirigami.Units.cornerRadius
|
||||
anchors.fill: parent
|
||||
color: Kirigami.Theme.highlightColor
|
||||
opacity: root.hovered && !root.pressed ? 0.2 : 0
|
||||
|
||||
@@ -40,7 +40,7 @@ QQC2.Popup {
|
||||
background: Kirigami.ShadowedRectangle {
|
||||
Kirigami.Theme.colorSet: Kirigami.Theme.View
|
||||
color: Kirigami.Theme.backgroundColor
|
||||
radius: Kirigami.Units.mediumSpacing
|
||||
radius: Kirigami.Units.cornerRadius
|
||||
shadow {
|
||||
size: Kirigami.Units.largeSpacing
|
||||
color: Qt.rgba(0.0, 0.0, 0.0, 0.3)
|
||||
|
||||
@@ -30,7 +30,7 @@ QQC2.Popup {
|
||||
onOpened: x = Math.min(parent.mapFromGlobal(QQC2.Overlay.overlay.width - root.width, 0).x, -(width - parent.width) / 2)
|
||||
background: Kirigami.ShadowedRectangle {
|
||||
color: Kirigami.Theme.backgroundColor
|
||||
radius: Kirigami.Units.mediumSpacing
|
||||
radius: Kirigami.Units.cornerRadius
|
||||
shadow {
|
||||
size: Kirigami.Units.largeSpacing
|
||||
color: Qt.rgba(0.0, 0.0, 0.0, 0.3)
|
||||
|
||||
@@ -17,7 +17,7 @@ RowLayout {
|
||||
property bool collapsed: false
|
||||
required property NeoChatConnection connection
|
||||
|
||||
property alias roomSearchFieldFocussed: roomSearchField.activeFocus
|
||||
signal search
|
||||
|
||||
property Kirigami.Action exploreAction: Kirigami.Action {
|
||||
text: i18n("Explore rooms")
|
||||
@@ -83,15 +83,30 @@ RowLayout {
|
||||
*/
|
||||
signal textChanged(string newText)
|
||||
|
||||
Kirigami.SearchField {
|
||||
id: roomSearchField
|
||||
Layout.topMargin: Kirigami.Units.smallSpacing
|
||||
Layout.bottomMargin: Kirigami.Units.smallSpacing
|
||||
Item {
|
||||
Layout.preferredWidth: Kirigami.Units.largeSpacing
|
||||
}
|
||||
|
||||
Kirigami.Heading {
|
||||
Layout.fillWidth: true
|
||||
Layout.preferredWidth: root.desiredWidth ? root.desiredWidth - menuButton.width - root.spacing : -1
|
||||
visible: !root.collapsed
|
||||
onTextChanged: root.textChanged(text)
|
||||
KeyNavigation.tab: treeView
|
||||
text: i18nc("@title", "Rooms")
|
||||
}
|
||||
Item {
|
||||
Layout.fillWidth: true
|
||||
visible: root.collapsed
|
||||
}
|
||||
|
||||
QQC2.ToolButton {
|
||||
id: searchButton
|
||||
display: QQC2.AbstractButton.IconOnly
|
||||
onClicked: root.search();
|
||||
icon.name: "search"
|
||||
text: i18nc("@action", "Search Room")
|
||||
Shortcut {
|
||||
sequence: "Ctrl+F"
|
||||
onActivated: searchButton.clicked()
|
||||
}
|
||||
}
|
||||
|
||||
QQC2.ToolButton {
|
||||
@@ -100,8 +115,8 @@ RowLayout {
|
||||
display: QQC2.AbstractButton.IconOnly
|
||||
checkable: true
|
||||
action: Kirigami.Action {
|
||||
text: i18n("Create rooms and chats")
|
||||
icon.name: "irc-join-channel"
|
||||
text: i18nc("@action:button", "Show Menu")
|
||||
icon.name: "application-menu-symbolic"
|
||||
onTriggered: {
|
||||
if (Kirigami.isMobile) {
|
||||
const menu = mobileMenu.createObject();
|
||||
|
||||
@@ -1,304 +0,0 @@
|
||||
// SPDX-FileCopyrightText: 2021 Alexey Andreyev <aa13q@ya.ru>
|
||||
// SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL
|
||||
|
||||
import QtQuick
|
||||
import QtQuick.Layouts
|
||||
import QtQuick.Particles
|
||||
|
||||
import org.kde.kirigami as Kirigami
|
||||
|
||||
Item {
|
||||
id: root
|
||||
property bool enabled: false
|
||||
property int effectInterval: Kirigami.Units.veryLongDuration * 10
|
||||
property color darkSnowColor: "grey"
|
||||
property bool isThemeDark: Kirigami.Theme.backgroundColor.hslLightness <= darkSnowColor.hslLightness
|
||||
|
||||
function showConfettiEffect() {
|
||||
confettiTimer.start();
|
||||
}
|
||||
|
||||
function showSnowEffect() {
|
||||
snowTimer.start();
|
||||
}
|
||||
|
||||
function showFireworksEffect() {
|
||||
fireworksTimer.start();
|
||||
}
|
||||
|
||||
// Confetti
|
||||
|
||||
Timer {
|
||||
id: confettiTimer
|
||||
interval: root.effectInterval
|
||||
running: false
|
||||
repeat: false
|
||||
triggeredOnStart: true
|
||||
onTriggered: {
|
||||
if (root.enabled) {
|
||||
confettiSystem.running = !confettiSystem.running;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
ParticleSystem {
|
||||
id: confettiSystem
|
||||
anchors.fill: parent
|
||||
|
||||
running: false
|
||||
onRunningChanged: {
|
||||
if (running) {
|
||||
opacity = 1;
|
||||
} else {
|
||||
opacity = 0;
|
||||
}
|
||||
}
|
||||
|
||||
Behavior on opacity {
|
||||
SequentialAnimation {
|
||||
NumberAnimation {
|
||||
duration: Kirigami.Units.longDuration
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
ImageParticle {
|
||||
source: "qrc:/qt/qml/org/kde/neochat/qml/confetti.png"
|
||||
entryEffect: ImageParticle.Scale
|
||||
rotationVariation: 360
|
||||
rotationVelocity: 90
|
||||
color: Qt.hsla(Math.random(), 0.5, 0.6, 1)
|
||||
colorVariation: 1
|
||||
}
|
||||
|
||||
Emitter {
|
||||
anchors {
|
||||
left: parent.left
|
||||
right: parent.right
|
||||
top: parent.top
|
||||
}
|
||||
|
||||
sizeVariation: Kirigami.Units.iconSizes.small / 2
|
||||
lifeSpan: Kirigami.Units.veryLongDuration * 10
|
||||
size: Kirigami.Units.iconSizes.small
|
||||
|
||||
velocity: AngleDirection {
|
||||
angle: 90
|
||||
angleVariation: 42
|
||||
magnitude: 500
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Snow
|
||||
|
||||
Timer {
|
||||
id: snowTimer
|
||||
interval: root.effectInterval
|
||||
running: false
|
||||
repeat: false
|
||||
triggeredOnStart: true
|
||||
onTriggered: {
|
||||
if (root.enabled) {
|
||||
snowSystem.running = !snowSystem.running;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
ParticleSystem {
|
||||
id: snowSystem
|
||||
anchors.fill: parent
|
||||
|
||||
running: false
|
||||
onRunningChanged: {
|
||||
if (running) {
|
||||
opacity = 1;
|
||||
} else {
|
||||
opacity = 0;
|
||||
}
|
||||
}
|
||||
|
||||
Behavior on opacity {
|
||||
SequentialAnimation {
|
||||
NumberAnimation {
|
||||
duration: Kirigami.Units.longDuration
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
ItemParticle {
|
||||
delegate: Rectangle {
|
||||
width: 10
|
||||
height: width
|
||||
radius: width
|
||||
color: root.isThemeDark ? "white" : darkSnowColor
|
||||
scale: Math.random()
|
||||
opacity: Math.random()
|
||||
}
|
||||
}
|
||||
|
||||
Emitter {
|
||||
anchors {
|
||||
left: parent.left
|
||||
right: parent.right
|
||||
top: parent.top
|
||||
}
|
||||
|
||||
sizeVariation: Kirigami.Units.iconSizes.medium
|
||||
lifeSpan: Kirigami.Units.veryLongDuration * 10
|
||||
size: Kirigami.Units.iconSizes.large
|
||||
emitRate: 42
|
||||
|
||||
velocity: AngleDirection {
|
||||
angle: 90
|
||||
angleVariation: 10
|
||||
magnitude: 300
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Fireworks
|
||||
|
||||
Timer {
|
||||
id: fireworksTimer
|
||||
interval: root.effectInterval
|
||||
running: false
|
||||
repeat: false
|
||||
triggeredOnStart: true
|
||||
onTriggered: {
|
||||
if (root.enabled) {
|
||||
fireworksInternalTimer.running = !fireworksInternalTimer.running;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Timer {
|
||||
id: fireworksInternalTimer
|
||||
interval: 300
|
||||
triggeredOnStart: true
|
||||
running: false
|
||||
repeat: true
|
||||
onTriggered: {
|
||||
var x = Math.random() * parent.width;
|
||||
var y = Math.random() * parent.height;
|
||||
customEmit(x, y);
|
||||
customEmit(x, y);
|
||||
customEmit(x, y);
|
||||
}
|
||||
}
|
||||
|
||||
ParticleSystem {
|
||||
id: fireworksSystem
|
||||
anchors.fill: parent
|
||||
running: fireworksInternalTimer.running
|
||||
onRunningChanged: {
|
||||
if (running) {
|
||||
opacity = 1;
|
||||
} else {
|
||||
opacity = 0;
|
||||
}
|
||||
}
|
||||
|
||||
Behavior on opacity {
|
||||
SequentialAnimation {
|
||||
NumberAnimation {
|
||||
duration: Kirigami.Units.longDuration
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
ImageParticle {
|
||||
id: fireworksParticleA
|
||||
system: fireworksSystem
|
||||
source: "qrc:/qt/qml/org/kde/neochat/qml/glowdot.png"
|
||||
alphaVariation: root.isThemeDark ? 0.1 : 0.1
|
||||
alpha: root.isThemeDark ? 0.5 : 1
|
||||
groups: ["a"]
|
||||
opacity: fireworksSystem.opacity
|
||||
entryEffect: ImageParticle.Scale
|
||||
rotationVariation: 360
|
||||
}
|
||||
|
||||
ImageParticle {
|
||||
system: fireworksSystem
|
||||
source: "qrc:/qt/qml/org/kde/neochat/qml/glowdot.png"
|
||||
color: root.isThemeDark ? "white" : "gold"
|
||||
alphaVariation: root.isThemeDark ? 0.1 : 0.1
|
||||
alpha: root.isThemeDark ? 0.5 : 1
|
||||
groups: ["light"]
|
||||
opacity: fireworksSystem.opacity
|
||||
entryEffect: ImageParticle.Scale
|
||||
rotationVariation: 360
|
||||
}
|
||||
|
||||
ImageParticle {
|
||||
id: fireworksParticleB
|
||||
system: fireworksSystem
|
||||
source: "qrc:/qt/qml/org/kde/neochat/qml/glowdot.png"
|
||||
alphaVariation: root.isThemeDark ? 0.1 : 0.1
|
||||
alpha: root.isThemeDark ? 0.5 : 1
|
||||
groups: ["b"]
|
||||
opacity: fireworksSystem.opacity
|
||||
entryEffect: ImageParticle.Scale
|
||||
rotationVariation: 360
|
||||
}
|
||||
|
||||
Component {
|
||||
id: emitterComp
|
||||
Emitter {
|
||||
id: container
|
||||
property int life: 23
|
||||
property real targetX: 0
|
||||
property real targetY: 0
|
||||
width: 1
|
||||
height: 1
|
||||
system: fireworksSystem
|
||||
size: 16
|
||||
endSize: 8
|
||||
sizeVariation: 5
|
||||
Timer {
|
||||
interval: life
|
||||
running: true
|
||||
onTriggered: {
|
||||
container.destroy();
|
||||
var randomHue = Math.random();
|
||||
var lightness = root.isThemeDark ? 0.8 : 0.7;
|
||||
fireworksParticleA.color = Qt.hsla(randomHue, 0.8, lightness, 1);
|
||||
fireworksParticleB.color = Qt.hsla(1 - randomHue, 0.8, lightness, 1);
|
||||
}
|
||||
}
|
||||
velocity: AngleDirection {
|
||||
angleVariation: 360
|
||||
magnitude: 200
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function customEmit(x, y) {
|
||||
var currentSize = Math.round(Math.random() * 200) + 40;
|
||||
var currentLifeSpan = Math.round(Math.random() * 1000) + 100;
|
||||
for (var i = 0; i < 8; i++) {
|
||||
var obj = emitterComp.createObject(parent);
|
||||
obj.x = x;
|
||||
obj.y = y;
|
||||
obj.targetX = Math.random() * currentSize - currentSize / 2 + obj.x;
|
||||
obj.targetY = Math.random() * currentSize - currentSize / 2 + obj.y;
|
||||
obj.life = Math.round(Math.random() * 23) + 150;
|
||||
obj.emitRate = Math.round(Math.random() * 32) + 5;
|
||||
obj.lifeSpan = currentLifeSpan;
|
||||
const group = Math.round(Math.random() * 3);
|
||||
switch (group) {
|
||||
case 0:
|
||||
obj.group = "light";
|
||||
break;
|
||||
case 1:
|
||||
obj.group = "a";
|
||||
break;
|
||||
case 2:
|
||||
obj.group = "b";
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -16,6 +16,8 @@ Kirigami.ApplicationWindow {
|
||||
|
||||
property NeoChatConnection connection: Controller.activeConnection
|
||||
|
||||
title: Config.windowTitleFocus ? activeFocusItem + " " + (activeFocusItem ? activeFocusItem.Accessible.name : "") : "NeoChat"
|
||||
|
||||
minimumWidth: Kirigami.Units.gridUnit * 20
|
||||
minimumHeight: Kirigami.Units.gridUnit * 15
|
||||
|
||||
@@ -96,12 +98,9 @@ Kirigami.ApplicationWindow {
|
||||
}
|
||||
}
|
||||
|
||||
Loader {
|
||||
id: quickView
|
||||
active: !Kirigami.Settings.isMobile
|
||||
sourceComponent: QuickSwitcher {
|
||||
connection: root.connection
|
||||
}
|
||||
QuickSwitcher {
|
||||
id: quickSwitcher
|
||||
connection: root.connection
|
||||
}
|
||||
|
||||
Connections {
|
||||
@@ -160,8 +159,11 @@ Kirigami.ApplicationWindow {
|
||||
|
||||
connection: root.connection
|
||||
|
||||
handleOpenIcon.source: "arrow-right"
|
||||
handleClosedIcon.source: "arrow-left"
|
||||
handleClosedIcon.source: "documentinfo-symbolic"
|
||||
handleClosedToolTip: i18nc("@action:button", "Show Room Information")
|
||||
|
||||
// Default icon is fine, only need to override the tooltip text
|
||||
handleOpenToolTip: i18nc("@action:button", "Close Room Information Drawer")
|
||||
|
||||
// Connect to the onClicked function of the RoomDrawer handle button
|
||||
Connections {
|
||||
@@ -221,6 +223,8 @@ Kirigami.ApplicationWindow {
|
||||
RoomListPage {
|
||||
id: roomList
|
||||
|
||||
onSearch: quickSwitcher.open()
|
||||
|
||||
connection: root.connection
|
||||
|
||||
Shortcut {
|
||||
|
||||
@@ -6,6 +6,7 @@ import QtQuick.Controls as QQC2
|
||||
import QtQuick.Layouts
|
||||
|
||||
import org.kde.kirigami as Kirigami
|
||||
import org.kde.kirigamiaddons.components
|
||||
import org.kde.kitemmodels
|
||||
|
||||
import org.kde.neochat
|
||||
@@ -19,10 +20,10 @@ QQC2.Dialog {
|
||||
width: Math.min(700, parent.width)
|
||||
height: 400
|
||||
|
||||
leftPadding: 0
|
||||
rightPadding: 0
|
||||
bottomPadding: 1
|
||||
topPadding: 0
|
||||
leftPadding: Kirigami.Units.smallSpacing
|
||||
rightPadding: Kirigami.Units.smallSpacing
|
||||
bottomPadding: Kirigami.Units.smallSpacing
|
||||
topPadding: Kirigami.Units.smallSpacing
|
||||
|
||||
anchors.centerIn: applicationWindow().overlay
|
||||
|
||||
@@ -40,53 +41,60 @@ QQC2.Dialog {
|
||||
roomList.currentIndex = 0;
|
||||
}
|
||||
|
||||
header: Kirigami.SearchField {
|
||||
id: searchField
|
||||
Keys.onDownPressed: {
|
||||
roomList.forceActiveFocus();
|
||||
if (roomList.currentIndex < roomList.count - 1) {
|
||||
roomList.currentIndex++;
|
||||
} else {
|
||||
roomList.currentIndex = 0;
|
||||
background: DialogRoundedBackground {}
|
||||
|
||||
contentItem: ColumnLayout {
|
||||
Kirigami.SearchField {
|
||||
id: searchField
|
||||
Layout.fillWidth: true
|
||||
Keys.onDownPressed: {
|
||||
roomList.forceActiveFocus();
|
||||
if (roomList.currentIndex < roomList.count - 1) {
|
||||
roomList.currentIndex++;
|
||||
} else {
|
||||
roomList.currentIndex = 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
Keys.onUpPressed: {
|
||||
if (roomList.currentIndex === 0) {
|
||||
roomList.currentIndex = roomList.count - 1;
|
||||
} else {
|
||||
roomList.currentIndex--;
|
||||
Keys.onUpPressed: {
|
||||
if (roomList.currentIndex === 0) {
|
||||
roomList.currentIndex = roomList.count - 1;
|
||||
} else {
|
||||
roomList.currentIndex--;
|
||||
}
|
||||
}
|
||||
Keys.onEnterPressed: {
|
||||
RoomManager.resolveResource(roomList.currentItem.currentRoom.id);
|
||||
root.close();
|
||||
}
|
||||
Keys.onReturnPressed: {
|
||||
RoomManager.resolveResource(roomList.currentItem.currentRoom.id);
|
||||
root.close();
|
||||
}
|
||||
focusSequence: ""
|
||||
onTextChanged: RoomManager.sortFilterRoomListModel.filterText = text
|
||||
}
|
||||
Keys.onEnterPressed: {
|
||||
RoomManager.resolveResource(roomList.currentItem.currentRoom.id);
|
||||
root.close();
|
||||
}
|
||||
Keys.onReturnPressed: {
|
||||
RoomManager.resolveResource(roomList.currentItem.currentRoom.id);
|
||||
root.close();
|
||||
}
|
||||
focusSequence: ""
|
||||
onTextChanged: RoomManager.sortFilterRoomListModel.filterText = text
|
||||
}
|
||||
|
||||
QQC2.ScrollView {
|
||||
anchors.fill: parent
|
||||
clip: true
|
||||
QQC2.ScrollView {
|
||||
clip: true
|
||||
|
||||
Keys.forwardTo: searchField
|
||||
|
||||
ListView {
|
||||
id: roomList
|
||||
|
||||
currentIndex: 0
|
||||
highlightMoveDuration: 200
|
||||
Layout.fillWidth: true
|
||||
Layout.fillHeight: true
|
||||
Keys.forwardTo: searchField
|
||||
keyNavigationEnabled: true
|
||||
model: RoomManager.sortFilterRoomListModel
|
||||
|
||||
delegate: RoomDelegate {
|
||||
connection: root.connection
|
||||
onClicked: root.close()
|
||||
ListView {
|
||||
id: roomList
|
||||
|
||||
currentIndex: 0
|
||||
highlightMoveDuration: 200
|
||||
Keys.forwardTo: searchField
|
||||
keyNavigationEnabled: true
|
||||
model: RoomManager.sortFilterRoomListModel
|
||||
|
||||
delegate: RoomDelegate {
|
||||
connection: root.connection
|
||||
onClicked: root.close()
|
||||
showConfigure: false
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -25,6 +25,8 @@ Delegates.RoundedItemDelegate {
|
||||
required property string subtitleText
|
||||
required property string displayName
|
||||
|
||||
property bool showConfigure: true
|
||||
|
||||
property bool collapsed: false
|
||||
|
||||
readonly property bool hasNotifications: contextNotificationCount > 0
|
||||
@@ -130,7 +132,7 @@ Delegates.RoundedItemDelegate {
|
||||
|
||||
QQC2.Button {
|
||||
id: configButton
|
||||
visible: root.hovered && !Kirigami.Settings.isMobile && !Config.compactRoomList && !root.collapsed
|
||||
visible: root.hovered && !Kirigami.Settings.isMobile && !Config.compactRoomList && !root.collapsed && root.showConfigure
|
||||
text: i18n("Configure room")
|
||||
display: QQC2.Button.IconOnly
|
||||
|
||||
|
||||
@@ -29,6 +29,8 @@ Kirigami.Page {
|
||||
|
||||
readonly property bool collapsed: Config.collapsed
|
||||
|
||||
signal search
|
||||
|
||||
onCurrentWidthChanged: pageStack.defaultColumnWidth = root.currentWidth
|
||||
Component.onCompleted: pageStack.defaultColumnWidth = root.currentWidth
|
||||
|
||||
@@ -40,41 +42,41 @@ Kirigami.Page {
|
||||
}
|
||||
|
||||
function goToNextRoomFiltered(condition) {
|
||||
let index = treeView.currentIndex;
|
||||
while (index++ !== treeView.count - 1) {
|
||||
if (condition(treeView.itemAtIndex(index))) {
|
||||
treeView.currentIndex = index;
|
||||
treeView.currentItem.clicked();
|
||||
let index = treeView.rowAtIndex(RoomManager.sortFilterRoomTreeModel.currentRoomIndex());
|
||||
while (index++ < treeView.rows) {
|
||||
let item = treeView.itemAtIndex(treeView.index(index, 0))
|
||||
if (condition(item)) {
|
||||
RoomManager.resolveResource(item.currentRoom.id)
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function goToPreviousRoomFiltered(condition) {
|
||||
let index = treeView.currentIndex;
|
||||
while (index-- !== 0) {
|
||||
if (condition(treeView.itemAtIndex(index))) {
|
||||
treeView.currentIndex = index;
|
||||
treeView.currentItem.clicked();
|
||||
let index = treeView.rowAtIndex(RoomManager.sortFilterRoomTreeModel.currentRoomIndex());
|
||||
while (index-- > 0) {
|
||||
let item = treeView.itemAtIndex(treeView.index(index, 0))
|
||||
if (condition(item)) {
|
||||
RoomManager.resolveResource(item.currentRoom.id)
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function goToNextRoom() {
|
||||
goToNextRoomFiltered(item => item.visible);
|
||||
goToNextRoomFiltered(item => (item && item instanceof RoomDelegate));
|
||||
}
|
||||
|
||||
function goToPreviousRoom() {
|
||||
goToPreviousRoomFiltered(item => item.visible);
|
||||
goToPreviousRoomFiltered(item => (item && item instanceof RoomDelegate));
|
||||
}
|
||||
|
||||
function goToNextUnreadRoom() {
|
||||
goToNextRoomFiltered(item => (item.visible && item.hasUnread));
|
||||
goToNextRoomFiltered(item => (item && item instanceof RoomDelegate && item.hasUnread));
|
||||
}
|
||||
|
||||
function goToPreviousUnreadRoom() {
|
||||
goToPreviousRoomFiltered(item => (item.visible && item.hasUnread));
|
||||
goToPreviousRoomFiltered(item => (item && item instanceof RoomDelegate && item.hasUnread));
|
||||
}
|
||||
|
||||
titleDelegate: Loader {
|
||||
@@ -89,6 +91,10 @@ Kirigami.Page {
|
||||
function onCurrentSpaceChanged() {
|
||||
treeView.expandRecursively();
|
||||
}
|
||||
|
||||
function onCurrentRoomChanged() {
|
||||
treeView.positionViewAtIndex(RoomManager.sortFilterRoomTreeModel.currentRoomIndex(), TableView.AlignVCenter)
|
||||
}
|
||||
}
|
||||
|
||||
RowLayout {
|
||||
@@ -160,22 +166,6 @@ Kirigami.Page {
|
||||
}
|
||||
}
|
||||
|
||||
DelegateChoice {
|
||||
roleValue: "search"
|
||||
delegate: Delegates.RoundedItemDelegate {
|
||||
required property TreeView treeView
|
||||
|
||||
implicitWidth: treeView.width
|
||||
onClicked: quickView.item.open()
|
||||
|
||||
contentItem: Kirigami.Icon {
|
||||
width: Kirigami.Units.iconSizes.smallMedium
|
||||
height: Kirigami.Units.iconSizes.smallMedium
|
||||
source: "search"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
DelegateChoice {
|
||||
roleValue: "addDirect"
|
||||
delegate: Delegates.RoundedItemDelegate {
|
||||
@@ -308,6 +298,8 @@ Kirigami.Page {
|
||||
collapsed: root.collapsed
|
||||
connection: root.connection
|
||||
|
||||
onSearch: root.search()
|
||||
|
||||
onTextChanged: newText => {
|
||||
RoomManager.sortFilterRoomTreeModel.filterText = newText;
|
||||
treeView.expandRecursively();
|
||||
|
||||
@@ -21,269 +21,281 @@ QQC2.Control {
|
||||
topPadding: 0
|
||||
bottomPadding: 0
|
||||
|
||||
contentItem: Loader {
|
||||
id: sidebarColumn
|
||||
z: 0
|
||||
onActiveFocusChanged: if (activeFocus) {
|
||||
notificationsButton.forceActiveFocus();
|
||||
}
|
||||
|
||||
sourceComponent: ColumnLayout {
|
||||
spacing: 0
|
||||
contentItem: ColumnLayout {
|
||||
spacing: 0
|
||||
|
||||
QQC2.ScrollView {
|
||||
id: scrollView
|
||||
Layout.fillWidth: true
|
||||
Layout.fillHeight: true
|
||||
QQC2.ScrollView {
|
||||
id: scrollView
|
||||
Layout.fillWidth: true
|
||||
Layout.fillHeight: true
|
||||
|
||||
QQC2.ScrollBar.vertical.policy: QQC2.ScrollBar.AlwaysOff
|
||||
QQC2.ScrollBar.horizontal.policy: QQC2.ScrollBar.AlwaysOff
|
||||
contentWidth: -1 // disable horizontal scroll
|
||||
QQC2.ScrollBar.vertical.policy: QQC2.ScrollBar.AlwaysOff
|
||||
QQC2.ScrollBar.horizontal.policy: QQC2.ScrollBar.AlwaysOff
|
||||
contentWidth: -1 // disable horizontal scroll
|
||||
|
||||
background: Rectangle {
|
||||
color: Kirigami.Theme.backgroundColor
|
||||
Kirigami.Theme.colorSet: Kirigami.Theme.View
|
||||
background: Rectangle {
|
||||
color: Kirigami.Theme.backgroundColor
|
||||
Kirigami.Theme.colorSet: Kirigami.Theme.View
|
||||
}
|
||||
|
||||
ColumnLayout {
|
||||
id: column
|
||||
width: scrollView.width
|
||||
spacing: 0
|
||||
|
||||
AvatarTabButton {
|
||||
id: notificationsButton
|
||||
|
||||
Layout.fillWidth: true
|
||||
Layout.preferredHeight: width - Kirigami.Units.smallSpacing
|
||||
Layout.maximumHeight: width - Kirigami.Units.smallSpacing
|
||||
Layout.topMargin: Kirigami.Units.smallSpacing / 2
|
||||
Layout.bottomMargin: Kirigami.Units.smallSpacing / 2
|
||||
text: i18n("View notifications")
|
||||
contentItem: Kirigami.Icon {
|
||||
source: "notifications"
|
||||
}
|
||||
|
||||
activeFocusOnTab: true
|
||||
|
||||
onClicked: pageStack.pushDialogLayer(Qt.createComponent('org.kde.neochat', 'NotificationsView'), {
|
||||
connection: root.connection
|
||||
}, {
|
||||
title: i18nc("@title", "Notifications")
|
||||
})
|
||||
}
|
||||
|
||||
ColumnLayout {
|
||||
id: column
|
||||
width: scrollView.width
|
||||
spacing: 0
|
||||
Kirigami.Separator {
|
||||
Layout.fillWidth: true
|
||||
Layout.leftMargin: Kirigami.Units.smallSpacing
|
||||
Layout.rightMargin: Kirigami.Units.smallSpacing
|
||||
}
|
||||
|
||||
AvatarTabButton {
|
||||
id: notificationsButton
|
||||
AvatarTabButton {
|
||||
id: allRoomButton
|
||||
|
||||
Layout.fillWidth: true
|
||||
Layout.preferredHeight: width - Kirigami.Units.smallSpacing
|
||||
Layout.maximumHeight: width - Kirigami.Units.smallSpacing
|
||||
Layout.topMargin: Kirigami.Units.smallSpacing / 2
|
||||
|
||||
text: i18n("Home")
|
||||
contentItem: Kirigami.Icon {
|
||||
source: "user-home-symbolic"
|
||||
}
|
||||
|
||||
activeFocusOnTab: true
|
||||
|
||||
checked: RoomManager.currentSpace.length === 0
|
||||
onClicked: {
|
||||
RoomManager.currentSpace = "";
|
||||
root.selectionChanged();
|
||||
}
|
||||
|
||||
QQC2.Label {
|
||||
id: homeNotificationCountLabel
|
||||
anchors.top: parent.top
|
||||
anchors.right: parent.right
|
||||
anchors.rightMargin: Kirigami.Units.smallSpacing / 2
|
||||
z: 1
|
||||
width: Math.max(homeNotificationCountTextMetrics.advanceWidth + Kirigami.Units.smallSpacing * 2, height)
|
||||
height: Kirigami.Units.iconSizes.smallMedium
|
||||
|
||||
text: root.connection.homeNotifications > 0 ? root.connection.homeNotifications : ""
|
||||
visible: root.connection.homeNotifications > 0 && (RoomManager.currentSpace.length > 0 || root.showDirectChats === true)
|
||||
color: Kirigami.Theme.textColor
|
||||
horizontalAlignment: Text.AlignHCenter
|
||||
background: Rectangle {
|
||||
visible: true
|
||||
Kirigami.Theme.colorSet: Kirigami.Theme.Button
|
||||
Kirigami.Theme.inherit: false
|
||||
color: root.connection.homeHaveHighlightNotifications ? Kirigami.Theme.positiveTextColor : Kirigami.Theme.backgroundColor
|
||||
radius: height / 2
|
||||
}
|
||||
|
||||
TextMetrics {
|
||||
id: homeNotificationCountTextMetrics
|
||||
text: homeNotificationCountLabel.text
|
||||
}
|
||||
}
|
||||
}
|
||||
AvatarTabButton {
|
||||
id: directChatButton
|
||||
|
||||
Layout.fillWidth: true
|
||||
Layout.preferredHeight: width - Kirigami.Units.smallSpacing
|
||||
Layout.maximumHeight: width - Kirigami.Units.smallSpacing
|
||||
Layout.topMargin: Kirigami.Units.smallSpacing / 2
|
||||
|
||||
text: i18nc("@button View all one-on-one chats with your friends.", "Friends")
|
||||
contentItem: Kirigami.Icon {
|
||||
source: "system-users"
|
||||
}
|
||||
|
||||
activeFocusOnTab: true
|
||||
|
||||
checked: RoomManager.currentSpace === "DM"
|
||||
onClicked: {
|
||||
RoomManager.currentSpace = "DM";
|
||||
root.selectionChanged();
|
||||
}
|
||||
|
||||
QQC2.Label {
|
||||
id: directChatNotificationCountLabel
|
||||
anchors.top: parent.top
|
||||
anchors.right: parent.right
|
||||
anchors.rightMargin: Kirigami.Units.smallSpacing / 2
|
||||
z: 1
|
||||
width: Math.max(directChatNotificationCountTextMetrics.advanceWidth + Kirigami.Units.smallSpacing * 2, height)
|
||||
height: Kirigami.Units.iconSizes.smallMedium
|
||||
|
||||
text: root.connection.directChatNotifications > 0 ? root.connection.directChatNotifications : ""
|
||||
visible: (root.connection.directChatNotifications > 0 || root.connection.directChatInvites) && RoomManager.currentSpace !== "DM"
|
||||
color: Kirigami.Theme.textColor
|
||||
horizontalAlignment: Text.AlignHCenter
|
||||
background: Rectangle {
|
||||
visible: true
|
||||
Kirigami.Theme.colorSet: Kirigami.Theme.Button
|
||||
Kirigami.Theme.inherit: false
|
||||
color: root.connection.directChatsHaveHighlightNotifications ? Kirigami.Theme.positiveTextColor : Kirigami.Theme.backgroundColor
|
||||
radius: height / 2
|
||||
}
|
||||
|
||||
TextMetrics {
|
||||
id: directChatNotificationCountTextMetrics
|
||||
text: directChatNotificationCountLabel.text
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Repeater {
|
||||
model: RoomManager.sortFilterSpaceListModel
|
||||
|
||||
delegate: AvatarTabButton {
|
||||
id: spaceDelegate
|
||||
|
||||
required property string displayName
|
||||
required property string avatar
|
||||
required property string roomId
|
||||
required property var currentRoom
|
||||
|
||||
Layout.fillWidth: true
|
||||
Layout.preferredHeight: width - Kirigami.Units.smallSpacing
|
||||
Layout.maximumHeight: width - Kirigami.Units.smallSpacing
|
||||
Layout.topMargin: Kirigami.Units.smallSpacing / 2
|
||||
Layout.bottomMargin: Kirigami.Units.smallSpacing / 2
|
||||
text: i18n("View notifications")
|
||||
contentItem: Kirigami.Icon {
|
||||
source: "notifications"
|
||||
}
|
||||
|
||||
onClicked: pageStack.pushDialogLayer(Qt.createComponent('org.kde.neochat', 'NotificationsView'), {
|
||||
text: displayName
|
||||
source: avatar ? ("image://mxc/" + avatar) : ""
|
||||
|
||||
activeFocusOnTab: true
|
||||
|
||||
onSelected: {
|
||||
RoomManager.resolveResource(spaceDelegate.roomId);
|
||||
RoomManager.currentSpace = spaceDelegate.roomId;
|
||||
}
|
||||
checked: RoomManager.currentSpace === roomId
|
||||
onContextMenuRequested: root.createContextMenu(currentRoom)
|
||||
|
||||
QQC2.Label {
|
||||
id: notificationCountLabel
|
||||
anchors.top: parent.top
|
||||
anchors.right: parent.right
|
||||
anchors.rightMargin: Kirigami.Units.smallSpacing / 2
|
||||
z: 1
|
||||
width: Math.max(notificationCountTextMetrics.advanceWidth + Kirigami.Units.smallSpacing * 2, height)
|
||||
height: Kirigami.Units.iconSizes.smallMedium
|
||||
|
||||
text: spaceDelegate.currentRoom.childrenNotificationCount > 0 ? spaceDelegate.currentRoom.childrenNotificationCount : ""
|
||||
visible: spaceDelegate.currentRoom.childrenNotificationCount > 0 && RoomManager.currentSpace != spaceDelegate.roomId
|
||||
color: Kirigami.Theme.textColor
|
||||
horizontalAlignment: Text.AlignHCenter
|
||||
verticalAlignment: Text.AlignVCenter
|
||||
background: Rectangle {
|
||||
visible: true
|
||||
Kirigami.Theme.colorSet: Kirigami.Theme.Button
|
||||
Kirigami.Theme.inherit: false
|
||||
color: spaceDelegate.currentRoom.childrenHaveHighlightNotifications ? Kirigami.Theme.positiveTextColor : Kirigami.Theme.backgroundColor
|
||||
radius: height / 2
|
||||
}
|
||||
|
||||
TextMetrics {
|
||||
id: notificationCountTextMetrics
|
||||
text: notificationCountLabel.text
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
AvatarTabButton {
|
||||
id: recommendedSpaceButton
|
||||
Layout.fillWidth: true
|
||||
Layout.preferredHeight: width - Kirigami.Units.smallSpacing
|
||||
Layout.maximumHeight: width - Kirigami.Units.smallSpacing
|
||||
|
||||
activeFocusOnTab: true
|
||||
|
||||
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) : ""
|
||||
onClicked: {
|
||||
recommendedSpaceDialogComponent.createObject(QQC2.ApplicationWindow.overlay, {
|
||||
connection: root.connection
|
||||
}, {
|
||||
title: i18nc("@title", "Notifications")
|
||||
})
|
||||
}).open();
|
||||
}
|
||||
|
||||
Kirigami.Separator {
|
||||
Layout.fillWidth: true
|
||||
Layout.leftMargin: Kirigami.Units.smallSpacing
|
||||
Layout.rightMargin: Kirigami.Units.smallSpacing
|
||||
Component {
|
||||
id: recommendedSpaceDialogComponent
|
||||
RecommendedSpaceDialog {}
|
||||
}
|
||||
|
||||
AvatarTabButton {
|
||||
id: allRoomButton
|
||||
|
||||
Layout.fillWidth: true
|
||||
Layout.preferredHeight: width - Kirigami.Units.smallSpacing
|
||||
Layout.maximumHeight: width - Kirigami.Units.smallSpacing
|
||||
Layout.topMargin: Kirigami.Units.smallSpacing / 2
|
||||
|
||||
text: i18n("Home")
|
||||
contentItem: Kirigami.Icon {
|
||||
source: "user-home-symbolic"
|
||||
}
|
||||
|
||||
checked: RoomManager.currentSpace.length === 0
|
||||
onClicked: {
|
||||
RoomManager.currentSpace = "";
|
||||
root.selectionChanged();
|
||||
}
|
||||
|
||||
QQC2.Label {
|
||||
id: homeNotificationCountLabel
|
||||
anchors.top: parent.top
|
||||
anchors.right: parent.right
|
||||
anchors.rightMargin: Kirigami.Units.smallSpacing / 2
|
||||
z: 1
|
||||
width: Math.max(homeNotificationCountTextMetrics.advanceWidth + Kirigami.Units.smallSpacing * 2, height)
|
||||
height: Kirigami.Units.iconSizes.smallMedium
|
||||
|
||||
text: root.connection.homeNotifications > 0 ? root.connection.homeNotifications : ""
|
||||
visible: root.connection.homeNotifications > 0 && (RoomManager.currentSpace.length > 0 || root.showDirectChats === true)
|
||||
color: Kirigami.Theme.textColor
|
||||
horizontalAlignment: Text.AlignHCenter
|
||||
background: Rectangle {
|
||||
visible: true
|
||||
Kirigami.Theme.colorSet: Kirigami.Theme.Button
|
||||
Kirigami.Theme.inherit: false
|
||||
color: root.connection.homeHaveHighlightNotifications ? Kirigami.Theme.positiveTextColor : Kirigami.Theme.backgroundColor
|
||||
radius: height / 2
|
||||
}
|
||||
|
||||
TextMetrics {
|
||||
id: homeNotificationCountTextMetrics
|
||||
text: homeNotificationCountLabel.text
|
||||
}
|
||||
}
|
||||
}
|
||||
AvatarTabButton {
|
||||
id: directChatButton
|
||||
|
||||
Layout.fillWidth: true
|
||||
Layout.preferredHeight: width - Kirigami.Units.smallSpacing
|
||||
Layout.maximumHeight: width - Kirigami.Units.smallSpacing
|
||||
Layout.topMargin: Kirigami.Units.smallSpacing / 2
|
||||
|
||||
text: i18nc("@button View all one-on-one chats with your friends.", "Friends")
|
||||
contentItem: Kirigami.Icon {
|
||||
source: "system-users"
|
||||
}
|
||||
|
||||
checked: RoomManager.currentSpace === "DM"
|
||||
onClicked: {
|
||||
RoomManager.currentSpace = "DM";
|
||||
root.selectionChanged();
|
||||
}
|
||||
|
||||
QQC2.Label {
|
||||
id: directChatNotificationCountLabel
|
||||
anchors.top: parent.top
|
||||
anchors.right: parent.right
|
||||
anchors.rightMargin: Kirigami.Units.smallSpacing / 2
|
||||
z: 1
|
||||
width: Math.max(directChatNotificationCountTextMetrics.advanceWidth + Kirigami.Units.smallSpacing * 2, height)
|
||||
height: Kirigami.Units.iconSizes.smallMedium
|
||||
|
||||
text: root.connection.directChatNotifications > 0 ? root.connection.directChatNotifications : ""
|
||||
visible: (root.connection.directChatNotifications > 0 || root.connection.directChatInvites) && RoomManager.currentSpace !== "DM"
|
||||
color: Kirigami.Theme.textColor
|
||||
horizontalAlignment: Text.AlignHCenter
|
||||
background: Rectangle {
|
||||
visible: true
|
||||
Kirigami.Theme.colorSet: Kirigami.Theme.Button
|
||||
Kirigami.Theme.inherit: false
|
||||
color: root.connection.directChatsHaveHighlightNotifications ? Kirigami.Theme.positiveTextColor : Kirigami.Theme.backgroundColor
|
||||
radius: height / 2
|
||||
}
|
||||
|
||||
TextMetrics {
|
||||
id: directChatNotificationCountTextMetrics
|
||||
text: directChatNotificationCountLabel.text
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Repeater {
|
||||
model: RoomManager.sortFilterSpaceListModel
|
||||
|
||||
delegate: AvatarTabButton {
|
||||
id: spaceDelegate
|
||||
|
||||
required property string displayName
|
||||
required property string avatar
|
||||
required property string roomId
|
||||
required property var currentRoom
|
||||
|
||||
Layout.fillWidth: true
|
||||
Layout.preferredHeight: width - Kirigami.Units.smallSpacing
|
||||
Layout.maximumHeight: width - Kirigami.Units.smallSpacing
|
||||
|
||||
text: displayName
|
||||
source: avatar ? ("image://mxc/" + avatar) : ""
|
||||
|
||||
onSelected: {
|
||||
RoomManager.resolveResource(spaceDelegate.roomId);
|
||||
RoomManager.currentSpace = spaceDelegate.roomId;
|
||||
}
|
||||
checked: RoomManager.currentSpace === roomId
|
||||
onContextMenuRequested: root.createContextMenu(currentRoom)
|
||||
|
||||
QQC2.Label {
|
||||
id: notificationCountLabel
|
||||
anchors.top: parent.top
|
||||
anchors.right: parent.right
|
||||
anchors.rightMargin: Kirigami.Units.smallSpacing / 2
|
||||
z: 1
|
||||
width: Math.max(notificationCountTextMetrics.advanceWidth + Kirigami.Units.smallSpacing * 2, height)
|
||||
height: Kirigami.Units.iconSizes.smallMedium
|
||||
|
||||
text: spaceDelegate.currentRoom.childrenNotificationCount > 0 ? spaceDelegate.currentRoom.childrenNotificationCount : ""
|
||||
visible: spaceDelegate.currentRoom.childrenNotificationCount > 0 && RoomManager.currentSpace != spaceDelegate.roomId
|
||||
color: Kirigami.Theme.textColor
|
||||
horizontalAlignment: Text.AlignHCenter
|
||||
verticalAlignment: Text.AlignVCenter
|
||||
background: Rectangle {
|
||||
visible: true
|
||||
Kirigami.Theme.colorSet: Kirigami.Theme.Button
|
||||
Kirigami.Theme.inherit: false
|
||||
color: spaceDelegate.currentRoom.childrenHaveHighlightNotifications ? Kirigami.Theme.positiveTextColor : Kirigami.Theme.backgroundColor
|
||||
radius: height / 2
|
||||
}
|
||||
|
||||
TextMetrics {
|
||||
id: notificationCountTextMetrics
|
||||
text: notificationCountLabel.text
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
AvatarTabButton {
|
||||
id: recommendedSpaceButton
|
||||
Layout.fillWidth: true
|
||||
Layout.preferredHeight: width - Kirigami.Units.smallSpacing
|
||||
Layout.maximumHeight: width - Kirigami.Units.smallSpacing
|
||||
|
||||
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) : ""
|
||||
onClicked: {
|
||||
recommendedSpaceDialogComponent.createObject(QQC2.ApplicationWindow.overlay, {
|
||||
connection: root.connection
|
||||
}).open();
|
||||
}
|
||||
Component {
|
||||
id: recommendedSpaceDialogComponent
|
||||
RecommendedSpaceDialog {}
|
||||
}
|
||||
Rectangle {
|
||||
color: Kirigami.Theme.backgroundColor
|
||||
width: Kirigami.Units.gridUnit * 1.5
|
||||
height: width
|
||||
anchors.bottom: parent.bottom
|
||||
anchors.bottomMargin: Kirigami.Units.smallSpacing
|
||||
anchors.rightMargin: Kirigami.Units.smallSpacing * 2
|
||||
anchors.right: parent.right
|
||||
radius: width / 2
|
||||
z: parent.z + 1
|
||||
Kirigami.Icon {
|
||||
anchors.fill: parent
|
||||
z: parent + 1
|
||||
source: "list-add"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Kirigami.Separator {
|
||||
Layout.fillWidth: true
|
||||
Layout.topMargin: Kirigami.Units.smallSpacing / 2
|
||||
Layout.bottomMargin: Kirigami.Units.smallSpacing / 2
|
||||
Layout.leftMargin: Kirigami.Units.smallSpacing
|
||||
Layout.rightMargin: Kirigami.Units.smallSpacing
|
||||
}
|
||||
|
||||
AvatarTabButton {
|
||||
Layout.fillWidth: true
|
||||
Layout.preferredHeight: width - Kirigami.Units.smallSpacing
|
||||
Layout.maximumHeight: width - Kirigami.Units.smallSpacing
|
||||
|
||||
text: i18n("Create a space")
|
||||
contentItem: Kirigami.Icon {
|
||||
Rectangle {
|
||||
color: Kirigami.Theme.backgroundColor
|
||||
width: Kirigami.Units.gridUnit * 1.5
|
||||
height: width
|
||||
anchors.bottom: parent.bottom
|
||||
anchors.bottomMargin: Kirigami.Units.smallSpacing
|
||||
anchors.rightMargin: Kirigami.Units.smallSpacing * 2
|
||||
anchors.right: parent.right
|
||||
radius: width / 2
|
||||
z: parent.z + 1
|
||||
Kirigami.Icon {
|
||||
anchors.fill: parent
|
||||
z: parent + 1
|
||||
source: "list-add"
|
||||
}
|
||||
onClicked: pageStack.pushDialogLayer(Qt.createComponent('org.kde.neochat', 'CreateRoomDialog'), {
|
||||
connection: root.connection,
|
||||
isSpace: true,
|
||||
title: i18nc("@title", "Create a Space")
|
||||
}, {
|
||||
title: i18nc("@title", "Create a Space")
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
Kirigami.Separator {
|
||||
Layout.fillWidth: true
|
||||
Layout.topMargin: Kirigami.Units.smallSpacing / 2
|
||||
Layout.bottomMargin: Kirigami.Units.smallSpacing / 2
|
||||
Layout.leftMargin: Kirigami.Units.smallSpacing
|
||||
Layout.rightMargin: Kirigami.Units.smallSpacing
|
||||
}
|
||||
|
||||
AvatarTabButton {
|
||||
Layout.fillWidth: true
|
||||
Layout.preferredHeight: width - Kirigami.Units.smallSpacing
|
||||
Layout.maximumHeight: width - Kirigami.Units.smallSpacing
|
||||
|
||||
text: i18n("Create a space")
|
||||
contentItem: Kirigami.Icon {
|
||||
source: "list-add"
|
||||
}
|
||||
|
||||
activeFocusOnTab: true
|
||||
|
||||
onClicked: pageStack.pushDialogLayer(Qt.createComponent('org.kde.neochat', 'CreateRoomDialog'), {
|
||||
connection: root.connection,
|
||||
isSpace: true,
|
||||
title: i18nc("@title", "Create a Space")
|
||||
}, {
|
||||
title: i18nc("@title", "Create a Space")
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -312,46 +312,6 @@ QQC2.ScrollView {
|
||||
}
|
||||
}
|
||||
|
||||
Rectangle {
|
||||
FancyEffectsContainer {
|
||||
id: fancyEffectsContainer
|
||||
anchors.fill: parent
|
||||
z: 100
|
||||
|
||||
enabled: Config.showFancyEffects
|
||||
|
||||
function processFancyEffectsReason(fancyEffect) {
|
||||
if (fancyEffect === "snowflake") {
|
||||
fancyEffectsContainer.showSnowEffect();
|
||||
}
|
||||
if (fancyEffect === "fireworks") {
|
||||
fancyEffectsContainer.showFireworksEffect();
|
||||
}
|
||||
if (fancyEffect === "confetti") {
|
||||
fancyEffectsContainer.showConfettiEffect();
|
||||
}
|
||||
}
|
||||
|
||||
Connections {
|
||||
//enabled: Config.showFancyEffects
|
||||
target: root.timelineModel.messageEventModel
|
||||
|
||||
function onFancyEffectsReasonFound(fancyEffect) {
|
||||
fancyEffectsContainer.processFancyEffectsReason(fancyEffect);
|
||||
}
|
||||
}
|
||||
|
||||
Connections {
|
||||
enabled: Config.showFancyEffects
|
||||
target: actionsHandler
|
||||
|
||||
function onShowEffect(fancyEffect) {
|
||||
fancyEffectsContainer.processFancyEffectsReason(fancyEffect);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function goToLastMessage() {
|
||||
root.currentRoom.markAllMessagesAsRead();
|
||||
// scroll to the very end, i.e to messageListView.YEnd
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user