Compare commits

..

17 Commits

Author SHA1 Message Date
Slawek Kaplonski
4732d41242 Mark all messages as read on current room change
When user enters to the room, all messages from that room should
be already marked as ready without need to e.g. scroll up and then down
to the bottom again.
2023-04-15 14:29:46 +02:00
James Graham
516b1cff88 Document publicroomlistmodel 2023-04-15 09:00:49 +00:00
James Graham
6438977964 Document messagefiltermodel 2023-04-15 08:46:45 +00:00
James Graham
d750263d39 Document keywordnotificationrulemodel 2023-04-15 08:32:35 +00:00
James Graham
3ed952db9e Document emojimodel 2023-04-15 08:15:23 +00:00
James Graham
f8040a1bf6 Guard getTagType and isCloseTag
Add guard clauses for getTagType and isCloseTag to avoid crashing if the string is empty.

CCBUG: 468448
2023-04-15 07:59:05 +00:00
l10n daemon script
d83b31fd86 GIT_SILENT Sync po/docbooks with svn 2023-04-15 01:59:35 +00:00
James Graham
e0dbb657f6 Document devicesmodel 2023-04-14 13:14:39 +00:00
James Graham
a807cc6143 Document customemojimodel 2023-04-14 12:57:05 +00:00
l10n daemon script
fe064c0ef8 GIT_SILENT Sync po/docbooks with svn 2023-04-14 01:50:25 +00:00
James Graham
6cc773426f Document completionmodel
Document completionmodel and remove unnecessary includes
2023-04-13 17:35:44 +00:00
James Graham
db94408ba6 Document completionproxymodel 2023-04-13 17:15:38 +00:00
James Graham
333bd3cdb9 Document collapsestateproxymodel
Document collapsestateproxymodel and make som public functions private.
2023-04-13 16:41:41 +00:00
l10n daemon script
9a0d82eb31 GIT_SILENT Sync po/docbooks with svn 2023-04-13 01:58:59 +00:00
James Graham
0990c0507c Document actionsmodel and cleanup includes 2023-04-12 21:12:14 +00:00
Heiko Becker
9f76ce22c1 GIT_SILENT Update Appstream for new release
(cherry picked from commit 2c3ce1e88b)
2023-04-12 19:09:48 +02:00
l10n daemon script
6acd6075ff GIT_SILENT Sync po/docbooks with svn 2023-04-12 01:55:28 +00:00
91 changed files with 4858 additions and 4116 deletions

View File

@@ -68,6 +68,12 @@ set_package_properties(KF${QT_MAJOR_VERSION}Kirigami2 PROPERTIES
)
find_package(KF${QT_MAJOR_VERSION}KirigamiAddons 0.7.2 REQUIRED)
find_package(Qt${QT_MAJOR_VERSION}Keychain)
set_package_properties(Qt${QT_MAJOR_VERSION}Keychain PROPERTIES
TYPE REQUIRED
PURPOSE "Secure storage of account secrets"
)
if(ANDROID)
find_package(OpenSSL)
set_package_properties(OpenSSL PROPERTIES
@@ -87,7 +93,7 @@ if (NOT ANDROID AND NOT WIN32 AND NOT APPLE)
find_package(KF${QT_MAJOR_VERSION}DBusAddons ${KF_MIN_VERSION} REQUIRED)
endif()
find_package(Quotient 0.7)
find_package(Quotient 0.6)
set_package_properties(Quotient PROPERTIES
TYPE REQUIRED
DESCRIPTION "Qt wrapper around Matrix API"
@@ -125,6 +131,9 @@ set_package_properties(KF${QT_MAJOR_VERSION}DocTools PROPERTIES DESCRIPTION
TYPE OPTIONAL
)
if(NOT Quotient_VERSION_MINOR GREATER 6)
cmake_policy(SET CMP0063 OLD)
endif()
if(ANDROID)
find_package(Sqlite3)
@@ -141,7 +150,7 @@ install(FILES org.kde.neochat.tray.svg DESTINATION ${KDE_INSTALL_FULL_ICONDIR}/h
add_definitions(-DQT_NO_FOREACH)
add_subdirectory(src)
if (BUILD_TESTING)
if (BUILD_TESTING AND Quotient_VERSION_MINOR GREATER 6)
find_package(Qt${QT_MAJOR_VERSION} ${QT_MIN_VERSION} NO_MODULE COMPONENTS Test)
add_subdirectory(autotests)
endif()

View File

@@ -65,6 +65,7 @@ private Q_SLOTS:
void receiveRichEdited();
};
#ifdef QUOTIENT_07
void TextHandlerTest::initTestCase()
{
connection = Connection::makeMockConnection(QStringLiteral("@bob:kde.org"));
@@ -197,6 +198,7 @@ void TextHandlerTest::initTestCase()
SyncRoomData roomData(QStringLiteral("@bob:kde.org"), JoinState::Join, json.object());
room->update(std::move(roomData));
}
#endif
void TextHandlerTest::allowedAttributes()
{
@@ -471,6 +473,7 @@ void TextHandlerTest::receiveRichtextIn()
QCOMPARE(testTextHandler.handleRecieveRichText(), testOutputString);
}
#ifdef QUOTIENT_07
void TextHandlerTest::receiveRichMxcUrl()
{
const QString testInputString = QStringLiteral(
@@ -488,6 +491,7 @@ void TextHandlerTest::receiveRichMxcUrl()
QCOMPARE(testTextHandler.handleRecieveRichText(Qt::RichText, room, room->messageEvents().at(0).get()), testOutputString);
}
#endif
/**
* For when your rich input string has a plain text url left in.

View File

@@ -231,6 +231,7 @@
<content_attribute id="social-chat">intense</content_attribute>
</content_rating>
<releases>
<release version="23.04.0" date="2023-04-20"/>
<release version="23.01" date="2023-01-30">
<url>https://plasma-mobile.org/2023/01/30/january-blog-post/</url>
<description>

View File

@@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: neochat\n"
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
"POT-Creation-Date: 2023-04-11 00:48+0000\n"
"POT-Creation-Date: 2023-04-13 00:49+0000\n"
"PO-Revision-Date: 2023-04-06 09:41+0400\n"
"Last-Translator: Zayed Al-Saidi <zayed.alsaidi@gmail.com>\n"
"Language-Team: ar\n"
@@ -220,311 +220,311 @@ msgstr "لا يتبع معرف الوسائط '%1' نمط معرف الوسائ
msgid "Image request has been cancelled"
msgstr "طلب الصورة ألغي"
#: src/models/actionsmodel.cpp:24
#: src/models/actionsmodel.cpp:23
#, kde-format
msgid "Leaving this room."
msgstr "يترك هذه الغرفة."
#: src/models/actionsmodel.cpp:31 src/models/actionsmodel.cpp:230
#: src/models/actionsmodel.cpp:257 src/models/actionsmodel.cpp:288
#: src/models/actionsmodel.cpp:30 src/models/actionsmodel.cpp:229
#: src/models/actionsmodel.cpp:256 src/models/actionsmodel.cpp:287
#, 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' كمعرف أو اسم لغرفة."
#: src/models/actionsmodel.cpp:39
#: src/models/actionsmodel.cpp:38
#, kde-format
msgctxt "Leaving room <roomname>."
msgid "Leaving room %1."
msgstr "يترك غرفة %1."
#: src/models/actionsmodel.cpp:42
#: src/models/actionsmodel.cpp:41
#, kde-format
msgctxt "Room <roomname> not found"
msgid "Room %1 not found."
msgstr "لم يعثر على غرفة %1"
#: src/models/actionsmodel.cpp:50 src/models/actionsmodel.cpp:324
#: src/models/actionsmodel.cpp:49 src/models/actionsmodel.cpp:323
#, 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:64 src/models/actionsmodel.cpp:74
#: src/models/actionsmodel.cpp:84 src/models/actionsmodel.cpp:94
#: src/models/actionsmodel.cpp:114 src/models/actionsmodel.cpp:134
#: src/models/actionsmodel.cpp:145 src/models/actionsmodel.cpp:161
#: src/models/actionsmodel.cpp:171 src/models/actionsmodel.cpp:181
msgid "<message>"
msgstr "<رسالة>"
#: src/models/actionsmodel.cpp:66
#: src/models/actionsmodel.cpp:65
msgid "Prepends ¯\\_(ツ)_/¯ to a plain-text message"
msgstr "تضيف ‎¯\\_(ツ)_/‎¯‎ إلى رسالة نصية صرفة"
#: src/models/actionsmodel.cpp:76
#: src/models/actionsmodel.cpp:75
msgid "Prepends ( ͡° ͜ʖ ͡°) to a plain-text message"
msgstr "تضيف ( ͡‎°‎ ͜‎ʖ‎ ͡‎°‎) إلى رسالة نصية صرفة"
#: src/models/actionsmodel.cpp:86
#: src/models/actionsmodel.cpp:85
msgid "Prepends (╯°□°)╯︵ ┻━┻ to a plain-text message"
msgstr "تضيف (‎‎‎╯‎°‎□‎°‎)‎╯‎︵ ‎┻━┻‎ إلى رسالة نصية صرفة"
#: src/models/actionsmodel.cpp:96
#: src/models/actionsmodel.cpp:95
msgid "Prepends ┬──┬ ( ゜-゜ノ) to a plain-text message"
msgstr "تضيف ┬──┬ ( ‎゜‎-‎゜‎ノ‎) إلى رسالة نصية صرفة"
#: src/models/actionsmodel.cpp:116
#: src/models/actionsmodel.cpp:115
msgid "Sends the given message colored as a rainbow"
msgstr "يرسل الرسالة المعطاة ملونة على شكل قوس قزح"
#: src/models/actionsmodel.cpp:136
#: src/models/actionsmodel.cpp:135
msgid "Sends the given emote colored as a rainbow"
msgstr "يرسل التعبيرات المعطاة ملونة على شكل قوس قزح"
#: src/models/actionsmodel.cpp:147
#: src/models/actionsmodel.cpp:146
msgid "Sends the given message as plain text"
msgstr "يرسل الرسالة المعطاة نص صرف"
#: src/models/actionsmodel.cpp:163
#: src/models/actionsmodel.cpp:162
msgid "Sends the given message as a spoiler"
msgstr "يرسل الرسالة المعطاة كرسالة مخفية"
#: src/models/actionsmodel.cpp:173
#: src/models/actionsmodel.cpp:172
msgid "Sends the given emote"
msgstr "يرسل التعبير المعطى"
#: src/models/actionsmodel.cpp:183
#: src/models/actionsmodel.cpp:182
msgid "Sends the given message as a notice"
msgstr "يرسل الرسالة المعطاة كإشعار"
#: src/models/actionsmodel.cpp:192 src/models/actionsmodel.cpp:358
#: src/models/actionsmodel.cpp:386 src/models/actionsmodel.cpp:436
#: src/models/actionsmodel.cpp:473 src/models/actionsmodel.cpp:507
#: src/models/actionsmodel.cpp:191 src/models/actionsmodel.cpp:357
#: src/models/actionsmodel.cpp:385 src/models/actionsmodel.cpp:435
#: src/models/actionsmodel.cpp:472 src/models/actionsmodel.cpp:506
#, kde-format
msgctxt "'<text>' does not look like a matrix id."
msgid "'%1' does not look like a matrix id."
msgstr "لا يبدو '%1' كمعرف ماتركس."
#: src/models/actionsmodel.cpp:198
#: src/models/actionsmodel.cpp:197
#, kde-format
msgctxt "<user> is already invited to this room."
msgid "%1 is already invited to this room."
msgstr "المستخدم %1 مدعو فعلا للغرفة"
#: src/models/actionsmodel.cpp:202
#: src/models/actionsmodel.cpp:201
#, kde-format
msgctxt "<user> is banned from this room."
msgid "%1 is banned from this room."
msgstr "المستخدم %1 محظور من هذه الغرفة"
#: src/models/actionsmodel.cpp:207
#: src/models/actionsmodel.cpp:206
#, kde-format
msgid "You are already in this room."
msgstr "أنت في هذه الغرفة فعلا."
#: src/models/actionsmodel.cpp:211
#: src/models/actionsmodel.cpp:210
#, kde-format
msgctxt "<user> is already in this room."
msgid "%1 is already in this room."
msgstr "المستخدم %1 في هذه الغرفة فعلاً."
#: src/models/actionsmodel.cpp:215
#: src/models/actionsmodel.cpp:214
#, kde-format
msgctxt "<username> was invited into this room"
msgid "%1 was invited into this room"
msgstr "المستخدم %1 مدعو للغرفة"
#: src/models/actionsmodel.cpp:220 src/models/actionsmodel.cpp:376
#: src/models/actionsmodel.cpp:404 src/models/actionsmodel.cpp:495
#: src/models/actionsmodel.cpp:219 src/models/actionsmodel.cpp:375
#: src/models/actionsmodel.cpp:403 src/models/actionsmodel.cpp:494
msgid "<user id>"
msgstr "<معرف المستخدم>"
#: src/models/actionsmodel.cpp:221
#: src/models/actionsmodel.cpp:220
msgid "Invites the user to this room"
msgstr "أدعُ مستخدم إلى هذه الغرفة"
#: src/models/actionsmodel.cpp:238 src/models/actionsmodel.cpp:295
#: src/models/actionsmodel.cpp:237 src/models/actionsmodel.cpp:294
#, kde-format
msgctxt "Joining room <roomname>."
msgid "Joining room %1."
msgstr "ينضم لغرفة %1."
#: src/models/actionsmodel.cpp:244 src/models/actionsmodel.cpp:301
#: src/models/actionsmodel.cpp:243 src/models/actionsmodel.cpp:300
msgid "<room alias or id>"
msgstr "<اسم أو معرف الغرفة>"
#: src/models/actionsmodel.cpp:245 src/models/actionsmodel.cpp:302
#: src/models/actionsmodel.cpp:244 src/models/actionsmodel.cpp:301
msgid "Joins the given room"
msgstr "ينضم للغرفة المعطاة"
#: src/models/actionsmodel.cpp:265
#: src/models/actionsmodel.cpp:264
#, kde-format
msgctxt "Knocking room <roomname>."
msgid "Knocking room %1."
msgstr "يطرق غرفة %1."
#: src/models/actionsmodel.cpp:277
#: src/models/actionsmodel.cpp:276
msgid "<room alias or id> [<reason>]"
msgstr "[<معرف أو اسم الغرفة>] [<السبب>]"
#: src/models/actionsmodel.cpp:278
#: src/models/actionsmodel.cpp:277
msgid "Requests to join the given room"
msgstr "يطلب الانضمام للغرفة المعطاة"
#: src/models/actionsmodel.cpp:292
#: src/models/actionsmodel.cpp:291
#, kde-format
msgctxt "You are already in room <roomname>."
msgid "You are already in room %1."
msgstr "أنت في الغرفة %1 فعلا."
#: src/models/actionsmodel.cpp:309 src/models/actionsmodel.cpp:317
#: src/models/actionsmodel.cpp:308 src/models/actionsmodel.cpp:316
msgid "[<room alias or id>]"
msgstr "[<معرف أو اسم الغرفة>]"
#: src/models/actionsmodel.cpp:310 src/models/actionsmodel.cpp:318
#: src/models/actionsmodel.cpp:309 src/models/actionsmodel.cpp:317
msgid "Leaves the given room or this room, if there is none given"
msgstr "سيترك الغرفة المعطاة أو هذه الغرفة إن لم يكن هناك غرفة معطاة"
#: src/models/actionsmodel.cpp:332 src/models/actionsmodel.cpp:340
#: src/models/actionsmodel.cpp:348
#: src/models/actionsmodel.cpp:331 src/models/actionsmodel.cpp:339
#: src/models/actionsmodel.cpp:347
msgid "<display name>"
msgstr "<اسم العرض>"
#: src/models/actionsmodel.cpp:333
#: src/models/actionsmodel.cpp:332
msgid "Changes your global display name"
msgstr "تغيير اسم العرض الخاص بك العام"
#: src/models/actionsmodel.cpp:341 src/models/actionsmodel.cpp:349
#: src/models/actionsmodel.cpp:340 src/models/actionsmodel.cpp:348
msgid "Changes your display name in this room"
msgstr "تغيير اسم العرض الخاص بك في هذه الغرفة"
#: src/models/actionsmodel.cpp:363
#: src/models/actionsmodel.cpp:362
#, kde-format
msgctxt "<username> is already ignored."
msgid "%1 is already ignored."
msgstr "تُجُوهل %1 فعلاً."
#: src/models/actionsmodel.cpp:368
#: src/models/actionsmodel.cpp:367
#, kde-format
msgctxt "<username> is now ignored"
msgid "%1 is now ignored."
msgstr "الآن تُجُوهل %1."
#: src/models/actionsmodel.cpp:370 src/models/actionsmodel.cpp:398
#: src/models/actionsmodel.cpp:369 src/models/actionsmodel.cpp:397
#, kde-format
msgctxt "<username> is not a known user"
msgid "%1 is not a known user."
msgstr "المستخدم %1 غير معروف."
#: src/models/actionsmodel.cpp:377
#: src/models/actionsmodel.cpp:376
msgid "Ignores the given user"
msgstr "يتجاهل المستخدم المعطى"
#: src/models/actionsmodel.cpp:392
#: src/models/actionsmodel.cpp:391
#, kde-format
msgctxt "<username> is not ignored."
msgid "%1 is not ignored."
msgstr "لم يتجاهل %1."
#: src/models/actionsmodel.cpp:396
#: src/models/actionsmodel.cpp:395
#, kde-format
msgctxt "<username> is no longer ignored."
msgid "%1 is no longer ignored."
msgstr "لم يعد %1 في قائمة التجاهل."
#: src/models/actionsmodel.cpp:405
#: src/models/actionsmodel.cpp:404
msgid "Unignores the given user"
msgstr "يلغي تجاهل المستخدم المعطى"
#: src/models/actionsmodel.cpp:425
#: src/models/actionsmodel.cpp:424
msgid "<reaction text>"
msgstr "<نص رد الفعل>"
#: src/models/actionsmodel.cpp:426
#: src/models/actionsmodel.cpp:425
msgid "React to the message with the given text"
msgstr "تفاعل مع هذه الرسالة بالنص المعطى"
#: src/models/actionsmodel.cpp:442
#: src/models/actionsmodel.cpp:441
#, kde-format
msgctxt "<user> is already banned from this room."
msgid "%1 is already banned from this room."
msgstr "المستخدم %1 محظور من هذه الغرفة فعلاً"
#: src/models/actionsmodel.cpp:448
#: src/models/actionsmodel.cpp:447
#, kde-format
msgid "You are not allowed to ban users from this room."
msgstr "لا يسمح لك أن تحظر مستخدمين من هذه الغرفة"
#: src/models/actionsmodel.cpp:454
#: src/models/actionsmodel.cpp:453
#, 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 "لا يسمح لك أن تحظر %1 من هذه الغرفة"
#: src/models/actionsmodel.cpp:458
#: src/models/actionsmodel.cpp:457
#, kde-format
msgctxt "<username> was banned from this room."
msgid "%1 was banned from this room."
msgstr "المستخدم %1 محظور من هذه الغرفة."
#: src/models/actionsmodel.cpp:463 src/models/actionsmodel.cpp:538
#: src/models/actionsmodel.cpp:462 src/models/actionsmodel.cpp:537
msgid "<user id> [<reason>]"
msgstr "<معرف المستخدم> [<السبب>]"
#: src/models/actionsmodel.cpp:464
#: src/models/actionsmodel.cpp:463
msgid "Bans the given user"
msgstr "يحظر المستخدم المعطى"
#: src/models/actionsmodel.cpp:478
#: src/models/actionsmodel.cpp:477
#, kde-format
msgid "You are not allowed to unban users from this room."
msgstr "لا يسمح لك أن تلغي حظر مستخدمين من هذه الغرفة"
#: src/models/actionsmodel.cpp:484
#: src/models/actionsmodel.cpp:483
#, kde-format
msgctxt "<user> is not banned from this room."
msgid "%1 is not banned from this room."
msgstr "المستخدم %1 غير محظور من هذه الغرفة"
#: src/models/actionsmodel.cpp:489
#: src/models/actionsmodel.cpp:488
#, kde-format
msgctxt "<username> was unbanned from this room."
msgid "%1 was unbanned from this room."
msgstr "المستخدم %1 غير محظور من هذه الغرفة."
#: src/models/actionsmodel.cpp:496
#: src/models/actionsmodel.cpp:495
msgid "Removes the ban of the given user"
msgstr "يزيل حظر المستخدم المعطى"
#: src/models/actionsmodel.cpp:511
#: src/models/actionsmodel.cpp:510
#, kde-format
msgid "You cannot kick yourself from the room."
msgstr "لا يمكن إخراج نفسك من الغرفة"
#: src/models/actionsmodel.cpp:516
#: src/models/actionsmodel.cpp:515
#, kde-format
msgctxt "<username> is not in this room"
msgid "%1 is not in this room."
msgstr "المستخدم %1 ليس في هذه الغرفة."
#: src/models/actionsmodel.cpp:523
#: src/models/actionsmodel.cpp:522
#, kde-format
msgid "You are not allowed to kick users from this room."
msgstr "لا يسمح لك أن تخرج مستخدمين من هذه الغرفة."
#: src/models/actionsmodel.cpp:529
#: src/models/actionsmodel.cpp:528
#, 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 "لا يسمح لك أن تخرج %1 من هذه الغرفة."
#: src/models/actionsmodel.cpp:533
#: src/models/actionsmodel.cpp:532
#, kde-format
msgctxt "<username> was kicked from this room."
msgid "%1 was kicked from this room."
msgstr "المستخدم %1 أُخرج من هذه الغرفة."
#: src/models/actionsmodel.cpp:539
#: src/models/actionsmodel.cpp:538
msgid "Removes the user from the room"
msgstr "تزيل مستخدم من هذه الغرفة"
@@ -1838,28 +1838,28 @@ msgstr "افتح دردشة خاصة"
msgid "Copy link"
msgstr "نسخ الرابط"
#: src/qml/main.qml:128
#: src/qml/main.qml:124
#, kde-format
msgid "Warning: %1"
msgstr "تحذير: %1"
#: src/qml/main.qml:267
#: src/qml/main.qml:263
#, kde-format
msgid "%1: %2"
msgstr "%1: %2"
#: src/qml/main.qml:308
#: src/qml/main.qml:304
#, kde-format
msgctxt "@title:window"
msgid "Session Verification"
msgstr "تَثَبّت الجلسة"
#: src/qml/main.qml:318
#: src/qml/main.qml:314
#, kde-format
msgid "User consent"
msgstr "موافقة المستخدم"
#: src/qml/main.qml:323
#: src/qml/main.qml:319
#, kde-format
msgid ""
"Your homeserver requires you to agree to its terms and conditions before "
@@ -1868,17 +1868,17 @@ msgstr ""
"يتطلب منك الخادم المنزلي الخاص بك الموافقة على الشروط والأحكام الخاصة به قبل "
"أن تتمكن من استخدامه. الرجاء الضغط على الزر أدناه لقراءتها."
#: src/qml/main.qml:328
#: src/qml/main.qml:324
#, kde-format
msgid "Open"
msgstr "افتح"
#: src/qml/main.qml:357
#: src/qml/main.qml:353
#, kde-format
msgid "Start a chat"
msgstr "ابدأ دردشة"
#: src/qml/main.qml:359
#: src/qml/main.qml:355
#, kde-format
msgid "Do you want to start a chat with %1?"
msgstr "هل ترغب في بَدء دردشة مع %1؟"
@@ -3811,32 +3811,32 @@ msgid ""
"There's no room %1 in the room list. Check the spelling and the account."
msgstr "لا توجد غرفة %1 في قائمة الغرف. تحقق الهجاء و اسم الحساب."
#: src/roommanager.cpp:210
#: src/roommanager.cpp:208
#, kde-format
msgid "Failed to join room"
msgstr "أخفق في الانضمام إلى غرفة"
#: src/roommanager.cpp:227
#: src/roommanager.cpp:225
#, kde-format
msgid "You requested to join '%1'"
msgstr "طلبت الانضمام إلى '%1'"
#: src/roommanager.cpp:230
#: src/roommanager.cpp:228
#, kde-format
msgid "Failed to request joining room"
msgstr "فشل في طلب الانضمام لغرفة"
#: src/roommanager.cpp:240
#: src/roommanager.cpp:238
#, kde-format
msgid "No application for the link"
msgstr "لا يوجد تطبيق لهذا الرابط"
#: src/roommanager.cpp:240
#: src/roommanager.cpp:238
#, kde-format
msgid "Your operating system could not find an application for the link."
msgstr "تعذر على نظام تشغيلك العثور على تطبيق لهذا الرابط."
#: src/roommanager.cpp:246
#: src/roommanager.cpp:244
#, kde-format
msgid "Could not open URL"
msgstr "تعذر فتح الوصلة"

View File

@@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: neochat\n"
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
"POT-Creation-Date: 2023-04-11 00:48+0000\n"
"POT-Creation-Date: 2023-04-13 00:49+0000\n"
"PO-Revision-Date: 2022-07-22 12:13+0400\n"
"Last-Translator: Kheyyam <xxmn77@gmail.com>\n"
"Language-Team: Azerbaijani <kde-i18n-doc@kde.org>\n"
@@ -229,379 +229,379 @@ msgstr "\"%1\" daşıyıcı İD-si server/mediaId şablonuna uyğun deyil"
msgid "Image request has been cancelled"
msgstr "Şəkil tələbi ləğv edildi"
#: src/models/actionsmodel.cpp:24
#: src/models/actionsmodel.cpp:23
#, fuzzy, kde-format
#| msgid "Open NeoChat in this room"
msgid "Leaving this room."
msgstr "NeoChatı bu otaqla açın"
#: src/models/actionsmodel.cpp:31 src/models/actionsmodel.cpp:230
#: src/models/actionsmodel.cpp:257 src/models/actionsmodel.cpp:288
#: src/models/actionsmodel.cpp:30 src/models/actionsmodel.cpp:229
#: src/models/actionsmodel.cpp:256 src/models/actionsmodel.cpp:287
#, 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:38
#, fuzzy, kde-format
#| msgid "Leave room"
msgctxt "Leaving room <roomname>."
msgid "Leaving room %1."
msgstr "Otağı tərk etmək"
#: src/models/actionsmodel.cpp:42
#: src/models/actionsmodel.cpp:41
#, fuzzy, kde-format
#| msgid "Room not found"
msgctxt "Room <roomname> not found"
msgid "Room %1 not found."
msgstr "Otaq tapılmadı"
#: src/models/actionsmodel.cpp:50 src/models/actionsmodel.cpp:324
#: src/models/actionsmodel.cpp:49 src/models/actionsmodel.cpp:323
#, 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:64 src/models/actionsmodel.cpp:74
#: src/models/actionsmodel.cpp:84 src/models/actionsmodel.cpp:94
#: src/models/actionsmodel.cpp:114 src/models/actionsmodel.cpp:134
#: src/models/actionsmodel.cpp:145 src/models/actionsmodel.cpp:161
#: src/models/actionsmodel.cpp:171 src/models/actionsmodel.cpp:181
#, fuzzy
#| msgctxt "@label Parameter of a command"
#| msgid "<message>"
msgid "<message>"
msgstr "<ismarıc>"
#: src/models/actionsmodel.cpp:66
#: src/models/actionsmodel.cpp:65
msgid "Prepends ¯\\_(ツ)_/¯ to a plain-text message"
msgstr "Mətn ismarıcına ¯\\_(ツ)_/¯ əlavə edir"
#: src/models/actionsmodel.cpp:76
#: src/models/actionsmodel.cpp:75
msgid "Prepends ( ͡° ͜ʖ ͡°) to a plain-text message"
msgstr "Mətn ismarıcına ( ͡° ͜ʖ ͡°) əlavə edir"
#: src/models/actionsmodel.cpp:86
#: src/models/actionsmodel.cpp:85
msgid "Prepends (╯°□°)╯︵ ┻━┻ to a plain-text message"
msgstr "(╯°□°)╯︵ ┻━┻ adi mətn ismarıcının əvvəlinə əlavə olunur"
#: src/models/actionsmodel.cpp:96
#: src/models/actionsmodel.cpp:95
msgid "Prepends ┬──┬ ( ゜-゜ノ) to a plain-text message"
msgstr "┬──┬ ( ゜-゜ノ) adi mətn ismarıcının əvvəlinə əlavə olunur"
#: src/models/actionsmodel.cpp:116
#: src/models/actionsmodel.cpp:115
#, fuzzy
#| msgid "Sends the given message coloured as a rainbow"
msgid "Sends the given message colored as a rainbow"
msgstr "Verilmiş ismarıcı göy qurşağı kimi rəngarəng göndərir"
#: src/models/actionsmodel.cpp:136
#: src/models/actionsmodel.cpp:135
#, fuzzy
#| msgid "Sends the given emote coloured as a rainbow"
msgid "Sends the given emote colored as a rainbow"
msgstr "Verilmiş smaylı göy qurşağı kimi rıngarıng göndərir"
#: src/models/actionsmodel.cpp:147
#: src/models/actionsmodel.cpp:146
#, fuzzy
#| msgid "Sends the given message as a spoiler"
msgid "Sends the given message as plain text"
msgstr "Verilmiş ismarıc spoyler kimi göndərilir"
#: src/models/actionsmodel.cpp:163
#: src/models/actionsmodel.cpp:162
msgid "Sends the given message as a spoiler"
msgstr "Verilmiş ismarıc spoyler kimi göndərilir"
#: src/models/actionsmodel.cpp:173
#: src/models/actionsmodel.cpp:172
#, fuzzy
#| msgid "Sends the given message as a spoiler"
msgid "Sends the given emote"
msgstr "Verilmiş ismarıc spoyler kimi göndərilir"
#: src/models/actionsmodel.cpp:183
#: src/models/actionsmodel.cpp:182
#, fuzzy
#| msgid "Sends the given message as a spoiler"
msgid "Sends the given message as a notice"
msgstr "Verilmiş ismarıc spoyler kimi göndərilir"
#: src/models/actionsmodel.cpp:192 src/models/actionsmodel.cpp:358
#: src/models/actionsmodel.cpp:386 src/models/actionsmodel.cpp:436
#: src/models/actionsmodel.cpp:473 src/models/actionsmodel.cpp:507
#: src/models/actionsmodel.cpp:191 src/models/actionsmodel.cpp:357
#: src/models/actionsmodel.cpp:385 src/models/actionsmodel.cpp:435
#: src/models/actionsmodel.cpp:472 src/models/actionsmodel.cpp:506
#, 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:198
#: src/models/actionsmodel.cpp:197
#, fuzzy, kde-format
#| msgid "reinvited %1 to the room"
msgctxt "<user> is already invited to this room."
msgid "%1 is already invited to this room."
msgstr "%1 otağa yenidən dəvət edildi"
#: src/models/actionsmodel.cpp:202
#: src/models/actionsmodel.cpp:201
#, fuzzy, kde-format
#| msgid "self-banned from the room"
msgctxt "<user> is banned from this room."
msgid "%1 is banned from this room."
msgstr "öz özünü otaqdan kənarlaşdırdı"
#: src/models/actionsmodel.cpp:207
#: src/models/actionsmodel.cpp:206
#, fuzzy, kde-format
#| msgid "Open NeoChat in this room"
msgid "You are already in this room."
msgstr "NeoChatı bu otaqla açın"
#: src/models/actionsmodel.cpp:211
#: src/models/actionsmodel.cpp:210
#, fuzzy, kde-format
#| msgid "Open NeoChat in this room"
msgctxt "<user> is already in this room."
msgid "%1 is already in this room."
msgstr "NeoChatı bu otaqla açın"
#: src/models/actionsmodel.cpp:215
#: src/models/actionsmodel.cpp:214
#, fuzzy, kde-format
#| msgid "%1 invited you to a room"
msgctxt "<username> was invited into this room"
msgid "%1 was invited into this room"
msgstr "%1,sizi otağa dəvət etdi"
#: src/models/actionsmodel.cpp:220 src/models/actionsmodel.cpp:376
#: src/models/actionsmodel.cpp:404 src/models/actionsmodel.cpp:495
#: src/models/actionsmodel.cpp:219 src/models/actionsmodel.cpp:375
#: src/models/actionsmodel.cpp:403 src/models/actionsmodel.cpp:494
#, fuzzy
#| msgctxt "@label Parameter of a command"
#| msgid "<user-id>"
msgid "<user id>"
msgstr "<istifadəşi-İD-si>"
#: src/models/actionsmodel.cpp:221
#: src/models/actionsmodel.cpp:220
#, fuzzy
#| msgid "%1 invited you to a room"
msgid "Invites the user to this room"
msgstr "%1,sizi otağa dəvət etdi"
#: src/models/actionsmodel.cpp:238 src/models/actionsmodel.cpp:295
#: src/models/actionsmodel.cpp:237 src/models/actionsmodel.cpp:294
#, fuzzy, kde-format
#| msgid "Configure room"
msgctxt "Joining room <roomname>."
msgid "Joining room %1."
msgstr "Otağı tənzimləmək"
#: src/models/actionsmodel.cpp:244 src/models/actionsmodel.cpp:301
#: src/models/actionsmodel.cpp:243 src/models/actionsmodel.cpp:300
msgid "<room alias or id>"
msgstr ""
#: src/models/actionsmodel.cpp:245 src/models/actionsmodel.cpp:302
#: src/models/actionsmodel.cpp:244 src/models/actionsmodel.cpp:301
#, fuzzy
#| msgid "joined the room"
msgid "Joins the given room"
msgstr "otağa qoşuldu"
#: src/models/actionsmodel.cpp:265
#: src/models/actionsmodel.cpp:264
#, fuzzy, kde-format
#| msgid "Configure room"
msgctxt "Knocking room <roomname>."
msgid "Knocking room %1."
msgstr "Otağı tənzimləmək"
#: src/models/actionsmodel.cpp:277
#: src/models/actionsmodel.cpp:276
#, fuzzy
#| msgctxt "@label Parameter of a command"
#| msgid "<user-id>"
msgid "<room alias or id> [<reason>]"
msgstr "<istifadəşi-İD-si>"
#: src/models/actionsmodel.cpp:278
#: src/models/actionsmodel.cpp:277
#, fuzzy
#| msgid "joined the room"
msgid "Requests to join the given room"
msgstr "otağa qoşuldu"
#: src/models/actionsmodel.cpp:292
#: src/models/actionsmodel.cpp:291
#, kde-format
msgctxt "You are already in room <roomname>."
msgid "You are already in room %1."
msgstr ""
#: src/models/actionsmodel.cpp:309 src/models/actionsmodel.cpp:317
#: src/models/actionsmodel.cpp:308 src/models/actionsmodel.cpp:316
msgid "[<room alias or id>]"
msgstr ""
#: src/models/actionsmodel.cpp:310 src/models/actionsmodel.cpp:318
#: src/models/actionsmodel.cpp:309 src/models/actionsmodel.cpp:317
msgid "Leaves the given room or this room, if there is none given"
msgstr ""
#: src/models/actionsmodel.cpp:332 src/models/actionsmodel.cpp:340
#: src/models/actionsmodel.cpp:348
#: src/models/actionsmodel.cpp:331 src/models/actionsmodel.cpp:339
#: src/models/actionsmodel.cpp:347
msgid "<display name>"
msgstr ""
#: src/models/actionsmodel.cpp:333
#: src/models/actionsmodel.cpp:332
#, fuzzy
#| msgctxt "their refers to a singular user"
#| msgid "changed their display name to %1"
msgid "Changes your global display name"
msgstr "onların görünən adı %1 kimi dəyişdirildi"
#: src/models/actionsmodel.cpp:341 src/models/actionsmodel.cpp:349
#: src/models/actionsmodel.cpp:340 src/models/actionsmodel.cpp:348
#, fuzzy
#| msgctxt "their refers to a singular user"
#| msgid "changed their display name to %1"
msgid "Changes your display name in this room"
msgstr "onların görünən adı %1 kimi dəyişdirildi"
#: src/models/actionsmodel.cpp:363
#: src/models/actionsmodel.cpp:362
#, kde-format
msgctxt "<username> is already ignored."
msgid "%1 is already ignored."
msgstr ""
#: src/models/actionsmodel.cpp:368
#: src/models/actionsmodel.cpp:367
#, kde-format
msgctxt "<username> is now ignored"
msgid "%1 is now ignored."
msgstr ""
#: src/models/actionsmodel.cpp:370 src/models/actionsmodel.cpp:398
#: src/models/actionsmodel.cpp:369 src/models/actionsmodel.cpp:397
#, kde-format
msgctxt "<username> is not a known user"
msgid "%1 is not a known user."
msgstr ""
#: src/models/actionsmodel.cpp:377
#: src/models/actionsmodel.cpp:376
#, fuzzy
#| msgid "Ignore this user"
msgid "Ignores the given user"
msgstr "Bu istifadəçini gözardı etmək"
#: src/models/actionsmodel.cpp:392
#: src/models/actionsmodel.cpp:391
#, kde-format
msgctxt "<username> is not ignored."
msgid "%1 is not ignored."
msgstr ""
#: src/models/actionsmodel.cpp:396
#: src/models/actionsmodel.cpp:395
#, kde-format
msgctxt "<username> is no longer ignored."
msgid "%1 is no longer ignored."
msgstr ""
#: src/models/actionsmodel.cpp:405
#: src/models/actionsmodel.cpp:404
#, fuzzy
#| msgid "Unignore this user"
msgid "Unignores the given user"
msgstr "Bi istifadəçini gözardı etməyi ləğv edin"
#: src/models/actionsmodel.cpp:425
#: src/models/actionsmodel.cpp:424
#, fuzzy
#| msgctxt "@label Parameter of a command"
#| msgid "<reaction text>"
msgid "<reaction text>"
msgstr "<cavab mətni>"
#: src/models/actionsmodel.cpp:426
#: src/models/actionsmodel.cpp:425
#, fuzzy
#| msgid "React to this message with a text"
msgid "React to the message with the given text"
msgstr "Bu məktuba cavab mətni"
#: src/models/actionsmodel.cpp:442
#: src/models/actionsmodel.cpp:441
#, fuzzy, kde-format
#| msgid "self-banned from the room"
msgctxt "<user> is already banned from this room."
msgid "%1 is already banned from this room."
msgstr "öz özünü otaqdan kənarlaşdırdı"
#: src/models/actionsmodel.cpp:448
#: src/models/actionsmodel.cpp:447
#, fuzzy, kde-format
#| msgid "Open NeoChat in this room"
msgid "You are not allowed to ban users from this room."
msgstr "NeoChatı bu otaqla açın"
#: src/models/actionsmodel.cpp:454
#: src/models/actionsmodel.cpp:453
#, fuzzy, kde-format
#| msgid "Open NeoChat in this room"
msgctxt "You are not allowed to ban <username> from this room."
msgid "You are not allowed to ban %1 from this room."
msgstr "NeoChatı bu otaqla açın"
#: src/models/actionsmodel.cpp:458
#: src/models/actionsmodel.cpp:457
#, fuzzy, kde-format
#| msgid "self-banned from the room"
msgctxt "<username> was banned from this room."
msgid "%1 was banned from this room."
msgstr "öz özünü otaqdan kənarlaşdırdı"
#: src/models/actionsmodel.cpp:463 src/models/actionsmodel.cpp:538
#: src/models/actionsmodel.cpp:462 src/models/actionsmodel.cpp:537
#, fuzzy
#| msgctxt "@label Parameter of a command"
#| msgid "<user-id>"
msgid "<user id> [<reason>]"
msgstr "<istifadəşi-İD-si>"
#: src/models/actionsmodel.cpp:464
#: src/models/actionsmodel.cpp:463
#, fuzzy
#| msgid "Ignore this user"
msgid "Bans the given user"
msgstr "Bu istifadəçini gözardı etmək"
#: src/models/actionsmodel.cpp:478
#: src/models/actionsmodel.cpp:477
#, fuzzy, kde-format
#| msgid "Open NeoChat in this room"
msgid "You are not allowed to unban users from this room."
msgstr "NeoChatı bu otaqla açın"
#: src/models/actionsmodel.cpp:484
#: src/models/actionsmodel.cpp:483
#, fuzzy, kde-format
#| msgid "self-banned from the room"
msgctxt "<user> is not banned from this room."
msgid "%1 is not banned from this room."
msgstr "öz özünü otaqdan kənarlaşdırdı"
#: src/models/actionsmodel.cpp:489
#: src/models/actionsmodel.cpp:488
#, fuzzy, kde-format
#| msgid "self-banned from the room"
msgctxt "<username> was unbanned from this room."
msgid "%1 was unbanned from this room."
msgstr "öz özünü otaqdan kənarlaşdırdı"
#: src/models/actionsmodel.cpp:496
#: src/models/actionsmodel.cpp:495
#, fuzzy
#| msgid "Ignore this user"
msgid "Removes the ban of the given user"
msgstr "Bu istifadəçini gözardı etmək"
#: src/models/actionsmodel.cpp:511
#: src/models/actionsmodel.cpp:510
#, kde-format
msgid "You cannot kick yourself from the room."
msgstr ""
#: src/models/actionsmodel.cpp:516
#: src/models/actionsmodel.cpp:515
#, fuzzy, kde-format
#| msgid "Open NeoChat in this room"
msgctxt "<username> is not in this room"
msgid "%1 is not in this room."
msgstr "NeoChatı bu otaqla açın"
#: src/models/actionsmodel.cpp:523
#: src/models/actionsmodel.cpp:522
#, fuzzy, kde-format
#| msgid "Open NeoChat in this room"
msgid "You are not allowed to kick users from this room."
msgstr "NeoChatı bu otaqla açın"
#: src/models/actionsmodel.cpp:529
#: src/models/actionsmodel.cpp:528
#, fuzzy, kde-format
#| msgid "Open NeoChat in this room"
msgctxt "You are not allowed to kick <username> from this room"
msgid "You are not allowed to kick %1 from this room."
msgstr "NeoChatı bu otaqla açın"
#: src/models/actionsmodel.cpp:533
#: src/models/actionsmodel.cpp:532
#, fuzzy, kde-format
#| msgid "self-banned from the room"
msgctxt "<username> was kicked from this room."
msgid "%1 was kicked from this room."
msgstr "öz özünü otaqdan kənarlaşdırdı"
#: src/models/actionsmodel.cpp:539
#: src/models/actionsmodel.cpp:538
#, fuzzy
#| msgid "%1 invited you to a room"
msgid "Removes the user from the room"
@@ -1947,29 +1947,29 @@ msgstr "Məxfi çatı açmaq"
msgid "Copy link"
msgstr "Kopyalamaq"
#: src/qml/main.qml:128
#: src/qml/main.qml:124
#, kde-format
msgid "Warning: %1"
msgstr "Xəbərdarlıq: %1"
#: src/qml/main.qml:267
#: src/qml/main.qml:263
#, kde-format
msgid "%1: %2"
msgstr "%1: %2"
#: src/qml/main.qml:308
#: src/qml/main.qml:304
#, fuzzy, kde-format
#| msgid "Show notifications"
msgctxt "@title:window"
msgid "Session Verification"
msgstr "Bildirişlərdə göstərmək"
#: src/qml/main.qml:318
#: src/qml/main.qml:314
#, kde-format
msgid "User consent"
msgstr "İstifadəçi razılığı"
#: src/qml/main.qml:323
#: src/qml/main.qml:319
#, kde-format
msgid ""
"Your homeserver requires you to agree to its terms and conditions before "
@@ -1978,17 +1978,17 @@ msgstr ""
"Əsas server, onu istifadə etmədən öncə onun şərtlərini və razılaşmalarını "
"qəbul etmənizi tələb edir. Onları oxumaq üçün aşağıdakı düyməni vurun."
#: src/qml/main.qml:328
#: src/qml/main.qml:324
#, kde-format
msgid "Open"
msgstr "Açmaq"
#: src/qml/main.qml:357
#: src/qml/main.qml:353
#, kde-format
msgid "Start a chat"
msgstr "Söhbətə başlayın"
#: src/qml/main.qml:359
#: src/qml/main.qml:355
#, kde-format
msgid "Do you want to start a chat with %1?"
msgstr "%1 ilə söhbətə başlamaq istəyirsiniz?"
@@ -4044,34 +4044,34 @@ msgid ""
"There's no room %1 in the room list. Check the spelling and the account."
msgstr "Otaq siyahısında %1 otağı yoxdur. Orfoqrafiya və hesabı yoxlayın."
#: src/roommanager.cpp:210
#: src/roommanager.cpp:208
#, fuzzy, kde-format
#| msgid "%1 invited you to a room"
msgid "Failed to join room"
msgstr "%1,sizi otağa dəvət etdi"
#: src/roommanager.cpp:227
#: src/roommanager.cpp:225
#, kde-format
msgid "You requested to join '%1'"
msgstr ""
#: src/roommanager.cpp:230
#: src/roommanager.cpp:228
#, fuzzy, kde-format
#| msgid "%1 invited you to a room"
msgid "Failed to request joining room"
msgstr "%1,sizi otağa dəvət etdi"
#: src/roommanager.cpp:240
#: src/roommanager.cpp:238
#, kde-format
msgid "No application for the link"
msgstr "Keçid üçün tətbiq yoxdur"
#: src/roommanager.cpp:240
#: src/roommanager.cpp:238
#, kde-format
msgid "Your operating system could not find an application for the link."
msgstr "Əməliyyat sisteminiz keçid üçün tətbiq tapa bilmədi."
#: src/roommanager.cpp:246
#: src/roommanager.cpp:244
#, kde-format
msgid "Could not open URL"
msgstr "URL açıla bilmir"

View File

@@ -9,7 +9,7 @@ msgid ""
msgstr ""
"Project-Id-Version: neochat\n"
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
"POT-Creation-Date: 2023-04-11 00:48+0000\n"
"POT-Creation-Date: 2023-04-13 00:49+0000\n"
"PO-Revision-Date: 2023-04-04 08:28+0100\n"
"Last-Translator: Josep M. Ferrer <txemaq@gmail.com>\n"
"Language-Team: Catalan <kde-i18n-ca@kde.org>\n"
@@ -225,312 +225,312 @@ msgstr "L'element multimèdia amb ID «%1» no segueix el patró servidor/mediaI
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:23
#, kde-format
msgid "Leaving this room."
msgstr "Sortida d'aquesta sala."
#: src/models/actionsmodel.cpp:31 src/models/actionsmodel.cpp:230
#: src/models/actionsmodel.cpp:257 src/models/actionsmodel.cpp:288
#: src/models/actionsmodel.cpp:30 src/models/actionsmodel.cpp:229
#: src/models/actionsmodel.cpp:256 src/models/actionsmodel.cpp:287
#, 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 sembla pas un ID de sala o un alias."
#: src/models/actionsmodel.cpp:39
#: src/models/actionsmodel.cpp:38
#, kde-format
msgctxt "Leaving room <roomname>."
msgid "Leaving room %1."
msgstr "Sortida de la sala %1."
#: src/models/actionsmodel.cpp:42
#: src/models/actionsmodel.cpp:41
#, 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:324
#: src/models/actionsmodel.cpp:49 src/models/actionsmodel.cpp:323
#, 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:64 src/models/actionsmodel.cpp:74
#: src/models/actionsmodel.cpp:84 src/models/actionsmodel.cpp:94
#: src/models/actionsmodel.cpp:114 src/models/actionsmodel.cpp:134
#: src/models/actionsmodel.cpp:145 src/models/actionsmodel.cpp:161
#: src/models/actionsmodel.cpp:171 src/models/actionsmodel.cpp:181
msgid "<message>"
msgstr "<missatge>"
#: src/models/actionsmodel.cpp:66
#: src/models/actionsmodel.cpp:65
msgid "Prepends ¯\\_(ツ)_/¯ to a plain-text message"
msgstr "Prefixa ¯\\_(ツ)_/¯ a un missatge de text net"
#: src/models/actionsmodel.cpp:76
#: src/models/actionsmodel.cpp:75
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:85
msgid "Prepends (╯°□°)╯︵ ┻━┻ to a plain-text message"
msgstr "Prefixa (╯°□°)╯︵ ┻━┻ a un missatge de text net"
#: src/models/actionsmodel.cpp:96
#: src/models/actionsmodel.cpp:95
msgid "Prepends ┬──┬ ( ゜-゜ノ) to a plain-text message"
msgstr "Prefixa ┬──┬ ( ゜-゜ノ) a un missatge de text net"
#: src/models/actionsmodel.cpp:116
#: src/models/actionsmodel.cpp:115
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:135
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:146
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:162
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:172
msgid "Sends the given emote"
msgstr "Envia l'emote indicada"
#: src/models/actionsmodel.cpp:183
#: src/models/actionsmodel.cpp:182
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:358
#: src/models/actionsmodel.cpp:386 src/models/actionsmodel.cpp:436
#: src/models/actionsmodel.cpp:473 src/models/actionsmodel.cpp:507
#: src/models/actionsmodel.cpp:191 src/models/actionsmodel.cpp:357
#: src/models/actionsmodel.cpp:385 src/models/actionsmodel.cpp:435
#: src/models/actionsmodel.cpp:472 src/models/actionsmodel.cpp:506
#, kde-format
msgctxt "'<text>' does not look like a matrix id."
msgid "'%1' does not look like a matrix id."
msgstr "«%1» no sembla pas un ID de Matrix."
#: src/models/actionsmodel.cpp:198
#: src/models/actionsmodel.cpp:197
#, kde-format
msgctxt "<user> is already invited to this room."
msgid "%1 is already invited to this room."
msgstr "%1 ja està convidat en aquesta sala."
#: src/models/actionsmodel.cpp:202
#: src/models/actionsmodel.cpp:201
#, kde-format
msgctxt "<user> is banned from this room."
msgid "%1 is banned from this room."
msgstr "%1 està bandejat d'aquesta sala."
#: src/models/actionsmodel.cpp:207
#: src/models/actionsmodel.cpp:206
#, kde-format
msgid "You are already in this room."
msgstr "Ja esteu en aquesta sala."
#: src/models/actionsmodel.cpp:211
#: src/models/actionsmodel.cpp:210
#, kde-format
msgctxt "<user> is already in this room."
msgid "%1 is already in this room."
msgstr "%1 ja està en aquesta sala."
#: src/models/actionsmodel.cpp:215
#: src/models/actionsmodel.cpp:214
#, kde-format
msgctxt "<username> was invited into this room"
msgid "%1 was invited into this room"
msgstr "%1 s'ha convidat en aquesta sala"
#: src/models/actionsmodel.cpp:220 src/models/actionsmodel.cpp:376
#: src/models/actionsmodel.cpp:404 src/models/actionsmodel.cpp:495
#: src/models/actionsmodel.cpp:219 src/models/actionsmodel.cpp:375
#: src/models/actionsmodel.cpp:403 src/models/actionsmodel.cpp:494
msgid "<user id>"
msgstr "<ID d'usuari>"
#: src/models/actionsmodel.cpp:221
#: src/models/actionsmodel.cpp:220
msgid "Invites the user to this room"
msgstr "Convida l'usuari en aquesta sala"
#: src/models/actionsmodel.cpp:238 src/models/actionsmodel.cpp:295
#: src/models/actionsmodel.cpp:237 src/models/actionsmodel.cpp:294
#, kde-format
msgctxt "Joining room <roomname>."
msgid "Joining room %1."
msgstr "S'uneix a la sala %1."
#: src/models/actionsmodel.cpp:244 src/models/actionsmodel.cpp:301
#: src/models/actionsmodel.cpp:243 src/models/actionsmodel.cpp:300
msgid "<room alias or id>"
msgstr "<alias o ID de sala>"
#: src/models/actionsmodel.cpp:245 src/models/actionsmodel.cpp:302
#: src/models/actionsmodel.cpp:244 src/models/actionsmodel.cpp:301
msgid "Joins the given room"
msgstr "S'uneix a la sala indicada"
#: src/models/actionsmodel.cpp:265
#: src/models/actionsmodel.cpp:264
#, kde-format
msgctxt "Knocking room <roomname>."
msgid "Knocking room %1."
msgstr "Sol·licita permís a la sala %1."
#: src/models/actionsmodel.cpp:277
#: src/models/actionsmodel.cpp:276
msgid "<room alias or id> [<reason>]"
msgstr "<alias o ID de sala> [<motiu>]"
#: src/models/actionsmodel.cpp:278
#: src/models/actionsmodel.cpp:277
msgid "Requests to join the given room"
msgstr "Sol·licita unir-se a la sala indicada"
#: src/models/actionsmodel.cpp:292
#: src/models/actionsmodel.cpp:291
#, kde-format
msgctxt "You are already in room <roomname>."
msgid "You are already in room %1."
msgstr "Ja esteu en la sala %1."
#: src/models/actionsmodel.cpp:309 src/models/actionsmodel.cpp:317
#: src/models/actionsmodel.cpp:308 src/models/actionsmodel.cpp:316
msgid "[<room alias or id>]"
msgstr "[<alias o ID de sala>]"
#: src/models/actionsmodel.cpp:310 src/models/actionsmodel.cpp:318
#: src/models/actionsmodel.cpp:309 src/models/actionsmodel.cpp:317
msgid "Leaves the given room or this room, if there is none given"
msgstr "Surt de la sala indicada o d'aquesta sala, si no s'ha indicat cap"
#: src/models/actionsmodel.cpp:332 src/models/actionsmodel.cpp:340
#: src/models/actionsmodel.cpp:348
#: src/models/actionsmodel.cpp:331 src/models/actionsmodel.cpp:339
#: src/models/actionsmodel.cpp:347
msgid "<display name>"
msgstr "<nom a mostrar>"
#: src/models/actionsmodel.cpp:333
#: src/models/actionsmodel.cpp:332
msgid "Changes your global display name"
msgstr "Canvia el vostre nom a mostrar global"
#: src/models/actionsmodel.cpp:341 src/models/actionsmodel.cpp:349
#: src/models/actionsmodel.cpp:340 src/models/actionsmodel.cpp:348
msgid "Changes your display name in this room"
msgstr "Canvia el vostre nom a mostrar en aquesta sala"
#: src/models/actionsmodel.cpp:363
#: src/models/actionsmodel.cpp:362
#, kde-format
msgctxt "<username> is already ignored."
msgid "%1 is already ignored."
msgstr "%1 ja està ignorat."
#: src/models/actionsmodel.cpp:368
#: src/models/actionsmodel.cpp:367
#, kde-format
msgctxt "<username> is now ignored"
msgid "%1 is now ignored."
msgstr "%1 ara està ignorat."
#: src/models/actionsmodel.cpp:370 src/models/actionsmodel.cpp:398
#: src/models/actionsmodel.cpp:369 src/models/actionsmodel.cpp:397
#, kde-format
msgctxt "<username> is not a known user"
msgid "%1 is not a known user."
msgstr "%1 no és un usuari conegut."
#: src/models/actionsmodel.cpp:377
#: src/models/actionsmodel.cpp:376
msgid "Ignores the given user"
msgstr "Ignora l'usuari indicat"
#: src/models/actionsmodel.cpp:392
#: src/models/actionsmodel.cpp:391
#, kde-format
msgctxt "<username> is not ignored."
msgid "%1 is not ignored."
msgstr "%1 no està ignorat."
#: src/models/actionsmodel.cpp:396
#: src/models/actionsmodel.cpp:395
#, kde-format
msgctxt "<username> is no longer ignored."
msgid "%1 is no longer ignored."
msgstr "%1 ja no està ignorat."
#: src/models/actionsmodel.cpp:405
#: src/models/actionsmodel.cpp:404
msgid "Unignores the given user"
msgstr "Deixa d'ignorar l'usuari indicat"
#: src/models/actionsmodel.cpp:425
#: src/models/actionsmodel.cpp:424
msgid "<reaction text>"
msgstr "<text de reacció>"
#: src/models/actionsmodel.cpp:426
#: src/models/actionsmodel.cpp:425
msgid "React to the message with the given text"
msgstr "Reacciona al missatge amb el text indicat"
#: src/models/actionsmodel.cpp:442
#: src/models/actionsmodel.cpp:441
#, kde-format
msgctxt "<user> is already banned from this room."
msgid "%1 is already banned from this room."
msgstr "%1 ja està bandejat d'aquesta sala."
#: src/models/actionsmodel.cpp:448
#: src/models/actionsmodel.cpp:447
#, kde-format
msgid "You are not allowed to ban users from this room."
msgstr "No teniu permís per bandejar usuaris d'aquesta sala."
#: src/models/actionsmodel.cpp:454
#: src/models/actionsmodel.cpp:453
#, 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 bandejar l'usuari %1 d'aquesta sala."
#: src/models/actionsmodel.cpp:458
#: src/models/actionsmodel.cpp:457
#, kde-format
msgctxt "<username> was banned from this room."
msgid "%1 was banned from this room."
msgstr "%1 fou bandejat d'aquesta sala."
#: src/models/actionsmodel.cpp:463 src/models/actionsmodel.cpp:538
#: src/models/actionsmodel.cpp:462 src/models/actionsmodel.cpp:537
msgid "<user id> [<reason>]"
msgstr "<ID d'usuari> [<motiu>]"
#: src/models/actionsmodel.cpp:464
#: src/models/actionsmodel.cpp:463
msgid "Bans the given user"
msgstr "Bandeja l'usuari indicat"
#: src/models/actionsmodel.cpp:478
#: src/models/actionsmodel.cpp:477
#, kde-format
msgid "You are not allowed to unban users from this room."
msgstr "No teniu permís per desbandejar usuaris d'aquesta sala."
#: src/models/actionsmodel.cpp:484
#: src/models/actionsmodel.cpp:483
#, kde-format
msgctxt "<user> is not banned from this room."
msgid "%1 is not banned from this room."
msgstr "%1 no està bandejat d'aquesta sala."
#: src/models/actionsmodel.cpp:489
#: src/models/actionsmodel.cpp:488
#, kde-format
msgctxt "<username> was unbanned from this room."
msgid "%1 was unbanned from this room."
msgstr "%1 fou desbandejat d'aquesta sala."
#: src/models/actionsmodel.cpp:496
#: src/models/actionsmodel.cpp:495
msgid "Removes the ban of the given user"
msgstr "Elimina el bandeig a l'usuari indicat"
#: src/models/actionsmodel.cpp:511
#: src/models/actionsmodel.cpp:510
#, 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:516
#: src/models/actionsmodel.cpp:515
#, kde-format
msgctxt "<username> is not in this room"
msgid "%1 is not in this room."
msgstr "%1 no està en aquesta sala."
#: src/models/actionsmodel.cpp:523
#: src/models/actionsmodel.cpp:522
#, kde-format
msgid "You are not allowed to kick users from this room."
msgstr "No teniu permís per expulsar usuaris d'aquesta sala."
#: src/models/actionsmodel.cpp:529
#: src/models/actionsmodel.cpp:528
#, 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 expulsar l'usuari %1 d'aquesta sala."
#: src/models/actionsmodel.cpp:533
#: src/models/actionsmodel.cpp:532
#, kde-format
msgctxt "<username> was kicked from this room."
msgid "%1 was kicked from this room."
msgstr "%1 fou expulsat d'aquesta sala."
#: src/models/actionsmodel.cpp:539
#: src/models/actionsmodel.cpp:538
msgid "Removes the user from the room"
msgstr "Elimina l'usuari d'aquesta sala"
@@ -1856,28 +1856,28 @@ msgstr "Obre en un xat privat"
msgid "Copy link"
msgstr "Copia l'enllaç"
#: src/qml/main.qml:128
#: src/qml/main.qml:124
#, kde-format
msgid "Warning: %1"
msgstr "Avís: %1"
#: src/qml/main.qml:267
#: src/qml/main.qml:263
#, kde-format
msgid "%1: %2"
msgstr "%1: %2"
#: src/qml/main.qml:308
#: src/qml/main.qml:304
#, kde-format
msgctxt "@title:window"
msgid "Session Verification"
msgstr "Verificació de la sessió"
#: src/qml/main.qml:318
#: src/qml/main.qml:314
#, kde-format
msgid "User consent"
msgstr "Consentiment de l'usuari"
#: src/qml/main.qml:323
#: src/qml/main.qml:319
#, kde-format
msgid ""
"Your homeserver requires you to agree to its terms and conditions before "
@@ -1886,17 +1886,17 @@ msgstr ""
"El servidor domèstic requereix que accepteu els seus termes i condicions "
"abans de poder-lo usar. Feu clic al botó de sota per a llegir-los."
#: src/qml/main.qml:328
#: src/qml/main.qml:324
#, kde-format
msgid "Open"
msgstr "Obre"
#: src/qml/main.qml:357
#: src/qml/main.qml:353
#, kde-format
msgid "Start a chat"
msgstr "Inicia un xat"
#: src/qml/main.qml:359
#: src/qml/main.qml:355
#, kde-format
msgid "Do you want to start a chat with %1?"
msgstr "Voleu iniciar un xat amb %1?"
@@ -3848,32 +3848,32 @@ msgstr ""
"No hi ha cap sala %1 a la llista de sales. Comproveu l'ortografia i el "
"compte."
#: src/roommanager.cpp:210
#: src/roommanager.cpp:208
#, kde-format
msgid "Failed to join room"
msgstr "Ha fallat en unir-se a la sala"
#: src/roommanager.cpp:227
#: src/roommanager.cpp:225
#, kde-format
msgid "You requested to join '%1'"
msgstr "Heu sol·licitat unir-vos a «%1»"
#: src/roommanager.cpp:230
#: src/roommanager.cpp:228
#, kde-format
msgid "Failed to request joining room"
msgstr "Ha fallat en sol·licitar unir-vos a la sala"
#: src/roommanager.cpp:240
#: src/roommanager.cpp:238
#, kde-format
msgid "No application for the link"
msgstr "No hi ha cap aplicació per a l'enllaç"
#: src/roommanager.cpp:240
#: src/roommanager.cpp:238
#, kde-format
msgid "Your operating system could not find an application for the link."
msgstr "El sistema operatiu no ha pogut trobar cap aplicació per a l'enllaç."
#: src/roommanager.cpp:246
#: src/roommanager.cpp:244
#, kde-format
msgid "Could not open URL"
msgstr "No s'ha pogut obrir l'URL"

View File

@@ -9,7 +9,7 @@ msgid ""
msgstr ""
"Project-Id-Version: neochat\n"
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
"POT-Creation-Date: 2023-04-11 00:48+0000\n"
"POT-Creation-Date: 2023-04-13 00:49+0000\n"
"PO-Revision-Date: 2023-04-04 08:28+0100\n"
"Last-Translator: Josep M. Ferrer <txemaq@gmail.com>\n"
"Language-Team: Catalan <kde-i18n-ca@kde.org>\n"
@@ -225,312 +225,312 @@ msgstr "L'element multimèdia amb ID «%1» no seguix el patró servidor/mediaId
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:23
#, kde-format
msgid "Leaving this room."
msgstr "Eixida d'esta sala."
#: src/models/actionsmodel.cpp:31 src/models/actionsmodel.cpp:230
#: src/models/actionsmodel.cpp:257 src/models/actionsmodel.cpp:288
#: src/models/actionsmodel.cpp:30 src/models/actionsmodel.cpp:229
#: src/models/actionsmodel.cpp:256 src/models/actionsmodel.cpp:287
#, 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 alias."
#: src/models/actionsmodel.cpp:39
#: src/models/actionsmodel.cpp:38
#, 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:41
#, 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:324
#: src/models/actionsmodel.cpp:49 src/models/actionsmodel.cpp:323
#, 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:64 src/models/actionsmodel.cpp:74
#: src/models/actionsmodel.cpp:84 src/models/actionsmodel.cpp:94
#: src/models/actionsmodel.cpp:114 src/models/actionsmodel.cpp:134
#: src/models/actionsmodel.cpp:145 src/models/actionsmodel.cpp:161
#: src/models/actionsmodel.cpp:171 src/models/actionsmodel.cpp:181
msgid "<message>"
msgstr "<missatge>"
#: src/models/actionsmodel.cpp:66
#: src/models/actionsmodel.cpp:65
msgid "Prepends ¯\\_(ツ)_/¯ to a plain-text message"
msgstr "Prefixa ¯\\_(ツ)_/¯ a un missatge de text net"
#: src/models/actionsmodel.cpp:76
#: src/models/actionsmodel.cpp:75
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:85
msgid "Prepends (╯°□°)╯︵ ┻━┻ to a plain-text message"
msgstr "Prefixa (╯°□°)╯︵ ┻━┻ a un missatge de text net"
#: src/models/actionsmodel.cpp:96
#: src/models/actionsmodel.cpp:95
msgid "Prepends ┬──┬ ( ゜-゜ノ) to a plain-text message"
msgstr "Prefixa ┬──┬ ( ゜-゜ノ) a un missatge de text net"
#: src/models/actionsmodel.cpp:116
#: src/models/actionsmodel.cpp:115
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:135
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:146
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:162
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:172
msgid "Sends the given emote"
msgstr "Envia l'emote indicada"
#: src/models/actionsmodel.cpp:183
#: src/models/actionsmodel.cpp:182
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:358
#: src/models/actionsmodel.cpp:386 src/models/actionsmodel.cpp:436
#: src/models/actionsmodel.cpp:473 src/models/actionsmodel.cpp:507
#: src/models/actionsmodel.cpp:191 src/models/actionsmodel.cpp:357
#: src/models/actionsmodel.cpp:385 src/models/actionsmodel.cpp:435
#: src/models/actionsmodel.cpp:472 src/models/actionsmodel.cpp:506
#, 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:198
#: src/models/actionsmodel.cpp:197
#, 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:202
#: src/models/actionsmodel.cpp:201
#, 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:207
#: 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:211
#: 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:215
#: 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:220 src/models/actionsmodel.cpp:376
#: src/models/actionsmodel.cpp:404 src/models/actionsmodel.cpp:495
#: src/models/actionsmodel.cpp:219 src/models/actionsmodel.cpp:375
#: src/models/actionsmodel.cpp:403 src/models/actionsmodel.cpp:494
msgid "<user id>"
msgstr "<ID d'usuari>"
#: src/models/actionsmodel.cpp:221
#: src/models/actionsmodel.cpp:220
msgid "Invites the user to this room"
msgstr "Convida l'usuari en esta sala"
#: src/models/actionsmodel.cpp:238 src/models/actionsmodel.cpp:295
#: src/models/actionsmodel.cpp:237 src/models/actionsmodel.cpp:294
#, kde-format
msgctxt "Joining room <roomname>."
msgid "Joining room %1."
msgstr "S'unix a la sala %1."
#: src/models/actionsmodel.cpp:244 src/models/actionsmodel.cpp:301
#: src/models/actionsmodel.cpp:243 src/models/actionsmodel.cpp:300
msgid "<room alias or id>"
msgstr "<alias o ID de sala>"
#: src/models/actionsmodel.cpp:245 src/models/actionsmodel.cpp:302
#: src/models/actionsmodel.cpp:244 src/models/actionsmodel.cpp:301
msgid "Joins the given room"
msgstr "S'unix a la sala indicada"
#: src/models/actionsmodel.cpp:265
#: src/models/actionsmodel.cpp:264
#, kde-format
msgctxt "Knocking room <roomname>."
msgid "Knocking room %1."
msgstr "Sol·licita permís a la sala %1."
#: src/models/actionsmodel.cpp:277
#: src/models/actionsmodel.cpp:276
msgid "<room alias or id> [<reason>]"
msgstr "<alias o ID de sala> [<motiu>]"
#: src/models/actionsmodel.cpp:278
#: src/models/actionsmodel.cpp:277
msgid "Requests to join the given room"
msgstr "Sol·licita unir-se a la sala indicada"
#: src/models/actionsmodel.cpp:292
#: src/models/actionsmodel.cpp:291
#, 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:309 src/models/actionsmodel.cpp:317
#: src/models/actionsmodel.cpp:308 src/models/actionsmodel.cpp:316
msgid "[<room alias or id>]"
msgstr "[<alias o ID de sala>]"
#: src/models/actionsmodel.cpp:310 src/models/actionsmodel.cpp:318
#: src/models/actionsmodel.cpp:309 src/models/actionsmodel.cpp:317
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:332 src/models/actionsmodel.cpp:340
#: src/models/actionsmodel.cpp:348
#: src/models/actionsmodel.cpp:331 src/models/actionsmodel.cpp:339
#: src/models/actionsmodel.cpp:347
msgid "<display name>"
msgstr "<nom a mostrar>"
#: src/models/actionsmodel.cpp:333
#: src/models/actionsmodel.cpp:332
msgid "Changes your global display name"
msgstr "Canvia el vostre nom a mostrar global"
#: src/models/actionsmodel.cpp:341 src/models/actionsmodel.cpp:349
#: src/models/actionsmodel.cpp:340 src/models/actionsmodel.cpp:348
msgid "Changes your display name in this room"
msgstr "Canvia el vostre nom a mostrar en esta sala"
#: src/models/actionsmodel.cpp:363
#: src/models/actionsmodel.cpp:362
#, kde-format
msgctxt "<username> is already ignored."
msgid "%1 is already ignored."
msgstr "%1 ja és ignorat."
#: src/models/actionsmodel.cpp:368
#: src/models/actionsmodel.cpp:367
#, kde-format
msgctxt "<username> is now ignored"
msgid "%1 is now ignored."
msgstr "%1 ara és ignorat."
#: src/models/actionsmodel.cpp:370 src/models/actionsmodel.cpp:398
#: src/models/actionsmodel.cpp:369 src/models/actionsmodel.cpp:397
#, kde-format
msgctxt "<username> is not a known user"
msgid "%1 is not a known user."
msgstr "%1 no és un usuari conegut."
#: src/models/actionsmodel.cpp:377
#: src/models/actionsmodel.cpp:376
msgid "Ignores the given user"
msgstr "Ignora l'usuari indicat"
#: src/models/actionsmodel.cpp:392
#: src/models/actionsmodel.cpp:391
#, kde-format
msgctxt "<username> is not ignored."
msgid "%1 is not ignored."
msgstr "%1 no està ignorat."
#: src/models/actionsmodel.cpp:396
#: src/models/actionsmodel.cpp:395
#, 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:405
#: src/models/actionsmodel.cpp:404
msgid "Unignores the given user"
msgstr "Deixa d'ignorar l'usuari indicat"
#: src/models/actionsmodel.cpp:425
#: src/models/actionsmodel.cpp:424
msgid "<reaction text>"
msgstr "<text de reacció>"
#: src/models/actionsmodel.cpp:426
#: src/models/actionsmodel.cpp:425
msgid "React to the message with the given text"
msgstr "Reacciona al missatge amb el text indicat"
#: src/models/actionsmodel.cpp:442
#: src/models/actionsmodel.cpp:441
#, 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:448
#: src/models/actionsmodel.cpp:447
#, 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:454
#: src/models/actionsmodel.cpp:453
#, 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:458
#: src/models/actionsmodel.cpp:457
#, 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:463 src/models/actionsmodel.cpp:538
#: src/models/actionsmodel.cpp:462 src/models/actionsmodel.cpp:537
msgid "<user id> [<reason>]"
msgstr "<ID d'usuari> [<motiu>]"
#: src/models/actionsmodel.cpp:464
#: src/models/actionsmodel.cpp:463
msgid "Bans the given user"
msgstr "Bandeja l'usuari indicat"
#: src/models/actionsmodel.cpp:478
#: src/models/actionsmodel.cpp:477
#, 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:484
#: src/models/actionsmodel.cpp:483
#, 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:489
#: src/models/actionsmodel.cpp:488
#, 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:496
#: src/models/actionsmodel.cpp:495
msgid "Removes the ban of the given user"
msgstr "Elimina el bandeig a l'usuari indicat"
#: src/models/actionsmodel.cpp:511
#: src/models/actionsmodel.cpp:510
#, 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:516
#: src/models/actionsmodel.cpp:515
#, 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:523
#: src/models/actionsmodel.cpp:522
#, 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:529
#: src/models/actionsmodel.cpp:528
#, 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:533
#: src/models/actionsmodel.cpp:532
#, 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:539
#: src/models/actionsmodel.cpp:538
msgid "Removes the user from the room"
msgstr "Elimina l'usuari d'esta sala"
@@ -1856,28 +1856,28 @@ msgstr "Obri en un xat privat"
msgid "Copy link"
msgstr "Copia l'enllaç"
#: src/qml/main.qml:128
#: src/qml/main.qml:124
#, kde-format
msgid "Warning: %1"
msgstr "Avís: %1"
#: src/qml/main.qml:267
#: src/qml/main.qml:263
#, kde-format
msgid "%1: %2"
msgstr "%1: %2"
#: src/qml/main.qml:308
#: src/qml/main.qml:304
#, kde-format
msgctxt "@title:window"
msgid "Session Verification"
msgstr "Verificació de la sessió"
#: src/qml/main.qml:318
#: src/qml/main.qml:314
#, kde-format
msgid "User consent"
msgstr "Consentiment de l'usuari"
#: src/qml/main.qml:323
#: src/qml/main.qml:319
#, kde-format
msgid ""
"Your homeserver requires you to agree to its terms and conditions before "
@@ -1886,17 +1886,17 @@ 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:328
#: src/qml/main.qml:324
#, kde-format
msgid "Open"
msgstr "Obri"
#: src/qml/main.qml:357
#: src/qml/main.qml:353
#, kde-format
msgid "Start a chat"
msgstr "Inicia un xat"
#: src/qml/main.qml:359
#: src/qml/main.qml:355
#, kde-format
msgid "Do you want to start a chat with %1?"
msgstr "Voleu iniciar un xat amb %1?"
@@ -3848,32 +3848,32 @@ msgstr ""
"No hi ha cap sala %1 en la llista de sales. Comproveu l'ortografia i el "
"compte."
#: src/roommanager.cpp:210
#: src/roommanager.cpp:208
#, kde-format
msgid "Failed to join room"
msgstr "No s'ha pogut unir a la sala"
#: src/roommanager.cpp:227
#: src/roommanager.cpp:225
#, kde-format
msgid "You requested to join '%1'"
msgstr "Heu sol·licitat unir-vos a «%1»"
#: src/roommanager.cpp:230
#: src/roommanager.cpp:228
#, kde-format
msgid "Failed to request joining room"
msgstr "No s'ha pogut sol·licitar unir-vos a la sala"
#: src/roommanager.cpp:240
#: src/roommanager.cpp:238
#, kde-format
msgid "No application for the link"
msgstr "No hi ha cap aplicació per a l'enllaç"
#: src/roommanager.cpp:240
#: src/roommanager.cpp:238
#, kde-format
msgid "Your operating system could not find an application for the link."
msgstr "El sistema operatiu no ha pogut trobar cap aplicació per a l'enllaç."
#: src/roommanager.cpp:246
#: src/roommanager.cpp:244
#, kde-format
msgid "Could not open URL"
msgstr "No s'ha pogut obrir l'URL"

View File

@@ -6,8 +6,8 @@ msgid ""
msgstr ""
"Project-Id-Version: neochat\n"
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
"POT-Creation-Date: 2023-04-11 00:48+0000\n"
"PO-Revision-Date: 2023-03-20 14:19+0100\n"
"POT-Creation-Date: 2023-04-13 00:49+0000\n"
"PO-Revision-Date: 2023-04-05 11:32+0200\n"
"Last-Translator: Vit Pelcak <vit@pelcak.org>\n"
"Language-Team: Czech <kde-i18n-doc@kde.org>\n"
"Language: cs\n"
@@ -219,311 +219,311 @@ msgstr ""
msgid "Image request has been cancelled"
msgstr ""
#: src/models/actionsmodel.cpp:24
#: src/models/actionsmodel.cpp:23
#, kde-format
msgid "Leaving this room."
msgstr ""
#: src/models/actionsmodel.cpp:31 src/models/actionsmodel.cpp:230
#: src/models/actionsmodel.cpp:257 src/models/actionsmodel.cpp:288
#: src/models/actionsmodel.cpp:30 src/models/actionsmodel.cpp:229
#: src/models/actionsmodel.cpp:256 src/models/actionsmodel.cpp:287
#, 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:38
#, kde-format
msgctxt "Leaving room <roomname>."
msgid "Leaving room %1."
msgstr ""
#: src/models/actionsmodel.cpp:42
#: src/models/actionsmodel.cpp:41
#, kde-format
msgctxt "Room <roomname> not found"
msgid "Room %1 not found."
msgstr ""
#: src/models/actionsmodel.cpp:50 src/models/actionsmodel.cpp:324
#: src/models/actionsmodel.cpp:49 src/models/actionsmodel.cpp:323
#, 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:64 src/models/actionsmodel.cpp:74
#: src/models/actionsmodel.cpp:84 src/models/actionsmodel.cpp:94
#: src/models/actionsmodel.cpp:114 src/models/actionsmodel.cpp:134
#: src/models/actionsmodel.cpp:145 src/models/actionsmodel.cpp:161
#: src/models/actionsmodel.cpp:171 src/models/actionsmodel.cpp:181
msgid "<message>"
msgstr "< zpráva>"
#: src/models/actionsmodel.cpp:66
#: src/models/actionsmodel.cpp:65
msgid "Prepends ¯\\_(ツ)_/¯ to a plain-text message"
msgstr ""
#: src/models/actionsmodel.cpp:76
#: src/models/actionsmodel.cpp:75
msgid "Prepends ( ͡° ͜ʖ ͡°) to a plain-text message"
msgstr ""
#: src/models/actionsmodel.cpp:86
#: src/models/actionsmodel.cpp:85
msgid "Prepends (╯°□°)╯︵ ┻━┻ to a plain-text message"
msgstr ""
#: src/models/actionsmodel.cpp:96
#: src/models/actionsmodel.cpp:95
msgid "Prepends ┬──┬ ( ゜-゜ノ) to a plain-text message"
msgstr ""
#: src/models/actionsmodel.cpp:116
#: src/models/actionsmodel.cpp:115
msgid "Sends the given message colored as a rainbow"
msgstr ""
#: src/models/actionsmodel.cpp:136
#: src/models/actionsmodel.cpp:135
msgid "Sends the given emote colored as a rainbow"
msgstr ""
#: src/models/actionsmodel.cpp:147
#: src/models/actionsmodel.cpp:146
msgid "Sends the given message as plain text"
msgstr ""
#: src/models/actionsmodel.cpp:163
#: src/models/actionsmodel.cpp:162
msgid "Sends the given message as a spoiler"
msgstr ""
#: src/models/actionsmodel.cpp:173
#: src/models/actionsmodel.cpp:172
msgid "Sends the given emote"
msgstr ""
#: src/models/actionsmodel.cpp:183
#: src/models/actionsmodel.cpp:182
msgid "Sends the given message as a notice"
msgstr ""
#: src/models/actionsmodel.cpp:192 src/models/actionsmodel.cpp:358
#: src/models/actionsmodel.cpp:386 src/models/actionsmodel.cpp:436
#: src/models/actionsmodel.cpp:473 src/models/actionsmodel.cpp:507
#: src/models/actionsmodel.cpp:191 src/models/actionsmodel.cpp:357
#: src/models/actionsmodel.cpp:385 src/models/actionsmodel.cpp:435
#: src/models/actionsmodel.cpp:472 src/models/actionsmodel.cpp:506
#, 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:198
#: src/models/actionsmodel.cpp:197
#, kde-format
msgctxt "<user> is already invited to this room."
msgid "%1 is already invited to this room."
msgstr ""
#: src/models/actionsmodel.cpp:202
#: src/models/actionsmodel.cpp:201
#, kde-format
msgctxt "<user> is banned from this room."
msgid "%1 is banned from this room."
msgstr ""
#: src/models/actionsmodel.cpp:207
#: src/models/actionsmodel.cpp:206
#, kde-format
msgid "You are already in this room."
msgstr ""
#: src/models/actionsmodel.cpp:211
#: 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:215
#: 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:220 src/models/actionsmodel.cpp:376
#: src/models/actionsmodel.cpp:404 src/models/actionsmodel.cpp:495
#: src/models/actionsmodel.cpp:219 src/models/actionsmodel.cpp:375
#: src/models/actionsmodel.cpp:403 src/models/actionsmodel.cpp:494
msgid "<user id>"
msgstr ""
#: src/models/actionsmodel.cpp:221
#: src/models/actionsmodel.cpp:220
msgid "Invites the user to this room"
msgstr ""
#: src/models/actionsmodel.cpp:238 src/models/actionsmodel.cpp:295
#: src/models/actionsmodel.cpp:237 src/models/actionsmodel.cpp:294
#, kde-format
msgctxt "Joining room <roomname>."
msgid "Joining room %1."
msgstr ""
#: src/models/actionsmodel.cpp:244 src/models/actionsmodel.cpp:301
#: src/models/actionsmodel.cpp:243 src/models/actionsmodel.cpp:300
msgid "<room alias or id>"
msgstr ""
#: src/models/actionsmodel.cpp:245 src/models/actionsmodel.cpp:302
#: src/models/actionsmodel.cpp:244 src/models/actionsmodel.cpp:301
msgid "Joins the given room"
msgstr ""
#: src/models/actionsmodel.cpp:265
#: src/models/actionsmodel.cpp:264
#, kde-format
msgctxt "Knocking room <roomname>."
msgid "Knocking room %1."
msgstr "Klepete na místnost %1."
#: src/models/actionsmodel.cpp:277
#: src/models/actionsmodel.cpp:276
msgid "<room alias or id> [<reason>]"
msgstr ""
#: src/models/actionsmodel.cpp:278
#: src/models/actionsmodel.cpp:277
msgid "Requests to join the given room"
msgstr ""
#: src/models/actionsmodel.cpp:292
#: src/models/actionsmodel.cpp:291
#, kde-format
msgctxt "You are already in room <roomname>."
msgid "You are already in room %1."
msgstr ""
#: src/models/actionsmodel.cpp:309 src/models/actionsmodel.cpp:317
#: src/models/actionsmodel.cpp:308 src/models/actionsmodel.cpp:316
msgid "[<room alias or id>]"
msgstr ""
#: src/models/actionsmodel.cpp:310 src/models/actionsmodel.cpp:318
#: src/models/actionsmodel.cpp:309 src/models/actionsmodel.cpp:317
msgid "Leaves the given room or this room, if there is none given"
msgstr ""
#: src/models/actionsmodel.cpp:332 src/models/actionsmodel.cpp:340
#: src/models/actionsmodel.cpp:348
#: src/models/actionsmodel.cpp:331 src/models/actionsmodel.cpp:339
#: src/models/actionsmodel.cpp:347
msgid "<display name>"
msgstr ""
#: src/models/actionsmodel.cpp:333
#: src/models/actionsmodel.cpp:332
msgid "Changes your global display name"
msgstr ""
#: src/models/actionsmodel.cpp:341 src/models/actionsmodel.cpp:349
#: src/models/actionsmodel.cpp:340 src/models/actionsmodel.cpp:348
msgid "Changes your display name in this room"
msgstr ""
#: src/models/actionsmodel.cpp:363
#: src/models/actionsmodel.cpp:362
#, kde-format
msgctxt "<username> is already ignored."
msgid "%1 is already ignored."
msgstr ""
#: src/models/actionsmodel.cpp:368
#: src/models/actionsmodel.cpp:367
#, kde-format
msgctxt "<username> is now ignored"
msgid "%1 is now ignored."
msgstr ""
#: src/models/actionsmodel.cpp:370 src/models/actionsmodel.cpp:398
#: src/models/actionsmodel.cpp:369 src/models/actionsmodel.cpp:397
#, kde-format
msgctxt "<username> is not a known user"
msgid "%1 is not a known user."
msgstr ""
#: src/models/actionsmodel.cpp:377
#: src/models/actionsmodel.cpp:376
msgid "Ignores the given user"
msgstr ""
#: src/models/actionsmodel.cpp:392
#: src/models/actionsmodel.cpp:391
#, kde-format
msgctxt "<username> is not ignored."
msgid "%1 is not ignored."
msgstr ""
#: src/models/actionsmodel.cpp:396
#: src/models/actionsmodel.cpp:395
#, kde-format
msgctxt "<username> is no longer ignored."
msgid "%1 is no longer ignored."
msgstr ""
#: src/models/actionsmodel.cpp:405
#: src/models/actionsmodel.cpp:404
msgid "Unignores the given user"
msgstr ""
#: src/models/actionsmodel.cpp:425
#: src/models/actionsmodel.cpp:424
msgid "<reaction text>"
msgstr ""
#: src/models/actionsmodel.cpp:426
#: src/models/actionsmodel.cpp:425
msgid "React to the message with the given text"
msgstr ""
#: src/models/actionsmodel.cpp:442
#: src/models/actionsmodel.cpp:441
#, kde-format
msgctxt "<user> is already banned from this room."
msgid "%1 is already banned from this room."
msgstr ""
#: src/models/actionsmodel.cpp:448
#: src/models/actionsmodel.cpp:447
#, kde-format
msgid "You are not allowed to ban users from this room."
msgstr ""
#: src/models/actionsmodel.cpp:454
#: src/models/actionsmodel.cpp:453
#, 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:458
#: src/models/actionsmodel.cpp:457
#, kde-format
msgctxt "<username> was banned from this room."
msgid "%1 was banned from this room."
msgstr ""
#: src/models/actionsmodel.cpp:463 src/models/actionsmodel.cpp:538
#: src/models/actionsmodel.cpp:462 src/models/actionsmodel.cpp:537
msgid "<user id> [<reason>]"
msgstr ""
#: src/models/actionsmodel.cpp:464
#: src/models/actionsmodel.cpp:463
msgid "Bans the given user"
msgstr ""
#: src/models/actionsmodel.cpp:478
#: src/models/actionsmodel.cpp:477
#, kde-format
msgid "You are not allowed to unban users from this room."
msgstr ""
#: src/models/actionsmodel.cpp:484
#: src/models/actionsmodel.cpp:483
#, kde-format
msgctxt "<user> is not banned from this room."
msgid "%1 is not banned from this room."
msgstr ""
#: src/models/actionsmodel.cpp:489
#: src/models/actionsmodel.cpp:488
#, kde-format
msgctxt "<username> was unbanned from this room."
msgid "%1 was unbanned from this room."
msgstr ""
#: src/models/actionsmodel.cpp:496
#: src/models/actionsmodel.cpp:495
msgid "Removes the ban of the given user"
msgstr ""
#: src/models/actionsmodel.cpp:511
#: src/models/actionsmodel.cpp:510
#, kde-format
msgid "You cannot kick yourself from the room."
msgstr ""
#: src/models/actionsmodel.cpp:516
#: src/models/actionsmodel.cpp:515
#, kde-format
msgctxt "<username> is not in this room"
msgid "%1 is not in this room."
msgstr ""
#: src/models/actionsmodel.cpp:523
#: src/models/actionsmodel.cpp:522
#, kde-format
msgid "You are not allowed to kick users from this room."
msgstr ""
#: src/models/actionsmodel.cpp:529
#: src/models/actionsmodel.cpp:528
#, 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:533
#: src/models/actionsmodel.cpp:532
#, kde-format
msgctxt "<username> was kicked from this room."
msgid "%1 was kicked from this room."
msgstr ""
#: src/models/actionsmodel.cpp:539
#: src/models/actionsmodel.cpp:538
msgid "Removes the user from the room"
msgstr ""
@@ -1816,45 +1816,45 @@ msgstr ""
msgid "Copy link"
msgstr "Kopírovat odkaz"
#: src/qml/main.qml:128
#: src/qml/main.qml:124
#, kde-format
msgid "Warning: %1"
msgstr "Varování: %1"
#: src/qml/main.qml:267
#: src/qml/main.qml:263
#, kde-format
msgid "%1: %2"
msgstr "%1: %2"
#: src/qml/main.qml:308
#: src/qml/main.qml:304
#, kde-format
msgctxt "@title:window"
msgid "Session Verification"
msgstr ""
#: src/qml/main.qml:318
#: src/qml/main.qml:314
#, kde-format
msgid "User consent"
msgstr ""
#: src/qml/main.qml:323
#: src/qml/main.qml:319
#, 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:328
#: src/qml/main.qml:324
#, kde-format
msgid "Open"
msgstr "Otevřít"
#: src/qml/main.qml:357
#: src/qml/main.qml:353
#, kde-format
msgid "Start a chat"
msgstr "Zahájit rozhovor"
#: src/qml/main.qml:359
#: src/qml/main.qml:355
#, kde-format
msgid "Do you want to start a chat with %1?"
msgstr "Přejete si začít rozhovor s %1?"
@@ -2696,14 +2696,14 @@ msgstr ""
#, kde-format
msgid "%1 member"
msgid_plural "%1 members"
msgstr[0] ""
msgstr[1] ""
msgstr[2] ""
msgstr[0] "%1 člen"
msgstr[1] "%1 členové"
msgstr[2] "%1 členů"
#: src/qml/Panel/RoomDrawer.qml:265
#, kde-format
msgid "No member count"
msgstr ""
msgstr "Žádný počet členů"
#: src/qml/RoomSettings/Categories.qml:16 src/qml/RoomSettings/General.qml:20
#: src/qml/Settings/SettingsPage.qml:13
@@ -3779,32 +3779,32 @@ msgid ""
"There's no room %1 in the room list. Check the spelling and the account."
msgstr ""
#: src/roommanager.cpp:210
#: src/roommanager.cpp:208
#, kde-format
msgid "Failed to join room"
msgstr ""
#: src/roommanager.cpp:227
#: src/roommanager.cpp:225
#, kde-format
msgid "You requested to join '%1'"
msgstr "Vyžádali jste vstup do '%1'."
#: src/roommanager.cpp:230
#: src/roommanager.cpp:228
#, kde-format
msgid "Failed to request joining room"
msgstr "Vyžádání požadavku o vstup do místnosti selhalo"
#: src/roommanager.cpp:240
#: src/roommanager.cpp:238
#, kde-format
msgid "No application for the link"
msgstr "Pro odkaz není žádná aplikace"
#: src/roommanager.cpp:240
#: src/roommanager.cpp:238
#, kde-format
msgid "Your operating system could not find an application for the link."
msgstr ""
#: src/roommanager.cpp:246
#: src/roommanager.cpp:244
#, kde-format
msgid "Could not open URL"
msgstr "Nelze otevřít adresu URL"
@@ -3818,6 +3818,3 @@ msgstr "Zobrazit"
#, kde-format
msgid "Quit"
msgstr "Ukončit"
#~ msgid " (edited)"
#~ msgstr " (upraveno)"

View File

@@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: neochat\n"
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
"POT-Creation-Date: 2023-04-11 00:48+0000\n"
"POT-Creation-Date: 2023-04-13 00:49+0000\n"
"PO-Revision-Date: 2020-12-13 17:28+0100\n"
"Last-Translator: Martin Schlander <mschlander@opensuse.org>\n"
"Language-Team: Danish <kde-i18n-doc@kde.org>\n"
@@ -225,313 +225,313 @@ msgstr ""
msgid "Image request has been cancelled"
msgstr ""
#: src/models/actionsmodel.cpp:24
#: src/models/actionsmodel.cpp:23
#, kde-format
msgid "Leaving this room."
msgstr ""
#: src/models/actionsmodel.cpp:31 src/models/actionsmodel.cpp:230
#: src/models/actionsmodel.cpp:257 src/models/actionsmodel.cpp:288
#: src/models/actionsmodel.cpp:30 src/models/actionsmodel.cpp:229
#: src/models/actionsmodel.cpp:256 src/models/actionsmodel.cpp:287
#, 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:38
#, kde-format
msgctxt "Leaving room <roomname>."
msgid "Leaving room %1."
msgstr ""
#: src/models/actionsmodel.cpp:42
#: src/models/actionsmodel.cpp:41
#, kde-format
msgctxt "Room <roomname> not found"
msgid "Room %1 not found."
msgstr ""
#: src/models/actionsmodel.cpp:50 src/models/actionsmodel.cpp:324
#: src/models/actionsmodel.cpp:49 src/models/actionsmodel.cpp:323
#, 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:64 src/models/actionsmodel.cpp:74
#: src/models/actionsmodel.cpp:84 src/models/actionsmodel.cpp:94
#: src/models/actionsmodel.cpp:114 src/models/actionsmodel.cpp:134
#: src/models/actionsmodel.cpp:145 src/models/actionsmodel.cpp:161
#: src/models/actionsmodel.cpp:171 src/models/actionsmodel.cpp:181
#, fuzzy
#| msgid "Send message"
msgid "<message>"
msgstr "Send besked"
#: src/models/actionsmodel.cpp:66
#: src/models/actionsmodel.cpp:65
msgid "Prepends ¯\\_(ツ)_/¯ to a plain-text message"
msgstr ""
#: src/models/actionsmodel.cpp:76
#: src/models/actionsmodel.cpp:75
msgid "Prepends ( ͡° ͜ʖ ͡°) to a plain-text message"
msgstr ""
#: src/models/actionsmodel.cpp:86
#: src/models/actionsmodel.cpp:85
msgid "Prepends (╯°□°)╯︵ ┻━┻ to a plain-text message"
msgstr ""
#: src/models/actionsmodel.cpp:96
#: src/models/actionsmodel.cpp:95
msgid "Prepends ┬──┬ ( ゜-゜ノ) to a plain-text message"
msgstr ""
#: src/models/actionsmodel.cpp:116
#: src/models/actionsmodel.cpp:115
msgid "Sends the given message colored as a rainbow"
msgstr ""
#: src/models/actionsmodel.cpp:136
#: src/models/actionsmodel.cpp:135
msgid "Sends the given emote colored as a rainbow"
msgstr ""
#: src/models/actionsmodel.cpp:147
#: src/models/actionsmodel.cpp:146
msgid "Sends the given message as plain text"
msgstr ""
#: src/models/actionsmodel.cpp:163
#: src/models/actionsmodel.cpp:162
msgid "Sends the given message as a spoiler"
msgstr ""
#: src/models/actionsmodel.cpp:173
#: src/models/actionsmodel.cpp:172
msgid "Sends the given emote"
msgstr ""
#: src/models/actionsmodel.cpp:183
#: src/models/actionsmodel.cpp:182
msgid "Sends the given message as a notice"
msgstr ""
#: src/models/actionsmodel.cpp:192 src/models/actionsmodel.cpp:358
#: src/models/actionsmodel.cpp:386 src/models/actionsmodel.cpp:436
#: src/models/actionsmodel.cpp:473 src/models/actionsmodel.cpp:507
#: src/models/actionsmodel.cpp:191 src/models/actionsmodel.cpp:357
#: src/models/actionsmodel.cpp:385 src/models/actionsmodel.cpp:435
#: src/models/actionsmodel.cpp:472 src/models/actionsmodel.cpp:506
#, 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:198
#: src/models/actionsmodel.cpp:197
#, kde-format
msgctxt "<user> is already invited to this room."
msgid "%1 is already invited to this room."
msgstr ""
#: src/models/actionsmodel.cpp:202
#: src/models/actionsmodel.cpp:201
#, kde-format
msgctxt "<user> is banned from this room."
msgid "%1 is banned from this room."
msgstr ""
#: src/models/actionsmodel.cpp:207
#: src/models/actionsmodel.cpp:206
#, kde-format
msgid "You are already in this room."
msgstr ""
#: src/models/actionsmodel.cpp:211
#: 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:215
#: 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:220 src/models/actionsmodel.cpp:376
#: src/models/actionsmodel.cpp:404 src/models/actionsmodel.cpp:495
#: src/models/actionsmodel.cpp:219 src/models/actionsmodel.cpp:375
#: src/models/actionsmodel.cpp:403 src/models/actionsmodel.cpp:494
msgid "<user id>"
msgstr ""
#: src/models/actionsmodel.cpp:221
#: src/models/actionsmodel.cpp:220
msgid "Invites the user to this room"
msgstr ""
#: src/models/actionsmodel.cpp:238 src/models/actionsmodel.cpp:295
#: src/models/actionsmodel.cpp:237 src/models/actionsmodel.cpp:294
#, kde-format
msgctxt "Joining room <roomname>."
msgid "Joining room %1."
msgstr ""
#: src/models/actionsmodel.cpp:244 src/models/actionsmodel.cpp:301
#: src/models/actionsmodel.cpp:243 src/models/actionsmodel.cpp:300
msgid "<room alias or id>"
msgstr ""
#: src/models/actionsmodel.cpp:245 src/models/actionsmodel.cpp:302
#: src/models/actionsmodel.cpp:244 src/models/actionsmodel.cpp:301
msgid "Joins the given room"
msgstr ""
#: src/models/actionsmodel.cpp:265
#: src/models/actionsmodel.cpp:264
#, kde-format
msgctxt "Knocking room <roomname>."
msgid "Knocking room %1."
msgstr ""
#: src/models/actionsmodel.cpp:277
#: src/models/actionsmodel.cpp:276
msgid "<room alias or id> [<reason>]"
msgstr ""
#: src/models/actionsmodel.cpp:278
#: src/models/actionsmodel.cpp:277
msgid "Requests to join the given room"
msgstr ""
#: src/models/actionsmodel.cpp:292
#: src/models/actionsmodel.cpp:291
#, kde-format
msgctxt "You are already in room <roomname>."
msgid "You are already in room %1."
msgstr ""
#: src/models/actionsmodel.cpp:309 src/models/actionsmodel.cpp:317
#: src/models/actionsmodel.cpp:308 src/models/actionsmodel.cpp:316
msgid "[<room alias or id>]"
msgstr ""
#: src/models/actionsmodel.cpp:310 src/models/actionsmodel.cpp:318
#: src/models/actionsmodel.cpp:309 src/models/actionsmodel.cpp:317
msgid "Leaves the given room or this room, if there is none given"
msgstr ""
#: src/models/actionsmodel.cpp:332 src/models/actionsmodel.cpp:340
#: src/models/actionsmodel.cpp:348
#: src/models/actionsmodel.cpp:331 src/models/actionsmodel.cpp:339
#: src/models/actionsmodel.cpp:347
msgid "<display name>"
msgstr ""
#: src/models/actionsmodel.cpp:333
#: src/models/actionsmodel.cpp:332
msgid "Changes your global display name"
msgstr ""
#: src/models/actionsmodel.cpp:341 src/models/actionsmodel.cpp:349
#: src/models/actionsmodel.cpp:340 src/models/actionsmodel.cpp:348
msgid "Changes your display name in this room"
msgstr ""
#: src/models/actionsmodel.cpp:363
#: src/models/actionsmodel.cpp:362
#, kde-format
msgctxt "<username> is already ignored."
msgid "%1 is already ignored."
msgstr ""
#: src/models/actionsmodel.cpp:368
#: src/models/actionsmodel.cpp:367
#, kde-format
msgctxt "<username> is now ignored"
msgid "%1 is now ignored."
msgstr ""
#: src/models/actionsmodel.cpp:370 src/models/actionsmodel.cpp:398
#: src/models/actionsmodel.cpp:369 src/models/actionsmodel.cpp:397
#, kde-format
msgctxt "<username> is not a known user"
msgid "%1 is not a known user."
msgstr ""
#: src/models/actionsmodel.cpp:377
#: src/models/actionsmodel.cpp:376
msgid "Ignores the given user"
msgstr ""
#: src/models/actionsmodel.cpp:392
#: src/models/actionsmodel.cpp:391
#, kde-format
msgctxt "<username> is not ignored."
msgid "%1 is not ignored."
msgstr ""
#: src/models/actionsmodel.cpp:396
#: src/models/actionsmodel.cpp:395
#, kde-format
msgctxt "<username> is no longer ignored."
msgid "%1 is no longer ignored."
msgstr ""
#: src/models/actionsmodel.cpp:405
#: src/models/actionsmodel.cpp:404
msgid "Unignores the given user"
msgstr ""
#: src/models/actionsmodel.cpp:425
#: src/models/actionsmodel.cpp:424
msgid "<reaction text>"
msgstr ""
#: src/models/actionsmodel.cpp:426
#: src/models/actionsmodel.cpp:425
msgid "React to the message with the given text"
msgstr ""
#: src/models/actionsmodel.cpp:442
#: src/models/actionsmodel.cpp:441
#, kde-format
msgctxt "<user> is already banned from this room."
msgid "%1 is already banned from this room."
msgstr ""
#: src/models/actionsmodel.cpp:448
#: src/models/actionsmodel.cpp:447
#, kde-format
msgid "You are not allowed to ban users from this room."
msgstr ""
#: src/models/actionsmodel.cpp:454
#: src/models/actionsmodel.cpp:453
#, 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:458
#: src/models/actionsmodel.cpp:457
#, kde-format
msgctxt "<username> was banned from this room."
msgid "%1 was banned from this room."
msgstr ""
#: src/models/actionsmodel.cpp:463 src/models/actionsmodel.cpp:538
#: src/models/actionsmodel.cpp:462 src/models/actionsmodel.cpp:537
msgid "<user id> [<reason>]"
msgstr ""
#: src/models/actionsmodel.cpp:464
#: src/models/actionsmodel.cpp:463
msgid "Bans the given user"
msgstr ""
#: src/models/actionsmodel.cpp:478
#: src/models/actionsmodel.cpp:477
#, kde-format
msgid "You are not allowed to unban users from this room."
msgstr ""
#: src/models/actionsmodel.cpp:484
#: src/models/actionsmodel.cpp:483
#, kde-format
msgctxt "<user> is not banned from this room."
msgid "%1 is not banned from this room."
msgstr ""
#: src/models/actionsmodel.cpp:489
#: src/models/actionsmodel.cpp:488
#, kde-format
msgctxt "<username> was unbanned from this room."
msgid "%1 was unbanned from this room."
msgstr ""
#: src/models/actionsmodel.cpp:496
#: src/models/actionsmodel.cpp:495
msgid "Removes the ban of the given user"
msgstr ""
#: src/models/actionsmodel.cpp:511
#: src/models/actionsmodel.cpp:510
#, kde-format
msgid "You cannot kick yourself from the room."
msgstr ""
#: src/models/actionsmodel.cpp:516
#: src/models/actionsmodel.cpp:515
#, kde-format
msgctxt "<username> is not in this room"
msgid "%1 is not in this room."
msgstr ""
#: src/models/actionsmodel.cpp:523
#: src/models/actionsmodel.cpp:522
#, kde-format
msgid "You are not allowed to kick users from this room."
msgstr ""
#: src/models/actionsmodel.cpp:529
#: src/models/actionsmodel.cpp:528
#, 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:533
#: src/models/actionsmodel.cpp:532
#, kde-format
msgctxt "<username> was kicked from this room."
msgid "%1 was kicked from this room."
msgstr ""
#: src/models/actionsmodel.cpp:539
#: src/models/actionsmodel.cpp:538
msgid "Removes the user from the room"
msgstr ""
@@ -1851,47 +1851,47 @@ msgstr ""
msgid "Copy link"
msgstr "Kopiér"
#: src/qml/main.qml:128
#: src/qml/main.qml:124
#, kde-format
msgid "Warning: %1"
msgstr ""
#: src/qml/main.qml:267
#: src/qml/main.qml:263
#, kde-format
msgid "%1: %2"
msgstr ""
#: src/qml/main.qml:308
#: src/qml/main.qml:304
#, kde-format
msgctxt "@title:window"
msgid "Session Verification"
msgstr ""
#: src/qml/main.qml:318
#: src/qml/main.qml:314
#, fuzzy, kde-format
#| msgid "Username"
msgid "User consent"
msgstr "Brugernavn"
#: src/qml/main.qml:323
#: src/qml/main.qml:319
#, 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:328
#: src/qml/main.qml:324
#, kde-format
msgid "Open"
msgstr ""
#: src/qml/main.qml:357
#: src/qml/main.qml:353
#, fuzzy, kde-format
#| msgid "Start a Chat"
msgid "Start a chat"
msgstr "Start en chat"
#: src/qml/main.qml:359
#: src/qml/main.qml:355
#, kde-format
msgid "Do you want to start a chat with %1?"
msgstr ""
@@ -3868,32 +3868,32 @@ msgid ""
"There's no room %1 in the room list. Check the spelling and the account."
msgstr ""
#: src/roommanager.cpp:210
#: src/roommanager.cpp:208
#, kde-format
msgid "Failed to join room"
msgstr ""
#: src/roommanager.cpp:227
#: src/roommanager.cpp:225
#, kde-format
msgid "You requested to join '%1'"
msgstr ""
#: src/roommanager.cpp:230
#: src/roommanager.cpp:228
#, kde-format
msgid "Failed to request joining room"
msgstr ""
#: src/roommanager.cpp:240
#: src/roommanager.cpp:238
#, kde-format
msgid "No application for the link"
msgstr ""
#: src/roommanager.cpp:240
#: src/roommanager.cpp:238
#, kde-format
msgid "Your operating system could not find an application for the link."
msgstr ""
#: src/roommanager.cpp:246
#: src/roommanager.cpp:244
#, kde-format
msgid "Could not open URL"
msgstr ""

File diff suppressed because it is too large Load Diff

View File

@@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: neochat\n"
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
"POT-Creation-Date: 2023-04-11 00:48+0000\n"
"POT-Creation-Date: 2023-04-13 00:49+0000\n"
"PO-Revision-Date: 2023-01-06 16:47+0200\n"
"Last-Translator: Stelios <sstavra@gmail.com>\n"
"Language-Team: Greek <kde-i18n-el@kde.org>\n"
@@ -224,144 +224,144 @@ msgstr ""
msgid "Image request has been cancelled"
msgstr "Το αίτημα εικόνας ακυρώθηκε"
#: src/models/actionsmodel.cpp:24
#: src/models/actionsmodel.cpp:23
#, kde-format
msgid "Leaving this room."
msgstr "Εξέρχεται από αυτήν την αίθουσα."
#: src/models/actionsmodel.cpp:31 src/models/actionsmodel.cpp:230
#: src/models/actionsmodel.cpp:257 src/models/actionsmodel.cpp:288
#: src/models/actionsmodel.cpp:30 src/models/actionsmodel.cpp:229
#: src/models/actionsmodel.cpp:256 src/models/actionsmodel.cpp:287
#, 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' δεν μοιάζει με αναγνωριστικό ή ψευδώνυμο αίθουσας."
#: src/models/actionsmodel.cpp:39
#: src/models/actionsmodel.cpp:38
#, kde-format
msgctxt "Leaving room <roomname>."
msgid "Leaving room %1."
msgstr "Εξέρχεται από την αίθουσα %1."
#: src/models/actionsmodel.cpp:42
#: src/models/actionsmodel.cpp:41
#, kde-format
msgctxt "Room <roomname> not found"
msgid "Room %1 not found."
msgstr "Η αίθουσα %1 δεν βρέθηκε."
#: src/models/actionsmodel.cpp:50 src/models/actionsmodel.cpp:324
#: src/models/actionsmodel.cpp:49 src/models/actionsmodel.cpp:323
#, 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:64 src/models/actionsmodel.cpp:74
#: src/models/actionsmodel.cpp:84 src/models/actionsmodel.cpp:94
#: src/models/actionsmodel.cpp:114 src/models/actionsmodel.cpp:134
#: src/models/actionsmodel.cpp:145 src/models/actionsmodel.cpp:161
#: src/models/actionsmodel.cpp:171 src/models/actionsmodel.cpp:181
msgid "<message>"
msgstr "<μήνυμα>"
#: src/models/actionsmodel.cpp:66
#: src/models/actionsmodel.cpp:65
msgid "Prepends ¯\\_(ツ)_/¯ to a plain-text message"
msgstr "Πρόθεμα ¯\\_(ツ)_/¯ σε ένα μήνυμα απλού κειμένου"
#: src/models/actionsmodel.cpp:76
#: src/models/actionsmodel.cpp:75
msgid "Prepends ( ͡° ͜ʖ ͡°) to a plain-text message"
msgstr "Πρόθεμα ( ͡° ͜ʖ ͡°) σε ένα μήνυμα απλού κειμένου"
#: src/models/actionsmodel.cpp:86
#: src/models/actionsmodel.cpp:85
msgid "Prepends (╯°□°)╯︵ ┻━┻ to a plain-text message"
msgstr "Πρόθεμα (╯°□°)╯︵ ┻━┻ σε ένα μήνυμα απλού κειμένου"
#: src/models/actionsmodel.cpp:96
#: src/models/actionsmodel.cpp:95
msgid "Prepends ┬──┬ ( ゜-゜ノ) to a plain-text message"
msgstr "Πρόθεμα ┬──┬ ( ゜-゜ノ) σε ένα μήνυμα απλού κειμένου"
#: src/models/actionsmodel.cpp:116
#: src/models/actionsmodel.cpp:115
msgid "Sends the given message colored as a rainbow"
msgstr "Στέλνει το δοσμένο μήνυμα στα χρώματα του ουράνιου τόξου"
#: src/models/actionsmodel.cpp:136
#: src/models/actionsmodel.cpp:135
msgid "Sends the given emote colored as a rainbow"
msgstr "Στέλνει το δοσμένο συναίσθημα στα χρώματα του ουράνιου τόξου"
#: src/models/actionsmodel.cpp:147
#: src/models/actionsmodel.cpp:146
msgid "Sends the given message as plain text"
msgstr "Στέλνει το δοσμένο μήνυμα ως απλό κείμενο"
#: src/models/actionsmodel.cpp:163
#: src/models/actionsmodel.cpp:162
msgid "Sends the given message as a spoiler"
msgstr "Στέλνει το δοσμένο μήνυμα ως αντιπερισπασμό"
#: src/models/actionsmodel.cpp:173
#: src/models/actionsmodel.cpp:172
msgid "Sends the given emote"
msgstr "Στέλνει το δοσμένο συναίσθημα"
#: src/models/actionsmodel.cpp:183
#: src/models/actionsmodel.cpp:182
msgid "Sends the given message as a notice"
msgstr "Στέλνει το δοσμένο μήνυμα ως σημείωση"
#: src/models/actionsmodel.cpp:192 src/models/actionsmodel.cpp:358
#: src/models/actionsmodel.cpp:386 src/models/actionsmodel.cpp:436
#: src/models/actionsmodel.cpp:473 src/models/actionsmodel.cpp:507
#: src/models/actionsmodel.cpp:191 src/models/actionsmodel.cpp:357
#: src/models/actionsmodel.cpp:385 src/models/actionsmodel.cpp:435
#: src/models/actionsmodel.cpp:472 src/models/actionsmodel.cpp:506
#, kde-format
msgctxt "'<text>' does not look like a matrix id."
msgid "'%1' does not look like a matrix id."
msgstr "Το '%1' δεν μοιάζει με αναγνωριστικό του matrix."
#: src/models/actionsmodel.cpp:198
#: src/models/actionsmodel.cpp:197
#, kde-format
msgctxt "<user> is already invited to this room."
msgid "%1 is already invited to this room."
msgstr "%1 έχει ήδη προσκληθεί σε αυτήν την αίθουσα."
#: src/models/actionsmodel.cpp:202
#: src/models/actionsmodel.cpp:201
#, kde-format
msgctxt "<user> is banned from this room."
msgid "%1 is banned from this room."
msgstr "%1 έχει αποκλειστεί από αυτήν την αίθουσα."
#: src/models/actionsmodel.cpp:207
#: src/models/actionsmodel.cpp:206
#, kde-format
msgid "You are already in this room."
msgstr "Είσαι ήδη σε αυτήν την αίθουσα."
#: src/models/actionsmodel.cpp:211
#: src/models/actionsmodel.cpp:210
#, kde-format
msgctxt "<user> is already in this room."
msgid "%1 is already in this room."
msgstr "%1 είναι ήδη σε αυτήν την αίθουσα."
#: src/models/actionsmodel.cpp:215
#: src/models/actionsmodel.cpp:214
#, kde-format
msgctxt "<username> was invited into this room"
msgid "%1 was invited into this room"
msgstr "%1 είχε προσκληθεί σε αυτήν την αίθουσα"
#: src/models/actionsmodel.cpp:220 src/models/actionsmodel.cpp:376
#: src/models/actionsmodel.cpp:404 src/models/actionsmodel.cpp:495
#: src/models/actionsmodel.cpp:219 src/models/actionsmodel.cpp:375
#: src/models/actionsmodel.cpp:403 src/models/actionsmodel.cpp:494
msgid "<user id>"
msgstr "<user id>"
#: src/models/actionsmodel.cpp:221
#: src/models/actionsmodel.cpp:220
msgid "Invites the user to this room"
msgstr "Προσκαλεί τον χρήστη σε αυτήν την αίθουσα"
#: src/models/actionsmodel.cpp:238 src/models/actionsmodel.cpp:295
#: src/models/actionsmodel.cpp:237 src/models/actionsmodel.cpp:294
#, kde-format
msgctxt "Joining room <roomname>."
msgid "Joining room %1."
msgstr "Είσοδος στην αίθουσα %1."
#: src/models/actionsmodel.cpp:244 src/models/actionsmodel.cpp:301
#: src/models/actionsmodel.cpp:243 src/models/actionsmodel.cpp:300
msgid "<room alias or id>"
msgstr "<ψευδώνυμο ή αναγνωριστικό αίθουσας>"
#: src/models/actionsmodel.cpp:245 src/models/actionsmodel.cpp:302
#: src/models/actionsmodel.cpp:244 src/models/actionsmodel.cpp:301
msgid "Joins the given room"
msgstr "Εισέρχεται στη δοσμένη αίθουσα"
#: src/models/actionsmodel.cpp:265
#: src/models/actionsmodel.cpp:264
#, fuzzy, kde-format
#| msgctxt "Joining room <roomname>."
#| msgid "Joining room %1."
@@ -369,172 +369,172 @@ msgctxt "Knocking room <roomname>."
msgid "Knocking room %1."
msgstr "Είσοδος στην αίθουσα %1."
#: src/models/actionsmodel.cpp:277
#: src/models/actionsmodel.cpp:276
#, fuzzy
#| msgid "[<room alias or id>]"
msgid "<room alias or id> [<reason>]"
msgstr "[<room alias or id>]"
#: src/models/actionsmodel.cpp:278
#: src/models/actionsmodel.cpp:277
#, fuzzy
#| msgid "Joins the given room"
msgid "Requests to join the given room"
msgstr "Εισέρχεται στη δοσμένη αίθουσα"
#: src/models/actionsmodel.cpp:292
#: src/models/actionsmodel.cpp:291
#, kde-format
msgctxt "You are already in room <roomname>."
msgid "You are already in room %1."
msgstr "Είσαι ήδη στην αίθουσα %1."
#: src/models/actionsmodel.cpp:309 src/models/actionsmodel.cpp:317
#: src/models/actionsmodel.cpp:308 src/models/actionsmodel.cpp:316
msgid "[<room alias or id>]"
msgstr "[<room alias or id>]"
#: src/models/actionsmodel.cpp:310 src/models/actionsmodel.cpp:318
#: src/models/actionsmodel.cpp:309 src/models/actionsmodel.cpp:317
msgid "Leaves the given room or this room, if there is none given"
msgstr "Εξέρχεται από τη δοσμένη αίθουσα ή από αυτήν, αν δεν έχει δοθεί καμία"
#: src/models/actionsmodel.cpp:332 src/models/actionsmodel.cpp:340
#: src/models/actionsmodel.cpp:348
#: src/models/actionsmodel.cpp:331 src/models/actionsmodel.cpp:339
#: src/models/actionsmodel.cpp:347
msgid "<display name>"
msgstr "<όνομα όπως εμφανίζεται>"
#: src/models/actionsmodel.cpp:333
#: src/models/actionsmodel.cpp:332
msgid "Changes your global display name"
msgstr "Αλλάζει το μοναδικό σου όνομα όπως εμφανίζεται"
#: src/models/actionsmodel.cpp:341 src/models/actionsmodel.cpp:349
#: src/models/actionsmodel.cpp:340 src/models/actionsmodel.cpp:348
msgid "Changes your display name in this room"
msgstr "Αλλάζει το όνομά σου όπως εμφανίζεται σε αυτήν την αίθουσα"
#: src/models/actionsmodel.cpp:363
#: src/models/actionsmodel.cpp:362
#, kde-format
msgctxt "<username> is already ignored."
msgid "%1 is already ignored."
msgstr "Το %1 έχει ήδη αγνοηθεί."
#: src/models/actionsmodel.cpp:368
#: src/models/actionsmodel.cpp:367
#, kde-format
msgctxt "<username> is now ignored"
msgid "%1 is now ignored."
msgstr "Το %1 τώρα παραλείπεται."
#: src/models/actionsmodel.cpp:370 src/models/actionsmodel.cpp:398
#: src/models/actionsmodel.cpp:369 src/models/actionsmodel.cpp:397
#, kde-format
msgctxt "<username> is not a known user"
msgid "%1 is not a known user."
msgstr "%1 δεν είναι γνωστός χρήστης."
#: src/models/actionsmodel.cpp:377
#: src/models/actionsmodel.cpp:376
msgid "Ignores the given user"
msgstr "Αγνοεί τον δοσμένο χρήστη"
#: src/models/actionsmodel.cpp:392
#: src/models/actionsmodel.cpp:391
#, kde-format
msgctxt "<username> is not ignored."
msgid "%1 is not ignored."
msgstr "%1 δεν παραλείπεται."
#: src/models/actionsmodel.cpp:396
#: src/models/actionsmodel.cpp:395
#, kde-format
msgctxt "<username> is no longer ignored."
msgid "%1 is no longer ignored."
msgstr "%1 δεν παραλείπεται πλέον."
#: src/models/actionsmodel.cpp:405
#: src/models/actionsmodel.cpp:404
msgid "Unignores the given user"
msgstr "Αναιρεί την παράλειψη του δοσμένου χρήστη"
#: src/models/actionsmodel.cpp:425
#: src/models/actionsmodel.cpp:424
msgid "<reaction text>"
msgstr "<κείμενο αντίδρασης>"
#: src/models/actionsmodel.cpp:426
#: src/models/actionsmodel.cpp:425
msgid "React to the message with the given text"
msgstr "Αντιδρά στο μήνυμα με το δοσμένο κείμενο"
#: src/models/actionsmodel.cpp:442
#: src/models/actionsmodel.cpp:441
#, kde-format
msgctxt "<user> is already banned from this room."
msgid "%1 is already banned from this room."
msgstr "%1 έχει ήδη αποκλειστεί από αυτήν την αίθουσα."
#: src/models/actionsmodel.cpp:448
#: src/models/actionsmodel.cpp:447
#, kde-format
msgid "You are not allowed to ban users from this room."
msgstr "Δεν επιτρέπεται να αποκλείσεις χρήστες από αυτήν την αίθουσα."
#: src/models/actionsmodel.cpp:454
#: src/models/actionsmodel.cpp:453
#, 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 "Δεν επιτρέπεται να αποκλείσεις τον χρήστη %1 από αυτήν την αίθουσα."
#: src/models/actionsmodel.cpp:458
#: src/models/actionsmodel.cpp:457
#, kde-format
msgctxt "<username> was banned from this room."
msgid "%1 was banned from this room."
msgstr "%1 είχε αποκλειστεί από αυτήν την αίθουσα."
#: src/models/actionsmodel.cpp:463 src/models/actionsmodel.cpp:538
#: src/models/actionsmodel.cpp:462 src/models/actionsmodel.cpp:537
msgid "<user id> [<reason>]"
msgstr "<user id> [<reason>]"
#: src/models/actionsmodel.cpp:464
#: src/models/actionsmodel.cpp:463
msgid "Bans the given user"
msgstr "Αποκλείει τον δοσμένο χρήστη"
#: src/models/actionsmodel.cpp:478
#: src/models/actionsmodel.cpp:477
#, kde-format
msgid "You are not allowed to unban users from this room."
msgstr "Δεν μπορείς να αναιρέσεις τον αποκλεισμό χρηστών σε αυτήν την αίθουσα."
#: src/models/actionsmodel.cpp:484
#: src/models/actionsmodel.cpp:483
#, kde-format
msgctxt "<user> is not banned from this room."
msgid "%1 is not banned from this room."
msgstr "%1 δεν έχει αποκλειστεί από αυτήν την αίθουσα."
#: src/models/actionsmodel.cpp:489
#: src/models/actionsmodel.cpp:488
#, kde-format
msgctxt "<username> was unbanned from this room."
msgid "%1 was unbanned from this room."
msgstr "Αναιρέθηκε ο αποκλεισμός του %1 από αυτήν την αίθουσα."
#: src/models/actionsmodel.cpp:496
#: src/models/actionsmodel.cpp:495
msgid "Removes the ban of the given user"
msgstr "Αναιρεί τον αποκλεισμό του δοσμένου χρήστη"
#: src/models/actionsmodel.cpp:511
#: src/models/actionsmodel.cpp:510
#, kde-format
msgid "You cannot kick yourself from the room."
msgstr "Δεν μπορείς να διώξεις τον εαυτό σου από την αίθουσα."
#: src/models/actionsmodel.cpp:516
#: src/models/actionsmodel.cpp:515
#, kde-format
msgctxt "<username> is not in this room"
msgid "%1 is not in this room."
msgstr "%1 δεν βρίσκεται σε αυτήν την αίθουσα."
#: src/models/actionsmodel.cpp:523
#: src/models/actionsmodel.cpp:522
#, kde-format
msgid "You are not allowed to kick users from this room."
msgstr "Δεν επιτρέπεται να διώξεις χρήστες από αυτήν την αίθουσα."
#: src/models/actionsmodel.cpp:529
#: src/models/actionsmodel.cpp:528
#, 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 "Δεν επιτρέπεται να διώξεις τον %1 από αυτήν την αίθουσα."
#: src/models/actionsmodel.cpp:533
#: src/models/actionsmodel.cpp:532
#, kde-format
msgctxt "<username> was kicked from this room."
msgid "%1 was kicked from this room."
msgstr "%1 εκδιώχθη από αυτήν την αίθουσα."
#: src/models/actionsmodel.cpp:539
#: src/models/actionsmodel.cpp:538
msgid "Removes the user from the room"
msgstr "Αφαιρεί τον χρήστη από την αίθουσα"
@@ -1884,28 +1884,28 @@ msgstr "Άνοιγμα ιδιωτικής συνομιλίας"
msgid "Copy link"
msgstr "Αντιγραφή συνδέσμου"
#: src/qml/main.qml:128
#: src/qml/main.qml:124
#, kde-format
msgid "Warning: %1"
msgstr "Προειδοποίηση: %1"
#: src/qml/main.qml:267
#: src/qml/main.qml:263
#, kde-format
msgid "%1: %2"
msgstr "%1: %2"
#: src/qml/main.qml:308
#: src/qml/main.qml:304
#, kde-format
msgctxt "@title:window"
msgid "Session Verification"
msgstr "Επαλήθευση συνεδρίας"
#: src/qml/main.qml:318
#: src/qml/main.qml:314
#, kde-format
msgid "User consent"
msgstr "Συναίνεση χρήστη"
#: src/qml/main.qml:323
#: src/qml/main.qml:319
#, kde-format
msgid ""
"Your homeserver requires you to agree to its terms and conditions before "
@@ -1915,17 +1915,17 @@ msgstr ""
"πριν τον χρησιμοποιήσεις. Κάνε κλικ στο παρακάτω κουμπί για να τους "
"διαβάσεις."
#: src/qml/main.qml:328
#: src/qml/main.qml:324
#, kde-format
msgid "Open"
msgstr "Άνοιγμα"
#: src/qml/main.qml:357
#: src/qml/main.qml:353
#, kde-format
msgid "Start a chat"
msgstr "Έναρξη συνομιλίας"
#: src/qml/main.qml:359
#: src/qml/main.qml:355
#, kde-format
msgid "Do you want to start a chat with %1?"
msgstr "Θέλεις να ξεκινήσεις συνομιλία με τον %1;"
@@ -3885,34 +3885,34 @@ msgid ""
msgstr ""
"Δεν υπάρχει αίθουσα %1 στη λίστα. Έλεγξε την ορθογραφία και τον λογαριασμό."
#: src/roommanager.cpp:210
#: src/roommanager.cpp:208
#, fuzzy, kde-format
#| msgid "Invites to a room"
msgid "Failed to join room"
msgstr "Προσκαλεί σε μια αίθουσα"
#: src/roommanager.cpp:227
#: src/roommanager.cpp:225
#, kde-format
msgid "You requested to join '%1'"
msgstr ""
#: src/roommanager.cpp:230
#: src/roommanager.cpp:228
#, fuzzy, kde-format
#| msgid "Invites to a room"
msgid "Failed to request joining room"
msgstr "Προσκαλεί σε μια αίθουσα"
#: src/roommanager.cpp:240
#: src/roommanager.cpp:238
#, kde-format
msgid "No application for the link"
msgstr "Καμία εφαρμογή για τον σύνδεσμο"
#: src/roommanager.cpp:240
#: src/roommanager.cpp:238
#, kde-format
msgid "Your operating system could not find an application for the link."
msgstr "Το λειτουργικό σου σύστημα δεν βρήκε εφαρμογή για τον σύνδεσμο."
#: src/roommanager.cpp:246
#: src/roommanager.cpp:244
#, kde-format
msgid "Could not open URL"
msgstr "Αδυναμία ανοίγματος του URL"

View File

@@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: neochat\n"
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
"POT-Creation-Date: 2023-04-11 00:48+0000\n"
"POT-Creation-Date: 2023-04-13 00:49+0000\n"
"PO-Revision-Date: 2023-04-08 11:07+0100\n"
"Last-Translator: Steve Allewell <steve.allewell@gmail.com>\n"
"Language-Team: British English\n"
@@ -219,311 +219,311 @@ msgstr "Media id '%1' doesn't follow server/mediaId pattern"
msgid "Image request has been cancelled"
msgstr "Image request has been cancelled"
#: src/models/actionsmodel.cpp:24
#: src/models/actionsmodel.cpp:23
#, kde-format
msgid "Leaving this room."
msgstr "Leaving this room."
#: src/models/actionsmodel.cpp:31 src/models/actionsmodel.cpp:230
#: src/models/actionsmodel.cpp:257 src/models/actionsmodel.cpp:288
#: src/models/actionsmodel.cpp:30 src/models/actionsmodel.cpp:229
#: src/models/actionsmodel.cpp:256 src/models/actionsmodel.cpp:287
#, 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' does not look like a room ID or alias."
#: src/models/actionsmodel.cpp:39
#: src/models/actionsmodel.cpp:38
#, kde-format
msgctxt "Leaving room <roomname>."
msgid "Leaving room %1."
msgstr "Leaving room %1."
#: src/models/actionsmodel.cpp:42
#: src/models/actionsmodel.cpp:41
#, kde-format
msgctxt "Room <roomname> not found"
msgid "Room %1 not found."
msgstr "Room %1 not found."
#: src/models/actionsmodel.cpp:50 src/models/actionsmodel.cpp:324
#: src/models/actionsmodel.cpp:49 src/models/actionsmodel.cpp:323
#, kde-format
msgid "No new nickname provided, no changes will happen."
msgstr "No new nickname provided, no changes will happen."
#: 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:64 src/models/actionsmodel.cpp:74
#: src/models/actionsmodel.cpp:84 src/models/actionsmodel.cpp:94
#: src/models/actionsmodel.cpp:114 src/models/actionsmodel.cpp:134
#: src/models/actionsmodel.cpp:145 src/models/actionsmodel.cpp:161
#: src/models/actionsmodel.cpp:171 src/models/actionsmodel.cpp:181
msgid "<message>"
msgstr "<message>"
#: src/models/actionsmodel.cpp:66
#: src/models/actionsmodel.cpp:65
msgid "Prepends ¯\\_(ツ)_/¯ to a plain-text message"
msgstr "Prepends ¯\\_(ツ)_/¯ to a plain-text message"
#: src/models/actionsmodel.cpp:76
#: src/models/actionsmodel.cpp:75
msgid "Prepends ( ͡° ͜ʖ ͡°) to a plain-text message"
msgstr "Prepends ( ͡° ͜ʖ ͡°) to a plain-text message"
#: src/models/actionsmodel.cpp:86
#: src/models/actionsmodel.cpp:85
msgid "Prepends (╯°□°)╯︵ ┻━┻ to a plain-text message"
msgstr "Prepends (╯°□°)╯︵ ┻━┻ to a plain-text message"
#: src/models/actionsmodel.cpp:96
#: src/models/actionsmodel.cpp:95
msgid "Prepends ┬──┬ ( ゜-゜ノ) to a plain-text message"
msgstr "Prepends ┬──┬ ( ゜-゜ノ) to a plain-text message"
#: src/models/actionsmodel.cpp:116
#: src/models/actionsmodel.cpp:115
msgid "Sends the given message colored as a rainbow"
msgstr "Sends the given message coloured as a rainbow"
#: src/models/actionsmodel.cpp:136
#: src/models/actionsmodel.cpp:135
msgid "Sends the given emote colored as a rainbow"
msgstr "Sends the given emote coloured as a rainbow"
#: src/models/actionsmodel.cpp:147
#: src/models/actionsmodel.cpp:146
msgid "Sends the given message as plain text"
msgstr "Sends the given message as plain text"
#: src/models/actionsmodel.cpp:163
#: src/models/actionsmodel.cpp:162
msgid "Sends the given message as a spoiler"
msgstr "Sends the given message as a spoiler"
#: src/models/actionsmodel.cpp:173
#: src/models/actionsmodel.cpp:172
msgid "Sends the given emote"
msgstr "Sends the given emote"
#: src/models/actionsmodel.cpp:183
#: src/models/actionsmodel.cpp:182
msgid "Sends the given message as a notice"
msgstr "Sends the given message as a notice"
#: src/models/actionsmodel.cpp:192 src/models/actionsmodel.cpp:358
#: src/models/actionsmodel.cpp:386 src/models/actionsmodel.cpp:436
#: src/models/actionsmodel.cpp:473 src/models/actionsmodel.cpp:507
#: src/models/actionsmodel.cpp:191 src/models/actionsmodel.cpp:357
#: src/models/actionsmodel.cpp:385 src/models/actionsmodel.cpp:435
#: src/models/actionsmodel.cpp:472 src/models/actionsmodel.cpp:506
#, kde-format
msgctxt "'<text>' does not look like a matrix id."
msgid "'%1' does not look like a matrix id."
msgstr "'%1' does not look like a matrix ID."
#: src/models/actionsmodel.cpp:198
#: src/models/actionsmodel.cpp:197
#, kde-format
msgctxt "<user> is already invited to this room."
msgid "%1 is already invited to this room."
msgstr "%1 is already invited to this room."
#: src/models/actionsmodel.cpp:202
#: src/models/actionsmodel.cpp:201
#, kde-format
msgctxt "<user> is banned from this room."
msgid "%1 is banned from this room."
msgstr "%1 is banned from this room."
#: src/models/actionsmodel.cpp:207
#: src/models/actionsmodel.cpp:206
#, kde-format
msgid "You are already in this room."
msgstr "You are already in this room."
#: src/models/actionsmodel.cpp:211
#: src/models/actionsmodel.cpp:210
#, kde-format
msgctxt "<user> is already in this room."
msgid "%1 is already in this room."
msgstr "%1 is already in this room."
#: src/models/actionsmodel.cpp:215
#: src/models/actionsmodel.cpp:214
#, kde-format
msgctxt "<username> was invited into this room"
msgid "%1 was invited into this room"
msgstr "%1 was invited into this room"
#: src/models/actionsmodel.cpp:220 src/models/actionsmodel.cpp:376
#: src/models/actionsmodel.cpp:404 src/models/actionsmodel.cpp:495
#: src/models/actionsmodel.cpp:219 src/models/actionsmodel.cpp:375
#: src/models/actionsmodel.cpp:403 src/models/actionsmodel.cpp:494
msgid "<user id>"
msgstr "<user id>"
#: src/models/actionsmodel.cpp:221
#: src/models/actionsmodel.cpp:220
msgid "Invites the user to this room"
msgstr "Invites the user to this room"
#: src/models/actionsmodel.cpp:238 src/models/actionsmodel.cpp:295
#: src/models/actionsmodel.cpp:237 src/models/actionsmodel.cpp:294
#, kde-format
msgctxt "Joining room <roomname>."
msgid "Joining room %1."
msgstr "Joining room %1."
#: src/models/actionsmodel.cpp:244 src/models/actionsmodel.cpp:301
#: src/models/actionsmodel.cpp:243 src/models/actionsmodel.cpp:300
msgid "<room alias or id>"
msgstr "<room alias or id>"
#: src/models/actionsmodel.cpp:245 src/models/actionsmodel.cpp:302
#: src/models/actionsmodel.cpp:244 src/models/actionsmodel.cpp:301
msgid "Joins the given room"
msgstr "Joins the given room"
#: src/models/actionsmodel.cpp:265
#: src/models/actionsmodel.cpp:264
#, kde-format
msgctxt "Knocking room <roomname>."
msgid "Knocking room %1."
msgstr "Knocking room %1."
#: src/models/actionsmodel.cpp:277
#: src/models/actionsmodel.cpp:276
msgid "<room alias or id> [<reason>]"
msgstr "<room alias or id> [<reason>]"
#: src/models/actionsmodel.cpp:278
#: src/models/actionsmodel.cpp:277
msgid "Requests to join the given room"
msgstr "Requests to join the given room"
#: src/models/actionsmodel.cpp:292
#: src/models/actionsmodel.cpp:291
#, kde-format
msgctxt "You are already in room <roomname>."
msgid "You are already in room %1."
msgstr "You are already in room %1."
#: src/models/actionsmodel.cpp:309 src/models/actionsmodel.cpp:317
#: src/models/actionsmodel.cpp:308 src/models/actionsmodel.cpp:316
msgid "[<room alias or id>]"
msgstr "[<room alias or id>]"
#: src/models/actionsmodel.cpp:310 src/models/actionsmodel.cpp:318
#: src/models/actionsmodel.cpp:309 src/models/actionsmodel.cpp:317
msgid "Leaves the given room or this room, if there is none given"
msgstr "Leaves the given room or this room, if there is none given"
#: src/models/actionsmodel.cpp:332 src/models/actionsmodel.cpp:340
#: src/models/actionsmodel.cpp:348
#: src/models/actionsmodel.cpp:331 src/models/actionsmodel.cpp:339
#: src/models/actionsmodel.cpp:347
msgid "<display name>"
msgstr "<display name>"
#: src/models/actionsmodel.cpp:333
#: src/models/actionsmodel.cpp:332
msgid "Changes your global display name"
msgstr "Changes your global display name"
#: src/models/actionsmodel.cpp:341 src/models/actionsmodel.cpp:349
#: src/models/actionsmodel.cpp:340 src/models/actionsmodel.cpp:348
msgid "Changes your display name in this room"
msgstr "Changes your display name in this room"
#: src/models/actionsmodel.cpp:363
#: src/models/actionsmodel.cpp:362
#, kde-format
msgctxt "<username> is already ignored."
msgid "%1 is already ignored."
msgstr "%1 is already ignored."
#: src/models/actionsmodel.cpp:368
#: src/models/actionsmodel.cpp:367
#, kde-format
msgctxt "<username> is now ignored"
msgid "%1 is now ignored."
msgstr "%1 is now ignored."
#: src/models/actionsmodel.cpp:370 src/models/actionsmodel.cpp:398
#: src/models/actionsmodel.cpp:369 src/models/actionsmodel.cpp:397
#, kde-format
msgctxt "<username> is not a known user"
msgid "%1 is not a known user."
msgstr "%1 is not a known user."
#: src/models/actionsmodel.cpp:377
#: src/models/actionsmodel.cpp:376
msgid "Ignores the given user"
msgstr "Ignores the given user"
#: src/models/actionsmodel.cpp:392
#: src/models/actionsmodel.cpp:391
#, kde-format
msgctxt "<username> is not ignored."
msgid "%1 is not ignored."
msgstr "%1 is not ignored."
#: src/models/actionsmodel.cpp:396
#: src/models/actionsmodel.cpp:395
#, kde-format
msgctxt "<username> is no longer ignored."
msgid "%1 is no longer ignored."
msgstr "%1 is no longer ignored."
#: src/models/actionsmodel.cpp:405
#: src/models/actionsmodel.cpp:404
msgid "Unignores the given user"
msgstr "Unignores the given user"
#: src/models/actionsmodel.cpp:425
#: src/models/actionsmodel.cpp:424
msgid "<reaction text>"
msgstr "<reaction text>"
#: src/models/actionsmodel.cpp:426
#: src/models/actionsmodel.cpp:425
msgid "React to the message with the given text"
msgstr "React to the message with the given text"
#: src/models/actionsmodel.cpp:442
#: src/models/actionsmodel.cpp:441
#, kde-format
msgctxt "<user> is already banned from this room."
msgid "%1 is already banned from this room."
msgstr "%1 is already banned from this room."
#: src/models/actionsmodel.cpp:448
#: src/models/actionsmodel.cpp:447
#, kde-format
msgid "You are not allowed to ban users from this room."
msgstr "You are not allowed to ban users from this room."
#: src/models/actionsmodel.cpp:454
#: src/models/actionsmodel.cpp:453
#, 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 "You are not allowed to ban %1 from this room."
#: src/models/actionsmodel.cpp:458
#: src/models/actionsmodel.cpp:457
#, kde-format
msgctxt "<username> was banned from this room."
msgid "%1 was banned from this room."
msgstr "%1 was banned from this room."
#: src/models/actionsmodel.cpp:463 src/models/actionsmodel.cpp:538
#: src/models/actionsmodel.cpp:462 src/models/actionsmodel.cpp:537
msgid "<user id> [<reason>]"
msgstr "<user id> [<reason>]"
#: src/models/actionsmodel.cpp:464
#: src/models/actionsmodel.cpp:463
msgid "Bans the given user"
msgstr "Bans the given user"
#: src/models/actionsmodel.cpp:478
#: src/models/actionsmodel.cpp:477
#, kde-format
msgid "You are not allowed to unban users from this room."
msgstr "You are not allowed to unban users from this room."
#: src/models/actionsmodel.cpp:484
#: src/models/actionsmodel.cpp:483
#, kde-format
msgctxt "<user> is not banned from this room."
msgid "%1 is not banned from this room."
msgstr "%1 is not banned from this room."
#: src/models/actionsmodel.cpp:489
#: src/models/actionsmodel.cpp:488
#, kde-format
msgctxt "<username> was unbanned from this room."
msgid "%1 was unbanned from this room."
msgstr "%1 was unbanned from this room."
#: src/models/actionsmodel.cpp:496
#: src/models/actionsmodel.cpp:495
msgid "Removes the ban of the given user"
msgstr "Removes the ban of the given user"
#: src/models/actionsmodel.cpp:511
#: src/models/actionsmodel.cpp:510
#, kde-format
msgid "You cannot kick yourself from the room."
msgstr "You cannot kick yourself from the room."
#: src/models/actionsmodel.cpp:516
#: src/models/actionsmodel.cpp:515
#, kde-format
msgctxt "<username> is not in this room"
msgid "%1 is not in this room."
msgstr "%1 is not in this room."
#: src/models/actionsmodel.cpp:523
#: src/models/actionsmodel.cpp:522
#, kde-format
msgid "You are not allowed to kick users from this room."
msgstr "You are not allowed to kick users from this room."
#: src/models/actionsmodel.cpp:529
#: src/models/actionsmodel.cpp:528
#, 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 "You are not allowed to kick %1 from this room."
#: src/models/actionsmodel.cpp:533
#: src/models/actionsmodel.cpp:532
#, kde-format
msgctxt "<username> was kicked from this room."
msgid "%1 was kicked from this room."
msgstr "%1 was kicked from this room."
#: src/models/actionsmodel.cpp:539
#: src/models/actionsmodel.cpp:538
msgid "Removes the user from the room"
msgstr "Removes the user from the room"
@@ -1842,28 +1842,28 @@ msgstr "Open a private chat"
msgid "Copy link"
msgstr "Copy link"
#: src/qml/main.qml:128
#: src/qml/main.qml:124
#, kde-format
msgid "Warning: %1"
msgstr "Warning: %1"
#: src/qml/main.qml:267
#: src/qml/main.qml:263
#, kde-format
msgid "%1: %2"
msgstr "%1: %2"
#: src/qml/main.qml:308
#: src/qml/main.qml:304
#, kde-format
msgctxt "@title:window"
msgid "Session Verification"
msgstr "Session Verification"
#: src/qml/main.qml:318
#: src/qml/main.qml:314
#, kde-format
msgid "User consent"
msgstr "User consent"
#: src/qml/main.qml:323
#: src/qml/main.qml:319
#, kde-format
msgid ""
"Your homeserver requires you to agree to its terms and conditions before "
@@ -1872,17 +1872,17 @@ msgstr ""
"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."
#: src/qml/main.qml:328
#: src/qml/main.qml:324
#, kde-format
msgid "Open"
msgstr "Open"
#: src/qml/main.qml:357
#: src/qml/main.qml:353
#, kde-format
msgid "Start a chat"
msgstr "Start a chat"
#: src/qml/main.qml:359
#: src/qml/main.qml:355
#, kde-format
msgid "Do you want to start a chat with %1?"
msgstr "Do you want to start a chat with %1?"
@@ -3815,32 +3815,32 @@ msgid ""
msgstr ""
"There's no room %1 in the room list. Check the spelling and the account."
#: src/roommanager.cpp:210
#: src/roommanager.cpp:208
#, kde-format
msgid "Failed to join room"
msgstr "Failed to join room"
#: src/roommanager.cpp:227
#: src/roommanager.cpp:225
#, kde-format
msgid "You requested to join '%1'"
msgstr "You requested to join '%1'"
#: src/roommanager.cpp:230
#: src/roommanager.cpp:228
#, kde-format
msgid "Failed to request joining room"
msgstr "Failed to request joining room"
#: src/roommanager.cpp:240
#: src/roommanager.cpp:238
#, kde-format
msgid "No application for the link"
msgstr "No application for the link"
#: src/roommanager.cpp:240
#: src/roommanager.cpp:238
#, kde-format
msgid "Your operating system could not find an application for the link."
msgstr "Your operating system could not find an application for the link."
#: src/roommanager.cpp:246
#: src/roommanager.cpp:244
#, kde-format
msgid "Could not open URL"
msgstr "Could not open URL"

View File

@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: neochat\n"
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
"POT-Creation-Date: 2023-04-11 00:48+0000\n"
"POT-Creation-Date: 2023-04-13 00:49+0000\n"
"PO-Revision-Date: 2023-04-04 05:25+0200\n"
"Last-Translator: Eloy Cuadra <ecuadra@eloihr.net>\n"
"Language-Team: Spanish <kde-l10n-es@kde.org>\n"
@@ -225,311 +225,311 @@ msgstr "El identificador de medio «%1» no sigue el patrón servidor/IdDeMedio"
msgid "Image request has been cancelled"
msgstr "Se ha cancelado la petición de la imagen"
#: src/models/actionsmodel.cpp:24
#: src/models/actionsmodel.cpp:23
#, kde-format
msgid "Leaving this room."
msgstr "Saliendo de esta sala."
#: src/models/actionsmodel.cpp:31 src/models/actionsmodel.cpp:230
#: src/models/actionsmodel.cpp:257 src/models/actionsmodel.cpp:288
#: src/models/actionsmodel.cpp:30 src/models/actionsmodel.cpp:229
#: src/models/actionsmodel.cpp:256 src/models/actionsmodel.cpp:287
#, 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 "Parece que «%1» no es una id. o un alias."
#: src/models/actionsmodel.cpp:39
#: src/models/actionsmodel.cpp:38
#, kde-format
msgctxt "Leaving room <roomname>."
msgid "Leaving room %1."
msgstr "Saliendo de la sala %1."
#: src/models/actionsmodel.cpp:42
#: src/models/actionsmodel.cpp:41
#, kde-format
msgctxt "Room <roomname> not found"
msgid "Room %1 not found."
msgstr "Sala %1 no encontrada."
#: src/models/actionsmodel.cpp:50 src/models/actionsmodel.cpp:324
#: src/models/actionsmodel.cpp:49 src/models/actionsmodel.cpp:323
#, kde-format
msgid "No new nickname provided, no changes will happen."
msgstr "No se ha proporcionado ningún nuevo apodo. No habrá cambios."
#: 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:64 src/models/actionsmodel.cpp:74
#: src/models/actionsmodel.cpp:84 src/models/actionsmodel.cpp:94
#: src/models/actionsmodel.cpp:114 src/models/actionsmodel.cpp:134
#: src/models/actionsmodel.cpp:145 src/models/actionsmodel.cpp:161
#: src/models/actionsmodel.cpp:171 src/models/actionsmodel.cpp:181
msgid "<message>"
msgstr "<mensaje>"
#: src/models/actionsmodel.cpp:66
#: src/models/actionsmodel.cpp:65
msgid "Prepends ¯\\_(ツ)_/¯ to a plain-text message"
msgstr "Antepone ¯\\_(ツ)_/¯ a un mensaje de texto sin formato"
#: src/models/actionsmodel.cpp:76
#: src/models/actionsmodel.cpp:75
msgid "Prepends ( ͡° ͜ʖ ͡°) to a plain-text message"
msgstr "Antepone ( ͡° ͜ʖ ͡°) a un mensaje de texto sin formato"
#: src/models/actionsmodel.cpp:86
#: src/models/actionsmodel.cpp:85
msgid "Prepends (╯°□°)╯︵ ┻━┻ to a plain-text message"
msgstr "Antepone (╯°□°)╯︵ ┻━┻ a un mensaje de texto sin formato"
#: src/models/actionsmodel.cpp:96
#: src/models/actionsmodel.cpp:95
msgid "Prepends ┬──┬ ( ゜-゜ノ) to a plain-text message"
msgstr "Antepone ┬──┬ ( ゜-゜ノ) a un mensaje de texto sin formato"
#: src/models/actionsmodel.cpp:116
#: src/models/actionsmodel.cpp:115
msgid "Sends the given message colored as a rainbow"
msgstr "Envía el mensaje especificado con los colores del arco iris"
#: src/models/actionsmodel.cpp:136
#: src/models/actionsmodel.cpp:135
msgid "Sends the given emote colored as a rainbow"
msgstr "Envía el sentimiento especificado con los colores del arco iris"
#: src/models/actionsmodel.cpp:147
#: src/models/actionsmodel.cpp:146
msgid "Sends the given message as plain text"
msgstr "Envía el mensaje indicado como texto sin formato"
#: src/models/actionsmodel.cpp:163
#: src/models/actionsmodel.cpp:162
msgid "Sends the given message as a spoiler"
msgstr "Envía el mensaje indicado como espóiler"
#: src/models/actionsmodel.cpp:173
#: src/models/actionsmodel.cpp:172
msgid "Sends the given emote"
msgstr "Envía el sentimiento especificado"
#: src/models/actionsmodel.cpp:183
#: src/models/actionsmodel.cpp:182
msgid "Sends the given message as a notice"
msgstr "Envía el mensaje indicado como aviso"
#: src/models/actionsmodel.cpp:192 src/models/actionsmodel.cpp:358
#: src/models/actionsmodel.cpp:386 src/models/actionsmodel.cpp:436
#: src/models/actionsmodel.cpp:473 src/models/actionsmodel.cpp:507
#: src/models/actionsmodel.cpp:191 src/models/actionsmodel.cpp:357
#: src/models/actionsmodel.cpp:385 src/models/actionsmodel.cpp:435
#: src/models/actionsmodel.cpp:472 src/models/actionsmodel.cpp:506
#, kde-format
msgctxt "'<text>' does not look like a matrix id."
msgid "'%1' does not look like a matrix id."
msgstr "Parece que «%1» no es una id. de matrix."
#: src/models/actionsmodel.cpp:198
#: src/models/actionsmodel.cpp:197
#, kde-format
msgctxt "<user> is already invited to this room."
msgid "%1 is already invited to this room."
msgstr "%1 ya está invitado a esta sala."
#: src/models/actionsmodel.cpp:202
#: src/models/actionsmodel.cpp:201
#, kde-format
msgctxt "<user> is banned from this room."
msgid "%1 is banned from this room."
msgstr "%1 está inhabilitado en esta sala."
#: src/models/actionsmodel.cpp:207
#: src/models/actionsmodel.cpp:206
#, kde-format
msgid "You are already in this room."
msgstr "Usted ya está en esta sala."
#: src/models/actionsmodel.cpp:211
#: src/models/actionsmodel.cpp:210
#, kde-format
msgctxt "<user> is already in this room."
msgid "%1 is already in this room."
msgstr "%1 ya está en esta sala."
#: src/models/actionsmodel.cpp:215
#: src/models/actionsmodel.cpp:214
#, kde-format
msgctxt "<username> was invited into this room"
msgid "%1 was invited into this room"
msgstr "%1 ha sido invitado a esta sala"
#: src/models/actionsmodel.cpp:220 src/models/actionsmodel.cpp:376
#: src/models/actionsmodel.cpp:404 src/models/actionsmodel.cpp:495
#: src/models/actionsmodel.cpp:219 src/models/actionsmodel.cpp:375
#: src/models/actionsmodel.cpp:403 src/models/actionsmodel.cpp:494
msgid "<user id>"
msgstr "<id de usuario>"
#: src/models/actionsmodel.cpp:221
#: src/models/actionsmodel.cpp:220
msgid "Invites the user to this room"
msgstr "Invita al usuario a la sala"
#: src/models/actionsmodel.cpp:238 src/models/actionsmodel.cpp:295
#: src/models/actionsmodel.cpp:237 src/models/actionsmodel.cpp:294
#, kde-format
msgctxt "Joining room <roomname>."
msgid "Joining room %1."
msgstr "Uniéndose a la sala %1."
#: src/models/actionsmodel.cpp:244 src/models/actionsmodel.cpp:301
#: src/models/actionsmodel.cpp:243 src/models/actionsmodel.cpp:300
msgid "<room alias or id>"
msgstr "<alias o id. de sala>"
#: src/models/actionsmodel.cpp:245 src/models/actionsmodel.cpp:302
#: src/models/actionsmodel.cpp:244 src/models/actionsmodel.cpp:301
msgid "Joins the given room"
msgstr "Se une a la sala especificada"
#: src/models/actionsmodel.cpp:265
#: src/models/actionsmodel.cpp:264
#, kde-format
msgctxt "Knocking room <roomname>."
msgid "Knocking room %1."
msgstr "Llamando a la sala %1."
#: src/models/actionsmodel.cpp:277
#: src/models/actionsmodel.cpp:276
msgid "<room alias or id> [<reason>]"
msgstr "<alias o id. de sala> [<motivo>]"
#: src/models/actionsmodel.cpp:278
#: src/models/actionsmodel.cpp:277
msgid "Requests to join the given room"
msgstr "Solicita unirse a la sala especificada"
#: src/models/actionsmodel.cpp:292
#: src/models/actionsmodel.cpp:291
#, kde-format
msgctxt "You are already in room <roomname>."
msgid "You are already in room %1."
msgstr "Usted ya está en la sala %1."
#: src/models/actionsmodel.cpp:309 src/models/actionsmodel.cpp:317
#: src/models/actionsmodel.cpp:308 src/models/actionsmodel.cpp:316
msgid "[<room alias or id>]"
msgstr "[<alias o id. de sala>]"
#: src/models/actionsmodel.cpp:310 src/models/actionsmodel.cpp:318
#: src/models/actionsmodel.cpp:309 src/models/actionsmodel.cpp:317
msgid "Leaves the given room or this room, if there is none given"
msgstr "Sale de la sala indicada o de esta sala, si no se indica ninguna"
#: src/models/actionsmodel.cpp:332 src/models/actionsmodel.cpp:340
#: src/models/actionsmodel.cpp:348
#: src/models/actionsmodel.cpp:331 src/models/actionsmodel.cpp:339
#: src/models/actionsmodel.cpp:347
msgid "<display name>"
msgstr "<nombre visible>"
#: src/models/actionsmodel.cpp:333
#: src/models/actionsmodel.cpp:332
msgid "Changes your global display name"
msgstr "Cambia su nombre visible globalmente"
#: src/models/actionsmodel.cpp:341 src/models/actionsmodel.cpp:349
#: src/models/actionsmodel.cpp:340 src/models/actionsmodel.cpp:348
msgid "Changes your display name in this room"
msgstr "Cambia su nombre visible en esta sala"
#: src/models/actionsmodel.cpp:363
#: src/models/actionsmodel.cpp:362
#, kde-format
msgctxt "<username> is already ignored."
msgid "%1 is already ignored."
msgstr "%1 ya está ignorado."
#: src/models/actionsmodel.cpp:368
#: src/models/actionsmodel.cpp:367
#, kde-format
msgctxt "<username> is now ignored"
msgid "%1 is now ignored."
msgstr "Ahora se ignora a %1."
#: src/models/actionsmodel.cpp:370 src/models/actionsmodel.cpp:398
#: src/models/actionsmodel.cpp:369 src/models/actionsmodel.cpp:397
#, kde-format
msgctxt "<username> is not a known user"
msgid "%1 is not a known user."
msgstr "%1 no es un usuario conocido."
#: src/models/actionsmodel.cpp:377
#: src/models/actionsmodel.cpp:376
msgid "Ignores the given user"
msgstr "Ignorar al usuario indicado"
#: src/models/actionsmodel.cpp:392
#: src/models/actionsmodel.cpp:391
#, kde-format
msgctxt "<username> is not ignored."
msgid "%1 is not ignored."
msgstr "No se ignora a %1."
#: src/models/actionsmodel.cpp:396
#: src/models/actionsmodel.cpp:395
#, kde-format
msgctxt "<username> is no longer ignored."
msgid "%1 is no longer ignored."
msgstr "Ya no se ignora a %1."
#: src/models/actionsmodel.cpp:405
#: src/models/actionsmodel.cpp:404
msgid "Unignores the given user"
msgstr "Dejar de ignorar al usuario indicado"
#: src/models/actionsmodel.cpp:425
#: src/models/actionsmodel.cpp:424
msgid "<reaction text>"
msgstr "<texto de reacción>"
#: src/models/actionsmodel.cpp:426
#: src/models/actionsmodel.cpp:425
msgid "React to the message with the given text"
msgstr "Reaccionar al mensaje con el texto indicado"
#: src/models/actionsmodel.cpp:442
#: src/models/actionsmodel.cpp:441
#, kde-format
msgctxt "<user> is already banned from this room."
msgid "%1 is already banned from this room."
msgstr "%1 ya está inhabilitado en esta sala."
#: src/models/actionsmodel.cpp:448
#: src/models/actionsmodel.cpp:447
#, kde-format
msgid "You are not allowed to ban users from this room."
msgstr "Usted no tiene permiso para inhabilitar usuarios en esta sala."
#: src/models/actionsmodel.cpp:454
#: src/models/actionsmodel.cpp:453
#, 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 "Usted no tiene permiso para inhabilitar a %1 en esta sala."
#: src/models/actionsmodel.cpp:458
#: src/models/actionsmodel.cpp:457
#, kde-format
msgctxt "<username> was banned from this room."
msgid "%1 was banned from this room."
msgstr "%1 ha sido inhabilitado en esta sala."
#: src/models/actionsmodel.cpp:463 src/models/actionsmodel.cpp:538
#: src/models/actionsmodel.cpp:462 src/models/actionsmodel.cpp:537
msgid "<user id> [<reason>]"
msgstr "<id de usuario> [<motivo>]"
#: src/models/actionsmodel.cpp:464
#: src/models/actionsmodel.cpp:463
msgid "Bans the given user"
msgstr "Inhabilita al usuario indicado"
#: src/models/actionsmodel.cpp:478
#: src/models/actionsmodel.cpp:477
#, kde-format
msgid "You are not allowed to unban users from this room."
msgstr "Usted no tiene permiso para habilitar usuarios en esta sala."
#: src/models/actionsmodel.cpp:484
#: src/models/actionsmodel.cpp:483
#, kde-format
msgctxt "<user> is not banned from this room."
msgid "%1 is not banned from this room."
msgstr "%1 no está inhabilitado en esta sala."
#: src/models/actionsmodel.cpp:489
#: src/models/actionsmodel.cpp:488
#, kde-format
msgctxt "<username> was unbanned from this room."
msgid "%1 was unbanned from this room."
msgstr "%1 ha sido habilitado en esta sala."
#: src/models/actionsmodel.cpp:496
#: src/models/actionsmodel.cpp:495
msgid "Removes the ban of the given user"
msgstr "Habilita al usuario indicado"
#: src/models/actionsmodel.cpp:511
#: src/models/actionsmodel.cpp:510
#, kde-format
msgid "You cannot kick yourself from the room."
msgstr "No puede expulsarse a usted mismo de la sala."
#: src/models/actionsmodel.cpp:516
#: src/models/actionsmodel.cpp:515
#, kde-format
msgctxt "<username> is not in this room"
msgid "%1 is not in this room."
msgstr "%1 no está en esta sala."
#: src/models/actionsmodel.cpp:523
#: src/models/actionsmodel.cpp:522
#, kde-format
msgid "You are not allowed to kick users from this room."
msgstr "Usted no tiene permiso para expulsar usuarios de esta sala."
#: src/models/actionsmodel.cpp:529
#: src/models/actionsmodel.cpp:528
#, 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 "Usted no tiene permiso para expulsar a %1 de esta sala."
#: src/models/actionsmodel.cpp:533
#: src/models/actionsmodel.cpp:532
#, kde-format
msgctxt "<username> was kicked from this room."
msgid "%1 was kicked from this room."
msgstr "%1 ha sido expulsado de esta sala."
#: src/models/actionsmodel.cpp:539
#: src/models/actionsmodel.cpp:538
msgid "Removes the user from the room"
msgstr "Elimina al usuario de la sala"
@@ -1854,28 +1854,28 @@ msgstr "Abrir un chat privado"
msgid "Copy link"
msgstr "Copiar enlace"
#: src/qml/main.qml:128
#: src/qml/main.qml:124
#, kde-format
msgid "Warning: %1"
msgstr "Advertencia: %1"
#: src/qml/main.qml:267
#: src/qml/main.qml:263
#, kde-format
msgid "%1: %2"
msgstr "%1: %2"
#: src/qml/main.qml:308
#: src/qml/main.qml:304
#, kde-format
msgctxt "@title:window"
msgid "Session Verification"
msgstr "Verificación de la sesión"
#: src/qml/main.qml:318
#: src/qml/main.qml:314
#, kde-format
msgid "User consent"
msgstr "Consentimiento del usuario"
#: src/qml/main.qml:323
#: src/qml/main.qml:319
#, kde-format
msgid ""
"Your homeserver requires you to agree to its terms and conditions before "
@@ -1884,17 +1884,17 @@ msgstr ""
"Su servidor doméstico necesita que esté de acuerdo con sus términos y "
"condiciones antes de que pueda usarlo. Pulse el botón inferior para leerlos."
#: src/qml/main.qml:328
#: src/qml/main.qml:324
#, kde-format
msgid "Open"
msgstr "Abrir"
#: src/qml/main.qml:357
#: src/qml/main.qml:353
#, kde-format
msgid "Start a chat"
msgstr "Iniciar un chat"
#: src/qml/main.qml:359
#: src/qml/main.qml:355
#, kde-format
msgid "Do you want to start a chat with %1?"
msgstr "¿Desea iniciar un chat con %1?"
@@ -3845,32 +3845,32 @@ msgstr ""
"No existe la sala %1 en la lista de salas. Compruebe la ortografía y la "
"cuenta."
#: src/roommanager.cpp:210
#: src/roommanager.cpp:208
#, kde-format
msgid "Failed to join room"
msgstr "No se ha podido unir a la sala"
#: src/roommanager.cpp:227
#: src/roommanager.cpp:225
#, kde-format
msgid "You requested to join '%1'"
msgstr "Ha solicitado unirse a «%1»"
#: src/roommanager.cpp:230
#: src/roommanager.cpp:228
#, kde-format
msgid "Failed to request joining room"
msgstr "No se ha podido solicitar unirse a la sala"
#: src/roommanager.cpp:240
#: src/roommanager.cpp:238
#, kde-format
msgid "No application for the link"
msgstr "No hay una aplicación para el enlace"
#: src/roommanager.cpp:240
#: src/roommanager.cpp:238
#, kde-format
msgid "Your operating system could not find an application for the link."
msgstr "Su sistema operativo no puede encontrar una aplicación para el enlace."
#: src/roommanager.cpp:246
#: src/roommanager.cpp:244
#, kde-format
msgid "Could not open URL"
msgstr "No se ha podido abrir la URL"

View File

@@ -9,7 +9,7 @@ msgid ""
msgstr ""
"Project-Id-Version: neochat\n"
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
"POT-Creation-Date: 2023-04-11 00:48+0000\n"
"POT-Creation-Date: 2023-04-13 00:49+0000\n"
"PO-Revision-Date: 2023-02-23 20:06+0100\n"
"Last-Translator: Iñigo Salvador Azurmendi <xalba@ni.eus>\n"
"Language-Team: Basque <kde-i18n-eu@kde.org>\n"
@@ -225,312 +225,312 @@ msgstr "«%1» ID euskarriak ez du jarraitzen zerbitzari/mediaId eredua"
msgid "Image request has been cancelled"
msgstr "Irudi eskaera bertan behera utzi da"
#: src/models/actionsmodel.cpp:24
#: src/models/actionsmodel.cpp:23
#, kde-format
msgid "Leaving this room."
msgstr "Gela honetatik alde egiten."
#: src/models/actionsmodel.cpp:31 src/models/actionsmodel.cpp:230
#: src/models/actionsmodel.cpp:257 src/models/actionsmodel.cpp:288
#: src/models/actionsmodel.cpp:30 src/models/actionsmodel.cpp:229
#: src/models/actionsmodel.cpp:256 src/models/actionsmodel.cpp:287
#, 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'(e)k ez du ematen gela id. bat ez eta ezizen bat ere."
#: src/models/actionsmodel.cpp:39
#: src/models/actionsmodel.cpp:38
#, kde-format
msgctxt "Leaving room <roomname>."
msgid "Leaving room %1."
msgstr "%1 gelatik alde egiten."
#: src/models/actionsmodel.cpp:42
#: src/models/actionsmodel.cpp:41
#, kde-format
msgctxt "Room <roomname> not found"
msgid "Room %1 not found."
msgstr "%1 gela ez da aurkitu."
#: src/models/actionsmodel.cpp:50 src/models/actionsmodel.cpp:324
#: src/models/actionsmodel.cpp:49 src/models/actionsmodel.cpp:323
#, kde-format
msgid "No new nickname provided, no changes will happen."
msgstr "Ez da goitizen berririk eman, ez da aldaketarik gertatuko."
#: 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:64 src/models/actionsmodel.cpp:74
#: src/models/actionsmodel.cpp:84 src/models/actionsmodel.cpp:94
#: src/models/actionsmodel.cpp:114 src/models/actionsmodel.cpp:134
#: src/models/actionsmodel.cpp:145 src/models/actionsmodel.cpp:161
#: src/models/actionsmodel.cpp:171 src/models/actionsmodel.cpp:181
msgid "<message>"
msgstr "<mezua>"
#: src/models/actionsmodel.cpp:66
#: src/models/actionsmodel.cpp:65
msgid "Prepends ¯\\_(ツ)_/¯ to a plain-text message"
msgstr "Aurretik ¯\\_(ツ)_/¯ eransten dio testu arrunteko mezu bati"
#: src/models/actionsmodel.cpp:76
#: src/models/actionsmodel.cpp:75
msgid "Prepends ( ͡° ͜ʖ ͡°) to a plain-text message"
msgstr "Aurretik ( ͡° ͜ʖ ͡°) eransten dio testu arrunteko mezu bati"
#: src/models/actionsmodel.cpp:86
#: src/models/actionsmodel.cpp:85
msgid "Prepends (╯°□°)╯︵ ┻━┻ to a plain-text message"
msgstr "Aurretik (╯°□°)╯︵ ┻━┻ eransten dio testu arrunteko mezu bati"
#: src/models/actionsmodel.cpp:96
#: src/models/actionsmodel.cpp:95
msgid "Prepends ┬──┬ ( ゜-゜ノ) to a plain-text message"
msgstr "Aurretik ┬──┬ ( ゜-゜ノ) eransten dio testu arrunteko mezu bati-"
#: src/models/actionsmodel.cpp:116
#: src/models/actionsmodel.cpp:115
msgid "Sends the given message colored as a rainbow"
msgstr "Emandako mezu ostadar gisa koloreztatuta bidaltzen du"
#: src/models/actionsmodel.cpp:136
#: src/models/actionsmodel.cpp:135
msgid "Sends the given emote colored as a rainbow"
msgstr "Emandako aurpegiera ostadar gisa koloreztatuta bidaltzen du"
#: src/models/actionsmodel.cpp:147
#: src/models/actionsmodel.cpp:146
msgid "Sends the given message as plain text"
msgstr "Emandako mezua testu arrunt gisa bidaltzen du"
#: src/models/actionsmodel.cpp:163
#: src/models/actionsmodel.cpp:162
msgid "Sends the given message as a spoiler"
msgstr "Emandako mezua «spoiler» gisa bidaltzen du"
#: src/models/actionsmodel.cpp:173
#: src/models/actionsmodel.cpp:172
msgid "Sends the given emote"
msgstr "Emandako aurpegiera bidaltzen du"
#: src/models/actionsmodel.cpp:183
#: src/models/actionsmodel.cpp:182
msgid "Sends the given message as a notice"
msgstr "Emandako mezua oharpen gisa bidaltzen du"
#: src/models/actionsmodel.cpp:192 src/models/actionsmodel.cpp:358
#: src/models/actionsmodel.cpp:386 src/models/actionsmodel.cpp:436
#: src/models/actionsmodel.cpp:473 src/models/actionsmodel.cpp:507
#: src/models/actionsmodel.cpp:191 src/models/actionsmodel.cpp:357
#: src/models/actionsmodel.cpp:385 src/models/actionsmodel.cpp:435
#: src/models/actionsmodel.cpp:472 src/models/actionsmodel.cpp:506
#, kde-format
msgctxt "'<text>' does not look like a matrix id."
msgid "'%1' does not look like a matrix id."
msgstr "'%1'(e)k ez du matrix id. itxurarik."
#: src/models/actionsmodel.cpp:198
#: src/models/actionsmodel.cpp:197
#, kde-format
msgctxt "<user> is already invited to this room."
msgid "%1 is already invited to this room."
msgstr ""
"%1 dagoeneko gela honetara gonbidatuta dago.%1 gelara berriz gonbidatua"
#: src/models/actionsmodel.cpp:202
#: src/models/actionsmodel.cpp:201
#, kde-format
msgctxt "<user> is banned from this room."
msgid "%1 is banned from this room."
msgstr "%1(e)ri gela honetarako debekua ezarri zaio."
#: src/models/actionsmodel.cpp:207
#: src/models/actionsmodel.cpp:206
#, kde-format
msgid "You are already in this room."
msgstr "Dagoeneko gela honetan zaude."
#: src/models/actionsmodel.cpp:211
#: src/models/actionsmodel.cpp:210
#, kde-format
msgctxt "<user> is already in this room."
msgid "%1 is already in this room."
msgstr "%1 dagoeneko gela honetan dago."
#: src/models/actionsmodel.cpp:215
#: src/models/actionsmodel.cpp:214
#, kde-format
msgctxt "<username> was invited into this room"
msgid "%1 was invited into this room"
msgstr "%1 gela honetara gonbidatuta dago"
#: src/models/actionsmodel.cpp:220 src/models/actionsmodel.cpp:376
#: src/models/actionsmodel.cpp:404 src/models/actionsmodel.cpp:495
#: src/models/actionsmodel.cpp:219 src/models/actionsmodel.cpp:375
#: src/models/actionsmodel.cpp:403 src/models/actionsmodel.cpp:494
msgid "<user id>"
msgstr "<erabiltzaile-id>"
#: src/models/actionsmodel.cpp:221
#: src/models/actionsmodel.cpp:220
msgid "Invites the user to this room"
msgstr "Erabiltzailea gela honetara gonbidatzen du"
#: src/models/actionsmodel.cpp:238 src/models/actionsmodel.cpp:295
#: src/models/actionsmodel.cpp:237 src/models/actionsmodel.cpp:294
#, kde-format
msgctxt "Joining room <roomname>."
msgid "Joining room %1."
msgstr "%1 gelarekin bat egiten."
#: src/models/actionsmodel.cpp:244 src/models/actionsmodel.cpp:301
#: src/models/actionsmodel.cpp:243 src/models/actionsmodel.cpp:300
msgid "<room alias or id>"
msgstr "<gelaren ezizena edo id.>"
#: src/models/actionsmodel.cpp:245 src/models/actionsmodel.cpp:302
#: src/models/actionsmodel.cpp:244 src/models/actionsmodel.cpp:301
msgid "Joins the given room"
msgstr "Emandako gelara batzen da"
#: src/models/actionsmodel.cpp:265
#: src/models/actionsmodel.cpp:264
#, kde-format
msgctxt "Knocking room <roomname>."
msgid "Knocking room %1."
msgstr "%1 gelako atea jotzen."
#: src/models/actionsmodel.cpp:277
#: src/models/actionsmodel.cpp:276
msgid "<room alias or id> [<reason>]"
msgstr "<gelaren ezizena edo id> [<arrazoia>]"
#: src/models/actionsmodel.cpp:278
#: src/models/actionsmodel.cpp:277
msgid "Requests to join the given room"
msgstr "Adierazitako gelara batzea eskatzen du"
#: src/models/actionsmodel.cpp:292
#: src/models/actionsmodel.cpp:291
#, kde-format
msgctxt "You are already in room <roomname>."
msgid "You are already in room %1."
msgstr "Dagoeneko %1 gelan zaude."
#: src/models/actionsmodel.cpp:309 src/models/actionsmodel.cpp:317
#: src/models/actionsmodel.cpp:308 src/models/actionsmodel.cpp:316
msgid "[<room alias or id>]"
msgstr "[<gelaren ezizena edo id.>]"
#: src/models/actionsmodel.cpp:310 src/models/actionsmodel.cpp:318
#: src/models/actionsmodel.cpp:309 src/models/actionsmodel.cpp:317
msgid "Leaves the given room or this room, if there is none given"
msgstr "Emaniko gelatik irteten da, edo gela honetatik batere eman ez bada"
#: src/models/actionsmodel.cpp:332 src/models/actionsmodel.cpp:340
#: src/models/actionsmodel.cpp:348
#: src/models/actionsmodel.cpp:331 src/models/actionsmodel.cpp:339
#: src/models/actionsmodel.cpp:347
msgid "<display name>"
msgstr "<azaldu izena>"
#: src/models/actionsmodel.cpp:333
#: src/models/actionsmodel.cpp:332
msgid "Changes your global display name"
msgstr "Zure azaldutako izen globala aldatzen du"
#: src/models/actionsmodel.cpp:341 src/models/actionsmodel.cpp:349
#: src/models/actionsmodel.cpp:340 src/models/actionsmodel.cpp:348
msgid "Changes your display name in this room"
msgstr "Zure azaldutako izena gela honetan aldatzen du"
#: src/models/actionsmodel.cpp:363
#: src/models/actionsmodel.cpp:362
#, kde-format
msgctxt "<username> is already ignored."
msgid "%1 is already ignored."
msgstr "%1(e)ri dagoeneko ezikusi egiten zaio."
#: src/models/actionsmodel.cpp:368
#: src/models/actionsmodel.cpp:367
#, kde-format
msgctxt "<username> is now ignored"
msgid "%1 is now ignored."
msgstr "%1(e)ri orain ezikusi egiten zaio."
#: src/models/actionsmodel.cpp:370 src/models/actionsmodel.cpp:398
#: src/models/actionsmodel.cpp:369 src/models/actionsmodel.cpp:397
#, kde-format
msgctxt "<username> is not a known user"
msgid "%1 is not a known user."
msgstr "%1 ez da erabiltzaile ezaguna."
#: src/models/actionsmodel.cpp:377
#: src/models/actionsmodel.cpp:376
msgid "Ignores the given user"
msgstr "Emaniko erabiltzaileari ezikusi egiten dio"
#: src/models/actionsmodel.cpp:392
#: src/models/actionsmodel.cpp:391
#, kde-format
msgctxt "<username> is not ignored."
msgid "%1 is not ignored."
msgstr "%1(e)ri ezikusi egiten zaio."
#: src/models/actionsmodel.cpp:396
#: src/models/actionsmodel.cpp:395
#, kde-format
msgctxt "<username> is no longer ignored."
msgid "%1 is no longer ignored."
msgstr "%1(e)ri ez zaio aurrerantzean ezikusi egiten."
#: src/models/actionsmodel.cpp:405
#: src/models/actionsmodel.cpp:404
msgid "Unignores the given user"
msgstr "Emaniko erabiltzaileari ezikusia egiteari uzten zaio"
#: src/models/actionsmodel.cpp:425
#: src/models/actionsmodel.cpp:424
msgid "<reaction text>"
msgstr "<erreakzio-testua>"
#: src/models/actionsmodel.cpp:426
#: src/models/actionsmodel.cpp:425
msgid "React to the message with the given text"
msgstr "Erreakzionatu mezuari emanik testuarekin"
#: src/models/actionsmodel.cpp:442
#: src/models/actionsmodel.cpp:441
#, kde-format
msgctxt "<user> is already banned from this room."
msgid "%1 is already banned from this room."
msgstr "%1(e)k gela honetarako debekua du dagoeneko."
#: src/models/actionsmodel.cpp:448
#: src/models/actionsmodel.cpp:447
#, kde-format
msgid "You are not allowed to ban users from this room."
msgstr "Ez zaizu uzten erabiltzaileei gela honetarako debekurik ipintzen."
#: src/models/actionsmodel.cpp:454
#: src/models/actionsmodel.cpp:453
#, 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 "Ez zaizu uzten %1(e)ri gela honetarako debekurik ipintzen."
#: src/models/actionsmodel.cpp:458
#: src/models/actionsmodel.cpp:457
#, kde-format
msgctxt "<username> was banned from this room."
msgid "%1 was banned from this room."
msgstr "%1(e)ri gela honetarako debekua ipini zaio."
#: src/models/actionsmodel.cpp:463 src/models/actionsmodel.cpp:538
#: src/models/actionsmodel.cpp:462 src/models/actionsmodel.cpp:537
msgid "<user id> [<reason>]"
msgstr "<erabiltzaile-id> [<arrazoia>]"
#: src/models/actionsmodel.cpp:464
#: src/models/actionsmodel.cpp:463
msgid "Bans the given user"
msgstr "Emaniko erabiltzaileari debekua ipintzen dio"
#: src/models/actionsmodel.cpp:478
#: src/models/actionsmodel.cpp:477
#, kde-format
msgid "You are not allowed to unban users from this room."
msgstr "Ez zaizu uzten erabiltzaileei gela honetarako debekurik altsatzen."
#: src/models/actionsmodel.cpp:484
#: src/models/actionsmodel.cpp:483
#, kde-format
msgctxt "<user> is not banned from this room."
msgid "%1 is not banned from this room."
msgstr "%1(e)ri ez zaio gela honetarako debekurik ipini."
#: src/models/actionsmodel.cpp:489
#: src/models/actionsmodel.cpp:488
#, kde-format
msgctxt "<username> was unbanned from this room."
msgid "%1 was unbanned from this room."
msgstr "%1(e)ri gela honetarako debekatua altxatu zaio."
#: src/models/actionsmodel.cpp:496
#: src/models/actionsmodel.cpp:495
msgid "Removes the ban of the given user"
msgstr "Emaniko erabiltzailearen debekua kentzen du"
#: src/models/actionsmodel.cpp:511
#: src/models/actionsmodel.cpp:510
#, kde-format
msgid "You cannot kick yourself from the room."
msgstr "Ezin duzu zeure burua gelatik bota."
#: src/models/actionsmodel.cpp:516
#: src/models/actionsmodel.cpp:515
#, kde-format
msgctxt "<username> is not in this room"
msgid "%1 is not in this room."
msgstr "%1 ez dago gela honetan."
#: src/models/actionsmodel.cpp:523
#: src/models/actionsmodel.cpp:522
#, kde-format
msgid "You are not allowed to kick users from this room."
msgstr "Ez zaizu gelatik erabiltzaileak botatzen uzten."
#: src/models/actionsmodel.cpp:529
#: src/models/actionsmodel.cpp:528
#, 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 "Ez zaizu gelatik %1 erabiltzailea botatzen uzten."
#: src/models/actionsmodel.cpp:533
#: src/models/actionsmodel.cpp:532
#, kde-format
msgctxt "<username> was kicked from this room."
msgid "%1 was kicked from this room."
msgstr "%1 gela honetatik bota da."
#: src/models/actionsmodel.cpp:539
#: src/models/actionsmodel.cpp:538
msgid "Removes the user from the room"
msgstr "Erabiltzailea gelatik kentzen du"
@@ -1854,28 +1854,28 @@ msgstr "Ireki berriketa pribatu bat"
msgid "Copy link"
msgstr "Kopiatu esteka"
#: src/qml/main.qml:128
#: src/qml/main.qml:124
#, kde-format
msgid "Warning: %1"
msgstr "Abisua: %1"
#: src/qml/main.qml:267
#: src/qml/main.qml:263
#, kde-format
msgid "%1: %2"
msgstr "%1: %2"
#: src/qml/main.qml:308
#: src/qml/main.qml:304
#, kde-format
msgctxt "@title:window"
msgid "Session Verification"
msgstr "Saioa egiaztatzea"
#: src/qml/main.qml:318
#: src/qml/main.qml:314
#, kde-format
msgid "User consent"
msgstr "Erabiltzailearen onarpena"
#: src/qml/main.qml:323
#: src/qml/main.qml:319
#, kde-format
msgid ""
"Your homeserver requires you to agree to its terms and conditions before "
@@ -1885,17 +1885,17 @@ msgstr ""
"terminoak eta baldintzak onartzea eskatzen dizu. Mesedez, egiozu klik beheko "
"botoiari haiek irakurtzeko."
#: src/qml/main.qml:328
#: src/qml/main.qml:324
#, kde-format
msgid "Open"
msgstr "Ireki"
#: src/qml/main.qml:357
#: src/qml/main.qml:353
#, kde-format
msgid "Start a chat"
msgstr "Hasi berriketa bat"
#: src/qml/main.qml:359
#: src/qml/main.qml:355
#, kde-format
msgid "Do you want to start a chat with %1?"
msgstr "%1(r)ekin berriketa bat abiatu nahi duzu?"
@@ -3845,33 +3845,33 @@ msgid ""
"There's no room %1 in the room list. Check the spelling and the account."
msgstr "Gelen zerrendan ez dago %1 gelarik. Ortografia eta kontua aztertu."
#: src/roommanager.cpp:210
#: src/roommanager.cpp:208
#, kde-format
msgid "Failed to join room"
msgstr "Gelara batzea huts egin du"
#: src/roommanager.cpp:227
#: src/roommanager.cpp:225
#, kde-format
msgid "You requested to join '%1'"
msgstr "'%1'(e)ra batzea eskatu duzu"
#: src/roommanager.cpp:230
#: src/roommanager.cpp:228
#, kde-format
msgid "Failed to request joining room"
msgstr "Gelara batzeko eskaerak huts egin du"
#: src/roommanager.cpp:240
#: src/roommanager.cpp:238
#, kde-format
msgid "No application for the link"
msgstr "Ez dago estekarentzako programarik"
#: src/roommanager.cpp:240
#: src/roommanager.cpp:238
#, kde-format
msgid "Your operating system could not find an application for the link."
msgstr ""
"Zure sistema eragileak ezin izan du estekarentzako aplikaziorik aurkitu."
#: src/roommanager.cpp:246
#: src/roommanager.cpp:244
#, kde-format
msgid "Could not open URL"
msgstr "Ezin izan du URLa ireki"

View File

@@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: neochat\n"
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
"POT-Creation-Date: 2023-04-11 00:48+0000\n"
"POT-Creation-Date: 2023-04-13 00:49+0000\n"
"PO-Revision-Date: 2023-03-30 13:09+0300\n"
"Last-Translator: Tommi Nieminen <translator@legisign.org>\n"
"Language-Team: Finnish <kde-i18n-doc@kde.org>\n"
@@ -219,311 +219,311 @@ msgstr "Mediatunniste ”%1” ei noudata palvelimen tai mediatunnisteiden muoto
msgid "Image request has been cancelled"
msgstr "Kuvapyyntö on peruttu"
#: src/models/actionsmodel.cpp:24
#: src/models/actionsmodel.cpp:23
#, kde-format
msgid "Leaving this room."
msgstr "Poistutaan tästä huoneesta."
#: src/models/actionsmodel.cpp:31 src/models/actionsmodel.cpp:230
#: src/models/actionsmodel.cpp:257 src/models/actionsmodel.cpp:288
#: src/models/actionsmodel.cpp:30 src/models/actionsmodel.cpp:229
#: src/models/actionsmodel.cpp:256 src/models/actionsmodel.cpp:287
#, 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” ei vaikuta huoneen tunnisteelta tai aliakselta."
#: src/models/actionsmodel.cpp:39
#: src/models/actionsmodel.cpp:38
#, kde-format
msgctxt "Leaving room <roomname>."
msgid "Leaving room %1."
msgstr "Poistutaan huoneesta %1."
#: src/models/actionsmodel.cpp:42
#: src/models/actionsmodel.cpp:41
#, kde-format
msgctxt "Room <roomname> not found"
msgid "Room %1 not found."
msgstr "Huonetta %1 ei löytynyt."
#: src/models/actionsmodel.cpp:50 src/models/actionsmodel.cpp:324
#: src/models/actionsmodel.cpp:49 src/models/actionsmodel.cpp:323
#, kde-format
msgid "No new nickname provided, no changes will happen."
msgstr "Uutta lempinimeä ei annettu: ei tehdä muutoksia."
#: 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:64 src/models/actionsmodel.cpp:74
#: src/models/actionsmodel.cpp:84 src/models/actionsmodel.cpp:94
#: src/models/actionsmodel.cpp:114 src/models/actionsmodel.cpp:134
#: src/models/actionsmodel.cpp:145 src/models/actionsmodel.cpp:161
#: src/models/actionsmodel.cpp:171 src/models/actionsmodel.cpp:181
msgid "<message>"
msgstr "<viesti>"
#: src/models/actionsmodel.cpp:66
#: src/models/actionsmodel.cpp:65
msgid "Prepends ¯\\_(ツ)_/¯ to a plain-text message"
msgstr "Lisää raakatekstiviestiin ¯\\_(ツ)_/¯"
#: src/models/actionsmodel.cpp:76
#: src/models/actionsmodel.cpp:75
msgid "Prepends ( ͡° ͜ʖ ͡°) to a plain-text message"
msgstr "Lisää raakatekstiviestiin ( ͡° ͜ʖ ͡°)"
#: src/models/actionsmodel.cpp:86
#: src/models/actionsmodel.cpp:85
msgid "Prepends (╯°□°)╯︵ ┻━┻ to a plain-text message"
msgstr "Lisää raakatekstiviestiin (╯°□°)╯︵ ┻━┻"
#: src/models/actionsmodel.cpp:96
#: src/models/actionsmodel.cpp:95
msgid "Prepends ┬──┬ ( ゜-゜ノ) to a plain-text message"
msgstr "Lisää raakatekstiviestiin ┬──┬ ( ゜-゜ノ)"
#: src/models/actionsmodel.cpp:116
#: src/models/actionsmodel.cpp:115
msgid "Sends the given message colored as a rainbow"
msgstr "Lähettää annetun viestin sateenkaareksi väritettynä"
#: src/models/actionsmodel.cpp:136
#: src/models/actionsmodel.cpp:135
msgid "Sends the given emote colored as a rainbow"
msgstr "Lähettää annetun hymiön sateenkaareksi väritettynä"
#: src/models/actionsmodel.cpp:147
#: src/models/actionsmodel.cpp:146
msgid "Sends the given message as plain text"
msgstr "Lähettää annetun viestin raakatekstinä"
#: src/models/actionsmodel.cpp:163
#: src/models/actionsmodel.cpp:162
msgid "Sends the given message as a spoiler"
msgstr "Lähetä valittu viesti spoilerina"
#: src/models/actionsmodel.cpp:173
#: src/models/actionsmodel.cpp:172
msgid "Sends the given emote"
msgstr "Lähetä annetun hymiön"
#: src/models/actionsmodel.cpp:183
#: src/models/actionsmodel.cpp:182
msgid "Sends the given message as a notice"
msgstr "Lähetä annetun viesti ilmoituksena"
#: src/models/actionsmodel.cpp:192 src/models/actionsmodel.cpp:358
#: src/models/actionsmodel.cpp:386 src/models/actionsmodel.cpp:436
#: src/models/actionsmodel.cpp:473 src/models/actionsmodel.cpp:507
#: src/models/actionsmodel.cpp:191 src/models/actionsmodel.cpp:357
#: src/models/actionsmodel.cpp:385 src/models/actionsmodel.cpp:435
#: src/models/actionsmodel.cpp:472 src/models/actionsmodel.cpp:506
#, kde-format
msgctxt "'<text>' does not look like a matrix id."
msgid "'%1' does not look like a matrix id."
msgstr "”%1” ei vaikuta Matrix-tunnisteelta."
#: src/models/actionsmodel.cpp:198
#: src/models/actionsmodel.cpp:197
#, kde-format
msgctxt "<user> is already invited to this room."
msgid "%1 is already invited to this room."
msgstr "%1 on jo kutsuttu tähän huoneeseen."
#: src/models/actionsmodel.cpp:202
#: src/models/actionsmodel.cpp:201
#, kde-format
msgctxt "<user> is banned from this room."
msgid "%1 is banned from this room."
msgstr "%1 on häädetty tästä huoneesta."
#: src/models/actionsmodel.cpp:207
#: src/models/actionsmodel.cpp:206
#, kde-format
msgid "You are already in this room."
msgstr "Olet jo tässä huoneessa."
#: src/models/actionsmodel.cpp:211
#: src/models/actionsmodel.cpp:210
#, kde-format
msgctxt "<user> is already in this room."
msgid "%1 is already in this room."
msgstr "%1 on jo tässä huoneessa."
#: src/models/actionsmodel.cpp:215
#: src/models/actionsmodel.cpp:214
#, kde-format
msgctxt "<username> was invited into this room"
msgid "%1 was invited into this room"
msgstr "%1 kutsuttiin tähän huoneeseen"
#: src/models/actionsmodel.cpp:220 src/models/actionsmodel.cpp:376
#: src/models/actionsmodel.cpp:404 src/models/actionsmodel.cpp:495
#: src/models/actionsmodel.cpp:219 src/models/actionsmodel.cpp:375
#: src/models/actionsmodel.cpp:403 src/models/actionsmodel.cpp:494
msgid "<user id>"
msgstr "<käyttäjätunniste>"
#: src/models/actionsmodel.cpp:221
#: src/models/actionsmodel.cpp:220
msgid "Invites the user to this room"
msgstr "Kutsuu käyttäjän tähän huoneeseen"
#: src/models/actionsmodel.cpp:238 src/models/actionsmodel.cpp:295
#: src/models/actionsmodel.cpp:237 src/models/actionsmodel.cpp:294
#, kde-format
msgctxt "Joining room <roomname>."
msgid "Joining room %1."
msgstr "Liitytään huoneeseen %1."
#: src/models/actionsmodel.cpp:244 src/models/actionsmodel.cpp:301
#: src/models/actionsmodel.cpp:243 src/models/actionsmodel.cpp:300
msgid "<room alias or id>"
msgstr "<huoneen alias tai tunniste>"
#: src/models/actionsmodel.cpp:245 src/models/actionsmodel.cpp:302
#: src/models/actionsmodel.cpp:244 src/models/actionsmodel.cpp:301
msgid "Joins the given room"
msgstr "Liittyy annettuun huoneeseen"
#: src/models/actionsmodel.cpp:265
#: src/models/actionsmodel.cpp:264
#, kde-format
msgctxt "Knocking room <roomname>."
msgid "Knocking room %1."
msgstr "Koputetaan huonetta %1."
#: src/models/actionsmodel.cpp:277
#: src/models/actionsmodel.cpp:276
msgid "<room alias or id> [<reason>]"
msgstr "<huoneen alias tai tunniste> [<syy>]"
#: src/models/actionsmodel.cpp:278
#: src/models/actionsmodel.cpp:277
msgid "Requests to join the given room"
msgstr "Pyytää liittyä annettuun huoneeseen"
#: src/models/actionsmodel.cpp:292
#: src/models/actionsmodel.cpp:291
#, kde-format
msgctxt "You are already in room <roomname>."
msgid "You are already in room %1."
msgstr "Olet jo huoneessa %1."
#: src/models/actionsmodel.cpp:309 src/models/actionsmodel.cpp:317
#: src/models/actionsmodel.cpp:308 src/models/actionsmodel.cpp:316
msgid "[<room alias or id>]"
msgstr "[<huoneen alias tai tunniste>]"
#: src/models/actionsmodel.cpp:310 src/models/actionsmodel.cpp:318
#: src/models/actionsmodel.cpp:309 src/models/actionsmodel.cpp:317
msgid "Leaves the given room or this room, if there is none given"
msgstr "Jättää annetun tai tämän huoneen (ellei huonetta ole annettu)"
#: src/models/actionsmodel.cpp:332 src/models/actionsmodel.cpp:340
#: src/models/actionsmodel.cpp:348
#: src/models/actionsmodel.cpp:331 src/models/actionsmodel.cpp:339
#: src/models/actionsmodel.cpp:347
msgid "<display name>"
msgstr "<näyttönimi>"
#: src/models/actionsmodel.cpp:333
#: src/models/actionsmodel.cpp:332
msgid "Changes your global display name"
msgstr "Vaihtaa yleisen näyttönimesi"
#: src/models/actionsmodel.cpp:341 src/models/actionsmodel.cpp:349
#: src/models/actionsmodel.cpp:340 src/models/actionsmodel.cpp:348
msgid "Changes your display name in this room"
msgstr "Vaihtaa tämän huoneen näyttönimesi"
#: src/models/actionsmodel.cpp:363
#: src/models/actionsmodel.cpp:362
#, kde-format
msgctxt "<username> is already ignored."
msgid "%1 is already ignored."
msgstr "%1 sivuutetaan jo."
#: src/models/actionsmodel.cpp:368
#: src/models/actionsmodel.cpp:367
#, kde-format
msgctxt "<username> is now ignored"
msgid "%1 is now ignored."
msgstr "Nyt %1 sivuutetaan."
#: src/models/actionsmodel.cpp:370 src/models/actionsmodel.cpp:398
#: src/models/actionsmodel.cpp:369 src/models/actionsmodel.cpp:397
#, kde-format
msgctxt "<username> is not a known user"
msgid "%1 is not a known user."
msgstr "Käyttäjää %1 ei tunneta."
#: src/models/actionsmodel.cpp:377
#: src/models/actionsmodel.cpp:376
msgid "Ignores the given user"
msgstr "Sivuuta annettu käyttäjä"
#: src/models/actionsmodel.cpp:392
#: src/models/actionsmodel.cpp:391
#, kde-format
msgctxt "<username> is not ignored."
msgid "%1 is not ignored."
msgstr "Käyttäjää %1 ei sivuuteta."
#: src/models/actionsmodel.cpp:396
#: src/models/actionsmodel.cpp:395
#, kde-format
msgctxt "<username> is no longer ignored."
msgid "%1 is no longer ignored."
msgstr "Käyttäjää %1 ei enää sivuuteta."
#: src/models/actionsmodel.cpp:405
#: src/models/actionsmodel.cpp:404
msgid "Unignores the given user"
msgstr "Peruu tämän käyttäjän sivuuttamisen"
#: src/models/actionsmodel.cpp:425
#: src/models/actionsmodel.cpp:424
msgid "<reaction text>"
msgstr "<reaktioteksti>"
#: src/models/actionsmodel.cpp:426
#: src/models/actionsmodel.cpp:425
msgid "React to the message with the given text"
msgstr "Reagoi viestiin annetulla tekstillä."
#: src/models/actionsmodel.cpp:442
#: src/models/actionsmodel.cpp:441
#, kde-format
msgctxt "<user> is already banned from this room."
msgid "%1 is already banned from this room."
msgstr "%1 on jo torjuttu tästä huoneesta."
#: src/models/actionsmodel.cpp:448
#: src/models/actionsmodel.cpp:447
#, kde-format
msgid "You are not allowed to ban users from this room."
msgstr "Sinulla ei ole lupaa torjua käyttäjiä tästä huoneesta."
#: src/models/actionsmodel.cpp:454
#: src/models/actionsmodel.cpp:453
#, 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 "Sinulla ei ole lupaa torjua käyttäjää %1 tästä huoneesta."
#: src/models/actionsmodel.cpp:458
#: src/models/actionsmodel.cpp:457
#, kde-format
msgctxt "<username> was banned from this room."
msgid "%1 was banned from this room."
msgstr "%1 torjuttiin tästä huoneesta."
#: src/models/actionsmodel.cpp:463 src/models/actionsmodel.cpp:538
#: src/models/actionsmodel.cpp:462 src/models/actionsmodel.cpp:537
msgid "<user id> [<reason>]"
msgstr "<käyttäjätunniste> [<syy>]"
#: src/models/actionsmodel.cpp:464
#: src/models/actionsmodel.cpp:463
msgid "Bans the given user"
msgstr "Torjuu annetun käyttäjän"
#: src/models/actionsmodel.cpp:478
#: src/models/actionsmodel.cpp:477
#, kde-format
msgid "You are not allowed to unban users from this room."
msgstr "Sinulla ei ole lupaa kumota käyttäjien torjumista tästä huoneesta."
#: src/models/actionsmodel.cpp:484
#: src/models/actionsmodel.cpp:483
#, kde-format
msgctxt "<user> is not banned from this room."
msgid "%1 is not banned from this room."
msgstr "Käyttäjää %1 ei ole torjuttu tästä huoneesta."
#: src/models/actionsmodel.cpp:489
#: src/models/actionsmodel.cpp:488
#, kde-format
msgctxt "<username> was unbanned from this room."
msgid "%1 was unbanned from this room."
msgstr "Käyttäjän %1 torjunta tästä huoneesta kumottiin."
#: src/models/actionsmodel.cpp:496
#: src/models/actionsmodel.cpp:495
msgid "Removes the ban of the given user"
msgstr "Kumoaa annetun käyttäjän eston"
#: src/models/actionsmodel.cpp:511
#: src/models/actionsmodel.cpp:510
#, kde-format
msgid "You cannot kick yourself from the room."
msgstr "Et voi potkia itseäsi huoneesta."
#: src/models/actionsmodel.cpp:516
#: src/models/actionsmodel.cpp:515
#, kde-format
msgctxt "<username> is not in this room"
msgid "%1 is not in this room."
msgstr "%1 ei ole tässä huoneessa."
#: src/models/actionsmodel.cpp:523
#: src/models/actionsmodel.cpp:522
#, kde-format
msgid "You are not allowed to kick users from this room."
msgstr "Sinulla ei ole lupaa potkaista käyttäjiä tästä huoneesta."
#: src/models/actionsmodel.cpp:529
#: src/models/actionsmodel.cpp:528
#, 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 "Sinulla ei ole lupaa potkaista käyttäjää %1 tästä huoneesta."
#: src/models/actionsmodel.cpp:533
#: src/models/actionsmodel.cpp:532
#, kde-format
msgctxt "<username> was kicked from this room."
msgid "%1 was kicked from this room."
msgstr "%1 potkaistiin tästä huoneesta."
#: src/models/actionsmodel.cpp:539
#: src/models/actionsmodel.cpp:538
msgid "Removes the user from the room"
msgstr "Poistaa käyttäjän huoneesta"
@@ -1832,28 +1832,28 @@ msgstr "Avaa yksityiskeskustelu"
msgid "Copy link"
msgstr "Kopioi linkki"
#: src/qml/main.qml:128
#: src/qml/main.qml:124
#, kde-format
msgid "Warning: %1"
msgstr "Varoitus: %1"
#: src/qml/main.qml:267
#: src/qml/main.qml:263
#, kde-format
msgid "%1: %2"
msgstr "%1: %2"
#: src/qml/main.qml:308
#: src/qml/main.qml:304
#, kde-format
msgctxt "@title:window"
msgid "Session Verification"
msgstr "Istunnon todennus"
#: src/qml/main.qml:318
#: src/qml/main.qml:314
#, kde-format
msgid "User consent"
msgstr "Käyttäjän suostumus"
#: src/qml/main.qml:323
#: src/qml/main.qml:319
#, kde-format
msgid ""
"Your homeserver requires you to agree to its terms and conditions before "
@@ -1862,17 +1862,17 @@ msgstr ""
"Kotipalvelimesi vaatii sinua hyväksymään käyttöehdot ennen kuin voit käyttää "
"sitä. Lue ehdot napsauttamalla alla olevaa painiketta."
#: src/qml/main.qml:328
#: src/qml/main.qml:324
#, kde-format
msgid "Open"
msgstr "Avaa"
#: src/qml/main.qml:357
#: src/qml/main.qml:353
#, kde-format
msgid "Start a chat"
msgstr "Aloita keskustelu"
#: src/qml/main.qml:359
#: src/qml/main.qml:355
#, kde-format
msgid "Do you want to start a chat with %1?"
msgstr "Haluatko käynnistää keskustelun henkilön %1 kanssa?"
@@ -3808,32 +3808,32 @@ msgid ""
"There's no room %1 in the room list. Check the spelling and the account."
msgstr "Huoneluettelossa ei ole huonetta %1. Tarkista oikeinkirjoitus ja tili."
#: src/roommanager.cpp:210
#: src/roommanager.cpp:208
#, kde-format
msgid "Failed to join room"
msgstr "Huoneeseen liittyminen epäonnistui"
#: src/roommanager.cpp:227
#: src/roommanager.cpp:225
#, kde-format
msgid "You requested to join '%1'"
msgstr "Pyysit liittyä huoneeseen ”%1”"
#: src/roommanager.cpp:230
#: src/roommanager.cpp:228
#, kde-format
msgid "Failed to request joining room"
msgstr "Pyyntö liittyä huoneeseen epäonnistui"
#: src/roommanager.cpp:240
#: src/roommanager.cpp:238
#, kde-format
msgid "No application for the link"
msgstr "Ei sovellusta linkille"
#: src/roommanager.cpp:240
#: src/roommanager.cpp:238
#, kde-format
msgid "Your operating system could not find an application for the link."
msgstr "Käyttöjärjestelmä ei löydä linkille sovellusta."
#: src/roommanager.cpp:246
#: src/roommanager.cpp:244
#, kde-format
msgid "Could not open URL"
msgstr "Verkko-osoitetta ei voitu avata"

View File

@@ -4,7 +4,7 @@ msgid ""
msgstr ""
"Project-Id-Version: neochat\n"
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
"POT-Creation-Date: 2023-04-11 00:48+0000\n"
"POT-Creation-Date: 2023-04-13 00:49+0000\n"
"PO-Revision-Date: 2023-04-05 08:22+0200\n"
"Last-Translator: Xavier BESNARD <xavier.besnard]neuf.fr>\n"
"Language-Team: fr\n"
@@ -223,314 +223,314 @@ msgstr ""
msgid "Image request has been cancelled"
msgstr "La demande d'image a été annulée."
#: src/models/actionsmodel.cpp:24
#: src/models/actionsmodel.cpp:23
#, kde-format
msgid "Leaving this room."
msgstr "Déconnexion de ce salon."
#: src/models/actionsmodel.cpp:31 src/models/actionsmodel.cpp:230
#: src/models/actionsmodel.cpp:257 src/models/actionsmodel.cpp:288
#: src/models/actionsmodel.cpp:30 src/models/actionsmodel.cpp:229
#: src/models/actionsmodel.cpp:256 src/models/actionsmodel.cpp:287
#, 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 » ne ressemble pas à un identifiant ou un alias de salon."
#: src/models/actionsmodel.cpp:39
#: src/models/actionsmodel.cpp:38
#, kde-format
msgctxt "Leaving room <roomname>."
msgid "Leaving room %1."
msgstr "Déconnexion du salon %1."
#: src/models/actionsmodel.cpp:42
#: src/models/actionsmodel.cpp:41
#, kde-format
msgctxt "Room <roomname> not found"
msgid "Room %1 not found."
msgstr "Impossible de trouver le salon %1."
#: src/models/actionsmodel.cpp:50 src/models/actionsmodel.cpp:324
#: src/models/actionsmodel.cpp:49 src/models/actionsmodel.cpp:323
#, kde-format
msgid "No new nickname provided, no changes will happen."
msgstr ""
"Aucun nouveau pseudonyme fourni. Aucune modification ne sera effectuée."
#: 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:64 src/models/actionsmodel.cpp:74
#: src/models/actionsmodel.cpp:84 src/models/actionsmodel.cpp:94
#: src/models/actionsmodel.cpp:114 src/models/actionsmodel.cpp:134
#: src/models/actionsmodel.cpp:145 src/models/actionsmodel.cpp:161
#: src/models/actionsmodel.cpp:171 src/models/actionsmodel.cpp:181
msgid "<message>"
msgstr "<message>"
#: src/models/actionsmodel.cpp:66
#: src/models/actionsmodel.cpp:65
msgid "Prepends ¯\\_(ツ)_/¯ to a plain-text message"
msgstr "Préfixe ¯\\_(ツ)_/¯ en un message de texte brut"
#: src/models/actionsmodel.cpp:76
#: src/models/actionsmodel.cpp:75
msgid "Prepends ( ͡° ͜ʖ ͡°) to a plain-text message"
msgstr "Préfixe ( ͡° ͜ʖ ͡°) en un message de texte brut"
#: src/models/actionsmodel.cpp:86
#: src/models/actionsmodel.cpp:85
msgid "Prepends (╯°□°)╯︵ ┻━┻ to a plain-text message"
msgstr "Ajoute « ( ͡° ͜ʖ ͡°) » à un message en texte brut"
#: src/models/actionsmodel.cpp:96
#: src/models/actionsmodel.cpp:95
msgid "Prepends ┬──┬ ( ゜-゜ノ) to a plain-text message"
msgstr "Ajoute « ¯\\_(ツ)_/¯ » à un message en texte brut"
#: src/models/actionsmodel.cpp:116
#: src/models/actionsmodel.cpp:115
msgid "Sends the given message colored as a rainbow"
msgstr "Envoie le message fourni coloré comme un arc-en-ciel."
#: src/models/actionsmodel.cpp:136
#: src/models/actionsmodel.cpp:135
msgid "Sends the given emote colored as a rainbow"
msgstr "Envoie l'émoticône fournie, colorée comme un arc-en-ciel."
#: src/models/actionsmodel.cpp:147
#: src/models/actionsmodel.cpp:146
msgid "Sends the given message as plain text"
msgstr "Envoie le message fourni comme un texte simple"
#: src/models/actionsmodel.cpp:163
#: src/models/actionsmodel.cpp:162
msgid "Sends the given message as a spoiler"
msgstr "Envoie le message fourni comme un pourriciel"
#: src/models/actionsmodel.cpp:173
#: src/models/actionsmodel.cpp:172
msgid "Sends the given emote"
msgstr "Envoie l'émoticône fournie"
#: src/models/actionsmodel.cpp:183
#: src/models/actionsmodel.cpp:182
msgid "Sends the given message as a notice"
msgstr "Envoie le message fourni comme un avis"
#: src/models/actionsmodel.cpp:192 src/models/actionsmodel.cpp:358
#: src/models/actionsmodel.cpp:386 src/models/actionsmodel.cpp:436
#: src/models/actionsmodel.cpp:473 src/models/actionsmodel.cpp:507
#: src/models/actionsmodel.cpp:191 src/models/actionsmodel.cpp:357
#: src/models/actionsmodel.cpp:385 src/models/actionsmodel.cpp:435
#: src/models/actionsmodel.cpp:472 src/models/actionsmodel.cpp:506
#, kde-format
msgctxt "'<text>' does not look like a matrix id."
msgid "'%1' does not look like a matrix id."
msgstr "« %1 » ne ressemble pas à un identifiant « Matrix »."
#: src/models/actionsmodel.cpp:198
#: src/models/actionsmodel.cpp:197
#, kde-format
msgctxt "<user> is already invited to this room."
msgid "%1 is already invited to this room."
msgstr "%1 est déjà invité dans ce salon."
#: src/models/actionsmodel.cpp:202
#: src/models/actionsmodel.cpp:201
#, kde-format
msgctxt "<user> is banned from this room."
msgid "%1 is banned from this room."
msgstr "%1 est banni de ce salon."
#: src/models/actionsmodel.cpp:207
#: src/models/actionsmodel.cpp:206
#, kde-format
msgid "You are already in this room."
msgstr "Vous êtes déjà dans ce salon."
#: src/models/actionsmodel.cpp:211
#: src/models/actionsmodel.cpp:210
#, kde-format
msgctxt "<user> is already in this room."
msgid "%1 is already in this room."
msgstr "%1 est déjà présent dans ce salon ."
#: src/models/actionsmodel.cpp:215
#: src/models/actionsmodel.cpp:214
#, kde-format
msgctxt "<username> was invited into this room"
msgid "%1 was invited into this room"
msgstr "%1 a été invité dans ce salon."
#: src/models/actionsmodel.cpp:220 src/models/actionsmodel.cpp:376
#: src/models/actionsmodel.cpp:404 src/models/actionsmodel.cpp:495
#: src/models/actionsmodel.cpp:219 src/models/actionsmodel.cpp:375
#: src/models/actionsmodel.cpp:403 src/models/actionsmodel.cpp:494
msgid "<user id>"
msgstr "<user id>"
#: src/models/actionsmodel.cpp:221
#: src/models/actionsmodel.cpp:220
msgid "Invites the user to this room"
msgstr "Invite un utilisateur dans ce salon"
#: src/models/actionsmodel.cpp:238 src/models/actionsmodel.cpp:295
#: src/models/actionsmodel.cpp:237 src/models/actionsmodel.cpp:294
#, kde-format
msgctxt "Joining room <roomname>."
msgid "Joining room %1."
msgstr "Connexion au salon %1."
#: src/models/actionsmodel.cpp:244 src/models/actionsmodel.cpp:301
#: src/models/actionsmodel.cpp:243 src/models/actionsmodel.cpp:300
msgid "<room alias or id>"
msgstr "<room alias or id>"
#: src/models/actionsmodel.cpp:245 src/models/actionsmodel.cpp:302
#: src/models/actionsmodel.cpp:244 src/models/actionsmodel.cpp:301
msgid "Joins the given room"
msgstr "Se connecte au salon fourni"
#: src/models/actionsmodel.cpp:265
#: src/models/actionsmodel.cpp:264
#, kde-format
msgctxt "Knocking room <roomname>."
msgid "Knocking room %1."
msgstr "Frappe à la porte du salon %1."
#: src/models/actionsmodel.cpp:277
#: src/models/actionsmodel.cpp:276
msgid "<room alias or id> [<reason>]"
msgstr "<room alias or id> [<reason>]"
#: src/models/actionsmodel.cpp:278
#: src/models/actionsmodel.cpp:277
msgid "Requests to join the given room"
msgstr "Demande à rejoindre un salon donné"
#: src/models/actionsmodel.cpp:292
#: src/models/actionsmodel.cpp:291
#, kde-format
msgctxt "You are already in room <roomname>."
msgid "You are already in room %1."
msgstr "Vous êtes déjà présent dans le salon %1."
#: src/models/actionsmodel.cpp:309 src/models/actionsmodel.cpp:317
#: src/models/actionsmodel.cpp:308 src/models/actionsmodel.cpp:316
msgid "[<room alias or id>]"
msgstr "[<room alias or id>]"
#: src/models/actionsmodel.cpp:310 src/models/actionsmodel.cpp:318
#: src/models/actionsmodel.cpp:309 src/models/actionsmodel.cpp:317
msgid "Leaves the given room or this room, if there is none given"
msgstr "Quitte le salon fourni ou ce salon, si aucun paramètre n'est fourni."
#: src/models/actionsmodel.cpp:332 src/models/actionsmodel.cpp:340
#: src/models/actionsmodel.cpp:348
#: src/models/actionsmodel.cpp:331 src/models/actionsmodel.cpp:339
#: src/models/actionsmodel.cpp:347
msgid "<display name>"
msgstr "<nom pour affichage>"
#: src/models/actionsmodel.cpp:333
#: src/models/actionsmodel.cpp:332
msgid "Changes your global display name"
msgstr "Modifie votre nom pour affichage global"
#: src/models/actionsmodel.cpp:341 src/models/actionsmodel.cpp:349
#: src/models/actionsmodel.cpp:340 src/models/actionsmodel.cpp:348
msgid "Changes your display name in this room"
msgstr "Modifie votre nom d'affichage pour ce salon"
#: src/models/actionsmodel.cpp:363
#: src/models/actionsmodel.cpp:362
#, kde-format
msgctxt "<username> is already ignored."
msgid "%1 is already ignored."
msgstr "%1 est déjà ignoré."
#: src/models/actionsmodel.cpp:368
#: src/models/actionsmodel.cpp:367
#, kde-format
msgctxt "<username> is now ignored"
msgid "%1 is now ignored."
msgstr "%1 est maintenant ignoré."
#: src/models/actionsmodel.cpp:370 src/models/actionsmodel.cpp:398
#: src/models/actionsmodel.cpp:369 src/models/actionsmodel.cpp:397
#, kde-format
msgctxt "<username> is not a known user"
msgid "%1 is not a known user."
msgstr "%1 n'est pas un utilisateur connu."
#: src/models/actionsmodel.cpp:377
#: src/models/actionsmodel.cpp:376
msgid "Ignores the given user"
msgstr "Ignore un utilisateur donné"
#: src/models/actionsmodel.cpp:392
#: src/models/actionsmodel.cpp:391
#, kde-format
msgctxt "<username> is not ignored."
msgid "%1 is not ignored."
msgstr "%1 est pris en compte."
#: src/models/actionsmodel.cpp:396
#: src/models/actionsmodel.cpp:395
#, kde-format
msgctxt "<username> is no longer ignored."
msgid "%1 is no longer ignored."
msgstr "%1 n'est plus ignoré maintenant."
#: src/models/actionsmodel.cpp:405
#: src/models/actionsmodel.cpp:404
msgid "Unignores the given user"
msgstr "Reprendre en compte lutilisateur donné"
#: src/models/actionsmodel.cpp:425
#: src/models/actionsmodel.cpp:424
msgid "<reaction text>"
msgstr "<reaction text>"
#: src/models/actionsmodel.cpp:426
#: src/models/actionsmodel.cpp:425
msgid "React to the message with the given text"
msgstr "Réagir à ce message avec un texte donné"
#: src/models/actionsmodel.cpp:442
#: src/models/actionsmodel.cpp:441
#, kde-format
msgctxt "<user> is already banned from this room."
msgid "%1 is already banned from this room."
msgstr "%1 est déjà banni de ce salon."
#: src/models/actionsmodel.cpp:448
#: src/models/actionsmodel.cpp:447
#, kde-format
msgid "You are not allowed to ban users from this room."
msgstr "Vous nêtes pas autorisé à bannir des utilisateurs de ce salon."
#: src/models/actionsmodel.cpp:454
#: src/models/actionsmodel.cpp:453
#, 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 "Vous n'êtes pas autorisé à bannir %1 de ce salon."
#: src/models/actionsmodel.cpp:458
#: src/models/actionsmodel.cpp:457
#, kde-format
msgctxt "<username> was banned from this room."
msgid "%1 was banned from this room."
msgstr "%1 a été banni de ce salon."
#: src/models/actionsmodel.cpp:463 src/models/actionsmodel.cpp:538
#: src/models/actionsmodel.cpp:462 src/models/actionsmodel.cpp:537
msgid "<user id> [<reason>]"
msgstr "<user id> [<reason>]"
#: src/models/actionsmodel.cpp:464
#: src/models/actionsmodel.cpp:463
msgid "Bans the given user"
msgstr "Bannis l'utilisateur donné"
#: src/models/actionsmodel.cpp:478
#: src/models/actionsmodel.cpp:477
#, kde-format
msgid "You are not allowed to unban users from this room."
msgstr ""
"Vous nêtes pas autorisé à supprimer le bannissement d'utilisateurs de ce "
"salon."
#: src/models/actionsmodel.cpp:484
#: src/models/actionsmodel.cpp:483
#, kde-format
msgctxt "<user> is not banned from this room."
msgid "%1 is not banned from this room."
msgstr "%1 n'est pas banni de ce salon."
#: src/models/actionsmodel.cpp:489
#: src/models/actionsmodel.cpp:488
#, kde-format
msgctxt "<username> was unbanned from this room."
msgid "%1 was unbanned from this room."
msgstr "%1 a été banni de ce salon."
#: src/models/actionsmodel.cpp:496
#: src/models/actionsmodel.cpp:495
msgid "Removes the ban of the given user"
msgstr "Supprime le bannissement pour un utilisateur donné"
#: src/models/actionsmodel.cpp:511
#: src/models/actionsmodel.cpp:510
#, kde-format
msgid "You cannot kick yourself from the room."
msgstr "Il vous est impossible de vous bannir d'un salon."
#: src/models/actionsmodel.cpp:516
#: src/models/actionsmodel.cpp:515
#, kde-format
msgctxt "<username> is not in this room"
msgid "%1 is not in this room."
msgstr "%1 est absent de ce salon ."
#: src/models/actionsmodel.cpp:523
#: src/models/actionsmodel.cpp:522
#, kde-format
msgid "You are not allowed to kick users from this room."
msgstr "Vous n'êtes pas autorisé à expulser des utilisateurs de ce salon."
#: src/models/actionsmodel.cpp:529
#: src/models/actionsmodel.cpp:528
#, 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 "Vous n'êtes pas autorisé à expulser %1 de ce salon."
#: src/models/actionsmodel.cpp:533
#: src/models/actionsmodel.cpp:532
#, kde-format
msgctxt "<username> was kicked from this room."
msgid "%1 was kicked from this room."
msgstr "%1 a été expulsé de ce salon."
#: src/models/actionsmodel.cpp:539
#: src/models/actionsmodel.cpp:538
msgid "Removes the user from the room"
msgstr "Enlève un utilisateur d'un salon"
@@ -1856,28 +1856,28 @@ msgstr "Ouvrir un salon privé"
msgid "Copy link"
msgstr "Copier un lien"
#: src/qml/main.qml:128
#: src/qml/main.qml:124
#, kde-format
msgid "Warning: %1"
msgstr "Attention : %1"
#: src/qml/main.qml:267
#: src/qml/main.qml:263
#, kde-format
msgid "%1: %2"
msgstr "%1 : %2"
#: src/qml/main.qml:308
#: src/qml/main.qml:304
#, kde-format
msgctxt "@title:window"
msgid "Session Verification"
msgstr "Vérification de la session"
#: src/qml/main.qml:318
#: src/qml/main.qml:314
#, kde-format
msgid "User consent"
msgstr "Consentement de l'utilisateur"
#: src/qml/main.qml:323
#: src/qml/main.qml:319
#, kde-format
msgid ""
"Your homeserver requires you to agree to its terms and conditions before "
@@ -1887,17 +1887,17 @@ msgstr ""
"avant de pouvoir l'utiliser. Veuillez cliquer sur le bouton ci-dessous pour "
"les lire."
#: src/qml/main.qml:328
#: src/qml/main.qml:324
#, kde-format
msgid "Open"
msgstr "Ouvrir"
#: src/qml/main.qml:357
#: src/qml/main.qml:353
#, kde-format
msgid "Start a chat"
msgstr "Démarrer une conversation"
#: src/qml/main.qml:359
#: src/qml/main.qml:355
#, kde-format
msgid "Do you want to start a chat with %1?"
msgstr "Voulez-vous démarrer une discussion avec %1 ?"
@@ -3854,33 +3854,33 @@ msgstr ""
"Il n'y a aucun salon %1 dans la liste des salons. Veuillez vérifier "
"l'orthographe et le compte."
#: src/roommanager.cpp:210
#: src/roommanager.cpp:208
#, kde-format
msgid "Failed to join room"
msgstr "Impossible de rejoindre un salon"
#: src/roommanager.cpp:227
#: src/roommanager.cpp:225
#, kde-format
msgid "You requested to join '%1'"
msgstr "Vous avez demandé à rejoindre « %1 »"
#: src/roommanager.cpp:230
#: src/roommanager.cpp:228
#, kde-format
msgid "Failed to request joining room"
msgstr "Échec de la demande pour rejoindre un salon"
#: src/roommanager.cpp:240
#: src/roommanager.cpp:238
#, kde-format
msgid "No application for the link"
msgstr "Aucune application pour le lien"
#: src/roommanager.cpp:240
#: src/roommanager.cpp:238
#, kde-format
msgid "Your operating system could not find an application for the link."
msgstr ""
"Votre système d'exploitation ne peut trouver d'application pour le lien."
#: src/roommanager.cpp:246
#: src/roommanager.cpp:244
#, kde-format
msgid "Could not open URL"
msgstr "Impossible d'ouvrir l'URL"

View File

@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: neochat\n"
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
"POT-Creation-Date: 2023-04-11 00:48+0000\n"
"POT-Creation-Date: 2023-04-13 00:49+0000\n"
"PO-Revision-Date: 2021-11-08 09:39+0100\n"
"Last-Translator: Kristof Kiszel <kiszel.kristof@gmail.com>\n"
"Language-Team: Hungarian <kde-l10n-hu@kde.org>\n"
@@ -233,376 +233,376 @@ msgstr "A(z) „%1” médiaazonosító nem követi a server/mediaId mintát"
msgid "Image request has been cancelled"
msgstr "A kép kérését megszakították"
#: src/models/actionsmodel.cpp:24
#: src/models/actionsmodel.cpp:23
#, fuzzy, kde-format
#| msgid "Open NeoChat in this room"
msgid "Leaving this room."
msgstr "NeoChat megnyitása ebben a szobában"
#: src/models/actionsmodel.cpp:31 src/models/actionsmodel.cpp:230
#: src/models/actionsmodel.cpp:257 src/models/actionsmodel.cpp:288
#: src/models/actionsmodel.cpp:30 src/models/actionsmodel.cpp:229
#: src/models/actionsmodel.cpp:256 src/models/actionsmodel.cpp:287
#, 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:38
#, fuzzy, kde-format
#| msgid "Leave room"
msgctxt "Leaving room <roomname>."
msgid "Leaving room %1."
msgstr "Szoba elhagyása"
#: src/models/actionsmodel.cpp:42
#: src/models/actionsmodel.cpp:41
#, fuzzy, kde-format
#| msgid "Room not found"
msgctxt "Room <roomname> not found"
msgid "Room %1 not found."
msgstr "A szoba nem található"
#: src/models/actionsmodel.cpp:50 src/models/actionsmodel.cpp:324
#: src/models/actionsmodel.cpp:49 src/models/actionsmodel.cpp:323
#, 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:64 src/models/actionsmodel.cpp:74
#: src/models/actionsmodel.cpp:84 src/models/actionsmodel.cpp:94
#: src/models/actionsmodel.cpp:114 src/models/actionsmodel.cpp:134
#: src/models/actionsmodel.cpp:145 src/models/actionsmodel.cpp:161
#: src/models/actionsmodel.cpp:171 src/models/actionsmodel.cpp:181
#, fuzzy
#| msgctxt "@label Parameter of a command"
#| msgid "<message>"
msgid "<message>"
msgstr "<üzenet>"
#: src/models/actionsmodel.cpp:66
#: src/models/actionsmodel.cpp:65
msgid "Prepends ¯\\_(ツ)_/¯ to a plain-text message"
msgstr "¯\\_(ツ)_/¯ illesztése egy szöveges üzenet elé"
#: src/models/actionsmodel.cpp:76
#: src/models/actionsmodel.cpp:75
msgid "Prepends ( ͡° ͜ʖ ͡°) to a plain-text message"
msgstr "( ͡° ͜ʖ ͡°) illesztése egy szöveges üzenet elé"
#: src/models/actionsmodel.cpp:86
#: src/models/actionsmodel.cpp:85
msgid "Prepends (╯°□°)╯︵ ┻━┻ to a plain-text message"
msgstr "(╯°□°)╯︵ ┻━┻ billesztése egy szöveges üzenet elé"
#: src/models/actionsmodel.cpp:96
#: src/models/actionsmodel.cpp:95
msgid "Prepends ┬──┬ ( ゜-゜ノ) to a plain-text message"
msgstr " ┬──┬ ( ゜-゜ノ) beillesztése egy szöveges üzenet elé"
#: src/models/actionsmodel.cpp:116
#: src/models/actionsmodel.cpp:115
#, fuzzy
#| msgid "Sends the given message coloured as a rainbow"
msgid "Sends the given message colored as a rainbow"
msgstr "A megadott üzenet küldése szivárványszínűre színezve"
#: src/models/actionsmodel.cpp:136
#: src/models/actionsmodel.cpp:135
#, fuzzy
#| msgid "Sends the given emote coloured as a rainbow"
msgid "Sends the given emote colored as a rainbow"
msgstr "A megadott hangulatjel küldése szívárványszínűre színezve"
#: src/models/actionsmodel.cpp:147
#: src/models/actionsmodel.cpp:146
#, fuzzy
#| msgid "Sends the given message as a spoiler"
msgid "Sends the given message as plain text"
msgstr "Az üzenet spoiler-ként megjelölése"
#: src/models/actionsmodel.cpp:163
#: src/models/actionsmodel.cpp:162
msgid "Sends the given message as a spoiler"
msgstr "Az üzenet spoiler-ként megjelölése"
#: src/models/actionsmodel.cpp:173
#: src/models/actionsmodel.cpp:172
#, fuzzy
#| msgid "Sends the given message as a spoiler"
msgid "Sends the given emote"
msgstr "Az üzenet spoiler-ként megjelölése"
#: src/models/actionsmodel.cpp:183
#: src/models/actionsmodel.cpp:182
#, fuzzy
#| msgid "Sends the given message as a spoiler"
msgid "Sends the given message as a notice"
msgstr "Az üzenet spoiler-ként megjelölése"
#: src/models/actionsmodel.cpp:192 src/models/actionsmodel.cpp:358
#: src/models/actionsmodel.cpp:386 src/models/actionsmodel.cpp:436
#: src/models/actionsmodel.cpp:473 src/models/actionsmodel.cpp:507
#: src/models/actionsmodel.cpp:191 src/models/actionsmodel.cpp:357
#: src/models/actionsmodel.cpp:385 src/models/actionsmodel.cpp:435
#: src/models/actionsmodel.cpp:472 src/models/actionsmodel.cpp:506
#, 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:198
#: src/models/actionsmodel.cpp:197
#, fuzzy, kde-format
#| msgid "reinvited %1 to the room"
msgctxt "<user> is already invited to this room."
msgid "%1 is already invited to this room."
msgstr "újra meghívta őt a szobába: %1"
#: src/models/actionsmodel.cpp:202
#: src/models/actionsmodel.cpp:201
#, fuzzy, kde-format
#| msgid "self-banned from the room"
msgctxt "<user> is banned from this room."
msgid "%1 is banned from this room."
msgstr "kitiltotta magát a szobából"
#: src/models/actionsmodel.cpp:207
#: src/models/actionsmodel.cpp:206
#, fuzzy, kde-format
#| msgid "Open NeoChat in this room"
msgid "You are already in this room."
msgstr "NeoChat megnyitása ebben a szobában"
#: src/models/actionsmodel.cpp:211
#: src/models/actionsmodel.cpp:210
#, fuzzy, kde-format
#| msgid "Open NeoChat in this room"
msgctxt "<user> is already in this room."
msgid "%1 is already in this room."
msgstr "NeoChat megnyitása ebben a szobában"
#: src/models/actionsmodel.cpp:215
#: src/models/actionsmodel.cpp:214
#, fuzzy, kde-format
#| msgid "invited %1 to the room"
msgctxt "<username> was invited into this room"
msgid "%1 was invited into this room"
msgstr "meghívta őt a szobába: %1"
#: src/models/actionsmodel.cpp:220 src/models/actionsmodel.cpp:376
#: src/models/actionsmodel.cpp:404 src/models/actionsmodel.cpp:495
#: src/models/actionsmodel.cpp:219 src/models/actionsmodel.cpp:375
#: src/models/actionsmodel.cpp:403 src/models/actionsmodel.cpp:494
#, fuzzy
#| msgctxt "@label Parameter of a command"
#| msgid "<user-id>"
msgid "<user id>"
msgstr "<felhasználóazonosító>"
#: src/models/actionsmodel.cpp:221
#: src/models/actionsmodel.cpp:220
#, fuzzy
#| msgid "invited %1 to the room"
msgid "Invites the user to this room"
msgstr "meghívta őt a szobába: %1"
#: src/models/actionsmodel.cpp:238 src/models/actionsmodel.cpp:295
#: src/models/actionsmodel.cpp:237 src/models/actionsmodel.cpp:294
#, fuzzy, kde-format
#| msgid "Configure room"
msgctxt "Joining room <roomname>."
msgid "Joining room %1."
msgstr "Szoba beállítása"
#: src/models/actionsmodel.cpp:244 src/models/actionsmodel.cpp:301
#: src/models/actionsmodel.cpp:243 src/models/actionsmodel.cpp:300
msgid "<room alias or id>"
msgstr ""
#: src/models/actionsmodel.cpp:245 src/models/actionsmodel.cpp:302
#: src/models/actionsmodel.cpp:244 src/models/actionsmodel.cpp:301
#, fuzzy
#| msgid "joined the room"
msgid "Joins the given room"
msgstr "csatlakozott a szobához"
#: src/models/actionsmodel.cpp:265
#: src/models/actionsmodel.cpp:264
#, fuzzy, kde-format
#| msgid "Configure room"
msgctxt "Knocking room <roomname>."
msgid "Knocking room %1."
msgstr "Szoba beállítása"
#: src/models/actionsmodel.cpp:277
#: src/models/actionsmodel.cpp:276
#, fuzzy
#| msgctxt "@label Parameter of a command"
#| msgid "<user-id>"
msgid "<room alias or id> [<reason>]"
msgstr "<felhasználóazonosító>"
#: src/models/actionsmodel.cpp:278
#: src/models/actionsmodel.cpp:277
#, fuzzy
#| msgid "joined the room"
msgid "Requests to join the given room"
msgstr "csatlakozott a szobához"
#: src/models/actionsmodel.cpp:292
#: src/models/actionsmodel.cpp:291
#, kde-format
msgctxt "You are already in room <roomname>."
msgid "You are already in room %1."
msgstr ""
#: src/models/actionsmodel.cpp:309 src/models/actionsmodel.cpp:317
#: src/models/actionsmodel.cpp:308 src/models/actionsmodel.cpp:316
msgid "[<room alias or id>]"
msgstr ""
#: src/models/actionsmodel.cpp:310 src/models/actionsmodel.cpp:318
#: src/models/actionsmodel.cpp:309 src/models/actionsmodel.cpp:317
msgid "Leaves the given room or this room, if there is none given"
msgstr ""
#: src/models/actionsmodel.cpp:332 src/models/actionsmodel.cpp:340
#: src/models/actionsmodel.cpp:348
#: src/models/actionsmodel.cpp:331 src/models/actionsmodel.cpp:339
#: src/models/actionsmodel.cpp:347
msgid "<display name>"
msgstr ""
#: src/models/actionsmodel.cpp:333
#: src/models/actionsmodel.cpp:332
#, fuzzy
#| msgctxt "their refers to a singular user"
#| msgid "changed their display name to %1"
msgid "Changes your global display name"
msgstr "megváltoztatta a megjelenített nevét erre: %1"
#: src/models/actionsmodel.cpp:341 src/models/actionsmodel.cpp:349
#: src/models/actionsmodel.cpp:340 src/models/actionsmodel.cpp:348
#, fuzzy
#| msgctxt "their refers to a singular user"
#| msgid "changed their display name to %1"
msgid "Changes your display name in this room"
msgstr "megváltoztatta a megjelenített nevét erre: %1"
#: src/models/actionsmodel.cpp:363
#: src/models/actionsmodel.cpp:362
#, kde-format
msgctxt "<username> is already ignored."
msgid "%1 is already ignored."
msgstr ""
#: src/models/actionsmodel.cpp:368
#: src/models/actionsmodel.cpp:367
#, kde-format
msgctxt "<username> is now ignored"
msgid "%1 is now ignored."
msgstr ""
#: src/models/actionsmodel.cpp:370 src/models/actionsmodel.cpp:398
#: src/models/actionsmodel.cpp:369 src/models/actionsmodel.cpp:397
#, kde-format
msgctxt "<username> is not a known user"
msgid "%1 is not a known user."
msgstr ""
#: src/models/actionsmodel.cpp:377
#: src/models/actionsmodel.cpp:376
#, fuzzy
#| msgid "Ignore this user"
msgid "Ignores the given user"
msgstr "Figyelmen kívül hagyás"
#: src/models/actionsmodel.cpp:392
#: src/models/actionsmodel.cpp:391
#, kde-format
msgctxt "<username> is not ignored."
msgid "%1 is not ignored."
msgstr ""
#: src/models/actionsmodel.cpp:396
#: src/models/actionsmodel.cpp:395
#, kde-format
msgctxt "<username> is no longer ignored."
msgid "%1 is no longer ignored."
msgstr ""
#: src/models/actionsmodel.cpp:405
#: src/models/actionsmodel.cpp:404
#, fuzzy
#| msgid "Unignore this user"
msgid "Unignores the given user"
msgstr "Figyelmen kívül hagyás feloldása"
#: src/models/actionsmodel.cpp:425
#: src/models/actionsmodel.cpp:424
msgid "<reaction text>"
msgstr ""
#: src/models/actionsmodel.cpp:426
#: src/models/actionsmodel.cpp:425
#, fuzzy
#| msgid "React to this message with a text"
msgid "React to the message with the given text"
msgstr "Válasz erre az üzenetre szöveggel"
#: src/models/actionsmodel.cpp:442
#: src/models/actionsmodel.cpp:441
#, fuzzy, kde-format
#| msgid "self-banned from the room"
msgctxt "<user> is already banned from this room."
msgid "%1 is already banned from this room."
msgstr "kitiltotta magát a szobából"
#: src/models/actionsmodel.cpp:448
#: src/models/actionsmodel.cpp:447
#, fuzzy, kde-format
#| msgid "Open NeoChat in this room"
msgid "You are not allowed to ban users from this room."
msgstr "NeoChat megnyitása ebben a szobában"
#: src/models/actionsmodel.cpp:454
#: src/models/actionsmodel.cpp:453
#, fuzzy, kde-format
#| msgid "Open NeoChat in this room"
msgctxt "You are not allowed to ban <username> from this room."
msgid "You are not allowed to ban %1 from this room."
msgstr "NeoChat megnyitása ebben a szobában"
#: src/models/actionsmodel.cpp:458
#: src/models/actionsmodel.cpp:457
#, fuzzy, kde-format
#| msgid "self-banned from the room"
msgctxt "<username> was banned from this room."
msgid "%1 was banned from this room."
msgstr "kitiltotta magát a szobából"
#: src/models/actionsmodel.cpp:463 src/models/actionsmodel.cpp:538
#: src/models/actionsmodel.cpp:462 src/models/actionsmodel.cpp:537
#, fuzzy
#| msgctxt "@label Parameter of a command"
#| msgid "<user-id>"
msgid "<user id> [<reason>]"
msgstr "<felhasználóazonosító>"
#: src/models/actionsmodel.cpp:464
#: src/models/actionsmodel.cpp:463
#, fuzzy
#| msgid "Ignore this user"
msgid "Bans the given user"
msgstr "Figyelmen kívül hagyás"
#: src/models/actionsmodel.cpp:478
#: src/models/actionsmodel.cpp:477
#, fuzzy, kde-format
#| msgid "Open NeoChat in this room"
msgid "You are not allowed to unban users from this room."
msgstr "NeoChat megnyitása ebben a szobában"
#: src/models/actionsmodel.cpp:484
#: src/models/actionsmodel.cpp:483
#, fuzzy, kde-format
#| msgid "self-banned from the room"
msgctxt "<user> is not banned from this room."
msgid "%1 is not banned from this room."
msgstr "kitiltotta magát a szobából"
#: src/models/actionsmodel.cpp:489
#: src/models/actionsmodel.cpp:488
#, fuzzy, kde-format
#| msgid "self-banned from the room"
msgctxt "<username> was unbanned from this room."
msgid "%1 was unbanned from this room."
msgstr "kitiltotta magát a szobából"
#: src/models/actionsmodel.cpp:496
#: src/models/actionsmodel.cpp:495
#, fuzzy
#| msgid "Ignore this user"
msgid "Removes the ban of the given user"
msgstr "Figyelmen kívül hagyás"
#: src/models/actionsmodel.cpp:511
#: src/models/actionsmodel.cpp:510
#, kde-format
msgid "You cannot kick yourself from the room."
msgstr ""
#: src/models/actionsmodel.cpp:516
#: src/models/actionsmodel.cpp:515
#, fuzzy, kde-format
#| msgid "Open NeoChat in this room"
msgctxt "<username> is not in this room"
msgid "%1 is not in this room."
msgstr "NeoChat megnyitása ebben a szobában"
#: src/models/actionsmodel.cpp:523
#: src/models/actionsmodel.cpp:522
#, fuzzy, kde-format
#| msgid "Open NeoChat in this room"
msgid "You are not allowed to kick users from this room."
msgstr "NeoChat megnyitása ebben a szobában"
#: src/models/actionsmodel.cpp:529
#: src/models/actionsmodel.cpp:528
#, fuzzy, kde-format
#| msgid "Open NeoChat in this room"
msgctxt "You are not allowed to kick <username> from this room"
msgid "You are not allowed to kick %1 from this room."
msgstr "NeoChat megnyitása ebben a szobában"
#: src/models/actionsmodel.cpp:533
#: src/models/actionsmodel.cpp:532
#, fuzzy, kde-format
#| msgid "self-banned from the room"
msgctxt "<username> was kicked from this room."
msgid "%1 was kicked from this room."
msgstr "kitiltotta magát a szobából"
#: src/models/actionsmodel.cpp:539
#: src/models/actionsmodel.cpp:538
#, fuzzy
#| msgid "invited %1 to the room"
msgid "Removes the user from the room"
@@ -1947,29 +1947,29 @@ msgstr "Egy privát csevegés megnyitása"
msgid "Copy link"
msgstr "Másolás"
#: src/qml/main.qml:128
#: src/qml/main.qml:124
#, kde-format
msgid "Warning: %1"
msgstr "Figyelmeztetés: %1"
#: src/qml/main.qml:267
#: src/qml/main.qml:263
#, kde-format
msgid "%1: %2"
msgstr "%1: %2"
#: src/qml/main.qml:308
#: src/qml/main.qml:304
#, fuzzy, kde-format
#| msgid "Show notifications"
msgctxt "@title:window"
msgid "Session Verification"
msgstr "Értesítések megjelenítése"
#: src/qml/main.qml:318
#: src/qml/main.qml:314
#, kde-format
msgid "User consent"
msgstr "Felhasználói hozzájárulás"
#: src/qml/main.qml:323
#: src/qml/main.qml:319
#, kde-format
msgid ""
"Your homeserver requires you to agree to its terms and conditions before "
@@ -1978,17 +1978,17 @@ msgstr ""
"A kezdőkiszolgálója a használati feltételek elfogadását kéri, mielőtt "
"használhatná azt. Kattintson a lenti gombra az elolvasásukhoz."
#: src/qml/main.qml:328
#: src/qml/main.qml:324
#, kde-format
msgid "Open"
msgstr "Megnyitás"
#: src/qml/main.qml:357
#: src/qml/main.qml:353
#, kde-format
msgid "Start a chat"
msgstr "Csevegés indítása"
#: src/qml/main.qml:359
#: src/qml/main.qml:355
#, kde-format
msgid "Do you want to start a chat with %1?"
msgstr "Szeretnél csevegést indítani vele: %1 ?"
@@ -4045,34 +4045,34 @@ msgstr ""
"A szoba ' %1 ' nem található a szobakönyvtárban. Ellenőrizze a helyesírást "
"és a fiókot."
#: src/roommanager.cpp:210
#: src/roommanager.cpp:208
#, fuzzy, kde-format
#| msgid "invited %1 to the room"
msgid "Failed to join room"
msgstr "meghívta őt a szobába: %1"
#: src/roommanager.cpp:227
#: src/roommanager.cpp:225
#, kde-format
msgid "You requested to join '%1'"
msgstr ""
#: src/roommanager.cpp:230
#: src/roommanager.cpp:228
#, fuzzy, kde-format
#| msgid "invited %1 to the room"
msgid "Failed to request joining room"
msgstr "meghívta őt a szobába: %1"
#: src/roommanager.cpp:240
#: src/roommanager.cpp:238
#, kde-format
msgid "No application for the link"
msgstr "Nincs megfelelő alkalmazás a linkhez"
#: src/roommanager.cpp:240
#: src/roommanager.cpp:238
#, kde-format
msgid "Your operating system could not find an application for the link."
msgstr "Az operációs rendszere nem talált alkalmazást a hivatkozáshoz."
#: src/roommanager.cpp:246
#: src/roommanager.cpp:244
#, kde-format
msgid "Could not open URL"
msgstr ""

View File

@@ -6,8 +6,8 @@ msgid ""
msgstr ""
"Project-Id-Version: neochat\n"
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
"POT-Creation-Date: 2023-04-11 00:48+0000\n"
"PO-Revision-Date: 2023-03-23 12:00+0100\n"
"POT-Creation-Date: 2023-04-13 00:49+0000\n"
"PO-Revision-Date: 2023-04-14 23:16+0200\n"
"Last-Translator: giovanni <g.sora@tiscali.it>\n"
"Language-Team: Interlingua <kde-i18n-doc@kde.org>\n"
"Language: ia\n"
@@ -15,7 +15,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Lokalize 21.12.3\n"
"X-Generator: Lokalize 23.03.90\n"
#: src/controller.cpp:198
#, kde-format
@@ -222,311 +222,311 @@ msgstr "Id de media \"%1\" non seque patrono servitor/idMedia"
msgid "Image request has been cancelled"
msgstr "Requesta de image ha essite annullate"
#: src/models/actionsmodel.cpp:24
#: src/models/actionsmodel.cpp:23
#, kde-format
msgid "Leaving this room."
msgstr "Lassar iste sala"
#: src/models/actionsmodel.cpp:31 src/models/actionsmodel.cpp:230
#: src/models/actionsmodel.cpp:257 src/models/actionsmodel.cpp:288
#: src/models/actionsmodel.cpp:30 src/models/actionsmodel.cpp:229
#: src/models/actionsmodel.cpp:256 src/models/actionsmodel.cpp:287
#, 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:38
#, kde-format
msgctxt "Leaving room <roomname>."
msgid "Leaving room %1."
msgstr "Lassar sala %1."
#: src/models/actionsmodel.cpp:42
#: src/models/actionsmodel.cpp:41
#, kde-format
msgctxt "Room <roomname> not found"
msgid "Room %1 not found."
msgstr "Sala %1 non trovate"
#: src/models/actionsmodel.cpp:50 src/models/actionsmodel.cpp:324
#: src/models/actionsmodel.cpp:49 src/models/actionsmodel.cpp:323
#, 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:64 src/models/actionsmodel.cpp:74
#: src/models/actionsmodel.cpp:84 src/models/actionsmodel.cpp:94
#: src/models/actionsmodel.cpp:114 src/models/actionsmodel.cpp:134
#: src/models/actionsmodel.cpp:145 src/models/actionsmodel.cpp:161
#: src/models/actionsmodel.cpp:171 src/models/actionsmodel.cpp:181
msgid "<message>"
msgstr "<message>"
#: src/models/actionsmodel.cpp:66
#: src/models/actionsmodel.cpp:65
msgid "Prepends ¯\\_(ツ)_/¯ to a plain-text message"
msgstr "Antepone ¯\\_(ツ)_/¯ a un message de texto plan"
#: src/models/actionsmodel.cpp:76
#: src/models/actionsmodel.cpp:75
msgid "Prepends ( ͡° ͜ʖ ͡°) to a plain-text message"
msgstr "Antepone ( ͡° ͜ʖ ͡°) a unmessage de texto plan"
#: src/models/actionsmodel.cpp:86
#: src/models/actionsmodel.cpp:85
msgid "Prepends (╯°□°)╯︵ ┻━┻ to a plain-text message"
msgstr "Antepone (╯°□°)╯︵ ┻━┻ a un message de texto plan"
#: src/models/actionsmodel.cpp:96
#: src/models/actionsmodel.cpp:95
msgid "Prepends ┬──┬ ( ゜-゜ノ) to a plain-text message"
msgstr "Antepone ┬──┬ ( ゜-゜ノ) a un message te texto plan"
#: src/models/actionsmodel.cpp:116
#: src/models/actionsmodel.cpp:115
msgid "Sends the given message colored as a rainbow"
msgstr "Invia le date message colorate como un iris "
#: src/models/actionsmodel.cpp:136
#: src/models/actionsmodel.cpp:135
msgid "Sends the given emote colored as a rainbow"
msgstr "Invia le date message \"emote\" como un iris"
#: src/models/actionsmodel.cpp:147
#: src/models/actionsmodel.cpp:146
msgid "Sends the given message as plain text"
msgstr "Invia le message date como texto plan"
#: src/models/actionsmodel.cpp:163
#: src/models/actionsmodel.cpp:162
msgid "Sends the given message as a spoiler"
msgstr "Invia le message date como un spoiler (guastator)"
#: src/models/actionsmodel.cpp:173
#: src/models/actionsmodel.cpp:172
msgid "Sends the given emote"
msgstr "Invia le message date \"emote\""
#: src/models/actionsmodel.cpp:183
#: src/models/actionsmodel.cpp:182
msgid "Sends the given message as a notice"
msgstr "Invia le message date como un nova"
#: src/models/actionsmodel.cpp:192 src/models/actionsmodel.cpp:358
#: src/models/actionsmodel.cpp:386 src/models/actionsmodel.cpp:436
#: src/models/actionsmodel.cpp:473 src/models/actionsmodel.cpp:507
#: src/models/actionsmodel.cpp:191 src/models/actionsmodel.cpp:357
#: src/models/actionsmodel.cpp:385 src/models/actionsmodel.cpp:435
#: src/models/actionsmodel.cpp:472 src/models/actionsmodel.cpp:506
#, 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:198
#: src/models/actionsmodel.cpp:197
#, kde-format
msgctxt "<user> is already invited to this room."
msgid "%1 is already invited to this room."
msgstr "%1 ja es invitate a iste sala"
#: src/models/actionsmodel.cpp:202
#: src/models/actionsmodel.cpp:201
#, kde-format
msgctxt "<user> is banned from this room."
msgid "%1 is banned from this room."
msgstr "%1 es excludite (banned) ex iste sala"
#: src/models/actionsmodel.cpp:207
#: src/models/actionsmodel.cpp:206
#, kde-format
msgid "You are already in this room."
msgstr "Tu ja es in iste sala"
#: src/models/actionsmodel.cpp:211
#: 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 in iste sala"
#: src/models/actionsmodel.cpp:215
#: src/models/actionsmodel.cpp:214
#, kde-format
msgctxt "<username> was invited into this room"
msgid "%1 was invited into this room"
msgstr "%1 esseva invitate in iste sala"
#: src/models/actionsmodel.cpp:220 src/models/actionsmodel.cpp:376
#: src/models/actionsmodel.cpp:404 src/models/actionsmodel.cpp:495
#: src/models/actionsmodel.cpp:219 src/models/actionsmodel.cpp:375
#: src/models/actionsmodel.cpp:403 src/models/actionsmodel.cpp:494
msgid "<user id>"
msgstr ""
#: src/models/actionsmodel.cpp:221
#: src/models/actionsmodel.cpp:220
msgid "Invites the user to this room"
msgstr "Invita le usator a iste sala"
#: src/models/actionsmodel.cpp:238 src/models/actionsmodel.cpp:295
#: src/models/actionsmodel.cpp:237 src/models/actionsmodel.cpp:294
#, kde-format
msgctxt "Joining room <roomname>."
msgid "Joining room %1."
msgstr "Uni sala %1"
#: src/models/actionsmodel.cpp:244 src/models/actionsmodel.cpp:301
#: src/models/actionsmodel.cpp:243 src/models/actionsmodel.cpp:300
msgid "<room alias or id>"
msgstr ""
#: src/models/actionsmodel.cpp:245 src/models/actionsmodel.cpp:302
#: src/models/actionsmodel.cpp:244 src/models/actionsmodel.cpp:301
msgid "Joins the given room"
msgstr "Uni le date sala"
#: src/models/actionsmodel.cpp:265
#: src/models/actionsmodel.cpp:264
#, kde-format
msgctxt "Knocking room <roomname>."
msgid "Knocking room %1."
msgstr "Colpar sala %1."
#: src/models/actionsmodel.cpp:277
#: src/models/actionsmodel.cpp:276
msgid "<room alias or id> [<reason>]"
msgstr ""
#: src/models/actionsmodel.cpp:278
#: src/models/actionsmodel.cpp:277
msgid "Requests to join the given room"
msgstr "Requesta a unir le date sala"
#: src/models/actionsmodel.cpp:292
#: src/models/actionsmodel.cpp:291
#, kde-format
msgctxt "You are already in room <roomname>."
msgid "You are already in room %1."
msgstr ""
#: src/models/actionsmodel.cpp:309 src/models/actionsmodel.cpp:317
#: src/models/actionsmodel.cpp:308 src/models/actionsmodel.cpp:316
msgid "[<room alias or id>]"
msgstr ""
#: src/models/actionsmodel.cpp:310 src/models/actionsmodel.cpp:318
#: src/models/actionsmodel.cpp:309 src/models/actionsmodel.cpp:317
msgid "Leaves the given room or this room, if there is none given"
msgstr ""
#: src/models/actionsmodel.cpp:332 src/models/actionsmodel.cpp:340
#: src/models/actionsmodel.cpp:348
#: src/models/actionsmodel.cpp:331 src/models/actionsmodel.cpp:339
#: src/models/actionsmodel.cpp:347
msgid "<display name>"
msgstr ""
#: src/models/actionsmodel.cpp:333
#: src/models/actionsmodel.cpp:332
msgid "Changes your global display name"
msgstr "Cambiate tu nomine de monstrar global"
#: src/models/actionsmodel.cpp:341 src/models/actionsmodel.cpp:349
#: src/models/actionsmodel.cpp:340 src/models/actionsmodel.cpp:348
msgid "Changes your display name in this room"
msgstr "Cambiate tu nomine de monstrar in iste sala"
#: src/models/actionsmodel.cpp:363
#: src/models/actionsmodel.cpp:362
#, kde-format
msgctxt "<username> is already ignored."
msgid "%1 is already ignored."
msgstr ""
#: src/models/actionsmodel.cpp:368
#: src/models/actionsmodel.cpp:367
#, kde-format
msgctxt "<username> is now ignored"
msgid "%1 is now ignored."
msgstr ""
#: src/models/actionsmodel.cpp:370 src/models/actionsmodel.cpp:398
#: src/models/actionsmodel.cpp:369 src/models/actionsmodel.cpp:397
#, kde-format
msgctxt "<username> is not a known user"
msgid "%1 is not a known user."
msgstr ""
#: src/models/actionsmodel.cpp:377
#: src/models/actionsmodel.cpp:376
msgid "Ignores the given user"
msgstr "Ignora le usator date"
#: src/models/actionsmodel.cpp:392
#: src/models/actionsmodel.cpp:391
#, kde-format
msgctxt "<username> is not ignored."
msgid "%1 is not ignored."
msgstr ""
#: src/models/actionsmodel.cpp:396
#: src/models/actionsmodel.cpp:395
#, kde-format
msgctxt "<username> is no longer ignored."
msgid "%1 is no longer ignored."
msgstr ""
#: src/models/actionsmodel.cpp:405
#: src/models/actionsmodel.cpp:404
msgid "Unignores the given user"
msgstr "Cessa a ignorar le usator date"
#: src/models/actionsmodel.cpp:425
#: src/models/actionsmodel.cpp:424
msgid "<reaction text>"
msgstr ""
#: src/models/actionsmodel.cpp:426
#: src/models/actionsmodel.cpp:425
msgid "React to the message with the given text"
msgstr "Reage al message con le texto date"
#: src/models/actionsmodel.cpp:442
#: src/models/actionsmodel.cpp:441
#, kde-format
msgctxt "<user> is already banned from this room."
msgid "%1 is already banned from this room."
msgstr "%1 ja es excludite (banned) ab iste sala"
#: src/models/actionsmodel.cpp:448
#: src/models/actionsmodel.cpp:447
#, kde-format
msgid "You are not allowed to ban users from this room."
msgstr "Tu non es permittite a prohiber (bannar) usatores ab iste sala."
#: src/models/actionsmodel.cpp:454
#: src/models/actionsmodel.cpp:453
#, 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 "Tu non es permittite a prohiber (bannar) %1 ab iste sala."
#: src/models/actionsmodel.cpp:458
#: src/models/actionsmodel.cpp:457
#, kde-format
msgctxt "<username> was banned from this room."
msgid "%1 was banned from this room."
msgstr "%1 esseva excludite (self-banned) ab iste sala"
#: src/models/actionsmodel.cpp:463 src/models/actionsmodel.cpp:538
#: src/models/actionsmodel.cpp:462 src/models/actionsmodel.cpp:537
msgid "<user id> [<reason>]"
msgstr ""
#: src/models/actionsmodel.cpp:464
#: src/models/actionsmodel.cpp:463
msgid "Bans the given user"
msgstr "Ignora le usator date"
#: src/models/actionsmodel.cpp:478
#: src/models/actionsmodel.cpp:477
#, kde-format
msgid "You are not allowed to unban users from this room."
msgstr "Tu non es permittite a de-prohiber (de-bannar) usatores ab iste sala."
#: src/models/actionsmodel.cpp:484
#: src/models/actionsmodel.cpp:483
#, kde-format
msgctxt "<user> is not banned from this room."
msgid "%1 is not banned from this room."
msgstr "%1 non es excludite (self-banned) ab iste sala"
#: src/models/actionsmodel.cpp:489
#: src/models/actionsmodel.cpp:488
#, kde-format
msgctxt "<username> was unbanned from this room."
msgid "%1 was unbanned from this room."
msgstr "%1 esseva readmittite (unbanned) ab le sala."
#: src/models/actionsmodel.cpp:496
#: src/models/actionsmodel.cpp:495
msgid "Removes the ban of the given user"
msgstr "Il remove le interdiction del usator date"
#: src/models/actionsmodel.cpp:511
#: src/models/actionsmodel.cpp:510
#, kde-format
msgid "You cannot kick yourself from the room."
msgstr ""
#: src/models/actionsmodel.cpp:516
#: src/models/actionsmodel.cpp:515
#, kde-format
msgctxt "<username> is not in this room"
msgid "%1 is not in this room."
msgstr "%1 non es in iste sala."
#: src/models/actionsmodel.cpp:523
#: src/models/actionsmodel.cpp:522
#, kde-format
msgid "You are not allowed to kick users from this room."
msgstr "Tu non es permittite calcar usatores ex iste sala."
#: src/models/actionsmodel.cpp:529
#: src/models/actionsmodel.cpp:528
#, 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 "Tu non es permittite calcar %1 ex iste sala."
#: src/models/actionsmodel.cpp:533
#: src/models/actionsmodel.cpp:532
#, kde-format
msgctxt "<username> was kicked from this room."
msgid "%1 was kicked from this room."
msgstr "%1 esseva colpate (kicked) ab iste sala."
#: src/models/actionsmodel.cpp:539
#: src/models/actionsmodel.cpp:538
msgid "Removes the user from the room"
msgstr "Il remove le usator ab le sala"
@@ -1815,28 +1815,28 @@ msgstr "Aperi in conversation private"
msgid "Copy link"
msgstr "Copia Ligamine"
#: src/qml/main.qml:128
#: src/qml/main.qml:124
#, kde-format
msgid "Warning: %1"
msgstr "Aviso: %1"
#: src/qml/main.qml:267
#: src/qml/main.qml:263
#, kde-format
msgid "%1: %2"
msgstr "%1: %2"
#: src/qml/main.qml:308
#: src/qml/main.qml:304
#, kde-format
msgctxt "@title:window"
msgid "Session Verification"
msgstr "Veification de Session"
#: src/qml/main.qml:318
#: src/qml/main.qml:314
#, kde-format
msgid "User consent"
msgstr "Consenso de usator"
#: src/qml/main.qml:323
#: src/qml/main.qml:319
#, kde-format
msgid ""
"Your homeserver requires you to agree to its terms and conditions before "
@@ -1846,17 +1846,17 @@ msgstr ""
"conditiones ante poter usar lo. Pro favor tu clicca le button a basso per "
"leger los."
#: src/qml/main.qml:328
#: src/qml/main.qml:324
#, kde-format
msgid "Open"
msgstr "Aperi"
#: src/qml/main.qml:357
#: src/qml/main.qml:353
#, kde-format
msgid "Start a chat"
msgstr "Initia un conversation"
#: src/qml/main.qml:359
#: src/qml/main.qml:355
#, kde-format
msgid "Do you want to start a chat with %1?"
msgstr "Tu vole initiar un conversation con %1"
@@ -2696,17 +2696,14 @@ msgid "Invite user to room"
msgstr "Invita usator a sala"
#: src/qml/Panel/RoomDrawer.qml:265
#, fuzzy, kde-format
#| msgid "%1 Member"
#| msgid_plural "%1 Members"
#, kde-format
msgid "%1 member"
msgid_plural "%1 members"
msgstr[0] "%1 Member"
msgstr[1] "%1 Membros"
#: src/qml/Panel/RoomDrawer.qml:265
#, fuzzy, kde-format
#| msgid "No Member Count"
#, kde-format
msgid "No member count"
msgstr "Necun computo de membro"
@@ -3785,32 +3782,32 @@ msgstr ""
"Il non ha sala %1 in le lista de sala. Verifica le orthographia (spelling) e "
"le conto."
#: src/roommanager.cpp:210
#: src/roommanager.cpp:208
#, kde-format
msgid "Failed to join room"
msgstr "Falleva a unir sala"
#: src/roommanager.cpp:227
#: src/roommanager.cpp:225
#, kde-format
msgid "You requested to join '%1'"
msgstr ""
#: src/roommanager.cpp:230
#: src/roommanager.cpp:228
#, kde-format
msgid "Failed to request joining room"
msgstr "Il falleva a requirer unir sala"
#: src/roommanager.cpp:240
#: src/roommanager.cpp:238
#, kde-format
msgid "No application for the link"
msgstr "Necun application per le ligamine"
#: src/roommanager.cpp:240
#: src/roommanager.cpp:238
#, kde-format
msgid "Your operating system could not find an application for the link."
msgstr "Tu systema operative non poteva trovar un application per le ligamine."
#: src/roommanager.cpp:246
#: src/roommanager.cpp:244
#, kde-format
msgid "Could not open URL"
msgstr "Non pote aperir URL"

View File

@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: neochat\n"
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
"POT-Creation-Date: 2023-04-11 00:48+0000\n"
"POT-Creation-Date: 2023-04-13 00:49+0000\n"
"PO-Revision-Date: 2023-02-15 16:40+0700\n"
"Last-Translator: Linerly <linerly@protonmail.com>\n"
"Language-Team: Indonesian <kde-i18n-doc@kde.org>\n"
@@ -221,144 +221,144 @@ msgstr "ID media '%1' tidak mengikuti pola server/mediaId"
msgid "Image request has been cancelled"
msgstr "Permintaan gambar telah dibatalkan"
#: src/models/actionsmodel.cpp:24
#: src/models/actionsmodel.cpp:23
#, kde-format
msgid "Leaving this room."
msgstr "Meninggalkan ruangan ini."
#: src/models/actionsmodel.cpp:31 src/models/actionsmodel.cpp:230
#: src/models/actionsmodel.cpp:257 src/models/actionsmodel.cpp:288
#: src/models/actionsmodel.cpp:30 src/models/actionsmodel.cpp:229
#: src/models/actionsmodel.cpp:256 src/models/actionsmodel.cpp:287
#, 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' sepertinya bukan ID ruangan atau alias."
#: src/models/actionsmodel.cpp:39
#: src/models/actionsmodel.cpp:38
#, kde-format
msgctxt "Leaving room <roomname>."
msgid "Leaving room %1."
msgstr "Meninggalkan dari ruangan %1"
#: src/models/actionsmodel.cpp:42
#: src/models/actionsmodel.cpp:41
#, kde-format
msgctxt "Room <roomname> not found"
msgid "Room %1 not found."
msgstr "Ruangan %1 tidak ditemukan."
#: src/models/actionsmodel.cpp:50 src/models/actionsmodel.cpp:324
#: src/models/actionsmodel.cpp:49 src/models/actionsmodel.cpp:323
#, kde-format
msgid "No new nickname provided, no changes will happen."
msgstr "Tidak ada nama panggilan baru, tidak ada perubahan yang terjadi."
#: 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:64 src/models/actionsmodel.cpp:74
#: src/models/actionsmodel.cpp:84 src/models/actionsmodel.cpp:94
#: src/models/actionsmodel.cpp:114 src/models/actionsmodel.cpp:134
#: src/models/actionsmodel.cpp:145 src/models/actionsmodel.cpp:161
#: src/models/actionsmodel.cpp:171 src/models/actionsmodel.cpp:181
msgid "<message>"
msgstr "<pesan>"
#: src/models/actionsmodel.cpp:66
#: src/models/actionsmodel.cpp:65
msgid "Prepends ¯\\_(ツ)_/¯ to a plain-text message"
msgstr "Menambahkan ¯\\_(ツ)_/¯ ke pesan teks biasa"
#: src/models/actionsmodel.cpp:76
#: src/models/actionsmodel.cpp:75
msgid "Prepends ( ͡° ͜ʖ ͡°) to a plain-text message"
msgstr "Menambahkan ( ͡° ͜ʖ ͡°) ke pesan teks biasa"
#: src/models/actionsmodel.cpp:86
#: src/models/actionsmodel.cpp:85
msgid "Prepends (╯°□°)╯︵ ┻━┻ to a plain-text message"
msgstr "Menambahkan (╯°□°)╯︵ ┻━┻ ke pesan teks biasa"
#: src/models/actionsmodel.cpp:96
#: src/models/actionsmodel.cpp:95
msgid "Prepends ┬──┬ ( ゜-゜ノ) to a plain-text message"
msgstr "Menambahkan ┬──┬ ( ゜-゜ノ) ke pesan teks biasa"
#: src/models/actionsmodel.cpp:116
#: src/models/actionsmodel.cpp:115
msgid "Sends the given message colored as a rainbow"
msgstr "Mengirim pesan berwarna pelangi"
#: src/models/actionsmodel.cpp:136
#: src/models/actionsmodel.cpp:135
msgid "Sends the given emote colored as a rainbow"
msgstr "Mengirim emote berwarna pelangi"
#: src/models/actionsmodel.cpp:147
#: src/models/actionsmodel.cpp:146
msgid "Sends the given message as plain text"
msgstr "Mengirim pesan sebagai teks biasa"
#: src/models/actionsmodel.cpp:163
#: src/models/actionsmodel.cpp:162
msgid "Sends the given message as a spoiler"
msgstr "Mengirim pesan sebagai bocoran"
#: src/models/actionsmodel.cpp:173
#: src/models/actionsmodel.cpp:172
msgid "Sends the given emote"
msgstr "Mengirim emote"
#: src/models/actionsmodel.cpp:183
#: src/models/actionsmodel.cpp:182
msgid "Sends the given message as a notice"
msgstr "Mengirim pesan sebagai pemberitahuan"
#: src/models/actionsmodel.cpp:192 src/models/actionsmodel.cpp:358
#: src/models/actionsmodel.cpp:386 src/models/actionsmodel.cpp:436
#: src/models/actionsmodel.cpp:473 src/models/actionsmodel.cpp:507
#: src/models/actionsmodel.cpp:191 src/models/actionsmodel.cpp:357
#: src/models/actionsmodel.cpp:385 src/models/actionsmodel.cpp:435
#: src/models/actionsmodel.cpp:472 src/models/actionsmodel.cpp:506
#, kde-format
msgctxt "'<text>' does not look like a matrix id."
msgid "'%1' does not look like a matrix id."
msgstr "'%1' sepertinya bukan sebuah ID Matrix."
#: src/models/actionsmodel.cpp:198
#: src/models/actionsmodel.cpp:197
#, kde-format
msgctxt "<user> is already invited to this room."
msgid "%1 is already invited to this room."
msgstr "%1 sudah diundang ke ruangan ini."
#: src/models/actionsmodel.cpp:202
#: src/models/actionsmodel.cpp:201
#, kde-format
msgctxt "<user> is banned from this room."
msgid "%1 is banned from this room."
msgstr "%1 dicekal dari ruangan ini."
#: src/models/actionsmodel.cpp:207
#: src/models/actionsmodel.cpp:206
#, kde-format
msgid "You are already in this room."
msgstr "Anda sudah ada di ruangan ini"
#: src/models/actionsmodel.cpp:211
#: src/models/actionsmodel.cpp:210
#, kde-format
msgctxt "<user> is already in this room."
msgid "%1 is already in this room."
msgstr "%1 sudah ada di ruangan ini."
#: src/models/actionsmodel.cpp:215
#: src/models/actionsmodel.cpp:214
#, kde-format
msgctxt "<username> was invited into this room"
msgid "%1 was invited into this room"
msgstr "%1 diundang ke ruangan ini"
#: src/models/actionsmodel.cpp:220 src/models/actionsmodel.cpp:376
#: src/models/actionsmodel.cpp:404 src/models/actionsmodel.cpp:495
#: src/models/actionsmodel.cpp:219 src/models/actionsmodel.cpp:375
#: src/models/actionsmodel.cpp:403 src/models/actionsmodel.cpp:494
msgid "<user id>"
msgstr "<id pengguna>"
#: src/models/actionsmodel.cpp:221
#: src/models/actionsmodel.cpp:220
msgid "Invites the user to this room"
msgstr "Mengundang pengguna ke ruangan ini"
#: src/models/actionsmodel.cpp:238 src/models/actionsmodel.cpp:295
#: src/models/actionsmodel.cpp:237 src/models/actionsmodel.cpp:294
#, kde-format
msgctxt "Joining room <roomname>."
msgid "Joining room %1."
msgstr "Bergabung ke ruangan %1."
#: src/models/actionsmodel.cpp:244 src/models/actionsmodel.cpp:301
#: src/models/actionsmodel.cpp:243 src/models/actionsmodel.cpp:300
msgid "<room alias or id>"
msgstr "<alias ruangan atau id>"
#: src/models/actionsmodel.cpp:245 src/models/actionsmodel.cpp:302
#: src/models/actionsmodel.cpp:244 src/models/actionsmodel.cpp:301
msgid "Joins the given room"
msgstr "Bergabung ke ruangan yang ditetapkan"
#: src/models/actionsmodel.cpp:265
#: src/models/actionsmodel.cpp:264
#, fuzzy, kde-format
#| msgctxt "Joining room <roomname>."
#| msgid "Joining room %1."
@@ -366,175 +366,175 @@ msgctxt "Knocking room <roomname>."
msgid "Knocking room %1."
msgstr "Bergabung ke ruangan %1."
#: src/models/actionsmodel.cpp:277
#: src/models/actionsmodel.cpp:276
#, fuzzy
#| msgid "[<room alias or id>]"
msgid "<room alias or id> [<reason>]"
msgstr "[<alias ruangan atau id>]"
#: src/models/actionsmodel.cpp:278
#: src/models/actionsmodel.cpp:277
#, fuzzy
#| msgid "Joins the given room"
msgid "Requests to join the given room"
msgstr "Bergabung ke ruangan yang ditetapkan"
#: src/models/actionsmodel.cpp:292
#: src/models/actionsmodel.cpp:291
#, kde-format
msgctxt "You are already in room <roomname>."
msgid "You are already in room %1."
msgstr "Anda sudah ada di ruangan %1."
#: src/models/actionsmodel.cpp:309 src/models/actionsmodel.cpp:317
#: src/models/actionsmodel.cpp:308 src/models/actionsmodel.cpp:316
msgid "[<room alias or id>]"
msgstr "[<alias ruangan atau id>]"
#: src/models/actionsmodel.cpp:310 src/models/actionsmodel.cpp:318
#: src/models/actionsmodel.cpp:309 src/models/actionsmodel.cpp:317
msgid "Leaves the given room or this room, if there is none given"
msgstr ""
"Meninggalkan ruangan yang ditetapkan atau ruangan ini, jika tidak ada yang "
"ditetapkan"
#: src/models/actionsmodel.cpp:332 src/models/actionsmodel.cpp:340
#: src/models/actionsmodel.cpp:348
#: src/models/actionsmodel.cpp:331 src/models/actionsmodel.cpp:339
#: src/models/actionsmodel.cpp:347
msgid "<display name>"
msgstr "<nama tampilan>"
#: src/models/actionsmodel.cpp:333
#: src/models/actionsmodel.cpp:332
msgid "Changes your global display name"
msgstr "Mengubah nama tampilan global Anda"
#: src/models/actionsmodel.cpp:341 src/models/actionsmodel.cpp:349
#: src/models/actionsmodel.cpp:340 src/models/actionsmodel.cpp:348
msgid "Changes your display name in this room"
msgstr "Mengubah nama tampilan di ruangan ini"
#: src/models/actionsmodel.cpp:363
#: src/models/actionsmodel.cpp:362
#, kde-format
msgctxt "<username> is already ignored."
msgid "%1 is already ignored."
msgstr "%1 sudah diabaikan."
#: src/models/actionsmodel.cpp:368
#: src/models/actionsmodel.cpp:367
#, kde-format
msgctxt "<username> is now ignored"
msgid "%1 is now ignored."
msgstr "%1 sekarang diabaikan."
#: src/models/actionsmodel.cpp:370 src/models/actionsmodel.cpp:398
#: src/models/actionsmodel.cpp:369 src/models/actionsmodel.cpp:397
#, kde-format
msgctxt "<username> is not a known user"
msgid "%1 is not a known user."
msgstr "%1 bukan sebuah pengguna yang diketahui."
#: src/models/actionsmodel.cpp:377
#: src/models/actionsmodel.cpp:376
msgid "Ignores the given user"
msgstr "Mengabaikan pengguna yang ditetapkan"
#: src/models/actionsmodel.cpp:392
#: src/models/actionsmodel.cpp:391
#, kde-format
msgctxt "<username> is not ignored."
msgid "%1 is not ignored."
msgstr "%1 tidak diabaikan."
#: src/models/actionsmodel.cpp:396
#: src/models/actionsmodel.cpp:395
#, kde-format
msgctxt "<username> is no longer ignored."
msgid "%1 is no longer ignored."
msgstr "%1 tidak lagi diabaikan."
#: src/models/actionsmodel.cpp:405
#: src/models/actionsmodel.cpp:404
msgid "Unignores the given user"
msgstr "Menghilangkan abaikan pengguna yang ditetapkan"
#: src/models/actionsmodel.cpp:425
#: src/models/actionsmodel.cpp:424
msgid "<reaction text>"
msgstr "<teks reaksi>"
#: src/models/actionsmodel.cpp:426
#: src/models/actionsmodel.cpp:425
msgid "React to the message with the given text"
msgstr "Bereaksi ke pesan dengan teks yang disediakan"
#: src/models/actionsmodel.cpp:442
#: src/models/actionsmodel.cpp:441
#, kde-format
msgctxt "<user> is already banned from this room."
msgid "%1 is already banned from this room."
msgstr "%1 sudah dicekal dari ruangan ini."
#: src/models/actionsmodel.cpp:448
#: src/models/actionsmodel.cpp:447
#, kde-format
msgid "You are not allowed to ban users from this room."
msgstr "Anda tidak diperbolehkan untuk mencekal pengguna dari ruangan ini."
#: src/models/actionsmodel.cpp:454
#: src/models/actionsmodel.cpp:453
#, 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 "Anda tidak diperbolehkan untuk mencekal %1 dari ruangan ini."
#: src/models/actionsmodel.cpp:458
#: src/models/actionsmodel.cpp:457
#, kde-format
msgctxt "<username> was banned from this room."
msgid "%1 was banned from this room."
msgstr "%1 telah dicekal dari ruangan ini."
#: src/models/actionsmodel.cpp:463 src/models/actionsmodel.cpp:538
#: src/models/actionsmodel.cpp:462 src/models/actionsmodel.cpp:537
msgid "<user id> [<reason>]"
msgstr "<id pengguna> [<alasan>]"
#: src/models/actionsmodel.cpp:464
#: src/models/actionsmodel.cpp:463
msgid "Bans the given user"
msgstr "Mencekal pengguna yang disediakan"
#: src/models/actionsmodel.cpp:478
#: src/models/actionsmodel.cpp:477
#, kde-format
msgid "You are not allowed to unban users from this room."
msgstr ""
"Anda tidak diperbolehkan untuk membatalkan cekalan pengguna dari ruangan ini."
#: src/models/actionsmodel.cpp:484
#: src/models/actionsmodel.cpp:483
#, kde-format
msgctxt "<user> is not banned from this room."
msgid "%1 is not banned from this room."
msgstr "%1 tidak dicekal dari ruangan ini."
#: src/models/actionsmodel.cpp:489
#: src/models/actionsmodel.cpp:488
#, kde-format
msgctxt "<username> was unbanned from this room."
msgid "%1 was unbanned from this room."
msgstr "%1 telah dicekal dari ruangan ini."
#: src/models/actionsmodel.cpp:496
#: src/models/actionsmodel.cpp:495
msgid "Removes the ban of the given user"
msgstr "Menghapus cekalan pengguna"
#: src/models/actionsmodel.cpp:511
#: src/models/actionsmodel.cpp:510
#, kde-format
msgid "You cannot kick yourself from the room."
msgstr "Anda tidak dapat mengeluarkan diri Anda dari ruangan."
#: src/models/actionsmodel.cpp:516
#: src/models/actionsmodel.cpp:515
#, kde-format
msgctxt "<username> is not in this room"
msgid "%1 is not in this room."
msgstr "%1 tidak ada di ruangan ini."
#: src/models/actionsmodel.cpp:523
#: src/models/actionsmodel.cpp:522
#, kde-format
msgid "You are not allowed to kick users from this room."
msgstr "Anda tidak diperbolehkan untuk mengeluarkan pengguna dari ruangan ini."
#: src/models/actionsmodel.cpp:529
#: src/models/actionsmodel.cpp:528
#, 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 "Anda tidak diperbolehkan untuk mengeluarkan %1 dari ruangan ini."
#: src/models/actionsmodel.cpp:533
#: src/models/actionsmodel.cpp:532
#, kde-format
msgctxt "<username> was kicked from this room."
msgid "%1 was kicked from this room."
msgstr "%1 telah dikeluarkan dari ruangan ini."
#: src/models/actionsmodel.cpp:539
#: src/models/actionsmodel.cpp:538
msgid "Removes the user from the room"
msgstr "Mengeluarkan pengguna dari ruangan ini"
@@ -1853,28 +1853,28 @@ msgstr "Buka sebuah obrolan privat"
msgid "Copy link"
msgstr "Salin tautan"
#: src/qml/main.qml:128
#: src/qml/main.qml:124
#, kde-format
msgid "Warning: %1"
msgstr "Peringatan: %1"
#: src/qml/main.qml:267
#: src/qml/main.qml:263
#, kde-format
msgid "%1: %2"
msgstr "%1: %2"
#: src/qml/main.qml:308
#: src/qml/main.qml:304
#, kde-format
msgctxt "@title:window"
msgid "Session Verification"
msgstr "Verifikasi Sesi"
#: src/qml/main.qml:318
#: src/qml/main.qml:314
#, kde-format
msgid "User consent"
msgstr "Persetujuan pengguna"
#: src/qml/main.qml:323
#: src/qml/main.qml:319
#, kde-format
msgid ""
"Your homeserver requires you to agree to its terms and conditions before "
@@ -1883,17 +1883,17 @@ msgstr ""
"Homeserver Anda membutuhkan Anda untuk menerima syarat dan kondisi sebelum "
"Anda dapat menggunakannya. Mohon klik tombol di bawah untuk membacanya."
#: src/qml/main.qml:328
#: src/qml/main.qml:324
#, kde-format
msgid "Open"
msgstr "Buka"
#: src/qml/main.qml:357
#: src/qml/main.qml:353
#, kde-format
msgid "Start a chat"
msgstr "Mulai sebuah obrolan"
#: src/qml/main.qml:359
#: src/qml/main.qml:355
#, kde-format
msgid "Do you want to start a chat with %1?"
msgstr "Apakah Anda ingin memulai sebuah obrolan dengan %1?"
@@ -3851,34 +3851,34 @@ msgid ""
"There's no room %1 in the room list. Check the spelling and the account."
msgstr "Tidak ada ruangan %1 di daftar ruangan. Periksa ejaannya dan akunnya."
#: src/roommanager.cpp:210
#: src/roommanager.cpp:208
#, kde-format
msgid "Failed to join room"
msgstr "Gagal bergabung dengan ruangan"
#: src/roommanager.cpp:227
#: src/roommanager.cpp:225
#, kde-format
msgid "You requested to join '%1'"
msgstr ""
#: src/roommanager.cpp:230
#: src/roommanager.cpp:228
#, fuzzy, kde-format
#| msgid "Failed to join room"
msgid "Failed to request joining room"
msgstr "Gagal bergabung dengan ruangan"
#: src/roommanager.cpp:240
#: src/roommanager.cpp:238
#, kde-format
msgid "No application for the link"
msgstr "Tidak ada aplikasi untuk tautan ini"
#: src/roommanager.cpp:240
#: src/roommanager.cpp:238
#, kde-format
msgid "Your operating system could not find an application for the link."
msgstr ""
"Sistem operasi Anda tidak dapat menemukan sebuah aplikasi untuk tautan ini."
#: src/roommanager.cpp:246
#: src/roommanager.cpp:244
#, kde-format
msgid "Could not open URL"
msgstr "Tidak dapat membuka URL"

View File

@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: neochat\n"
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
"POT-Creation-Date: 2023-04-11 00:48+0000\n"
"POT-Creation-Date: 2023-04-13 00:49+0000\n"
"PO-Revision-Date: 2022-10-28 19:18+0700\n"
"Last-Translator: OIS <mistresssilvara@hotmail.com>\n"
"Language-Team: kde-i18n-doc@kde.org\n"
@@ -227,243 +227,243 @@ msgstr ""
msgid "Image request has been cancelled"
msgstr "Demande de image esset anullat"
#: src/models/actionsmodel.cpp:24
#: src/models/actionsmodel.cpp:23
#, fuzzy, kde-format
msgid "Leaving this room."
msgstr "Saliente Cinnamon"
#: src/models/actionsmodel.cpp:31 src/models/actionsmodel.cpp:230
#: src/models/actionsmodel.cpp:257 src/models/actionsmodel.cpp:288
#: src/models/actionsmodel.cpp:30 src/models/actionsmodel.cpp:229
#: src/models/actionsmodel.cpp:256 src/models/actionsmodel.cpp:287
#, fuzzy, 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» ne sembla quam un ID de Matrix."
#: src/models/actionsmodel.cpp:39
#: src/models/actionsmodel.cpp:38
#, fuzzy, kde-format
msgctxt "Leaving room <roomname>."
msgid "Leaving room %1."
msgstr "Saliente Cinnamon"
#: src/models/actionsmodel.cpp:42
#: src/models/actionsmodel.cpp:41
#, fuzzy, kde-format
msgctxt "Room <roomname> not found"
msgid "Room %1 not found."
msgstr "Chambre ne trovat"
#: src/models/actionsmodel.cpp:50 src/models/actionsmodel.cpp:324
#: src/models/actionsmodel.cpp:49 src/models/actionsmodel.cpp:323
#, 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:64 src/models/actionsmodel.cpp:74
#: src/models/actionsmodel.cpp:84 src/models/actionsmodel.cpp:94
#: src/models/actionsmodel.cpp:114 src/models/actionsmodel.cpp:134
#: src/models/actionsmodel.cpp:145 src/models/actionsmodel.cpp:161
#: src/models/actionsmodel.cpp:171 src/models/actionsmodel.cpp:181
msgid "<message>"
msgstr "<missage>"
#: src/models/actionsmodel.cpp:66
#: src/models/actionsmodel.cpp:65
msgid "Prepends ¯\\_(ツ)_/¯ to a plain-text message"
msgstr ""
#: src/models/actionsmodel.cpp:76
#: src/models/actionsmodel.cpp:75
msgid "Prepends ( ͡° ͜ʖ ͡°) to a plain-text message"
msgstr ""
#: src/models/actionsmodel.cpp:86
#: src/models/actionsmodel.cpp:85
#, fuzzy
msgid "Prepends (╯°□°)╯︵ ┻━┻ to a plain-text message"
msgstr "Rupter lineas de simplic textu:"
#: src/models/actionsmodel.cpp:96
#: src/models/actionsmodel.cpp:95
msgid "Prepends ┬──┬ ( ゜-゜ノ) to a plain-text message"
msgstr "Prepender ┬──┬ ( ゜-゜ノ) a un missage textual"
#: src/models/actionsmodel.cpp:116
#: src/models/actionsmodel.cpp:115
msgid "Sends the given message colored as a rainbow"
msgstr "Inviar li missage in li colores de un ciel-arc"
#: src/models/actionsmodel.cpp:136
#: src/models/actionsmodel.cpp:135
msgid "Sends the given emote colored as a rainbow"
msgstr "Inviar li emotion in li colores de un ciel-arc"
#: src/models/actionsmodel.cpp:147
#: src/models/actionsmodel.cpp:146
#, fuzzy
#| msgid "Sends the given message as a notice"
msgid "Sends the given message as plain text"
msgstr "Inviar li missage quam un noticie"
#: src/models/actionsmodel.cpp:163
#: src/models/actionsmodel.cpp:162
msgid "Sends the given message as a spoiler"
msgstr "Inviar li missage quam un spoiler"
#: src/models/actionsmodel.cpp:173
#: src/models/actionsmodel.cpp:172
msgid "Sends the given emote"
msgstr "Inviar li correspondent emotion"
#: src/models/actionsmodel.cpp:183
#: src/models/actionsmodel.cpp:182
msgid "Sends the given message as a notice"
msgstr "Inviar li missage quam un noticie"
#: src/models/actionsmodel.cpp:192 src/models/actionsmodel.cpp:358
#: src/models/actionsmodel.cpp:386 src/models/actionsmodel.cpp:436
#: src/models/actionsmodel.cpp:473 src/models/actionsmodel.cpp:507
#: src/models/actionsmodel.cpp:191 src/models/actionsmodel.cpp:357
#: src/models/actionsmodel.cpp:385 src/models/actionsmodel.cpp:435
#: src/models/actionsmodel.cpp:472 src/models/actionsmodel.cpp:506
#, kde-format
msgctxt "'<text>' does not look like a matrix id."
msgid "'%1' does not look like a matrix id."
msgstr "«%1» ne sembla quam un ID de Matrix."
#: src/models/actionsmodel.cpp:198
#: src/models/actionsmodel.cpp:197
#, fuzzy, kde-format
msgctxt "<user> is already invited to this room."
msgid "%1 is already invited to this room."
msgstr "Vu ja es in ti chambre."
#: src/models/actionsmodel.cpp:202
#: src/models/actionsmodel.cpp:201
#, kde-format
msgctxt "<user> is banned from this room."
msgid "%1 is banned from this room."
msgstr "%1 es bannit de ti chambre."
#: src/models/actionsmodel.cpp:207
#: src/models/actionsmodel.cpp:206
#, kde-format
msgid "You are already in this room."
msgstr "Vu ja es in ti chambre."
#: src/models/actionsmodel.cpp:211
#: 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 in ti chambre."
#: src/models/actionsmodel.cpp:215
#: src/models/actionsmodel.cpp:214
#, kde-format
msgctxt "<username> was invited into this room"
msgid "%1 was invited into this room"
msgstr "%1 esset invitat al ti chambre"
#: src/models/actionsmodel.cpp:220 src/models/actionsmodel.cpp:376
#: src/models/actionsmodel.cpp:404 src/models/actionsmodel.cpp:495
#: src/models/actionsmodel.cpp:219 src/models/actionsmodel.cpp:375
#: src/models/actionsmodel.cpp:403 src/models/actionsmodel.cpp:494
msgid "<user id>"
msgstr "<ID-de-usator>"
#: src/models/actionsmodel.cpp:221
#: src/models/actionsmodel.cpp:220
msgid "Invites the user to this room"
msgstr "Invitar li usator al ti chambre"
#: src/models/actionsmodel.cpp:238 src/models/actionsmodel.cpp:295
#: src/models/actionsmodel.cpp:237 src/models/actionsmodel.cpp:294
#, fuzzy, kde-format
msgctxt "Joining room <roomname>."
msgid "Joining room %1."
msgstr "Adherente..."
#: src/models/actionsmodel.cpp:244 src/models/actionsmodel.cpp:301
#: src/models/actionsmodel.cpp:243 src/models/actionsmodel.cpp:300
msgid "<room alias or id>"
msgstr "<chambre-pseudonim-o-ID>"
#: src/models/actionsmodel.cpp:245 src/models/actionsmodel.cpp:302
#: src/models/actionsmodel.cpp:244 src/models/actionsmodel.cpp:301
msgid "Joins the given room"
msgstr "Adherer se al providet chambre"
#: src/models/actionsmodel.cpp:265
#: src/models/actionsmodel.cpp:264
#, fuzzy, kde-format
msgctxt "Knocking room <roomname>."
msgid "Knocking room %1."
msgstr "Adherente..."
#: src/models/actionsmodel.cpp:277
#: src/models/actionsmodel.cpp:276
#, fuzzy
#| msgid "[<room alias or id>]"
msgid "<room alias or id> [<reason>]"
msgstr "[<chambre-pseudonim-o-ID>]"
#: src/models/actionsmodel.cpp:278
#: src/models/actionsmodel.cpp:277
#, fuzzy
#| msgid "Joins the given room"
msgid "Requests to join the given room"
msgstr "Adherer se al providet chambre"
#: src/models/actionsmodel.cpp:292
#: src/models/actionsmodel.cpp:291
#, fuzzy, kde-format
msgctxt "You are already in room <roomname>."
msgid "You are already in room %1."
msgstr "Vu ja es in ti chambre."
#: src/models/actionsmodel.cpp:309 src/models/actionsmodel.cpp:317
#: src/models/actionsmodel.cpp:308 src/models/actionsmodel.cpp:316
msgid "[<room alias or id>]"
msgstr "[<chambre-pseudonim-o-ID>]"
#: src/models/actionsmodel.cpp:310 src/models/actionsmodel.cpp:318
#: src/models/actionsmodel.cpp:309 src/models/actionsmodel.cpp:317
msgid "Leaves the given room or this room, if there is none given"
msgstr ""
#: src/models/actionsmodel.cpp:332 src/models/actionsmodel.cpp:340
#: src/models/actionsmodel.cpp:348
#: src/models/actionsmodel.cpp:331 src/models/actionsmodel.cpp:339
#: src/models/actionsmodel.cpp:347
msgid "<display name>"
msgstr ""
#: src/models/actionsmodel.cpp:333
#: src/models/actionsmodel.cpp:332
#, fuzzy
msgid "Changes your global display name"
msgstr "Li nómine de computator ha changeat se"
#: src/models/actionsmodel.cpp:341 src/models/actionsmodel.cpp:349
#: src/models/actionsmodel.cpp:340 src/models/actionsmodel.cpp:348
#, fuzzy
msgid "Changes your display name in this room"
msgstr "Li nómine de computator ha changeat se"
#: src/models/actionsmodel.cpp:363
#: src/models/actionsmodel.cpp:362
#, fuzzy, kde-format
msgctxt "<username> is already ignored."
msgid "%1 is already ignored."
msgstr "Li fólder ja es ignorat"
#: src/models/actionsmodel.cpp:368
#: src/models/actionsmodel.cpp:367
#, fuzzy, kde-format
msgctxt "<username> is now ignored"
msgid "%1 is now ignored."
msgstr "Ignorat."
#: src/models/actionsmodel.cpp:370 src/models/actionsmodel.cpp:398
#: src/models/actionsmodel.cpp:369 src/models/actionsmodel.cpp:397
#, fuzzy, kde-format
msgctxt "<username> is not a known user"
msgid "%1 is not a known user."
msgstr "Signale de usator &1"
#: src/models/actionsmodel.cpp:377
#: src/models/actionsmodel.cpp:376
#, fuzzy
msgid "Ignores the given user"
msgstr "Nómine@ de usator (si present): %U"
#: src/models/actionsmodel.cpp:392
#: src/models/actionsmodel.cpp:391
#, fuzzy, kde-format
msgctxt "<username> is not ignored."
msgid "%1 is not ignored."
msgstr "Ignorat."
#: src/models/actionsmodel.cpp:396
#: src/models/actionsmodel.cpp:395
#, fuzzy, kde-format
msgctxt "<username> is no longer ignored."
msgid "%1 is no longer ignored."
msgstr "Ignorat."
#: src/models/actionsmodel.cpp:405
#: src/models/actionsmodel.cpp:404
#, fuzzy
msgid "Unignores the given user"
msgstr "Nómine@ de usator (si present): %U"
#: src/models/actionsmodel.cpp:425
#: src/models/actionsmodel.cpp:424
msgid "<reaction text>"
msgstr "<textu-de-reaction>"
#: src/models/actionsmodel.cpp:426
#: src/models/actionsmodel.cpp:425
#, fuzzy
msgid "React to the message with the given text"
msgstr "Reacter a ti missage con un textu"
#: src/models/actionsmodel.cpp:442
#: src/models/actionsmodel.cpp:441
#, fuzzy, kde-format
#| msgctxt "<user> is banned from this room."
#| msgid "%1 is banned from this room."
@@ -471,20 +471,20 @@ msgctxt "<user> is already banned from this room."
msgid "%1 is already banned from this room."
msgstr "%1 es bannit de ti chambre."
#: src/models/actionsmodel.cpp:448
#: src/models/actionsmodel.cpp:447
#, fuzzy, kde-format
#| msgid "You are already in this room."
msgid "You are not allowed to ban users from this room."
msgstr "Vu ja es in ti chambre."
#: src/models/actionsmodel.cpp:454
#: src/models/actionsmodel.cpp:453
#, fuzzy, kde-format
#| msgid "You are already in this room."
msgctxt "You are not allowed to ban <username> from this room."
msgid "You are not allowed to ban %1 from this room."
msgstr "Vu ja es in ti chambre."
#: src/models/actionsmodel.cpp:458
#: src/models/actionsmodel.cpp:457
#, fuzzy, kde-format
#| msgctxt "<user> is banned from this room."
#| msgid "%1 is banned from this room."
@@ -492,24 +492,24 @@ msgctxt "<username> was banned from this room."
msgid "%1 was banned from this room."
msgstr "%1 es bannit de ti chambre."
#: src/models/actionsmodel.cpp:463 src/models/actionsmodel.cpp:538
#: src/models/actionsmodel.cpp:462 src/models/actionsmodel.cpp:537
#, fuzzy
#| msgid "<user id>"
msgid "<user id> [<reason>]"
msgstr "<ID-de-usator>"
#: src/models/actionsmodel.cpp:464
#: src/models/actionsmodel.cpp:463
#, fuzzy
msgid "Bans the given user"
msgstr "Nómine@ de usator (si present): %U"
#: src/models/actionsmodel.cpp:478
#: src/models/actionsmodel.cpp:477
#, fuzzy, kde-format
#| msgid "You are already in this room."
msgid "You are not allowed to unban users from this room."
msgstr "Vu ja es in ti chambre."
#: src/models/actionsmodel.cpp:484
#: src/models/actionsmodel.cpp:483
#, fuzzy, kde-format
#| msgctxt "<user> is banned from this room."
#| msgid "%1 is banned from this room."
@@ -517,7 +517,7 @@ msgctxt "<user> is not banned from this room."
msgid "%1 is not banned from this room."
msgstr "%1 es bannit de ti chambre."
#: src/models/actionsmodel.cpp:489
#: src/models/actionsmodel.cpp:488
#, fuzzy, kde-format
#| msgctxt "<user> is banned from this room."
#| msgid "%1 is banned from this room."
@@ -525,17 +525,17 @@ msgctxt "<username> was unbanned from this room."
msgid "%1 was unbanned from this room."
msgstr "%1 es bannit de ti chambre."
#: src/models/actionsmodel.cpp:496
#: src/models/actionsmodel.cpp:495
#, fuzzy
msgid "Removes the ban of the given user"
msgstr "Nómine@ de usator (si present): %U"
#: src/models/actionsmodel.cpp:511
#: src/models/actionsmodel.cpp:510
#, kde-format
msgid "You cannot kick yourself from the room."
msgstr ""
#: src/models/actionsmodel.cpp:516
#: src/models/actionsmodel.cpp:515
#, fuzzy, kde-format
#| msgctxt "<user> is already in this room."
#| msgid "%1 is already in this room."
@@ -543,20 +543,20 @@ msgctxt "<username> is not in this room"
msgid "%1 is not in this room."
msgstr "%1 ja es in ti chambre."
#: src/models/actionsmodel.cpp:523
#: src/models/actionsmodel.cpp:522
#, fuzzy, kde-format
#| msgid "You are already in this room."
msgid "You are not allowed to kick users from this room."
msgstr "Vu ja es in ti chambre."
#: src/models/actionsmodel.cpp:529
#: src/models/actionsmodel.cpp:528
#, fuzzy, kde-format
#| msgid "You are already in this room."
msgctxt "You are not allowed to kick <username> from this room"
msgid "You are not allowed to kick %1 from this room."
msgstr "Vu ja es in ti chambre."
#: src/models/actionsmodel.cpp:533
#: src/models/actionsmodel.cpp:532
#, fuzzy, kde-format
#| msgctxt "<user> is banned from this room."
#| msgid "%1 is banned from this room."
@@ -564,7 +564,7 @@ msgctxt "<username> was kicked from this room."
msgid "%1 was kicked from this room."
msgstr "%1 es bannit de ti chambre."
#: src/models/actionsmodel.cpp:539
#: src/models/actionsmodel.cpp:538
#, fuzzy
#| msgid "Invites the user to this room"
msgid "Removes the user from the room"
@@ -1882,45 +1882,45 @@ msgstr "Aperte un privat conversation"
msgid "Copy link"
msgstr "Copiar"
#: src/qml/main.qml:128
#: src/qml/main.qml:124
#, kde-format
msgid "Warning: %1"
msgstr "Avise: %1"
#: src/qml/main.qml:267
#: src/qml/main.qml:263
#, kde-format
msgid "%1: %2"
msgstr "%1: %2"
#: src/qml/main.qml:308
#: src/qml/main.qml:304
#, kde-format
msgctxt "@title:window"
msgid "Session Verification"
msgstr "Verification del session"
#: src/qml/main.qml:318
#: src/qml/main.qml:314
#, kde-format
msgid "User consent"
msgstr "Consente del usator"
#: src/qml/main.qml:323
#: src/qml/main.qml:319
#, 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:328
#: src/qml/main.qml:324
#, kde-format
msgid "Open"
msgstr "Aperter"
#: src/qml/main.qml:357
#: src/qml/main.qml:353
#, kde-format
msgid "Start a chat"
msgstr "Iniciar conversation"
#: src/qml/main.qml:359
#: src/qml/main.qml:355
#, kde-format
msgid "Do you want to start a chat with %1?"
msgstr "Esque vu vole iniciar un conversation con %1?"
@@ -3910,32 +3910,32 @@ msgid ""
"There's no room %1 in the room list. Check the spelling and the account."
msgstr ""
#: src/roommanager.cpp:210
#: src/roommanager.cpp:208
#, fuzzy, kde-format
msgid "Failed to join room"
msgstr "Invitar un usator"
#: src/roommanager.cpp:227
#: src/roommanager.cpp:225
#, kde-format
msgid "You requested to join '%1'"
msgstr ""
#: src/roommanager.cpp:230
#: src/roommanager.cpp:228
#, fuzzy, kde-format
msgid "Failed to request joining room"
msgstr "Invitar un usator"
#: src/roommanager.cpp:240
#: src/roommanager.cpp:238
#, fuzzy, kde-format
msgid "No application for the link"
msgstr "Tip de file desktop a crear (Application o Link)"
#: src/roommanager.cpp:240
#: src/roommanager.cpp:238
#, kde-format
msgid "Your operating system could not find an application for the link."
msgstr ""
#: src/roommanager.cpp:246
#: src/roommanager.cpp:244
#, fuzzy, kde-format
msgid "Could not open URL"
msgstr "Ne succesat monstrar ti-ci URL"

View File

@@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: neochat\n"
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
"POT-Creation-Date: 2023-04-11 00:48+0000\n"
"POT-Creation-Date: 2023-04-13 00:49+0000\n"
"PO-Revision-Date: 2023-03-19 13:32+0100\n"
"Last-Translator: Vincenzo Reale <smart2128vr@gmail.com>\n"
"Language-Team: Italian <kde-i18n-it@kde.org>\n"
@@ -220,314 +220,314 @@ msgstr "L'ID del supporto «%1» non segue il modello server/mediaId"
msgid "Image request has been cancelled"
msgstr "La richiesta dell'immagine è stata annullata"
#: src/models/actionsmodel.cpp:24
#: src/models/actionsmodel.cpp:23
#, kde-format
msgid "Leaving this room."
msgstr "Lascia questa stanza."
#: src/models/actionsmodel.cpp:31 src/models/actionsmodel.cpp:230
#: src/models/actionsmodel.cpp:257 src/models/actionsmodel.cpp:288
#: src/models/actionsmodel.cpp:30 src/models/actionsmodel.cpp:229
#: src/models/actionsmodel.cpp:256 src/models/actionsmodel.cpp:287
#, 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» non sembra un id di una stanza o un alias."
#: src/models/actionsmodel.cpp:39
#: src/models/actionsmodel.cpp:38
#, kde-format
msgctxt "Leaving room <roomname>."
msgid "Leaving room %1."
msgstr "Lascia la stanza %1."
#: src/models/actionsmodel.cpp:42
#: src/models/actionsmodel.cpp:41
#, kde-format
msgctxt "Room <roomname> not found"
msgid "Room %1 not found."
msgstr "Stanza %1 non trovata."
#: src/models/actionsmodel.cpp:50 src/models/actionsmodel.cpp:324
#: src/models/actionsmodel.cpp:49 src/models/actionsmodel.cpp:323
#, kde-format
msgid "No new nickname provided, no changes will happen."
msgstr "Nessun nuovo pseudonimo fornito, non ci saranno modifiche."
#: 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:64 src/models/actionsmodel.cpp:74
#: src/models/actionsmodel.cpp:84 src/models/actionsmodel.cpp:94
#: src/models/actionsmodel.cpp:114 src/models/actionsmodel.cpp:134
#: src/models/actionsmodel.cpp:145 src/models/actionsmodel.cpp:161
#: src/models/actionsmodel.cpp:171 src/models/actionsmodel.cpp:181
msgid "<message>"
msgstr "<messaggio>"
#: src/models/actionsmodel.cpp:66
#: src/models/actionsmodel.cpp:65
msgid "Prepends ¯\\_(ツ)_/¯ to a plain-text message"
msgstr "Antepone ¯\\_(ツ)_/¯ a un messaggio di testo normale"
#: src/models/actionsmodel.cpp:76
#: src/models/actionsmodel.cpp:75
msgid "Prepends ( ͡° ͜ʖ ͡°) to a plain-text message"
msgstr "Antepone ( ͡° ͜ʖ ͡°) a un messaggio di testo normale"
#: src/models/actionsmodel.cpp:86
#: src/models/actionsmodel.cpp:85
msgid "Prepends (╯°□°)╯︵ ┻━┻ to a plain-text message"
msgstr "Antepone (╯°□°)╯︵ ┻━┻ a un messaggio di testo semplice"
#: src/models/actionsmodel.cpp:96
#: src/models/actionsmodel.cpp:95
msgid "Prepends ┬──┬ ( ゜-゜ノ) to a plain-text message"
msgstr "Antepone ┬──┬ ( ゜-゜ノ) a un messaggio di testo semplice"
#: src/models/actionsmodel.cpp:116
#: src/models/actionsmodel.cpp:115
msgid "Sends the given message colored as a rainbow"
msgstr "Invia il messaggio specificato colorato come un arcobaleno"
#: src/models/actionsmodel.cpp:136
#: src/models/actionsmodel.cpp:135
msgid "Sends the given emote colored as a rainbow"
msgstr "Invia l'emoticon specificata colorata come un arcobaleno"
#: src/models/actionsmodel.cpp:147
#: src/models/actionsmodel.cpp:146
msgid "Sends the given message as plain text"
msgstr "Invia il messaggio fornito come testo normale"
#: src/models/actionsmodel.cpp:163
#: src/models/actionsmodel.cpp:162
msgid "Sends the given message as a spoiler"
msgstr "Invia il dato messaggio come spoiler"
#: src/models/actionsmodel.cpp:173
#: src/models/actionsmodel.cpp:172
msgid "Sends the given emote"
msgstr "Invia l'emoticon specificata"
#: src/models/actionsmodel.cpp:183
#: src/models/actionsmodel.cpp:182
msgid "Sends the given message as a notice"
msgstr "Invia il messaggio specificato come avviso"
#: src/models/actionsmodel.cpp:192 src/models/actionsmodel.cpp:358
#: src/models/actionsmodel.cpp:386 src/models/actionsmodel.cpp:436
#: src/models/actionsmodel.cpp:473 src/models/actionsmodel.cpp:507
#: src/models/actionsmodel.cpp:191 src/models/actionsmodel.cpp:357
#: src/models/actionsmodel.cpp:385 src/models/actionsmodel.cpp:435
#: src/models/actionsmodel.cpp:472 src/models/actionsmodel.cpp:506
#, kde-format
msgctxt "'<text>' does not look like a matrix id."
msgid "'%1' does not look like a matrix id."
msgstr "«%1» non sembra un ID Matrix."
#: src/models/actionsmodel.cpp:198
#: src/models/actionsmodel.cpp:197
#, kde-format
msgctxt "<user> is already invited to this room."
msgid "%1 is already invited to this room."
msgstr "%1 è già invitato in questa stanza virtuale."
#: src/models/actionsmodel.cpp:202
#: src/models/actionsmodel.cpp:201
#, kde-format
msgctxt "<user> is banned from this room."
msgid "%1 is banned from this room."
msgstr "%1 è stato bandito da questa stanza virtuale."
#: src/models/actionsmodel.cpp:207
#: src/models/actionsmodel.cpp:206
#, kde-format
msgid "You are already in this room."
msgstr "Sei già in questa stanza."
#: src/models/actionsmodel.cpp:211
#: src/models/actionsmodel.cpp:210
#, kde-format
msgctxt "<user> is already in this room."
msgid "%1 is already in this room."
msgstr "%1 è già in questa stanza."
#: src/models/actionsmodel.cpp:215
#: src/models/actionsmodel.cpp:214
#, kde-format
msgctxt "<username> was invited into this room"
msgid "%1 was invited into this room"
msgstr "%1 è stato invitato in questa stanza"
#: src/models/actionsmodel.cpp:220 src/models/actionsmodel.cpp:376
#: src/models/actionsmodel.cpp:404 src/models/actionsmodel.cpp:495
#: src/models/actionsmodel.cpp:219 src/models/actionsmodel.cpp:375
#: src/models/actionsmodel.cpp:403 src/models/actionsmodel.cpp:494
msgid "<user id>"
msgstr "<id utente>"
#: src/models/actionsmodel.cpp:221
#: src/models/actionsmodel.cpp:220
msgid "Invites the user to this room"
msgstr "Invita l'utente in questa stanza virtuale"
#: src/models/actionsmodel.cpp:238 src/models/actionsmodel.cpp:295
#: src/models/actionsmodel.cpp:237 src/models/actionsmodel.cpp:294
#, kde-format
msgctxt "Joining room <roomname>."
msgid "Joining room %1."
msgstr "Accesso alla stanza %1."
#: src/models/actionsmodel.cpp:244 src/models/actionsmodel.cpp:301
#: src/models/actionsmodel.cpp:243 src/models/actionsmodel.cpp:300
msgid "<room alias or id>"
msgstr "<alias della stanza o id>"
#: src/models/actionsmodel.cpp:245 src/models/actionsmodel.cpp:302
#: src/models/actionsmodel.cpp:244 src/models/actionsmodel.cpp:301
msgid "Joins the given room"
msgstr "Si unisce alla stanza specificata"
#: src/models/actionsmodel.cpp:265
#: src/models/actionsmodel.cpp:264
#, kde-format
msgctxt "Knocking room <roomname>."
msgid "Knocking room %1."
msgstr "Accesso alla stanza %1."
#: src/models/actionsmodel.cpp:277
#: src/models/actionsmodel.cpp:276
msgid "<room alias or id> [<reason>]"
msgstr "<alias della stanza o id> [<motivo>]"
#: src/models/actionsmodel.cpp:278
#: src/models/actionsmodel.cpp:277
msgid "Requests to join the given room"
msgstr "Richiede di unirsi alla stanza specificata"
#: src/models/actionsmodel.cpp:292
#: src/models/actionsmodel.cpp:291
#, kde-format
msgctxt "You are already in room <roomname>."
msgid "You are already in room %1."
msgstr "Se già nella stanza %1"
#: src/models/actionsmodel.cpp:309 src/models/actionsmodel.cpp:317
#: src/models/actionsmodel.cpp:308 src/models/actionsmodel.cpp:316
msgid "[<room alias or id>]"
msgstr "[<alias della stanza o id>]"
#: src/models/actionsmodel.cpp:310 src/models/actionsmodel.cpp:318
#: src/models/actionsmodel.cpp:309 src/models/actionsmodel.cpp:317
msgid "Leaves the given room or this room, if there is none given"
msgstr ""
"Lascia la stanza specificata o questa stanza, se non ce n'è una specificata"
#: src/models/actionsmodel.cpp:332 src/models/actionsmodel.cpp:340
#: src/models/actionsmodel.cpp:348
#: src/models/actionsmodel.cpp:331 src/models/actionsmodel.cpp:339
#: src/models/actionsmodel.cpp:347
msgid "<display name>"
msgstr "<nome visualizzato>"
#: src/models/actionsmodel.cpp:333
#: src/models/actionsmodel.cpp:332
msgid "Changes your global display name"
msgstr "Modifica il nome visualizzato globale"
#: src/models/actionsmodel.cpp:341 src/models/actionsmodel.cpp:349
#: src/models/actionsmodel.cpp:340 src/models/actionsmodel.cpp:348
msgid "Changes your display name in this room"
msgstr "Cambia il nome visualizzato in questa stanza"
#: src/models/actionsmodel.cpp:363
#: src/models/actionsmodel.cpp:362
#, kde-format
msgctxt "<username> is already ignored."
msgid "%1 is already ignored."
msgstr "%1 è già ignorato."
#: src/models/actionsmodel.cpp:368
#: src/models/actionsmodel.cpp:367
#, kde-format
msgctxt "<username> is now ignored"
msgid "%1 is now ignored."
msgstr "%1 ora è ignorato."
#: src/models/actionsmodel.cpp:370 src/models/actionsmodel.cpp:398
#: src/models/actionsmodel.cpp:369 src/models/actionsmodel.cpp:397
#, kde-format
msgctxt "<username> is not a known user"
msgid "%1 is not a known user."
msgstr "%1 non è un utente conosciuto."
#: src/models/actionsmodel.cpp:377
#: src/models/actionsmodel.cpp:376
msgid "Ignores the given user"
msgstr "Ignora l'utente specificato"
#: src/models/actionsmodel.cpp:392
#: src/models/actionsmodel.cpp:391
#, kde-format
msgctxt "<username> is not ignored."
msgid "%1 is not ignored."
msgstr "%1 non è ignorato."
#: src/models/actionsmodel.cpp:396
#: src/models/actionsmodel.cpp:395
#, kde-format
msgctxt "<username> is no longer ignored."
msgid "%1 is no longer ignored."
msgstr "%1 non è più ignorato."
#: src/models/actionsmodel.cpp:405
#: src/models/actionsmodel.cpp:404
msgid "Unignores the given user"
msgstr "Non ignorare l'utente specificato"
#: src/models/actionsmodel.cpp:425
#: src/models/actionsmodel.cpp:424
msgid "<reaction text>"
msgstr "<testo di reazione>"
#: src/models/actionsmodel.cpp:426
#: src/models/actionsmodel.cpp:425
msgid "React to the message with the given text"
msgstr "Reagisci al messaggio con il testo indicato"
#: src/models/actionsmodel.cpp:442
#: src/models/actionsmodel.cpp:441
#, kde-format
msgctxt "<user> is already banned from this room."
msgid "%1 is already banned from this room."
msgstr "%1 è già stato bandito da questa stanza virtuale."
#: src/models/actionsmodel.cpp:448
#: src/models/actionsmodel.cpp:447
#, kde-format
msgid "You are not allowed to ban users from this room."
msgstr "Non sei autorizzato a bandire gli utenti da questa stanza."
#: src/models/actionsmodel.cpp:454
#: src/models/actionsmodel.cpp:453
#, 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 "Non puoi bandire %1 da questa stanza virtuale."
#: src/models/actionsmodel.cpp:458
#: src/models/actionsmodel.cpp:457
#, kde-format
msgctxt "<username> was banned from this room."
msgid "%1 was banned from this room."
msgstr "%1 è stato bandito da questa stanza."
#: src/models/actionsmodel.cpp:463 src/models/actionsmodel.cpp:538
#: src/models/actionsmodel.cpp:462 src/models/actionsmodel.cpp:537
msgid "<user id> [<reason>]"
msgstr "<id utente> [<motivo>]"
#: src/models/actionsmodel.cpp:464
#: src/models/actionsmodel.cpp:463
msgid "Bans the given user"
msgstr "Bandisce l'utente specificato"
#: src/models/actionsmodel.cpp:478
#: src/models/actionsmodel.cpp:477
#, kde-format
msgid "You are not allowed to unban users from this room."
msgstr ""
"Non sei autorizzato a rimuovere il bando degli utenti da questa stanza "
"virtuale."
#: src/models/actionsmodel.cpp:484
#: src/models/actionsmodel.cpp:483
#, kde-format
msgctxt "<user> is not banned from this room."
msgid "%1 is not banned from this room."
msgstr "%1 non è stato bandito da questa stanza virtuale."
#: src/models/actionsmodel.cpp:489
#: src/models/actionsmodel.cpp:488
#, kde-format
msgctxt "<username> was unbanned from this room."
msgid "%1 was unbanned from this room."
msgstr "Il bando per %1 è stato rimosso da questa stanza virtuale."
#: src/models/actionsmodel.cpp:496
#: src/models/actionsmodel.cpp:495
msgid "Removes the ban of the given user"
msgstr "Rimuove il bando dell'utente specificato"
#: src/models/actionsmodel.cpp:511
#: src/models/actionsmodel.cpp:510
#, kde-format
msgid "You cannot kick yourself from the room."
msgstr "Non puoi espellerti dalla stanza."
#: src/models/actionsmodel.cpp:516
#: src/models/actionsmodel.cpp:515
#, kde-format
msgctxt "<username> is not in this room"
msgid "%1 is not in this room."
msgstr "%1 non è in questa stanza."
#: src/models/actionsmodel.cpp:523
#: src/models/actionsmodel.cpp:522
#, kde-format
msgid "You are not allowed to kick users from this room."
msgstr "Non ti è consentito espellere gli utenti da questa stanza."
#: src/models/actionsmodel.cpp:529
#: src/models/actionsmodel.cpp:528
#, 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 "Non puoi espellere %1 da questa stanza virtuale."
#: src/models/actionsmodel.cpp:533
#: src/models/actionsmodel.cpp:532
#, kde-format
msgctxt "<username> was kicked from this room."
msgid "%1 was kicked from this room."
msgstr "%1 è stato espulso da questa stanza."
#: src/models/actionsmodel.cpp:539
#: src/models/actionsmodel.cpp:538
msgid "Removes the user from the room"
msgstr "Rimuove l'utente dalla stanza"
@@ -1855,28 +1855,28 @@ msgstr "Apri una chat privata"
msgid "Copy link"
msgstr "Copia collegamento"
#: src/qml/main.qml:128
#: src/qml/main.qml:124
#, kde-format
msgid "Warning: %1"
msgstr "Avviso: %1"
#: src/qml/main.qml:267
#: src/qml/main.qml:263
#, kde-format
msgid "%1: %2"
msgstr "%1: %2"
#: src/qml/main.qml:308
#: src/qml/main.qml:304
#, kde-format
msgctxt "@title:window"
msgid "Session Verification"
msgstr "Verifica della sessione"
#: src/qml/main.qml:318
#: src/qml/main.qml:314
#, kde-format
msgid "User consent"
msgstr "Consenso dell'utente"
#: src/qml/main.qml:323
#: src/qml/main.qml:319
#, kde-format
msgid ""
"Your homeserver requires you to agree to its terms and conditions before "
@@ -1885,17 +1885,17 @@ msgstr ""
"Il tuo server ti richiede di accettare i suoi termini e le sue condizioni "
"prima di poterlo utilizzare. Fai clic sul pulsante in basso per leggerli."
#: src/qml/main.qml:328
#: src/qml/main.qml:324
#, kde-format
msgid "Open"
msgstr "Apri"
#: src/qml/main.qml:357
#: src/qml/main.qml:353
#, kde-format
msgid "Start a chat"
msgstr "Avvia una chat"
#: src/qml/main.qml:359
#: src/qml/main.qml:355
#, kde-format
msgid "Do you want to start a chat with %1?"
msgstr "Vuoi iniziare una chat con %1?"
@@ -3853,34 +3853,34 @@ msgstr ""
"Non c'è alcuna stanza %1 nell'elenco delle stanze. Controlla l'ortografia e "
"l'account."
#: src/roommanager.cpp:210
#: src/roommanager.cpp:208
#, kde-format
msgid "Failed to join room"
msgstr "Accesso alla stanza non riuscito"
#: src/roommanager.cpp:227
#: src/roommanager.cpp:225
#, kde-format
msgid "You requested to join '%1'"
msgstr "Hai chiesto di unirti a «%1»"
#: src/roommanager.cpp:230
#: src/roommanager.cpp:228
#, kde-format
msgid "Failed to request joining room"
msgstr "Impossibile richiedere l'accesso alla stanza"
#: src/roommanager.cpp:240
#: src/roommanager.cpp:238
#, kde-format
msgid "No application for the link"
msgstr "Nessuna applicazione per il collegamento"
#: src/roommanager.cpp:240
#: src/roommanager.cpp:238
#, kde-format
msgid "Your operating system could not find an application for the link."
msgstr ""
"Il tuo sistema operativo non è riuscito a trovare un'applicazione per il "
"collegamento."
#: src/roommanager.cpp:246
#: src/roommanager.cpp:244
#, kde-format
msgid "Could not open URL"
msgstr "Impossibile aprire l'URL"

View File

@@ -2,7 +2,7 @@ msgid ""
msgstr ""
"Project-Id-Version: neochat\n"
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
"POT-Creation-Date: 2023-04-11 00:48+0000\n"
"POT-Creation-Date: 2023-04-13 00:49+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"
@@ -216,311 +216,311 @@ msgstr ""
msgid "Image request has been cancelled"
msgstr ""
#: src/models/actionsmodel.cpp:24
#: src/models/actionsmodel.cpp:23
#, kde-format
msgid "Leaving this room."
msgstr ""
#: src/models/actionsmodel.cpp:31 src/models/actionsmodel.cpp:230
#: src/models/actionsmodel.cpp:257 src/models/actionsmodel.cpp:288
#: src/models/actionsmodel.cpp:30 src/models/actionsmodel.cpp:229
#: src/models/actionsmodel.cpp:256 src/models/actionsmodel.cpp:287
#, 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:38
#, kde-format
msgctxt "Leaving room <roomname>."
msgid "Leaving room %1."
msgstr ""
#: src/models/actionsmodel.cpp:42
#: src/models/actionsmodel.cpp:41
#, kde-format
msgctxt "Room <roomname> not found"
msgid "Room %1 not found."
msgstr ""
#: src/models/actionsmodel.cpp:50 src/models/actionsmodel.cpp:324
#: src/models/actionsmodel.cpp:49 src/models/actionsmodel.cpp:323
#, 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:64 src/models/actionsmodel.cpp:74
#: src/models/actionsmodel.cpp:84 src/models/actionsmodel.cpp:94
#: src/models/actionsmodel.cpp:114 src/models/actionsmodel.cpp:134
#: src/models/actionsmodel.cpp:145 src/models/actionsmodel.cpp:161
#: src/models/actionsmodel.cpp:171 src/models/actionsmodel.cpp:181
msgid "<message>"
msgstr ""
#: src/models/actionsmodel.cpp:66
#: src/models/actionsmodel.cpp:65
msgid "Prepends ¯\\_(ツ)_/¯ to a plain-text message"
msgstr ""
#: src/models/actionsmodel.cpp:76
#: src/models/actionsmodel.cpp:75
msgid "Prepends ( ͡° ͜ʖ ͡°) to a plain-text message"
msgstr ""
#: src/models/actionsmodel.cpp:86
#: src/models/actionsmodel.cpp:85
msgid "Prepends (╯°□°)╯︵ ┻━┻ to a plain-text message"
msgstr ""
#: src/models/actionsmodel.cpp:96
#: src/models/actionsmodel.cpp:95
msgid "Prepends ┬──┬ ( ゜-゜ノ) to a plain-text message"
msgstr ""
#: src/models/actionsmodel.cpp:116
#: src/models/actionsmodel.cpp:115
msgid "Sends the given message colored as a rainbow"
msgstr ""
#: src/models/actionsmodel.cpp:136
#: src/models/actionsmodel.cpp:135
msgid "Sends the given emote colored as a rainbow"
msgstr ""
#: src/models/actionsmodel.cpp:147
#: src/models/actionsmodel.cpp:146
msgid "Sends the given message as plain text"
msgstr ""
#: src/models/actionsmodel.cpp:163
#: src/models/actionsmodel.cpp:162
msgid "Sends the given message as a spoiler"
msgstr ""
#: src/models/actionsmodel.cpp:173
#: src/models/actionsmodel.cpp:172
msgid "Sends the given emote"
msgstr ""
#: src/models/actionsmodel.cpp:183
#: src/models/actionsmodel.cpp:182
msgid "Sends the given message as a notice"
msgstr ""
#: src/models/actionsmodel.cpp:192 src/models/actionsmodel.cpp:358
#: src/models/actionsmodel.cpp:386 src/models/actionsmodel.cpp:436
#: src/models/actionsmodel.cpp:473 src/models/actionsmodel.cpp:507
#: src/models/actionsmodel.cpp:191 src/models/actionsmodel.cpp:357
#: src/models/actionsmodel.cpp:385 src/models/actionsmodel.cpp:435
#: src/models/actionsmodel.cpp:472 src/models/actionsmodel.cpp:506
#, 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:198
#: src/models/actionsmodel.cpp:197
#, kde-format
msgctxt "<user> is already invited to this room."
msgid "%1 is already invited to this room."
msgstr ""
#: src/models/actionsmodel.cpp:202
#: src/models/actionsmodel.cpp:201
#, kde-format
msgctxt "<user> is banned from this room."
msgid "%1 is banned from this room."
msgstr ""
#: src/models/actionsmodel.cpp:207
#: src/models/actionsmodel.cpp:206
#, kde-format
msgid "You are already in this room."
msgstr ""
#: src/models/actionsmodel.cpp:211
#: 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:215
#: 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:220 src/models/actionsmodel.cpp:376
#: src/models/actionsmodel.cpp:404 src/models/actionsmodel.cpp:495
#: src/models/actionsmodel.cpp:219 src/models/actionsmodel.cpp:375
#: src/models/actionsmodel.cpp:403 src/models/actionsmodel.cpp:494
msgid "<user id>"
msgstr ""
#: src/models/actionsmodel.cpp:221
#: src/models/actionsmodel.cpp:220
msgid "Invites the user to this room"
msgstr ""
#: src/models/actionsmodel.cpp:238 src/models/actionsmodel.cpp:295
#: src/models/actionsmodel.cpp:237 src/models/actionsmodel.cpp:294
#, kde-format
msgctxt "Joining room <roomname>."
msgid "Joining room %1."
msgstr ""
#: src/models/actionsmodel.cpp:244 src/models/actionsmodel.cpp:301
#: src/models/actionsmodel.cpp:243 src/models/actionsmodel.cpp:300
msgid "<room alias or id>"
msgstr ""
#: src/models/actionsmodel.cpp:245 src/models/actionsmodel.cpp:302
#: src/models/actionsmodel.cpp:244 src/models/actionsmodel.cpp:301
msgid "Joins the given room"
msgstr ""
#: src/models/actionsmodel.cpp:265
#: src/models/actionsmodel.cpp:264
#, kde-format
msgctxt "Knocking room <roomname>."
msgid "Knocking room %1."
msgstr ""
#: src/models/actionsmodel.cpp:277
#: src/models/actionsmodel.cpp:276
msgid "<room alias or id> [<reason>]"
msgstr ""
#: src/models/actionsmodel.cpp:278
#: src/models/actionsmodel.cpp:277
msgid "Requests to join the given room"
msgstr ""
#: src/models/actionsmodel.cpp:292
#: src/models/actionsmodel.cpp:291
#, kde-format
msgctxt "You are already in room <roomname>."
msgid "You are already in room %1."
msgstr ""
#: src/models/actionsmodel.cpp:309 src/models/actionsmodel.cpp:317
#: src/models/actionsmodel.cpp:308 src/models/actionsmodel.cpp:316
msgid "[<room alias or id>]"
msgstr ""
#: src/models/actionsmodel.cpp:310 src/models/actionsmodel.cpp:318
#: src/models/actionsmodel.cpp:309 src/models/actionsmodel.cpp:317
msgid "Leaves the given room or this room, if there is none given"
msgstr ""
#: src/models/actionsmodel.cpp:332 src/models/actionsmodel.cpp:340
#: src/models/actionsmodel.cpp:348
#: src/models/actionsmodel.cpp:331 src/models/actionsmodel.cpp:339
#: src/models/actionsmodel.cpp:347
msgid "<display name>"
msgstr ""
#: src/models/actionsmodel.cpp:333
#: src/models/actionsmodel.cpp:332
msgid "Changes your global display name"
msgstr ""
#: src/models/actionsmodel.cpp:341 src/models/actionsmodel.cpp:349
#: src/models/actionsmodel.cpp:340 src/models/actionsmodel.cpp:348
msgid "Changes your display name in this room"
msgstr ""
#: src/models/actionsmodel.cpp:363
#: src/models/actionsmodel.cpp:362
#, kde-format
msgctxt "<username> is already ignored."
msgid "%1 is already ignored."
msgstr ""
#: src/models/actionsmodel.cpp:368
#: src/models/actionsmodel.cpp:367
#, kde-format
msgctxt "<username> is now ignored"
msgid "%1 is now ignored."
msgstr ""
#: src/models/actionsmodel.cpp:370 src/models/actionsmodel.cpp:398
#: src/models/actionsmodel.cpp:369 src/models/actionsmodel.cpp:397
#, kde-format
msgctxt "<username> is not a known user"
msgid "%1 is not a known user."
msgstr ""
#: src/models/actionsmodel.cpp:377
#: src/models/actionsmodel.cpp:376
msgid "Ignores the given user"
msgstr ""
#: src/models/actionsmodel.cpp:392
#: src/models/actionsmodel.cpp:391
#, kde-format
msgctxt "<username> is not ignored."
msgid "%1 is not ignored."
msgstr ""
#: src/models/actionsmodel.cpp:396
#: src/models/actionsmodel.cpp:395
#, kde-format
msgctxt "<username> is no longer ignored."
msgid "%1 is no longer ignored."
msgstr ""
#: src/models/actionsmodel.cpp:405
#: src/models/actionsmodel.cpp:404
msgid "Unignores the given user"
msgstr ""
#: src/models/actionsmodel.cpp:425
#: src/models/actionsmodel.cpp:424
msgid "<reaction text>"
msgstr ""
#: src/models/actionsmodel.cpp:426
#: src/models/actionsmodel.cpp:425
msgid "React to the message with the given text"
msgstr ""
#: src/models/actionsmodel.cpp:442
#: src/models/actionsmodel.cpp:441
#, kde-format
msgctxt "<user> is already banned from this room."
msgid "%1 is already banned from this room."
msgstr ""
#: src/models/actionsmodel.cpp:448
#: src/models/actionsmodel.cpp:447
#, kde-format
msgid "You are not allowed to ban users from this room."
msgstr ""
#: src/models/actionsmodel.cpp:454
#: src/models/actionsmodel.cpp:453
#, 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:458
#: src/models/actionsmodel.cpp:457
#, kde-format
msgctxt "<username> was banned from this room."
msgid "%1 was banned from this room."
msgstr ""
#: src/models/actionsmodel.cpp:463 src/models/actionsmodel.cpp:538
#: src/models/actionsmodel.cpp:462 src/models/actionsmodel.cpp:537
msgid "<user id> [<reason>]"
msgstr ""
#: src/models/actionsmodel.cpp:464
#: src/models/actionsmodel.cpp:463
msgid "Bans the given user"
msgstr ""
#: src/models/actionsmodel.cpp:478
#: src/models/actionsmodel.cpp:477
#, kde-format
msgid "You are not allowed to unban users from this room."
msgstr ""
#: src/models/actionsmodel.cpp:484
#: src/models/actionsmodel.cpp:483
#, kde-format
msgctxt "<user> is not banned from this room."
msgid "%1 is not banned from this room."
msgstr ""
#: src/models/actionsmodel.cpp:489
#: src/models/actionsmodel.cpp:488
#, kde-format
msgctxt "<username> was unbanned from this room."
msgid "%1 was unbanned from this room."
msgstr ""
#: src/models/actionsmodel.cpp:496
#: src/models/actionsmodel.cpp:495
msgid "Removes the ban of the given user"
msgstr ""
#: src/models/actionsmodel.cpp:511
#: src/models/actionsmodel.cpp:510
#, kde-format
msgid "You cannot kick yourself from the room."
msgstr ""
#: src/models/actionsmodel.cpp:516
#: src/models/actionsmodel.cpp:515
#, kde-format
msgctxt "<username> is not in this room"
msgid "%1 is not in this room."
msgstr ""
#: src/models/actionsmodel.cpp:523
#: src/models/actionsmodel.cpp:522
#, kde-format
msgid "You are not allowed to kick users from this room."
msgstr ""
#: src/models/actionsmodel.cpp:529
#: src/models/actionsmodel.cpp:528
#, 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:533
#: src/models/actionsmodel.cpp:532
#, kde-format
msgctxt "<username> was kicked from this room."
msgid "%1 was kicked from this room."
msgstr ""
#: src/models/actionsmodel.cpp:539
#: src/models/actionsmodel.cpp:538
msgid "Removes the user from the room"
msgstr ""
@@ -1807,45 +1807,45 @@ msgstr ""
msgid "Copy link"
msgstr ""
#: src/qml/main.qml:128
#: src/qml/main.qml:124
#, kde-format
msgid "Warning: %1"
msgstr ""
#: src/qml/main.qml:267
#: src/qml/main.qml:263
#, kde-format
msgid "%1: %2"
msgstr ""
#: src/qml/main.qml:308
#: src/qml/main.qml:304
#, kde-format
msgctxt "@title:window"
msgid "Session Verification"
msgstr ""
#: src/qml/main.qml:318
#: src/qml/main.qml:314
#, kde-format
msgid "User consent"
msgstr ""
#: src/qml/main.qml:323
#: src/qml/main.qml:319
#, 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:328
#: src/qml/main.qml:324
#, kde-format
msgid "Open"
msgstr ""
#: src/qml/main.qml:357
#: src/qml/main.qml:353
#, kde-format
msgid "Start a chat"
msgstr ""
#: src/qml/main.qml:359
#: src/qml/main.qml:355
#, kde-format
msgid "Do you want to start a chat with %1?"
msgstr ""
@@ -3765,32 +3765,32 @@ msgid ""
"There's no room %1 in the room list. Check the spelling and the account."
msgstr ""
#: src/roommanager.cpp:210
#: src/roommanager.cpp:208
#, kde-format
msgid "Failed to join room"
msgstr ""
#: src/roommanager.cpp:227
#: src/roommanager.cpp:225
#, kde-format
msgid "You requested to join '%1'"
msgstr ""
#: src/roommanager.cpp:230
#: src/roommanager.cpp:228
#, kde-format
msgid "Failed to request joining room"
msgstr ""
#: src/roommanager.cpp:240
#: src/roommanager.cpp:238
#, kde-format
msgid "No application for the link"
msgstr ""
#: src/roommanager.cpp:240
#: src/roommanager.cpp:238
#, kde-format
msgid "Your operating system could not find an application for the link."
msgstr ""
#: src/roommanager.cpp:246
#: src/roommanager.cpp:244
#, kde-format
msgid "Could not open URL"
msgstr ""

View File

@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: neochat\n"
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
"POT-Creation-Date: 2023-04-11 00:48+0000\n"
"POT-Creation-Date: 2023-04-13 00:49+0000\n"
"PO-Revision-Date: 2023-04-05 06:54+0200\n"
"Last-Translator: Temuri Doghonadze <temuri.doghonadze@gmail.com>\n"
"Language-Team: Georgian <kde-i18n-doc@kde.org>\n"
@@ -221,311 +221,311 @@ msgstr "მედიის ID '%1' სერვერის/მედიისID
msgid "Image request has been cancelled"
msgstr "გამოსახულების მოთხოვნა გაუქმდა"
#: src/models/actionsmodel.cpp:24
#: src/models/actionsmodel.cpp:23
#, kde-format
msgid "Leaving this room."
msgstr "ოთახიდან გასვლა."
#: src/models/actionsmodel.cpp:31 src/models/actionsmodel.cpp:230
#: src/models/actionsmodel.cpp:257 src/models/actionsmodel.cpp:288
#: src/models/actionsmodel.cpp:30 src/models/actionsmodel.cpp:229
#: src/models/actionsmodel.cpp:256 src/models/actionsmodel.cpp:287
#, 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' ოთახის სახელს ან მეტსახელს არ წააგავს."
#: src/models/actionsmodel.cpp:39
#: src/models/actionsmodel.cpp:38
#, kde-format
msgctxt "Leaving room <roomname>."
msgid "Leaving room %1."
msgstr "ოთახიდან გასვლა: %1."
#: src/models/actionsmodel.cpp:42
#: src/models/actionsmodel.cpp:41
#, kde-format
msgctxt "Room <roomname> not found"
msgid "Room %1 not found."
msgstr "ოთახი %1 ვერ ვიპოვე."
#: src/models/actionsmodel.cpp:50 src/models/actionsmodel.cpp:324
#: src/models/actionsmodel.cpp:49 src/models/actionsmodel.cpp:323
#, 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:64 src/models/actionsmodel.cpp:74
#: src/models/actionsmodel.cpp:84 src/models/actionsmodel.cpp:94
#: src/models/actionsmodel.cpp:114 src/models/actionsmodel.cpp:134
#: src/models/actionsmodel.cpp:145 src/models/actionsmodel.cpp:161
#: src/models/actionsmodel.cpp:171 src/models/actionsmodel.cpp:181
msgid "<message>"
msgstr "<message>"
#: src/models/actionsmodel.cpp:66
#: src/models/actionsmodel.cpp:65
msgid "Prepends ¯\\_(ツ)_/¯ to a plain-text message"
msgstr "უბრალო ტექსტური შეტყობინებებისთვის ¯\\_(ツ)_/¯ -ის მიწერა"
#: src/models/actionsmodel.cpp:76
#: src/models/actionsmodel.cpp:75
msgid "Prepends ( ͡° ͜ʖ ͡°) to a plain-text message"
msgstr "უბრალო ტექსტური შეტყობინებებისთვის ( ͡° ͜ʖ ͡°) -ის მიწერა"
#: src/models/actionsmodel.cpp:86
#: src/models/actionsmodel.cpp:85
msgid "Prepends (╯°□°)╯︵ ┻━┻ to a plain-text message"
msgstr "უბრალო ტექსტური შეტყობინებებისთვის (╯°□°)╯︵ ┻━┻ -ის მიწერა"
#: src/models/actionsmodel.cpp:96
#: src/models/actionsmodel.cpp:95
msgid "Prepends ┬──┬ ( ゜-゜ノ) to a plain-text message"
msgstr "უბრალო ტექსტური შეტყობინებებისთვის ┬──┬ ( ゜-゜ノ) -ის მიწერა"
#: src/models/actionsmodel.cpp:116
#: src/models/actionsmodel.cpp:115
msgid "Sends the given message colored as a rainbow"
msgstr "მითითებული შეტყობინების ცისარტყელასავით გაფერადებულის გაგზავნა"
#: src/models/actionsmodel.cpp:136
#: src/models/actionsmodel.cpp:135
msgid "Sends the given emote colored as a rainbow"
msgstr "მიმდინარე ემოტის ცისარტყელასავით გაფერადებულის გაგზავნა"
#: src/models/actionsmodel.cpp:147
#: src/models/actionsmodel.cpp:146
msgid "Sends the given message as plain text"
msgstr "მითითებული შეტყობინების უბრალო ტექსტის სახით გაგზავნა"
#: src/models/actionsmodel.cpp:163
#: src/models/actionsmodel.cpp:162
msgid "Sends the given message as a spoiler"
msgstr "მითითებული შეტყობინების სპოილერად გაგზავნა"
#: src/models/actionsmodel.cpp:173
#: src/models/actionsmodel.cpp:172
msgid "Sends the given emote"
msgstr "მითითებული ემოტის გაგზავნა"
#: src/models/actionsmodel.cpp:183
#: src/models/actionsmodel.cpp:182
msgid "Sends the given message as a notice"
msgstr "მითითებული შეტყობინების შეტყობინების სახით გაგზავნა"
#: src/models/actionsmodel.cpp:192 src/models/actionsmodel.cpp:358
#: src/models/actionsmodel.cpp:386 src/models/actionsmodel.cpp:436
#: src/models/actionsmodel.cpp:473 src/models/actionsmodel.cpp:507
#: src/models/actionsmodel.cpp:191 src/models/actionsmodel.cpp:357
#: src/models/actionsmodel.cpp:385 src/models/actionsmodel.cpp:435
#: src/models/actionsmodel.cpp:472 src/models/actionsmodel.cpp:506
#, kde-format
msgctxt "'<text>' does not look like a matrix id."
msgid "'%1' does not look like a matrix id."
msgstr "\"%1\" matrix ID-ს არ ჰგავს."
#: src/models/actionsmodel.cpp:198
#: src/models/actionsmodel.cpp:197
#, kde-format
msgctxt "<user> is already invited to this room."
msgid "%1 is already invited to this room."
msgstr "%1 ამ ოთახში უკვე მოწვეულია."
#: src/models/actionsmodel.cpp:202
#: src/models/actionsmodel.cpp:201
#, kde-format
msgctxt "<user> is banned from this room."
msgid "%1 is banned from this room."
msgstr "%1 დაიბანა ამ ოთახიდან."
#: src/models/actionsmodel.cpp:207
#: src/models/actionsmodel.cpp:206
#, kde-format
msgid "You are already in this room."
msgstr "უკვე ოთახში ბრძანდებით."
#: src/models/actionsmodel.cpp:211
#: src/models/actionsmodel.cpp:210
#, kde-format
msgctxt "<user> is already in this room."
msgid "%1 is already in this room."
msgstr "%1 უკვე ოთახშია."
#: src/models/actionsmodel.cpp:215
#: src/models/actionsmodel.cpp:214
#, kde-format
msgctxt "<username> was invited into this room"
msgid "%1 was invited into this room"
msgstr "%1 მოწვეულია ამ ოთახში"
#: src/models/actionsmodel.cpp:220 src/models/actionsmodel.cpp:376
#: src/models/actionsmodel.cpp:404 src/models/actionsmodel.cpp:495
#: src/models/actionsmodel.cpp:219 src/models/actionsmodel.cpp:375
#: src/models/actionsmodel.cpp:403 src/models/actionsmodel.cpp:494
msgid "<user id>"
msgstr "<მომხმარებლის id>"
#: src/models/actionsmodel.cpp:221
#: src/models/actionsmodel.cpp:220
msgid "Invites the user to this room"
msgstr "მოიწვევს მომხმარებელს ამ ოთახში"
#: src/models/actionsmodel.cpp:238 src/models/actionsmodel.cpp:295
#: src/models/actionsmodel.cpp:237 src/models/actionsmodel.cpp:294
#, kde-format
msgctxt "Joining room <roomname>."
msgid "Joining room %1."
msgstr "შესვლა ოთახში %1."
#: src/models/actionsmodel.cpp:244 src/models/actionsmodel.cpp:301
#: src/models/actionsmodel.cpp:243 src/models/actionsmodel.cpp:300
msgid "<room alias or id>"
msgstr "<ოთახის მეტსახელი ან id>"
#: src/models/actionsmodel.cpp:245 src/models/actionsmodel.cpp:302
#: src/models/actionsmodel.cpp:244 src/models/actionsmodel.cpp:301
msgid "Joins the given room"
msgstr "მითითებულ ოთახში შესვლა"
#: src/models/actionsmodel.cpp:265
#: src/models/actionsmodel.cpp:264
#, kde-format
msgctxt "Knocking room <roomname>."
msgid "Knocking room %1."
msgstr "ვაკაკუნებ ოთახზე %1."
#: src/models/actionsmodel.cpp:277
#: src/models/actionsmodel.cpp:276
msgid "<room alias or id> [<reason>]"
msgstr "<ოთახის მეტსახელი ან id [<მიზეზი>]"
#: src/models/actionsmodel.cpp:278
#: src/models/actionsmodel.cpp:277
msgid "Requests to join the given room"
msgstr "მითითებულ ოთახში შესვლის მოთხოვნები"
#: src/models/actionsmodel.cpp:292
#: src/models/actionsmodel.cpp:291
#, kde-format
msgctxt "You are already in room <roomname>."
msgid "You are already in room %1."
msgstr "უკვე ოთახში ბრძანდებით: %1."
#: src/models/actionsmodel.cpp:309 src/models/actionsmodel.cpp:317
#: src/models/actionsmodel.cpp:308 src/models/actionsmodel.cpp:316
msgid "[<room alias or id>]"
msgstr "[<ოთახის მეტსახელი ან id>]"
#: src/models/actionsmodel.cpp:310 src/models/actionsmodel.cpp:318
#: src/models/actionsmodel.cpp:309 src/models/actionsmodel.cpp:317
msgid "Leaves the given room or this room, if there is none given"
msgstr "მითითებული ოთახიდან, ან, თუ მითითებული არაა, მიმდინარე ოთახიდან გასვლა"
#: src/models/actionsmodel.cpp:332 src/models/actionsmodel.cpp:340
#: src/models/actionsmodel.cpp:348
#: src/models/actionsmodel.cpp:331 src/models/actionsmodel.cpp:339
#: src/models/actionsmodel.cpp:347
msgid "<display name>"
msgstr "<საჩვენებელი სახელი>"
#: src/models/actionsmodel.cpp:333
#: src/models/actionsmodel.cpp:332
msgid "Changes your global display name"
msgstr "ცვლის თქვენს გლობალურად საჩვენებელ სახელს"
#: src/models/actionsmodel.cpp:341 src/models/actionsmodel.cpp:349
#: src/models/actionsmodel.cpp:340 src/models/actionsmodel.cpp:348
msgid "Changes your display name in this room"
msgstr "ცვლის თქვენს ამ ოთახში საჩვენებელ სახელს"
#: src/models/actionsmodel.cpp:363
#: src/models/actionsmodel.cpp:362
#, kde-format
msgctxt "<username> is already ignored."
msgid "%1 is already ignored."
msgstr "%1 უკვე დაიგნორებულია."
#: src/models/actionsmodel.cpp:368
#: src/models/actionsmodel.cpp:367
#, kde-format
msgctxt "<username> is now ignored"
msgid "%1 is now ignored."
msgstr "%1 ახლა დაიგნორებულია."
#: src/models/actionsmodel.cpp:370 src/models/actionsmodel.cpp:398
#: src/models/actionsmodel.cpp:369 src/models/actionsmodel.cpp:397
#, kde-format
msgctxt "<username> is not a known user"
msgid "%1 is not a known user."
msgstr "%1 იცნობი მომხმარებელია."
#: src/models/actionsmodel.cpp:377
#: src/models/actionsmodel.cpp:376
msgid "Ignores the given user"
msgstr "მითითებული მომხმარებლის დაიგნორება"
#: src/models/actionsmodel.cpp:392
#: src/models/actionsmodel.cpp:391
#, kde-format
msgctxt "<username> is not ignored."
msgid "%1 is not ignored."
msgstr "%1 იგნორირებული არაა."
#: src/models/actionsmodel.cpp:396
#: src/models/actionsmodel.cpp:395
#, kde-format
msgctxt "<username> is no longer ignored."
msgid "%1 is no longer ignored."
msgstr "%1 იგნორირებული აღარაა."
#: src/models/actionsmodel.cpp:405
#: src/models/actionsmodel.cpp:404
msgid "Unignores the given user"
msgstr "მითითებული მომხმარებლის იგნორის მოხსნა"
#: src/models/actionsmodel.cpp:425
#: src/models/actionsmodel.cpp:424
msgid "<reaction text>"
msgstr "<რეაქციის ტექსტი>"
#: src/models/actionsmodel.cpp:426
#: src/models/actionsmodel.cpp:425
msgid "React to the message with the given text"
msgstr "მითითებული ტექსტის მქონე შეტყობინებაზე რეაქცია"
#: src/models/actionsmodel.cpp:442
#: src/models/actionsmodel.cpp:441
#, kde-format
msgctxt "<user> is already banned from this room."
msgid "%1 is already banned from this room."
msgstr "%1 უკვე დაბანილია ამ ოთახიდან."
#: src/models/actionsmodel.cpp:448
#: src/models/actionsmodel.cpp:447
#, kde-format
msgid "You are not allowed to ban users from this room."
msgstr "ამ ოთახიდან მომხმარებლების დაბანვის უფლება არ გაქვთ."
#: src/models/actionsmodel.cpp:454
#: src/models/actionsmodel.cpp:453
#, 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 "ამ ოთახიდან %1-ის ბანის უფლება არ გაქვთ."
#: src/models/actionsmodel.cpp:458
#: src/models/actionsmodel.cpp:457
#, kde-format
msgctxt "<username> was banned from this room."
msgid "%1 was banned from this room."
msgstr "%1 დაიბანა ამ ოთახიდან."
#: src/models/actionsmodel.cpp:463 src/models/actionsmodel.cpp:538
#: src/models/actionsmodel.cpp:462 src/models/actionsmodel.cpp:537
msgid "<user id> [<reason>]"
msgstr "<მომხმარებლის id> [<მიზეზი>]"
#: src/models/actionsmodel.cpp:464
#: src/models/actionsmodel.cpp:463
msgid "Bans the given user"
msgstr "მითითებული მომხმარებლის ბანი"
#: src/models/actionsmodel.cpp:478
#: src/models/actionsmodel.cpp:477
#, kde-format
msgid "You are not allowed to unban users from this room."
msgstr "ამ ოთახიდან მომხმარებლებისთვის ბანის მოხსნა არ შეგიძლიათ."
#: src/models/actionsmodel.cpp:484
#: src/models/actionsmodel.cpp:483
#, kde-format
msgctxt "<user> is not banned from this room."
msgid "%1 is not banned from this room."
msgstr "%1 არაა დაბანილი ამ ოთახიდან."
#: src/models/actionsmodel.cpp:489
#: src/models/actionsmodel.cpp:488
#, kde-format
msgctxt "<username> was unbanned from this room."
msgid "%1 was unbanned from this room."
msgstr "%1 -ს ამ ოთახიდან ბანი მოეხსნა."
#: src/models/actionsmodel.cpp:496
#: src/models/actionsmodel.cpp:495
msgid "Removes the ban of the given user"
msgstr "მითითებული მომხმარებლის ბანის მოცილება"
#: src/models/actionsmodel.cpp:511
#: src/models/actionsmodel.cpp:510
#, kde-format
msgid "You cannot kick yourself from the room."
msgstr "ოთახიდან თქვენს თავს ვერ გააგდებთ."
#: src/models/actionsmodel.cpp:516
#: src/models/actionsmodel.cpp:515
#, kde-format
msgctxt "<username> is not in this room"
msgid "%1 is not in this room."
msgstr "%1 ოთახში არაა."
#: src/models/actionsmodel.cpp:523
#: src/models/actionsmodel.cpp:522
#, kde-format
msgid "You are not allowed to kick users from this room."
msgstr "ამ ოთახიდან მომხმარებლების გაყრის უფლება არ გაქვთ."
#: src/models/actionsmodel.cpp:529
#: src/models/actionsmodel.cpp:528
#, 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 "ამ ოთახიდან %1-ის გაგდების უფლება არ გაქვთ."
#: src/models/actionsmodel.cpp:533
#: src/models/actionsmodel.cpp:532
#, kde-format
msgctxt "<username> was kicked from this room."
msgid "%1 was kicked from this room."
msgstr "%1 გააგდეს ამ ოთახიდან."
#: src/models/actionsmodel.cpp:539
#: src/models/actionsmodel.cpp:538
msgid "Removes the user from the room"
msgstr "მომხმარებლის ამ ოთახიდან მოცილება"
@@ -1828,28 +1828,28 @@ msgstr "პირადი საუბრის გახსნა"
msgid "Copy link"
msgstr "ბმულის კოპირება"
#: src/qml/main.qml:128
#: src/qml/main.qml:124
#, kde-format
msgid "Warning: %1"
msgstr "გაფრთხილება: %1"
#: src/qml/main.qml:267
#: src/qml/main.qml:263
#, kde-format
msgid "%1: %2"
msgstr "%1: %2"
#: src/qml/main.qml:308
#: src/qml/main.qml:304
#, kde-format
msgctxt "@title:window"
msgid "Session Verification"
msgstr "სესიის გადამოწმება"
#: src/qml/main.qml:318
#: src/qml/main.qml:314
#, kde-format
msgid "User consent"
msgstr "მომხმარებლის თანხმობა"
#: src/qml/main.qml:323
#: src/qml/main.qml:319
#, kde-format
msgid ""
"Your homeserver requires you to agree to its terms and conditions before "
@@ -1858,17 +1858,17 @@ msgstr ""
"თქვენი სახლის სერვერის გამოყენებამდე საჭიროა მის პირობებს და ლიცენზიას "
"დაეთანხმოთ. მის წასაკითხად ქვემოთ ღილაკს დააჭირეთ."
#: src/qml/main.qml:328
#: src/qml/main.qml:324
#, kde-format
msgid "Open"
msgstr "გახსნა"
#: src/qml/main.qml:357
#: src/qml/main.qml:353
#, kde-format
msgid "Start a chat"
msgstr "საუბრის დაწყება"
#: src/qml/main.qml:359
#: src/qml/main.qml:355
#, kde-format
msgid "Do you want to start a chat with %1?"
msgstr "გნებავთ დაიწყოთ საუბარი %1-სთან?"
@@ -3804,32 +3804,32 @@ msgid ""
"There's no room %1 in the room list. Check the spelling and the account."
msgstr "ოთახების სიაში ოთახი %1 არ არსებობს. შეამოწმეთ მართლწერა და ანგარიში."
#: src/roommanager.cpp:210
#: src/roommanager.cpp:208
#, kde-format
msgid "Failed to join room"
msgstr "ოთახში შესვლის შეცდომა"
#: src/roommanager.cpp:227
#: src/roommanager.cpp:225
#, kde-format
msgid "You requested to join '%1'"
msgstr "მოითხოვეთ '%1'-ზე შესვლა"
#: src/roommanager.cpp:230
#: src/roommanager.cpp:228
#, kde-format
msgid "Failed to request joining room"
msgstr "ოთახში შესვლის მოთხოვნის შეცდომა"
#: src/roommanager.cpp:240
#: src/roommanager.cpp:238
#, kde-format
msgid "No application for the link"
msgstr "ბმულისთვის აპლიკაცია არ არსებობს"
#: src/roommanager.cpp:240
#: src/roommanager.cpp:238
#, kde-format
msgid "Your operating system could not find an application for the link."
msgstr "თქვენმა ოპერაციულმა სისტემამ ბმულისთვის აპლიკაცია ვერ იპოვა."
#: src/roommanager.cpp:246
#: src/roommanager.cpp:244
#, kde-format
msgid "Could not open URL"
msgstr "URL-ის გახსნის შეცდომა"

View File

@@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: neochat\n"
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
"POT-Creation-Date: 2023-04-11 00:48+0000\n"
"POT-Creation-Date: 2023-04-13 00:49+0000\n"
"PO-Revision-Date: 2022-08-09 13:27+0200\n"
"Last-Translator: Shinjo Park <kde@peremen.name>\n"
"Language-Team: Korean <kde-kr@kde.org>\n"
@@ -227,366 +227,366 @@ msgstr "미디어 ID '%1'이(가) server/mediaId 형식을 따르지 않음"
msgid "Image request has been cancelled"
msgstr "그림 요청이 취소됨"
#: src/models/actionsmodel.cpp:24
#: src/models/actionsmodel.cpp:23
#, fuzzy, kde-format
#| msgid "Open NeoChat in this room"
msgid "Leaving this room."
msgstr "이 대화방에서 NeoChat 열기"
#: src/models/actionsmodel.cpp:31 src/models/actionsmodel.cpp:230
#: src/models/actionsmodel.cpp:257 src/models/actionsmodel.cpp:288
#: src/models/actionsmodel.cpp:30 src/models/actionsmodel.cpp:229
#: src/models/actionsmodel.cpp:256 src/models/actionsmodel.cpp:287
#, 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:38
#, fuzzy, kde-format
#| msgid "Leave room"
msgctxt "Leaving room <roomname>."
msgid "Leaving room %1."
msgstr "대화방 떠나기"
#: src/models/actionsmodel.cpp:42
#: src/models/actionsmodel.cpp:41
#, fuzzy, kde-format
#| msgid "Room not found"
msgctxt "Room <roomname> not found"
msgid "Room %1 not found."
msgstr "대화방을 찾을 수 없음"
#: src/models/actionsmodel.cpp:50 src/models/actionsmodel.cpp:324
#: src/models/actionsmodel.cpp:49 src/models/actionsmodel.cpp:323
#, 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:64 src/models/actionsmodel.cpp:74
#: src/models/actionsmodel.cpp:84 src/models/actionsmodel.cpp:94
#: src/models/actionsmodel.cpp:114 src/models/actionsmodel.cpp:134
#: src/models/actionsmodel.cpp:145 src/models/actionsmodel.cpp:161
#: src/models/actionsmodel.cpp:171 src/models/actionsmodel.cpp:181
#, fuzzy
#| msgid "Send message"
msgid "<message>"
msgstr "메시지 보내기"
#: src/models/actionsmodel.cpp:66
#: src/models/actionsmodel.cpp:65
msgid "Prepends ¯\\_(ツ)_/¯ to a plain-text message"
msgstr "일반 텍스트 메시지 앞에 ¯\\_(ツ)_/¯ 추가"
#: src/models/actionsmodel.cpp:76
#: src/models/actionsmodel.cpp:75
msgid "Prepends ( ͡° ͜ʖ ͡°) to a plain-text message"
msgstr "일반 텍스트 메시지 앞에 ( ͡° ͜ʖ ͡°) 추가"
#: src/models/actionsmodel.cpp:86
#: src/models/actionsmodel.cpp:85
msgid "Prepends (╯°□°)╯︵ ┻━┻ to a plain-text message"
msgstr "일반 텍스트 메시지 앞에 (╯°□°)╯︵ ┻━┻ 추가"
#: src/models/actionsmodel.cpp:96
#: src/models/actionsmodel.cpp:95
msgid "Prepends ┬──┬ ( ゜-゜ノ) to a plain-text message"
msgstr "일반 텍스트 메시지 앞에 ┬──┬ ( ゜-゜ノ) 추가"
#: src/models/actionsmodel.cpp:116
#: src/models/actionsmodel.cpp:115
#, fuzzy
#| msgid "Sends the given message coloured as a rainbow"
msgid "Sends the given message colored as a rainbow"
msgstr "지정한 메시지를 무지개색으로 전송"
#: src/models/actionsmodel.cpp:136
#: src/models/actionsmodel.cpp:135
#, fuzzy
#| msgid "Sends the given emote coloured as a rainbow"
msgid "Sends the given emote colored as a rainbow"
msgstr "지정한 이모지를 무지개색으로 전송"
#: src/models/actionsmodel.cpp:147
#: src/models/actionsmodel.cpp:146
#, fuzzy
#| msgid "Sends the given message as a spoiler"
msgid "Sends the given message as plain text"
msgstr "지정한 메시지를 스포일러로 전송"
#: src/models/actionsmodel.cpp:163
#: src/models/actionsmodel.cpp:162
msgid "Sends the given message as a spoiler"
msgstr "지정한 메시지를 스포일러로 전송"
#: src/models/actionsmodel.cpp:173
#: src/models/actionsmodel.cpp:172
#, fuzzy
#| msgid "Sends the given message as a spoiler"
msgid "Sends the given emote"
msgstr "지정한 메시지를 스포일러로 전송"
#: src/models/actionsmodel.cpp:183
#: src/models/actionsmodel.cpp:182
#, fuzzy
#| msgid "Sends the given message as a spoiler"
msgid "Sends the given message as a notice"
msgstr "지정한 메시지를 스포일러로 전송"
#: src/models/actionsmodel.cpp:192 src/models/actionsmodel.cpp:358
#: src/models/actionsmodel.cpp:386 src/models/actionsmodel.cpp:436
#: src/models/actionsmodel.cpp:473 src/models/actionsmodel.cpp:507
#: src/models/actionsmodel.cpp:191 src/models/actionsmodel.cpp:357
#: src/models/actionsmodel.cpp:385 src/models/actionsmodel.cpp:435
#: src/models/actionsmodel.cpp:472 src/models/actionsmodel.cpp:506
#, 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:198
#: src/models/actionsmodel.cpp:197
#, fuzzy, kde-format
#| msgid "reinvited %1 to the room"
msgctxt "<user> is already invited to this room."
msgid "%1 is already invited to this room."
msgstr "%1 님을 대화방에 다시 초대함"
#: src/models/actionsmodel.cpp:202
#: src/models/actionsmodel.cpp:201
#, fuzzy, kde-format
#| msgid "self-banned from the room"
msgctxt "<user> is banned from this room."
msgid "%1 is banned from this room."
msgstr "님이 대화방에서 자기 자신을 차단함"
#: src/models/actionsmodel.cpp:207
#: src/models/actionsmodel.cpp:206
#, fuzzy, kde-format
#| msgid "Open NeoChat in this room"
msgid "You are already in this room."
msgstr "이 대화방에서 NeoChat 열기"
#: src/models/actionsmodel.cpp:211
#: src/models/actionsmodel.cpp:210
#, fuzzy, kde-format
#| msgid "Open NeoChat in this room"
msgctxt "<user> is already in this room."
msgid "%1 is already in this room."
msgstr "이 대화방에서 NeoChat 열기"
#: src/models/actionsmodel.cpp:215
#: src/models/actionsmodel.cpp:214
#, fuzzy, kde-format
#| msgid "%1 invited you to a room"
msgctxt "<username> was invited into this room"
msgid "%1 was invited into this room"
msgstr "%1 님이 대화방에 초대함"
#: src/models/actionsmodel.cpp:220 src/models/actionsmodel.cpp:376
#: src/models/actionsmodel.cpp:404 src/models/actionsmodel.cpp:495
#: src/models/actionsmodel.cpp:219 src/models/actionsmodel.cpp:375
#: src/models/actionsmodel.cpp:403 src/models/actionsmodel.cpp:494
msgid "<user id>"
msgstr ""
#: src/models/actionsmodel.cpp:221
#: src/models/actionsmodel.cpp:220
#, fuzzy
#| msgid "%1 invited you to a room"
msgid "Invites the user to this room"
msgstr "%1 님이 대화방에 초대함"
#: src/models/actionsmodel.cpp:238 src/models/actionsmodel.cpp:295
#: src/models/actionsmodel.cpp:237 src/models/actionsmodel.cpp:294
#, fuzzy, kde-format
#| msgid "Configure room"
msgctxt "Joining room <roomname>."
msgid "Joining room %1."
msgstr "대화방 설정"
#: src/models/actionsmodel.cpp:244 src/models/actionsmodel.cpp:301
#: src/models/actionsmodel.cpp:243 src/models/actionsmodel.cpp:300
msgid "<room alias or id>"
msgstr ""
#: src/models/actionsmodel.cpp:245 src/models/actionsmodel.cpp:302
#: src/models/actionsmodel.cpp:244 src/models/actionsmodel.cpp:301
#, fuzzy
#| msgid "joined the room"
msgid "Joins the given room"
msgstr "님이 대화방에 입장함"
#: src/models/actionsmodel.cpp:265
#: src/models/actionsmodel.cpp:264
#, fuzzy, kde-format
#| msgid "Configure room"
msgctxt "Knocking room <roomname>."
msgid "Knocking room %1."
msgstr "대화방 설정"
#: src/models/actionsmodel.cpp:277
#: src/models/actionsmodel.cpp:276
msgid "<room alias or id> [<reason>]"
msgstr ""
#: src/models/actionsmodel.cpp:278
#: src/models/actionsmodel.cpp:277
#, fuzzy
#| msgid "joined the room"
msgid "Requests to join the given room"
msgstr "님이 대화방에 입장함"
#: src/models/actionsmodel.cpp:292
#: src/models/actionsmodel.cpp:291
#, kde-format
msgctxt "You are already in room <roomname>."
msgid "You are already in room %1."
msgstr ""
#: src/models/actionsmodel.cpp:309 src/models/actionsmodel.cpp:317
#: src/models/actionsmodel.cpp:308 src/models/actionsmodel.cpp:316
msgid "[<room alias or id>]"
msgstr ""
#: src/models/actionsmodel.cpp:310 src/models/actionsmodel.cpp:318
#: src/models/actionsmodel.cpp:309 src/models/actionsmodel.cpp:317
msgid "Leaves the given room or this room, if there is none given"
msgstr ""
#: src/models/actionsmodel.cpp:332 src/models/actionsmodel.cpp:340
#: src/models/actionsmodel.cpp:348
#: src/models/actionsmodel.cpp:331 src/models/actionsmodel.cpp:339
#: src/models/actionsmodel.cpp:347
msgid "<display name>"
msgstr ""
#: src/models/actionsmodel.cpp:333
#: src/models/actionsmodel.cpp:332
#, fuzzy
#| msgctxt "their refers to a singular user"
#| msgid "changed their display name to %1"
msgid "Changes your global display name"
msgstr "님이 표시 이름을 %1(으)로 변경함|/|표시 이름을 %1$[으 %1]로 변경함"
#: src/models/actionsmodel.cpp:341 src/models/actionsmodel.cpp:349
#: src/models/actionsmodel.cpp:340 src/models/actionsmodel.cpp:348
#, fuzzy
#| msgctxt "their refers to a singular user"
#| msgid "changed their display name to %1"
msgid "Changes your display name in this room"
msgstr "님이 표시 이름을 %1(으)로 변경함|/|표시 이름을 %1$[으 %1]로 변경함"
#: src/models/actionsmodel.cpp:363
#: src/models/actionsmodel.cpp:362
#, kde-format
msgctxt "<username> is already ignored."
msgid "%1 is already ignored."
msgstr ""
#: src/models/actionsmodel.cpp:368
#: src/models/actionsmodel.cpp:367
#, kde-format
msgctxt "<username> is now ignored"
msgid "%1 is now ignored."
msgstr ""
#: src/models/actionsmodel.cpp:370 src/models/actionsmodel.cpp:398
#: src/models/actionsmodel.cpp:369 src/models/actionsmodel.cpp:397
#, kde-format
msgctxt "<username> is not a known user"
msgid "%1 is not a known user."
msgstr ""
#: src/models/actionsmodel.cpp:377
#: src/models/actionsmodel.cpp:376
#, fuzzy
#| msgid "Ignore this user"
msgid "Ignores the given user"
msgstr "이 사용자 무시"
#: src/models/actionsmodel.cpp:392
#: src/models/actionsmodel.cpp:391
#, kde-format
msgctxt "<username> is not ignored."
msgid "%1 is not ignored."
msgstr ""
#: src/models/actionsmodel.cpp:396
#: src/models/actionsmodel.cpp:395
#, kde-format
msgctxt "<username> is no longer ignored."
msgid "%1 is no longer ignored."
msgstr ""
#: src/models/actionsmodel.cpp:405
#: src/models/actionsmodel.cpp:404
#, fuzzy
#| msgid "Unignore this user"
msgid "Unignores the given user"
msgstr "이 사용자 무시 해제"
#: src/models/actionsmodel.cpp:425
#: src/models/actionsmodel.cpp:424
msgid "<reaction text>"
msgstr ""
#: src/models/actionsmodel.cpp:426
#: src/models/actionsmodel.cpp:425
#, fuzzy
#| msgid "React to this message with a text"
msgid "React to the message with the given text"
msgstr "이 메시지에 텍스트로 반응"
#: src/models/actionsmodel.cpp:442
#: src/models/actionsmodel.cpp:441
#, fuzzy, kde-format
#| msgid "self-banned from the room"
msgctxt "<user> is already banned from this room."
msgid "%1 is already banned from this room."
msgstr "님이 대화방에서 자기 자신을 차단함"
#: src/models/actionsmodel.cpp:448
#: src/models/actionsmodel.cpp:447
#, fuzzy, kde-format
#| msgid "Open NeoChat in this room"
msgid "You are not allowed to ban users from this room."
msgstr "이 대화방에서 NeoChat 열기"
#: src/models/actionsmodel.cpp:454
#: src/models/actionsmodel.cpp:453
#, fuzzy, kde-format
#| msgid "Open NeoChat in this room"
msgctxt "You are not allowed to ban <username> from this room."
msgid "You are not allowed to ban %1 from this room."
msgstr "이 대화방에서 NeoChat 열기"
#: src/models/actionsmodel.cpp:458
#: src/models/actionsmodel.cpp:457
#, fuzzy, kde-format
#| msgid "self-banned from the room"
msgctxt "<username> was banned from this room."
msgid "%1 was banned from this room."
msgstr "님이 대화방에서 자기 자신을 차단함"
#: src/models/actionsmodel.cpp:463 src/models/actionsmodel.cpp:538
#: src/models/actionsmodel.cpp:462 src/models/actionsmodel.cpp:537
msgid "<user id> [<reason>]"
msgstr ""
#: src/models/actionsmodel.cpp:464
#: src/models/actionsmodel.cpp:463
#, fuzzy
#| msgid "Ignore this user"
msgid "Bans the given user"
msgstr "이 사용자 무시"
#: src/models/actionsmodel.cpp:478
#: src/models/actionsmodel.cpp:477
#, fuzzy, kde-format
#| msgid "Open NeoChat in this room"
msgid "You are not allowed to unban users from this room."
msgstr "이 대화방에서 NeoChat 열기"
#: src/models/actionsmodel.cpp:484
#: src/models/actionsmodel.cpp:483
#, fuzzy, kde-format
#| msgid "self-banned from the room"
msgctxt "<user> is not banned from this room."
msgid "%1 is not banned from this room."
msgstr "님이 대화방에서 자기 자신을 차단함"
#: src/models/actionsmodel.cpp:489
#: src/models/actionsmodel.cpp:488
#, fuzzy, kde-format
#| msgid "self-banned from the room"
msgctxt "<username> was unbanned from this room."
msgid "%1 was unbanned from this room."
msgstr "님이 대화방에서 자기 자신을 차단함"
#: src/models/actionsmodel.cpp:496
#: src/models/actionsmodel.cpp:495
#, fuzzy
#| msgid "Ignore this user"
msgid "Removes the ban of the given user"
msgstr "이 사용자 무시"
#: src/models/actionsmodel.cpp:511
#: src/models/actionsmodel.cpp:510
#, kde-format
msgid "You cannot kick yourself from the room."
msgstr ""
#: src/models/actionsmodel.cpp:516
#: src/models/actionsmodel.cpp:515
#, fuzzy, kde-format
#| msgid "Open NeoChat in this room"
msgctxt "<username> is not in this room"
msgid "%1 is not in this room."
msgstr "이 대화방에서 NeoChat 열기"
#: src/models/actionsmodel.cpp:523
#: src/models/actionsmodel.cpp:522
#, fuzzy, kde-format
#| msgid "Open NeoChat in this room"
msgid "You are not allowed to kick users from this room."
msgstr "이 대화방에서 NeoChat 열기"
#: src/models/actionsmodel.cpp:529
#: src/models/actionsmodel.cpp:528
#, fuzzy, kde-format
#| msgid "Open NeoChat in this room"
msgctxt "You are not allowed to kick <username> from this room"
msgid "You are not allowed to kick %1 from this room."
msgstr "이 대화방에서 NeoChat 열기"
#: src/models/actionsmodel.cpp:533
#: src/models/actionsmodel.cpp:532
#, fuzzy, kde-format
#| msgid "self-banned from the room"
msgctxt "<username> was kicked from this room."
msgid "%1 was kicked from this room."
msgstr "님이 대화방에서 자기 자신을 차단함"
#: src/models/actionsmodel.cpp:539
#: src/models/actionsmodel.cpp:538
#, fuzzy
#| msgid "%1 invited you to a room"
msgid "Removes the user from the room"
@@ -1930,29 +1930,29 @@ msgstr "개인 대화 열기"
msgid "Copy link"
msgstr "복사"
#: src/qml/main.qml:128
#: src/qml/main.qml:124
#, kde-format
msgid "Warning: %1"
msgstr "경고: %1"
#: src/qml/main.qml:267
#: src/qml/main.qml:263
#, kde-format
msgid "%1: %2"
msgstr "%1: %2"
#: src/qml/main.qml:308
#: src/qml/main.qml:304
#, fuzzy, kde-format
#| msgid "Show notifications"
msgctxt "@title:window"
msgid "Session Verification"
msgstr "알림 표시"
#: src/qml/main.qml:318
#: src/qml/main.qml:314
#, kde-format
msgid "User consent"
msgstr "사용자 동의"
#: src/qml/main.qml:323
#: src/qml/main.qml:319
#, kde-format
msgid ""
"Your homeserver requires you to agree to its terms and conditions before "
@@ -1961,17 +1961,17 @@ msgstr ""
"홈 서버를 사용하기 전에 사용 조건에 동의해야 합니다. 아래 단추를 클릭하여 읽"
"으십시오."
#: src/qml/main.qml:328
#: src/qml/main.qml:324
#, kde-format
msgid "Open"
msgstr "열기"
#: src/qml/main.qml:357
#: src/qml/main.qml:353
#, kde-format
msgid "Start a chat"
msgstr "대화 시작"
#: src/qml/main.qml:359
#: src/qml/main.qml:355
#, kde-format
msgid "Do you want to start a chat with %1?"
msgstr "%1 님과 대화를 시작하시겠습니까?"
@@ -4021,34 +4021,34 @@ msgid ""
"There's no room %1 in the room list. Check the spelling and the account."
msgstr "대화방 목록에 %1이(가) 없습니다. 계정과 철자를 확인하십시오."
#: src/roommanager.cpp:210
#: src/roommanager.cpp:208
#, fuzzy, kde-format
#| msgid "%1 invited you to a room"
msgid "Failed to join room"
msgstr "%1 님이 대화방에 초대함"
#: src/roommanager.cpp:227
#: src/roommanager.cpp:225
#, kde-format
msgid "You requested to join '%1'"
msgstr ""
#: src/roommanager.cpp:230
#: src/roommanager.cpp:228
#, fuzzy, kde-format
#| msgid "%1 invited you to a room"
msgid "Failed to request joining room"
msgstr "%1 님이 대화방에 초대함"
#: src/roommanager.cpp:240
#: src/roommanager.cpp:238
#, kde-format
msgid "No application for the link"
msgstr "링크에 사용할 수 있는 프로그램 없음"
#: src/roommanager.cpp:240
#: src/roommanager.cpp:238
#, kde-format
msgid "Your operating system could not find an application for the link."
msgstr "운영 체제에서 링크를 열 수 있는 프로그램을 찾을 수 없습니다."
#: src/roommanager.cpp:246
#: src/roommanager.cpp:244
#, kde-format
msgid "Could not open URL"
msgstr "URL을 열 수 없음"

View File

@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: neochat\n"
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
"POT-Creation-Date: 2023-04-11 00:48+0000\n"
"POT-Creation-Date: 2023-04-13 00:49+0000\n"
"PO-Revision-Date: 2023-02-25 01:00+0000\n"
"Last-Translator: Automatically generated\n"
"Language-Team: none\n"
@@ -220,311 +220,311 @@ msgstr ""
msgid "Image request has been cancelled"
msgstr ""
#: src/models/actionsmodel.cpp:24
#: src/models/actionsmodel.cpp:23
#, kde-format
msgid "Leaving this room."
msgstr ""
#: src/models/actionsmodel.cpp:31 src/models/actionsmodel.cpp:230
#: src/models/actionsmodel.cpp:257 src/models/actionsmodel.cpp:288
#: src/models/actionsmodel.cpp:30 src/models/actionsmodel.cpp:229
#: src/models/actionsmodel.cpp:256 src/models/actionsmodel.cpp:287
#, 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:38
#, kde-format
msgctxt "Leaving room <roomname>."
msgid "Leaving room %1."
msgstr ""
#: src/models/actionsmodel.cpp:42
#: src/models/actionsmodel.cpp:41
#, kde-format
msgctxt "Room <roomname> not found"
msgid "Room %1 not found."
msgstr ""
#: src/models/actionsmodel.cpp:50 src/models/actionsmodel.cpp:324
#: src/models/actionsmodel.cpp:49 src/models/actionsmodel.cpp:323
#, 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:64 src/models/actionsmodel.cpp:74
#: src/models/actionsmodel.cpp:84 src/models/actionsmodel.cpp:94
#: src/models/actionsmodel.cpp:114 src/models/actionsmodel.cpp:134
#: src/models/actionsmodel.cpp:145 src/models/actionsmodel.cpp:161
#: src/models/actionsmodel.cpp:171 src/models/actionsmodel.cpp:181
msgid "<message>"
msgstr ""
#: src/models/actionsmodel.cpp:66
#: src/models/actionsmodel.cpp:65
msgid "Prepends ¯\\_(ツ)_/¯ to a plain-text message"
msgstr ""
#: src/models/actionsmodel.cpp:76
#: src/models/actionsmodel.cpp:75
msgid "Prepends ( ͡° ͜ʖ ͡°) to a plain-text message"
msgstr ""
#: src/models/actionsmodel.cpp:86
#: src/models/actionsmodel.cpp:85
msgid "Prepends (╯°□°)╯︵ ┻━┻ to a plain-text message"
msgstr ""
#: src/models/actionsmodel.cpp:96
#: src/models/actionsmodel.cpp:95
msgid "Prepends ┬──┬ ( ゜-゜ノ) to a plain-text message"
msgstr ""
#: src/models/actionsmodel.cpp:116
#: src/models/actionsmodel.cpp:115
msgid "Sends the given message colored as a rainbow"
msgstr ""
#: src/models/actionsmodel.cpp:136
#: src/models/actionsmodel.cpp:135
msgid "Sends the given emote colored as a rainbow"
msgstr ""
#: src/models/actionsmodel.cpp:147
#: src/models/actionsmodel.cpp:146
msgid "Sends the given message as plain text"
msgstr ""
#: src/models/actionsmodel.cpp:163
#: src/models/actionsmodel.cpp:162
msgid "Sends the given message as a spoiler"
msgstr ""
#: src/models/actionsmodel.cpp:173
#: src/models/actionsmodel.cpp:172
msgid "Sends the given emote"
msgstr ""
#: src/models/actionsmodel.cpp:183
#: src/models/actionsmodel.cpp:182
msgid "Sends the given message as a notice"
msgstr ""
#: src/models/actionsmodel.cpp:192 src/models/actionsmodel.cpp:358
#: src/models/actionsmodel.cpp:386 src/models/actionsmodel.cpp:436
#: src/models/actionsmodel.cpp:473 src/models/actionsmodel.cpp:507
#: src/models/actionsmodel.cpp:191 src/models/actionsmodel.cpp:357
#: src/models/actionsmodel.cpp:385 src/models/actionsmodel.cpp:435
#: src/models/actionsmodel.cpp:472 src/models/actionsmodel.cpp:506
#, 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:198
#: src/models/actionsmodel.cpp:197
#, kde-format
msgctxt "<user> is already invited to this room."
msgid "%1 is already invited to this room."
msgstr ""
#: src/models/actionsmodel.cpp:202
#: src/models/actionsmodel.cpp:201
#, kde-format
msgctxt "<user> is banned from this room."
msgid "%1 is banned from this room."
msgstr ""
#: src/models/actionsmodel.cpp:207
#: src/models/actionsmodel.cpp:206
#, kde-format
msgid "You are already in this room."
msgstr ""
#: src/models/actionsmodel.cpp:211
#: 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:215
#: 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:220 src/models/actionsmodel.cpp:376
#: src/models/actionsmodel.cpp:404 src/models/actionsmodel.cpp:495
#: src/models/actionsmodel.cpp:219 src/models/actionsmodel.cpp:375
#: src/models/actionsmodel.cpp:403 src/models/actionsmodel.cpp:494
msgid "<user id>"
msgstr ""
#: src/models/actionsmodel.cpp:221
#: src/models/actionsmodel.cpp:220
msgid "Invites the user to this room"
msgstr ""
#: src/models/actionsmodel.cpp:238 src/models/actionsmodel.cpp:295
#: src/models/actionsmodel.cpp:237 src/models/actionsmodel.cpp:294
#, kde-format
msgctxt "Joining room <roomname>."
msgid "Joining room %1."
msgstr ""
#: src/models/actionsmodel.cpp:244 src/models/actionsmodel.cpp:301
#: src/models/actionsmodel.cpp:243 src/models/actionsmodel.cpp:300
msgid "<room alias or id>"
msgstr ""
#: src/models/actionsmodel.cpp:245 src/models/actionsmodel.cpp:302
#: src/models/actionsmodel.cpp:244 src/models/actionsmodel.cpp:301
msgid "Joins the given room"
msgstr ""
#: src/models/actionsmodel.cpp:265
#: src/models/actionsmodel.cpp:264
#, kde-format
msgctxt "Knocking room <roomname>."
msgid "Knocking room %1."
msgstr ""
#: src/models/actionsmodel.cpp:277
#: src/models/actionsmodel.cpp:276
msgid "<room alias or id> [<reason>]"
msgstr ""
#: src/models/actionsmodel.cpp:278
#: src/models/actionsmodel.cpp:277
msgid "Requests to join the given room"
msgstr ""
#: src/models/actionsmodel.cpp:292
#: src/models/actionsmodel.cpp:291
#, kde-format
msgctxt "You are already in room <roomname>."
msgid "You are already in room %1."
msgstr ""
#: src/models/actionsmodel.cpp:309 src/models/actionsmodel.cpp:317
#: src/models/actionsmodel.cpp:308 src/models/actionsmodel.cpp:316
msgid "[<room alias or id>]"
msgstr ""
#: src/models/actionsmodel.cpp:310 src/models/actionsmodel.cpp:318
#: src/models/actionsmodel.cpp:309 src/models/actionsmodel.cpp:317
msgid "Leaves the given room or this room, if there is none given"
msgstr ""
#: src/models/actionsmodel.cpp:332 src/models/actionsmodel.cpp:340
#: src/models/actionsmodel.cpp:348
#: src/models/actionsmodel.cpp:331 src/models/actionsmodel.cpp:339
#: src/models/actionsmodel.cpp:347
msgid "<display name>"
msgstr ""
#: src/models/actionsmodel.cpp:333
#: src/models/actionsmodel.cpp:332
msgid "Changes your global display name"
msgstr ""
#: src/models/actionsmodel.cpp:341 src/models/actionsmodel.cpp:349
#: src/models/actionsmodel.cpp:340 src/models/actionsmodel.cpp:348
msgid "Changes your display name in this room"
msgstr ""
#: src/models/actionsmodel.cpp:363
#: src/models/actionsmodel.cpp:362
#, kde-format
msgctxt "<username> is already ignored."
msgid "%1 is already ignored."
msgstr ""
#: src/models/actionsmodel.cpp:368
#: src/models/actionsmodel.cpp:367
#, kde-format
msgctxt "<username> is now ignored"
msgid "%1 is now ignored."
msgstr ""
#: src/models/actionsmodel.cpp:370 src/models/actionsmodel.cpp:398
#: src/models/actionsmodel.cpp:369 src/models/actionsmodel.cpp:397
#, kde-format
msgctxt "<username> is not a known user"
msgid "%1 is not a known user."
msgstr ""
#: src/models/actionsmodel.cpp:377
#: src/models/actionsmodel.cpp:376
msgid "Ignores the given user"
msgstr ""
#: src/models/actionsmodel.cpp:392
#: src/models/actionsmodel.cpp:391
#, kde-format
msgctxt "<username> is not ignored."
msgid "%1 is not ignored."
msgstr ""
#: src/models/actionsmodel.cpp:396
#: src/models/actionsmodel.cpp:395
#, kde-format
msgctxt "<username> is no longer ignored."
msgid "%1 is no longer ignored."
msgstr ""
#: src/models/actionsmodel.cpp:405
#: src/models/actionsmodel.cpp:404
msgid "Unignores the given user"
msgstr ""
#: src/models/actionsmodel.cpp:425
#: src/models/actionsmodel.cpp:424
msgid "<reaction text>"
msgstr ""
#: src/models/actionsmodel.cpp:426
#: src/models/actionsmodel.cpp:425
msgid "React to the message with the given text"
msgstr ""
#: src/models/actionsmodel.cpp:442
#: src/models/actionsmodel.cpp:441
#, kde-format
msgctxt "<user> is already banned from this room."
msgid "%1 is already banned from this room."
msgstr ""
#: src/models/actionsmodel.cpp:448
#: src/models/actionsmodel.cpp:447
#, kde-format
msgid "You are not allowed to ban users from this room."
msgstr ""
#: src/models/actionsmodel.cpp:454
#: src/models/actionsmodel.cpp:453
#, 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:458
#: src/models/actionsmodel.cpp:457
#, kde-format
msgctxt "<username> was banned from this room."
msgid "%1 was banned from this room."
msgstr ""
#: src/models/actionsmodel.cpp:463 src/models/actionsmodel.cpp:538
#: src/models/actionsmodel.cpp:462 src/models/actionsmodel.cpp:537
msgid "<user id> [<reason>]"
msgstr ""
#: src/models/actionsmodel.cpp:464
#: src/models/actionsmodel.cpp:463
msgid "Bans the given user"
msgstr ""
#: src/models/actionsmodel.cpp:478
#: src/models/actionsmodel.cpp:477
#, kde-format
msgid "You are not allowed to unban users from this room."
msgstr ""
#: src/models/actionsmodel.cpp:484
#: src/models/actionsmodel.cpp:483
#, kde-format
msgctxt "<user> is not banned from this room."
msgid "%1 is not banned from this room."
msgstr ""
#: src/models/actionsmodel.cpp:489
#: src/models/actionsmodel.cpp:488
#, kde-format
msgctxt "<username> was unbanned from this room."
msgid "%1 was unbanned from this room."
msgstr ""
#: src/models/actionsmodel.cpp:496
#: src/models/actionsmodel.cpp:495
msgid "Removes the ban of the given user"
msgstr ""
#: src/models/actionsmodel.cpp:511
#: src/models/actionsmodel.cpp:510
#, kde-format
msgid "You cannot kick yourself from the room."
msgstr ""
#: src/models/actionsmodel.cpp:516
#: src/models/actionsmodel.cpp:515
#, kde-format
msgctxt "<username> is not in this room"
msgid "%1 is not in this room."
msgstr ""
#: src/models/actionsmodel.cpp:523
#: src/models/actionsmodel.cpp:522
#, kde-format
msgid "You are not allowed to kick users from this room."
msgstr ""
#: src/models/actionsmodel.cpp:529
#: src/models/actionsmodel.cpp:528
#, 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:533
#: src/models/actionsmodel.cpp:532
#, kde-format
msgctxt "<username> was kicked from this room."
msgid "%1 was kicked from this room."
msgstr ""
#: src/models/actionsmodel.cpp:539
#: src/models/actionsmodel.cpp:538
msgid "Removes the user from the room"
msgstr ""
@@ -1818,45 +1818,45 @@ msgstr ""
msgid "Copy link"
msgstr ""
#: src/qml/main.qml:128
#: src/qml/main.qml:124
#, kde-format
msgid "Warning: %1"
msgstr ""
#: src/qml/main.qml:267
#: src/qml/main.qml:263
#, kde-format
msgid "%1: %2"
msgstr ""
#: src/qml/main.qml:308
#: src/qml/main.qml:304
#, kde-format
msgctxt "@title:window"
msgid "Session Verification"
msgstr ""
#: src/qml/main.qml:318
#: src/qml/main.qml:314
#, kde-format
msgid "User consent"
msgstr ""
#: src/qml/main.qml:323
#: src/qml/main.qml:319
#, 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:328
#: src/qml/main.qml:324
#, kde-format
msgid "Open"
msgstr ""
#: src/qml/main.qml:357
#: src/qml/main.qml:353
#, kde-format
msgid "Start a chat"
msgstr ""
#: src/qml/main.qml:359
#: src/qml/main.qml:355
#, kde-format
msgid "Do you want to start a chat with %1?"
msgstr ""
@@ -3779,32 +3779,32 @@ msgid ""
"There's no room %1 in the room list. Check the spelling and the account."
msgstr ""
#: src/roommanager.cpp:210
#: src/roommanager.cpp:208
#, kde-format
msgid "Failed to join room"
msgstr ""
#: src/roommanager.cpp:227
#: src/roommanager.cpp:225
#, kde-format
msgid "You requested to join '%1'"
msgstr ""
#: src/roommanager.cpp:230
#: src/roommanager.cpp:228
#, kde-format
msgid "Failed to request joining room"
msgstr ""
#: src/roommanager.cpp:240
#: src/roommanager.cpp:238
#, kde-format
msgid "No application for the link"
msgstr ""
#: src/roommanager.cpp:240
#: src/roommanager.cpp:238
#, kde-format
msgid "Your operating system could not find an application for the link."
msgstr ""
#: src/roommanager.cpp:246
#: src/roommanager.cpp:244
#, kde-format
msgid "Could not open URL"
msgstr ""

View File

@@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: neochat\n"
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
"POT-Creation-Date: 2023-04-11 00:48+0000\n"
"POT-Creation-Date: 2023-04-13 00:49+0000\n"
"PO-Revision-Date: 2023-04-04 10:54+0200\n"
"Last-Translator: Freek de Kruijf <freekdekruijf@kde.nl>\n"
"Language-Team: \n"
@@ -220,311 +220,311 @@ msgstr "Media-id '%1' volgt niet server/mediaId patroon"
msgid "Image request has been cancelled"
msgstr "Verzoek om afbeelding is geannuleerd"
#: src/models/actionsmodel.cpp:24
#: src/models/actionsmodel.cpp:23
#, kde-format
msgid "Leaving this room."
msgstr "Deze room verlaten."
#: src/models/actionsmodel.cpp:31 src/models/actionsmodel.cpp:230
#: src/models/actionsmodel.cpp:257 src/models/actionsmodel.cpp:288
#: src/models/actionsmodel.cpp:30 src/models/actionsmodel.cpp:229
#: src/models/actionsmodel.cpp:256 src/models/actionsmodel.cpp:287
#, 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' ziet er niet uit als een room-id of alias."
#: src/models/actionsmodel.cpp:39
#: src/models/actionsmodel.cpp:38
#, kde-format
msgctxt "Leaving room <roomname>."
msgid "Leaving room %1."
msgstr "Room %1 wordt verlaten."
#: src/models/actionsmodel.cpp:42
#: src/models/actionsmodel.cpp:41
#, kde-format
msgctxt "Room <roomname> not found"
msgid "Room %1 not found."
msgstr "Room %1 niet gevonden."
#: src/models/actionsmodel.cpp:50 src/models/actionsmodel.cpp:324
#: src/models/actionsmodel.cpp:49 src/models/actionsmodel.cpp:323
#, kde-format
msgid "No new nickname provided, no changes will happen."
msgstr "Geen nieuwe schermnaam gegeven, er zullen geen wijzigingen zijn."
#: 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:64 src/models/actionsmodel.cpp:74
#: src/models/actionsmodel.cpp:84 src/models/actionsmodel.cpp:94
#: src/models/actionsmodel.cpp:114 src/models/actionsmodel.cpp:134
#: src/models/actionsmodel.cpp:145 src/models/actionsmodel.cpp:161
#: src/models/actionsmodel.cpp:171 src/models/actionsmodel.cpp:181
msgid "<message>"
msgstr "<bericht>"
#: src/models/actionsmodel.cpp:66
#: src/models/actionsmodel.cpp:65
msgid "Prepends ¯\\_(ツ)_/¯ to a plain-text message"
msgstr "Voegt ¯\\_(ツ)_/¯ vóór aan een bericht met platte-tekst"
#: src/models/actionsmodel.cpp:76
#: src/models/actionsmodel.cpp:75
msgid "Prepends ( ͡° ͜ʖ ͡°) to a plain-text message"
msgstr "Voegt ( ͡° ͜ʖ ͡°) vóór aan een bericht met platte-tekst"
#: src/models/actionsmodel.cpp:86
#: src/models/actionsmodel.cpp:85
msgid "Prepends (╯°□°)╯︵ ┻━┻ to a plain-text message"
msgstr "Voegt (╯°□°)╯︵ ┻━┻ vóór aan een bericht met platte-tekst"
#: src/models/actionsmodel.cpp:96
#: src/models/actionsmodel.cpp:95
msgid "Prepends ┬──┬ ( ゜-゜ノ) to a plain-text message"
msgstr "Voegt ┬──┬ ( ゜-゜ノ) vóór aan een bericht met platte-tekst"
#: src/models/actionsmodel.cpp:116
#: src/models/actionsmodel.cpp:115
msgid "Sends the given message colored as a rainbow"
msgstr "Verzendt het gegeven bericht gekleurd als een regenboog"
#: src/models/actionsmodel.cpp:136
#: src/models/actionsmodel.cpp:135
msgid "Sends the given emote colored as a rainbow"
msgstr "Verzendt het gegeven emoticon gekleurd als een regenboog"
#: src/models/actionsmodel.cpp:147
#: src/models/actionsmodel.cpp:146
msgid "Sends the given message as plain text"
msgstr "Verzendt het gegeven bericht als een platte tekst"
#: src/models/actionsmodel.cpp:163
#: src/models/actionsmodel.cpp:162
msgid "Sends the given message as a spoiler"
msgstr "Verzendt het gegeven bericht als een spoiler"
#: src/models/actionsmodel.cpp:173
#: src/models/actionsmodel.cpp:172
msgid "Sends the given emote"
msgstr "Verzendt het gegeven emote"
#: src/models/actionsmodel.cpp:183
#: src/models/actionsmodel.cpp:182
msgid "Sends the given message as a notice"
msgstr "Verzendt het gegeven bericht als een notitie"
#: src/models/actionsmodel.cpp:192 src/models/actionsmodel.cpp:358
#: src/models/actionsmodel.cpp:386 src/models/actionsmodel.cpp:436
#: src/models/actionsmodel.cpp:473 src/models/actionsmodel.cpp:507
#: src/models/actionsmodel.cpp:191 src/models/actionsmodel.cpp:357
#: src/models/actionsmodel.cpp:385 src/models/actionsmodel.cpp:435
#: src/models/actionsmodel.cpp:472 src/models/actionsmodel.cpp:506
#, kde-format
msgctxt "'<text>' does not look like a matrix id."
msgid "'%1' does not look like a matrix id."
msgstr "'%1' ziet er niet uit als een matrix-id."
#: src/models/actionsmodel.cpp:198
#: src/models/actionsmodel.cpp:197
#, kde-format
msgctxt "<user> is already invited to this room."
msgid "%1 is already invited to this room."
msgstr "%1 is al uitgenodigd in deze room"
#: src/models/actionsmodel.cpp:202
#: src/models/actionsmodel.cpp:201
#, kde-format
msgctxt "<user> is banned from this room."
msgid "%1 is banned from this room."
msgstr "%1 is verbannen uit deze room"
#: src/models/actionsmodel.cpp:207
#: src/models/actionsmodel.cpp:206
#, kde-format
msgid "You are already in this room."
msgstr "U bent al in deze room."
#: src/models/actionsmodel.cpp:211
#: src/models/actionsmodel.cpp:210
#, kde-format
msgctxt "<user> is already in this room."
msgid "%1 is already in this room."
msgstr "%1 in al in deze room"
#: src/models/actionsmodel.cpp:215
#: src/models/actionsmodel.cpp:214
#, kde-format
msgctxt "<username> was invited into this room"
msgid "%1 was invited into this room"
msgstr "%1 is uitgenodigd in deze room"
#: src/models/actionsmodel.cpp:220 src/models/actionsmodel.cpp:376
#: src/models/actionsmodel.cpp:404 src/models/actionsmodel.cpp:495
#: src/models/actionsmodel.cpp:219 src/models/actionsmodel.cpp:375
#: src/models/actionsmodel.cpp:403 src/models/actionsmodel.cpp:494
msgid "<user id>"
msgstr "<gebruiker-id>"
#: src/models/actionsmodel.cpp:221
#: src/models/actionsmodel.cpp:220
msgid "Invites the user to this room"
msgstr "Nodigt de gebruiker uit in deze room"
#: src/models/actionsmodel.cpp:238 src/models/actionsmodel.cpp:295
#: src/models/actionsmodel.cpp:237 src/models/actionsmodel.cpp:294
#, kde-format
msgctxt "Joining room <roomname>."
msgid "Joining room %1."
msgstr "Meedoen in room \"%1."
#: src/models/actionsmodel.cpp:244 src/models/actionsmodel.cpp:301
#: src/models/actionsmodel.cpp:243 src/models/actionsmodel.cpp:300
msgid "<room alias or id>"
msgstr "<room-alias of id>"
#: src/models/actionsmodel.cpp:245 src/models/actionsmodel.cpp:302
#: src/models/actionsmodel.cpp:244 src/models/actionsmodel.cpp:301
msgid "Joins the given room"
msgstr "Doet mee in de gegeven room"
#: src/models/actionsmodel.cpp:265
#: src/models/actionsmodel.cpp:264
#, kde-format
msgctxt "Knocking room <roomname>."
msgid "Knocking room %1."
msgstr "Kloppen op room %1."
#: src/models/actionsmodel.cpp:277
#: src/models/actionsmodel.cpp:276
msgid "<room alias or id> [<reason>]"
msgstr "<room-alias of id> [<reden>]"
#: src/models/actionsmodel.cpp:278
#: src/models/actionsmodel.cpp:277
msgid "Requests to join the given room"
msgstr "Verzoek om mee te doen in de gegeven room"
#: src/models/actionsmodel.cpp:292
#: src/models/actionsmodel.cpp:291
#, kde-format
msgctxt "You are already in room <roomname>."
msgid "You are already in room %1."
msgstr "U bent al in room %1."
#: src/models/actionsmodel.cpp:309 src/models/actionsmodel.cpp:317
#: src/models/actionsmodel.cpp:308 src/models/actionsmodel.cpp:316
msgid "[<room alias or id>]"
msgstr "[<room-alias of id>]"
#: src/models/actionsmodel.cpp:310 src/models/actionsmodel.cpp:318
#: src/models/actionsmodel.cpp:309 src/models/actionsmodel.cpp:317
msgid "Leaves the given room or this room, if there is none given"
msgstr "Verlaat de gegeven room of deze room, als er geen is gegeven"
#: src/models/actionsmodel.cpp:332 src/models/actionsmodel.cpp:340
#: src/models/actionsmodel.cpp:348
#: src/models/actionsmodel.cpp:331 src/models/actionsmodel.cpp:339
#: src/models/actionsmodel.cpp:347
msgid "<display name>"
msgstr "<schermnaam>"
#: src/models/actionsmodel.cpp:333
#: src/models/actionsmodel.cpp:332
msgid "Changes your global display name"
msgstr "Wijzigt uw globale schermnaam"
#: src/models/actionsmodel.cpp:341 src/models/actionsmodel.cpp:349
#: src/models/actionsmodel.cpp:340 src/models/actionsmodel.cpp:348
msgid "Changes your display name in this room"
msgstr "Wijzigt uw schermnaam in deze room"
#: src/models/actionsmodel.cpp:363
#: src/models/actionsmodel.cpp:362
#, kde-format
msgctxt "<username> is already ignored."
msgid "%1 is already ignored."
msgstr "%1 wordt al genegeerd."
#: src/models/actionsmodel.cpp:368
#: src/models/actionsmodel.cpp:367
#, kde-format
msgctxt "<username> is now ignored"
msgid "%1 is now ignored."
msgstr "%1 wordt nu genegeerd."
#: src/models/actionsmodel.cpp:370 src/models/actionsmodel.cpp:398
#: src/models/actionsmodel.cpp:369 src/models/actionsmodel.cpp:397
#, kde-format
msgctxt "<username> is not a known user"
msgid "%1 is not a known user."
msgstr "%1 is geen bekende gebruiker."
#: src/models/actionsmodel.cpp:377
#: src/models/actionsmodel.cpp:376
msgid "Ignores the given user"
msgstr "Negeert de gegeven gebruiker"
#: src/models/actionsmodel.cpp:392
#: src/models/actionsmodel.cpp:391
#, kde-format
msgctxt "<username> is not ignored."
msgid "%1 is not ignored."
msgstr "%1 wordt niet genegeerd."
#: src/models/actionsmodel.cpp:396
#: src/models/actionsmodel.cpp:395
#, kde-format
msgctxt "<username> is no longer ignored."
msgid "%1 is no longer ignored."
msgstr "%1 wordt niet langer genegeerd."
#: src/models/actionsmodel.cpp:405
#: src/models/actionsmodel.cpp:404
msgid "Unignores the given user"
msgstr "Negeren van de gegeven gebruiker ongedaan maken"
#: src/models/actionsmodel.cpp:425
#: src/models/actionsmodel.cpp:424
msgid "<reaction text>"
msgstr "<reactietekst>"
#: src/models/actionsmodel.cpp:426
#: src/models/actionsmodel.cpp:425
msgid "React to the message with the given text"
msgstr "Op het bericht met de gegeven tekst reageren"
#: src/models/actionsmodel.cpp:442
#: src/models/actionsmodel.cpp:441
#, kde-format
msgctxt "<user> is already banned from this room."
msgid "%1 is already banned from this room."
msgstr "%1 is al verbannen uit deze room."
#: src/models/actionsmodel.cpp:448
#: src/models/actionsmodel.cpp:447
#, kde-format
msgid "You are not allowed to ban users from this room."
msgstr "U mag geen gebruikers uit deze room verbannen."
#: src/models/actionsmodel.cpp:454
#: src/models/actionsmodel.cpp:453
#, 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 "U mag %1 niet uit deze room verbannen."
#: src/models/actionsmodel.cpp:458
#: src/models/actionsmodel.cpp:457
#, kde-format
msgctxt "<username> was banned from this room."
msgid "%1 was banned from this room."
msgstr "%1 was verbannen uit deze room"
#: src/models/actionsmodel.cpp:463 src/models/actionsmodel.cpp:538
#: src/models/actionsmodel.cpp:462 src/models/actionsmodel.cpp:537
msgid "<user id> [<reason>]"
msgstr "<gebruiker-id> [<reden>]"
#: src/models/actionsmodel.cpp:464
#: src/models/actionsmodel.cpp:463
msgid "Bans the given user"
msgstr "Verbant de gegeven gebruiker"
#: src/models/actionsmodel.cpp:478
#: src/models/actionsmodel.cpp:477
#, kde-format
msgid "You are not allowed to unban users from this room."
msgstr "U mag geen verbande gebruikers uit deze room toelaten."
#: src/models/actionsmodel.cpp:484
#: src/models/actionsmodel.cpp:483
#, kde-format
msgctxt "<user> is not banned from this room."
msgid "%1 is not banned from this room."
msgstr "%1 is niet verbannen uit deze room."
#: src/models/actionsmodel.cpp:489
#: src/models/actionsmodel.cpp:488
#, kde-format
msgctxt "<username> was unbanned from this room."
msgid "%1 was unbanned from this room."
msgstr "Verbande %1 is toegelaten tot deze room."
#: src/models/actionsmodel.cpp:496
#: src/models/actionsmodel.cpp:495
msgid "Removes the ban of the given user"
msgstr "Verwijdert de ban van de gegeven gebruiker"
#: src/models/actionsmodel.cpp:511
#: src/models/actionsmodel.cpp:510
#, kde-format
msgid "You cannot kick yourself from the room."
msgstr "U kunt niet uzelf uit de room schoppen."
#: src/models/actionsmodel.cpp:516
#: src/models/actionsmodel.cpp:515
#, kde-format
msgctxt "<username> is not in this room"
msgid "%1 is not in this room."
msgstr "%1 in niet in deze room."
#: src/models/actionsmodel.cpp:523
#: src/models/actionsmodel.cpp:522
#, kde-format
msgid "You are not allowed to kick users from this room."
msgstr "U mag geen gebruikers uit deze room schoppen."
#: src/models/actionsmodel.cpp:529
#: src/models/actionsmodel.cpp:528
#, 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 "U mag %1 niet uit deze room schoppen."
#: src/models/actionsmodel.cpp:533
#: src/models/actionsmodel.cpp:532
#, kde-format
msgctxt "<username> was kicked from this room."
msgid "%1 was kicked from this room."
msgstr "%1 was uit deze room geschopt."
#: src/models/actionsmodel.cpp:539
#: src/models/actionsmodel.cpp:538
msgid "Removes the user from the room"
msgstr "Verwijdert de gebruiker uit in deze room"
@@ -1850,28 +1850,28 @@ msgstr "Een privé chat openen"
msgid "Copy link"
msgstr "Koppeling kopiëren"
#: src/qml/main.qml:128
#: src/qml/main.qml:124
#, kde-format
msgid "Warning: %1"
msgstr "Waarschuwing: %1"
#: src/qml/main.qml:267
#: src/qml/main.qml:263
#, kde-format
msgid "%1: %2"
msgstr "%1: %2"
#: src/qml/main.qml:308
#: src/qml/main.qml:304
#, kde-format
msgctxt "@title:window"
msgid "Session Verification"
msgstr "Verificatie van sessie"
#: src/qml/main.qml:318
#: src/qml/main.qml:314
#, kde-format
msgid "User consent"
msgstr "Toestemming van gebruiker"
#: src/qml/main.qml:323
#: src/qml/main.qml:319
#, kde-format
msgid ""
"Your homeserver requires you to agree to its terms and conditions before "
@@ -1880,17 +1880,17 @@ msgstr ""
"Uw homeserver vereist dat u met deze termen en voorwaarden instemt alvorens "
"u deze kunt gebruiken. Klik op de ondersteunde knop om ze te lezen."
#: src/qml/main.qml:328
#: src/qml/main.qml:324
#, kde-format
msgid "Open"
msgstr "Openen"
#: src/qml/main.qml:357
#: src/qml/main.qml:353
#, kde-format
msgid "Start a chat"
msgstr "Een chat starten"
#: src/qml/main.qml:359
#: src/qml/main.qml:355
#, kde-format
msgid "Do you want to start a chat with %1?"
msgstr "Wilt u een chat beginnen met %1?"
@@ -3835,32 +3835,32 @@ msgstr ""
"Er is geen room %1 in de lijst met rooms. Controleer de spelling en het "
"account."
#: src/roommanager.cpp:210
#: src/roommanager.cpp:208
#, kde-format
msgid "Failed to join room"
msgstr "Deelnemen aan room is mislukt"
#: src/roommanager.cpp:227
#: src/roommanager.cpp:225
#, kde-format
msgid "You requested to join '%1'"
msgstr "U verzocht om mee te doen met '%1'"
#: src/roommanager.cpp:230
#: src/roommanager.cpp:228
#, kde-format
msgid "Failed to request joining room"
msgstr "Verzoek om mee te doen met room is mislukt"
#: src/roommanager.cpp:240
#: src/roommanager.cpp:238
#, kde-format
msgid "No application for the link"
msgstr "Geen toepassing voor de koppeling"
#: src/roommanager.cpp:240
#: src/roommanager.cpp:238
#, kde-format
msgid "Your operating system could not find an application for the link."
msgstr "Uw besturingssysteem kon geen toepassing vinden voor de koppeling."
#: src/roommanager.cpp:246
#: src/roommanager.cpp:244
#, kde-format
msgid "Could not open URL"
msgstr "Kon de URL niet openen"

View File

@@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: neochat\n"
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
"POT-Creation-Date: 2023-04-11 00:48+0000\n"
"POT-Creation-Date: 2023-04-13 00:49+0000\n"
"PO-Revision-Date: 2021-12-31 11:06-0800\n"
"Last-Translator: A S Alam <aalam@satluj.org>\n"
"Language-Team: Punjabi <punjabi-users@lists.sf.net>\n"
@@ -229,365 +229,365 @@ msgstr ""
msgid "Image request has been cancelled"
msgstr ""
#: src/models/actionsmodel.cpp:24
#: src/models/actionsmodel.cpp:23
#, fuzzy, kde-format
#| msgid "Open NeoChat in this room"
msgid "Leaving this room."
msgstr "ਇਸ ਰੂਮ ਵਿੱਚ ਨਿਓ-ਚੈਟ ਖੋਲ੍ਹੋ"
#: src/models/actionsmodel.cpp:31 src/models/actionsmodel.cpp:230
#: src/models/actionsmodel.cpp:257 src/models/actionsmodel.cpp:288
#: src/models/actionsmodel.cpp:30 src/models/actionsmodel.cpp:229
#: src/models/actionsmodel.cpp:256 src/models/actionsmodel.cpp:287
#, 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:38
#, fuzzy, kde-format
#| msgid "Leave room"
msgctxt "Leaving room <roomname>."
msgid "Leaving room %1."
msgstr "ਰੂਮ ਨੂੰ ਛੱਡੋ"
#: src/models/actionsmodel.cpp:42
#: src/models/actionsmodel.cpp:41
#, fuzzy, kde-format
#| msgid "Room not found"
msgctxt "Room <roomname> not found"
msgid "Room %1 not found."
msgstr "ਰੂਮ ਨਹੀ ਲੱਭਿਆ"
#: src/models/actionsmodel.cpp:50 src/models/actionsmodel.cpp:324
#: src/models/actionsmodel.cpp:49 src/models/actionsmodel.cpp:323
#, 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:64 src/models/actionsmodel.cpp:74
#: src/models/actionsmodel.cpp:84 src/models/actionsmodel.cpp:94
#: src/models/actionsmodel.cpp:114 src/models/actionsmodel.cpp:134
#: src/models/actionsmodel.cpp:145 src/models/actionsmodel.cpp:161
#: src/models/actionsmodel.cpp:171 src/models/actionsmodel.cpp:181
#, fuzzy
#| msgctxt "@label Parameter of a command"
#| msgid "<message>"
msgid "<message>"
msgstr "<message>"
#: src/models/actionsmodel.cpp:66
#: src/models/actionsmodel.cpp:65
msgid "Prepends ¯\\_(ツ)_/¯ to a plain-text message"
msgstr "ਸਰਲ ਲਿਖਤ ਸੁਨੇਹੇ ਦੇ ਅੱਗੇ ¯\\_(ツ)_/¯ ਜੋੜਦਾ ਹੈ"
#: src/models/actionsmodel.cpp:76
#: src/models/actionsmodel.cpp:75
msgid "Prepends ( ͡° ͜ʖ ͡°) to a plain-text message"
msgstr "ਸਰਲ ਲਿਖਤ ਸੁਨੇਹੇ ਦੇ ਅੱਗੇ ( ͡° ͜ʖ ͡°) ਜੋੜਦਾ ਹੈ"
#: src/models/actionsmodel.cpp:86
#: src/models/actionsmodel.cpp:85
msgid "Prepends (╯°□°)╯︵ ┻━┻ to a plain-text message"
msgstr "ਸਰਲ ਲਿਖਤ ਸੁਨੇਹੇ ਦੇ ਅੱਗੇ (╯°□°)╯︵ ┻━┻ ਜੋੜਦਾ ਹੈ"
#: src/models/actionsmodel.cpp:96
#: src/models/actionsmodel.cpp:95
msgid "Prepends ┬──┬ ( ゜-゜ノ) to a plain-text message"
msgstr "ਸਰਲ ਲਿਖਤ ਸੁਨੇਹੇ ਦੇ ਅੱਗੇ ┬──┬ ( ゜-゜ノ) ਜੋੜਦਾ ਹੈ"
#: src/models/actionsmodel.cpp:116
#: src/models/actionsmodel.cpp:115
msgid "Sends the given message colored as a rainbow"
msgstr ""
#: src/models/actionsmodel.cpp:136
#: src/models/actionsmodel.cpp:135
msgid "Sends the given emote colored as a rainbow"
msgstr ""
#: src/models/actionsmodel.cpp:147
#: src/models/actionsmodel.cpp:146
#, fuzzy
#| msgid "React to this message with a text"
msgid "Sends the given message as plain text"
msgstr "ਇਸ ਸੁਨੇਹੇ ਨੂੰ ਲਿਖਤ ਨਾਲ ਅਸਰ ਦਿਓ"
#: src/models/actionsmodel.cpp:163
#: src/models/actionsmodel.cpp:162
msgid "Sends the given message as a spoiler"
msgstr ""
#: src/models/actionsmodel.cpp:173
#: src/models/actionsmodel.cpp:172
msgid "Sends the given emote"
msgstr ""
#: src/models/actionsmodel.cpp:183
#: src/models/actionsmodel.cpp:182
msgid "Sends the given message as a notice"
msgstr ""
#: src/models/actionsmodel.cpp:192 src/models/actionsmodel.cpp:358
#: src/models/actionsmodel.cpp:386 src/models/actionsmodel.cpp:436
#: src/models/actionsmodel.cpp:473 src/models/actionsmodel.cpp:507
#: src/models/actionsmodel.cpp:191 src/models/actionsmodel.cpp:357
#: src/models/actionsmodel.cpp:385 src/models/actionsmodel.cpp:435
#: src/models/actionsmodel.cpp:472 src/models/actionsmodel.cpp:506
#, 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:198
#: src/models/actionsmodel.cpp:197
#, fuzzy, kde-format
#| msgid "%1 invited you to a room"
msgctxt "<user> is already invited to this room."
msgid "%1 is already invited to this room."
msgstr "%1 ਨੇ ਤੁਹਾਨੂੰ ਰੂਮ ਲਈ ਸੱਦਾ ਦਿੱਤਾ"
#: src/models/actionsmodel.cpp:202
#: src/models/actionsmodel.cpp:201
#, fuzzy, kde-format
#| msgid "banned %1 from the room: %2"
msgctxt "<user> is banned from this room."
msgid "%1 is banned from this room."
msgstr "%1 ਨੂੰ ਰੂਮ ਤੋਂ ਪਾਬੰਦੀ ਲਾਈ: %2"
#: src/models/actionsmodel.cpp:207
#: src/models/actionsmodel.cpp:206
#, fuzzy, kde-format
#| msgid "Open NeoChat in this room"
msgid "You are already in this room."
msgstr "ਇਸ ਰੂਮ ਵਿੱਚ ਨਿਓ-ਚੈਟ ਖੋਲ੍ਹੋ"
#: src/models/actionsmodel.cpp:211
#: src/models/actionsmodel.cpp:210
#, fuzzy, kde-format
#| msgid "Open NeoChat in this room"
msgctxt "<user> is already in this room."
msgid "%1 is already in this room."
msgstr "ਇਸ ਰੂਮ ਵਿੱਚ ਨਿਓ-ਚੈਟ ਖੋਲ੍ਹੋ"
#: src/models/actionsmodel.cpp:215
#: src/models/actionsmodel.cpp:214
#, fuzzy, kde-format
#| msgid "%1 invited you to a room"
msgctxt "<username> was invited into this room"
msgid "%1 was invited into this room"
msgstr "%1 ਨੇ ਤੁਹਾਨੂੰ ਰੂਮ ਲਈ ਸੱਦਾ ਦਿੱਤਾ"
#: src/models/actionsmodel.cpp:220 src/models/actionsmodel.cpp:376
#: src/models/actionsmodel.cpp:404 src/models/actionsmodel.cpp:495
#: src/models/actionsmodel.cpp:219 src/models/actionsmodel.cpp:375
#: src/models/actionsmodel.cpp:403 src/models/actionsmodel.cpp:494
#, fuzzy
#| msgctxt "@label Parameter of a command"
#| msgid "<user-id>"
msgid "<user id>"
msgstr "<user-id>"
#: src/models/actionsmodel.cpp:221
#: src/models/actionsmodel.cpp:220
#, fuzzy
#| msgid "%1 invited you to a room"
msgid "Invites the user to this room"
msgstr "%1 ਨੇ ਤੁਹਾਨੂੰ ਰੂਮ ਲਈ ਸੱਦਾ ਦਿੱਤਾ"
#: src/models/actionsmodel.cpp:238 src/models/actionsmodel.cpp:295
#: src/models/actionsmodel.cpp:237 src/models/actionsmodel.cpp:294
#, fuzzy, kde-format
#| msgid "Configure room"
msgctxt "Joining room <roomname>."
msgid "Joining room %1."
msgstr "ਰੂਮ ਦੀ ਸੰਰਚਨਾ"
#: src/models/actionsmodel.cpp:244 src/models/actionsmodel.cpp:301
#: src/models/actionsmodel.cpp:243 src/models/actionsmodel.cpp:300
msgid "<room alias or id>"
msgstr ""
#: src/models/actionsmodel.cpp:245 src/models/actionsmodel.cpp:302
#: src/models/actionsmodel.cpp:244 src/models/actionsmodel.cpp:301
#, fuzzy
#| msgid "joined the room"
msgid "Joins the given room"
msgstr "ਰੂਮ 'ਚ ਦਾਖਲ ਹੋਏ"
#: src/models/actionsmodel.cpp:265
#: src/models/actionsmodel.cpp:264
#, fuzzy, kde-format
#| msgid "Configure room"
msgctxt "Knocking room <roomname>."
msgid "Knocking room %1."
msgstr "ਰੂਮ ਦੀ ਸੰਰਚਨਾ"
#: src/models/actionsmodel.cpp:277
#: src/models/actionsmodel.cpp:276
#, fuzzy
#| msgctxt "@label Parameter of a command"
#| msgid "<user-id>"
msgid "<room alias or id> [<reason>]"
msgstr "<user-id>"
#: src/models/actionsmodel.cpp:278
#: src/models/actionsmodel.cpp:277
#, fuzzy
#| msgid "joined the room"
msgid "Requests to join the given room"
msgstr "ਰੂਮ 'ਚ ਦਾਖਲ ਹੋਏ"
#: src/models/actionsmodel.cpp:292
#: src/models/actionsmodel.cpp:291
#, kde-format
msgctxt "You are already in room <roomname>."
msgid "You are already in room %1."
msgstr ""
#: src/models/actionsmodel.cpp:309 src/models/actionsmodel.cpp:317
#: src/models/actionsmodel.cpp:308 src/models/actionsmodel.cpp:316
msgid "[<room alias or id>]"
msgstr ""
#: src/models/actionsmodel.cpp:310 src/models/actionsmodel.cpp:318
#: src/models/actionsmodel.cpp:309 src/models/actionsmodel.cpp:317
msgid "Leaves the given room or this room, if there is none given"
msgstr ""
#: src/models/actionsmodel.cpp:332 src/models/actionsmodel.cpp:340
#: src/models/actionsmodel.cpp:348
#: src/models/actionsmodel.cpp:331 src/models/actionsmodel.cpp:339
#: src/models/actionsmodel.cpp:347
msgid "<display name>"
msgstr ""
#: src/models/actionsmodel.cpp:333
#: src/models/actionsmodel.cpp:332
msgid "Changes your global display name"
msgstr ""
#: src/models/actionsmodel.cpp:341 src/models/actionsmodel.cpp:349
#: src/models/actionsmodel.cpp:340 src/models/actionsmodel.cpp:348
msgid "Changes your display name in this room"
msgstr ""
#: src/models/actionsmodel.cpp:363
#: src/models/actionsmodel.cpp:362
#, kde-format
msgctxt "<username> is already ignored."
msgid "%1 is already ignored."
msgstr ""
#: src/models/actionsmodel.cpp:368
#: src/models/actionsmodel.cpp:367
#, kde-format
msgctxt "<username> is now ignored"
msgid "%1 is now ignored."
msgstr ""
#: src/models/actionsmodel.cpp:370 src/models/actionsmodel.cpp:398
#: src/models/actionsmodel.cpp:369 src/models/actionsmodel.cpp:397
#, kde-format
msgctxt "<username> is not a known user"
msgid "%1 is not a known user."
msgstr ""
#: src/models/actionsmodel.cpp:377
#: src/models/actionsmodel.cpp:376
#, fuzzy
#| msgid "Ignore this user"
msgid "Ignores the given user"
msgstr "ਇਸ ਵਰਤੋਂਕਾਰ ਨੂੰ ਅਣਡਿੱਠਾ ਨਾ ਕਰੋ"
#: src/models/actionsmodel.cpp:392
#: src/models/actionsmodel.cpp:391
#, kde-format
msgctxt "<username> is not ignored."
msgid "%1 is not ignored."
msgstr ""
#: src/models/actionsmodel.cpp:396
#: src/models/actionsmodel.cpp:395
#, kde-format
msgctxt "<username> is no longer ignored."
msgid "%1 is no longer ignored."
msgstr ""
#: src/models/actionsmodel.cpp:405
#: src/models/actionsmodel.cpp:404
#, fuzzy
#| msgid "Unignore this user"
msgid "Unignores the given user"
msgstr "ਇਸ ਵਰਤੋਂਕਾਰ ਨੂੰ ਅਣਡਿੱਠਾ ਕਰੋ"
#: src/models/actionsmodel.cpp:425
#: src/models/actionsmodel.cpp:424
#, fuzzy
#| msgctxt "@label Parameter of a command"
#| msgid "<reaction text>"
msgid "<reaction text>"
msgstr "<reaction text>"
#: src/models/actionsmodel.cpp:426
#: src/models/actionsmodel.cpp:425
#, fuzzy
#| msgid "React to this message with a text"
msgid "React to the message with the given text"
msgstr "ਇਸ ਸੁਨੇਹੇ ਨੂੰ ਲਿਖਤ ਨਾਲ ਅਸਰ ਦਿਓ"
#: src/models/actionsmodel.cpp:442
#: src/models/actionsmodel.cpp:441
#, fuzzy, kde-format
#| msgid "banned %1 from the room: %2"
msgctxt "<user> is already banned from this room."
msgid "%1 is already banned from this room."
msgstr "%1 ਨੂੰ ਰੂਮ ਤੋਂ ਪਾਬੰਦੀ ਲਾਈ: %2"
#: src/models/actionsmodel.cpp:448
#: src/models/actionsmodel.cpp:447
#, fuzzy, kde-format
#| msgid "Open NeoChat in this room"
msgid "You are not allowed to ban users from this room."
msgstr "ਇਸ ਰੂਮ ਵਿੱਚ ਨਿਓ-ਚੈਟ ਖੋਲ੍ਹੋ"
#: src/models/actionsmodel.cpp:454
#: src/models/actionsmodel.cpp:453
#, fuzzy, kde-format
#| msgid "Open NeoChat in this room"
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:458
#: src/models/actionsmodel.cpp:457
#, fuzzy, kde-format
#| msgid "banned %1 from the room: %2"
msgctxt "<username> was banned from this room."
msgid "%1 was banned from this room."
msgstr "%1 ਨੂੰ ਰੂਮ ਤੋਂ ਪਾਬੰਦੀ ਲਾਈ: %2"
#: src/models/actionsmodel.cpp:463 src/models/actionsmodel.cpp:538
#: src/models/actionsmodel.cpp:462 src/models/actionsmodel.cpp:537
#, fuzzy
#| msgctxt "@label Parameter of a command"
#| msgid "<user-id>"
msgid "<user id> [<reason>]"
msgstr "<user-id>"
#: src/models/actionsmodel.cpp:464
#: src/models/actionsmodel.cpp:463
#, fuzzy
#| msgid "Ignore this user"
msgid "Bans the given user"
msgstr "ਇਸ ਵਰਤੋਂਕਾਰ ਨੂੰ ਅਣਡਿੱਠਾ ਨਾ ਕਰੋ"
#: src/models/actionsmodel.cpp:478
#: src/models/actionsmodel.cpp:477
#, fuzzy, kde-format
#| msgid "Open NeoChat in this room"
msgid "You are not allowed to unban users from this room."
msgstr "ਇਸ ਰੂਮ ਵਿੱਚ ਨਿਓ-ਚੈਟ ਖੋਲ੍ਹੋ"
#: src/models/actionsmodel.cpp:484
#: src/models/actionsmodel.cpp:483
#, fuzzy, kde-format
#| msgid "banned %1 from the room: %2"
msgctxt "<user> is not banned from this room."
msgid "%1 is not banned from this room."
msgstr "%1 ਨੂੰ ਰੂਮ ਤੋਂ ਪਾਬੰਦੀ ਲਾਈ: %2"
#: src/models/actionsmodel.cpp:489
#: src/models/actionsmodel.cpp:488
#, fuzzy, kde-format
#| msgid "banned %1 from the room: %2"
msgctxt "<username> was unbanned from this room."
msgid "%1 was unbanned from this room."
msgstr "%1 ਨੂੰ ਰੂਮ ਤੋਂ ਪਾਬੰਦੀ ਲਾਈ: %2"
#: src/models/actionsmodel.cpp:496
#: src/models/actionsmodel.cpp:495
#, fuzzy
#| msgid "Ignore this user"
msgid "Removes the ban of the given user"
msgstr "ਇਸ ਵਰਤੋਂਕਾਰ ਨੂੰ ਅਣਡਿੱਠਾ ਨਾ ਕਰੋ"
#: src/models/actionsmodel.cpp:511
#: src/models/actionsmodel.cpp:510
#, kde-format
msgid "You cannot kick yourself from the room."
msgstr ""
#: src/models/actionsmodel.cpp:516
#: src/models/actionsmodel.cpp:515
#, fuzzy, kde-format
#| msgid "Open NeoChat in this room"
msgctxt "<username> is not in this room"
msgid "%1 is not in this room."
msgstr "ਇਸ ਰੂਮ ਵਿੱਚ ਨਿਓ-ਚੈਟ ਖੋਲ੍ਹੋ"
#: src/models/actionsmodel.cpp:523
#: src/models/actionsmodel.cpp:522
#, fuzzy, kde-format
#| msgid "Open NeoChat in this room"
msgid "You are not allowed to kick users from this room."
msgstr "ਇਸ ਰੂਮ ਵਿੱਚ ਨਿਓ-ਚੈਟ ਖੋਲ੍ਹੋ"
#: src/models/actionsmodel.cpp:529
#: src/models/actionsmodel.cpp:528
#, fuzzy, kde-format
#| msgid "Open NeoChat in this room"
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:533
#: src/models/actionsmodel.cpp:532
#, fuzzy, kde-format
#| msgid "banned %1 from the room: %2"
msgctxt "<username> was kicked from this room."
msgid "%1 was kicked from this room."
msgstr "%1 ਨੂੰ ਰੂਮ ਤੋਂ ਪਾਬੰਦੀ ਲਾਈ: %2"
#: src/models/actionsmodel.cpp:539
#: src/models/actionsmodel.cpp:538
#, fuzzy
#| msgid "%1 invited you to a room"
msgid "Removes the user from the room"
@@ -1924,46 +1924,46 @@ msgstr "ਪ੍ਰਾਈਵੇਟ ਚੈਟ ਵਿੱਚ ਖੋਲ੍ਹੋ"
msgid "Copy link"
msgstr "ਕਾਪੀ ਕਰੋ"
#: src/qml/main.qml:128
#: src/qml/main.qml:124
#, kde-format
msgid "Warning: %1"
msgstr "ਸਾਵਾਧਾਨ: %1"
#: src/qml/main.qml:267
#: src/qml/main.qml:263
#, kde-format
msgid "%1: %2"
msgstr "%1: %2"
#: src/qml/main.qml:308
#: src/qml/main.qml:304
#, fuzzy, kde-format
#| msgid "Show notifications"
msgctxt "@title:window"
msgid "Session Verification"
msgstr "ਨੋਟੀਫਿਕੇਸ਼ਨ ਵੇਖਾਓ"
#: src/qml/main.qml:318
#: src/qml/main.qml:314
#, kde-format
msgid "User consent"
msgstr "ਵਰਤੋਂਕਾਰ ਸਹਿਮਤੀ"
#: src/qml/main.qml:323
#: src/qml/main.qml:319
#, 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:328
#: src/qml/main.qml:324
#, kde-format
msgid "Open"
msgstr "ਖੋਲ੍ਹੋ"
#: src/qml/main.qml:357
#: src/qml/main.qml:353
#, kde-format
msgid "Start a chat"
msgstr "ਗੱਲਬਾਤ ਸ਼ੁਰੂ ਕਰੋ"
#: src/qml/main.qml:359
#: src/qml/main.qml:355
#, kde-format
msgid "Do you want to start a chat with %1?"
msgstr "ਕੀ ਤੁਸੀਂ %1 ਨਾਲ ਗੱਲਬਾਤ ਕਰਨੀ ਚਾਹੁੰਦੇ ਹੋ?"
@@ -4007,34 +4007,34 @@ msgid ""
"There's no room %1 in the room list. Check the spelling and the account."
msgstr "ਰੂਮ ਸੂਚੀ ਵਿੱਚ ਕੋਈ %1 ਰੂਮ ਨਹੀਂ ਹੈ। ਸ਼ਬਦ ਜੋੜ ਅਤੇ ਖਾਤੇ ਦੀ ਜਾਂਚ ਕਰੋ।"
#: src/roommanager.cpp:210
#: src/roommanager.cpp:208
#, fuzzy, kde-format
#| msgid "%1 invited you to a room"
msgid "Failed to join room"
msgstr "%1 ਨੇ ਤੁਹਾਨੂੰ ਰੂਮ ਲਈ ਸੱਦਾ ਦਿੱਤਾ"
#: src/roommanager.cpp:227
#: src/roommanager.cpp:225
#, kde-format
msgid "You requested to join '%1'"
msgstr ""
#: src/roommanager.cpp:230
#: src/roommanager.cpp:228
#, fuzzy, kde-format
#| msgid "%1 invited you to a room"
msgid "Failed to request joining room"
msgstr "%1 ਨੇ ਤੁਹਾਨੂੰ ਰੂਮ ਲਈ ਸੱਦਾ ਦਿੱਤਾ"
#: src/roommanager.cpp:240
#: src/roommanager.cpp:238
#, kde-format
msgid "No application for the link"
msgstr "ਲਿੰਕ ਲਈ ਕੋਈ ਐਪਲੀਕੇਸ਼ਨ ਨਹੀਂ ਹੈ"
#: src/roommanager.cpp:240
#: src/roommanager.cpp:238
#, kde-format
msgid "Your operating system could not find an application for the link."
msgstr "ਤੁਹਾਡਾ ਓਪਰੇਟਿੰਗ ਸਿਸਟਮ ਲਿੰਕ ਲਈ ਕੋਈ ਐਪਲੀਕੇਸ਼ਨ ਨਹੀਂ ਲੱਭ ਸਕਿਆ ਹੈ।"
#: src/roommanager.cpp:246
#: src/roommanager.cpp:244
#, kde-format
msgid "Could not open URL"
msgstr ""

View File

@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: neochat\n"
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
"POT-Creation-Date: 2023-04-11 00:48+0000\n"
"POT-Creation-Date: 2023-04-13 00:49+0000\n"
"PO-Revision-Date: 2023-04-10 11:49+0200\n"
"Last-Translator: Łukasz Wojniłowicz <lukasz.wojnilowicz@gmail.com>\n"
"Language-Team: Polish <kde-i18n-doc@kde.org>\n"
@@ -221,311 +221,311 @@ msgstr "ID pliku multimedialnego '%1' nie przestrzega wzorca serwera/mediaId"
msgid "Image request has been cancelled"
msgstr "Żądanie wiadomości zostało anulowane"
#: src/models/actionsmodel.cpp:24
#: src/models/actionsmodel.cpp:23
#, kde-format
msgid "Leaving this room."
msgstr "Opuszcza ten pokój."
#: src/models/actionsmodel.cpp:31 src/models/actionsmodel.cpp:230
#: src/models/actionsmodel.cpp:257 src/models/actionsmodel.cpp:288
#: src/models/actionsmodel.cpp:30 src/models/actionsmodel.cpp:229
#: src/models/actionsmodel.cpp:256 src/models/actionsmodel.cpp:287
#, 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' nie wygląda jak identyfikator pokoju, czy alias."
#: src/models/actionsmodel.cpp:39
#: src/models/actionsmodel.cpp:38
#, kde-format
msgctxt "Leaving room <roomname>."
msgid "Leaving room %1."
msgstr "Opuszczanie pokoju %1."
#: src/models/actionsmodel.cpp:42
#: src/models/actionsmodel.cpp:41
#, kde-format
msgctxt "Room <roomname> not found"
msgid "Room %1 not found."
msgstr "Nie znaleziono pokoju %1."
#: src/models/actionsmodel.cpp:50 src/models/actionsmodel.cpp:324
#: src/models/actionsmodel.cpp:49 src/models/actionsmodel.cpp:323
#, kde-format
msgid "No new nickname provided, no changes will happen."
msgstr "Nie podano nowego pseudonimu, więc nie nastąpi żadna zmiana."
#: 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:64 src/models/actionsmodel.cpp:74
#: src/models/actionsmodel.cpp:84 src/models/actionsmodel.cpp:94
#: src/models/actionsmodel.cpp:114 src/models/actionsmodel.cpp:134
#: src/models/actionsmodel.cpp:145 src/models/actionsmodel.cpp:161
#: src/models/actionsmodel.cpp:171 src/models/actionsmodel.cpp:181
msgid "<message>"
msgstr "<wiadomość>"
#: src/models/actionsmodel.cpp:66
#: src/models/actionsmodel.cpp:65
msgid "Prepends ¯\\_(ツ)_/¯ to a plain-text message"
msgstr "Wstawia ¯\\_(ツ)_/¯ do zwykłej wiadomości tekstowej"
#: src/models/actionsmodel.cpp:76
#: src/models/actionsmodel.cpp:75
msgid "Prepends ( ͡° ͜ʖ ͡°) to a plain-text message"
msgstr "Wstawia ( ͡° ͜ʖ ͡°) do zwykłej wiadomości tekstowej"
#: src/models/actionsmodel.cpp:86
#: src/models/actionsmodel.cpp:85
msgid "Prepends (╯°□°)╯︵ ┻━┻ to a plain-text message"
msgstr "Poprzedza (╯°□°)╯︵ ┻━┻ w zwykłej wiadomości tekstowej"
#: src/models/actionsmodel.cpp:96
#: src/models/actionsmodel.cpp:95
msgid "Prepends ┬──┬ ( ゜-゜ノ) to a plain-text message"
msgstr "Poprzedza ┬──┬ ( ゜-゜ノ) w zwykłej wiadomości tekstowej"
#: src/models/actionsmodel.cpp:116
#: src/models/actionsmodel.cpp:115
msgid "Sends the given message colored as a rainbow"
msgstr "Wysyła daną wiadomość w barwach tęczy"
#: src/models/actionsmodel.cpp:136
#: src/models/actionsmodel.cpp:135
msgid "Sends the given emote colored as a rainbow"
msgstr "Wysyła daną emotikonę w barwach tęczy"
#: src/models/actionsmodel.cpp:147
#: src/models/actionsmodel.cpp:146
msgid "Sends the given message as plain text"
msgstr "Wysyła daną wiadomość w postaci zwykłego tekstu"
#: src/models/actionsmodel.cpp:163
#: src/models/actionsmodel.cpp:162
msgid "Sends the given message as a spoiler"
msgstr "Wysyła daną wiadomość jako spojler"
#: src/models/actionsmodel.cpp:173
#: src/models/actionsmodel.cpp:172
msgid "Sends the given emote"
msgstr "Wysyła daną emotikonę"
#: src/models/actionsmodel.cpp:183
#: src/models/actionsmodel.cpp:182
msgid "Sends the given message as a notice"
msgstr "Wysyła daną wiadomość jako powiadomienie"
#: src/models/actionsmodel.cpp:192 src/models/actionsmodel.cpp:358
#: src/models/actionsmodel.cpp:386 src/models/actionsmodel.cpp:436
#: src/models/actionsmodel.cpp:473 src/models/actionsmodel.cpp:507
#: src/models/actionsmodel.cpp:191 src/models/actionsmodel.cpp:357
#: src/models/actionsmodel.cpp:385 src/models/actionsmodel.cpp:435
#: src/models/actionsmodel.cpp:472 src/models/actionsmodel.cpp:506
#, kde-format
msgctxt "'<text>' does not look like a matrix id."
msgid "'%1' does not look like a matrix id."
msgstr "'%1' nie wygląda jak identyfikator matriksa."
#: src/models/actionsmodel.cpp:198
#: src/models/actionsmodel.cpp:197
#, kde-format
msgctxt "<user> is already invited to this room."
msgid "%1 is already invited to this room."
msgstr "%1 został już zaproszony do tego pokoju."
#: src/models/actionsmodel.cpp:202
#: src/models/actionsmodel.cpp:201
#, kde-format
msgctxt "<user> is banned from this room."
msgid "%1 is banned from this room."
msgstr "%1 jest zbanowany w tym pokoju."
#: src/models/actionsmodel.cpp:207
#: src/models/actionsmodel.cpp:206
#, kde-format
msgid "You are already in this room."
msgstr "Już jesteś w tym pokoju."
#: src/models/actionsmodel.cpp:211
#: src/models/actionsmodel.cpp:210
#, kde-format
msgctxt "<user> is already in this room."
msgid "%1 is already in this room."
msgstr "%1 przebywa już w tym pokoju."
#: src/models/actionsmodel.cpp:215
#: src/models/actionsmodel.cpp:214
#, kde-format
msgctxt "<username> was invited into this room"
msgid "%1 was invited into this room"
msgstr "%1 został zaproszony do tego pokoju"
#: src/models/actionsmodel.cpp:220 src/models/actionsmodel.cpp:376
#: src/models/actionsmodel.cpp:404 src/models/actionsmodel.cpp:495
#: src/models/actionsmodel.cpp:219 src/models/actionsmodel.cpp:375
#: src/models/actionsmodel.cpp:403 src/models/actionsmodel.cpp:494
msgid "<user id>"
msgstr "<id-użytkownika>"
#: src/models/actionsmodel.cpp:221
#: src/models/actionsmodel.cpp:220
msgid "Invites the user to this room"
msgstr "Zaprasza użytkownika do tego pokoju"
#: src/models/actionsmodel.cpp:238 src/models/actionsmodel.cpp:295
#: src/models/actionsmodel.cpp:237 src/models/actionsmodel.cpp:294
#, kde-format
msgctxt "Joining room <roomname>."
msgid "Joining room %1."
msgstr "Dołączanie do pokoju %1."
#: src/models/actionsmodel.cpp:244 src/models/actionsmodel.cpp:301
#: src/models/actionsmodel.cpp:243 src/models/actionsmodel.cpp:300
msgid "<room alias or id>"
msgstr "<alias lub id pokoju>"
#: src/models/actionsmodel.cpp:245 src/models/actionsmodel.cpp:302
#: src/models/actionsmodel.cpp:244 src/models/actionsmodel.cpp:301
msgid "Joins the given room"
msgstr "Dołącza do danego pokoju"
#: src/models/actionsmodel.cpp:265
#: src/models/actionsmodel.cpp:264
#, kde-format
msgctxt "Knocking room <roomname>."
msgid "Knocking room %1."
msgstr "Pukanie do pokoju %1."
#: src/models/actionsmodel.cpp:277
#: src/models/actionsmodel.cpp:276
msgid "<room alias or id> [<reason>]"
msgstr "<alias lub id pokoju> [<powód>]"
#: src/models/actionsmodel.cpp:278
#: src/models/actionsmodel.cpp:277
msgid "Requests to join the given room"
msgstr "Prośby o dołączenie do danego pokoju"
#: src/models/actionsmodel.cpp:292
#: src/models/actionsmodel.cpp:291
#, kde-format
msgctxt "You are already in room <roomname>."
msgid "You are already in room %1."
msgstr "Już przebywasz w tym pokoju %1."
#: src/models/actionsmodel.cpp:309 src/models/actionsmodel.cpp:317
#: src/models/actionsmodel.cpp:308 src/models/actionsmodel.cpp:316
msgid "[<room alias or id>]"
msgstr "[<alias lub id pokoju>]"
#: src/models/actionsmodel.cpp:310 src/models/actionsmodel.cpp:318
#: src/models/actionsmodel.cpp:309 src/models/actionsmodel.cpp:317
msgid "Leaves the given room or this room, if there is none given"
msgstr "Opuszcza dany pokój lub ten pokój, jeśli nie podano żadnego"
#: src/models/actionsmodel.cpp:332 src/models/actionsmodel.cpp:340
#: src/models/actionsmodel.cpp:348
#: src/models/actionsmodel.cpp:331 src/models/actionsmodel.cpp:339
#: src/models/actionsmodel.cpp:347
msgid "<display name>"
msgstr "<wyświetlana nazwa>"
#: src/models/actionsmodel.cpp:333
#: src/models/actionsmodel.cpp:332
msgid "Changes your global display name"
msgstr "Zmienia twoją globalną, wyświetlaną nazwę"
#: src/models/actionsmodel.cpp:341 src/models/actionsmodel.cpp:349
#: src/models/actionsmodel.cpp:340 src/models/actionsmodel.cpp:348
msgid "Changes your display name in this room"
msgstr "Zmienia twoją wyświetlaną nazwę w tym pokoju"
#: src/models/actionsmodel.cpp:363
#: src/models/actionsmodel.cpp:362
#, kde-format
msgctxt "<username> is already ignored."
msgid "%1 is already ignored."
msgstr "%1 jest już wyciszony."
#: src/models/actionsmodel.cpp:368
#: src/models/actionsmodel.cpp:367
#, kde-format
msgctxt "<username> is now ignored"
msgid "%1 is now ignored."
msgstr "%1 jest teraz wyciszony."
#: src/models/actionsmodel.cpp:370 src/models/actionsmodel.cpp:398
#: src/models/actionsmodel.cpp:369 src/models/actionsmodel.cpp:397
#, kde-format
msgctxt "<username> is not a known user"
msgid "%1 is not a known user."
msgstr "%1 nie jest znanym użytkownikiem."
#: src/models/actionsmodel.cpp:377
#: src/models/actionsmodel.cpp:376
msgid "Ignores the given user"
msgstr "Wycisza danego użytkownika"
#: src/models/actionsmodel.cpp:392
#: src/models/actionsmodel.cpp:391
#, kde-format
msgctxt "<username> is not ignored."
msgid "%1 is not ignored."
msgstr "%1 nie jest wyciszony."
#: src/models/actionsmodel.cpp:396
#: src/models/actionsmodel.cpp:395
#, kde-format
msgctxt "<username> is no longer ignored."
msgid "%1 is no longer ignored."
msgstr "%1 nie jest już wyciszony."
#: src/models/actionsmodel.cpp:405
#: src/models/actionsmodel.cpp:404
msgid "Unignores the given user"
msgstr "Usuwa wyciszenie danego użytkownika"
#: src/models/actionsmodel.cpp:425
#: src/models/actionsmodel.cpp:424
msgid "<reaction text>"
msgstr "<tekst reakcji>"
#: src/models/actionsmodel.cpp:426
#: src/models/actionsmodel.cpp:425
msgid "React to the message with the given text"
msgstr "Zareaguj na tę wiadomość danym tekstem"
#: src/models/actionsmodel.cpp:442
#: src/models/actionsmodel.cpp:441
#, kde-format
msgctxt "<user> is already banned from this room."
msgid "%1 is already banned from this room."
msgstr "%1 został już zbanowany w tym pokoju"
#: src/models/actionsmodel.cpp:448
#: src/models/actionsmodel.cpp:447
#, kde-format
msgid "You are not allowed to ban users from this room."
msgstr "Nie masz pozwolenia na banowanie użytkowników w tym pokoju."
#: src/models/actionsmodel.cpp:454
#: src/models/actionsmodel.cpp:453
#, 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 "Nie masz pozwolenia na zbanowanie %1 w tym pokoju."
#: src/models/actionsmodel.cpp:458
#: src/models/actionsmodel.cpp:457
#, kde-format
msgctxt "<username> was banned from this room."
msgid "%1 was banned from this room."
msgstr "%1 został zbanowany w tym pokoju."
#: src/models/actionsmodel.cpp:463 src/models/actionsmodel.cpp:538
#: src/models/actionsmodel.cpp:462 src/models/actionsmodel.cpp:537
msgid "<user id> [<reason>]"
msgstr "<id-użytkownika> [<powód>]"
#: src/models/actionsmodel.cpp:464
#: src/models/actionsmodel.cpp:463
msgid "Bans the given user"
msgstr "Banuje danego użytkownika"
#: src/models/actionsmodel.cpp:478
#: src/models/actionsmodel.cpp:477
#, kde-format
msgid "You are not allowed to unban users from this room."
msgstr "Nie masz pozwolenia na odbanowywanie użytkowników w tym pokoju."
#: src/models/actionsmodel.cpp:484
#: src/models/actionsmodel.cpp:483
#, kde-format
msgctxt "<user> is not banned from this room."
msgid "%1 is not banned from this room."
msgstr "%1 nie jest zbanowany w tym pokoju"
#: src/models/actionsmodel.cpp:489
#: src/models/actionsmodel.cpp:488
#, kde-format
msgctxt "<username> was unbanned from this room."
msgid "%1 was unbanned from this room."
msgstr "%1 został odbanowany w tym pokoju"
#: src/models/actionsmodel.cpp:496
#: src/models/actionsmodel.cpp:495
msgid "Removes the ban of the given user"
msgstr "Usuwa bana na danego użytkownika"
#: src/models/actionsmodel.cpp:511
#: src/models/actionsmodel.cpp:510
#, kde-format
msgid "You cannot kick yourself from the room."
msgstr "Nie możesz wykopać samego siebie z pokoju."
#: src/models/actionsmodel.cpp:516
#: src/models/actionsmodel.cpp:515
#, kde-format
msgctxt "<username> is not in this room"
msgid "%1 is not in this room."
msgstr "%1 nie przebywa w tym pokoju."
#: src/models/actionsmodel.cpp:523
#: src/models/actionsmodel.cpp:522
#, kde-format
msgid "You are not allowed to kick users from this room."
msgstr "Nie masz pozwolenia na wykopywanie użytkowników z tego pokoju."
#: src/models/actionsmodel.cpp:529
#: src/models/actionsmodel.cpp:528
#, 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 "Nie masz pozwolenia na wykopanie %1 z tego pokoju."
#: src/models/actionsmodel.cpp:533
#: src/models/actionsmodel.cpp:532
#, kde-format
msgctxt "<username> was kicked from this room."
msgid "%1 was kicked from this room."
msgstr "%1 został wykopany z tego pokoju."
#: src/models/actionsmodel.cpp:539
#: src/models/actionsmodel.cpp:538
msgid "Removes the user from the room"
msgstr "Usuwa użytkownika z pokoju"
@@ -1846,28 +1846,28 @@ msgstr "Rozpocznij prywatną rozmowę"
msgid "Copy link"
msgstr "Skopiuj odnośnik"
#: src/qml/main.qml:128
#: src/qml/main.qml:124
#, kde-format
msgid "Warning: %1"
msgstr "Ostrzeżenie: %1"
#: src/qml/main.qml:267
#: src/qml/main.qml:263
#, kde-format
msgid "%1: %2"
msgstr "%1: %2"
#: src/qml/main.qml:308
#: src/qml/main.qml:304
#, kde-format
msgctxt "@title:window"
msgid "Session Verification"
msgstr "Sprawdzenie posiedzenia"
#: src/qml/main.qml:318
#: src/qml/main.qml:314
#, kde-format
msgid "User consent"
msgstr "Zgoda użytkownika"
#: src/qml/main.qml:323
#: src/qml/main.qml:319
#, kde-format
msgid ""
"Your homeserver requires you to agree to its terms and conditions before "
@@ -1876,17 +1876,17 @@ msgstr ""
"Twój serwer domowy wymaga zgody na jego warunki, zanim będzie można go "
"używać. Aby je przeczytać, naciśnij na przycisk poniżej."
#: src/qml/main.qml:328
#: src/qml/main.qml:324
#, kde-format
msgid "Open"
msgstr "Otwórz"
#: src/qml/main.qml:357
#: src/qml/main.qml:353
#, kde-format
msgid "Start a chat"
msgstr "Rozpocznij rozmowę"
#: src/qml/main.qml:359
#: src/qml/main.qml:355
#, kde-format
msgid "Do you want to start a chat with %1?"
msgstr "Czy chcesz rozpocząć rozmowę z %1?"
@@ -3826,34 +3826,34 @@ msgid ""
"There's no room %1 in the room list. Check the spelling and the account."
msgstr "Nie ma pokoju w spisie pokojów %1. Sprawdź pisownię i konto."
#: src/roommanager.cpp:210
#: src/roommanager.cpp:208
#, kde-format
msgid "Failed to join room"
msgstr "Nie udało się dołączyć do pokoju"
#: src/roommanager.cpp:227
#: src/roommanager.cpp:225
#, kde-format
msgid "You requested to join '%1'"
msgstr "Poprosiłeś od dołączenie do '%1'"
#: src/roommanager.cpp:230
#: src/roommanager.cpp:228
#, kde-format
msgid "Failed to request joining room"
msgstr "Nie udało się poprosić o dołączenie do pokoju"
#: src/roommanager.cpp:240
#: src/roommanager.cpp:238
#, kde-format
msgid "No application for the link"
msgstr "Brak programu obsługującego odnośnik"
#: src/roommanager.cpp:240
#: src/roommanager.cpp:238
#, kde-format
msgid "Your operating system could not find an application for the link."
msgstr ""
"Twój system operacyjny nie może znaleźć programu, który obsłużyłby ten "
"odnośnik."
#: src/roommanager.cpp:246
#: src/roommanager.cpp:244
#, kde-format
msgid "Could not open URL"
msgstr "Nie można otworzyć adresu URL"

View File

@@ -2,7 +2,7 @@ msgid ""
msgstr ""
"Project-Id-Version: neochat\n"
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
"POT-Creation-Date: 2023-04-11 00:48+0000\n"
"POT-Creation-Date: 2023-04-13 00:49+0000\n"
"PO-Revision-Date: 2023-04-04 09:09+0100\n"
"Last-Translator: José Nuno Coelho Pires <zepires@gmail.com>\n"
"Language-Team: Portuguese <kde-i18n-pt@kde.org>\n"
@@ -225,313 +225,313 @@ msgstr "O ID do conteúdo '%1' não segue o padrão 'server/mediaId'"
msgid "Image request has been cancelled"
msgstr "O pedido da imagem foi cancelado"
#: src/models/actionsmodel.cpp:24
#: src/models/actionsmodel.cpp:23
#, kde-format
msgid "Leaving this room."
msgstr "A sair desta sala."
#: src/models/actionsmodel.cpp:31 src/models/actionsmodel.cpp:230
#: src/models/actionsmodel.cpp:257 src/models/actionsmodel.cpp:288
#: src/models/actionsmodel.cpp:30 src/models/actionsmodel.cpp:229
#: src/models/actionsmodel.cpp:256 src/models/actionsmodel.cpp:287
#, 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 "O '%1' não parece ser um ID ou alcunha de sala."
#: src/models/actionsmodel.cpp:39
#: src/models/actionsmodel.cpp:38
#, kde-format
msgctxt "Leaving room <roomname>."
msgid "Leaving room %1."
msgstr "A sair da sala %1."
#: src/models/actionsmodel.cpp:42
#: src/models/actionsmodel.cpp:41
#, kde-format
msgctxt "Room <roomname> not found"
msgid "Room %1 not found."
msgstr "A sala %1 não foi encontrada."
#: src/models/actionsmodel.cpp:50 src/models/actionsmodel.cpp:324
#: src/models/actionsmodel.cpp:49 src/models/actionsmodel.cpp:323
#, kde-format
msgid "No new nickname provided, no changes will happen."
msgstr ""
"Não foi indicada nenhuma nova alcunha, pelo que não irão ocorrer "
"modificações."
#: 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:64 src/models/actionsmodel.cpp:74
#: src/models/actionsmodel.cpp:84 src/models/actionsmodel.cpp:94
#: src/models/actionsmodel.cpp:114 src/models/actionsmodel.cpp:134
#: src/models/actionsmodel.cpp:145 src/models/actionsmodel.cpp:161
#: src/models/actionsmodel.cpp:171 src/models/actionsmodel.cpp:181
msgid "<message>"
msgstr "<mensagem>"
#: src/models/actionsmodel.cpp:66
#: src/models/actionsmodel.cpp:65
msgid "Prepends ¯\\_(ツ)_/¯ to a plain-text message"
msgstr "Antecede ¯\\_(ツ)_/¯ a uma mensagem de texto simples"
#: src/models/actionsmodel.cpp:76
#: src/models/actionsmodel.cpp:75
msgid "Prepends ( ͡° ͜ʖ ͡°) to a plain-text message"
msgstr "Antecede ( ͡° ͜ʖ ͡°) a uma mensagem de texto simples"
#: src/models/actionsmodel.cpp:86
#: src/models/actionsmodel.cpp:85
msgid "Prepends (╯°□°)╯︵ ┻━┻ to a plain-text message"
msgstr "Antecede (╯°□°)╯︵ ┻━┻ a uma mensagem de texto simples"
#: src/models/actionsmodel.cpp:96
#: src/models/actionsmodel.cpp:95
msgid "Prepends ┬──┬ ( ゜-゜ノ) to a plain-text message"
msgstr "Antecede ┬──┬ ( ゜-゜ノ) a uma mensagem de texto simples"
#: src/models/actionsmodel.cpp:116
#: src/models/actionsmodel.cpp:115
msgid "Sends the given message colored as a rainbow"
msgstr "Envia a mensagem indicada, colorida como um arco-íris"
#: src/models/actionsmodel.cpp:136
#: src/models/actionsmodel.cpp:135
msgid "Sends the given emote colored as a rainbow"
msgstr "Envia o ícone emotivo indicado, colorido como um arco-íris"
#: src/models/actionsmodel.cpp:147
#: src/models/actionsmodel.cpp:146
msgid "Sends the given message as plain text"
msgstr "Envia a mensagem indicada em texto simples"
#: src/models/actionsmodel.cpp:163
#: src/models/actionsmodel.cpp:162
msgid "Sends the given message as a spoiler"
msgstr "Envia a mensagem indicada como uma revelação"
#: src/models/actionsmodel.cpp:173
#: src/models/actionsmodel.cpp:172
msgid "Sends the given emote"
msgstr "Envia o ícone emotivo indicado"
#: src/models/actionsmodel.cpp:183
#: src/models/actionsmodel.cpp:182
msgid "Sends the given message as a notice"
msgstr "Envia a mensagem indicada como um aviso"
#: src/models/actionsmodel.cpp:192 src/models/actionsmodel.cpp:358
#: src/models/actionsmodel.cpp:386 src/models/actionsmodel.cpp:436
#: src/models/actionsmodel.cpp:473 src/models/actionsmodel.cpp:507
#: src/models/actionsmodel.cpp:191 src/models/actionsmodel.cpp:357
#: src/models/actionsmodel.cpp:385 src/models/actionsmodel.cpp:435
#: src/models/actionsmodel.cpp:472 src/models/actionsmodel.cpp:506
#, kde-format
msgctxt "'<text>' does not look like a matrix id."
msgid "'%1' does not look like a matrix id."
msgstr "O '%1' não parece ser um ID do Matrix."
#: src/models/actionsmodel.cpp:198
#: src/models/actionsmodel.cpp:197
#, kde-format
msgctxt "<user> is already invited to this room."
msgid "%1 is already invited to this room."
msgstr "O %1 já foi convidado para esta sala."
#: src/models/actionsmodel.cpp:202
#: src/models/actionsmodel.cpp:201
#, kde-format
msgctxt "<user> is banned from this room."
msgid "%1 is banned from this room."
msgstr "O %1 foi banido desta sala."
#: src/models/actionsmodel.cpp:207
#: src/models/actionsmodel.cpp:206
#, kde-format
msgid "You are already in this room."
msgstr "Já se encontra nesta sala."
#: src/models/actionsmodel.cpp:211
#: src/models/actionsmodel.cpp:210
#, kde-format
msgctxt "<user> is already in this room."
msgid "%1 is already in this room."
msgstr "O %1 já se encontra nesta sala."
#: src/models/actionsmodel.cpp:215
#: src/models/actionsmodel.cpp:214
#, kde-format
msgctxt "<username> was invited into this room"
msgid "%1 was invited into this room"
msgstr "O %1 foi convidado para esta sala"
#: src/models/actionsmodel.cpp:220 src/models/actionsmodel.cpp:376
#: src/models/actionsmodel.cpp:404 src/models/actionsmodel.cpp:495
#: src/models/actionsmodel.cpp:219 src/models/actionsmodel.cpp:375
#: src/models/actionsmodel.cpp:403 src/models/actionsmodel.cpp:494
msgid "<user id>"
msgstr "<ID do utilizador>"
#: src/models/actionsmodel.cpp:221
#: src/models/actionsmodel.cpp:220
msgid "Invites the user to this room"
msgstr "Convida o utilizador para esta sala"
#: src/models/actionsmodel.cpp:238 src/models/actionsmodel.cpp:295
#: src/models/actionsmodel.cpp:237 src/models/actionsmodel.cpp:294
#, kde-format
msgctxt "Joining room <roomname>."
msgid "Joining room %1."
msgstr "A juntar-se à sala %1."
#: src/models/actionsmodel.cpp:244 src/models/actionsmodel.cpp:301
#: src/models/actionsmodel.cpp:243 src/models/actionsmodel.cpp:300
msgid "<room alias or id>"
msgstr "<ID ou alcunha da sala>"
#: src/models/actionsmodel.cpp:245 src/models/actionsmodel.cpp:302
#: src/models/actionsmodel.cpp:244 src/models/actionsmodel.cpp:301
msgid "Joins the given room"
msgstr "Junta-se à sala indicada"
#: src/models/actionsmodel.cpp:265
#: src/models/actionsmodel.cpp:264
#, kde-format
msgctxt "Knocking room <roomname>."
msgid "Knocking room %1."
msgstr "A contactar a sala %1."
#: src/models/actionsmodel.cpp:277
#: src/models/actionsmodel.cpp:276
msgid "<room alias or id> [<reason>]"
msgstr "<ID ou alcunha da sala> [<razão>]"
#: src/models/actionsmodel.cpp:278
#: src/models/actionsmodel.cpp:277
msgid "Requests to join the given room"
msgstr "Pedidos para se ligar à sala indicada"
#: src/models/actionsmodel.cpp:292
#: src/models/actionsmodel.cpp:291
#, kde-format
msgctxt "You are already in room <roomname>."
msgid "You are already in room %1."
msgstr "Já se encontra na sala %1."
#: src/models/actionsmodel.cpp:309 src/models/actionsmodel.cpp:317
#: src/models/actionsmodel.cpp:308 src/models/actionsmodel.cpp:316
msgid "[<room alias or id>]"
msgstr "[<ID ou alcunha da sala>]"
#: src/models/actionsmodel.cpp:310 src/models/actionsmodel.cpp:318
#: src/models/actionsmodel.cpp:309 src/models/actionsmodel.cpp:317
msgid "Leaves the given room or this room, if there is none given"
msgstr "Sai da sala indicada ou desta sala, caso não seja indicada nenhuma"
#: src/models/actionsmodel.cpp:332 src/models/actionsmodel.cpp:340
#: src/models/actionsmodel.cpp:348
#: src/models/actionsmodel.cpp:331 src/models/actionsmodel.cpp:339
#: src/models/actionsmodel.cpp:347
msgid "<display name>"
msgstr "<nome visível>"
#: src/models/actionsmodel.cpp:333
#: src/models/actionsmodel.cpp:332
msgid "Changes your global display name"
msgstr "Muda o seu nome visível global"
#: src/models/actionsmodel.cpp:341 src/models/actionsmodel.cpp:349
#: src/models/actionsmodel.cpp:340 src/models/actionsmodel.cpp:348
msgid "Changes your display name in this room"
msgstr "Muda o seu nome visível nesta sala"
#: src/models/actionsmodel.cpp:363
#: src/models/actionsmodel.cpp:362
#, kde-format
msgctxt "<username> is already ignored."
msgid "%1 is already ignored."
msgstr "O %1 já está a ser ignorado."
#: src/models/actionsmodel.cpp:368
#: src/models/actionsmodel.cpp:367
#, kde-format
msgctxt "<username> is now ignored"
msgid "%1 is now ignored."
msgstr "O %1 está agora ignorado."
#: src/models/actionsmodel.cpp:370 src/models/actionsmodel.cpp:398
#: src/models/actionsmodel.cpp:369 src/models/actionsmodel.cpp:397
#, kde-format
msgctxt "<username> is not a known user"
msgid "%1 is not a known user."
msgstr "O %1 não é um utilizador conhecido."
#: src/models/actionsmodel.cpp:377
#: src/models/actionsmodel.cpp:376
msgid "Ignores the given user"
msgstr "Ignora o utilizador indicado"
#: src/models/actionsmodel.cpp:392
#: src/models/actionsmodel.cpp:391
#, kde-format
msgctxt "<username> is not ignored."
msgid "%1 is not ignored."
msgstr "O %1 não está ignorado."
#: src/models/actionsmodel.cpp:396
#: src/models/actionsmodel.cpp:395
#, kde-format
msgctxt "<username> is no longer ignored."
msgid "%1 is no longer ignored."
msgstr "O %1 já não é mais ignorado."
#: src/models/actionsmodel.cpp:405
#: src/models/actionsmodel.cpp:404
msgid "Unignores the given user"
msgstr "Reactiva o utilizador indicado"
#: src/models/actionsmodel.cpp:425
#: src/models/actionsmodel.cpp:424
msgid "<reaction text>"
msgstr "<texto da reacção>"
#: src/models/actionsmodel.cpp:426
#: src/models/actionsmodel.cpp:425
msgid "React to the message with the given text"
msgstr "Reagir a esta mensagem com o texto indicado"
#: src/models/actionsmodel.cpp:442
#: src/models/actionsmodel.cpp:441
#, kde-format
msgctxt "<user> is already banned from this room."
msgid "%1 is already banned from this room."
msgstr "O %1 já foi banido desta sala."
#: src/models/actionsmodel.cpp:448
#: src/models/actionsmodel.cpp:447
#, kde-format
msgid "You are not allowed to ban users from this room."
msgstr "Não tem permissão para banir os utilizadores desta sala."
#: src/models/actionsmodel.cpp:454
#: src/models/actionsmodel.cpp:453
#, 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 "Não tem permissão para banir o %1 desta sala."
#: src/models/actionsmodel.cpp:458
#: src/models/actionsmodel.cpp:457
#, kde-format
msgctxt "<username> was banned from this room."
msgid "%1 was banned from this room."
msgstr "O %1 foi banido desta sala."
#: src/models/actionsmodel.cpp:463 src/models/actionsmodel.cpp:538
#: src/models/actionsmodel.cpp:462 src/models/actionsmodel.cpp:537
msgid "<user id> [<reason>]"
msgstr "<ID do utilizador> [<razão>]"
#: src/models/actionsmodel.cpp:464
#: src/models/actionsmodel.cpp:463
msgid "Bans the given user"
msgstr "Expulsa o utilizador indicado"
#: src/models/actionsmodel.cpp:478
#: src/models/actionsmodel.cpp:477
#, kde-format
msgid "You are not allowed to unban users from this room."
msgstr "Não tem permissão para aceitar de volta utilizadores desta sala."
#: src/models/actionsmodel.cpp:484
#: src/models/actionsmodel.cpp:483
#, kde-format
msgctxt "<user> is not banned from this room."
msgid "%1 is not banned from this room."
msgstr "O %1 não está expulso desta sala."
#: src/models/actionsmodel.cpp:489
#: src/models/actionsmodel.cpp:488
#, kde-format
msgctxt "<username> was unbanned from this room."
msgid "%1 was unbanned from this room."
msgstr "O %1 já não está mais expulso desta sala."
#: src/models/actionsmodel.cpp:496
#: src/models/actionsmodel.cpp:495
msgid "Removes the ban of the given user"
msgstr "Remove a expulsão do utilizador indicado"
#: src/models/actionsmodel.cpp:511
#: src/models/actionsmodel.cpp:510
#, kde-format
msgid "You cannot kick yourself from the room."
msgstr "Não se pode expulsar a si próprio da sala."
#: src/models/actionsmodel.cpp:516
#: src/models/actionsmodel.cpp:515
#, kde-format
msgctxt "<username> is not in this room"
msgid "%1 is not in this room."
msgstr "O %1 não se encontra nesta sala."
#: src/models/actionsmodel.cpp:523
#: src/models/actionsmodel.cpp:522
#, kde-format
msgid "You are not allowed to kick users from this room."
msgstr "Não tem permissão para expulsar utilizadores desta sala."
#: src/models/actionsmodel.cpp:529
#: src/models/actionsmodel.cpp:528
#, 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 "Não tem permissão para expulsar o %1 desta sala."
#: src/models/actionsmodel.cpp:533
#: src/models/actionsmodel.cpp:532
#, kde-format
msgctxt "<username> was kicked from this room."
msgid "%1 was kicked from this room."
msgstr "O %1 foi expulso desta sala."
#: src/models/actionsmodel.cpp:539
#: src/models/actionsmodel.cpp:538
msgid "Removes the user from the room"
msgstr "Remove o utilizador da sala"
@@ -1853,28 +1853,28 @@ msgstr "Abrir uma conversa privada"
msgid "Copy link"
msgstr "Copiar a ligação"
#: src/qml/main.qml:128
#: src/qml/main.qml:124
#, kde-format
msgid "Warning: %1"
msgstr "Aviso: %1"
#: src/qml/main.qml:267
#: src/qml/main.qml:263
#, kde-format
msgid "%1: %2"
msgstr "%1: %2"
#: src/qml/main.qml:308
#: src/qml/main.qml:304
#, kde-format
msgctxt "@title:window"
msgid "Session Verification"
msgstr "Verificação da Sessão"
#: src/qml/main.qml:318
#: src/qml/main.qml:314
#, kde-format
msgid "User consent"
msgstr "Consentimento do utilizador"
#: src/qml/main.qml:323
#: src/qml/main.qml:319
#, kde-format
msgid ""
"Your homeserver requires you to agree to its terms and conditions before "
@@ -1883,17 +1883,17 @@ msgstr ""
"O seu servidor caseiro obriga a que concorde com os seus termos e condições "
"antes de o poder usar. Por favor carregue no botão abaixo para os ler."
#: src/qml/main.qml:328
#: src/qml/main.qml:324
#, kde-format
msgid "Open"
msgstr "Abrir"
#: src/qml/main.qml:357
#: src/qml/main.qml:353
#, kde-format
msgid "Start a chat"
msgstr "Iniciar uma conversa"
#: src/qml/main.qml:359
#: src/qml/main.qml:355
#, kde-format
msgid "Do you want to start a chat with %1?"
msgstr "Deseja iniciar uma conversa com %1?"
@@ -3832,33 +3832,33 @@ msgid ""
"There's no room %1 in the room list. Check the spelling and the account."
msgstr "Não existe nenhuma sala %1 na lista. Verifique a ortografia e a conta."
#: src/roommanager.cpp:210
#: src/roommanager.cpp:208
#, kde-format
msgid "Failed to join room"
msgstr "Não foi possível juntar-se à sala"
#: src/roommanager.cpp:227
#: src/roommanager.cpp:225
#, kde-format
msgid "You requested to join '%1'"
msgstr "Pediu para se ligar ao '%1'"
#: src/roommanager.cpp:230
#: src/roommanager.cpp:228
#, kde-format
msgid "Failed to request joining room"
msgstr "Não foi possível pedir para se ligar à sala"
#: src/roommanager.cpp:240
#: src/roommanager.cpp:238
#, kde-format
msgid "No application for the link"
msgstr "Sem aplicação para a ligação"
#: src/roommanager.cpp:240
#: src/roommanager.cpp:238
#, kde-format
msgid "Your operating system could not find an application for the link."
msgstr ""
"Não foi possível ao sistema operativo encontrar uma aplicação para a ligação."
#: src/roommanager.cpp:246
#: src/roommanager.cpp:244
#, kde-format
msgid "Could not open URL"
msgstr "Não foi possível abrir o URL"

View File

@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: neochat\n"
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
"POT-Creation-Date: 2023-04-11 00:48+0000\n"
"POT-Creation-Date: 2023-04-13 00:49+0000\n"
"PO-Revision-Date: 2022-08-19 15:06-0300\n"
"Last-Translator: Luiz Fernando Ranghetti <elchevive@opensuse.org>\n"
"Language-Team: Portuguese <kde-i18n-pt_BR@kde.org>\n"
@@ -229,379 +229,379 @@ msgstr "A mídia de id '%1' não segue o padrão server/mediaId"
msgid "Image request has been cancelled"
msgstr "A solicitação de imagem foi cancelada"
#: src/models/actionsmodel.cpp:24
#: src/models/actionsmodel.cpp:23
#, fuzzy, kde-format
#| msgid "Open NeoChat in this room"
msgid "Leaving this room."
msgstr "Abrir o NeoChat nesta sala"
#: src/models/actionsmodel.cpp:31 src/models/actionsmodel.cpp:230
#: src/models/actionsmodel.cpp:257 src/models/actionsmodel.cpp:288
#: src/models/actionsmodel.cpp:30 src/models/actionsmodel.cpp:229
#: src/models/actionsmodel.cpp:256 src/models/actionsmodel.cpp:287
#, 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:38
#, fuzzy, kde-format
#| msgid "Leave room"
msgctxt "Leaving room <roomname>."
msgid "Leaving room %1."
msgstr "Sair da sala"
#: src/models/actionsmodel.cpp:42
#: src/models/actionsmodel.cpp:41
#, fuzzy, kde-format
#| msgid "Room not found"
msgctxt "Room <roomname> not found"
msgid "Room %1 not found."
msgstr "Sala não encontrada"
#: src/models/actionsmodel.cpp:50 src/models/actionsmodel.cpp:324
#: src/models/actionsmodel.cpp:49 src/models/actionsmodel.cpp:323
#, 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:64 src/models/actionsmodel.cpp:74
#: src/models/actionsmodel.cpp:84 src/models/actionsmodel.cpp:94
#: src/models/actionsmodel.cpp:114 src/models/actionsmodel.cpp:134
#: src/models/actionsmodel.cpp:145 src/models/actionsmodel.cpp:161
#: src/models/actionsmodel.cpp:171 src/models/actionsmodel.cpp:181
#, fuzzy
#| msgctxt "@label Parameter of a command"
#| msgid "<message>"
msgid "<message>"
msgstr "<message>"
#: src/models/actionsmodel.cpp:66
#: src/models/actionsmodel.cpp:65
msgid "Prepends ¯\\_(ツ)_/¯ to a plain-text message"
msgstr "Prefixa uma messagem de texto simples com ¯\\_(ツ)_/¯"
#: src/models/actionsmodel.cpp:76
#: src/models/actionsmodel.cpp:75
msgid "Prepends ( ͡° ͜ʖ ͡°) to a plain-text message"
msgstr "Prefixa uma messagem de texto simples com ( ͡° ͜ʖ ͡°)"
#: src/models/actionsmodel.cpp:86
#: src/models/actionsmodel.cpp:85
msgid "Prepends (╯°□°)╯︵ ┻━┻ to a plain-text message"
msgstr "Prefixa (╯°□°)╯︵ ┻━┻ em uma mensagem de texto simples"
#: src/models/actionsmodel.cpp:96
#: src/models/actionsmodel.cpp:95
msgid "Prepends ┬──┬ ( ゜-゜ノ) to a plain-text message"
msgstr "Prefixa ┬──┬ ( ゜-゜ノ) em uma mensagem de texto simples"
#: src/models/actionsmodel.cpp:116
#: src/models/actionsmodel.cpp:115
#, fuzzy
#| msgid "Sends the given message coloured as a rainbow"
msgid "Sends the given message colored as a rainbow"
msgstr "Envia a mensagem colorida como arco-íris"
#: src/models/actionsmodel.cpp:136
#: src/models/actionsmodel.cpp:135
#, fuzzy
#| msgid "Sends the given emote coloured as a rainbow"
msgid "Sends the given emote colored as a rainbow"
msgstr "Envia o emote colorido como arco-íris"
#: src/models/actionsmodel.cpp:147
#: src/models/actionsmodel.cpp:146
#, fuzzy
#| msgid "Sends the given message as a spoiler"
msgid "Sends the given message as plain text"
msgstr "Envia a mensagem como spoiler"
#: src/models/actionsmodel.cpp:163
#: src/models/actionsmodel.cpp:162
msgid "Sends the given message as a spoiler"
msgstr "Envia a mensagem como spoiler"
#: src/models/actionsmodel.cpp:173
#: src/models/actionsmodel.cpp:172
#, fuzzy
#| msgid "Sends the given message as a spoiler"
msgid "Sends the given emote"
msgstr "Envia a mensagem como spoiler"
#: src/models/actionsmodel.cpp:183
#: src/models/actionsmodel.cpp:182
#, fuzzy
#| msgid "Sends the given message as a spoiler"
msgid "Sends the given message as a notice"
msgstr "Envia a mensagem como spoiler"
#: src/models/actionsmodel.cpp:192 src/models/actionsmodel.cpp:358
#: src/models/actionsmodel.cpp:386 src/models/actionsmodel.cpp:436
#: src/models/actionsmodel.cpp:473 src/models/actionsmodel.cpp:507
#: src/models/actionsmodel.cpp:191 src/models/actionsmodel.cpp:357
#: src/models/actionsmodel.cpp:385 src/models/actionsmodel.cpp:435
#: src/models/actionsmodel.cpp:472 src/models/actionsmodel.cpp:506
#, 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:198
#: src/models/actionsmodel.cpp:197
#, fuzzy, kde-format
#| msgid "reinvited %1 to the room"
msgctxt "<user> is already invited to this room."
msgid "%1 is already invited to this room."
msgstr "%1 foi convidado para a sala novamente"
#: src/models/actionsmodel.cpp:202
#: src/models/actionsmodel.cpp:201
#, fuzzy, kde-format
#| msgid "self-banned from the room"
msgctxt "<user> is banned from this room."
msgid "%1 is banned from this room."
msgstr "baniu a si mesmo da sala"
#: src/models/actionsmodel.cpp:207
#: src/models/actionsmodel.cpp:206
#, fuzzy, kde-format
#| msgid "Open NeoChat in this room"
msgid "You are already in this room."
msgstr "Abrir o NeoChat nesta sala"
#: src/models/actionsmodel.cpp:211
#: src/models/actionsmodel.cpp:210
#, fuzzy, kde-format
#| msgid "Open NeoChat in this room"
msgctxt "<user> is already in this room."
msgid "%1 is already in this room."
msgstr "Abrir o NeoChat nesta sala"
#: src/models/actionsmodel.cpp:215
#: src/models/actionsmodel.cpp:214
#, fuzzy, kde-format
#| msgid "%1 invited you to a room"
msgctxt "<username> was invited into this room"
msgid "%1 was invited into this room"
msgstr "%1 convidou você para uma sala"
#: src/models/actionsmodel.cpp:220 src/models/actionsmodel.cpp:376
#: src/models/actionsmodel.cpp:404 src/models/actionsmodel.cpp:495
#: src/models/actionsmodel.cpp:219 src/models/actionsmodel.cpp:375
#: src/models/actionsmodel.cpp:403 src/models/actionsmodel.cpp:494
#, fuzzy
#| msgctxt "@label Parameter of a command"
#| msgid "<user-id>"
msgid "<user id>"
msgstr "<user-id>"
#: src/models/actionsmodel.cpp:221
#: src/models/actionsmodel.cpp:220
#, fuzzy
#| msgid "%1 invited you to a room"
msgid "Invites the user to this room"
msgstr "%1 convidou você para uma sala"
#: src/models/actionsmodel.cpp:238 src/models/actionsmodel.cpp:295
#: src/models/actionsmodel.cpp:237 src/models/actionsmodel.cpp:294
#, fuzzy, kde-format
#| msgid "Configure room"
msgctxt "Joining room <roomname>."
msgid "Joining room %1."
msgstr "Configurar sala"
#: src/models/actionsmodel.cpp:244 src/models/actionsmodel.cpp:301
#: src/models/actionsmodel.cpp:243 src/models/actionsmodel.cpp:300
msgid "<room alias or id>"
msgstr ""
#: src/models/actionsmodel.cpp:245 src/models/actionsmodel.cpp:302
#: src/models/actionsmodel.cpp:244 src/models/actionsmodel.cpp:301
#, fuzzy
#| msgid "joined the room"
msgid "Joins the given room"
msgstr "entrou na sala"
#: src/models/actionsmodel.cpp:265
#: src/models/actionsmodel.cpp:264
#, fuzzy, kde-format
#| msgid "Configure room"
msgctxt "Knocking room <roomname>."
msgid "Knocking room %1."
msgstr "Configurar sala"
#: src/models/actionsmodel.cpp:277
#: src/models/actionsmodel.cpp:276
#, fuzzy
#| msgctxt "@label Parameter of a command"
#| msgid "<user-id>"
msgid "<room alias or id> [<reason>]"
msgstr "<user-id>"
#: src/models/actionsmodel.cpp:278
#: src/models/actionsmodel.cpp:277
#, fuzzy
#| msgid "joined the room"
msgid "Requests to join the given room"
msgstr "entrou na sala"
#: src/models/actionsmodel.cpp:292
#: src/models/actionsmodel.cpp:291
#, kde-format
msgctxt "You are already in room <roomname>."
msgid "You are already in room %1."
msgstr ""
#: src/models/actionsmodel.cpp:309 src/models/actionsmodel.cpp:317
#: src/models/actionsmodel.cpp:308 src/models/actionsmodel.cpp:316
msgid "[<room alias or id>]"
msgstr ""
#: src/models/actionsmodel.cpp:310 src/models/actionsmodel.cpp:318
#: src/models/actionsmodel.cpp:309 src/models/actionsmodel.cpp:317
msgid "Leaves the given room or this room, if there is none given"
msgstr ""
#: src/models/actionsmodel.cpp:332 src/models/actionsmodel.cpp:340
#: src/models/actionsmodel.cpp:348
#: src/models/actionsmodel.cpp:331 src/models/actionsmodel.cpp:339
#: src/models/actionsmodel.cpp:347
msgid "<display name>"
msgstr ""
#: src/models/actionsmodel.cpp:333
#: src/models/actionsmodel.cpp:332
#, fuzzy
#| msgctxt "their refers to a singular user"
#| msgid "changed their display name to %1"
msgid "Changes your global display name"
msgstr "alterou seu nome de exibição para %1"
#: src/models/actionsmodel.cpp:341 src/models/actionsmodel.cpp:349
#: src/models/actionsmodel.cpp:340 src/models/actionsmodel.cpp:348
#, fuzzy
#| msgctxt "their refers to a singular user"
#| msgid "changed their display name to %1"
msgid "Changes your display name in this room"
msgstr "alterou seu nome de exibição para %1"
#: src/models/actionsmodel.cpp:363
#: src/models/actionsmodel.cpp:362
#, kde-format
msgctxt "<username> is already ignored."
msgid "%1 is already ignored."
msgstr ""
#: src/models/actionsmodel.cpp:368
#: src/models/actionsmodel.cpp:367
#, kde-format
msgctxt "<username> is now ignored"
msgid "%1 is now ignored."
msgstr ""
#: src/models/actionsmodel.cpp:370 src/models/actionsmodel.cpp:398
#: src/models/actionsmodel.cpp:369 src/models/actionsmodel.cpp:397
#, kde-format
msgctxt "<username> is not a known user"
msgid "%1 is not a known user."
msgstr ""
#: src/models/actionsmodel.cpp:377
#: src/models/actionsmodel.cpp:376
#, fuzzy
#| msgid "Ignore this user"
msgid "Ignores the given user"
msgstr "Ignorar este ignorar"
#: src/models/actionsmodel.cpp:392
#: src/models/actionsmodel.cpp:391
#, kde-format
msgctxt "<username> is not ignored."
msgid "%1 is not ignored."
msgstr ""
#: src/models/actionsmodel.cpp:396
#: src/models/actionsmodel.cpp:395
#, kde-format
msgctxt "<username> is no longer ignored."
msgid "%1 is no longer ignored."
msgstr ""
#: src/models/actionsmodel.cpp:405
#: src/models/actionsmodel.cpp:404
#, fuzzy
#| msgid "Unignore this user"
msgid "Unignores the given user"
msgstr "Não ignorar mais este usuário"
#: src/models/actionsmodel.cpp:425
#: src/models/actionsmodel.cpp:424
#, fuzzy
#| msgctxt "@label Parameter of a command"
#| msgid "<reaction text>"
msgid "<reaction text>"
msgstr "<texto da reação>"
#: src/models/actionsmodel.cpp:426
#: src/models/actionsmodel.cpp:425
#, fuzzy
#| msgid "React to this message with a text"
msgid "React to the message with the given text"
msgstr "Reaja a esta mensagem com um texto"
#: src/models/actionsmodel.cpp:442
#: src/models/actionsmodel.cpp:441
#, fuzzy, kde-format
#| msgid "self-banned from the room"
msgctxt "<user> is already banned from this room."
msgid "%1 is already banned from this room."
msgstr "baniu a si mesmo da sala"
#: src/models/actionsmodel.cpp:448
#: src/models/actionsmodel.cpp:447
#, fuzzy, kde-format
#| msgid "Open NeoChat in this room"
msgid "You are not allowed to ban users from this room."
msgstr "Abrir o NeoChat nesta sala"
#: src/models/actionsmodel.cpp:454
#: src/models/actionsmodel.cpp:453
#, fuzzy, kde-format
#| msgid "Open NeoChat in this room"
msgctxt "You are not allowed to ban <username> from this room."
msgid "You are not allowed to ban %1 from this room."
msgstr "Abrir o NeoChat nesta sala"
#: src/models/actionsmodel.cpp:458
#: src/models/actionsmodel.cpp:457
#, fuzzy, kde-format
#| msgid "self-banned from the room"
msgctxt "<username> was banned from this room."
msgid "%1 was banned from this room."
msgstr "baniu a si mesmo da sala"
#: src/models/actionsmodel.cpp:463 src/models/actionsmodel.cpp:538
#: src/models/actionsmodel.cpp:462 src/models/actionsmodel.cpp:537
#, fuzzy
#| msgctxt "@label Parameter of a command"
#| msgid "<user-id>"
msgid "<user id> [<reason>]"
msgstr "<user-id>"
#: src/models/actionsmodel.cpp:464
#: src/models/actionsmodel.cpp:463
#, fuzzy
#| msgid "Ignore this user"
msgid "Bans the given user"
msgstr "Ignorar este ignorar"
#: src/models/actionsmodel.cpp:478
#: src/models/actionsmodel.cpp:477
#, fuzzy, kde-format
#| msgid "Open NeoChat in this room"
msgid "You are not allowed to unban users from this room."
msgstr "Abrir o NeoChat nesta sala"
#: src/models/actionsmodel.cpp:484
#: src/models/actionsmodel.cpp:483
#, fuzzy, kde-format
#| msgid "self-banned from the room"
msgctxt "<user> is not banned from this room."
msgid "%1 is not banned from this room."
msgstr "baniu a si mesmo da sala"
#: src/models/actionsmodel.cpp:489
#: src/models/actionsmodel.cpp:488
#, fuzzy, kde-format
#| msgid "self-banned from the room"
msgctxt "<username> was unbanned from this room."
msgid "%1 was unbanned from this room."
msgstr "baniu a si mesmo da sala"
#: src/models/actionsmodel.cpp:496
#: src/models/actionsmodel.cpp:495
#, fuzzy
#| msgid "Ignore this user"
msgid "Removes the ban of the given user"
msgstr "Ignorar este ignorar"
#: src/models/actionsmodel.cpp:511
#: src/models/actionsmodel.cpp:510
#, kde-format
msgid "You cannot kick yourself from the room."
msgstr ""
#: src/models/actionsmodel.cpp:516
#: src/models/actionsmodel.cpp:515
#, fuzzy, kde-format
#| msgid "Open NeoChat in this room"
msgctxt "<username> is not in this room"
msgid "%1 is not in this room."
msgstr "Abrir o NeoChat nesta sala"
#: src/models/actionsmodel.cpp:523
#: src/models/actionsmodel.cpp:522
#, fuzzy, kde-format
#| msgid "Open NeoChat in this room"
msgid "You are not allowed to kick users from this room."
msgstr "Abrir o NeoChat nesta sala"
#: src/models/actionsmodel.cpp:529
#: src/models/actionsmodel.cpp:528
#, fuzzy, kde-format
#| msgid "Open NeoChat in this room"
msgctxt "You are not allowed to kick <username> from this room"
msgid "You are not allowed to kick %1 from this room."
msgstr "Abrir o NeoChat nesta sala"
#: src/models/actionsmodel.cpp:533
#: src/models/actionsmodel.cpp:532
#, fuzzy, kde-format
#| msgid "self-banned from the room"
msgctxt "<username> was kicked from this room."
msgid "%1 was kicked from this room."
msgstr "baniu a si mesmo da sala"
#: src/models/actionsmodel.cpp:539
#: src/models/actionsmodel.cpp:538
#, fuzzy
#| msgid "%1 invited you to a room"
msgid "Removes the user from the room"
@@ -1949,29 +1949,29 @@ msgstr "Abrir um bate-papo privado:"
msgid "Copy link"
msgstr "Copiar"
#: src/qml/main.qml:128
#: src/qml/main.qml:124
#, kde-format
msgid "Warning: %1"
msgstr "Aviso: %1"
#: src/qml/main.qml:267
#: src/qml/main.qml:263
#, kde-format
msgid "%1: %2"
msgstr "%1: %2"
#: src/qml/main.qml:308
#: src/qml/main.qml:304
#, fuzzy, kde-format
#| msgid "Show notifications"
msgctxt "@title:window"
msgid "Session Verification"
msgstr "Mostrar notificações"
#: src/qml/main.qml:318
#: src/qml/main.qml:314
#, kde-format
msgid "User consent"
msgstr "Consentimento do usuário"
#: src/qml/main.qml:323
#: src/qml/main.qml:319
#, kde-format
msgid ""
"Your homeserver requires you to agree to its terms and conditions before "
@@ -1980,17 +1980,17 @@ msgstr ""
"O seu homeserver requer que você concorde com seus termos e condições antes "
"de ser usado. Clique no botão abaixo para lê-los."
#: src/qml/main.qml:328
#: src/qml/main.qml:324
#, kde-format
msgid "Open"
msgstr "Abrir"
#: src/qml/main.qml:357
#: src/qml/main.qml:353
#, kde-format
msgid "Start a chat"
msgstr "Iniciar um bate-papo"
#: src/qml/main.qml:359
#: src/qml/main.qml:355
#, kde-format
msgid "Do you want to start a chat with %1?"
msgstr "Você gostaria de iniciar um bate-papo com %1?"
@@ -4047,36 +4047,36 @@ msgid ""
msgstr ""
"A sala %1 não consta na lista de salas. Verifique o nome da sala e da conta."
#: src/roommanager.cpp:210
#: src/roommanager.cpp:208
#, fuzzy, kde-format
#| msgid "%1 invited you to a room"
msgid "Failed to join room"
msgstr "%1 convidou você para uma sala"
#: src/roommanager.cpp:227
#: src/roommanager.cpp:225
#, kde-format
msgid "You requested to join '%1'"
msgstr ""
#: src/roommanager.cpp:230
#: src/roommanager.cpp:228
#, fuzzy, kde-format
#| msgid "%1 invited you to a room"
msgid "Failed to request joining room"
msgstr "%1 convidou você para uma sala"
#: src/roommanager.cpp:240
#: src/roommanager.cpp:238
#, kde-format
msgid "No application for the link"
msgstr "Nenhum aplicativo achado para este link"
#: src/roommanager.cpp:240
#: src/roommanager.cpp:238
#, kde-format
msgid "Your operating system could not find an application for the link."
msgstr ""
"O seu sistema operacional não conseguiu encontrar um aplicativo para este "
"link."
#: src/roommanager.cpp:246
#: src/roommanager.cpp:244
#, kde-format
msgid "Could not open URL"
msgstr "Não foi possível abrir a URL"

View File

@@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: neochat\n"
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
"POT-Creation-Date: 2023-04-11 00:48+0000\n"
"POT-Creation-Date: 2023-04-13 00:49+0000\n"
"PO-Revision-Date: 2022-12-25 23:09+0300\n"
"Last-Translator: Alexander Yavorsky <kekcuha@gmail.com>\n"
"Language-Team: Russian <kde-russian@lists.kde.ru>\n"
@@ -226,144 +226,144 @@ msgstr ""
msgid "Image request has been cancelled"
msgstr "Запрос изображения был отменен"
#: src/models/actionsmodel.cpp:24
#: src/models/actionsmodel.cpp:23
#, kde-format
msgid "Leaving this room."
msgstr "Покинуть эту комнату."
#: src/models/actionsmodel.cpp:31 src/models/actionsmodel.cpp:230
#: src/models/actionsmodel.cpp:257 src/models/actionsmodel.cpp:288
#: src/models/actionsmodel.cpp:30 src/models/actionsmodel.cpp:229
#: src/models/actionsmodel.cpp:256 src/models/actionsmodel.cpp:287
#, 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» не соответствует формату идентификатора комнаты или псевдонима."
#: src/models/actionsmodel.cpp:39
#: src/models/actionsmodel.cpp:38
#, kde-format
msgctxt "Leaving room <roomname>."
msgid "Leaving room %1."
msgstr "Покинуть комнату %1."
#: src/models/actionsmodel.cpp:42
#: src/models/actionsmodel.cpp:41
#, kde-format
msgctxt "Room <roomname> not found"
msgid "Room %1 not found."
msgstr "Комната «%1» не найдена."
#: src/models/actionsmodel.cpp:50 src/models/actionsmodel.cpp:324
#: src/models/actionsmodel.cpp:49 src/models/actionsmodel.cpp:323
#, 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:64 src/models/actionsmodel.cpp:74
#: src/models/actionsmodel.cpp:84 src/models/actionsmodel.cpp:94
#: src/models/actionsmodel.cpp:114 src/models/actionsmodel.cpp:134
#: src/models/actionsmodel.cpp:145 src/models/actionsmodel.cpp:161
#: src/models/actionsmodel.cpp:171 src/models/actionsmodel.cpp:181
msgid "<message>"
msgstr "<сообщение>"
#: src/models/actionsmodel.cpp:66
#: src/models/actionsmodel.cpp:65
msgid "Prepends ¯\\_(ツ)_/¯ to a plain-text message"
msgstr "Добавляет ¯\\_(ツ)_/¯ к текстовому сообщению"
#: src/models/actionsmodel.cpp:76
#: src/models/actionsmodel.cpp:75
msgid "Prepends ( ͡° ͜ʖ ͡°) to a plain-text message"
msgstr "Добавляет ( ͡° ͜ʖ ͡°) к текстовому сообщению"
#: src/models/actionsmodel.cpp:86
#: src/models/actionsmodel.cpp:85
msgid "Prepends (╯°□°)╯︵ ┻━┻ to a plain-text message"
msgstr "Добавляет (╯°□°)╯︵ ┻━┻ к текстовому сообщению"
#: src/models/actionsmodel.cpp:96
#: src/models/actionsmodel.cpp:95
msgid "Prepends ┬──┬ ( ゜-゜ノ) to a plain-text message"
msgstr "Добавляет ┬──┬ ( ゜-゜ノ) к текстовому сообщению"
#: src/models/actionsmodel.cpp:116
#: src/models/actionsmodel.cpp:115
msgid "Sends the given message colored as a rainbow"
msgstr "Отправляет указанное сообщение, окрашивая его в цвета радуги"
#: src/models/actionsmodel.cpp:136
#: src/models/actionsmodel.cpp:135
msgid "Sends the given emote colored as a rainbow"
msgstr "Отправляет указанную эмоцию, окрашенную в цвета радуги"
#: src/models/actionsmodel.cpp:147
#: src/models/actionsmodel.cpp:146
msgid "Sends the given message as plain text"
msgstr "Отправляет указанное сообщение в формате обычного текста"
#: src/models/actionsmodel.cpp:163
#: src/models/actionsmodel.cpp:162
msgid "Sends the given message as a spoiler"
msgstr "Отправляет указанное сообщение в качестве спойлера"
#: src/models/actionsmodel.cpp:173
#: src/models/actionsmodel.cpp:172
msgid "Sends the given emote"
msgstr "Отправляет указанную эмоцию"
#: src/models/actionsmodel.cpp:183
#: src/models/actionsmodel.cpp:182
msgid "Sends the given message as a notice"
msgstr "Отправляет указанное сообщение в виде уведомления"
#: src/models/actionsmodel.cpp:192 src/models/actionsmodel.cpp:358
#: src/models/actionsmodel.cpp:386 src/models/actionsmodel.cpp:436
#: src/models/actionsmodel.cpp:473 src/models/actionsmodel.cpp:507
#: src/models/actionsmodel.cpp:191 src/models/actionsmodel.cpp:357
#: src/models/actionsmodel.cpp:385 src/models/actionsmodel.cpp:435
#: src/models/actionsmodel.cpp:472 src/models/actionsmodel.cpp:506
#, kde-format
msgctxt "'<text>' does not look like a matrix id."
msgid "'%1' does not look like a matrix id."
msgstr "«%1» не соответствует формату идентификатора Matrix."
#: src/models/actionsmodel.cpp:198
#: src/models/actionsmodel.cpp:197
#, kde-format
msgctxt "<user> is already invited to this room."
msgid "%1 is already invited to this room."
msgstr "Пользователь %1 уже приглашён в эту комнату."
#: src/models/actionsmodel.cpp:202
#: src/models/actionsmodel.cpp:201
#, kde-format
msgctxt "<user> is banned from this room."
msgid "%1 is banned from this room."
msgstr "Пользователь %1 заблокирован в этой комнате"
#: src/models/actionsmodel.cpp:207
#: src/models/actionsmodel.cpp:206
#, kde-format
msgid "You are already in this room."
msgstr "Вы уже находитесь в этой комнате."
#: src/models/actionsmodel.cpp:211
#: src/models/actionsmodel.cpp:210
#, kde-format
msgctxt "<user> is already in this room."
msgid "%1 is already in this room."
msgstr "Пользователь %1 уже находится в этой комнате"
#: src/models/actionsmodel.cpp:215
#: src/models/actionsmodel.cpp:214
#, kde-format
msgctxt "<username> was invited into this room"
msgid "%1 was invited into this room"
msgstr "Пользователь %1 был приглашён в эту комнату"
#: src/models/actionsmodel.cpp:220 src/models/actionsmodel.cpp:376
#: src/models/actionsmodel.cpp:404 src/models/actionsmodel.cpp:495
#: src/models/actionsmodel.cpp:219 src/models/actionsmodel.cpp:375
#: src/models/actionsmodel.cpp:403 src/models/actionsmodel.cpp:494
msgid "<user id>"
msgstr "<идентификатор пользователя>"
#: src/models/actionsmodel.cpp:221
#: src/models/actionsmodel.cpp:220
msgid "Invites the user to this room"
msgstr "Пригласить пользователя в эту комнату"
#: src/models/actionsmodel.cpp:238 src/models/actionsmodel.cpp:295
#: src/models/actionsmodel.cpp:237 src/models/actionsmodel.cpp:294
#, kde-format
msgctxt "Joining room <roomname>."
msgid "Joining room %1."
msgstr "Вход в комнату %1."
#: src/models/actionsmodel.cpp:244 src/models/actionsmodel.cpp:301
#: src/models/actionsmodel.cpp:243 src/models/actionsmodel.cpp:300
msgid "<room alias or id>"
msgstr "<псевдоним или идентификатор комнаты>"
#: src/models/actionsmodel.cpp:245 src/models/actionsmodel.cpp:302
#: src/models/actionsmodel.cpp:244 src/models/actionsmodel.cpp:301
msgid "Joins the given room"
msgstr "Войти в заданную комнату"
#: src/models/actionsmodel.cpp:265
#: src/models/actionsmodel.cpp:264
#, fuzzy, kde-format
#| msgctxt "Joining room <roomname>."
#| msgid "Joining room %1."
@@ -371,172 +371,172 @@ msgctxt "Knocking room <roomname>."
msgid "Knocking room %1."
msgstr "Вход в комнату %1."
#: src/models/actionsmodel.cpp:277
#: src/models/actionsmodel.cpp:276
#, fuzzy
#| msgid "[<room alias or id>]"
msgid "<room alias or id> [<reason>]"
msgstr "[<псевдоним или ID комнаты>]"
#: src/models/actionsmodel.cpp:278
#: src/models/actionsmodel.cpp:277
#, fuzzy
#| msgid "Joins the given room"
msgid "Requests to join the given room"
msgstr "Войти в заданную комнату"
#: src/models/actionsmodel.cpp:292
#: src/models/actionsmodel.cpp:291
#, kde-format
msgctxt "You are already in room <roomname>."
msgid "You are already in room %1."
msgstr "Вы уже в комнате %1."
#: src/models/actionsmodel.cpp:309 src/models/actionsmodel.cpp:317
#: src/models/actionsmodel.cpp:308 src/models/actionsmodel.cpp:316
msgid "[<room alias or id>]"
msgstr "[<псевдоним или ID комнаты>]"
#: src/models/actionsmodel.cpp:310 src/models/actionsmodel.cpp:318
#: src/models/actionsmodel.cpp:309 src/models/actionsmodel.cpp:317
msgid "Leaves the given room or this room, if there is none given"
msgstr "Покинуть заданную комнату или эту комнату, если таковой не задан"
#: src/models/actionsmodel.cpp:332 src/models/actionsmodel.cpp:340
#: src/models/actionsmodel.cpp:348
#: src/models/actionsmodel.cpp:331 src/models/actionsmodel.cpp:339
#: src/models/actionsmodel.cpp:347
msgid "<display name>"
msgstr "<отображаемое имя>"
#: src/models/actionsmodel.cpp:333
#: src/models/actionsmodel.cpp:332
msgid "Changes your global display name"
msgstr "Изменить своё отображаемое имя"
#: src/models/actionsmodel.cpp:341 src/models/actionsmodel.cpp:349
#: src/models/actionsmodel.cpp:340 src/models/actionsmodel.cpp:348
msgid "Changes your display name in this room"
msgstr "Изменить своё отображаемое имя в этой комнате"
#: src/models/actionsmodel.cpp:363
#: src/models/actionsmodel.cpp:362
#, kde-format
msgctxt "<username> is already ignored."
msgid "%1 is already ignored."
msgstr "%1 уже игнорируется."
#: src/models/actionsmodel.cpp:368
#: src/models/actionsmodel.cpp:367
#, kde-format
msgctxt "<username> is now ignored"
msgid "%1 is now ignored."
msgstr "%1 теперь игнорируется."
#: src/models/actionsmodel.cpp:370 src/models/actionsmodel.cpp:398
#: src/models/actionsmodel.cpp:369 src/models/actionsmodel.cpp:397
#, kde-format
msgctxt "<username> is not a known user"
msgid "%1 is not a known user."
msgstr "%1 — неизвестный пользователь."
#: src/models/actionsmodel.cpp:377
#: src/models/actionsmodel.cpp:376
msgid "Ignores the given user"
msgstr "Игнорировать данного пользователя"
#: src/models/actionsmodel.cpp:392
#: src/models/actionsmodel.cpp:391
#, kde-format
msgctxt "<username> is not ignored."
msgid "%1 is not ignored."
msgstr "%1 не игнорируется."
#: src/models/actionsmodel.cpp:396
#: src/models/actionsmodel.cpp:395
#, kde-format
msgctxt "<username> is no longer ignored."
msgid "%1 is no longer ignored."
msgstr "%1 больше не игнорируется."
#: src/models/actionsmodel.cpp:405
#: src/models/actionsmodel.cpp:404
msgid "Unignores the given user"
msgstr "Перестать игнорировать данного пользователя"
#: src/models/actionsmodel.cpp:425
#: src/models/actionsmodel.cpp:424
msgid "<reaction text>"
msgstr "<текст реакции>"
#: src/models/actionsmodel.cpp:426
#: src/models/actionsmodel.cpp:425
msgid "React to the message with the given text"
msgstr "Реакция на сообщение заданным текстом"
#: src/models/actionsmodel.cpp:442
#: src/models/actionsmodel.cpp:441
#, kde-format
msgctxt "<user> is already banned from this room."
msgid "%1 is already banned from this room."
msgstr "%1 уже заблокирован в этой комнате."
#: src/models/actionsmodel.cpp:448
#: src/models/actionsmodel.cpp:447
#, kde-format
msgid "You are not allowed to ban users from this room."
msgstr "Вы не имеете права блокировать пользователей в этой комнате."
#: src/models/actionsmodel.cpp:454
#: src/models/actionsmodel.cpp:453
#, 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 "Вы не имеете права заблокировать %1 в этой комнате."
#: src/models/actionsmodel.cpp:458
#: src/models/actionsmodel.cpp:457
#, kde-format
msgctxt "<username> was banned from this room."
msgid "%1 was banned from this room."
msgstr "%1 был заблокирован в этой комнате."
#: src/models/actionsmodel.cpp:463 src/models/actionsmodel.cpp:538
#: src/models/actionsmodel.cpp:462 src/models/actionsmodel.cpp:537
msgid "<user id> [<reason>]"
msgstr "<идентификатор пользователя> [<причина>]"
#: src/models/actionsmodel.cpp:464
#: src/models/actionsmodel.cpp:463
msgid "Bans the given user"
msgstr "Заблокировать указанного пользователя"
#: src/models/actionsmodel.cpp:478
#: src/models/actionsmodel.cpp:477
#, kde-format
msgid "You are not allowed to unban users from this room."
msgstr "Вы не имеете права разблокировать пользователей в этой комнате."
#: src/models/actionsmodel.cpp:484
#: src/models/actionsmodel.cpp:483
#, kde-format
msgctxt "<user> is not banned from this room."
msgid "%1 is not banned from this room."
msgstr "Пользователь %1 не заблокирован в этой комнате."
#: src/models/actionsmodel.cpp:489
#: src/models/actionsmodel.cpp:488
#, kde-format
msgctxt "<username> was unbanned from this room."
msgid "%1 was unbanned from this room."
msgstr "Пользователь %1 был разблокирован в этой комнате."
#: src/models/actionsmodel.cpp:496
#: src/models/actionsmodel.cpp:495
msgid "Removes the ban of the given user"
msgstr "Отменяет блокировку данного пользователя"
#: src/models/actionsmodel.cpp:511
#: src/models/actionsmodel.cpp:510
#, kde-format
msgid "You cannot kick yourself from the room."
msgstr "Вы не можете выгнать себя из комнаты."
#: src/models/actionsmodel.cpp:516
#: src/models/actionsmodel.cpp:515
#, kde-format
msgctxt "<username> is not in this room"
msgid "%1 is not in this room."
msgstr "Пользователь %1 не находится в этой комнате."
#: src/models/actionsmodel.cpp:523
#: src/models/actionsmodel.cpp:522
#, kde-format
msgid "You are not allowed to kick users from this room."
msgstr "Вы не имеете права выгонять пользователей из этой комнаты."
#: src/models/actionsmodel.cpp:529
#: src/models/actionsmodel.cpp:528
#, 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 "Вы не имеете права выгнать пользователя %1 из этой комнаты."
#: src/models/actionsmodel.cpp:533
#: src/models/actionsmodel.cpp:532
#, kde-format
msgctxt "<username> was kicked from this room."
msgid "%1 was kicked from this room."
msgstr "Пользователь %1 был выгнан из этой комнаты."
#: src/models/actionsmodel.cpp:539
#: src/models/actionsmodel.cpp:538
msgid "Removes the user from the room"
msgstr "Удалить пользователя из комнаты"
@@ -1881,28 +1881,28 @@ msgstr "Открыть личный чат"
msgid "Copy link"
msgstr "Копировать ссылку"
#: src/qml/main.qml:128
#: src/qml/main.qml:124
#, kde-format
msgid "Warning: %1"
msgstr "Предупреждение: %1"
#: src/qml/main.qml:267
#: src/qml/main.qml:263
#, kde-format
msgid "%1: %2"
msgstr "%1: %2"
#: src/qml/main.qml:308
#: src/qml/main.qml:304
#, kde-format
msgctxt "@title:window"
msgid "Session Verification"
msgstr "Проверка сеанса"
#: src/qml/main.qml:318
#: src/qml/main.qml:314
#, kde-format
msgid "User consent"
msgstr "Согласие пользователя"
#: src/qml/main.qml:323
#: src/qml/main.qml:319
#, kde-format
msgid ""
"Your homeserver requires you to agree to its terms and conditions before "
@@ -1912,17 +1912,17 @@ msgstr ""
"условиями, прежде чем сможете его использовать. Нажмите на кнопку, "
"расположенную ниже, ниже, чтобы прочитать их."
#: src/qml/main.qml:328
#: src/qml/main.qml:324
#, kde-format
msgid "Open"
msgstr "Открыть"
#: src/qml/main.qml:357
#: src/qml/main.qml:353
#, kde-format
msgid "Start a chat"
msgstr "Начать общение"
#: src/qml/main.qml:359
#: src/qml/main.qml:355
#, kde-format
msgid "Do you want to start a chat with %1?"
msgstr "Начать чат с %1?"
@@ -3910,34 +3910,34 @@ msgid ""
msgstr ""
"В списке комнат нет комнаты «%1». Проверьте орфографию и учётную запись."
#: src/roommanager.cpp:210
#: src/roommanager.cpp:208
#, fuzzy, kde-format
#| msgid "Invites to a room"
msgid "Failed to join room"
msgstr "Приглашения в комнату"
#: src/roommanager.cpp:227
#: src/roommanager.cpp:225
#, kde-format
msgid "You requested to join '%1'"
msgstr ""
#: src/roommanager.cpp:230
#: src/roommanager.cpp:228
#, fuzzy, kde-format
#| msgid "Invites to a room"
msgid "Failed to request joining room"
msgstr "Приглашения в комнату"
#: src/roommanager.cpp:240
#: src/roommanager.cpp:238
#, kde-format
msgid "No application for the link"
msgstr "Отсутствует приложение, позволяющее открыть эту ссылку"
#: src/roommanager.cpp:240
#: src/roommanager.cpp:238
#, kde-format
msgid "Your operating system could not find an application for the link."
msgstr "Системе не удалось найти приложение, позволяющее открыть ссылку."
#: src/roommanager.cpp:246
#: src/roommanager.cpp:244
#, kde-format
msgid "Could not open URL"
msgstr "Не удалось открыть адрес"

View File

@@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: neochat\n"
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
"POT-Creation-Date: 2023-04-11 00:48+0000\n"
"POT-Creation-Date: 2023-04-13 00:49+0000\n"
"PO-Revision-Date: 2022-04-18 17:58+0200\n"
"Last-Translator: Roman Paholik <wizzardsk@gmail.com>\n"
"Language-Team: Slovak <kde-sk@linux.sk>\n"
@@ -229,381 +229,381 @@ msgstr "ID média „%1“ nezodpovedá vzoru server/mediaId"
msgid "Image request has been cancelled"
msgstr "Žiadosť o obrázok bola zrušená"
#: src/models/actionsmodel.cpp:24
#: src/models/actionsmodel.cpp:23
#, fuzzy, kde-format
#| msgid "Open NeoChat in this room"
msgid "Leaving this room."
msgstr "Otvoriť NeoChat v tejto miestnosti"
#: src/models/actionsmodel.cpp:31 src/models/actionsmodel.cpp:230
#: src/models/actionsmodel.cpp:257 src/models/actionsmodel.cpp:288
#: src/models/actionsmodel.cpp:30 src/models/actionsmodel.cpp:229
#: src/models/actionsmodel.cpp:256 src/models/actionsmodel.cpp:287
#, 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:38
#, fuzzy, kde-format
#| msgid "Leave room"
msgctxt "Leaving room <roomname>."
msgid "Leaving room %1."
msgstr "Opustiť miestnosť"
#: src/models/actionsmodel.cpp:42
#: src/models/actionsmodel.cpp:41
#, fuzzy, kde-format
#| msgid "Room not found"
msgctxt "Room <roomname> not found"
msgid "Room %1 not found."
msgstr "Miestnosť sa nenašla"
#: src/models/actionsmodel.cpp:50 src/models/actionsmodel.cpp:324
#: src/models/actionsmodel.cpp:49 src/models/actionsmodel.cpp:323
#, 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:64 src/models/actionsmodel.cpp:74
#: src/models/actionsmodel.cpp:84 src/models/actionsmodel.cpp:94
#: src/models/actionsmodel.cpp:114 src/models/actionsmodel.cpp:134
#: src/models/actionsmodel.cpp:145 src/models/actionsmodel.cpp:161
#: src/models/actionsmodel.cpp:171 src/models/actionsmodel.cpp:181
#, fuzzy
#| msgid "Send message"
msgid "<message>"
msgstr "Odoslať správu"
#: src/models/actionsmodel.cpp:66
#: src/models/actionsmodel.cpp:65
msgid "Prepends ¯\\_(ツ)_/¯ to a plain-text message"
msgstr "Pridá ¯\\_(ツ)_/¯ na začiatok textovej správy"
#: src/models/actionsmodel.cpp:76
#: src/models/actionsmodel.cpp:75
msgid "Prepends ( ͡° ͜ʖ ͡°) to a plain-text message"
msgstr "Pridá ( ͡° ͜ʖ ͡°) na začiatok textovej správy"
#: src/models/actionsmodel.cpp:86
#: src/models/actionsmodel.cpp:85
#, fuzzy
#| msgid "Prepends ( ͡° ͜ʖ ͡°) to a plain-text message"
msgid "Prepends (╯°□°)╯︵ ┻━┻ to a plain-text message"
msgstr "Pridá ( ͡° ͜ʖ ͡°) na začiatok textovej správy"
#: src/models/actionsmodel.cpp:96
#: src/models/actionsmodel.cpp:95
#, fuzzy
#| msgid "Prepends ¯\\_(ツ)_/¯ to a plain-text message"
msgid "Prepends ┬──┬ ( ゜-゜ノ) to a plain-text message"
msgstr "Pridá ¯\\_(ツ)_/¯ na začiatok textovej správy"
#: src/models/actionsmodel.cpp:116
#: src/models/actionsmodel.cpp:115
#, fuzzy
#| msgid "Sends the given message coloured as a rainbow"
msgid "Sends the given message colored as a rainbow"
msgstr "Odošle danú správu zafarebnú ako dúha"
#: src/models/actionsmodel.cpp:136
#: src/models/actionsmodel.cpp:135
#, fuzzy
#| msgid "Sends the given emote coloured as a rainbow"
msgid "Sends the given emote colored as a rainbow"
msgstr "Odošle daný emotikon zafarbený ako dúha"
#: src/models/actionsmodel.cpp:147
#: src/models/actionsmodel.cpp:146
#, fuzzy
#| msgid "Sends the given message coloured as a rainbow"
msgid "Sends the given message as plain text"
msgstr "Odošle danú správu zafarebnú ako dúha"
#: src/models/actionsmodel.cpp:163
#: src/models/actionsmodel.cpp:162
#, fuzzy
#| msgid "Sends the given message coloured as a rainbow"
msgid "Sends the given message as a spoiler"
msgstr "Odošle danú správu zafarebnú ako dúha"
#: src/models/actionsmodel.cpp:173
#: src/models/actionsmodel.cpp:172
#, fuzzy
#| msgid "Sends the given message coloured as a rainbow"
msgid "Sends the given emote"
msgstr "Odošle danú správu zafarebnú ako dúha"
#: src/models/actionsmodel.cpp:183
#: src/models/actionsmodel.cpp:182
#, fuzzy
#| msgid "Sends the given message coloured as a rainbow"
msgid "Sends the given message as a notice"
msgstr "Odošle danú správu zafarebnú ako dúha"
#: src/models/actionsmodel.cpp:192 src/models/actionsmodel.cpp:358
#: src/models/actionsmodel.cpp:386 src/models/actionsmodel.cpp:436
#: src/models/actionsmodel.cpp:473 src/models/actionsmodel.cpp:507
#: src/models/actionsmodel.cpp:191 src/models/actionsmodel.cpp:357
#: src/models/actionsmodel.cpp:385 src/models/actionsmodel.cpp:435
#: src/models/actionsmodel.cpp:472 src/models/actionsmodel.cpp:506
#, 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:198
#: src/models/actionsmodel.cpp:197
#, fuzzy, kde-format
#| msgid "reinvited %1 to the room"
msgctxt "<user> is already invited to this room."
msgid "%1 is already invited to this room."
msgstr "znovu pozval %1 do miestnosti"
#: src/models/actionsmodel.cpp:202
#: src/models/actionsmodel.cpp:201
#, fuzzy, kde-format
#| msgid "banned %1 from the room: %2"
msgctxt "<user> is banned from this room."
msgid "%1 is banned from this room."
msgstr "zakázal %1 z miestnosti: %2"
#: src/models/actionsmodel.cpp:207
#: src/models/actionsmodel.cpp:206
#, fuzzy, kde-format
#| msgid "Open NeoChat in this room"
msgid "You are already in this room."
msgstr "Otvoriť NeoChat v tejto miestnosti"
#: src/models/actionsmodel.cpp:211
#: src/models/actionsmodel.cpp:210
#, fuzzy, kde-format
#| msgid "Open NeoChat in this room"
msgctxt "<user> is already in this room."
msgid "%1 is already in this room."
msgstr "Otvoriť NeoChat v tejto miestnosti"
#: src/models/actionsmodel.cpp:215
#: src/models/actionsmodel.cpp:214
#, fuzzy, kde-format
#| msgid "invited %1 to the room"
msgctxt "<username> was invited into this room"
msgid "%1 was invited into this room"
msgstr "pozval %1 do miestnosti"
#: src/models/actionsmodel.cpp:220 src/models/actionsmodel.cpp:376
#: src/models/actionsmodel.cpp:404 src/models/actionsmodel.cpp:495
#: src/models/actionsmodel.cpp:219 src/models/actionsmodel.cpp:375
#: src/models/actionsmodel.cpp:403 src/models/actionsmodel.cpp:494
#, fuzzy
#| msgctxt "@label Parameter of a command"
#| msgid "<user-id>"
msgid "<user id>"
msgstr "<user-id>"
#: src/models/actionsmodel.cpp:221
#: src/models/actionsmodel.cpp:220
#, fuzzy
#| msgid "invited %1 to the room"
msgid "Invites the user to this room"
msgstr "pozval %1 do miestnosti"
#: src/models/actionsmodel.cpp:238 src/models/actionsmodel.cpp:295
#: src/models/actionsmodel.cpp:237 src/models/actionsmodel.cpp:294
#, fuzzy, kde-format
#| msgid "Configure room"
msgctxt "Joining room <roomname>."
msgid "Joining room %1."
msgstr "Nastaviť miestnosť"
#: src/models/actionsmodel.cpp:244 src/models/actionsmodel.cpp:301
#: src/models/actionsmodel.cpp:243 src/models/actionsmodel.cpp:300
msgid "<room alias or id>"
msgstr ""
#: src/models/actionsmodel.cpp:245 src/models/actionsmodel.cpp:302
#: src/models/actionsmodel.cpp:244 src/models/actionsmodel.cpp:301
#, fuzzy
#| msgid "joined the room"
msgid "Joins the given room"
msgstr "sa pripojil k miestnosti"
#: src/models/actionsmodel.cpp:265
#: src/models/actionsmodel.cpp:264
#, fuzzy, kde-format
#| msgid "Configure room"
msgctxt "Knocking room <roomname>."
msgid "Knocking room %1."
msgstr "Nastaviť miestnosť"
#: src/models/actionsmodel.cpp:277
#: src/models/actionsmodel.cpp:276
#, fuzzy
#| msgctxt "@label Parameter of a command"
#| msgid "<user-id>"
msgid "<room alias or id> [<reason>]"
msgstr "<user-id>"
#: src/models/actionsmodel.cpp:278
#: src/models/actionsmodel.cpp:277
#, fuzzy
#| msgid "joined the room"
msgid "Requests to join the given room"
msgstr "sa pripojil k miestnosti"
#: src/models/actionsmodel.cpp:292
#: src/models/actionsmodel.cpp:291
#, kde-format
msgctxt "You are already in room <roomname>."
msgid "You are already in room %1."
msgstr ""
#: src/models/actionsmodel.cpp:309 src/models/actionsmodel.cpp:317
#: src/models/actionsmodel.cpp:308 src/models/actionsmodel.cpp:316
msgid "[<room alias or id>]"
msgstr ""
#: src/models/actionsmodel.cpp:310 src/models/actionsmodel.cpp:318
#: src/models/actionsmodel.cpp:309 src/models/actionsmodel.cpp:317
msgid "Leaves the given room or this room, if there is none given"
msgstr ""
#: src/models/actionsmodel.cpp:332 src/models/actionsmodel.cpp:340
#: src/models/actionsmodel.cpp:348
#: src/models/actionsmodel.cpp:331 src/models/actionsmodel.cpp:339
#: src/models/actionsmodel.cpp:347
msgid "<display name>"
msgstr ""
#: src/models/actionsmodel.cpp:333
#: src/models/actionsmodel.cpp:332
#, fuzzy
#| msgctxt "their refers to a singular user"
#| msgid "changed their display name to %1"
msgid "Changes your global display name"
msgstr "zmenili svoje zobrazované meno na %1"
#: src/models/actionsmodel.cpp:341 src/models/actionsmodel.cpp:349
#: src/models/actionsmodel.cpp:340 src/models/actionsmodel.cpp:348
#, fuzzy
#| msgctxt "their refers to a singular user"
#| msgid "changed their display name to %1"
msgid "Changes your display name in this room"
msgstr "zmenili svoje zobrazované meno na %1"
#: src/models/actionsmodel.cpp:363
#: src/models/actionsmodel.cpp:362
#, kde-format
msgctxt "<username> is already ignored."
msgid "%1 is already ignored."
msgstr ""
#: src/models/actionsmodel.cpp:368
#: src/models/actionsmodel.cpp:367
#, kde-format
msgctxt "<username> is now ignored"
msgid "%1 is now ignored."
msgstr ""
#: src/models/actionsmodel.cpp:370 src/models/actionsmodel.cpp:398
#: src/models/actionsmodel.cpp:369 src/models/actionsmodel.cpp:397
#, kde-format
msgctxt "<username> is not a known user"
msgid "%1 is not a known user."
msgstr ""
#: src/models/actionsmodel.cpp:377
#: src/models/actionsmodel.cpp:376
#, fuzzy
#| msgid "Ignore this user"
msgid "Ignores the given user"
msgstr "Ignorovať tohto používateľa"
#: src/models/actionsmodel.cpp:392
#: src/models/actionsmodel.cpp:391
#, kde-format
msgctxt "<username> is not ignored."
msgid "%1 is not ignored."
msgstr ""
#: src/models/actionsmodel.cpp:396
#: src/models/actionsmodel.cpp:395
#, kde-format
msgctxt "<username> is no longer ignored."
msgid "%1 is no longer ignored."
msgstr ""
#: src/models/actionsmodel.cpp:405
#: src/models/actionsmodel.cpp:404
#, fuzzy
#| msgid "Unignore this user"
msgid "Unignores the given user"
msgstr "Prestať ignorovať tohto požívateľa"
#: src/models/actionsmodel.cpp:425
#: src/models/actionsmodel.cpp:424
msgid "<reaction text>"
msgstr ""
#: src/models/actionsmodel.cpp:426
#: src/models/actionsmodel.cpp:425
#, fuzzy
#| msgid "React to this message with a text"
msgid "React to the message with the given text"
msgstr "Reagovať na túto správu textom"
#: src/models/actionsmodel.cpp:442
#: src/models/actionsmodel.cpp:441
#, fuzzy, kde-format
#| msgid "banned %1 from the room: %2"
msgctxt "<user> is already banned from this room."
msgid "%1 is already banned from this room."
msgstr "zakázal %1 z miestnosti: %2"
#: src/models/actionsmodel.cpp:448
#: src/models/actionsmodel.cpp:447
#, fuzzy, kde-format
#| msgid "Open NeoChat in this room"
msgid "You are not allowed to ban users from this room."
msgstr "Otvoriť NeoChat v tejto miestnosti"
#: src/models/actionsmodel.cpp:454
#: src/models/actionsmodel.cpp:453
#, fuzzy, kde-format
#| msgid "Open NeoChat in this room"
msgctxt "You are not allowed to ban <username> from this room."
msgid "You are not allowed to ban %1 from this room."
msgstr "Otvoriť NeoChat v tejto miestnosti"
#: src/models/actionsmodel.cpp:458
#: src/models/actionsmodel.cpp:457
#, fuzzy, kde-format
#| msgid "banned %1 from the room: %2"
msgctxt "<username> was banned from this room."
msgid "%1 was banned from this room."
msgstr "zakázal %1 z miestnosti: %2"
#: src/models/actionsmodel.cpp:463 src/models/actionsmodel.cpp:538
#: src/models/actionsmodel.cpp:462 src/models/actionsmodel.cpp:537
#, fuzzy
#| msgctxt "@label Parameter of a command"
#| msgid "<user-id>"
msgid "<user id> [<reason>]"
msgstr "<user-id>"
#: src/models/actionsmodel.cpp:464
#: src/models/actionsmodel.cpp:463
#, fuzzy
#| msgid "Ignore this user"
msgid "Bans the given user"
msgstr "Ignorovať tohto používateľa"
#: src/models/actionsmodel.cpp:478
#: src/models/actionsmodel.cpp:477
#, fuzzy, kde-format
#| msgid "Open NeoChat in this room"
msgid "You are not allowed to unban users from this room."
msgstr "Otvoriť NeoChat v tejto miestnosti"
#: src/models/actionsmodel.cpp:484
#: src/models/actionsmodel.cpp:483
#, fuzzy, kde-format
#| msgid "banned %1 from the room: %2"
msgctxt "<user> is not banned from this room."
msgid "%1 is not banned from this room."
msgstr "zakázal %1 z miestnosti: %2"
#: src/models/actionsmodel.cpp:489
#: src/models/actionsmodel.cpp:488
#, fuzzy, kde-format
#| msgid "banned %1 from the room: %2"
msgctxt "<username> was unbanned from this room."
msgid "%1 was unbanned from this room."
msgstr "zakázal %1 z miestnosti: %2"
#: src/models/actionsmodel.cpp:496
#: src/models/actionsmodel.cpp:495
#, fuzzy
#| msgid "Ignore this user"
msgid "Removes the ban of the given user"
msgstr "Ignorovať tohto používateľa"
#: src/models/actionsmodel.cpp:511
#: src/models/actionsmodel.cpp:510
#, kde-format
msgid "You cannot kick yourself from the room."
msgstr ""
#: src/models/actionsmodel.cpp:516
#: src/models/actionsmodel.cpp:515
#, fuzzy, kde-format
#| msgid "Open NeoChat in this room"
msgctxt "<username> is not in this room"
msgid "%1 is not in this room."
msgstr "Otvoriť NeoChat v tejto miestnosti"
#: src/models/actionsmodel.cpp:523
#: src/models/actionsmodel.cpp:522
#, fuzzy, kde-format
#| msgid "Open NeoChat in this room"
msgid "You are not allowed to kick users from this room."
msgstr "Otvoriť NeoChat v tejto miestnosti"
#: src/models/actionsmodel.cpp:529
#: src/models/actionsmodel.cpp:528
#, fuzzy, kde-format
#| msgid "Open NeoChat in this room"
msgctxt "You are not allowed to kick <username> from this room"
msgid "You are not allowed to kick %1 from this room."
msgstr "Otvoriť NeoChat v tejto miestnosti"
#: src/models/actionsmodel.cpp:533
#: src/models/actionsmodel.cpp:532
#, fuzzy, kde-format
#| msgid "banned %1 from the room: %2"
msgctxt "<username> was kicked from this room."
msgid "%1 was kicked from this room."
msgstr "zakázal %1 z miestnosti: %2"
#: src/models/actionsmodel.cpp:539
#: src/models/actionsmodel.cpp:538
#, fuzzy
#| msgid "invited %1 to the room"
msgid "Removes the user from the room"
@@ -1955,29 +1955,29 @@ msgstr "Otvoriť súkromný chat"
msgid "Copy link"
msgstr "Kopírovať"
#: src/qml/main.qml:128
#: src/qml/main.qml:124
#, kde-format
msgid "Warning: %1"
msgstr "Upozornenie: %1"
#: src/qml/main.qml:267
#: src/qml/main.qml:263
#, kde-format
msgid "%1: %2"
msgstr "%1: %2"
#: src/qml/main.qml:308
#: src/qml/main.qml:304
#, fuzzy, kde-format
#| msgid "Show notifications"
msgctxt "@title:window"
msgid "Session Verification"
msgstr "Zobraziť upozornenia"
#: src/qml/main.qml:318
#: src/qml/main.qml:314
#, kde-format
msgid "User consent"
msgstr "Používateľský súhlas"
#: src/qml/main.qml:323
#: src/qml/main.qml:319
#, kde-format
msgid ""
"Your homeserver requires you to agree to its terms and conditions before "
@@ -1987,17 +1987,17 @@ msgstr ""
"zmluvnými podmienkami. Ak si ich chcete prečítať, kliknite na tlačidlo "
"nižšie."
#: src/qml/main.qml:328
#: src/qml/main.qml:324
#, kde-format
msgid "Open"
msgstr "Otvoriť"
#: src/qml/main.qml:357
#: src/qml/main.qml:353
#, kde-format
msgid "Start a chat"
msgstr "Začať rozhovor"
#: src/qml/main.qml:359
#: src/qml/main.qml:355
#, kde-format
msgid "Do you want to start a chat with %1?"
msgstr "Chcete začať rozhovor s %1?"
@@ -4051,34 +4051,34 @@ msgid ""
msgstr ""
"V zozname izieb nie je žiadna miestnosť %1. Skontrolujte pravopis a účet."
#: src/roommanager.cpp:210
#: src/roommanager.cpp:208
#, fuzzy, kde-format
#| msgid "invited %1 to the room"
msgid "Failed to join room"
msgstr "pozval %1 do miestnosti"
#: src/roommanager.cpp:227
#: src/roommanager.cpp:225
#, kde-format
msgid "You requested to join '%1'"
msgstr ""
#: src/roommanager.cpp:230
#: src/roommanager.cpp:228
#, fuzzy, kde-format
#| msgid "invited %1 to the room"
msgid "Failed to request joining room"
msgstr "pozval %1 do miestnosti"
#: src/roommanager.cpp:240
#: src/roommanager.cpp:238
#, kde-format
msgid "No application for the link"
msgstr "Žiadna aplikácia pre odkaz"
#: src/roommanager.cpp:240
#: src/roommanager.cpp:238
#, kde-format
msgid "Your operating system could not find an application for the link."
msgstr "Váš operačný systém nemohol nájsť aplikáciu pre odkaz."
#: src/roommanager.cpp:246
#: src/roommanager.cpp:244
#, kde-format
msgid "Could not open URL"
msgstr ""

View File

@@ -8,8 +8,8 @@ msgid ""
msgstr ""
"Project-Id-Version: neochat\n"
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
"POT-Creation-Date: 2023-04-11 00:48+0000\n"
"PO-Revision-Date: 2023-04-08 08:06+0200\n"
"POT-Creation-Date: 2023-04-13 00:49+0000\n"
"PO-Revision-Date: 2023-04-13 10:14+0200\n"
"Last-Translator: Matjaž Jeran <matjaz.jeran@amis.net>\n"
"Language-Team: Slovenian <lugos-slo@lugos.si>\n"
"Language: sl\n"
@@ -222,311 +222,311 @@ msgstr "Id medija '%1' ne sledi vzorcu strežnik/mediaId"
msgid "Image request has been cancelled"
msgstr "Zahtevek za sliko je bil preklican"
#: src/models/actionsmodel.cpp:24
#: src/models/actionsmodel.cpp:23
#, kde-format
msgid "Leaving this room."
msgstr "Zapušča to sobo."
#: src/models/actionsmodel.cpp:31 src/models/actionsmodel.cpp:230
#: src/models/actionsmodel.cpp:257 src/models/actionsmodel.cpp:288
#: src/models/actionsmodel.cpp:30 src/models/actionsmodel.cpp:229
#: src/models/actionsmodel.cpp:256 src/models/actionsmodel.cpp:287
#, 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' ne izgleda kot določilnik sobe ali vzdevek."
#: src/models/actionsmodel.cpp:39
#: src/models/actionsmodel.cpp:38
#, kde-format
msgctxt "Leaving room <roomname>."
msgid "Leaving room %1."
msgstr "Zapušča sobo %1."
#: src/models/actionsmodel.cpp:42
#: src/models/actionsmodel.cpp:41
#, kde-format
msgctxt "Room <roomname> not found"
msgid "Room %1 not found."
msgstr "Sobe %1 ni mogoče najti."
#: src/models/actionsmodel.cpp:50 src/models/actionsmodel.cpp:324
#: src/models/actionsmodel.cpp:49 src/models/actionsmodel.cpp:323
#, kde-format
msgid "No new nickname provided, no changes will happen."
msgstr "Ni danega novega vzdevka, ostane brez sprememb."
#: 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:64 src/models/actionsmodel.cpp:74
#: src/models/actionsmodel.cpp:84 src/models/actionsmodel.cpp:94
#: src/models/actionsmodel.cpp:114 src/models/actionsmodel.cpp:134
#: src/models/actionsmodel.cpp:145 src/models/actionsmodel.cpp:161
#: src/models/actionsmodel.cpp:171 src/models/actionsmodel.cpp:181
msgid "<message>"
msgstr "<sporočilo>"
#: src/models/actionsmodel.cpp:66
#: src/models/actionsmodel.cpp:65
msgid "Prepends ¯\\_(ツ)_/¯ to a plain-text message"
msgstr "Doda ¯\\_(ツ)_/¯ v enostavno besedilo sporočila"
#: src/models/actionsmodel.cpp:76
#: src/models/actionsmodel.cpp:75
msgid "Prepends ( ͡° ͜ʖ ͡°) to a plain-text message"
msgstr "Doda ( ͡° ͜ʖ ͡°) v enostavno besedilo sporočila"
#: src/models/actionsmodel.cpp:86
#: src/models/actionsmodel.cpp:85
msgid "Prepends (╯°□°)╯︵ ┻━┻ to a plain-text message"
msgstr "Doda predpono (╯°□°)╯︵ ┻━┻ pred enostavno besedilo sporočila"
#: src/models/actionsmodel.cpp:96
#: src/models/actionsmodel.cpp:95
msgid "Prepends ┬──┬ ( ゜-゜ノ) to a plain-text message"
msgstr "Doda predpono ┬──┬ ( ゜-゜ノ) pred enostavno besedilo sporočila"
#: src/models/actionsmodel.cpp:116
#: src/models/actionsmodel.cpp:115
msgid "Sends the given message colored as a rainbow"
msgstr "Pošlji dano sporočilo obarvano kot mavrica"
#: src/models/actionsmodel.cpp:136
#: src/models/actionsmodel.cpp:135
msgid "Sends the given emote colored as a rainbow"
msgstr "Pošlji dan čustvenček obarvan kot mavrica"
#: src/models/actionsmodel.cpp:147
#: src/models/actionsmodel.cpp:146
msgid "Sends the given message as plain text"
msgstr "Pošlji dano sporočilo kot enostavno besedilo"
#: src/models/actionsmodel.cpp:163
#: src/models/actionsmodel.cpp:162
msgid "Sends the given message as a spoiler"
msgstr "Pošlji dano sporočilo kot motilnik"
#: src/models/actionsmodel.cpp:173
#: src/models/actionsmodel.cpp:172
msgid "Sends the given emote"
msgstr "Pošlji dan čustvenček"
#: src/models/actionsmodel.cpp:183
#: src/models/actionsmodel.cpp:182
msgid "Sends the given message as a notice"
msgstr "Pošlji dano sporočilo kot obvestilo"
#: src/models/actionsmodel.cpp:192 src/models/actionsmodel.cpp:358
#: src/models/actionsmodel.cpp:386 src/models/actionsmodel.cpp:436
#: src/models/actionsmodel.cpp:473 src/models/actionsmodel.cpp:507
#: src/models/actionsmodel.cpp:191 src/models/actionsmodel.cpp:357
#: src/models/actionsmodel.cpp:385 src/models/actionsmodel.cpp:435
#: src/models/actionsmodel.cpp:472 src/models/actionsmodel.cpp:506
#, kde-format
msgctxt "'<text>' does not look like a matrix id."
msgid "'%1' does not look like a matrix id."
msgstr "'%1' ne izgleda kot določilnik matrike."
#: src/models/actionsmodel.cpp:198
#: src/models/actionsmodel.cpp:197
#, kde-format
msgctxt "<user> is already invited to this room."
msgid "%1 is already invited to this room."
msgstr "%1 je ponovno povabljen v to sobo."
#: src/models/actionsmodel.cpp:202
#: src/models/actionsmodel.cpp:201
#, kde-format
msgctxt "<user> is banned from this room."
msgid "%1 is banned from this room."
msgstr "%1 je izobčen iz te sobe."
#: src/models/actionsmodel.cpp:207
#: src/models/actionsmodel.cpp:206
#, kde-format
msgid "You are already in this room."
msgstr "Ste že v tej sobi."
#: src/models/actionsmodel.cpp:211
#: src/models/actionsmodel.cpp:210
#, kde-format
msgctxt "<user> is already in this room."
msgid "%1 is already in this room."
msgstr "%1 je že v tej sobi."
#: src/models/actionsmodel.cpp:215
#: src/models/actionsmodel.cpp:214
#, kde-format
msgctxt "<username> was invited into this room"
msgid "%1 was invited into this room"
msgstr "%1 je bi povabljen v to sobo"
#: src/models/actionsmodel.cpp:220 src/models/actionsmodel.cpp:376
#: src/models/actionsmodel.cpp:404 src/models/actionsmodel.cpp:495
#: src/models/actionsmodel.cpp:219 src/models/actionsmodel.cpp:375
#: src/models/actionsmodel.cpp:403 src/models/actionsmodel.cpp:494
msgid "<user id>"
msgstr "<uporabnikov določilnik>"
#: src/models/actionsmodel.cpp:221
#: src/models/actionsmodel.cpp:220
msgid "Invites the user to this room"
msgstr "Povabi uporabnika v to sobo"
#: src/models/actionsmodel.cpp:238 src/models/actionsmodel.cpp:295
#: src/models/actionsmodel.cpp:237 src/models/actionsmodel.cpp:294
#, kde-format
msgctxt "Joining room <roomname>."
msgid "Joining room %1."
msgstr "Se pridružujem sobi %1."
#: src/models/actionsmodel.cpp:244 src/models/actionsmodel.cpp:301
#: src/models/actionsmodel.cpp:243 src/models/actionsmodel.cpp:300
msgid "<room alias or id>"
msgstr "<določilnik sobe ali vzdevek>"
#: src/models/actionsmodel.cpp:245 src/models/actionsmodel.cpp:302
#: src/models/actionsmodel.cpp:244 src/models/actionsmodel.cpp:301
msgid "Joins the given room"
msgstr "Se pridružuje dani sobi"
#: src/models/actionsmodel.cpp:265
#: src/models/actionsmodel.cpp:264
#, kde-format
msgctxt "Knocking room <roomname>."
msgid "Knocking room %1."
msgstr "Trkam v sobo %1."
#: src/models/actionsmodel.cpp:277
#: src/models/actionsmodel.cpp:276
msgid "<room alias or id> [<reason>]"
msgstr "<vzdevek sobe ali določilnik>[<razlog>]"
#: src/models/actionsmodel.cpp:278
#: src/models/actionsmodel.cpp:277
msgid "Requests to join the given room"
msgstr "Prošnje za pridružitev k dani sobi"
#: src/models/actionsmodel.cpp:292
#: src/models/actionsmodel.cpp:291
#, kde-format
msgctxt "You are already in room <roomname>."
msgid "You are already in room %1."
msgstr "Ste že v sobi %1."
#: src/models/actionsmodel.cpp:309 src/models/actionsmodel.cpp:317
#: src/models/actionsmodel.cpp:308 src/models/actionsmodel.cpp:316
msgid "[<room alias or id>]"
msgstr "[<vzdeve sobe ali določilnik>]"
#: src/models/actionsmodel.cpp:310 src/models/actionsmodel.cpp:318
#: src/models/actionsmodel.cpp:309 src/models/actionsmodel.cpp:317
msgid "Leaves the given room or this room, if there is none given"
msgstr "Zapušča dano sobo ali to sobo, če ni nobene določene"
#: src/models/actionsmodel.cpp:332 src/models/actionsmodel.cpp:340
#: src/models/actionsmodel.cpp:348
#: src/models/actionsmodel.cpp:331 src/models/actionsmodel.cpp:339
#: src/models/actionsmodel.cpp:347
msgid "<display name>"
msgstr "<ime prikaza>"
#: src/models/actionsmodel.cpp:333
#: src/models/actionsmodel.cpp:332
msgid "Changes your global display name"
msgstr "Spremeni vaše globalno ime prikaza"
#: src/models/actionsmodel.cpp:341 src/models/actionsmodel.cpp:349
#: src/models/actionsmodel.cpp:340 src/models/actionsmodel.cpp:348
msgid "Changes your display name in this room"
msgstr "Spremeni ime prikaza v teh sobi"
#: src/models/actionsmodel.cpp:363
#: src/models/actionsmodel.cpp:362
#, kde-format
msgctxt "<username> is already ignored."
msgid "%1 is already ignored."
msgstr "%1 je že prezrt."
#: src/models/actionsmodel.cpp:368
#: src/models/actionsmodel.cpp:367
#, kde-format
msgctxt "<username> is now ignored"
msgid "%1 is now ignored."
msgstr "%1 je zdaj prezrt."
#: src/models/actionsmodel.cpp:370 src/models/actionsmodel.cpp:398
#: src/models/actionsmodel.cpp:369 src/models/actionsmodel.cpp:397
#, kde-format
msgctxt "<username> is not a known user"
msgid "%1 is not a known user."
msgstr "%1 ni znan uporabnik."
#: src/models/actionsmodel.cpp:377
#: src/models/actionsmodel.cpp:376
msgid "Ignores the given user"
msgstr "Prezri danega uporabnika"
#: src/models/actionsmodel.cpp:392
#: src/models/actionsmodel.cpp:391
#, kde-format
msgctxt "<username> is not ignored."
msgid "%1 is not ignored."
msgstr "%1 ni prezrt."
#: src/models/actionsmodel.cpp:396
#: src/models/actionsmodel.cpp:395
#, kde-format
msgctxt "<username> is no longer ignored."
msgid "%1 is no longer ignored."
msgstr "%1 ni več prezrt."
#: src/models/actionsmodel.cpp:405
#: src/models/actionsmodel.cpp:404
msgid "Unignores the given user"
msgstr "Od-prezri danega uporabnika"
#: src/models/actionsmodel.cpp:425
#: src/models/actionsmodel.cpp:424
msgid "<reaction text>"
msgstr "<besedilo odziva>"
#: src/models/actionsmodel.cpp:426
#: src/models/actionsmodel.cpp:425
msgid "React to the message with the given text"
msgstr "Odzovi se na to sporočilo z danim besedilom"
#: src/models/actionsmodel.cpp:442
#: src/models/actionsmodel.cpp:441
#, kde-format
msgctxt "<user> is already banned from this room."
msgid "%1 is already banned from this room."
msgstr "%1 je že izobčen iz te sobe."
#: src/models/actionsmodel.cpp:448
#: src/models/actionsmodel.cpp:447
#, kde-format
msgid "You are not allowed to ban users from this room."
msgstr "Nimate dovoljenja za izobčanje uporabnikov iz te sobe."
#: src/models/actionsmodel.cpp:454
#: src/models/actionsmodel.cpp:453
#, 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 "Nimate dovoljenja za izobčanje %1 iz te sobe."
#: src/models/actionsmodel.cpp:458
#: src/models/actionsmodel.cpp:457
#, kde-format
msgctxt "<username> was banned from this room."
msgid "%1 was banned from this room."
msgstr "%1 je bil izobčen iz te sobe."
#: src/models/actionsmodel.cpp:463 src/models/actionsmodel.cpp:538
#: src/models/actionsmodel.cpp:462 src/models/actionsmodel.cpp:537
msgid "<user id> [<reason>]"
msgstr "<uporabnikov določilnik>[<razlog>]"
#: src/models/actionsmodel.cpp:464
#: src/models/actionsmodel.cpp:463
msgid "Bans the given user"
msgstr "Izobči danega uporabnika"
#: src/models/actionsmodel.cpp:478
#: src/models/actionsmodel.cpp:477
#, kde-format
msgid "You are not allowed to unban users from this room."
msgstr "Nimate dovoljenja za preklic izobčenja iz te sobe."
#: src/models/actionsmodel.cpp:484
#: src/models/actionsmodel.cpp:483
#, kde-format
msgctxt "<user> is not banned from this room."
msgid "%1 is not banned from this room."
msgstr "%1 ni izobčen iz te sobe."
#: src/models/actionsmodel.cpp:489
#: src/models/actionsmodel.cpp:488
#, kde-format
msgctxt "<username> was unbanned from this room."
msgid "%1 was unbanned from this room."
msgstr "%1 je bilo preklicano izobčenje iz te sobe."
#: src/models/actionsmodel.cpp:496
#: src/models/actionsmodel.cpp:495
msgid "Removes the ban of the given user"
msgstr "Odstrani izobčenje danega uporabnika"
#: src/models/actionsmodel.cpp:511
#: src/models/actionsmodel.cpp:510
#, kde-format
msgid "You cannot kick yourself from the room."
msgstr "Ne morete samega sebe odstraniti iz sobe."
#: src/models/actionsmodel.cpp:516
#: src/models/actionsmodel.cpp:515
#, kde-format
msgctxt "<username> is not in this room"
msgid "%1 is not in this room."
msgstr "%1 ni v tej sobi."
#: src/models/actionsmodel.cpp:523
#: src/models/actionsmodel.cpp:522
#, kde-format
msgid "You are not allowed to kick users from this room."
msgstr "Nimate dovoljenja za odstranjevanje uporabnikov iz te sobe."
#: src/models/actionsmodel.cpp:529
#: src/models/actionsmodel.cpp:528
#, 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 "Nimate dovoljenja za odstranjevanje %1 iz te sobe."
#: src/models/actionsmodel.cpp:533
#: src/models/actionsmodel.cpp:532
#, kde-format
msgctxt "<username> was kicked from this room."
msgid "%1 was kicked from this room."
msgstr "%1 je izločen iz te sobe."
#: src/models/actionsmodel.cpp:539
#: src/models/actionsmodel.cpp:538
msgid "Removes the user from the room"
msgstr "Odstrani uporabnika iz te sobe"
@@ -1852,28 +1852,28 @@ msgstr "Odpri zasebni razgovor"
msgid "Copy link"
msgstr "Kopiraj povezavo"
#: src/qml/main.qml:128
#: src/qml/main.qml:124
#, kde-format
msgid "Warning: %1"
msgstr "Opozorilo: %1"
#: src/qml/main.qml:267
#: src/qml/main.qml:263
#, kde-format
msgid "%1: %2"
msgstr "%1: %2"
#: src/qml/main.qml:308
#: src/qml/main.qml:304
#, kde-format
msgctxt "@title:window"
msgid "Session Verification"
msgstr "Verifikacija seje"
#: src/qml/main.qml:318
#: src/qml/main.qml:314
#, kde-format
msgid "User consent"
msgstr "Privoljenje uporabnika"
#: src/qml/main.qml:323
#: src/qml/main.qml:319
#, kde-format
msgid ""
"Your homeserver requires you to agree to its terms and conditions before "
@@ -1882,17 +1882,17 @@ msgstr ""
"Vaš domači strežnik zahteva, da se strinjate s pogoji njegove rabe pred "
"dovoljenjem za uporabo. Prosimo, kliknite spodnji gumb, da jih preberete."
#: src/qml/main.qml:328
#: src/qml/main.qml:324
#, kde-format
msgid "Open"
msgstr "Odpri"
#: src/qml/main.qml:357
#: src/qml/main.qml:353
#, kde-format
msgid "Start a chat"
msgstr "Začni pogovor"
#: src/qml/main.qml:359
#: src/qml/main.qml:355
#, kde-format
msgid "Do you want to start a chat with %1?"
msgstr "Ali želite začeti pogovor s %1?"
@@ -3832,32 +3832,32 @@ msgid ""
"There's no room %1 in the room list. Check the spelling and the account."
msgstr "Soba %1 ne obstaja na seznamu sob. Preverite črkovanje in račun."
#: src/roommanager.cpp:210
#: src/roommanager.cpp:208
#, kde-format
msgid "Failed to join room"
msgstr "Neuspela pridružitev v sobo"
#: src/roommanager.cpp:227
#: src/roommanager.cpp:225
#, kde-format
msgid "You requested to join '%1'"
msgstr "Prosili ste za pridružitev k '%1'"
#: src/roommanager.cpp:230
#: src/roommanager.cpp:228
#, kde-format
msgid "Failed to request joining room"
msgstr "Neuspela prošnja za pridružitev v sobo"
#: src/roommanager.cpp:240
#: src/roommanager.cpp:238
#, kde-format
msgid "No application for the link"
msgstr "Ni aplikacije za povezavo"
#: src/roommanager.cpp:240
#: src/roommanager.cpp:238
#, kde-format
msgid "Your operating system could not find an application for the link."
msgstr "Vaš operacijski sistem ni mogel najti aplikacije za povezavo."
#: src/roommanager.cpp:246
#: src/roommanager.cpp:244
#, kde-format
msgid "Could not open URL"
msgstr "Ni bilo mogoče odpreti URL"

View File

@@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: neochat\n"
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
"POT-Creation-Date: 2023-04-11 00:48+0000\n"
"POT-Creation-Date: 2023-04-13 00:49+0000\n"
"PO-Revision-Date: 2022-09-28 16:37+0200\n"
"Last-Translator: Stefan Asserhäll <stefan.asserhall@bredband.net>\n"
"Language-Team: Swedish <kde-i18n-doc@kde.org>\n"
@@ -228,379 +228,379 @@ msgstr "Media-id '%1' följer inte server/media-id mönster"
msgid "Image request has been cancelled"
msgstr "Bildbegäran har avbrutits"
#: src/models/actionsmodel.cpp:24
#: src/models/actionsmodel.cpp:23
#, fuzzy, kde-format
#| msgid "Open NeoChat in this room"
msgid "Leaving this room."
msgstr "Öppna NeoChat för rummet"
#: src/models/actionsmodel.cpp:31 src/models/actionsmodel.cpp:230
#: src/models/actionsmodel.cpp:257 src/models/actionsmodel.cpp:288
#: src/models/actionsmodel.cpp:30 src/models/actionsmodel.cpp:229
#: src/models/actionsmodel.cpp:256 src/models/actionsmodel.cpp:287
#, 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:38
#, fuzzy, kde-format
#| msgid "Leave room"
msgctxt "Leaving room <roomname>."
msgid "Leaving room %1."
msgstr "Lämna rum"
#: src/models/actionsmodel.cpp:42
#: src/models/actionsmodel.cpp:41
#, fuzzy, kde-format
#| msgid "Room not found"
msgctxt "Room <roomname> not found"
msgid "Room %1 not found."
msgstr "Rummet hittades inte"
#: src/models/actionsmodel.cpp:50 src/models/actionsmodel.cpp:324
#: src/models/actionsmodel.cpp:49 src/models/actionsmodel.cpp:323
#, 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:64 src/models/actionsmodel.cpp:74
#: src/models/actionsmodel.cpp:84 src/models/actionsmodel.cpp:94
#: src/models/actionsmodel.cpp:114 src/models/actionsmodel.cpp:134
#: src/models/actionsmodel.cpp:145 src/models/actionsmodel.cpp:161
#: src/models/actionsmodel.cpp:171 src/models/actionsmodel.cpp:181
#, fuzzy
#| msgctxt "@label Parameter of a command"
#| msgid "<message>"
msgid "<message>"
msgstr "<meddelande>"
#: src/models/actionsmodel.cpp:66
#: src/models/actionsmodel.cpp:65
msgid "Prepends ¯\\_(ツ)_/¯ to a plain-text message"
msgstr "Lägger till ¯\\_(ツ)_/¯ först i ett vanligt textmeddelande"
#: src/models/actionsmodel.cpp:76
#: src/models/actionsmodel.cpp:75
msgid "Prepends ( ͡° ͜ʖ ͡°) to a plain-text message"
msgstr "Lägger till ( ͡° ͜ʖ ͡°) först i ett vanligt textmeddelande"
#: src/models/actionsmodel.cpp:86
#: src/models/actionsmodel.cpp:85
msgid "Prepends (╯°□°)╯︵ ┻━┻ to a plain-text message"
msgstr "Lägger till (╯°□°)╯︵ ┻━┻ först i ett vanligt textmeddelande"
#: src/models/actionsmodel.cpp:96
#: src/models/actionsmodel.cpp:95
msgid "Prepends ┬──┬ ( ゜-゜ノ) to a plain-text message"
msgstr "Lägger till ┬──┬ ( ゜-゜ノ) först i ett vanligt textmeddelande"
#: src/models/actionsmodel.cpp:116
#: src/models/actionsmodel.cpp:115
#, fuzzy
#| msgid "Sends the given message coloured as a rainbow"
msgid "Sends the given message colored as a rainbow"
msgstr "Skickar angivet meddelande färglagt som en regnbåge"
#: src/models/actionsmodel.cpp:136
#: src/models/actionsmodel.cpp:135
#, fuzzy
#| msgid "Sends the given emote coloured as a rainbow"
msgid "Sends the given emote colored as a rainbow"
msgstr "Skickar given smilis färglagd som en regnbåge"
#: src/models/actionsmodel.cpp:147
#: src/models/actionsmodel.cpp:146
#, fuzzy
#| msgid "Sends the given message as a spoiler"
msgid "Sends the given message as plain text"
msgstr "Skickar angivet meddelande som en spoiler"
#: src/models/actionsmodel.cpp:163
#: src/models/actionsmodel.cpp:162
msgid "Sends the given message as a spoiler"
msgstr "Skickar angivet meddelande som en spoiler"
#: src/models/actionsmodel.cpp:173
#: src/models/actionsmodel.cpp:172
#, fuzzy
#| msgid "Sends the given message as a spoiler"
msgid "Sends the given emote"
msgstr "Skickar angivet meddelande som en spoiler"
#: src/models/actionsmodel.cpp:183
#: src/models/actionsmodel.cpp:182
#, fuzzy
#| msgid "Sends the given message as a spoiler"
msgid "Sends the given message as a notice"
msgstr "Skickar angivet meddelande som en spoiler"
#: src/models/actionsmodel.cpp:192 src/models/actionsmodel.cpp:358
#: src/models/actionsmodel.cpp:386 src/models/actionsmodel.cpp:436
#: src/models/actionsmodel.cpp:473 src/models/actionsmodel.cpp:507
#: src/models/actionsmodel.cpp:191 src/models/actionsmodel.cpp:357
#: src/models/actionsmodel.cpp:385 src/models/actionsmodel.cpp:435
#: src/models/actionsmodel.cpp:472 src/models/actionsmodel.cpp:506
#, 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:198
#: src/models/actionsmodel.cpp:197
#, fuzzy, kde-format
#| msgid "reinvited %1 to the room"
msgctxt "<user> is already invited to this room."
msgid "%1 is already invited to this room."
msgstr "bjöd in %1 till rummet igen"
#: src/models/actionsmodel.cpp:202
#: src/models/actionsmodel.cpp:201
#, fuzzy, kde-format
#| msgid "self-banned from the room"
msgctxt "<user> is banned from this room."
msgid "%1 is banned from this room."
msgstr "bannlyste sig själv från rummet"
#: src/models/actionsmodel.cpp:207
#: src/models/actionsmodel.cpp:206
#, fuzzy, kde-format
#| msgid "Open NeoChat in this room"
msgid "You are already in this room."
msgstr "Öppna NeoChat för rummet"
#: src/models/actionsmodel.cpp:211
#: src/models/actionsmodel.cpp:210
#, fuzzy, kde-format
#| msgid "Open NeoChat in this room"
msgctxt "<user> is already in this room."
msgid "%1 is already in this room."
msgstr "Öppna NeoChat för rummet"
#: src/models/actionsmodel.cpp:215
#: src/models/actionsmodel.cpp:214
#, fuzzy, kde-format
#| msgid "%1 invited you to a room"
msgctxt "<username> was invited into this room"
msgid "%1 was invited into this room"
msgstr "%1 bjöd in dig till ett rum"
#: src/models/actionsmodel.cpp:220 src/models/actionsmodel.cpp:376
#: src/models/actionsmodel.cpp:404 src/models/actionsmodel.cpp:495
#: src/models/actionsmodel.cpp:219 src/models/actionsmodel.cpp:375
#: src/models/actionsmodel.cpp:403 src/models/actionsmodel.cpp:494
#, fuzzy
#| msgctxt "@label Parameter of a command"
#| msgid "<user-id>"
msgid "<user id>"
msgstr "<användaridentifikation>"
#: src/models/actionsmodel.cpp:221
#: src/models/actionsmodel.cpp:220
#, fuzzy
#| msgid "Invite user to room"
msgid "Invites the user to this room"
msgstr "Bjöd in användare till ett rum"
#: src/models/actionsmodel.cpp:238 src/models/actionsmodel.cpp:295
#: src/models/actionsmodel.cpp:237 src/models/actionsmodel.cpp:294
#, fuzzy, kde-format
#| msgid "Configure room"
msgctxt "Joining room <roomname>."
msgid "Joining room %1."
msgstr "Anpassa rum"
#: src/models/actionsmodel.cpp:244 src/models/actionsmodel.cpp:301
#: src/models/actionsmodel.cpp:243 src/models/actionsmodel.cpp:300
msgid "<room alias or id>"
msgstr ""
#: src/models/actionsmodel.cpp:245 src/models/actionsmodel.cpp:302
#: src/models/actionsmodel.cpp:244 src/models/actionsmodel.cpp:301
#, fuzzy
#| msgid "joined the room"
msgid "Joins the given room"
msgstr "gick med i rummet"
#: src/models/actionsmodel.cpp:265
#: src/models/actionsmodel.cpp:264
#, fuzzy, kde-format
#| msgid "Configure room"
msgctxt "Knocking room <roomname>."
msgid "Knocking room %1."
msgstr "Anpassa rum"
#: src/models/actionsmodel.cpp:277
#: src/models/actionsmodel.cpp:276
#, fuzzy
#| msgctxt "@label Parameter of a command"
#| msgid "<user-id>"
msgid "<room alias or id> [<reason>]"
msgstr "<användaridentifikation>"
#: src/models/actionsmodel.cpp:278
#: src/models/actionsmodel.cpp:277
#, fuzzy
#| msgid "joined the room"
msgid "Requests to join the given room"
msgstr "gick med i rummet"
#: src/models/actionsmodel.cpp:292
#: src/models/actionsmodel.cpp:291
#, kde-format
msgctxt "You are already in room <roomname>."
msgid "You are already in room %1."
msgstr ""
#: src/models/actionsmodel.cpp:309 src/models/actionsmodel.cpp:317
#: src/models/actionsmodel.cpp:308 src/models/actionsmodel.cpp:316
msgid "[<room alias or id>]"
msgstr ""
#: src/models/actionsmodel.cpp:310 src/models/actionsmodel.cpp:318
#: src/models/actionsmodel.cpp:309 src/models/actionsmodel.cpp:317
msgid "Leaves the given room or this room, if there is none given"
msgstr ""
#: src/models/actionsmodel.cpp:332 src/models/actionsmodel.cpp:340
#: src/models/actionsmodel.cpp:348
#: src/models/actionsmodel.cpp:331 src/models/actionsmodel.cpp:339
#: src/models/actionsmodel.cpp:347
msgid "<display name>"
msgstr ""
#: src/models/actionsmodel.cpp:333
#: src/models/actionsmodel.cpp:332
#, fuzzy
#| msgctxt "their refers to a singular user"
#| msgid "changed their display name to %1"
msgid "Changes your global display name"
msgstr "ändrade sitt visningsnamn till %1"
#: src/models/actionsmodel.cpp:341 src/models/actionsmodel.cpp:349
#: src/models/actionsmodel.cpp:340 src/models/actionsmodel.cpp:348
#, fuzzy
#| msgctxt "their refers to a singular user"
#| msgid "changed their display name to %1"
msgid "Changes your display name in this room"
msgstr "ändrade sitt visningsnamn till %1"
#: src/models/actionsmodel.cpp:363
#: src/models/actionsmodel.cpp:362
#, kde-format
msgctxt "<username> is already ignored."
msgid "%1 is already ignored."
msgstr ""
#: src/models/actionsmodel.cpp:368
#: src/models/actionsmodel.cpp:367
#, kde-format
msgctxt "<username> is now ignored"
msgid "%1 is now ignored."
msgstr ""
#: src/models/actionsmodel.cpp:370 src/models/actionsmodel.cpp:398
#: src/models/actionsmodel.cpp:369 src/models/actionsmodel.cpp:397
#, kde-format
msgctxt "<username> is not a known user"
msgid "%1 is not a known user."
msgstr ""
#: src/models/actionsmodel.cpp:377
#: src/models/actionsmodel.cpp:376
#, fuzzy
#| msgid "Ignore this user"
msgid "Ignores the given user"
msgstr "Ignorera användaren"
#: src/models/actionsmodel.cpp:392
#: src/models/actionsmodel.cpp:391
#, kde-format
msgctxt "<username> is not ignored."
msgid "%1 is not ignored."
msgstr ""
#: src/models/actionsmodel.cpp:396
#: src/models/actionsmodel.cpp:395
#, kde-format
msgctxt "<username> is no longer ignored."
msgid "%1 is no longer ignored."
msgstr ""
#: src/models/actionsmodel.cpp:405
#: src/models/actionsmodel.cpp:404
#, fuzzy
#| msgid "Unignore this user"
msgid "Unignores the given user"
msgstr "Sluta ignorera användaren"
#: src/models/actionsmodel.cpp:425
#: src/models/actionsmodel.cpp:424
#, fuzzy
#| msgctxt "@label Parameter of a command"
#| msgid "<reaction text>"
msgid "<reaction text>"
msgstr "<reaktionstext>"
#: src/models/actionsmodel.cpp:426
#: src/models/actionsmodel.cpp:425
#, fuzzy
#| msgid "React to this message with a text"
msgid "React to the message with the given text"
msgstr "Reagera på meddelandet med en text"
#: src/models/actionsmodel.cpp:442
#: src/models/actionsmodel.cpp:441
#, fuzzy, kde-format
#| msgid "self-banned from the room"
msgctxt "<user> is already banned from this room."
msgid "%1 is already banned from this room."
msgstr "bannlyste sig själv från rummet"
#: src/models/actionsmodel.cpp:448
#: src/models/actionsmodel.cpp:447
#, fuzzy, kde-format
#| msgid "Open NeoChat in this room"
msgid "You are not allowed to ban users from this room."
msgstr "Öppna NeoChat för rummet"
#: src/models/actionsmodel.cpp:454
#: src/models/actionsmodel.cpp:453
#, fuzzy, kde-format
#| msgid "Open NeoChat in this room"
msgctxt "You are not allowed to ban <username> from this room."
msgid "You are not allowed to ban %1 from this room."
msgstr "Öppna NeoChat för rummet"
#: src/models/actionsmodel.cpp:458
#: src/models/actionsmodel.cpp:457
#, fuzzy, kde-format
#| msgid "self-banned from the room"
msgctxt "<username> was banned from this room."
msgid "%1 was banned from this room."
msgstr "bannlyste sig själv från rummet"
#: src/models/actionsmodel.cpp:463 src/models/actionsmodel.cpp:538
#: src/models/actionsmodel.cpp:462 src/models/actionsmodel.cpp:537
#, fuzzy
#| msgctxt "@label Parameter of a command"
#| msgid "<user-id>"
msgid "<user id> [<reason>]"
msgstr "<användaridentifikation>"
#: src/models/actionsmodel.cpp:464
#: src/models/actionsmodel.cpp:463
#, fuzzy
#| msgid "Ignore this user"
msgid "Bans the given user"
msgstr "Ignorera användaren"
#: src/models/actionsmodel.cpp:478
#: src/models/actionsmodel.cpp:477
#, fuzzy, kde-format
#| msgid "Open NeoChat in this room"
msgid "You are not allowed to unban users from this room."
msgstr "Öppna NeoChat för rummet"
#: src/models/actionsmodel.cpp:484
#: src/models/actionsmodel.cpp:483
#, fuzzy, kde-format
#| msgid "self-banned from the room"
msgctxt "<user> is not banned from this room."
msgid "%1 is not banned from this room."
msgstr "bannlyste sig själv från rummet"
#: src/models/actionsmodel.cpp:489
#: src/models/actionsmodel.cpp:488
#, fuzzy, kde-format
#| msgid "self-banned from the room"
msgctxt "<username> was unbanned from this room."
msgid "%1 was unbanned from this room."
msgstr "bannlyste sig själv från rummet"
#: src/models/actionsmodel.cpp:496
#: src/models/actionsmodel.cpp:495
#, fuzzy
#| msgid "Ignore this user"
msgid "Removes the ban of the given user"
msgstr "Ignorera användaren"
#: src/models/actionsmodel.cpp:511
#: src/models/actionsmodel.cpp:510
#, kde-format
msgid "You cannot kick yourself from the room."
msgstr ""
#: src/models/actionsmodel.cpp:516
#: src/models/actionsmodel.cpp:515
#, fuzzy, kde-format
#| msgid "Open NeoChat in this room"
msgctxt "<username> is not in this room"
msgid "%1 is not in this room."
msgstr "Öppna NeoChat för rummet"
#: src/models/actionsmodel.cpp:523
#: src/models/actionsmodel.cpp:522
#, fuzzy, kde-format
#| msgid "Open NeoChat in this room"
msgid "You are not allowed to kick users from this room."
msgstr "Öppna NeoChat för rummet"
#: src/models/actionsmodel.cpp:529
#: src/models/actionsmodel.cpp:528
#, fuzzy, kde-format
#| msgid "Open NeoChat in this room"
msgctxt "You are not allowed to kick <username> from this room"
msgid "You are not allowed to kick %1 from this room."
msgstr "Öppna NeoChat för rummet"
#: src/models/actionsmodel.cpp:533
#: src/models/actionsmodel.cpp:532
#, fuzzy, kde-format
#| msgid "self-banned from the room"
msgctxt "<username> was kicked from this room."
msgid "%1 was kicked from this room."
msgstr "bannlyste sig själv från rummet"
#: src/models/actionsmodel.cpp:539
#: src/models/actionsmodel.cpp:538
#, fuzzy
#| msgid "Invite user to room"
msgid "Removes the user from the room"
@@ -1969,28 +1969,28 @@ msgstr "Starta en privat chatt"
msgid "Copy link"
msgstr "Kopiera"
#: src/qml/main.qml:128
#: src/qml/main.qml:124
#, kde-format
msgid "Warning: %1"
msgstr "Varning: %1"
#: src/qml/main.qml:267
#: src/qml/main.qml:263
#, kde-format
msgid "%1: %2"
msgstr "%1: %2"
#: src/qml/main.qml:308
#: src/qml/main.qml:304
#, kde-format
msgctxt "@title:window"
msgid "Session Verification"
msgstr "Sessionsverifikation"
#: src/qml/main.qml:318
#: src/qml/main.qml:314
#, kde-format
msgid "User consent"
msgstr "Användargodkännande"
#: src/qml/main.qml:323
#: src/qml/main.qml:319
#, kde-format
msgid ""
"Your homeserver requires you to agree to its terms and conditions before "
@@ -1999,17 +1999,17 @@ msgstr ""
"Din hemserver kräver att du godkänner dess villkor innan den kan användas. "
"Klicka på knappen nedan för att läsa dem."
#: src/qml/main.qml:328
#: src/qml/main.qml:324
#, kde-format
msgid "Open"
msgstr "Öppna"
#: src/qml/main.qml:357
#: src/qml/main.qml:353
#, kde-format
msgid "Start a chat"
msgstr "Starta en chatt"
#: src/qml/main.qml:359
#: src/qml/main.qml:355
#, kde-format
msgid "Do you want to start a chat with %1?"
msgstr "Vill du starta en chatt med %1?"
@@ -4050,34 +4050,34 @@ msgstr ""
"Det finns inget rum som heter %1 i listan över rum. Kontrollera stavningen "
"och kontot."
#: src/roommanager.cpp:210
#: src/roommanager.cpp:208
#, fuzzy, kde-format
#| msgid "Invite user to room"
msgid "Failed to join room"
msgstr "Bjöd in användare till ett rum"
#: src/roommanager.cpp:227
#: src/roommanager.cpp:225
#, kde-format
msgid "You requested to join '%1'"
msgstr ""
#: src/roommanager.cpp:230
#: src/roommanager.cpp:228
#, fuzzy, kde-format
#| msgid "Invite user to room"
msgid "Failed to request joining room"
msgstr "Bjöd in användare till ett rum"
#: src/roommanager.cpp:240
#: src/roommanager.cpp:238
#, kde-format
msgid "No application for the link"
msgstr "Inget program för länken"
#: src/roommanager.cpp:240
#: src/roommanager.cpp:238
#, kde-format
msgid "Your operating system could not find an application for the link."
msgstr "Ditt operativsystem kunde inte hitta något program för länken."
#: src/roommanager.cpp:246
#: src/roommanager.cpp:244
#, kde-format
msgid "Could not open URL"
msgstr "Kunde inte öppna webbadress"

View File

@@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: neochat\n"
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
"POT-Creation-Date: 2023-04-11 00:48+0000\n"
"POT-Creation-Date: 2023-04-13 00:49+0000\n"
"PO-Revision-Date: 2023-04-09 12:39+0530\n"
"Last-Translator: Kishore G <kishore96@gmail.com>\n"
"Language-Team: Tamil <kde-i18n-doc@kde.org>\n"
@@ -221,313 +221,313 @@ msgstr "'%1' என்ற ஊடக அடையாளம் server/mediaId எ
msgid "Image request has been cancelled"
msgstr "பட கோரிக்கை ரத்து செய்யப்பட்டது"
#: src/models/actionsmodel.cpp:24
#: src/models/actionsmodel.cpp:23
#, kde-format
msgid "Leaving this room."
msgstr "இவ்வரங்கிலிருந்து வெளியேறுகிறீர்கள்."
#: src/models/actionsmodel.cpp:31 src/models/actionsmodel.cpp:230
#: src/models/actionsmodel.cpp:257 src/models/actionsmodel.cpp:288
#: src/models/actionsmodel.cpp:30 src/models/actionsmodel.cpp:229
#: src/models/actionsmodel.cpp:256 src/models/actionsmodel.cpp:287
#, 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' ஓர் அரங்கின் பெயரைப் போலோ மாற்றுப்பெயரைப் போலோ தெரியவில்லை."
#: src/models/actionsmodel.cpp:39
#: src/models/actionsmodel.cpp:38
#, kde-format
msgctxt "Leaving room <roomname>."
msgid "Leaving room %1."
msgstr "%1 எனும் அரங்கிலிருந்து வெளியேறுகிறீர்கள்."
#: src/models/actionsmodel.cpp:42
#: src/models/actionsmodel.cpp:41
#, kde-format
msgctxt "Room <roomname> not found"
msgid "Room %1 not found."
msgstr "%1 எனும் அரங்கை கண்டுபிடிக்க முடியவில்லை."
#: src/models/actionsmodel.cpp:50 src/models/actionsmodel.cpp:324
#: src/models/actionsmodel.cpp:49 src/models/actionsmodel.cpp:323
#, 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:64 src/models/actionsmodel.cpp:74
#: src/models/actionsmodel.cpp:84 src/models/actionsmodel.cpp:94
#: src/models/actionsmodel.cpp:114 src/models/actionsmodel.cpp:134
#: src/models/actionsmodel.cpp:145 src/models/actionsmodel.cpp:161
#: src/models/actionsmodel.cpp:171 src/models/actionsmodel.cpp:181
msgid "<message>"
msgstr "<செய்தி>"
#: src/models/actionsmodel.cpp:66
#: src/models/actionsmodel.cpp:65
msgid "Prepends ¯\\_(ツ)_/¯ to a plain-text message"
msgstr "சாதாரண செய்திக்கு முன்னால் ¯\\_(ツ)_/¯ என்பதை சேர்க்கும்"
#: src/models/actionsmodel.cpp:76
#: src/models/actionsmodel.cpp:75
msgid "Prepends ( ͡° ͜ʖ ͡°) to a plain-text message"
msgstr "சாதாரண செய்திக்கு முன்னால் ( ͡° ͜ʖ ͡°) என்பதை சேர்க்கும்"
#: src/models/actionsmodel.cpp:86
#: src/models/actionsmodel.cpp:85
msgid "Prepends (╯°□°)╯︵ ┻━┻ to a plain-text message"
msgstr "சாதாரண செய்திக்கு முன்னால் (╯°□°)╯︵ ┻━┻ என்பதை சேர்க்கும்"
#: src/models/actionsmodel.cpp:96
#: src/models/actionsmodel.cpp:95
msgid "Prepends ┬──┬ ( ゜-゜ノ) to a plain-text message"
msgstr "சாதாரண செய்திக்கு முன்னால் ┬──┬ ( ゜-゜ノ) என்பதை சேர்க்கும்"
#: src/models/actionsmodel.cpp:116
#: src/models/actionsmodel.cpp:115
msgid "Sends the given message colored as a rainbow"
msgstr "செய்திக்கு வானவில்லின் நிறங்களை இட்டு அனுப்பும்"
#: src/models/actionsmodel.cpp:136
#: src/models/actionsmodel.cpp:135
msgid "Sends the given emote colored as a rainbow"
msgstr "கொடுக்கப்படும் முகவடியை வானவில் நிறமிட்டு அனுப்பும்"
#: src/models/actionsmodel.cpp:147
#: src/models/actionsmodel.cpp:146
msgid "Sends the given message as plain text"
msgstr "செய்தியை சாதாரண உரையாக அனுப்பும்"
#: src/models/actionsmodel.cpp:163
#: src/models/actionsmodel.cpp:162
msgid "Sends the given message as a spoiler"
msgstr "செய்தியை ஸ்பாய்லராக அனுப்பும்"
#: src/models/actionsmodel.cpp:173
#: src/models/actionsmodel.cpp:172
msgid "Sends the given emote"
msgstr "விருப்பமான முகவடியை அனுப்பும்"
#: src/models/actionsmodel.cpp:183
#: src/models/actionsmodel.cpp:182
msgid "Sends the given message as a notice"
msgstr "செய்தியை அறிக்கையாக அனுப்பும்"
#: src/models/actionsmodel.cpp:192 src/models/actionsmodel.cpp:358
#: src/models/actionsmodel.cpp:386 src/models/actionsmodel.cpp:436
#: src/models/actionsmodel.cpp:473 src/models/actionsmodel.cpp:507
#: src/models/actionsmodel.cpp:191 src/models/actionsmodel.cpp:357
#: src/models/actionsmodel.cpp:385 src/models/actionsmodel.cpp:435
#: src/models/actionsmodel.cpp:472 src/models/actionsmodel.cpp:506
#, kde-format
msgctxt "'<text>' does not look like a matrix id."
msgid "'%1' does not look like a matrix id."
msgstr "'%1' ஓர் மேட்ரிக்சு அடையாளம்போல் இல்லை."
#: src/models/actionsmodel.cpp:198
#: src/models/actionsmodel.cpp:197
#, kde-format
msgctxt "<user> is already invited to this room."
msgid "%1 is already invited to this room."
msgstr "%1 ஏற்கனவே இவ்வரங்குக்கு வரவழைக்கப்பட்டுள்ளார்."
#: src/models/actionsmodel.cpp:202
#: src/models/actionsmodel.cpp:201
#, kde-format
msgctxt "<user> is banned from this room."
msgid "%1 is banned from this room."
msgstr "%1 இவ்வரங்கிலிருந்து தடைசெய்யப்பட்டுள்ளார்."
#: src/models/actionsmodel.cpp:207
#: src/models/actionsmodel.cpp:206
#, kde-format
msgid "You are already in this room."
msgstr "நீங்கள் ஏற்கனவே இவ்வரங்கில் உள்ளிர்கள்."
#: src/models/actionsmodel.cpp:211
#: src/models/actionsmodel.cpp:210
#, kde-format
msgctxt "<user> is already in this room."
msgid "%1 is already in this room."
msgstr "%1 இவ்வரங்கில் ஏற்கனவே உள்ளார்."
#: src/models/actionsmodel.cpp:215
#: src/models/actionsmodel.cpp:214
#, kde-format
msgctxt "<username> was invited into this room"
msgid "%1 was invited into this room"
msgstr "%1 இவ்வரங்குக்கு வரவழைக்கப்பட்டுள்ளார்"
#: src/models/actionsmodel.cpp:220 src/models/actionsmodel.cpp:376
#: src/models/actionsmodel.cpp:404 src/models/actionsmodel.cpp:495
#: src/models/actionsmodel.cpp:219 src/models/actionsmodel.cpp:375
#: src/models/actionsmodel.cpp:403 src/models/actionsmodel.cpp:494
msgid "<user id>"
msgstr "<பயனர் பெயர்>"
#: src/models/actionsmodel.cpp:221
#: src/models/actionsmodel.cpp:220
msgid "Invites the user to this room"
msgstr "பயனரை இவ்வரங்குக்கு வரவழைக்கும்"
#: src/models/actionsmodel.cpp:238 src/models/actionsmodel.cpp:295
#: src/models/actionsmodel.cpp:237 src/models/actionsmodel.cpp:294
#, kde-format
msgctxt "Joining room <roomname>."
msgid "Joining room %1."
msgstr "%1 எனும் அரங்கில் நுழைகிறீர்கள்."
#: src/models/actionsmodel.cpp:244 src/models/actionsmodel.cpp:301
#: src/models/actionsmodel.cpp:243 src/models/actionsmodel.cpp:300
msgid "<room alias or id>"
msgstr "<அரங்கின் மாற்றுப்பெயர் அல்லது அடையாளம்>"
#: src/models/actionsmodel.cpp:245 src/models/actionsmodel.cpp:302
#: src/models/actionsmodel.cpp:244 src/models/actionsmodel.cpp:301
msgid "Joins the given room"
msgstr "உரிய அரங்கிலு நுழையும்"
#: src/models/actionsmodel.cpp:265
#: src/models/actionsmodel.cpp:264
#, kde-format
msgctxt "Knocking room <roomname>."
msgid "Knocking room %1."
msgstr "%1 எனும் அரங்கில் நுழைய அனுமதி கோரப்படுகிறது."
#: src/models/actionsmodel.cpp:277
#: src/models/actionsmodel.cpp:276
msgid "<room alias or id> [<reason>]"
msgstr "<அரங்கின் மாற்றுப்பெயர் அல்லது அடையாளம்> [<காரணம்>]"
#: src/models/actionsmodel.cpp:278
#: src/models/actionsmodel.cpp:277
msgid "Requests to join the given room"
msgstr "குறிப்பிட்ட அரங்கினுள் நுழைய அனுமதி கோரும்"
#: src/models/actionsmodel.cpp:292
#: src/models/actionsmodel.cpp:291
#, kde-format
msgctxt "You are already in room <roomname>."
msgid "You are already in room %1."
msgstr "%1 எனும் அரங்கில் ஏற்கனவே உள்ளீர்கள்."
#: src/models/actionsmodel.cpp:309 src/models/actionsmodel.cpp:317
#: src/models/actionsmodel.cpp:308 src/models/actionsmodel.cpp:316
msgid "[<room alias or id>]"
msgstr "[<அரங்கின் மாற்றுப்பெயர் அல்லது அடையாளம்>]"
#: src/models/actionsmodel.cpp:310 src/models/actionsmodel.cpp:318
#: src/models/actionsmodel.cpp:309 src/models/actionsmodel.cpp:317
msgid "Leaves the given room or this room, if there is none given"
msgstr ""
"குறிப்பிட்ட அரங்கிலிருந்து (எதுவும் குறிப்பிடப்படா பட்சத்தில் தற்போதைய அரங்கிலிருந்து) "
"வெளியேறும்"
#: src/models/actionsmodel.cpp:332 src/models/actionsmodel.cpp:340
#: src/models/actionsmodel.cpp:348
#: src/models/actionsmodel.cpp:331 src/models/actionsmodel.cpp:339
#: src/models/actionsmodel.cpp:347
msgid "<display name>"
msgstr "<காட்சிப்பெயர்>"
#: src/models/actionsmodel.cpp:333
#: src/models/actionsmodel.cpp:332
msgid "Changes your global display name"
msgstr "பொதுவான உங்கள் காட்சிப்பெயரை மாற்றும்"
#: src/models/actionsmodel.cpp:341 src/models/actionsmodel.cpp:349
#: src/models/actionsmodel.cpp:340 src/models/actionsmodel.cpp:348
msgid "Changes your display name in this room"
msgstr "இவ்வரங்கிலுள்ள உங்கள் காட்சிப்பெயரை மாற்றும்"
#: src/models/actionsmodel.cpp:363
#: src/models/actionsmodel.cpp:362
#, kde-format
msgctxt "<username> is already ignored."
msgid "%1 is already ignored."
msgstr "%1 ஏற்கனவே பொருட்படுத்தப்படாமல் உள்ளார்."
#: src/models/actionsmodel.cpp:368
#: src/models/actionsmodel.cpp:367
#, kde-format
msgctxt "<username> is now ignored"
msgid "%1 is now ignored."
msgstr "%1 இனிமேல் பொருட்படுத்தப்பட மாட்டார்."
#: src/models/actionsmodel.cpp:370 src/models/actionsmodel.cpp:398
#: src/models/actionsmodel.cpp:369 src/models/actionsmodel.cpp:397
#, kde-format
msgctxt "<username> is not a known user"
msgid "%1 is not a known user."
msgstr "%1 நமக்கு தெரிந்த பயனர் அல்ல."
#: src/models/actionsmodel.cpp:377
#: src/models/actionsmodel.cpp:376
msgid "Ignores the given user"
msgstr "குறிப்பிட்ட பயனரை பொருட்படுத்தப்படாதவராக அமைக்கும்"
#: src/models/actionsmodel.cpp:392
#: src/models/actionsmodel.cpp:391
#, kde-format
msgctxt "<username> is not ignored."
msgid "%1 is not ignored."
msgstr "%1 பொருட்படுத்தப்படாமல் இல்லை."
#: src/models/actionsmodel.cpp:396
#: src/models/actionsmodel.cpp:395
#, kde-format
msgctxt "<username> is no longer ignored."
msgid "%1 is no longer ignored."
msgstr "%1 இனிமேல் பொருட்படுத்தப்படுவார்."
#: src/models/actionsmodel.cpp:405
#: src/models/actionsmodel.cpp:404
msgid "Unignores the given user"
msgstr "குறிப்பிட்ட பயனரை பொருட்படுத்த வேண்டியவராக அமைக்கும்"
#: src/models/actionsmodel.cpp:425
#: src/models/actionsmodel.cpp:424
msgid "<reaction text>"
msgstr "<எதிர்வினையின் உரை>"
#: src/models/actionsmodel.cpp:426
#: src/models/actionsmodel.cpp:425
msgid "React to the message with the given text"
msgstr "குறிப்பிட்ட உரையுடன் செய்திக்கு எதிர்வினையிடு"
#: src/models/actionsmodel.cpp:442
#: src/models/actionsmodel.cpp:441
#, kde-format
msgctxt "<user> is already banned from this room."
msgid "%1 is already banned from this room."
msgstr "%1 இவ்வரங்கிலிருந்து ஏற்கனவே தடைசெய்யப்பட்டுள்ளார்."
#: src/models/actionsmodel.cpp:448
#: src/models/actionsmodel.cpp:447
#, kde-format
msgid "You are not allowed to ban users from this room."
msgstr "இவ்வரங்கிலிருந்து பயனர்களை தடை செய்யும் அனுமதி உங்களிடம் இல்லை."
#: src/models/actionsmodel.cpp:454
#: src/models/actionsmodel.cpp:453
#, 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 "இவ்வரங்கிலிருந்து %1 என்பவரை தடை செய்யும் அனுமதி உங்களிடம் இல்லை."
#: src/models/actionsmodel.cpp:458
#: src/models/actionsmodel.cpp:457
#, kde-format
msgctxt "<username> was banned from this room."
msgid "%1 was banned from this room."
msgstr "%1 இவ்வரங்கிலிருந்து தடைசெய்யப்பட்டார்."
#: src/models/actionsmodel.cpp:463 src/models/actionsmodel.cpp:538
#: src/models/actionsmodel.cpp:462 src/models/actionsmodel.cpp:537
msgid "<user id> [<reason>]"
msgstr "<பயனர் பெயர்> [காரணம்]"
#: src/models/actionsmodel.cpp:464
#: src/models/actionsmodel.cpp:463
msgid "Bans the given user"
msgstr "குறிப்பிட்ட பயனரை தடை செய்யும்"
#: src/models/actionsmodel.cpp:478
#: src/models/actionsmodel.cpp:477
#, kde-format
msgid "You are not allowed to unban users from this room."
msgstr "இவ்வரங்கில் பயனர்களின் மீதான தடையை நீக்கும் அனுமதி உங்களிடம் இல்லை."
#: src/models/actionsmodel.cpp:484
#: src/models/actionsmodel.cpp:483
#, kde-format
msgctxt "<user> is not banned from this room."
msgid "%1 is not banned from this room."
msgstr "%1 இவ்வரங்கிலிருந்து தடைசெய்யப்படவில்லை."
#: src/models/actionsmodel.cpp:489
#: src/models/actionsmodel.cpp:488
#, kde-format
msgctxt "<username> was unbanned from this room."
msgid "%1 was unbanned from this room."
msgstr "%1 மீதான இவ்வரங்கிலான தடை நீக்கப்பட்டது."
#: src/models/actionsmodel.cpp:496
#: src/models/actionsmodel.cpp:495
msgid "Removes the ban of the given user"
msgstr "குறிப்பிட்ட பயனர் மீதான தடையை நீக்கும்"
#: src/models/actionsmodel.cpp:511
#: src/models/actionsmodel.cpp:510
#, kde-format
msgid "You cannot kick yourself from the room."
msgstr "உங்களை நீங்களே அரங்கிலிருந்து வெளியேற்ற முடியாது."
#: src/models/actionsmodel.cpp:516
#: src/models/actionsmodel.cpp:515
#, kde-format
msgctxt "<username> is not in this room"
msgid "%1 is not in this room."
msgstr "%1 இவ்வரங்கில் இல்லை."
#: src/models/actionsmodel.cpp:523
#: src/models/actionsmodel.cpp:522
#, kde-format
msgid "You are not allowed to kick users from this room."
msgstr "இவ்வரங்கிலிருந்து பயனர்களை வெளியேற்றும் அனுமதி உங்களிடம் இல்லை."
#: src/models/actionsmodel.cpp:529
#: src/models/actionsmodel.cpp:528
#, 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 "இவ்வரங்கிலிருந்து %1 என்பவரை வெளியேற்றும் அனுமதி உங்களிடம் இல்லை."
#: src/models/actionsmodel.cpp:533
#: src/models/actionsmodel.cpp:532
#, kde-format
msgctxt "<username> was kicked from this room."
msgid "%1 was kicked from this room."
msgstr "%1 இவ்வரங்கிலிருந்து வெளியேற்றப்பட்டார்."
#: src/models/actionsmodel.cpp:539
#: src/models/actionsmodel.cpp:538
msgid "Removes the user from the room"
msgstr "பயனரை அரங்கிலிருந்து நீக்கும்"
@@ -1828,28 +1828,28 @@ msgstr "தனிப்பட்ட உரையாடலைத் துவக
msgid "Copy link"
msgstr "இணைப்பை நகலெடு"
#: src/qml/main.qml:128
#: src/qml/main.qml:124
#, kde-format
msgid "Warning: %1"
msgstr "எச்சரிக்கை: %1"
#: src/qml/main.qml:267
#: src/qml/main.qml:263
#, kde-format
msgid "%1: %2"
msgstr "%1: %2"
#: src/qml/main.qml:308
#: src/qml/main.qml:304
#, kde-format
msgctxt "@title:window"
msgid "Session Verification"
msgstr "அமர்வு உறுதிப்பாடு"
#: src/qml/main.qml:318
#: src/qml/main.qml:314
#, kde-format
msgid "User consent"
msgstr "பயனர் ஒப்புதல்"
#: src/qml/main.qml:323
#: src/qml/main.qml:319
#, kde-format
msgid ""
"Your homeserver requires you to agree to its terms and conditions before "
@@ -1858,17 +1858,17 @@ msgstr ""
"பயன்படுத்துமுன் அதன் விதிமுறைகளை ஏற்குமாறு உங்கள் தாய் சேவையகம் உங்களை "
"கட்டாயப்படுத்துகிறது. அவற்றைப் படிக்க கீழுள்ள பட்டனைத் தட்டுங்கள்."
#: src/qml/main.qml:328
#: src/qml/main.qml:324
#, kde-format
msgid "Open"
msgstr "திற"
#: src/qml/main.qml:357
#: src/qml/main.qml:353
#, kde-format
msgid "Start a chat"
msgstr "உரையாடலைத் துவக்கு"
#: src/qml/main.qml:359
#: src/qml/main.qml:355
#, kde-format
msgid "Do you want to start a chat with %1?"
msgstr "உறுதியாக %1 என்பவருடன் உரையாடலைத் துவக்க வேண்டுமா?"
@@ -3799,33 +3799,33 @@ msgid ""
msgstr ""
"அரங்குகளின் பட்டியலில் %1 என்று எந்த அரங்கும் இல்லை. எழுத்தாக்கம் மற்றும் கணக்கை சரிபாருங்கள்."
#: src/roommanager.cpp:210
#: src/roommanager.cpp:208
#, kde-format
msgid "Failed to join room"
msgstr "அரங்கில் நுழைவது தோல்வியடைந்தது"
#: src/roommanager.cpp:227
#: src/roommanager.cpp:225
#, kde-format
msgid "You requested to join '%1'"
msgstr "'%1' அரங்கில் நுழைய அனுமதி கோரினீர்கள்"
#: src/roommanager.cpp:230
#: src/roommanager.cpp:228
#, kde-format
msgid "Failed to request joining room"
msgstr "அரங்கில் நுழைய அனுமதிகோருவது தோல்வியடைந்தது"
#: src/roommanager.cpp:240
#: src/roommanager.cpp:238
#, kde-format
msgid "No application for the link"
msgstr "இணைப்புக்கேற்ற செயலி இல்லை"
#: src/roommanager.cpp:240
#: src/roommanager.cpp:238
#, kde-format
msgid "Your operating system could not find an application for the link."
msgstr ""
"இந்த இணைப்பைத் திறக்கக் கூடிய செயலியை உங்கள் இயக்குதளத்தால் கண்டுபிடிக்க முடியவில்லை."
#: src/roommanager.cpp:246
#: src/roommanager.cpp:244
#, kde-format
msgid "Could not open URL"
msgstr "முகவரியைத் திறக்க முடியவில்லை"

View File

@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: neochat\n"
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
"POT-Creation-Date: 2023-04-11 00:48+0000\n"
"POT-Creation-Date: 2023-04-13 00:49+0000\n"
"PO-Revision-Date: 2022-06-20 03:30+0000\n"
"Last-Translator: Weblate Admin <admin@example.com>\n"
"Language-Team: Toki Pona <http://weblate.blackquill.cc/projects/ante-toki-pi-"
@@ -228,323 +228,323 @@ msgstr ""
msgid "Image request has been cancelled"
msgstr ""
#: src/models/actionsmodel.cpp:24
#: src/models/actionsmodel.cpp:23
#, kde-format
msgid "Leaving this room."
msgstr ""
#: src/models/actionsmodel.cpp:31 src/models/actionsmodel.cpp:230
#: src/models/actionsmodel.cpp:257 src/models/actionsmodel.cpp:288
#: src/models/actionsmodel.cpp:30 src/models/actionsmodel.cpp:229
#: src/models/actionsmodel.cpp:256 src/models/actionsmodel.cpp:287
#, 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:38
#, kde-format
msgctxt "Leaving room <roomname>."
msgid "Leaving room %1."
msgstr ""
#: src/models/actionsmodel.cpp:42
#: src/models/actionsmodel.cpp:41
#, kde-format
msgctxt "Room <roomname> not found"
msgid "Room %1 not found."
msgstr ""
#: src/models/actionsmodel.cpp:50 src/models/actionsmodel.cpp:324
#: src/models/actionsmodel.cpp:49 src/models/actionsmodel.cpp:323
#, 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:64 src/models/actionsmodel.cpp:74
#: src/models/actionsmodel.cpp:84 src/models/actionsmodel.cpp:94
#: src/models/actionsmodel.cpp:114 src/models/actionsmodel.cpp:134
#: src/models/actionsmodel.cpp:145 src/models/actionsmodel.cpp:161
#: src/models/actionsmodel.cpp:171 src/models/actionsmodel.cpp:181
#, fuzzy
#| msgid "Send message"
msgid "<message>"
msgstr "o pana e toki"
#: src/models/actionsmodel.cpp:66
#: src/models/actionsmodel.cpp:65
msgid "Prepends ¯\\_(ツ)_/¯ to a plain-text message"
msgstr ""
#: src/models/actionsmodel.cpp:76
#: src/models/actionsmodel.cpp:75
msgid "Prepends ( ͡° ͜ʖ ͡°) to a plain-text message"
msgstr ""
#: src/models/actionsmodel.cpp:86
#: src/models/actionsmodel.cpp:85
msgid "Prepends (╯°□°)╯︵ ┻━┻ to a plain-text message"
msgstr ""
#: src/models/actionsmodel.cpp:96
#: src/models/actionsmodel.cpp:95
msgid "Prepends ┬──┬ ( ゜-゜ノ) to a plain-text message"
msgstr ""
#: src/models/actionsmodel.cpp:116
#: src/models/actionsmodel.cpp:115
msgid "Sends the given message colored as a rainbow"
msgstr ""
#: src/models/actionsmodel.cpp:136
#: src/models/actionsmodel.cpp:135
msgid "Sends the given emote colored as a rainbow"
msgstr ""
#: src/models/actionsmodel.cpp:147
#: src/models/actionsmodel.cpp:146
msgid "Sends the given message as plain text"
msgstr ""
#: src/models/actionsmodel.cpp:163
#: src/models/actionsmodel.cpp:162
msgid "Sends the given message as a spoiler"
msgstr ""
#: src/models/actionsmodel.cpp:173
#: src/models/actionsmodel.cpp:172
msgid "Sends the given emote"
msgstr ""
#: src/models/actionsmodel.cpp:183
#: src/models/actionsmodel.cpp:182
msgid "Sends the given message as a notice"
msgstr ""
#: src/models/actionsmodel.cpp:192 src/models/actionsmodel.cpp:358
#: src/models/actionsmodel.cpp:386 src/models/actionsmodel.cpp:436
#: src/models/actionsmodel.cpp:473 src/models/actionsmodel.cpp:507
#: src/models/actionsmodel.cpp:191 src/models/actionsmodel.cpp:357
#: src/models/actionsmodel.cpp:385 src/models/actionsmodel.cpp:435
#: src/models/actionsmodel.cpp:472 src/models/actionsmodel.cpp:506
#, 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:198
#: src/models/actionsmodel.cpp:197
#, kde-format
msgctxt "<user> is already invited to this room."
msgid "%1 is already invited to this room."
msgstr ""
#: src/models/actionsmodel.cpp:202
#: src/models/actionsmodel.cpp:201
#, kde-format
msgctxt "<user> is banned from this room."
msgid "%1 is banned from this room."
msgstr ""
#: src/models/actionsmodel.cpp:207
#: src/models/actionsmodel.cpp:206
#, kde-format
msgid "You are already in this room."
msgstr ""
#: src/models/actionsmodel.cpp:211
#: 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:215
#: 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:220 src/models/actionsmodel.cpp:376
#: src/models/actionsmodel.cpp:404 src/models/actionsmodel.cpp:495
#: src/models/actionsmodel.cpp:219 src/models/actionsmodel.cpp:375
#: src/models/actionsmodel.cpp:403 src/models/actionsmodel.cpp:494
msgid "<user id>"
msgstr ""
#: src/models/actionsmodel.cpp:221
#: src/models/actionsmodel.cpp:220
msgid "Invites the user to this room"
msgstr ""
#: src/models/actionsmodel.cpp:238 src/models/actionsmodel.cpp:295
#: src/models/actionsmodel.cpp:237 src/models/actionsmodel.cpp:294
#, kde-format
msgctxt "Joining room <roomname>."
msgid "Joining room %1."
msgstr ""
#: src/models/actionsmodel.cpp:244 src/models/actionsmodel.cpp:301
#: src/models/actionsmodel.cpp:243 src/models/actionsmodel.cpp:300
msgid "<room alias or id>"
msgstr ""
#: src/models/actionsmodel.cpp:245 src/models/actionsmodel.cpp:302
#: src/models/actionsmodel.cpp:244 src/models/actionsmodel.cpp:301
msgid "Joins the given room"
msgstr ""
#: src/models/actionsmodel.cpp:265
#: src/models/actionsmodel.cpp:264
#, kde-format
msgctxt "Knocking room <roomname>."
msgid "Knocking room %1."
msgstr ""
#: src/models/actionsmodel.cpp:277
#: src/models/actionsmodel.cpp:276
msgid "<room alias or id> [<reason>]"
msgstr ""
#: src/models/actionsmodel.cpp:278
#: src/models/actionsmodel.cpp:277
#, fuzzy
#| msgid "Ignore this user"
msgid "Requests to join the given room"
msgstr "o len e jan ni"
#: src/models/actionsmodel.cpp:292
#: src/models/actionsmodel.cpp:291
#, kde-format
msgctxt "You are already in room <roomname>."
msgid "You are already in room %1."
msgstr ""
#: src/models/actionsmodel.cpp:309 src/models/actionsmodel.cpp:317
#: src/models/actionsmodel.cpp:308 src/models/actionsmodel.cpp:316
msgid "[<room alias or id>]"
msgstr ""
#: src/models/actionsmodel.cpp:310 src/models/actionsmodel.cpp:318
#: src/models/actionsmodel.cpp:309 src/models/actionsmodel.cpp:317
msgid "Leaves the given room or this room, if there is none given"
msgstr ""
#: src/models/actionsmodel.cpp:332 src/models/actionsmodel.cpp:340
#: src/models/actionsmodel.cpp:348
#: src/models/actionsmodel.cpp:331 src/models/actionsmodel.cpp:339
#: src/models/actionsmodel.cpp:347
msgid "<display name>"
msgstr ""
#: src/models/actionsmodel.cpp:333
#: src/models/actionsmodel.cpp:332
msgid "Changes your global display name"
msgstr ""
#: src/models/actionsmodel.cpp:341 src/models/actionsmodel.cpp:349
#: src/models/actionsmodel.cpp:340 src/models/actionsmodel.cpp:348
msgid "Changes your display name in this room"
msgstr ""
#: src/models/actionsmodel.cpp:363
#: src/models/actionsmodel.cpp:362
#, kde-format
msgctxt "<username> is already ignored."
msgid "%1 is already ignored."
msgstr ""
#: src/models/actionsmodel.cpp:368
#: src/models/actionsmodel.cpp:367
#, kde-format
msgctxt "<username> is now ignored"
msgid "%1 is now ignored."
msgstr ""
#: src/models/actionsmodel.cpp:370 src/models/actionsmodel.cpp:398
#: src/models/actionsmodel.cpp:369 src/models/actionsmodel.cpp:397
#, kde-format
msgctxt "<username> is not a known user"
msgid "%1 is not a known user."
msgstr ""
#: src/models/actionsmodel.cpp:377
#: src/models/actionsmodel.cpp:376
#, fuzzy
#| msgid "Ignore this user"
msgid "Ignores the given user"
msgstr "o len e jan ni"
#: src/models/actionsmodel.cpp:392
#: src/models/actionsmodel.cpp:391
#, kde-format
msgctxt "<username> is not ignored."
msgid "%1 is not ignored."
msgstr ""
#: src/models/actionsmodel.cpp:396
#: src/models/actionsmodel.cpp:395
#, kde-format
msgctxt "<username> is no longer ignored."
msgid "%1 is no longer ignored."
msgstr ""
#: src/models/actionsmodel.cpp:405
#: src/models/actionsmodel.cpp:404
#, fuzzy
#| msgid "Unignore this user"
msgid "Unignores the given user"
msgstr "o weka e len pi jan ni"
#: src/models/actionsmodel.cpp:425
#: src/models/actionsmodel.cpp:424
msgid "<reaction text>"
msgstr ""
#: src/models/actionsmodel.cpp:426
#: src/models/actionsmodel.cpp:425
msgid "React to the message with the given text"
msgstr ""
#: src/models/actionsmodel.cpp:442
#: src/models/actionsmodel.cpp:441
#, kde-format
msgctxt "<user> is already banned from this room."
msgid "%1 is already banned from this room."
msgstr ""
#: src/models/actionsmodel.cpp:448
#: src/models/actionsmodel.cpp:447
#, kde-format
msgid "You are not allowed to ban users from this room."
msgstr ""
#: src/models/actionsmodel.cpp:454
#: src/models/actionsmodel.cpp:453
#, 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:458
#: src/models/actionsmodel.cpp:457
#, kde-format
msgctxt "<username> was banned from this room."
msgid "%1 was banned from this room."
msgstr ""
#: src/models/actionsmodel.cpp:463 src/models/actionsmodel.cpp:538
#: src/models/actionsmodel.cpp:462 src/models/actionsmodel.cpp:537
msgid "<user id> [<reason>]"
msgstr ""
#: src/models/actionsmodel.cpp:464
#: src/models/actionsmodel.cpp:463
#, fuzzy
#| msgid "Ignore this user"
msgid "Bans the given user"
msgstr "o len e jan ni"
#: src/models/actionsmodel.cpp:478
#: src/models/actionsmodel.cpp:477
#, kde-format
msgid "You are not allowed to unban users from this room."
msgstr ""
#: src/models/actionsmodel.cpp:484
#: src/models/actionsmodel.cpp:483
#, kde-format
msgctxt "<user> is not banned from this room."
msgid "%1 is not banned from this room."
msgstr ""
#: src/models/actionsmodel.cpp:489
#: src/models/actionsmodel.cpp:488
#, kde-format
msgctxt "<username> was unbanned from this room."
msgid "%1 was unbanned from this room."
msgstr ""
#: src/models/actionsmodel.cpp:496
#: src/models/actionsmodel.cpp:495
#, fuzzy
#| msgid "Ignore this user"
msgid "Removes the ban of the given user"
msgstr "o len e jan ni"
#: src/models/actionsmodel.cpp:511
#: src/models/actionsmodel.cpp:510
#, kde-format
msgid "You cannot kick yourself from the room."
msgstr ""
#: src/models/actionsmodel.cpp:516
#: src/models/actionsmodel.cpp:515
#, kde-format
msgctxt "<username> is not in this room"
msgid "%1 is not in this room."
msgstr ""
#: src/models/actionsmodel.cpp:523
#: src/models/actionsmodel.cpp:522
#, kde-format
msgid "You are not allowed to kick users from this room."
msgstr ""
#: src/models/actionsmodel.cpp:529
#: src/models/actionsmodel.cpp:528
#, 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:533
#: src/models/actionsmodel.cpp:532
#, kde-format
msgctxt "<username> was kicked from this room."
msgid "%1 was kicked from this room."
msgstr ""
#: src/models/actionsmodel.cpp:539
#: src/models/actionsmodel.cpp:538
msgid "Removes the user from the room"
msgstr ""
@@ -1864,45 +1864,45 @@ msgstr "o open e tomo toki pi sina tu taso"
msgid "Copy link"
msgstr "o tu e lipu tawa lipu jo"
#: src/qml/main.qml:128
#: src/qml/main.qml:124
#, kde-format
msgid "Warning: %1"
msgstr ""
#: src/qml/main.qml:267
#: src/qml/main.qml:263
#, kde-format
msgid "%1: %2"
msgstr ""
#: src/qml/main.qml:308
#: src/qml/main.qml:304
#, kde-format
msgctxt "@title:window"
msgid "Session Verification"
msgstr ""
#: src/qml/main.qml:318
#: src/qml/main.qml:314
#, kde-format
msgid "User consent"
msgstr ""
#: src/qml/main.qml:323
#: src/qml/main.qml:319
#, 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:328
#: src/qml/main.qml:324
#, kde-format
msgid "Open"
msgstr "o open"
#: src/qml/main.qml:357
#: src/qml/main.qml:353
#, kde-format
msgid "Start a chat"
msgstr ""
#: src/qml/main.qml:359
#: src/qml/main.qml:355
#, kde-format
msgid "Do you want to start a chat with %1?"
msgstr ""
@@ -3862,32 +3862,32 @@ msgid ""
"There's no room %1 in the room list. Check the spelling and the account."
msgstr ""
#: src/roommanager.cpp:210
#: src/roommanager.cpp:208
#, kde-format
msgid "Failed to join room"
msgstr ""
#: src/roommanager.cpp:227
#: src/roommanager.cpp:225
#, kde-format
msgid "You requested to join '%1'"
msgstr ""
#: src/roommanager.cpp:230
#: src/roommanager.cpp:228
#, kde-format
msgid "Failed to request joining room"
msgstr ""
#: src/roommanager.cpp:240
#: src/roommanager.cpp:238
#, kde-format
msgid "No application for the link"
msgstr ""
#: src/roommanager.cpp:240
#: src/roommanager.cpp:238
#, kde-format
msgid "Your operating system could not find an application for the link."
msgstr ""
#: src/roommanager.cpp:246
#: src/roommanager.cpp:244
#, kde-format
msgid "Could not open URL"
msgstr ""

View File

@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: neochat\n"
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
"POT-Creation-Date: 2023-04-11 00:48+0000\n"
"POT-Creation-Date: 2023-04-13 00:49+0000\n"
"PO-Revision-Date: 2023-04-04 12:12+0300\n"
"Last-Translator: Emir SARI <emir_sari@icloud.com>\n"
"Language-Team: Turkish <kde-l10n-tr@kde.org>\n"
@@ -221,311 +221,311 @@ msgstr "Ortam kimliği '%1', sunucu/ortamKimliği dizgisini izlemiyor"
msgid "Image request has been cancelled"
msgstr "Görsel isteği iptal edildi"
#: src/models/actionsmodel.cpp:24
#: src/models/actionsmodel.cpp:23
#, kde-format
msgid "Leaving this room."
msgstr "Bu odadan ayrılınıyor."
#: src/models/actionsmodel.cpp:31 src/models/actionsmodel.cpp:230
#: src/models/actionsmodel.cpp:257 src/models/actionsmodel.cpp:288
#: src/models/actionsmodel.cpp:30 src/models/actionsmodel.cpp:229
#: src/models/actionsmodel.cpp:256 src/models/actionsmodel.cpp:287
#, 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', bir oda kimliği veya arması gibi görünmüyor."
#: src/models/actionsmodel.cpp:39
#: src/models/actionsmodel.cpp:38
#, kde-format
msgctxt "Leaving room <roomname>."
msgid "Leaving room %1."
msgstr "%1 odasından ayrılınıyor."
#: src/models/actionsmodel.cpp:42
#: src/models/actionsmodel.cpp:41
#, kde-format
msgctxt "Room <roomname> not found"
msgid "Room %1 not found."
msgstr "%1 odası bulunamadı."
#: src/models/actionsmodel.cpp:50 src/models/actionsmodel.cpp:324
#: src/models/actionsmodel.cpp:49 src/models/actionsmodel.cpp:323
#, kde-format
msgid "No new nickname provided, no changes will happen."
msgstr "Hiçbir yeni takma ad sağlanmadı; bir değişiklik yapılmayacak."
#: 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:64 src/models/actionsmodel.cpp:74
#: src/models/actionsmodel.cpp:84 src/models/actionsmodel.cpp:94
#: src/models/actionsmodel.cpp:114 src/models/actionsmodel.cpp:134
#: src/models/actionsmodel.cpp:145 src/models/actionsmodel.cpp:161
#: src/models/actionsmodel.cpp:171 src/models/actionsmodel.cpp:181
msgid "<message>"
msgstr "<ileti>"
#: src/models/actionsmodel.cpp:66
#: src/models/actionsmodel.cpp:65
msgid "Prepends ¯\\_(ツ)_/¯ to a plain-text message"
msgstr "Bir düz metin iletiye ¯\\_(ツ)_/¯ ekler"
#: src/models/actionsmodel.cpp:76
#: src/models/actionsmodel.cpp:75
msgid "Prepends ( ͡° ͜ʖ ͡°) to a plain-text message"
msgstr "Bir düz metin iletiye ( ͡° ͜ʖ ͡°) ekler"
#: src/models/actionsmodel.cpp:86
#: src/models/actionsmodel.cpp:85
msgid "Prepends (╯°□°)╯︵ ┻━┻ to a plain-text message"
msgstr "Bir düz metin iletiye (╯°□°)╯︵ ┻━┻ ekler"
#: src/models/actionsmodel.cpp:96
#: src/models/actionsmodel.cpp:95
msgid "Prepends ┬──┬ ( ゜-゜ノ) to a plain-text message"
msgstr "Bir düz metin iletiye ┬──┬ ( ゜-゜ノ) ekler"
#: src/models/actionsmodel.cpp:116
#: src/models/actionsmodel.cpp:115
msgid "Sends the given message colored as a rainbow"
msgstr "Verilen iletiyi gökkuşağı renklerinde gönderir"
#: src/models/actionsmodel.cpp:136
#: src/models/actionsmodel.cpp:135
msgid "Sends the given emote colored as a rainbow"
msgstr "Verilen gülücüğü gökkuşağı renklerinde gönderir"
#: src/models/actionsmodel.cpp:147
#: src/models/actionsmodel.cpp:146
msgid "Sends the given message as plain text"
msgstr "Verilen iletiyi düz metin olarak gönderir"
#: src/models/actionsmodel.cpp:163
#: src/models/actionsmodel.cpp:162
msgid "Sends the given message as a spoiler"
msgstr "Verilen iletiyi tatkaçıran olarak gönderir"
#: src/models/actionsmodel.cpp:173
#: src/models/actionsmodel.cpp:172
msgid "Sends the given emote"
msgstr "Verilen gülücüğü gönderir"
#: src/models/actionsmodel.cpp:183
#: src/models/actionsmodel.cpp:182
msgid "Sends the given message as a notice"
msgstr "Verilen iletiyi bildirim olarak gönderir"
#: src/models/actionsmodel.cpp:192 src/models/actionsmodel.cpp:358
#: src/models/actionsmodel.cpp:386 src/models/actionsmodel.cpp:436
#: src/models/actionsmodel.cpp:473 src/models/actionsmodel.cpp:507
#: src/models/actionsmodel.cpp:191 src/models/actionsmodel.cpp:357
#: src/models/actionsmodel.cpp:385 src/models/actionsmodel.cpp:435
#: src/models/actionsmodel.cpp:472 src/models/actionsmodel.cpp:506
#, kde-format
msgctxt "'<text>' does not look like a matrix id."
msgid "'%1' does not look like a matrix id."
msgstr "'%1', bir Matrix kimliği gibi görünmüyor."
#: src/models/actionsmodel.cpp:198
#: src/models/actionsmodel.cpp:197
#, kde-format
msgctxt "<user> is already invited to this room."
msgid "%1 is already invited to this room."
msgstr "%1, halihazırda bu odaya davet edildi"
#: src/models/actionsmodel.cpp:202
#: src/models/actionsmodel.cpp:201
#, kde-format
msgctxt "<user> is banned from this room."
msgid "%1 is banned from this room."
msgstr "%1, bu odadan yasaklı."
#: src/models/actionsmodel.cpp:207
#: src/models/actionsmodel.cpp:206
#, kde-format
msgid "You are already in this room."
msgstr "Halihazırda bu odadasınız."
#: src/models/actionsmodel.cpp:211
#: src/models/actionsmodel.cpp:210
#, kde-format
msgctxt "<user> is already in this room."
msgid "%1 is already in this room."
msgstr "%1, halihazırda bu odada."
#: src/models/actionsmodel.cpp:215
#: src/models/actionsmodel.cpp:214
#, kde-format
msgctxt "<username> was invited into this room"
msgid "%1 was invited into this room"
msgstr "%1, sizi bu odaya davet etti"
#: src/models/actionsmodel.cpp:220 src/models/actionsmodel.cpp:376
#: src/models/actionsmodel.cpp:404 src/models/actionsmodel.cpp:495
#: src/models/actionsmodel.cpp:219 src/models/actionsmodel.cpp:375
#: src/models/actionsmodel.cpp:403 src/models/actionsmodel.cpp:494
msgid "<user id>"
msgstr "<kullanıcı kimliği>"
#: src/models/actionsmodel.cpp:221
#: src/models/actionsmodel.cpp:220
msgid "Invites the user to this room"
msgstr "Kullanıcıyı bu odaya davet eder"
#: src/models/actionsmodel.cpp:238 src/models/actionsmodel.cpp:295
#: src/models/actionsmodel.cpp:237 src/models/actionsmodel.cpp:294
#, kde-format
msgctxt "Joining room <roomname>."
msgid "Joining room %1."
msgstr "%1 odasına katılınıyor."
#: src/models/actionsmodel.cpp:244 src/models/actionsmodel.cpp:301
#: src/models/actionsmodel.cpp:243 src/models/actionsmodel.cpp:300
msgid "<room alias or id>"
msgstr "<oda kimliği veya arması>"
#: src/models/actionsmodel.cpp:245 src/models/actionsmodel.cpp:302
#: src/models/actionsmodel.cpp:244 src/models/actionsmodel.cpp:301
msgid "Joins the given room"
msgstr "Verilen odaya katılır"
#: src/models/actionsmodel.cpp:265
#: src/models/actionsmodel.cpp:264
#, kde-format
msgctxt "Knocking room <roomname>."
msgid "Knocking room %1."
msgstr "'%1' odasına tıklatılıyor."
#: src/models/actionsmodel.cpp:277
#: src/models/actionsmodel.cpp:276
msgid "<room alias or id> [<reason>]"
msgstr "<oda arması veya kimliği> [<gerekçe>]"
#: src/models/actionsmodel.cpp:278
#: src/models/actionsmodel.cpp:277
msgid "Requests to join the given room"
msgstr "Verilen odaya katılmayı ister"
#: src/models/actionsmodel.cpp:292
#: src/models/actionsmodel.cpp:291
#, kde-format
msgctxt "You are already in room <roomname>."
msgid "You are already in room %1."
msgstr "Halihazırda %1 odasındasınız."
#: src/models/actionsmodel.cpp:309 src/models/actionsmodel.cpp:317
#: src/models/actionsmodel.cpp:308 src/models/actionsmodel.cpp:316
msgid "[<room alias or id>]"
msgstr "[<oda kimliği veya arması>]"
#: src/models/actionsmodel.cpp:310 src/models/actionsmodel.cpp:318
#: src/models/actionsmodel.cpp:309 src/models/actionsmodel.cpp:317
msgid "Leaves the given room or this room, if there is none given"
msgstr "Verilen odadan veya bir tane verilmemişse bu odadan ayrılır"
#: src/models/actionsmodel.cpp:332 src/models/actionsmodel.cpp:340
#: src/models/actionsmodel.cpp:348
#: src/models/actionsmodel.cpp:331 src/models/actionsmodel.cpp:339
#: src/models/actionsmodel.cpp:347
msgid "<display name>"
msgstr "<ekran adı>"
#: src/models/actionsmodel.cpp:333
#: src/models/actionsmodel.cpp:332
msgid "Changes your global display name"
msgstr "Global ekran adınızı değiştirir"
#: src/models/actionsmodel.cpp:341 src/models/actionsmodel.cpp:349
#: src/models/actionsmodel.cpp:340 src/models/actionsmodel.cpp:348
msgid "Changes your display name in this room"
msgstr "Bu odadaki ekran adınızı değiştirir"
#: src/models/actionsmodel.cpp:363
#: src/models/actionsmodel.cpp:362
#, kde-format
msgctxt "<username> is already ignored."
msgid "%1 is already ignored."
msgstr "%1, halihazırda yok sayılıyor."
#: src/models/actionsmodel.cpp:368
#: src/models/actionsmodel.cpp:367
#, kde-format
msgctxt "<username> is now ignored"
msgid "%1 is now ignored."
msgstr "%1, artık yok sayılıyor."
#: src/models/actionsmodel.cpp:370 src/models/actionsmodel.cpp:398
#: src/models/actionsmodel.cpp:369 src/models/actionsmodel.cpp:397
#, kde-format
msgctxt "<username> is not a known user"
msgid "%1 is not a known user."
msgstr "%1, bilinen bir kullanıcı değil."
#: src/models/actionsmodel.cpp:377
#: src/models/actionsmodel.cpp:376
msgid "Ignores the given user"
msgstr "Verilen kullanıcıyı yok sayar"
#: src/models/actionsmodel.cpp:392
#: src/models/actionsmodel.cpp:391
#, kde-format
msgctxt "<username> is not ignored."
msgid "%1 is not ignored."
msgstr "%1, yok sayılmıyor."
#: src/models/actionsmodel.cpp:396
#: src/models/actionsmodel.cpp:395
#, kde-format
msgctxt "<username> is no longer ignored."
msgid "%1 is no longer ignored."
msgstr "%1, artık yok sayılmıyor."
#: src/models/actionsmodel.cpp:405
#: src/models/actionsmodel.cpp:404
msgid "Unignores the given user"
msgstr "Verilen kullanıcıyı yok saymayı durdurur"
#: src/models/actionsmodel.cpp:425
#: src/models/actionsmodel.cpp:424
msgid "<reaction text>"
msgstr "<tepki metni>"
#: src/models/actionsmodel.cpp:426
#: src/models/actionsmodel.cpp:425
msgid "React to the message with the given text"
msgstr "Bu iletiye verilmiş metinle tepki ver"
#: src/models/actionsmodel.cpp:442
#: src/models/actionsmodel.cpp:441
#, kde-format
msgctxt "<user> is already banned from this room."
msgid "%1 is already banned from this room."
msgstr "%1, halihazırda bu odadan yasaklı."
#: src/models/actionsmodel.cpp:448
#: src/models/actionsmodel.cpp:447
#, kde-format
msgid "You are not allowed to ban users from this room."
msgstr "Bu odadan kullanıcıları yasaklamaya izniniz yok."
#: src/models/actionsmodel.cpp:454
#: src/models/actionsmodel.cpp:453
#, 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 "Bu odadan %1 kullanıcısını yasaklamaya izniniz yok."
#: src/models/actionsmodel.cpp:458
#: src/models/actionsmodel.cpp:457
#, kde-format
msgctxt "<username> was banned from this room."
msgid "%1 was banned from this room."
msgstr "%1, bu odadan yasaklanmış."
#: src/models/actionsmodel.cpp:463 src/models/actionsmodel.cpp:538
#: src/models/actionsmodel.cpp:462 src/models/actionsmodel.cpp:537
msgid "<user id> [<reason>]"
msgstr "<kullanıcı kimliği> [<gerekçe>]"
#: src/models/actionsmodel.cpp:464
#: src/models/actionsmodel.cpp:463
msgid "Bans the given user"
msgstr "Verilen kullanıcıyı yasaklar"
#: src/models/actionsmodel.cpp:478
#: src/models/actionsmodel.cpp:477
#, kde-format
msgid "You are not allowed to unban users from this room."
msgstr "Bu odadan kullanıcıların yasağını kaldırmaya izniniz yok."
#: src/models/actionsmodel.cpp:484
#: src/models/actionsmodel.cpp:483
#, kde-format
msgctxt "<user> is not banned from this room."
msgid "%1 is not banned from this room."
msgstr "%1, bu odadan yasaklı değil."
#: src/models/actionsmodel.cpp:489
#: src/models/actionsmodel.cpp:488
#, kde-format
msgctxt "<username> was unbanned from this room."
msgid "%1 was unbanned from this room."
msgstr "%1 kullanıcısının bu odadan yasağı kaldırıldı."
#: src/models/actionsmodel.cpp:496
#: src/models/actionsmodel.cpp:495
msgid "Removes the ban of the given user"
msgstr "Verilen kullanıcının yasağını kaldırır"
#: src/models/actionsmodel.cpp:511
#: src/models/actionsmodel.cpp:510
#, kde-format
msgid "You cannot kick yourself from the room."
msgstr "Kendinizi odadan kovamazsınız."
#: src/models/actionsmodel.cpp:516
#: src/models/actionsmodel.cpp:515
#, kde-format
msgctxt "<username> is not in this room"
msgid "%1 is not in this room."
msgstr "%1, bu odada değil."
#: src/models/actionsmodel.cpp:523
#: src/models/actionsmodel.cpp:522
#, kde-format
msgid "You are not allowed to kick users from this room."
msgstr "Bu odadan kullanıcıları kovmaya izniniz yok."
#: src/models/actionsmodel.cpp:529
#: src/models/actionsmodel.cpp:528
#, 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 "Bu odadan %1 kullanıcısını kovmaya izniniz yok."
#: src/models/actionsmodel.cpp:533
#: src/models/actionsmodel.cpp:532
#, kde-format
msgctxt "<username> was kicked from this room."
msgid "%1 was kicked from this room."
msgstr "%1, bu odadan kovuldu."
#: src/models/actionsmodel.cpp:539
#: src/models/actionsmodel.cpp:538
msgid "Removes the user from the room"
msgstr "Kullanıcıyı odadan kaldırır"
@@ -1839,28 +1839,28 @@ msgstr "Özel bir sohbet aç"
msgid "Copy link"
msgstr "Bağlantıyı kopyala"
#: src/qml/main.qml:128
#: src/qml/main.qml:124
#, kde-format
msgid "Warning: %1"
msgstr "Uyarı: %1"
#: src/qml/main.qml:267
#: src/qml/main.qml:263
#, kde-format
msgid "%1: %2"
msgstr "%1: %2"
#: src/qml/main.qml:308
#: src/qml/main.qml:304
#, kde-format
msgctxt "@title:window"
msgid "Session Verification"
msgstr "Oturum Doğrulama"
#: src/qml/main.qml:318
#: src/qml/main.qml:314
#, kde-format
msgid "User consent"
msgstr "Kullanıcı onayı"
#: src/qml/main.qml:323
#: src/qml/main.qml:319
#, kde-format
msgid ""
"Your homeserver requires you to agree to its terms and conditions before "
@@ -1869,17 +1869,17 @@ msgstr ""
"Ana sunucunuz, kullanım öncesinde kullanım koşullarını kabul etmenizi "
"gerektiriyor. Okumak için aşağıdaki düğmeye tıklayın."
#: src/qml/main.qml:328
#: src/qml/main.qml:324
#, kde-format
msgid "Open"
msgstr "Aç"
#: src/qml/main.qml:357
#: src/qml/main.qml:353
#, kde-format
msgid "Start a chat"
msgstr "Bir sohbet başlat"
#: src/qml/main.qml:359
#: src/qml/main.qml:355
#, kde-format
msgid "Do you want to start a chat with %1?"
msgstr "%1 ile bir sohbet başlatmak istiyor musunuz?"
@@ -3814,32 +3814,32 @@ msgid ""
"There's no room %1 in the room list. Check the spelling and the account."
msgstr "Oda listesinde %1 diye bir oda yok. Hesabı ve yazımı denetleyin."
#: src/roommanager.cpp:210
#: src/roommanager.cpp:208
#, kde-format
msgid "Failed to join room"
msgstr "Odaya katılamadı"
#: src/roommanager.cpp:227
#: src/roommanager.cpp:225
#, kde-format
msgid "You requested to join '%1'"
msgstr "'%1' odasına katılmak istediniz"
#: src/roommanager.cpp:230
#: src/roommanager.cpp:228
#, kde-format
msgid "Failed to request joining room"
msgstr "Odaya katılma istenemedi"
#: src/roommanager.cpp:240
#: src/roommanager.cpp:238
#, kde-format
msgid "No application for the link"
msgstr "Bağlantı için bir uygulama yok"
#: src/roommanager.cpp:240
#: src/roommanager.cpp:238
#, kde-format
msgid "Your operating system could not find an application for the link."
msgstr "İşletim sisteminiz, bu bağlantı için bir uygulama bulamadı."
#: src/roommanager.cpp:246
#: src/roommanager.cpp:244
#, kde-format
msgid "Could not open URL"
msgstr "URL açılamadı"

View File

@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: neochat\n"
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
"POT-Creation-Date: 2023-04-11 00:48+0000\n"
"POT-Creation-Date: 2023-04-13 00:49+0000\n"
"PO-Revision-Date: 2023-04-04 17:04+0300\n"
"Last-Translator: Yuri Chornoivan <yurchor@ukr.net>\n"
"Language-Team: Ukrainian <kde-i18n-uk@kde.org>\n"
@@ -229,311 +229,311 @@ msgstr ""
msgid "Image request has been cancelled"
msgstr "Запит щодо зображення було скасовано"
#: src/models/actionsmodel.cpp:24
#: src/models/actionsmodel.cpp:23
#, kde-format
msgid "Leaving this room."
msgstr "Полишаємо цю кімнату."
#: src/models/actionsmodel.cpp:31 src/models/actionsmodel.cpp:230
#: src/models/actionsmodel.cpp:257 src/models/actionsmodel.cpp:288
#: src/models/actionsmodel.cpp:30 src/models/actionsmodel.cpp:229
#: src/models/actionsmodel.cpp:256 src/models/actionsmodel.cpp:287
#, 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» не є ідентифікатором або альтернативною назвою кімнати."
#: src/models/actionsmodel.cpp:39
#: src/models/actionsmodel.cpp:38
#, kde-format
msgctxt "Leaving room <roomname>."
msgid "Leaving room %1."
msgstr "Полишаємо кімнату %1."
#: src/models/actionsmodel.cpp:42
#: src/models/actionsmodel.cpp:41
#, kde-format
msgctxt "Room <roomname> not found"
msgid "Room %1 not found."
msgstr "Кімнати %1 не знайдено."
#: src/models/actionsmodel.cpp:50 src/models/actionsmodel.cpp:324
#: src/models/actionsmodel.cpp:49 src/models/actionsmodel.cpp:323
#, 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:64 src/models/actionsmodel.cpp:74
#: src/models/actionsmodel.cpp:84 src/models/actionsmodel.cpp:94
#: src/models/actionsmodel.cpp:114 src/models/actionsmodel.cpp:134
#: src/models/actionsmodel.cpp:145 src/models/actionsmodel.cpp:161
#: src/models/actionsmodel.cpp:171 src/models/actionsmodel.cpp:181
msgid "<message>"
msgstr "<повідомлення>"
#: src/models/actionsmodel.cpp:66
#: src/models/actionsmodel.cpp:65
msgid "Prepends ¯\\_(ツ)_/¯ to a plain-text message"
msgstr "Дописати ¯\\_(ツ)_/¯ перед звичайним текстовим повідомленням"
#: src/models/actionsmodel.cpp:76
#: src/models/actionsmodel.cpp:75
msgid "Prepends ( ͡° ͜ʖ ͡°) to a plain-text message"
msgstr "Дописати ( ͡° ͜ʖ ͡°) перед звичайним текстовим повідомленням"
#: src/models/actionsmodel.cpp:86
#: src/models/actionsmodel.cpp:85
msgid "Prepends (╯°□°)╯︵ ┻━┻ to a plain-text message"
msgstr "Дописати (╯°□°)╯︵ ┻━┻ перед звичайним текстовим повідомленням"
#: src/models/actionsmodel.cpp:96
#: src/models/actionsmodel.cpp:95
msgid "Prepends ┬──┬ ( ゜-゜ノ) to a plain-text message"
msgstr "Дописати ┬──┬ ( ゜-゜ノ) перед звичайним текстовим повідомленням"
#: src/models/actionsmodel.cpp:116
#: src/models/actionsmodel.cpp:115
msgid "Sends the given message colored as a rainbow"
msgstr "Надіслати вказане повідомлення розфарбованим у кольори веселки"
#: src/models/actionsmodel.cpp:136
#: src/models/actionsmodel.cpp:135
msgid "Sends the given emote colored as a rainbow"
msgstr "Надіслати вказану емоцію розфарбованою у кольори веселки"
#: src/models/actionsmodel.cpp:147
#: src/models/actionsmodel.cpp:146
msgid "Sends the given message as plain text"
msgstr "Надіслати вказане повідомлення як звичайний текст"
#: src/models/actionsmodel.cpp:163
#: src/models/actionsmodel.cpp:162
msgid "Sends the given message as a spoiler"
msgstr "Надіслати вказане повідомлення як спойлер"
#: src/models/actionsmodel.cpp:173
#: src/models/actionsmodel.cpp:172
msgid "Sends the given emote"
msgstr "Надіслати вказану емоцію"
#: src/models/actionsmodel.cpp:183
#: src/models/actionsmodel.cpp:182
msgid "Sends the given message as a notice"
msgstr "Надіслати вказане повідомлення як зауваження"
#: src/models/actionsmodel.cpp:192 src/models/actionsmodel.cpp:358
#: src/models/actionsmodel.cpp:386 src/models/actionsmodel.cpp:436
#: src/models/actionsmodel.cpp:473 src/models/actionsmodel.cpp:507
#: src/models/actionsmodel.cpp:191 src/models/actionsmodel.cpp:357
#: src/models/actionsmodel.cpp:385 src/models/actionsmodel.cpp:435
#: src/models/actionsmodel.cpp:472 src/models/actionsmodel.cpp:506
#, kde-format
msgctxt "'<text>' does not look like a matrix id."
msgid "'%1' does not look like a matrix id."
msgstr "Здається, «%1» не є ідентифікатором matrix."
#: src/models/actionsmodel.cpp:198
#: src/models/actionsmodel.cpp:197
#, kde-format
msgctxt "<user> is already invited to this room."
msgid "%1 is already invited to this room."
msgstr "%1 вже запрошено до цієї кімнати."
#: src/models/actionsmodel.cpp:202
#: src/models/actionsmodel.cpp:201
#, kde-format
msgctxt "<user> is banned from this room."
msgid "%1 is banned from this room."
msgstr "%1 заблоковано у цій кімнаті."
#: src/models/actionsmodel.cpp:207
#: src/models/actionsmodel.cpp:206
#, kde-format
msgid "You are already in this room."
msgstr "Ви вже перебуваєте у цій кімнаті."
#: src/models/actionsmodel.cpp:211
#: src/models/actionsmodel.cpp:210
#, kde-format
msgctxt "<user> is already in this room."
msgid "%1 is already in this room."
msgstr "%1 вже перебуває у цій кімнаті."
#: src/models/actionsmodel.cpp:215
#: src/models/actionsmodel.cpp:214
#, kde-format
msgctxt "<username> was invited into this room"
msgid "%1 was invited into this room"
msgstr "%1 було запрошено до цієї кімнати"
#: src/models/actionsmodel.cpp:220 src/models/actionsmodel.cpp:376
#: src/models/actionsmodel.cpp:404 src/models/actionsmodel.cpp:495
#: src/models/actionsmodel.cpp:219 src/models/actionsmodel.cpp:375
#: src/models/actionsmodel.cpp:403 src/models/actionsmodel.cpp:494
msgid "<user id>"
msgstr "<ідентифікатор користувача>"
#: src/models/actionsmodel.cpp:221
#: src/models/actionsmodel.cpp:220
msgid "Invites the user to this room"
msgstr "Запрошує користувача до цієї кімнати"
#: src/models/actionsmodel.cpp:238 src/models/actionsmodel.cpp:295
#: src/models/actionsmodel.cpp:237 src/models/actionsmodel.cpp:294
#, kde-format
msgctxt "Joining room <roomname>."
msgid "Joining room %1."
msgstr "Долучається до кімнати %1."
#: src/models/actionsmodel.cpp:244 src/models/actionsmodel.cpp:301
#: src/models/actionsmodel.cpp:243 src/models/actionsmodel.cpp:300
msgid "<room alias or id>"
msgstr "<альтернативна назва або ідентифікатор кімнати>"
#: src/models/actionsmodel.cpp:245 src/models/actionsmodel.cpp:302
#: src/models/actionsmodel.cpp:244 src/models/actionsmodel.cpp:301
msgid "Joins the given room"
msgstr "Долучається до вказаної кімнати"
#: src/models/actionsmodel.cpp:265
#: src/models/actionsmodel.cpp:264
#, kde-format
msgctxt "Knocking room <roomname>."
msgid "Knocking room %1."
msgstr "Стукаємося до кімнати %1."
#: src/models/actionsmodel.cpp:277
#: src/models/actionsmodel.cpp:276
msgid "<room alias or id> [<reason>]"
msgstr "<альтернативна назва або ідентифікатор кімнати> [<причина>]"
#: src/models/actionsmodel.cpp:278
#: src/models/actionsmodel.cpp:277
msgid "Requests to join the given room"
msgstr "Надсилає запит щодо долучення до вказаної кімнати"
#: src/models/actionsmodel.cpp:292
#: src/models/actionsmodel.cpp:291
#, kde-format
msgctxt "You are already in room <roomname>."
msgid "You are already in room %1."
msgstr "Ви вже перебуваєте у кімнаті %1."
#: src/models/actionsmodel.cpp:309 src/models/actionsmodel.cpp:317
#: src/models/actionsmodel.cpp:308 src/models/actionsmodel.cpp:316
msgid "[<room alias or id>]"
msgstr "[<альтернативна назва або ідентифікатор кімнати>]"
#: src/models/actionsmodel.cpp:310 src/models/actionsmodel.cpp:318
#: src/models/actionsmodel.cpp:309 src/models/actionsmodel.cpp:317
msgid "Leaves the given room or this room, if there is none given"
msgstr "Полишає вказану кімнату або цю кімнату, якщо кімнату не вказано"
#: src/models/actionsmodel.cpp:332 src/models/actionsmodel.cpp:340
#: src/models/actionsmodel.cpp:348
#: src/models/actionsmodel.cpp:331 src/models/actionsmodel.cpp:339
#: src/models/actionsmodel.cpp:347
msgid "<display name>"
msgstr "<показане ім'я>"
#: src/models/actionsmodel.cpp:333
#: src/models/actionsmodel.cpp:332
msgid "Changes your global display name"
msgstr "Змінює ваше загальне показане ім'я"
#: src/models/actionsmodel.cpp:341 src/models/actionsmodel.cpp:349
#: src/models/actionsmodel.cpp:340 src/models/actionsmodel.cpp:348
msgid "Changes your display name in this room"
msgstr "Змінює ваше показане ім'я у цій кімнаті"
#: src/models/actionsmodel.cpp:363
#: src/models/actionsmodel.cpp:362
#, kde-format
msgctxt "<username> is already ignored."
msgid "%1 is already ignored."
msgstr "%1 вже додано до ігнорованих."
#: src/models/actionsmodel.cpp:368
#: src/models/actionsmodel.cpp:367
#, kde-format
msgctxt "<username> is now ignored"
msgid "%1 is now ignored."
msgstr "%1 тепер є ігнорованим."
#: src/models/actionsmodel.cpp:370 src/models/actionsmodel.cpp:398
#: src/models/actionsmodel.cpp:369 src/models/actionsmodel.cpp:397
#, kde-format
msgctxt "<username> is not a known user"
msgid "%1 is not a known user."
msgstr "%1 не є відомим користувачем."
#: src/models/actionsmodel.cpp:377
#: src/models/actionsmodel.cpp:376
msgid "Ignores the given user"
msgstr "Ігнорує вказаного користувача"
#: src/models/actionsmodel.cpp:392
#: src/models/actionsmodel.cpp:391
#, kde-format
msgctxt "<username> is not ignored."
msgid "%1 is not ignored."
msgstr "%1 не включено до ігнорованих."
#: src/models/actionsmodel.cpp:396
#: src/models/actionsmodel.cpp:395
#, kde-format
msgctxt "<username> is no longer ignored."
msgid "%1 is no longer ignored."
msgstr "%1 Ігнорується."
#: src/models/actionsmodel.cpp:405
#: src/models/actionsmodel.cpp:404
msgid "Unignores the given user"
msgstr "Скасовує ігнорування вказаного користувача"
#: src/models/actionsmodel.cpp:425
#: src/models/actionsmodel.cpp:424
msgid "<reaction text>"
msgstr "<текст реакції>"
#: src/models/actionsmodel.cpp:426
#: src/models/actionsmodel.cpp:425
msgid "React to the message with the given text"
msgstr "Зреагувати на це повідомлення вказаним текстом"
#: src/models/actionsmodel.cpp:442
#: src/models/actionsmodel.cpp:441
#, kde-format
msgctxt "<user> is already banned from this room."
msgid "%1 is already banned from this room."
msgstr "%1 вже заблоковано у цій кімнаті."
#: src/models/actionsmodel.cpp:448
#: src/models/actionsmodel.cpp:447
#, kde-format
msgid "You are not allowed to ban users from this room."
msgstr "Ви не можете блокувати користувачів у цій кімнаті."
#: src/models/actionsmodel.cpp:454
#: src/models/actionsmodel.cpp:453
#, 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 "Ви не можете заблокувати %1 у цій кімнаті."
#: src/models/actionsmodel.cpp:458
#: src/models/actionsmodel.cpp:457
#, kde-format
msgctxt "<username> was banned from this room."
msgid "%1 was banned from this room."
msgstr "%1 було заблоковано у цій кімнаті."
#: src/models/actionsmodel.cpp:463 src/models/actionsmodel.cpp:538
#: src/models/actionsmodel.cpp:462 src/models/actionsmodel.cpp:537
msgid "<user id> [<reason>]"
msgstr "<ідентифікатор користувача> [<причина>]"
#: src/models/actionsmodel.cpp:464
#: src/models/actionsmodel.cpp:463
msgid "Bans the given user"
msgstr "Блокує вказаного користувача"
#: src/models/actionsmodel.cpp:478
#: src/models/actionsmodel.cpp:477
#, kde-format
msgid "You are not allowed to unban users from this room."
msgstr "Ви не можете розблоковувати користувачів у цій кімнаті."
#: src/models/actionsmodel.cpp:484
#: src/models/actionsmodel.cpp:483
#, kde-format
msgctxt "<user> is not banned from this room."
msgid "%1 is not banned from this room."
msgstr "%1 не заблоковано у цій кімнаті."
#: src/models/actionsmodel.cpp:489
#: src/models/actionsmodel.cpp:488
#, kde-format
msgctxt "<username> was unbanned from this room."
msgid "%1 was unbanned from this room."
msgstr "%1 було розблоковано у цій кімнаті."
#: src/models/actionsmodel.cpp:496
#: src/models/actionsmodel.cpp:495
msgid "Removes the ban of the given user"
msgstr "Вилучає блокування зі вказаного користувача"
#: src/models/actionsmodel.cpp:511
#: src/models/actionsmodel.cpp:510
#, kde-format
msgid "You cannot kick yourself from the room."
msgstr "Ви не можете викинути себе з кімнати."
#: src/models/actionsmodel.cpp:516
#: src/models/actionsmodel.cpp:515
#, kde-format
msgctxt "<username> is not in this room"
msgid "%1 is not in this room."
msgstr "%1 не перебуває у цій кімнаті."
#: src/models/actionsmodel.cpp:523
#: src/models/actionsmodel.cpp:522
#, kde-format
msgid "You are not allowed to kick users from this room."
msgstr "Ви не можете викидати користувачів з цієї кімнати."
#: src/models/actionsmodel.cpp:529
#: src/models/actionsmodel.cpp:528
#, 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 "Ви не можете викидати %1 з цієї кімнати."
#: src/models/actionsmodel.cpp:533
#: src/models/actionsmodel.cpp:532
#, kde-format
msgctxt "<username> was kicked from this room."
msgid "%1 was kicked from this room."
msgstr "%1 було викинуто з цієї кімнати."
#: src/models/actionsmodel.cpp:539
#: src/models/actionsmodel.cpp:538
msgid "Removes the user from the room"
msgstr "Вилучає користувача з кімнати"
@@ -1863,28 +1863,28 @@ msgstr "Відкрити особисте спілкування"
msgid "Copy link"
msgstr "Копіювати посилання"
#: src/qml/main.qml:128
#: src/qml/main.qml:124
#, kde-format
msgid "Warning: %1"
msgstr "Попередження: %1"
#: src/qml/main.qml:267
#: src/qml/main.qml:263
#, kde-format
msgid "%1: %2"
msgstr "%1: %2"
#: src/qml/main.qml:308
#: src/qml/main.qml:304
#, kde-format
msgctxt "@title:window"
msgid "Session Verification"
msgstr "Перевірка сеансу"
#: src/qml/main.qml:318
#: src/qml/main.qml:314
#, kde-format
msgid "User consent"
msgstr "Згода користувача"
#: src/qml/main.qml:323
#: src/qml/main.qml:319
#, kde-format
msgid ""
"Your homeserver requires you to agree to its terms and conditions before "
@@ -1894,17 +1894,17 @@ msgstr ""
"використання. Будь ласка, натисніть розташовану нижче кнопку для того, щоб "
"ознайомитися з ними."
#: src/qml/main.qml:328
#: src/qml/main.qml:324
#, kde-format
msgid "Open"
msgstr "Відкрити"
#: src/qml/main.qml:357
#: src/qml/main.qml:353
#, kde-format
msgid "Start a chat"
msgstr "Почати спілкування"
#: src/qml/main.qml:359
#: src/qml/main.qml:355
#, kde-format
msgid "Do you want to start a chat with %1?"
msgstr "Хочете розпочати спілкування з %1?"
@@ -3855,34 +3855,34 @@ msgstr ""
"У списку кімнат немає кімнати %1. Перевірте, чи правильно вписано обліковий "
"запис."
#: src/roommanager.cpp:210
#: src/roommanager.cpp:208
#, kde-format
msgid "Failed to join room"
msgstr "Не вдалося приєднатися до кімнати"
#: src/roommanager.cpp:227
#: src/roommanager.cpp:225
#, kde-format
msgid "You requested to join '%1'"
msgstr "Ви надіслали запит щодо долучення до «%1»"
#: src/roommanager.cpp:230
#: src/roommanager.cpp:228
#, kde-format
msgid "Failed to request joining room"
msgstr "Не вдалося надіслати запит щодо долучення до кімнати"
#: src/roommanager.cpp:240
#: src/roommanager.cpp:238
#, kde-format
msgid "No application for the link"
msgstr "Немає програми для обробки посилання"
#: src/roommanager.cpp:240
#: src/roommanager.cpp:238
#, kde-format
msgid "Your operating system could not find an application for the link."
msgstr ""
"Вашою операційною системою не знайдено програми, яка могла б обробити "
"посилання."
#: src/roommanager.cpp:246
#: src/roommanager.cpp:244
#, kde-format
msgid "Could not open URL"
msgstr "Не вдається відкрити адресу"

View File

@@ -2,7 +2,7 @@ msgid ""
msgstr ""
"Project-Id-Version: kdeorg\n"
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
"POT-Creation-Date: 2023-04-11 00:48+0000\n"
"POT-Creation-Date: 2023-04-13 00:49+0000\n"
"PO-Revision-Date: 2023-04-10 14:11\n"
"Last-Translator: \n"
"Language-Team: Chinese Simplified\n"
@@ -225,311 +225,311 @@ msgstr ""
msgid "Image request has been cancelled"
msgstr "图像请求已被取消"
#: src/models/actionsmodel.cpp:24
#: src/models/actionsmodel.cpp:23
#, kde-format
msgid "Leaving this room."
msgstr "离开此聊天室。"
#: src/models/actionsmodel.cpp:31 src/models/actionsmodel.cpp:230
#: src/models/actionsmodel.cpp:257 src/models/actionsmodel.cpp:288
#: src/models/actionsmodel.cpp:30 src/models/actionsmodel.cpp:229
#: src/models/actionsmodel.cpp:256 src/models/actionsmodel.cpp:287
#, 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:38
#, kde-format
msgctxt "Leaving room <roomname>."
msgid "Leaving room %1."
msgstr "正在离开聊天室 %1。"
#: src/models/actionsmodel.cpp:42
#: src/models/actionsmodel.cpp:41
#, kde-format
msgctxt "Room <roomname> not found"
msgid "Room %1 not found."
msgstr ""
#: src/models/actionsmodel.cpp:50 src/models/actionsmodel.cpp:324
#: src/models/actionsmodel.cpp:49 src/models/actionsmodel.cpp:323
#, 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:64 src/models/actionsmodel.cpp:74
#: src/models/actionsmodel.cpp:84 src/models/actionsmodel.cpp:94
#: src/models/actionsmodel.cpp:114 src/models/actionsmodel.cpp:134
#: src/models/actionsmodel.cpp:145 src/models/actionsmodel.cpp:161
#: src/models/actionsmodel.cpp:171 src/models/actionsmodel.cpp:181
msgid "<message>"
msgstr "<消息内容>"
#: src/models/actionsmodel.cpp:66
#: src/models/actionsmodel.cpp:65
msgid "Prepends ¯\\_(ツ)_/¯ to a plain-text message"
msgstr "在纯文本消息前追加 ¯\\_(ツ)_/¯"
#: src/models/actionsmodel.cpp:76
#: src/models/actionsmodel.cpp:75
msgid "Prepends ( ͡° ͜ʖ ͡°) to a plain-text message"
msgstr "在纯文本消息前追加 ( ͡° ͜ʖ ͡°)"
#: src/models/actionsmodel.cpp:86
#: src/models/actionsmodel.cpp:85
msgid "Prepends (╯°□°)╯︵ ┻━┻ to a plain-text message"
msgstr "在纯文本消息前追加 (╯°□°)╯︵ ┻━┻"
#: src/models/actionsmodel.cpp:96
#: src/models/actionsmodel.cpp:95
msgid "Prepends ┬──┬ ( ゜-゜ノ) to a plain-text message"
msgstr "在纯文本消息前追加 ┬──┬ ( ゜-゜ノ)"
#: src/models/actionsmodel.cpp:116
#: src/models/actionsmodel.cpp:115
msgid "Sends the given message colored as a rainbow"
msgstr ""
#: src/models/actionsmodel.cpp:136
#: src/models/actionsmodel.cpp:135
msgid "Sends the given emote colored as a rainbow"
msgstr ""
#: src/models/actionsmodel.cpp:147
#: src/models/actionsmodel.cpp:146
msgid "Sends the given message as plain text"
msgstr "将此消息作为纯文本消息发送"
#: src/models/actionsmodel.cpp:163
#: src/models/actionsmodel.cpp:162
msgid "Sends the given message as a spoiler"
msgstr "发送消息,并将此消息标记为防剧透"
#: src/models/actionsmodel.cpp:173
#: src/models/actionsmodel.cpp:172
msgid "Sends the given emote"
msgstr ""
#: src/models/actionsmodel.cpp:183
#: src/models/actionsmodel.cpp:182
msgid "Sends the given message as a notice"
msgstr "发送消息,并将此消息标记为一条通知"
#: src/models/actionsmodel.cpp:192 src/models/actionsmodel.cpp:358
#: src/models/actionsmodel.cpp:386 src/models/actionsmodel.cpp:436
#: src/models/actionsmodel.cpp:473 src/models/actionsmodel.cpp:507
#: src/models/actionsmodel.cpp:191 src/models/actionsmodel.cpp:357
#: src/models/actionsmodel.cpp:385 src/models/actionsmodel.cpp:435
#: src/models/actionsmodel.cpp:472 src/models/actionsmodel.cpp:506
#, 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:198
#: src/models/actionsmodel.cpp:197
#, kde-format
msgctxt "<user> is already invited to this room."
msgid "%1 is already invited to this room."
msgstr ""
#: src/models/actionsmodel.cpp:202
#: src/models/actionsmodel.cpp:201
#, kde-format
msgctxt "<user> is banned from this room."
msgid "%1 is banned from this room."
msgstr ""
#: src/models/actionsmodel.cpp:207
#: src/models/actionsmodel.cpp:206
#, kde-format
msgid "You are already in this room."
msgstr "你已经在这个聊天室了。"
#: src/models/actionsmodel.cpp:211
#: 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:215
#: 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:220 src/models/actionsmodel.cpp:376
#: src/models/actionsmodel.cpp:404 src/models/actionsmodel.cpp:495
#: src/models/actionsmodel.cpp:219 src/models/actionsmodel.cpp:375
#: src/models/actionsmodel.cpp:403 src/models/actionsmodel.cpp:494
msgid "<user id>"
msgstr "<用户 ID>"
#: src/models/actionsmodel.cpp:221
#: src/models/actionsmodel.cpp:220
msgid "Invites the user to this room"
msgstr ""
#: src/models/actionsmodel.cpp:238 src/models/actionsmodel.cpp:295
#: src/models/actionsmodel.cpp:237 src/models/actionsmodel.cpp:294
#, kde-format
msgctxt "Joining room <roomname>."
msgid "Joining room %1."
msgstr "正在加入聊天室:%1。"
#: src/models/actionsmodel.cpp:244 src/models/actionsmodel.cpp:301
#: src/models/actionsmodel.cpp:243 src/models/actionsmodel.cpp:300
msgid "<room alias or id>"
msgstr "<聊天室别名或 ID>"
#: src/models/actionsmodel.cpp:245 src/models/actionsmodel.cpp:302
#: src/models/actionsmodel.cpp:244 src/models/actionsmodel.cpp:301
msgid "Joins the given room"
msgstr ""
#: src/models/actionsmodel.cpp:265
#: src/models/actionsmodel.cpp:264
#, kde-format
msgctxt "Knocking room <roomname>."
msgid "Knocking room %1."
msgstr ""
#: src/models/actionsmodel.cpp:277
#: src/models/actionsmodel.cpp:276
msgid "<room alias or id> [<reason>]"
msgstr ""
#: src/models/actionsmodel.cpp:278
#: src/models/actionsmodel.cpp:277
msgid "Requests to join the given room"
msgstr ""
#: src/models/actionsmodel.cpp:292
#: src/models/actionsmodel.cpp:291
#, kde-format
msgctxt "You are already in room <roomname>."
msgid "You are already in room %1."
msgstr ""
#: src/models/actionsmodel.cpp:309 src/models/actionsmodel.cpp:317
#: src/models/actionsmodel.cpp:308 src/models/actionsmodel.cpp:316
msgid "[<room alias or id>]"
msgstr "[<聊天室别名或 ID>]"
#: src/models/actionsmodel.cpp:310 src/models/actionsmodel.cpp:318
#: src/models/actionsmodel.cpp:309 src/models/actionsmodel.cpp:317
msgid "Leaves the given room or this room, if there is none given"
msgstr ""
#: src/models/actionsmodel.cpp:332 src/models/actionsmodel.cpp:340
#: src/models/actionsmodel.cpp:348
#: src/models/actionsmodel.cpp:331 src/models/actionsmodel.cpp:339
#: src/models/actionsmodel.cpp:347
msgid "<display name>"
msgstr "<显示名称>"
#: src/models/actionsmodel.cpp:333
#: src/models/actionsmodel.cpp:332
msgid "Changes your global display name"
msgstr "修改你的全局显示名称"
#: src/models/actionsmodel.cpp:341 src/models/actionsmodel.cpp:349
#: src/models/actionsmodel.cpp:340 src/models/actionsmodel.cpp:348
msgid "Changes your display name in this room"
msgstr "修改你在此聊天室的显示名称"
#: src/models/actionsmodel.cpp:363
#: src/models/actionsmodel.cpp:362
#, kde-format
msgctxt "<username> is already ignored."
msgid "%1 is already ignored."
msgstr ""
#: src/models/actionsmodel.cpp:368
#: src/models/actionsmodel.cpp:367
#, kde-format
msgctxt "<username> is now ignored"
msgid "%1 is now ignored."
msgstr ""
#: src/models/actionsmodel.cpp:370 src/models/actionsmodel.cpp:398
#: src/models/actionsmodel.cpp:369 src/models/actionsmodel.cpp:397
#, kde-format
msgctxt "<username> is not a known user"
msgid "%1 is not a known user."
msgstr ""
#: src/models/actionsmodel.cpp:377
#: src/models/actionsmodel.cpp:376
msgid "Ignores the given user"
msgstr ""
#: src/models/actionsmodel.cpp:392
#: src/models/actionsmodel.cpp:391
#, kde-format
msgctxt "<username> is not ignored."
msgid "%1 is not ignored."
msgstr ""
#: src/models/actionsmodel.cpp:396
#: src/models/actionsmodel.cpp:395
#, kde-format
msgctxt "<username> is no longer ignored."
msgid "%1 is no longer ignored."
msgstr ""
#: src/models/actionsmodel.cpp:405
#: src/models/actionsmodel.cpp:404
msgid "Unignores the given user"
msgstr ""
#: src/models/actionsmodel.cpp:425
#: src/models/actionsmodel.cpp:424
msgid "<reaction text>"
msgstr "<要回应的文本>"
#: src/models/actionsmodel.cpp:426
#: src/models/actionsmodel.cpp:425
msgid "React to the message with the given text"
msgstr "用所提供的文本回应消息"
#: src/models/actionsmodel.cpp:442
#: src/models/actionsmodel.cpp:441
#, kde-format
msgctxt "<user> is already banned from this room."
msgid "%1 is already banned from this room."
msgstr ""
#: src/models/actionsmodel.cpp:448
#: src/models/actionsmodel.cpp:447
#, kde-format
msgid "You are not allowed to ban users from this room."
msgstr ""
#: src/models/actionsmodel.cpp:454
#: src/models/actionsmodel.cpp:453
#, 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:458
#: src/models/actionsmodel.cpp:457
#, kde-format
msgctxt "<username> was banned from this room."
msgid "%1 was banned from this room."
msgstr ""
#: src/models/actionsmodel.cpp:463 src/models/actionsmodel.cpp:538
#: src/models/actionsmodel.cpp:462 src/models/actionsmodel.cpp:537
msgid "<user id> [<reason>]"
msgstr ""
#: src/models/actionsmodel.cpp:464
#: src/models/actionsmodel.cpp:463
msgid "Bans the given user"
msgstr ""
#: src/models/actionsmodel.cpp:478
#: src/models/actionsmodel.cpp:477
#, kde-format
msgid "You are not allowed to unban users from this room."
msgstr ""
#: src/models/actionsmodel.cpp:484
#: src/models/actionsmodel.cpp:483
#, kde-format
msgctxt "<user> is not banned from this room."
msgid "%1 is not banned from this room."
msgstr ""
#: src/models/actionsmodel.cpp:489
#: src/models/actionsmodel.cpp:488
#, kde-format
msgctxt "<username> was unbanned from this room."
msgid "%1 was unbanned from this room."
msgstr ""
#: src/models/actionsmodel.cpp:496
#: src/models/actionsmodel.cpp:495
msgid "Removes the ban of the given user"
msgstr ""
#: src/models/actionsmodel.cpp:511
#: src/models/actionsmodel.cpp:510
#, kde-format
msgid "You cannot kick yourself from the room."
msgstr ""
#: src/models/actionsmodel.cpp:516
#: src/models/actionsmodel.cpp:515
#, kde-format
msgctxt "<username> is not in this room"
msgid "%1 is not in this room."
msgstr ""
#: src/models/actionsmodel.cpp:523
#: src/models/actionsmodel.cpp:522
#, kde-format
msgid "You are not allowed to kick users from this room."
msgstr ""
#: src/models/actionsmodel.cpp:529
#: src/models/actionsmodel.cpp:528
#, 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:533
#: src/models/actionsmodel.cpp:532
#, kde-format
msgctxt "<username> was kicked from this room."
msgid "%1 was kicked from this room."
msgstr ""
#: src/models/actionsmodel.cpp:539
#: src/models/actionsmodel.cpp:538
msgid "Removes the user from the room"
msgstr "从聊天室中移除此用户"
@@ -1810,28 +1810,28 @@ msgstr "打开私聊"
msgid "Copy link"
msgstr "复制链接"
#: src/qml/main.qml:128
#: src/qml/main.qml:124
#, kde-format
msgid "Warning: %1"
msgstr "警告:%1"
#: src/qml/main.qml:267
#: src/qml/main.qml:263
#, kde-format
msgid "%1: %2"
msgstr ""
#: src/qml/main.qml:308
#: src/qml/main.qml:304
#, kde-format
msgctxt "@title:window"
msgid "Session Verification"
msgstr ""
#: src/qml/main.qml:318
#: src/qml/main.qml:314
#, kde-format
msgid "User consent"
msgstr "用户许可"
#: src/qml/main.qml:323
#: src/qml/main.qml:319
#, kde-format
msgid ""
"Your homeserver requires you to agree to its terms and conditions before "
@@ -1840,17 +1840,17 @@ msgstr ""
"您的主服务器需要您同意它的条款和条件,然后才能使用。请点击下面的按钮阅读它"
"们。"
#: src/qml/main.qml:328
#: src/qml/main.qml:324
#, kde-format
msgid "Open"
msgstr "打开"
#: src/qml/main.qml:357
#: src/qml/main.qml:353
#, kde-format
msgid "Start a chat"
msgstr "开始聊天"
#: src/qml/main.qml:359
#: src/qml/main.qml:355
#, kde-format
msgid "Do you want to start a chat with %1?"
msgstr "您想要与 %1 开始聊天吗?"
@@ -3768,32 +3768,32 @@ msgid ""
"There's no room %1 in the room list. Check the spelling and the account."
msgstr ""
#: src/roommanager.cpp:210
#: src/roommanager.cpp:208
#, kde-format
msgid "Failed to join room"
msgstr ""
#: src/roommanager.cpp:227
#: src/roommanager.cpp:225
#, kde-format
msgid "You requested to join '%1'"
msgstr ""
#: src/roommanager.cpp:230
#: src/roommanager.cpp:228
#, kde-format
msgid "Failed to request joining room"
msgstr ""
#: src/roommanager.cpp:240
#: src/roommanager.cpp:238
#, kde-format
msgid "No application for the link"
msgstr "没有用于此链接的应用程序"
#: src/roommanager.cpp:240
#: src/roommanager.cpp:238
#, kde-format
msgid "Your operating system could not find an application for the link."
msgstr "您的操作系统未找到用于此链接的应用程序。"
#: src/roommanager.cpp:246
#: src/roommanager.cpp:244
#, kde-format
msgid "Could not open URL"
msgstr "无法打开 URL"

View File

@@ -9,7 +9,7 @@ msgid ""
msgstr ""
"Project-Id-Version: neochat\n"
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
"POT-Creation-Date: 2023-04-11 00:48+0000\n"
"POT-Creation-Date: 2023-04-13 00:49+0000\n"
"PO-Revision-Date: 2022-12-30 18:05+0900\n"
"Last-Translator: Kisaragi Hiu <mail@kisaragi-hiu.com>\n"
"Language-Team: Traditional Chinese <zh-l10n@linux.org.tw>\n"
@@ -222,311 +222,311 @@ msgstr ""
msgid "Image request has been cancelled"
msgstr ""
#: src/models/actionsmodel.cpp:24
#: src/models/actionsmodel.cpp:23
#, kde-format
msgid "Leaving this room."
msgstr ""
#: src/models/actionsmodel.cpp:31 src/models/actionsmodel.cpp:230
#: src/models/actionsmodel.cpp:257 src/models/actionsmodel.cpp:288
#: src/models/actionsmodel.cpp:30 src/models/actionsmodel.cpp:229
#: src/models/actionsmodel.cpp:256 src/models/actionsmodel.cpp:287
#, 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:38
#, kde-format
msgctxt "Leaving room <roomname>."
msgid "Leaving room %1."
msgstr ""
#: src/models/actionsmodel.cpp:42
#: src/models/actionsmodel.cpp:41
#, kde-format
msgctxt "Room <roomname> not found"
msgid "Room %1 not found."
msgstr ""
#: src/models/actionsmodel.cpp:50 src/models/actionsmodel.cpp:324
#: src/models/actionsmodel.cpp:49 src/models/actionsmodel.cpp:323
#, 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:64 src/models/actionsmodel.cpp:74
#: src/models/actionsmodel.cpp:84 src/models/actionsmodel.cpp:94
#: src/models/actionsmodel.cpp:114 src/models/actionsmodel.cpp:134
#: src/models/actionsmodel.cpp:145 src/models/actionsmodel.cpp:161
#: src/models/actionsmodel.cpp:171 src/models/actionsmodel.cpp:181
msgid "<message>"
msgstr ""
#: src/models/actionsmodel.cpp:66
#: src/models/actionsmodel.cpp:65
msgid "Prepends ¯\\_(ツ)_/¯ to a plain-text message"
msgstr ""
#: src/models/actionsmodel.cpp:76
#: src/models/actionsmodel.cpp:75
msgid "Prepends ( ͡° ͜ʖ ͡°) to a plain-text message"
msgstr ""
#: src/models/actionsmodel.cpp:86
#: src/models/actionsmodel.cpp:85
msgid "Prepends (╯°□°)╯︵ ┻━┻ to a plain-text message"
msgstr ""
#: src/models/actionsmodel.cpp:96
#: src/models/actionsmodel.cpp:95
msgid "Prepends ┬──┬ ( ゜-゜ノ) to a plain-text message"
msgstr ""
#: src/models/actionsmodel.cpp:116
#: src/models/actionsmodel.cpp:115
msgid "Sends the given message colored as a rainbow"
msgstr ""
#: src/models/actionsmodel.cpp:136
#: src/models/actionsmodel.cpp:135
msgid "Sends the given emote colored as a rainbow"
msgstr ""
#: src/models/actionsmodel.cpp:147
#: src/models/actionsmodel.cpp:146
msgid "Sends the given message as plain text"
msgstr ""
#: src/models/actionsmodel.cpp:163
#: src/models/actionsmodel.cpp:162
msgid "Sends the given message as a spoiler"
msgstr ""
#: src/models/actionsmodel.cpp:173
#: src/models/actionsmodel.cpp:172
msgid "Sends the given emote"
msgstr ""
#: src/models/actionsmodel.cpp:183
#: src/models/actionsmodel.cpp:182
msgid "Sends the given message as a notice"
msgstr ""
#: src/models/actionsmodel.cpp:192 src/models/actionsmodel.cpp:358
#: src/models/actionsmodel.cpp:386 src/models/actionsmodel.cpp:436
#: src/models/actionsmodel.cpp:473 src/models/actionsmodel.cpp:507
#: src/models/actionsmodel.cpp:191 src/models/actionsmodel.cpp:357
#: src/models/actionsmodel.cpp:385 src/models/actionsmodel.cpp:435
#: src/models/actionsmodel.cpp:472 src/models/actionsmodel.cpp:506
#, 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:198
#: src/models/actionsmodel.cpp:197
#, kde-format
msgctxt "<user> is already invited to this room."
msgid "%1 is already invited to this room."
msgstr ""
#: src/models/actionsmodel.cpp:202
#: src/models/actionsmodel.cpp:201
#, kde-format
msgctxt "<user> is banned from this room."
msgid "%1 is banned from this room."
msgstr ""
#: src/models/actionsmodel.cpp:207
#: src/models/actionsmodel.cpp:206
#, kde-format
msgid "You are already in this room."
msgstr ""
#: src/models/actionsmodel.cpp:211
#: 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:215
#: 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:220 src/models/actionsmodel.cpp:376
#: src/models/actionsmodel.cpp:404 src/models/actionsmodel.cpp:495
#: src/models/actionsmodel.cpp:219 src/models/actionsmodel.cpp:375
#: src/models/actionsmodel.cpp:403 src/models/actionsmodel.cpp:494
msgid "<user id>"
msgstr ""
#: src/models/actionsmodel.cpp:221
#: src/models/actionsmodel.cpp:220
msgid "Invites the user to this room"
msgstr ""
#: src/models/actionsmodel.cpp:238 src/models/actionsmodel.cpp:295
#: src/models/actionsmodel.cpp:237 src/models/actionsmodel.cpp:294
#, kde-format
msgctxt "Joining room <roomname>."
msgid "Joining room %1."
msgstr ""
#: src/models/actionsmodel.cpp:244 src/models/actionsmodel.cpp:301
#: src/models/actionsmodel.cpp:243 src/models/actionsmodel.cpp:300
msgid "<room alias or id>"
msgstr ""
#: src/models/actionsmodel.cpp:245 src/models/actionsmodel.cpp:302
#: src/models/actionsmodel.cpp:244 src/models/actionsmodel.cpp:301
msgid "Joins the given room"
msgstr ""
#: src/models/actionsmodel.cpp:265
#: src/models/actionsmodel.cpp:264
#, kde-format
msgctxt "Knocking room <roomname>."
msgid "Knocking room %1."
msgstr ""
#: src/models/actionsmodel.cpp:277
#: src/models/actionsmodel.cpp:276
msgid "<room alias or id> [<reason>]"
msgstr ""
#: src/models/actionsmodel.cpp:278
#: src/models/actionsmodel.cpp:277
msgid "Requests to join the given room"
msgstr ""
#: src/models/actionsmodel.cpp:292
#: src/models/actionsmodel.cpp:291
#, kde-format
msgctxt "You are already in room <roomname>."
msgid "You are already in room %1."
msgstr ""
#: src/models/actionsmodel.cpp:309 src/models/actionsmodel.cpp:317
#: src/models/actionsmodel.cpp:308 src/models/actionsmodel.cpp:316
msgid "[<room alias or id>]"
msgstr ""
#: src/models/actionsmodel.cpp:310 src/models/actionsmodel.cpp:318
#: src/models/actionsmodel.cpp:309 src/models/actionsmodel.cpp:317
msgid "Leaves the given room or this room, if there is none given"
msgstr ""
#: src/models/actionsmodel.cpp:332 src/models/actionsmodel.cpp:340
#: src/models/actionsmodel.cpp:348
#: src/models/actionsmodel.cpp:331 src/models/actionsmodel.cpp:339
#: src/models/actionsmodel.cpp:347
msgid "<display name>"
msgstr ""
#: src/models/actionsmodel.cpp:333
#: src/models/actionsmodel.cpp:332
msgid "Changes your global display name"
msgstr ""
#: src/models/actionsmodel.cpp:341 src/models/actionsmodel.cpp:349
#: src/models/actionsmodel.cpp:340 src/models/actionsmodel.cpp:348
msgid "Changes your display name in this room"
msgstr ""
#: src/models/actionsmodel.cpp:363
#: src/models/actionsmodel.cpp:362
#, kde-format
msgctxt "<username> is already ignored."
msgid "%1 is already ignored."
msgstr ""
#: src/models/actionsmodel.cpp:368
#: src/models/actionsmodel.cpp:367
#, kde-format
msgctxt "<username> is now ignored"
msgid "%1 is now ignored."
msgstr ""
#: src/models/actionsmodel.cpp:370 src/models/actionsmodel.cpp:398
#: src/models/actionsmodel.cpp:369 src/models/actionsmodel.cpp:397
#, kde-format
msgctxt "<username> is not a known user"
msgid "%1 is not a known user."
msgstr ""
#: src/models/actionsmodel.cpp:377
#: src/models/actionsmodel.cpp:376
msgid "Ignores the given user"
msgstr ""
#: src/models/actionsmodel.cpp:392
#: src/models/actionsmodel.cpp:391
#, kde-format
msgctxt "<username> is not ignored."
msgid "%1 is not ignored."
msgstr ""
#: src/models/actionsmodel.cpp:396
#: src/models/actionsmodel.cpp:395
#, kde-format
msgctxt "<username> is no longer ignored."
msgid "%1 is no longer ignored."
msgstr ""
#: src/models/actionsmodel.cpp:405
#: src/models/actionsmodel.cpp:404
msgid "Unignores the given user"
msgstr ""
#: src/models/actionsmodel.cpp:425
#: src/models/actionsmodel.cpp:424
msgid "<reaction text>"
msgstr ""
#: src/models/actionsmodel.cpp:426
#: src/models/actionsmodel.cpp:425
msgid "React to the message with the given text"
msgstr ""
#: src/models/actionsmodel.cpp:442
#: src/models/actionsmodel.cpp:441
#, kde-format
msgctxt "<user> is already banned from this room."
msgid "%1 is already banned from this room."
msgstr ""
#: src/models/actionsmodel.cpp:448
#: src/models/actionsmodel.cpp:447
#, kde-format
msgid "You are not allowed to ban users from this room."
msgstr ""
#: src/models/actionsmodel.cpp:454
#: src/models/actionsmodel.cpp:453
#, 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:458
#: src/models/actionsmodel.cpp:457
#, kde-format
msgctxt "<username> was banned from this room."
msgid "%1 was banned from this room."
msgstr ""
#: src/models/actionsmodel.cpp:463 src/models/actionsmodel.cpp:538
#: src/models/actionsmodel.cpp:462 src/models/actionsmodel.cpp:537
msgid "<user id> [<reason>]"
msgstr ""
#: src/models/actionsmodel.cpp:464
#: src/models/actionsmodel.cpp:463
msgid "Bans the given user"
msgstr ""
#: src/models/actionsmodel.cpp:478
#: src/models/actionsmodel.cpp:477
#, kde-format
msgid "You are not allowed to unban users from this room."
msgstr ""
#: src/models/actionsmodel.cpp:484
#: src/models/actionsmodel.cpp:483
#, kde-format
msgctxt "<user> is not banned from this room."
msgid "%1 is not banned from this room."
msgstr ""
#: src/models/actionsmodel.cpp:489
#: src/models/actionsmodel.cpp:488
#, kde-format
msgctxt "<username> was unbanned from this room."
msgid "%1 was unbanned from this room."
msgstr ""
#: src/models/actionsmodel.cpp:496
#: src/models/actionsmodel.cpp:495
msgid "Removes the ban of the given user"
msgstr ""
#: src/models/actionsmodel.cpp:511
#: src/models/actionsmodel.cpp:510
#, kde-format
msgid "You cannot kick yourself from the room."
msgstr ""
#: src/models/actionsmodel.cpp:516
#: src/models/actionsmodel.cpp:515
#, kde-format
msgctxt "<username> is not in this room"
msgid "%1 is not in this room."
msgstr ""
#: src/models/actionsmodel.cpp:523
#: src/models/actionsmodel.cpp:522
#, kde-format
msgid "You are not allowed to kick users from this room."
msgstr ""
#: src/models/actionsmodel.cpp:529
#: src/models/actionsmodel.cpp:528
#, 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:533
#: src/models/actionsmodel.cpp:532
#, kde-format
msgctxt "<username> was kicked from this room."
msgid "%1 was kicked from this room."
msgstr ""
#: src/models/actionsmodel.cpp:539
#: src/models/actionsmodel.cpp:538
msgid "Removes the user from the room"
msgstr ""
@@ -1807,45 +1807,45 @@ msgstr ""
msgid "Copy link"
msgstr ""
#: src/qml/main.qml:128
#: src/qml/main.qml:124
#, kde-format
msgid "Warning: %1"
msgstr ""
#: src/qml/main.qml:267
#: src/qml/main.qml:263
#, kde-format
msgid "%1: %2"
msgstr ""
#: src/qml/main.qml:308
#: src/qml/main.qml:304
#, kde-format
msgctxt "@title:window"
msgid "Session Verification"
msgstr ""
#: src/qml/main.qml:318
#: src/qml/main.qml:314
#, kde-format
msgid "User consent"
msgstr ""
#: src/qml/main.qml:323
#: src/qml/main.qml:319
#, 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:328
#: src/qml/main.qml:324
#, kde-format
msgid "Open"
msgstr ""
#: src/qml/main.qml:357
#: src/qml/main.qml:353
#, kde-format
msgid "Start a chat"
msgstr ""
#: src/qml/main.qml:359
#: src/qml/main.qml:355
#, kde-format
msgid "Do you want to start a chat with %1?"
msgstr ""
@@ -3763,32 +3763,32 @@ msgid ""
"There's no room %1 in the room list. Check the spelling and the account."
msgstr ""
#: src/roommanager.cpp:210
#: src/roommanager.cpp:208
#, kde-format
msgid "Failed to join room"
msgstr ""
#: src/roommanager.cpp:227
#: src/roommanager.cpp:225
#, kde-format
msgid "You requested to join '%1'"
msgstr ""
#: src/roommanager.cpp:230
#: src/roommanager.cpp:228
#, kde-format
msgid "Failed to request joining room"
msgstr ""
#: src/roommanager.cpp:240
#: src/roommanager.cpp:238
#, kde-format
msgid "No application for the link"
msgstr ""
#: src/roommanager.cpp:240
#: src/roommanager.cpp:238
#, kde-format
msgid "Your operating system could not find an application for the link."
msgstr ""
#: src/roommanager.cpp:246
#: src/roommanager.cpp:244
#, kde-format
msgid "Could not open URL"
msgstr ""

View File

@@ -30,6 +30,7 @@ add_library(neochat STATIC
models/devicesmodel.cpp
filetypesingleton.cpp
login.cpp
stickerevent.cpp
models/webshortcutmodel.cpp
blurhash.cpp
blurhashimageprovider.cpp
@@ -46,12 +47,8 @@ add_library(neochat STATIC
filetransferpseudojob.cpp
models/searchmodel.cpp
texthandler.cpp
pollevent.cpp
pollhandler.cpp
)
target_compile_definitions(neochat PUBLIC "-DQT_NO_KEYWORDS")
add_executable(neochat-app
main.cpp
res.qrc
@@ -63,6 +60,14 @@ target_link_libraries(neochat-app PRIVATE
neochat
)
if(Quotient_VERSION_MINOR GREATER 6)
target_compile_definitions(neochat PUBLIC QUOTIENT_07)
target_sources(neochat PRIVATE pollevent.cpp pollhandler.cpp)
else()
target_compile_definitions(neochat PUBLIC QUOTIENT_VERSION=\"${Quotient_VERSION}\")
target_sources(neochat PRIVATE neochataccountregistry.cpp)
endif()
ecm_add_app_icon(NEOCHAT_ICON ICONS ${CMAKE_SOURCE_DIR}/128-logo.png)
target_sources(neochat-app PRIVATE ${NEOCHAT_ICON})
@@ -90,7 +95,6 @@ endif()
target_include_directories(neochat PRIVATE ${CMAKE_BINARY_DIR})
target_link_libraries(neochat PUBLIC Qt::Core Qt::Quick Qt::Qml Qt::Gui Qt::Multimedia Qt::Network Qt::QuickControls2 KF${QT_MAJOR_VERSION}::I18n KF${QT_MAJOR_VERSION}::Kirigami2 KF${QT_MAJOR_VERSION}::Notifications KF${QT_MAJOR_VERSION}::ConfigCore KF${QT_MAJOR_VERSION}::ConfigGui KF${QT_MAJOR_VERSION}::CoreAddons KF${QT_MAJOR_VERSION}::SonnetCore KF${QT_MAJOR_VERSION}::ItemModels Quotient cmark::cmark ${QTKEYCHAIN_LIBRARIES} QCoro::Core)
kconfig_add_kcfg_files(neochat GENERATE_MOC neochatconfig.kcfgc)
if(NEOCHAT_FLATPAK)

View File

@@ -31,7 +31,11 @@
#include <signal.h>
#include <accountregistry.h>
#ifdef QUOTIENT_07
#include "accountregistry.h"
#else
#include "neochataccountregistry.h"
#endif
#include <connection.h>
#include <csapi/content-repo.h>
@@ -39,8 +43,11 @@
#include <csapi/profile.h>
#include <jobs/downloadfilejob.h>
#include <qt_connection_util.h>
#ifdef QUOTIENT_07
#include <csapi/notifications.h>
#include <eventstats.h>
#endif
#include "neochatconfig.h"
#include "neochatroom.h"
@@ -49,8 +56,6 @@
#include "roommanager.h"
#include "windowcontroller.h"
#include <accountregistry.h>
#if defined(Q_OS_WIN) || defined(Q_OS_MAC)
#include "trayicon.h"
#elif !defined(Q_OS_ANDROID)
@@ -88,28 +93,10 @@ Controller::Controller(QObject *parent)
});
#endif
connectUntil(&Accounts, &AccountRegistry::rowsInserted, this, [this]() {
if (auto *connection = Accounts.get(NeoChatConfig::self()->activeConnection())) {
connectSingleShot(connection, &Connection::loadedRoomState, this, [this, connection]() {
setActiveConnection(connection);
});
return true;
}
return false;
QTimer::singleShot(0, this, [this] {
invokeLogin();
});
connect(&Accounts, &AccountRegistry::rowsRemoved, this, [this]() {
if (!Accounts.isLoggedIn(NeoChatConfig::self()->activeConnection())) {
if (Accounts.size() > 0) {
setActiveConnection(Accounts.accounts().at(0));
} else {
setActiveConnection(nullptr);
}
}
});
QMetaObject::invokeMethod(&Accounts, &AccountRegistry::invokeLogin);
QObject::connect(QGuiApplication::instance(), &QCoreApplication::aboutToQuit, QGuiApplication::instance(), [] {
NeoChatConfig::self()->save();
});
@@ -138,29 +125,23 @@ Controller::Controller(QObject *parent)
}
#endif
connect(&Accounts, &AccountRegistry::accountCountChanged, this, &Controller::activeConnectionIndexChanged);
connect(&AccountRegistry::instance(), &AccountRegistry::accountCountChanged, this, &Controller::activeConnectionIndexChanged);
#ifdef QUOTIENT_07
static int oldAccountCount = 0;
connect(&Accounts, &AccountRegistry::accountCountChanged, this, [this]() {
if (Accounts.size() > oldAccountCount) {
auto connection = Accounts.accounts()[Accounts.size() - 1];
connect(connection, &Connection::syncDone, this, [this, connection]() {
bool changes = false;
for (const auto &room : connection->allRooms()) {
if (m_notificationCounts[room] != room->unreadStats().notableCount) {
m_notificationCounts[room] = room->unreadStats().notableCount;
changes = true;
}
}
if (changes) {
handleNotifications(connection);
}
connect(&AccountRegistry::instance(), &AccountRegistry::accountCountChanged, this, [=]() {
if (AccountRegistry::instance().size() > oldAccountCount) {
auto connection = AccountRegistry::instance().accounts()[AccountRegistry::instance().size() - 1];
connect(connection, &Connection::syncDone, this, [=]() {
handleNotifications(connection);
});
}
oldAccountCount = Accounts.size();
oldAccountCount = AccountRegistry::instance().size();
});
#endif
}
#ifdef QUOTIENT_07
void Controller::handleNotifications(QPointer<Quotient::Connection> connection)
{
static QStringList initial;
@@ -234,6 +215,7 @@ void Controller::handleNotifications(QPointer<Quotient::Connection> connection)
}
});
}
#endif
Controller &Controller::instance()
{
@@ -246,10 +228,239 @@ void Controller::showWindow()
WindowController::instance().showAndRaiseWindow(QString());
}
void Controller::loginWithAccessToken(const QString &serverAddr, const QString &user, const QString &token, const QString &deviceName)
{
if (user.isEmpty() || token.isEmpty()) {
return;
}
QUrl serverUrl(serverAddr);
auto conn = new Connection();
if (serverUrl.isValid()) {
conn->setHomeserver(serverUrl);
}
connect(conn, &Connection::connected, this, [this, conn, deviceName] {
AccountSettings account(conn->userId());
account.setKeepLoggedIn(true);
account.setHomeserver(conn->homeserver());
account.setDeviceId(conn->deviceId());
account.setDeviceName(deviceName);
if (!saveAccessTokenToKeyChain(account, conn->accessToken())) {
qWarning() << "Couldn't save access token";
}
account.sync();
addConnection(conn);
setActiveConnection(conn);
});
connect(conn, &Connection::networkError, this, [this](QString error, const QString &, int, int) {
Q_EMIT errorOccured(i18n("Network Error: %1", error));
});
conn->assumeIdentity(user, token, deviceName);
}
void Controller::logout(Connection *conn, bool serverSideLogout)
{
if (!conn) {
qCritical() << "Attempt to logout null connection";
return;
}
SettingsGroup("Accounts").remove(conn->userId());
QKeychain::DeletePasswordJob job(qAppName());
job.setAutoDelete(true);
job.setKey(conn->userId());
QEventLoop loop;
QKeychain::DeletePasswordJob::connect(&job, &QKeychain::Job::finished, &loop, &QEventLoop::quit);
job.start();
loop.exec();
if (AccountRegistry::instance().count() > 1) {
// Only set the connection if the the account being logged out is currently active
if (conn == activeConnection()) {
setActiveConnection(AccountRegistry::instance().accounts()[0]);
}
} else {
setActiveConnection(nullptr);
}
if (!serverSideLogout) {
return;
}
conn->logout();
}
void Controller::addConnection(Connection *c)
{
Q_ASSERT_X(c, __FUNCTION__, "Attempt to add a null connection");
#ifndef QUOTIENT_07
AccountRegistry::instance().add(c);
#endif
c->setLazyLoading(true);
connect(c, &Connection::syncDone, this, [this, c] {
setBusy(false);
Q_EMIT syncDone();
c->sync(30000);
c->saveState();
});
connect(c, &Connection::loggedOut, this, [this, c] {
dropConnection(c);
});
connect(c, &Connection::requestFailed, this, [this](BaseJob *job) {
if (job->error() == BaseJob::UserConsentRequiredError) {
Q_EMIT userConsentRequired(job->errorUrl());
}
});
setBusy(true);
c->sync();
Q_EMIT connectionAdded(c);
Q_EMIT accountCountChanged();
}
void Controller::dropConnection(Connection *c)
{
Q_ASSERT_X(c, __FUNCTION__, "Attempt to drop a null connection");
#ifndef QUOTIENT_07
AccountRegistry::instance().drop(c);
#endif
Q_EMIT connectionDropped(c);
Q_EMIT accountCountChanged();
#ifndef QUOTIENT_07
c->deleteLater();
#endif
}
void Controller::invokeLogin()
{
const auto accounts = SettingsGroup("Accounts").childGroups();
QString id = NeoChatConfig::self()->activeConnection();
for (const auto &accountId : accounts) {
AccountSettings account{accountId};
if (id.isEmpty()) {
// handle case where the account config is empty
id = accountId;
}
if (!account.homeserver().isEmpty()) {
auto accessTokenLoadingJob = loadAccessTokenFromKeyChain(account);
connect(accessTokenLoadingJob, &QKeychain::Job::finished, this, [accountId, id, this, accessTokenLoadingJob](QKeychain::Job *) {
AccountSettings account{accountId};
QString accessToken;
if (accessTokenLoadingJob->error() == QKeychain::Error::NoError) {
accessToken = accessTokenLoadingJob->binaryData();
} else {
return;
}
auto connection = new Connection(account.homeserver());
connect(connection, &Connection::connected, this, [this, connection, id] {
connection->loadState();
addConnection(connection);
if (connection->userId() == id) {
setActiveConnection(connection);
connectSingleShot(connection, &Connection::syncDone, this, &Controller::initiated);
}
});
connect(connection, &Connection::loginError, this, [this, connection](const QString &error, const QString &) {
if (error == "Unrecognised access token") {
Q_EMIT errorOccured(i18n("Login Failed: Access Token invalid or revoked"));
logout(connection, false);
} else if (error == "Connection closed") {
Q_EMIT errorOccured(i18n("Login Failed: %1", error));
// Failed due to network connection issue. This might happen when the homeserver is
// temporary down, or the user trying to re-launch NeoChat in a network that cannot
// connect to the homeserver. In this case, we don't want to do logout().
} else {
Q_EMIT errorOccured(i18n("Login Failed: %1", error));
logout(connection, true);
}
Q_EMIT initiated();
});
connect(connection, &Connection::networkError, this, [this](const QString &error, const QString &, int, int) {
Q_EMIT errorOccured(i18n("Network Error: %1", error));
});
connection->assumeIdentity(account.userId(), accessToken, account.deviceId());
});
}
}
if (accounts.isEmpty()) {
Q_EMIT initiated();
}
}
QKeychain::ReadPasswordJob *Controller::loadAccessTokenFromKeyChain(const AccountSettings &account)
{
qDebug() << "Reading access token from the keychain for" << account.userId();
auto job = new QKeychain::ReadPasswordJob(qAppName(), this);
job->setKey(account.userId());
// Handling of errors
connect(job, &QKeychain::Job::finished, this, [this, &account, job]() {
if (job->error() == QKeychain::Error::NoError) {
return;
}
switch (job->error()) {
case QKeychain::EntryNotFound:
Q_EMIT globalErrorOccured(i18n("Access token wasn't found"), i18n("Maybe it was deleted?"));
break;
case QKeychain::AccessDeniedByUser:
case QKeychain::AccessDenied:
Q_EMIT globalErrorOccured(i18n("Access to keychain was denied."), i18n("Please allow NeoChat to read the access token"));
break;
case QKeychain::NoBackendAvailable:
Q_EMIT globalErrorOccured(i18n("No keychain available."), i18n("Please install a keychain, e.g. KWallet or GNOME keyring on Linux"));
break;
case QKeychain::OtherError:
Q_EMIT globalErrorOccured(i18n("Unable to read access token"), job->errorString());
break;
default:
break;
}
});
job->start();
return job;
}
bool Controller::saveAccessTokenToKeyChain(const AccountSettings &account, const QByteArray &accessToken)
{
qDebug() << "Save the access token to the keychain for " << account.userId();
QKeychain::WritePasswordJob job(qAppName());
job.setAutoDelete(false);
job.setKey(account.userId());
job.setBinaryData(accessToken);
QEventLoop loop;
QKeychain::WritePasswordJob::connect(&job, &QKeychain::Job::finished, &loop, &QEventLoop::quit);
job.start();
loop.exec();
if (job.error()) {
qWarning() << "Could not save access token to the keychain: " << qPrintable(job.errorString());
return false;
}
return true;
}
void Controller::changeAvatar(Connection *conn, const QUrl &localFile)
{
auto job = conn->uploadFile(localFile.toLocalFile());
#ifdef QUOTIENT_07
if (isJobPending(job)) {
#else
if (isJobRunning(job)) {
#endif
connect(job, &BaseJob::success, this, [conn, job] {
conn->callApi<SetAvatarUrlJob>(conn->userId(), job->contentUri());
});
@@ -276,7 +487,7 @@ bool Controller::supportSystemTray() const
void Controller::changePassword(Connection *connection, const QString &currentPassword, const QString &newPassword)
{
auto *job = connection->callApi<NeochatChangePasswordJob>(newPassword, false);
NeochatChangePasswordJob *job = connection->callApi<NeochatChangePasswordJob>(newPassword, false);
connect(job, &BaseJob::result, this, [this, job, currentPassword, newPassword, connection] {
if (job->error() == 103) {
QJsonObject replyData = job->jsonData();
@@ -287,7 +498,7 @@ void Controller::changePassword(Connection *connection, const QString &currentPa
authData["user"] = connection->user()->id();
QJsonObject identifier = {{"type", "m.id.user"}, {"user", connection->user()->id()}};
authData["identifier"] = identifier;
auto *innerJob = connection->callApi<NeochatChangePasswordJob>(newPassword, false, authData);
NeochatChangePasswordJob *innerJob = connection->callApi<NeochatChangePasswordJob>(newPassword, false, authData);
connect(innerJob, &BaseJob::success, this, [this]() {
Q_EMIT passwordStatus(PasswordStatus::Success);
});
@@ -307,7 +518,11 @@ bool Controller::setAvatar(Connection *connection, const QUrl &avatarSource)
User *localUser = connection->user();
QString decoded = avatarSource.path();
if (decoded.isEmpty()) {
#ifdef QUOTIENT_07
connection->callApi<SetAvatarUrlJob>(localUser->id(), avatarSource);
#else
connection->callApi<SetAvatarUrlJob>(localUser->id(), QString());
#endif
return true;
}
if (QImageReader(decoded).read().isNull()) {
@@ -318,7 +533,11 @@ bool Controller::setAvatar(Connection *connection, const QUrl &avatarSource)
}
NeochatChangePasswordJob::NeochatChangePasswordJob(const QString &newPassword, bool logoutDevices, const Omittable<QJsonObject> &auth)
#ifdef QUOTIENT_07
: BaseJob(HttpVerb::Post, QStringLiteral("ChangePasswordJob"), "/_matrix/client/r0/account/password")
#else
: BaseJob(HttpVerb::Post, QStringLiteral("ChangePasswordJob"), QStringLiteral("/_matrix/client/r0/account/password"))
#endif
{
QJsonObject _data;
addParam<>(_data, QStringLiteral("new_password"), newPassword);
@@ -327,12 +546,9 @@ NeochatChangePasswordJob::NeochatChangePasswordJob(const QString &newPassword, b
setRequestData(_data);
}
NeochatDeleteDeviceJob::NeochatDeleteDeviceJob(const QString &deviceId, const Omittable<QJsonObject> &auth)
: Quotient::BaseJob(HttpVerb::Delete, QStringLiteral("DeleteDeviceJob"), QStringLiteral("/matrix/client/r0/devices/%1").arg(deviceId).toLatin1())
int Controller::accountCount() const
{
QJsonObject _data;
addParam<IfNotEmpty>(_data, QStringLiteral("auth"), auth);
setRequestData(std::move(_data));
return AccountRegistry::instance().count();
}
bool Controller::quitOnLastWindowClosed()
@@ -413,6 +629,18 @@ void Controller::saveWindowGeometry()
WindowController::instance().saveGeometry();
}
NeochatDeleteDeviceJob::NeochatDeleteDeviceJob(const QString &deviceId, const Omittable<QJsonObject> &auth)
#ifdef QUOTIENT_07
: Quotient::BaseJob(HttpVerb::Delete, QStringLiteral("DeleteDeviceJob"), QStringLiteral("/_matrix/client/r0/devices/%1").arg(deviceId).toLatin1())
#else
: Quotient::BaseJob(HttpVerb::Delete, QStringLiteral("DeleteDeviceJob"), QStringLiteral("/_matrix/client/r0/devices/%1").arg(deviceId))
#endif
{
QJsonObject _data;
addParam<IfNotEmpty>(_data, QStringLiteral("auth"), auth);
setRequestData(std::move(_data));
}
void Controller::createRoom(const QString &name, const QString &topic)
{
auto createRoomJob = m_connection->createRoom(Connection::PublishRoom, "", name, topic, QStringList());
@@ -423,7 +651,7 @@ void Controller::createRoom(const QString &name, const QString &topic)
this,
&Controller::roomAdded,
this,
[](NeoChatRoom *room) {
[this](NeoChatRoom *room) {
RoomManager::instance().enterRoom(room);
},
Qt::QueuedConnection);
@@ -503,7 +731,11 @@ QString Controller::plainText(QQuickTextDocument *document) const
bool Controller::encryptionSupported() const
{
#ifdef QUOTIENT_07
return Quotient::encryptionSupported();
#else
return false;
#endif
}
void Controller::forceRefreshTextDocument(QQuickTextDocument *textDocument, QQuickItem *item)
@@ -544,10 +776,29 @@ void Controller::setApplicationProxy()
int Controller::activeConnectionIndex() const
{
#ifdef QUOTIENT_07
auto result = std::find_if(Accounts.accounts().begin(), Accounts.accounts().end(), [this](const auto &it) {
return it == m_connection;
});
return result - Accounts.accounts().begin();
#else
for (int i = 0; i < AccountRegistry::instance().rowCount(); i++) {
if (AccountRegistry::instance().data(AccountRegistry::instance().index(i, 0), AccountRegistry::UserIdRole).toString() == m_connection->userId()) {
return i;
}
}
return 0;
#endif
}
int Controller::quotientMinorVersion() const
{
// TODO libQuotient 0.7: Replace with version function from libQuotient
#ifdef QUOTIENT_07
return 7;
#else
return 6;
#endif
}
bool Controller::isFlatpak() const

View File

@@ -23,9 +23,15 @@ class Connection;
class Room;
}
namespace QKeychain
{
class ReadPasswordJob;
}
class Controller : public QObject
{
Q_OBJECT
Q_PROPERTY(int accountCount READ accountCount NOTIFY accountCountChanged)
Q_PROPERTY(bool quitOnLastWindowClosed READ quitOnLastWindowClosed WRITE setQuitOnLastWindowClosed NOTIFY quitOnLastWindowClosedChanged)
Q_PROPERTY(Quotient::Connection *activeConnection READ activeConnection WRITE setActiveConnection NOTIFY activeConnectionChanged)
Q_PROPERTY(bool busy READ busy WRITE setBusy NOTIFY busyChanged)
@@ -34,6 +40,7 @@ class Controller : public QObject
Q_PROPERTY(bool isOnline READ isOnline NOTIFY isOnlineChanged)
Q_PROPERTY(bool encryptionSupported READ encryptionSupported CONSTANT)
Q_PROPERTY(int activeConnectionIndex READ activeConnectionIndex NOTIFY activeConnectionIndexChanged)
Q_PROPERTY(int quotientMinorVersion READ quotientMinorVersion CONSTANT)
Q_PROPERTY(bool isFlatpak READ isFlatpak CONSTANT)
public:
@@ -42,10 +49,17 @@ public:
void setActiveConnection(Quotient::Connection *connection);
[[nodiscard]] Quotient::Connection *activeConnection() const;
void addConnection(Quotient::Connection *c);
void dropConnection(Quotient::Connection *c);
Q_INVOKABLE void loginWithAccessToken(const QString &, const QString &, const QString &, const QString &);
Q_INVOKABLE void changePassword(Quotient::Connection *connection, const QString &currentPassword, const QString &newPassword);
Q_INVOKABLE bool setAvatar(Quotient::Connection *connection, const QUrl &avatarSource);
[[nodiscard]] int accountCount() const;
[[nodiscard]] static bool quitOnLastWindowClosed();
void setQuitOnLastWindowClosed(bool value);
@@ -54,6 +68,8 @@ public:
[[nodiscard]] bool supportSystemTray() const;
bool saveAccessTokenToKeyChain(const Quotient::AccountSettings &account, const QByteArray &accessToken);
int activeConnectionIndex() const;
enum PasswordStatus {
@@ -84,6 +100,7 @@ public:
Q_INVOKABLE void setApplicationProxy();
int quotientMinorVersion() const;
bool isFlatpak() const;
private:
@@ -93,15 +110,20 @@ private:
bool m_busy = false;
TrayIcon *m_trayIcon = nullptr;
QKeychain::ReadPasswordJob *loadAccessTokenFromKeyChain(const Quotient::AccountSettings &account);
void loadSettings();
void saveSettings() const;
bool m_isOnline = true;
QMap<Quotient::Room *, int> m_notificationCounts;
bool hasWindowSystem() const;
#ifdef QUOTIENT_07
void handleNotifications(QPointer<Quotient::Connection> connection);
#endif
private Q_SLOTS:
void invokeLogin();
void showWindow();
Q_SIGNALS:
@@ -114,6 +136,7 @@ Q_SIGNALS:
void syncDone();
void connectionAdded(Quotient::Connection *_t1);
void connectionDropped(Quotient::Connection *_t1);
void accountCountChanged();
void initiated();
void notificationClicked(const QString &_t1, const QString &_t2);
void quitOnLastWindowClosedChanged();
@@ -131,12 +154,13 @@ Q_SIGNALS:
void roomAdded(NeoChatRoom *room);
public Q_SLOTS:
void logout(Quotient::Connection *conn, bool serverSideLogout);
void changeAvatar(Quotient::Connection *conn, const QUrl &localFile);
static void markAllMessagesAsRead(Quotient::Connection *conn);
void saveWindowGeometry();
};
// TODO libQuotient 0.?: Drop
// TODO libQuotient 0.7: Drop
class NeochatChangePasswordJob : public Quotient::BaseJob
{
public:

View File

@@ -25,7 +25,6 @@ void FileTransferPseudoJob::fileTransferProgress(QString id, qint64 progress, qi
void FileTransferPseudoJob::fileTransferCompleted(QString id, QUrl localFile)
{
Q_UNUSED(localFile);
if (id != m_eventId) {
return;
}

View File

@@ -7,17 +7,30 @@
namespace Quotient
{
#ifdef QUOTIENT_07
class JoinRulesEvent : public StateEvent
#else
class JoinRulesEvent : public StateEventBase
#endif
{
public:
#ifdef QUOTIENT_07
QUO_EVENT(JoinRulesEvent, "m.room.join_rules")
#else
DEFINE_EVENT_TYPEID("m.room.join_rules", JoinRulesEvent)
#endif
explicit JoinRulesEvent(const QJsonObject &obj)
#ifdef QUOTIENT_07
: StateEvent(obj)
#else
: StateEventBase(typeId(), obj)
#endif
{
}
QString joinRule() const;
QJsonArray allow() const;
};
REGISTER_EVENT_TYPE(JoinRulesEvent)
}

View File

@@ -3,13 +3,16 @@
#include "login.h"
#ifdef QUOTIENT_07
#include <accountregistry.h>
#else
#include "neochataccountregistry.h"
#endif
#include <connection.h>
#include <qt_connection_util.h>
#include "controller.h"
#include "neochatroom.h"
#include <KLocalizedString>
@@ -40,7 +43,7 @@ void Login::init()
return;
}
m_isLoggedIn = Accounts.isLoggedIn(m_matrixId);
m_isLoggedIn = AccountRegistry::instance().isLoggedIn(m_matrixId);
Q_EMIT isLoggedInChanged();
if (m_isLoggedIn) {
return;
@@ -71,7 +74,11 @@ void Login::init()
account.setHomeserver(m_connection->homeserver());
account.setDeviceId(m_connection->deviceId());
account.setDeviceName(m_deviceName);
if (!Controller::instance().saveAccessTokenToKeyChain(account, m_connection->accessToken())) {
qWarning() << "Couldn't save access token";
}
account.sync();
Controller::instance().addConnection(m_connection);
Controller::instance().setActiveConnection(m_connection);
m_connection = nullptr;
});
@@ -90,9 +97,8 @@ void Login::init()
Q_EMIT Controller::instance().globalErrorOccured(i18n("Network Error"), std::move(error));
});
connectSingleShot(m_connection, &Connection::loadedRoomState, this, [this]() {
Controller::instance().setActiveConnection(m_connection);
// TODO close settings window
connectSingleShot(m_connection, &Connection::syncDone, this, [this]() {
Q_EMIT Controller::instance().initiated();
});
}

View File

@@ -28,14 +28,15 @@
#include "neochat-version.h"
#ifdef QUOTIENT_07
#include <accountregistry.h>
#else
#include "neochataccountregistry.h"
#endif
#include <networkaccessmanager.h>
#include <room.h>
#include <util.h>
#include <keyverificationsession.h>
#include <accountregistry.h>
#include <room.h>
#include <networkaccessmanager.h>
#include "actionshandler.h"
#include "blurhashimageprovider.h"
@@ -67,11 +68,16 @@
#include "neochatroom.h"
#include "neochatuser.h"
#include "notificationsmanager.h"
#ifdef QUOTIENT_07
#include "pollhandler.h"
#endif
#include "roommanager.h"
#include "spacehierarchycache.h"
#include "urlhelper.h"
#include "windowcontroller.h"
#ifdef QUOTIENT_07
#include <keyverificationsession.h>
#endif
#ifdef HAVE_COLORSCHEME
#include "colorschemer.h"
#endif
@@ -79,7 +85,6 @@
#include "models/statemodel.h"
#include "neochatuser.h"
#ifdef HAVE_RUNNER
#include "runner.h"
#include <QDBusConnection>
@@ -160,10 +165,14 @@ int main(int argc, char *argv[])
about.addComponent(QStringLiteral("libQuotient"),
i18n("A Qt5 library to write cross-platform clients for Matrix"),
#ifdef QUOTIENT_07
i18nc("<version number> (built against <possibly different version number>)",
"%1 (built against %2)",
Quotient::versionString(),
QStringLiteral(Quotient_VERSION_STRING)),
#else
QStringLiteral(QUOTIENT_VERSION),
#endif
QStringLiteral("https://github.com/quotient-im/libquotient"),
KAboutLicense::LGPL_V2_1);
@@ -200,8 +209,11 @@ int main(int argc, char *argv[])
qmlRegisterSingletonInstance("org.kde.neochat", 1, 0, "LoginHelper", login);
qmlRegisterSingletonInstance("org.kde.neochat", 1, 0, "UrlHelper", &urlHelper);
qmlRegisterSingletonInstance("org.kde.neochat", 1, 0, "EmojiModel", &EmojiModel::instance());
qmlRegisterSingletonInstance("org.kde.neochat", 1, 0, "Accounts", &Quotient::Accounts);
qmlRegisterSingletonInstance("org.kde.neochat", 1, 0, "Accounts", &Quotient::Accounts);
#ifdef QUOTIENT_07
qmlRegisterSingletonInstance("org.kde.neochat", 1, 0, "AccountRegistry", &Quotient::Accounts);
#else
qmlRegisterSingletonInstance("org.kde.neochat", 1, 0, "AccountRegistry", &Quotient::AccountRegistry::instance());
#endif
qmlRegisterSingletonInstance("org.kde.neochat", 1, 0, "SpaceHierarchyCache", &SpaceHierarchyCache::instance());
qmlRegisterSingletonInstance("org.kde.neochat", 1, 0, "CustomEmojiModel", &CustomEmojiModel::instance());
qmlRegisterType<ActionsHandler>("org.kde.neochat", 1, 0, "ActionsHandler");
@@ -223,7 +235,9 @@ int main(int argc, char *argv[])
qmlRegisterType<CompletionModel>("org.kde.neochat", 1, 0, "CompletionModel");
qmlRegisterType<StateModel>("org.kde.neochat", 1, 0, "StateModel");
qmlRegisterType<SearchModel>("org.kde.neochat", 1, 0, "SearchModel");
#ifdef QUOTIENT_07
qmlRegisterType<PollHandler>("org.kde.neochat", 1, 0, "PollHandler");
#endif
qmlRegisterType<KeywordNotificationRuleModel>("org.kde.neochat", 1, 0, "KeywordNotificationRuleModel");
qmlRegisterUncreatableType<RoomMessageEvent>("org.kde.neochat", 1, 0, "RoomMessageEvent", "ENUM");
qmlRegisterUncreatableType<PushNotificationState>("org.kde.neochat", 1, 0, "PushNotificationState", "ENUM");
@@ -242,10 +256,12 @@ int main(int argc, char *argv[])
qRegisterMetaType<NeoChatUser *>("NeoChatUser*");
qRegisterMetaType<GetRoomEventsJob *>("GetRoomEventsJob*");
qRegisterMetaType<QMimeType>("QMimeType");
#ifdef QUOTIENT_07
#ifdef Quotient_E2EE_ENABLED
qRegisterMetaType<KeyVerificationSession *>("KeyVerificationSession*");
qmlRegisterUncreatableType<KeyVerificationSession>("org.kde.neochat", 1, 0, "KeyVerificationSession", {});
qRegisterMetaType<QVector<EmojiEntry>>("QVector<EmojiEntry>");
#endif
#endif
qmlRegisterSingletonType("org.kde.neochat", 1, 0, "About", [](QQmlEngine *engine, QJSEngine *) -> QJSValue {
return engine->toScriptValue(KAboutData::applicationData());

View File

@@ -5,7 +5,6 @@
#include "controller.h"
#include "neochatroom.h"
#include "neochatuser.h"
#include "roommanager.h"
#include <events/roommemberevent.h>
#include <events/roompowerlevelsevent.h>
@@ -192,6 +191,7 @@ QVector<ActionsModel::Action> actions{
Q_EMIT room->showMessage(NeoChatRoom::Error, i18nc("'<text>' does not look like a matrix id.", "'%1' does not look like a matrix id.", text));
return QString();
}
#ifdef QUOTIENT_07
const RoomMemberEvent *roomMemberEvent = room->currentState().get<RoomMemberEvent>(text);
if (roomMemberEvent && roomMemberEvent->membership() == Membership::Invite) {
Q_EMIT room->showMessage(NeoChatRoom::Info, i18nc("<user> is already invited to this room.", "%1 is already invited to this room.", text));
@@ -201,6 +201,7 @@ QVector<ActionsModel::Action> actions{
Q_EMIT room->showMessage(NeoChatRoom::Info, i18nc("<user> is banned from this room.", "%1 is banned from this room.", text));
return QString();
}
#endif
if (room->localUser()->id() == text) {
Q_EMIT room->showMessage(NeoChatRoom::Positive, i18n("You are already in this room."));
return QString();
@@ -242,6 +243,7 @@ QVector<ActionsModel::Action> actions{
kli18n("<room alias or id>"),
kli18n("Joins the given room"),
},
#ifdef QUOTIENT_07
Action{
QStringLiteral("knock"),
[](const QString &text, NeoChatRoom *room) {
@@ -274,6 +276,7 @@ QVector<ActionsModel::Action> actions{
kli18n("<room alias or id> [<reason>]"),
kli18n("Requests to join the given room"),
},
#endif
Action{
QStringLiteral("j"),
[](const QString &text, NeoChatRoom *room) {
@@ -432,12 +435,14 @@ QVector<ActionsModel::Action> actions{
Q_EMIT room->showMessage(NeoChatRoom::Error, i18nc("'<text>' does not look like a matrix id.", "'%1' does not look like a matrix id.", text));
return QString();
}
#ifdef QUOTIENT_07
auto state = room->currentState().get<RoomMemberEvent>(parts[0]);
if (state && state->membership() == Membership::Ban) {
Q_EMIT room->showMessage(NeoChatRoom::Info, i18nc("<user> is already banned from this room.", "%1 is already banned from this room.", text));
return QString();
}
auto plEvent = room->currentState().get<RoomPowerLevelsEvent>();
#endif
auto plEvent = room->getCurrentState<RoomPowerLevelsEvent>();
if (plEvent->ban() > plEvent->powerLevelForUser(room->localUser()->id())) {
Q_EMIT room->showMessage(NeoChatRoom::Error, i18n("You are not allowed to ban users from this room."));
return QString();
@@ -467,16 +472,18 @@ QVector<ActionsModel::Action> actions{
Q_EMIT room->showMessage(NeoChatRoom::Error, i18nc("'<text>' does not look like a matrix id.", "'%1' does not look like a matrix id.", text));
return QString();
}
auto plEvent = room->currentState().get<RoomPowerLevelsEvent>();
auto plEvent = room->getCurrentState<RoomPowerLevelsEvent>();
if (plEvent->ban() > plEvent->powerLevelForUser(room->localUser()->id())) {
Q_EMIT room->showMessage(NeoChatRoom::Error, i18n("You are not allowed to unban users from this room."));
return QString();
}
#ifdef QUOTIENT_07
auto state = room->currentState().get<RoomMemberEvent>(text);
if (state && state->membership() != Membership::Ban) {
Q_EMIT room->showMessage(NeoChatRoom::Info, i18nc("<user> is not banned from this room.", "%1 is not banned from this room.", text));
return QString();
}
#endif
room->unban(text);
Q_EMIT room->showMessage(NeoChatRoom::Positive, i18nc("<username> was unbanned from this room.", "%1 was unbanned from this room.", text));
@@ -503,11 +510,13 @@ QVector<ActionsModel::Action> actions{
Q_EMIT room->showMessage(NeoChatRoom::Error, i18n("You cannot kick yourself from the room."));
return QString();
}
#ifdef QUOTIENT_07
if (!room->isMember(parts[0])) {
Q_EMIT room->showMessage(NeoChatRoom::Error, i18nc("<username> is not in this room", "%1 is not in this room.", parts[0]));
return QString();
}
auto plEvent = room->currentState().get<RoomPowerLevelsEvent>();
#endif
auto plEvent = room->getCurrentState<RoomPowerLevelsEvent>();
auto kick = plEvent->kick();
if (plEvent->powerLevelForUser(room->localUser()->id()) < kick) {
Q_EMIT room->showMessage(NeoChatRoom::Error, i18n("You are not allowed to kick users from this room."));

View File

@@ -9,20 +9,42 @@
class NeoChatRoom;
/**
* @class ActionsModel
*
* This class defines a model for chat actions.
*
* @note A chat action is a message starting with /, resulting in something other
* than a normal message being sent (e.g. /me, /join).
*/
class ActionsModel : public QAbstractListModel
{
public:
/**
* @brief Definition of an action.
*/
struct Action {
// The prefix, without '/' and space after the word
QString prefix;
QString prefix; /**< The prefix, without '/' and space after the word. */
/**
* @brief The function to execute when the action is triggered.
*/
std::function<QString(const QString &, NeoChatRoom *)> handle;
// If this is true, this action transforms a message to a different message and it will be sent.
// If this is false, this message does some action on the client and should not be sent as a message.
/**
* @brief Whether the action is a message type action.
*
* If this is true, a message action will be sent. If this is false, this
* message does some action on the client and should not be sent as a message.
*/
bool messageAction;
// If this action changes the message type, this is the new message type. Otherwise it's nullopt
/**
* @brief The new message type of a message being sent.
*
* For a non-message action or a message action that outputs the same type
* as its input, it's nullopt.
*/
std::optional<Quotient::RoomMessageEvent::MsgType> messageType = std::nullopt;
KLazyLocalizedString parameters;
KLazyLocalizedString description;
KLazyLocalizedString parameters; /**< The input parameters expected by the action. */
KLazyLocalizedString description; /**< The description of the action. */
};
static ActionsModel &instance()
{
@@ -30,18 +52,41 @@ public:
return _instance;
}
/**
* @brief Defines the model roles.
*/
enum Roles {
Prefix = Qt::DisplayRole,
Description,
CompletionType,
Parameters,
Prefix = Qt::DisplayRole, /**< The prefix, without '/' and space after the word. */
Description, /**< The description of the action. */
CompletionType, /**< The completion type (always "action" for this model). */
Parameters, /**< The input parameters expected by the action. */
};
Q_ENUM(Roles);
int rowCount(const QModelIndex &parent = QModelIndex()) const override;
/**
* @brief Get the given role value at the given index.
*
* @sa QAbstractItemModel::data
*/
QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const override;
/**
* @brief Number of rows in the model.
*
* @sa QAbstractItemModel::rowCount
*/
int rowCount(const QModelIndex &parent = QModelIndex()) const override;
/**
* @brief Returns a mapping from Role enum values to role names.
*
* @sa EventRoles, QAbstractItemModel::roleNames()
*/
QHash<int, QByteArray> roleNames() const override;
/**
* @brief Return a vector with all supported actions.
*/
QVector<Action> &allActions() const;
private:

View File

@@ -6,26 +6,58 @@
#include "messageeventmodel.h"
#include <QSortFilterProxyModel>
/**
* @class CollapseStateProxyModel
*
* This model aggregates multiple sequential state events into a single entry.
*
* Events are only aggregated if they happened on the same day.
*
* @sa MessageEventModel
*/
class CollapseStateProxyModel : public QSortFilterProxyModel
{
Q_OBJECT
public:
/**
* @brief Defines the model roles.
*/
enum Roles {
AggregateDisplayRole = MessageEventModel::LastRole + 1,
StateEventsRole,
AuthorListRole,
AggregateDisplayRole = MessageEventModel::LastRole + 1, /**< Single line aggregation of all the state events. */
StateEventsRole, /**< List of state events in the aggregated state. */
AuthorListRole, /**< List of unique authors of the aggregated state event. */
};
/**
* @brief Whether a row should be shown out or not.
*
* @sa QSortFilterProxyModel::filterAcceptsRow
*/
[[nodiscard]] bool filterAcceptsRow(int source_row, const QModelIndex &source_parent) const override;
[[nodiscard]] QHash<int, QByteArray> roleNames() const override;
/**
* @brief Get the given role value at the given index.
*
* @sa QSortFilterProxyModel::data
*/
[[nodiscard]] QVariant data(const QModelIndex &idx, int role = Qt::DisplayRole) const override;
/**
* @brief QString aggregating the text of consecutive state events starting at row.
* @brief Returns a mapping from Role enum values to role names.
*
* @sa Roles, QAbstractProxyModel::roleNames()
*/
[[nodiscard]] QHash<int, QByteArray> roleNames() const override;
private:
/**
* @brief Aggregation of the text of consecutive state events starting at row.
*
* If state events happen on different days they will be split into two aggregate
* events.
*/
[[nodiscard]] QString aggregateEventToString(int row) const;
/**
* @brief Return a list of consecutive state events starting at row.
*
@@ -33,6 +65,7 @@ public:
* events.
*/
[[nodiscard]] QVariantList stateEventsList(int row) const;
/**
* @brief List of unique authors for the aggregate state events starting at row.
*/

View File

@@ -5,7 +5,6 @@
#include <QDebug>
#include "actionsmodel.h"
#include "chatdocumenthandler.h"
#include "completionproxymodel.h"
#include "customemojimodel.h"
#include "emojimodel.h"

View File

@@ -13,41 +13,89 @@ class UserListModel;
class NeoChatRoom;
class RoomListModel;
/**
* @class CompletionModel
*
* This class defines the model for suggesting completions in chat text.
*
* This model is able to select the appropriate completion type for the input text
* and present a list of options that can be presented to the user.
*/
class CompletionModel : public QAbstractListModel
{
Q_OBJECT
/**
* @brief The current text to search for completions.
*/
Q_PROPERTY(QString text READ text NOTIFY textChanged)
/**
* @brief The current room that the model is getting completions for.
*/
Q_PROPERTY(NeoChatRoom *room READ room WRITE setRoom NOTIFY roomChanged)
/**
* @brief The current type of completion being done on the entered text.
*
* @sa AutoCompletionType
*/
Q_PROPERTY(AutoCompletionType autoCompletionType READ autoCompletionType NOTIFY autoCompletionTypeChanged);
/**
* @brief The RoomListModel to be used for room completions.
*/
Q_PROPERTY(RoomListModel *roomListModel READ roomListModel WRITE setRoomListModel NOTIFY roomListModelChanged);
public:
/**
* @brief Defines the different types of completion available.
*/
enum AutoCompletionType {
User,
Room,
Emoji,
Command,
None,
User, /**< A user in the current room. */
Room, /**< A matrix room. */
Emoji, /**< An emoji. */
Command, /**< A / command. */
None, /**< No available completion for the current text. */
};
Q_ENUM(AutoCompletionType)
/**
* @brief Defines the model roles.
*/
enum Roles {
Text = Qt::DisplayRole,
Subtitle,
Icon,
ReplacedText,
Text = Qt::DisplayRole, /**< The main text to show. */
Subtitle, /**< The subtitle text to show. */
Icon, /**< The icon to show. */
ReplacedText, /**< The text to replace the input text with for the completion. */
};
Q_ENUM(Roles);
CompletionModel(QObject *parent = nullptr);
int rowCount(const QModelIndex &parent = QModelIndex()) const override;
/**
* @brief Get the given role value at the given index.
*
* @sa QAbstractItemModel::data
*/
QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const override;
/**
* @brief Number of rows in the model.
*
* @sa QAbstractItemModel::rowCount
*/
int rowCount(const QModelIndex &parent = QModelIndex()) const override;
/**
* @brief Returns a mapping from Role enum values to role names.
*
* @sa EventRoles, QAbstractItemModel::roleNames()
*/
QHash<int, QByteArray> roleNames() const override;
QString text() const;
void setText(const QString &text, const QString &fullText);
void updateCompletion();
NeoChatRoom *room() const;
void setRoom(NeoChatRoom *room);
@@ -56,6 +104,7 @@ public:
void setRoomListModel(RoomListModel *roomListModel);
AutoCompletionType autoCompletionType() const;
void setAutoCompletionType(AutoCompletionType autoCompletionType);
Q_SIGNALS:
void textChanged();
@@ -70,7 +119,7 @@ private:
NeoChatRoom *m_room = nullptr;
AutoCompletionType m_autoCompletionType = None;
void setAutoCompletionType(AutoCompletionType autoCompletionType);
void updateCompletion();
UserListModel *m_userListModel;
RoomListModel *m_roomListModel;

View File

@@ -2,9 +2,8 @@
// SPDX-License-Identifier: LGPL-2.0-or-later
#include "completionproxymodel.h"
#include <QDebug>
#include "neochatroom.h"
#include <QDebug>
bool CompletionProxyModel::filterAcceptsRow(int sourceRow, const QModelIndex &sourceParent) const
{
@@ -44,7 +43,6 @@ int CompletionProxyModel::secondaryFilterRole() const
void CompletionProxyModel::setSecondaryFilterRole(int role)
{
m_secondaryFilterRole = role;
Q_EMIT secondaryFilterRoleChanged();
}
QString CompletionProxyModel::filterText() const
@@ -55,7 +53,6 @@ QString CompletionProxyModel::filterText() const
void CompletionProxyModel::setFilterText(const QString &filterText)
{
m_filterText = filterText;
Q_EMIT filterTextChanged();
}
void CompletionProxyModel::setFullText(const QString &fullText)

View File

@@ -5,28 +5,71 @@
#include <QSortFilterProxyModel>
/**
* @class CompletionProxyModel
*
* A filter model to sort and filter completion results.
*
* This model is designed to work with multiple source models depending upon the
* completion type.
*
* A model value will be shown if its primary or secondary role values start with
* the filter text. The exception is if the full text perfectly matches
* the primary filter role value in which case the completion ends (i.e. the filter
* will return no results).
*
* @note The filter is primarily design to work with strings, therefore make sure
* that the source model roles that are to be filtered are strings.
*/
class CompletionProxyModel : public QSortFilterProxyModel
{
Q_OBJECT
Q_PROPERTY(int secondaryFilterRole READ secondaryFilterRole WRITE setSecondaryFilterRole NOTIFY secondaryFilterRoleChanged)
Q_PROPERTY(QString filterText READ filterText WRITE setFilterText NOTIFY filterTextChanged)
public:
/**
* @brief Wether a row should be shown or not.
*
* @sa QSortFilterProxyModel::filterAcceptsRow
*/
bool filterAcceptsRow(int sourceRow, const QModelIndex &sourceParent) const override;
/**
* @brief Returns true if the value of source_left is less than source_right.
*
* @sa QSortFilterProxyModel::lessThan
*/
bool lessThan(const QModelIndex &source_left, const QModelIndex &source_right) const override;
/**
* @brief Get the current secondary filter role.
*/
int secondaryFilterRole() const;
/**
* @brief Set the secondary filter role.
*
* Refer to the source model for what value corresponds to what role.
*/
void setSecondaryFilterRole(int role);
/**
* @brief Get the current text being used to filter the source model.
*/
QString filterText() const;
/**
* @brief Set the text to be used to filter the source model.
*/
void setFilterText(const QString &filterText);
/**
* @brief Set the full text in the chatbar after the completion start.
*
* This is used to automatically end the completion if the user replicated the
* primary filter role value perfectly.
*/
void setFullText(const QString &fullText);
Q_SIGNALS:
void secondaryFilterRoleChanged();
void filterTextChanged();
private:
int m_secondaryFilterRole = -1;
QString m_filterText;

View File

@@ -11,6 +11,12 @@
using namespace Quotient;
#ifdef QUOTIENT_07
#define running isJobPending
#else
#define running isJobRunning
#endif
void CustomEmojiModel::fetchEmojis()
{
if (!Controller::instance().activeConnection()) {
@@ -51,12 +57,18 @@ void CustomEmojiModel::addEmoji(const QString &name, const QUrl &location)
auto job = Controller::instance().activeConnection()->uploadFile(location.toLocalFile());
if (isJobPending(job)) {
connect(job, &BaseJob::success, this, [name, job] {
if (running(job)) {
connect(job, &BaseJob::success, this, [this, name, job] {
const auto &data = Controller::instance().activeConnection()->accountData("im.ponies.user_emotes");
auto json = data != nullptr ? data->contentJson() : QJsonObject();
auto emojiData = json["images"].toObject();
emojiData[QStringLiteral("%1").arg(name)] = QJsonObject({{QStringLiteral("url"), job->contentUri().toString()}});
emojiData[QStringLiteral("%1").arg(name)] = QJsonObject({
#ifdef QUOTIENT_07
{QStringLiteral("url"), job->contentUri().toString()}
#else
{QStringLiteral("url"), job->contentUri()}
#endif
});
json["images"] = emojiData;
Controller::instance().activeConnection()->setAccountData("im.ponies.user_emotes", json);
});
@@ -129,9 +141,8 @@ QVariant CustomEmojiModel::data(const QModelIndex &idx, int role) const
return QUrl(QStringLiteral("image://mxc/") + data.url.mid(6));
case Roles::MxcUrl:
return data.url.mid(6);
default:
return {};
}
return QVariant();
}

View File

@@ -17,19 +17,29 @@ struct CustomEmoji {
Q_PROPERTY(QString name MEMBER name)
};
/**
* @class CustomEmojiModel
*
* This class defines the model for custom user emojis.
*
* This is based upon the im.ponies.user_emotes spec (MSC2545).
*/
class CustomEmojiModel : public QAbstractListModel
{
Q_OBJECT
public:
/**
* @brief Defines the model roles.
*/
enum Roles {
Name = Qt::DisplayRole,
ImageURL,
ModelData, // for emulating the regular emoji model's usage, otherwise the UI code would get too complicated
MxcUrl = 50,
DisplayRole = 51,
ReplacedTextRole = 52,
DescriptionRole = 53, // also invalid, reserved
Name = Qt::DisplayRole, /**< The name of the emoji. */
ImageURL, /**< The URL for the custom emoji. */
ModelData, /**< for emulating the regular emoji model's usage, otherwise the UI code would get too complicated. */
MxcUrl = 50, /**< The mxc source URL for the custom emoji. */
DisplayRole = 51, /**< The name of the emoji. For compatibility with EmojiModel. */
ReplacedTextRole = 52, /**< The name of the emoji. For compatibility with EmojiModel. */
DescriptionRole = 53, /**< Invalid, reserved. For compatibility with EmojiModel. */
};
Q_ENUM(Roles);
@@ -39,14 +49,45 @@ public:
return _instance;
}
/**
* @brief Get the given role value at the given index.
*
* @sa QAbstractItemModel::data
*/
QVariant data(const QModelIndex &idx, int role = Qt::DisplayRole) const override;
/**
* @brief Number of rows in the model.
*
* @sa QAbstractItemModel::rowCount
*/
int rowCount(const QModelIndex &parent = QModelIndex()) const override;
/**
* @brief Returns a mapping from Role enum values to role names.
*
* @sa Roles, QAbstractItemModel::roleNames()
*/
QHash<int, QByteArray> roleNames() const override;
/**
* @brief Substitute any custom emojis for an image in the input text.
*/
Q_INVOKABLE QString preprocessText(const QString &it);
/**
* @brief Return a list of custom emojis where the name contains the filter text.
*/
Q_INVOKABLE QVariantList filterModel(const QString &filter);
/**
* @brief Add a new emoji to the model.
*/
Q_INVOKABLE void addEmoji(const QString &name, const QUrl &location);
/**
* @brief Remove an emoji from the model.
*/
Q_INVOKABLE void removeEmoji(const QString &name);
private:

View File

@@ -67,7 +67,7 @@ QHash<int, QByteArray> DevicesModel::roleNames() const
void DevicesModel::logout(int index, const QString &password)
{
auto job = Controller::instance().activeConnection()->callApi<DeleteDeviceJob>(m_devices[index].deviceId);
auto job = Controller::instance().activeConnection()->callApi<NeochatDeleteDeviceJob>(m_devices[index].deviceId);
connect(job, &BaseJob::result, this, [this, job, password, index] {
auto onSuccess = [this, index]() {

View File

@@ -12,28 +12,67 @@ namespace Quotient
class Connection;
}
/**
* @class DevicesModel
*
* This class defines the model for managing the devices of the local user.
*
* A device is any session where the local user is logged into a client. This means
* the same physical device can have multiple sessions for example if the user uses
* multiple clients on the same machine.
*/
class DevicesModel : public QAbstractListModel
{
Q_OBJECT
/**
* @brief The current connection that the model is getting its devices from.
*/
Q_PROPERTY(Quotient::Connection *connection READ connection NOTIFY connectionChanged)
public:
/**
* @brief Defines the model roles.
*/
enum Roles {
Id,
DisplayName,
LastIp,
LastTimestamp,
Id, /**< The device ID. */
DisplayName, /**< Display name set by the user for this device. */
LastIp, /**< The IP address where this device was last seen. */
LastTimestamp, /**< The timestamp when this devices was last seen. */
};
Q_ENUM(Roles);
DevicesModel(QObject *parent = nullptr);
/**
* @brief Get the given role value at the given index.
*
* @sa QAbstractItemModel::data
*/
QVariant data(const QModelIndex &index, int role) const override;
QHash<int, QByteArray> roleNames() const override;
/**
* @brief Number of rows in the model.
*
* @sa QAbstractItemModel::rowCount
*/
int rowCount(const QModelIndex &parent) const override;
/**
* @brief Returns a mapping from Role enum values to role names.
*
* @sa Roles, QAbstractItemModel::roleNames()
*/
QHash<int, QByteArray> roleNames() const override;
/**
* @brief Logout the device at the given index.
*/
Q_INVOKABLE void logout(int index, const QString &password);
/**
* @brief Set the display name of the device at the given index.
*/
Q_INVOKABLE void setName(int index, const QString &name);
Quotient::Connection *connection() const;

View File

@@ -51,12 +51,30 @@ struct Emoji {
Q_DECLARE_METATYPE(Emoji)
/**
* @class EmojiModel
*
* This class defines the model for visualising a list of emojis.
*/
class EmojiModel : public QAbstractListModel
{
Q_OBJECT
/**
* @brief Return a list of recently used emojis.
*/
Q_PROPERTY(QVariantList history READ history NOTIFY historyChanged)
/**
* @brief Return a list of emoji categories.
*
* @note No custom emoji categories will be included.
*/
Q_PROPERTY(QVariantList categories READ categories CONSTANT)
/**
* @brief Return a list of emoji categories with custom emojis.
*/
Q_PROPERTY(QVariantList categoriesWithCustom READ categoriesWithCustom CONSTANT)
public:
@@ -66,47 +84,92 @@ public:
return _instance;
}
/**
* @brief Defines the model roles.
*/
enum RoleNames {
ShortNameRole = Qt::DisplayRole,
UnicodeRole,
InvalidRole = 50,
DisplayRole = 51,
ReplacedTextRole = 52,
DescriptionRole = 53,
ShortNameRole = Qt::DisplayRole, /**< The name of the emoji. */
UnicodeRole, /**< The unicode character of the emoji. */
InvalidRole = 50, /**< Invalid, reserved. */
DisplayRole = 51, /**< The display text for an emoji. */
ReplacedTextRole = 52, /**< The text to replace the short name with (i.e. the unicode character). */
DescriptionRole = 53, /**< The long description of an emoji. */
};
Q_ENUM(RoleNames);
/**
* @brief Defines the potential categories an emoji can be placed in.
*/
enum Category {
Custom,
Search,
SearchNoCustom,
History,
HistoryNoCustom,
Smileys,
People,
Nature,
Food,
Activities,
Travel,
Objects,
Symbols,
Flags,
Component,
Custom, /**< A custom user emoji. */
Search, /**< The results of a filter. */
SearchNoCustom, /**< The results of a filter with no custom emojis. */
History, /**< Recently used emojis. */
HistoryNoCustom, /**< Recently used emojis with no custom emojis. */
Smileys, /**< Smileys & emotion emojis. */
People, /**< People & Body emojis. */
Nature, /**< Animals & Nature emojis. */
Food, /**< Food & Drink emojis. */
Activities, /**< Activities emojis. */
Travel, /**< Travel & Places emojis. */
Objects, /**< Objects emojis. */
Symbols, /**< Symbols emojis. */
Flags, /**< Flags emojis. */
Component, /**< ??? */
};
Q_ENUM(Category)
[[nodiscard]] int rowCount(const QModelIndex &parent = QModelIndex()) const override;
/**
* @brief Get the given role value at the given index.
*
* @sa QAbstractItemModel::data
*/
[[nodiscard]] QVariant data(const QModelIndex &idx, int role = Qt::DisplayRole) const override;
/**
* @brief Number of rows in the model.
*
* @sa QAbstractItemModel::rowCount
*/
[[nodiscard]] int rowCount(const QModelIndex &parent = QModelIndex()) const override;
/**
* @brief Returns a mapping from Role enum values to role names.
*
* @sa RoleNames, QAbstractItemModel::roleNames()
*/
[[nodiscard]] QHash<int, QByteArray> roleNames() const override;
Q_INVOKABLE QVariantList history() const;
/**
* @brief Return a filtered list of emojis.
*
* @note This includes custom emojis, use filterModelNoCustom to return a result
* without custom emojis.
*
* @sa filterModelNoCustom
*/
Q_INVOKABLE static QVariantList filterModel(const QString &filter, bool limit = true);
/**
* @brief Return a filtered list of emojis without custom emojis.
*
* @note Use filterModel to return a result with custom emojis.
*
* @sa filterModel
*/
Q_INVOKABLE static QVariantList filterModelNoCustom(const QString &filter, bool limit = true);
/**
* @brief Return a list of emojis for the given category.
*/
Q_INVOKABLE QVariantList emojis(Category category) const;
/**
* @brief Return a list of emoji tones for the given base emoji.
*/
Q_INVOKABLE QVariantList tones(const QString &baseEmoji) const;
Q_INVOKABLE QVariantList history() const;
QVariantList categories() const;
QVariantList categoriesWithCustom() const;

View File

@@ -7,23 +7,54 @@
#include <QAbstractListModel>
/**
* @class KeywordNotificationRuleModel
*
* This class defines the model for managing notification push rule keywords.
*/
class KeywordNotificationRuleModel : public QAbstractListModel
{
Q_OBJECT
public:
/**
* @brief Defines the model roles.
*/
enum EventRoles {
NameRole = Qt::DisplayRole,
NameRole = Qt::DisplayRole, /**< The push rule keyword. */
};
KeywordNotificationRuleModel(QObject *parent = nullptr);
/**
* @brief Get the given role value at the given index.
*
* @sa QAbstractItemModel::data
*/
[[nodiscard]] QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const override;
/**
* @brief Number of rows in the model.
*
* @sa QAbstractItemModel::rowCount
*/
[[nodiscard]] int rowCount(const QModelIndex &parent = QModelIndex()) const override;
/**
* @brief Returns a mapping from Role enum values to role names.
*
* @sa EventRoles, QAbstractItemModel::roleNames()
*/
[[nodiscard]] QHash<int, QByteArray> roleNames() const override;
/**
* @brief Add a new keyword to the model.
*/
Q_INVOKABLE void addKeyword(const QString &keyword);
/**
* @brief Remove a keyword from the model.
*/
Q_INVOKABLE void removeKeywordAtIndex(int index);
private Q_SLOTS:

View File

@@ -11,10 +11,12 @@
#include <events/roomavatarevent.h>
#include <events/roommemberevent.h>
#include <events/simplestateevents.h>
#include <events/stickerevent.h>
#include <user.h>
#ifdef QUOTIENT_07
#include "pollevent.h"
#endif
#include "stickerevent.h"
#include <QDebug>
#include <QGuiApplication>
@@ -107,7 +109,11 @@ void MessageEventModel::setRoom(NeoChatRoom *room)
if (m_currentRoom->timelineSize() < 10 && !room->allHistoryLoaded()) {
room->getPreviousContent(50);
}
#ifdef QUOTIENT_07
lastReadEventId = room->lastFullyReadEventId();
#else
lastReadEventId = room->readMarkerEventId();
#endif
using namespace Quotient;
connect(m_currentRoom, &Room::aboutToAddNewMessages, this, [this](RoomEventsRange events) {
@@ -156,7 +162,11 @@ void MessageEventModel::setRoom(NeoChatRoom *room)
endInsertRows();
if (!m_lastReadEventIndex.isValid()) {
// no read marker, so see if we need to create one.
#ifdef QUOTIENT_07
moveReadMarker(m_currentRoom->lastFullyReadEventId());
#else
moveReadMarker(m_currentRoom->readMarkerEventId());
#endif
}
if (biggest < m_currentRoom->maxTimelineIndex()) {
auto rowBelowInserted = m_currentRoom->maxTimelineIndex() - biggest + timelineBaseIndex() - 1;
@@ -197,7 +207,7 @@ void MessageEventModel::setRoom(NeoChatRoom *room)
beginRemoveRows({}, i, i);
});
connect(m_currentRoom, &Room::pendingEventDiscarded, this, &MessageEventModel::endRemoveRows);
connect(m_currentRoom, &Room::fullyReadMarkerMoved, this, [this](const QString &fromEventId, const QString &toEventId) {
connect(m_currentRoom, &Room::readMarkerMoved, this, [this](const QString &fromEventId, const QString &toEventId) {
Q_UNUSED(fromEventId);
moveReadMarker(toEventId);
});
@@ -220,6 +230,9 @@ void MessageEventModel::setRoom(NeoChatRoom *room)
connect(m_currentRoom, &Room::fileTransferProgress, this, &MessageEventModel::refreshEvent);
connect(m_currentRoom, &Room::fileTransferCompleted, this, &MessageEventModel::refreshEvent);
connect(m_currentRoom, &Room::fileTransferFailed, this, &MessageEventModel::refreshEvent);
#ifndef QUOTIENT_07
connect(m_currentRoom, &Room::fileTransferCancelled, this, &MessageEventModel::refreshEvent);
#endif
connect(m_currentRoom->connection(), &Connection::ignoredUsersListChanged, this, [this] {
beginResetModel();
endResetModel();
@@ -485,7 +498,7 @@ QVariant MessageEventModel::data(const QModelIndex &idx, int role) const
}
if (role == SourceRole) {
return QJsonDocument(evt.fullJson()).toJson();
return evt.originalJson();
}
if (role == DelegateTypeRole) {
@@ -521,18 +534,20 @@ QVariant MessageEventModel::data(const QModelIndex &idx, int role) const
if (is<const EncryptedEvent>(evt)) {
return DelegateType::Encrypted;
}
#ifdef QUOTIENT_07
if (is<PollStartEvent>(evt)) {
if (evt.isRedacted()) {
return DelegateType::Message;
}
return DelegateType::Poll;
}
#endif
return DelegateType::Other;
}
if (role == EventResolvedTypeRole) {
return evt.type();
return EventTypeRegistry::getMatrixType(evt.type());
}
if (role == AuthorRole) {
@@ -631,7 +646,7 @@ QVariant MessageEventModel::data(const QModelIndex &idx, int role) const
return EventStatus::Hidden;
}
if (evt.isStateEvent() && static_cast<const StateEvent &>(evt).repeatsState()) {
if (evt.isStateEvent() && static_cast<const StateEventBase &>(evt).repeatsState()) {
return EventStatus::Hidden;
}
@@ -805,13 +820,22 @@ QVariant MessageEventModel::data(const QModelIndex &idx, int role) const
}
if (role == ReadMarkersRole) {
#ifdef QUOTIENT_07
auto userIds = room()->userIdsAtEvent(evt.id());
userIds.remove(m_currentRoom->localUser()->id());
#else
auto userIds = room()->usersAtEventId(evt.id());
userIds.removeAll(m_currentRoom->localUser());
#endif
QVariantList users;
users.reserve(userIds.size());
for (const auto &userId : userIds) {
#ifdef QUOTIENT_07
auto user = static_cast<NeoChatUser *>(m_currentRoom->user(userId));
#else
auto user = static_cast<NeoChatUser *>(userId);
#endif
users += userAtEvent(user, m_currentRoom, evt);
}
@@ -819,15 +843,24 @@ QVariant MessageEventModel::data(const QModelIndex &idx, int role) const
}
if (role == ReadMarkersStringRole) {
#ifdef QUOTIENT_07
auto userIds = room()->userIdsAtEvent(evt.id());
userIds.remove(m_currentRoom->localUser()->id());
#else
auto userIds = room()->usersAtEventId(evt.id());
userIds.removeAll(m_currentRoom->localUser());
#endif
/**
* The string ends up in the form
* "x users: user1DisplayName, user2DisplayName, etc."
*/
QString readMarkersString = i18np("1 user: ", "%1 users: ", userIds.size());
for (const auto &userId : userIds) {
#ifdef QUOTIENT_07
auto user = static_cast<NeoChatUser *>(m_currentRoom->user(userId));
#else
auto user = static_cast<NeoChatUser *>(userId);
#endif
readMarkersString += user->displayname(m_currentRoom) + i18nc("list separator", ", ");
}
readMarkersString.chop(2);
@@ -835,13 +868,18 @@ QVariant MessageEventModel::data(const QModelIndex &idx, int role) const
}
if (role == ShowReadMarkersRole) {
#ifdef QUOTIENT_07
auto userIds = room()->userIdsAtEvent(evt.id());
userIds.remove(m_currentRoom->localUser()->id());
#else
auto userIds = room()->usersAtEventId(evt.id());
userIds.removeAll(m_currentRoom->localUser());
#endif
return userIds.size() > 0;
}
if (role == ReactionRole) {
const auto &annotations = m_currentRoom->relatedEvents(evt, EventRelation::AnnotationType);
const auto &annotations = m_currentRoom->relatedEvents(evt, EventRelation::Annotation());
if (annotations.isEmpty()) {
return {};
};
@@ -851,7 +889,7 @@ QVariant MessageEventModel::data(const QModelIndex &idx, int role) const
continue;
}
if (auto e = eventCast<const ReactionEvent>(a)) {
reactions[e->eventId()].append(static_cast<NeoChatUser *>(m_currentRoom->user(e->senderId())));
reactions[e->relation().key].append(static_cast<NeoChatUser *>(m_currentRoom->user(e->senderId())));
}
}
@@ -878,6 +916,7 @@ QVariant MessageEventModel::data(const QModelIndex &idx, int role) const
}
if (role == MediaUrlRole) {
#ifdef QUOTIENT_07
if (auto e = eventCast<const RoomMessageEvent>(&evt)) {
if (!e->hasFileContent()) {
return QVariant();
@@ -894,6 +933,7 @@ QVariant MessageEventModel::data(const QModelIndex &idx, int role) const
// if (auto e = eventCast<const StickerEvent>(&evt)) {
// return m_currentRoom->makeMediaUrl(e->id(), e->url());
// }
#endif
// Construct link in the same form as urlToDownload as that function doesn't work for stickers
if (auto e = eventCast<const StickerEvent>(&evt)) {
@@ -908,12 +948,14 @@ QVariant MessageEventModel::data(const QModelIndex &idx, int role) const
}
if (role == VerifiedRole) {
#ifdef QUOTIENT_07
#ifdef Quotient_E2EE_ENABLED
if (evt.originalEvent()) {
auto encrypted = dynamic_cast<const EncryptedEvent *>(evt.originalEvent());
Q_ASSERT(encrypted);
return m_currentRoom->connection()->isVerifiedSession(encrypted->sessionId().toLatin1());
}
#endif
#endif
return false;
}
@@ -941,7 +983,7 @@ QVariant MessageEventModel::data(const QModelIndex &idx, int role) const
}
if (role == IsPendingRole) {
return row < static_cast<int>(m_currentRoom->pendingEvents().size());
return row < m_currentRoom->pendingEvents().size();
}
return {};

View File

@@ -5,10 +5,21 @@
#include <QSortFilterProxyModel>
/**
* @class MessageFilterModel
*
* This model filters out any messages that should be hidden.
*
* Deleted messages are only hidden if the user hasn't set them to be shown.
*/
class MessageFilterModel : public QSortFilterProxyModel
{
Q_OBJECT
public:
MessageFilterModel(QObject *parent = nullptr);
/**
* @brief Custom filter function to remove hidden messages.
*/
bool filterAcceptsRow(int sourceRow, const QModelIndex &sourceParent) const override;
};

View File

@@ -12,6 +12,11 @@ PublicRoomListModel::PublicRoomListModel(QObject *parent)
{
}
Quotient::Connection *PublicRoomListModel::connection() const
{
return m_connection;
}
void PublicRoomListModel::setConnection(Connection *conn)
{
if (m_connection == conn) {
@@ -47,6 +52,11 @@ void PublicRoomListModel::setConnection(Connection *conn)
Q_EMIT hasMoreChanged();
}
QString PublicRoomListModel::server() const
{
return m_server;
}
void PublicRoomListModel::setServer(const QString &value)
{
if (m_server == value) {
@@ -76,6 +86,11 @@ void PublicRoomListModel::setServer(const QString &value)
Q_EMIT hasMoreChanged();
}
QString PublicRoomListModel::keyword() const
{
return m_keyword;
}
void PublicRoomListModel::setKeyword(const QString &value)
{
if (m_keyword == value) {
@@ -117,7 +132,11 @@ void PublicRoomListModel::next(int count)
return;
}
#ifdef QUOTIENT_07
job = m_connection->callApi<QueryPublicRoomsJob>(m_server, count, nextBatch, QueryPublicRoomsJob::Filter{m_keyword, {}});
#else
job = m_connection->callApi<QueryPublicRoomsJob>(m_server, count, nextBatch, QueryPublicRoomsJob::Filter{m_keyword});
#endif
connect(job, &BaseJob::finished, this, [this] {
attempted = true;
@@ -173,7 +192,11 @@ QVariant PublicRoomListModel::data(const QModelIndex &index, int role) const
if (avatarUrl.isEmpty()) {
return "";
}
#ifdef QUOTIENT_07
return avatarUrl.url().remove(0, 6);
#else
return avatarUrl.remove(0, 6);
#endif
}
if (role == TopicRole) {
return room.topic;

View File

@@ -13,54 +13,96 @@ namespace Quotient
class Connection;
}
/**
* @class PublicRoomListModel
*
* This class defines the model for visualising a list of public rooms.
*
* The model finds the public rooms visible to the given server (which doesn't have
* to be the user's home server) and can also apply a filter if desired.
*
* Due to the fact that the public room list could be huge the model is lazily loaded
* and requires that the next batch of rooms be manually called.
*/
class PublicRoomListModel : public QAbstractListModel
{
Q_OBJECT
/**
* @brief The current connection that the model is getting its rooms from.
*/
Q_PROPERTY(Quotient::Connection *connection READ connection WRITE setConnection NOTIFY connectionChanged)
/**
* @brief The server to get the public room list from.
*/
Q_PROPERTY(QString server READ server WRITE setServer NOTIFY serverChanged)
/**
* @brief The filter keyword for the list of public rooms.
*/
Q_PROPERTY(QString keyword READ keyword WRITE setKeyword NOTIFY keywordChanged)
/**
* @brief Whether the model has more items to load.
*/
Q_PROPERTY(bool hasMore READ hasMore NOTIFY hasMoreChanged)
public:
/**
* @brief Defines the model roles.
*/
enum EventRoles {
NameRole = Qt::DisplayRole + 1,
AvatarRole,
TopicRole,
RoomIDRole,
AliasRole,
MemberCountRole,
AllowGuestsRole,
WorldReadableRole,
IsJoinedRole,
NameRole = Qt::DisplayRole + 1, /**< The name of the room. */
AvatarRole, /**< The source URL for the room's avatar. */
TopicRole, /**< The room topic. */
RoomIDRole, /**< The room matrix ID. */
AliasRole, /**< The room canonical alias. */
MemberCountRole, /**< The number of members in the room. */
AllowGuestsRole, /**< Whether the room allows guest users. */
WorldReadableRole, /**< Whether the room events can be seen by non-members. */
IsJoinedRole, /**< Whether the local user has joined the room. */
};
PublicRoomListModel(QObject *parent = nullptr);
/**
* @brief Get the given role value at the given index.
*
* @sa QAbstractItemModel::data
*/
[[nodiscard]] QVariant data(const QModelIndex &index, int role = NameRole) const override;
/**
* @brief Number of rows in the model.
*
* @sa QAbstractItemModel::rowCount
*/
[[nodiscard]] int rowCount(const QModelIndex &parent = QModelIndex()) const override;
/**
* @brief Returns a mapping from Role enum values to role names.
*
* @sa EventRoles, QAbstractItemModel::roleNames()
*/
[[nodiscard]] QHash<int, QByteArray> roleNames() const override;
[[nodiscard]] Quotient::Connection *connection() const
{
return m_connection;
}
[[nodiscard]] Quotient::Connection *connection() const;
void setConnection(Quotient::Connection *conn);
[[nodiscard]] QString server() const
{
return m_server;
}
[[nodiscard]] QString server() const;
void setServer(const QString &value);
[[nodiscard]] QString keyword() const
{
return m_keyword;
}
[[nodiscard]] QString keyword() const;
void setKeyword(const QString &value);
[[nodiscard]] bool hasMore() const;
/**
* @brief Load the next set of rooms.
*
* @param count the maximum number of rooms to load.
*/
Q_INVOKABLE void next(int count = 50);
private:

View File

@@ -8,7 +8,6 @@
#include "neochatroom.h"
#include "roommanager.h"
#include "user.h"
#include <eventstats.h>
#include <QDebug>
#if QT_VERSION < QT_VERSION_CHECK(6, 6, 0)
@@ -23,6 +22,11 @@
#include <QGuiApplication>
#include <utility>
#ifndef QUOTIENT_07
#include "notificationsmanager.h"
#include <csapi/notifications.h>
#endif
using namespace Quotient;
Q_DECLARE_METATYPE(Quotient::JoinState)
@@ -147,7 +151,7 @@ void RoomListModel::connectRoomSignals(NeoChatRoom *room)
connect(room, &Room::displaynameChanged, this, [this, room] {
refresh(room, {DisplayNameRole, NameRole});
});
connect(room, &Room::unreadStatsChanged, this, [this, room] {
connect(room, &Room::unreadMessagesChanged, this, [this, room] {
refresh(room, {UnreadCountRole, NotificationCountRole, HighlightCountRole});
});
connect(room, &Room::notificationCountChanged, this, [this, room] {
@@ -168,9 +172,71 @@ void RoomListModel::connectRoomSignals(NeoChatRoom *room)
connect(room, &Room::pendingEventMerged, this, [this, room] {
refresh(room, {LastEventRole, SubtitleTextRole});
});
#ifndef QUOTIENT_07
connect(room, &Room::notificationCountChanged, this, &RoomListModel::handleNotifications);
#endif
#ifndef QUOTIENT_07
connect(room, &Room::notificationCountChanged, this, &RoomListModel::refreshNotificationCount);
#else
connect(room, &Room::unreadStatsChanged, this, &RoomListModel::refreshNotificationCount);
#endif
}
#ifndef QUOTIENT_07
void RoomListModel::handleNotifications()
{
static bool initial = true;
static QStringList oldNotifications;
auto job = m_connection->callApi<GetNotificationsJob>();
connect(job, &BaseJob::success, this, [this, job]() {
const auto notifications = job->jsonData()["notifications"].toArray();
if (initial) {
initial = false;
for (const auto &n : notifications) {
oldNotifications += n.toObject()["event"].toObject()["event_id"].toString();
}
return;
}
for (const auto &n : notifications) {
const auto notification = n.toObject();
if (notification["read"].toBool()) {
oldNotifications.removeOne(notification["event"].toObject()["event_id"].toString());
continue;
}
if (oldNotifications.contains(notification["event"].toObject()["event_id"].toString())) {
continue;
}
oldNotifications += notification["event"].toObject()["event_id"].toString();
auto room = m_connection->room(notification["room_id"].toString());
auto currentRoom = RoomManager::instance().currentRoom();
bool roomIsActive = currentRoom && room->id() == currentRoom->id();
// If room exists, room is NOT active OR the application is NOT active, show notification
if (room && !(roomIsActive && QGuiApplication::applicationState() == Qt::ApplicationActive)) {
// The room might have been deleted (for example rejected invitation).
auto sender = room->user(notification["event"].toObject()["sender"].toString());
QImage avatar_image;
if (!sender->avatarUrl(room).isEmpty()) {
avatar_image = sender->avatar(128, room);
} else {
avatar_image = room->avatar(128);
}
NotificationsManager::instance().postNotification(dynamic_cast<NeoChatRoom *>(room),
sender->displayname(room),
notification["event"].toObject()["content"].toObject()["body"].toString(),
avatar_image,
notification["event"].toObject()["event_id"].toString(),
true);
}
}
});
}
#endif
void RoomListModel::refreshNotificationCount()
{
int count = 0;
@@ -295,7 +361,7 @@ QVariant RoomListModel::data(const QModelIndex &index, int role) const
return NeoChatRoomType::Normal;
}
if (role == UnreadCountRole) {
return room->unreadStats().notableCount;
return room->unreadCount();
}
if (role == NotificationCountRole) {
return room->notificationCount();

View File

@@ -107,6 +107,9 @@ private:
QString m_activeSpaceId = "";
void connectRoomSignals(NeoChatRoom *room);
#ifndef QUOTIENT_07
void handleNotifications();
#endif
Q_SIGNALS:
void connectionChanged();

View File

@@ -8,7 +8,9 @@
#include <KLocalizedString>
#include <connection.h>
#ifdef QUOTIENT_07
#include <csapi/search.h>
#endif
using namespace Quotient;
@@ -32,6 +34,7 @@ void SearchModel::setSearchText(const QString &searchText)
void SearchModel::search()
{
#ifdef QUOTIENT_07
Q_ASSERT(m_connection);
setSearching(true);
if (m_job) {
@@ -40,26 +43,20 @@ void SearchModel::search()
}
SearchJob::RoomEventsCriteria criteria{
.searchTerm = m_searchText,
.keys = {},
.filter =
RoomEventFilter{
.unreadThreadNotifications = none,
.lazyLoadMembers = true,
.includeRedundantMembers = false,
.notRooms = {},
.rooms = {m_room->id()},
.containsUrl = false,
},
.orderBy = "recent",
.eventContext = SearchJob::IncludeEventContext{3, 3, true},
.includeState = false,
.groupings = none,
m_searchText,
{},
RoomEventFilter{
.rooms = {m_room->id()},
},
"recent",
SearchJob::IncludeEventContext{3, 3, true},
false,
none,
};
auto job = m_connection->callApi<SearchJob>(SearchJob::Categories{criteria});
m_job = job;
connect(job, &BaseJob::finished, this, [this, job] {
connect(job, &BaseJob::finished, this, [=] {
beginResetModel();
m_result = job->searchCategories().roomEvents;
endResetModel();
@@ -67,6 +64,7 @@ void SearchModel::search()
m_job = nullptr;
// TODO error handling
});
#endif
}
Connection *SearchModel::connection() const
@@ -82,6 +80,7 @@ void SearchModel::setConnection(Connection *connection)
QVariant SearchModel::data(const QModelIndex &index, int role) const
{
#ifdef QUOTIENT_07
auto row = index.row();
const auto &event = *m_result->results[row].result;
switch (role) {
@@ -111,14 +110,17 @@ QVariant SearchModel::data(const QModelIndex &index, int role) const
return event.originTimestamp();
}
return MessageEventModel::DelegateType::Message;
#endif
return {};
}
int SearchModel::rowCount(const QModelIndex &parent) const
{
Q_UNUSED(parent);
#ifdef QUOTIENT_07
if (m_result.has_value()) {
return m_result->results.size();
}
#endif
return 0;
}

View File

@@ -6,7 +6,9 @@
#include <QAbstractListModel>
#include <QString>
#ifdef QUOTIENT_07
#include <csapi/search.h>
#endif
namespace Quotient
{
@@ -66,8 +68,10 @@ private:
QString m_searchText;
Quotient::Connection *m_connection = nullptr;
NeoChatRoom *m_room = nullptr;
#ifdef QUOTIENT_07
Quotient::Omittable<Quotient::SearchJob::ResultRoomEvents> m_result = Quotient::none;
Quotient::SearchJob *m_job = nullptr;
#endif
bool m_searching = false;
};

View File

@@ -95,7 +95,11 @@ void ServerListModel::checkServer(const QString &url)
KConfigGroup serverGroup(&dataResource, "Servers");
if (!serverGroup.hasKey(url)) {
#ifdef QUOTIENT_07
if (Quotient::isJobPending(m_checkServerJob)) {
#else
if (Quotient::isJobRunning(m_checkServerJob)) {
#endif
m_checkServerJob->abandon();
}

View File

@@ -14,6 +14,7 @@ QHash<int, QByteArray> StateModel::roleNames() const
}
QVariant StateModel::data(const QModelIndex &index, int role) const
{
#ifdef QUOTIENT_07
auto row = index.row();
switch (role) {
case TypeRole:
@@ -23,13 +24,18 @@ QVariant StateModel::data(const QModelIndex &index, int role) const
case SourceRole:
return QJsonDocument(m_room->currentState().events()[m_room->currentState().events().keys()[row]]->fullJson()).toJson();
}
#endif
return {};
}
int StateModel::rowCount(const QModelIndex &parent) const
{
Q_UNUSED(parent);
#ifdef QUOTIENT_07
return m_room->currentState().events().size();
#else
return 0;
#endif
}
NeoChatRoom *StateModel::room() const
@@ -43,7 +49,7 @@ void StateModel::setRoom(NeoChatRoom *room)
Q_EMIT roomChanged();
beginResetModel();
endResetModel();
connect(room, &NeoChatRoom::changed, this, [this] {
connect(room, &NeoChatRoom::changed, this, [=] {
beginResetModel();
endResetModel();
});

View File

@@ -131,7 +131,11 @@ QVariant UserDirectoryListModel::data(const QModelIndex &index, int role) const
if (avatarUrl.isEmpty()) {
return "";
}
#ifdef QUOTIENT_07
return avatarUrl.url().remove(0, 6);
#else
return avatarUrl.remove(0, 6);
#endif
}
if (role == UserIDRole) {
return user.userId;

View File

@@ -44,9 +44,13 @@ void UserListModel::setRoom(NeoChatRoom *room)
std::sort(m_users.begin(), m_users.end(), room->memberSorter());
}
for (User *user : std::as_const(m_users)) {
#ifdef QUOTIENT_07
connect(user, &User::defaultAvatarChanged, this, [this, user]() {
avatarChanged(user, m_currentRoom);
});
#else
connect(user, &User::avatarChanged, this, &UserListModel::avatarChanged);
#endif
}
connect(m_currentRoom->connection(), &Connection::loggedOut, this, [this]() {
setRoom(nullptr);
@@ -92,14 +96,15 @@ QVariant UserListModel::data(const QModelIndex &index, int role) const
return QVariant::fromValue(user);
}
if (role == PowerLevelRole) {
auto pl = m_currentRoom->currentState().get<RoomPowerLevelsEvent>();
if (!pl) {
return 0;
}
auto pl = m_currentRoom->getCurrentState<RoomPowerLevelsEvent>();
return pl->powerLevelForUser(user->id());
}
if (role == PowerLevelStringRole) {
#ifdef QUOTIENT_07
auto pl = m_currentRoom->currentState().get<RoomPowerLevelsEvent>();
#else
auto pl = m_currentRoom->getCurrentState<RoomPowerLevelsEvent>();
#endif
// User might not in the room yet, in this case pl can be nullptr.
// e.g. When invited but user not accepted or denied the invitation.
if (!pl) {
@@ -138,9 +143,13 @@ void UserListModel::userAdded(Quotient::User *user)
beginInsertRows(QModelIndex(), pos, pos);
m_users.insert(pos, user);
endInsertRows();
#ifdef QUOTIENT_07
connect(user, &User::defaultAvatarChanged, this, [this, user]() {
avatarChanged(user, m_currentRoom);
});
#else
connect(user, &Quotient::User::avatarChanged, this, &UserListModel::avatarChanged);
#endif
}
void UserListModel::userRemoved(Quotient::User *user)
@@ -179,9 +188,13 @@ void UserListModel::refreshAll()
std::sort(m_users.begin(), m_users.end(), m_currentRoom->memberSorter());
}
for (User *user : std::as_const(m_users)) {
#ifdef QUOTIENT_07
connect(user, &User::defaultAvatarChanged, this, [this, user]() {
avatarChanged(user, m_currentRoom);
});
#else
connect(user, &User::avatarChanged, this, &UserListModel::avatarChanged);
#endif
}
connect(m_currentRoom->connection(), &Connection::loggedOut, this, [this]() {
setRoom(nullptr);

View File

@@ -0,0 +1,105 @@
// SPDX-FileCopyrightText: Kitsune Ral <Kitsune-Ral@users.sf.net>
// SPDX-FileCopyrightText: Tobias Fella <tobias.fella@kde.org>
// SPDX-License-Identifier: LGPL-2.1-or-later
#include "neochataccountregistry.h"
#include <connection.h>
using namespace Quotient;
void AccountRegistry::add(Connection *c)
{
if (m_accounts.contains(c))
return;
beginInsertRows(QModelIndex(), m_accounts.size(), m_accounts.size());
m_accounts += c;
endInsertRows();
emit accountCountChanged();
}
void AccountRegistry::drop(Connection *c)
{
beginRemoveRows(QModelIndex(), m_accounts.indexOf(c), m_accounts.indexOf(c));
m_accounts.removeOne(c);
endRemoveRows();
Q_ASSERT(!m_accounts.contains(c));
emit accountCountChanged();
}
bool AccountRegistry::isLoggedIn(const QString &userId) const
{
return std::any_of(m_accounts.cbegin(), m_accounts.cend(), [&userId](Connection *a) {
return a->userId() == userId;
});
}
bool AccountRegistry::contains(Connection *c) const
{
return m_accounts.contains(c);
}
AccountRegistry::AccountRegistry() = default;
QVariant AccountRegistry::data(const QModelIndex &index, int role) const
{
if (!index.isValid()) {
return {};
}
if (index.row() >= m_accounts.count()) {
return {};
}
const auto account = m_accounts[index.row()];
switch (role) {
case ConnectionRole:
return QVariant::fromValue(account);
case UserIdRole:
return QVariant::fromValue(account->userId());
default:
return {};
}
return {};
}
int AccountRegistry::rowCount(const QModelIndex &parent) const
{
if (parent.isValid()) {
return 0;
}
return m_accounts.count();
}
QHash<int, QByteArray> AccountRegistry::roleNames() const
{
return {{ConnectionRole, "connection"}, {UserIdRole, "userId"}};
}
bool AccountRegistry::isEmpty() const
{
return m_accounts.isEmpty();
}
int AccountRegistry::count() const
{
return m_accounts.count();
}
const QVector<Connection *> AccountRegistry::accounts() const
{
return m_accounts;
}
Connection *AccountRegistry::get(const QString &userId)
{
for (const auto &connection : m_accounts) {
if (connection->userId() == userId) {
return connection;
}
}
return nullptr;
}

View File

@@ -0,0 +1,54 @@
// SPDX-FileCopyrightText: 2020 Kitsune Ral <Kitsune-Ral@users.sf.net>
// SPDX-FileCopyrightText: Tobias Fella <tobias.fella@kde.org>
// SPDX-License-Identifier: LGPL-2.1-or-later
#pragma once
#include <QAbstractListModel>
#include <QList>
#include <QObject>
namespace Quotient
{
class Connection;
class AccountRegistry : public QAbstractListModel
{
Q_OBJECT
Q_PROPERTY(int accountCount READ count NOTIFY accountCountChanged);
public:
enum EventRoles {
ConnectionRole = Qt::UserRole + 1,
UserIdRole = Qt::DisplayRole,
};
static AccountRegistry &instance()
{
static AccountRegistry _instance;
return _instance;
}
const QVector<Connection *> accounts() const;
void add(Connection *a);
void drop(Connection *a);
bool isLoggedIn(const QString &userId) const;
bool isEmpty() const;
int count() const;
bool contains(Connection *) const;
Connection *get(const QString &userId);
[[nodiscard]] QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const override;
[[nodiscard]] int rowCount(const QModelIndex &parent = QModelIndex()) const override;
[[nodiscard]] QHash<int, QByteArray> roleNames() const override;
Q_SIGNALS:
void accountCountChanged();
private:
AccountRegistry();
QVector<Connection *> m_accounts;
};
}

View File

@@ -24,7 +24,6 @@
#include <csapi/room_state.h>
#include <csapi/typing.h>
#include <events/encryptionevent.h>
#include <events/eventrelation.h>
#include <events/reactionevent.h>
#include <events/redactionevent.h>
#include <events/roomavatarevent.h>
@@ -32,19 +31,23 @@
#include <events/roommemberevent.h>
#include <events/roompowerlevelsevent.h>
#include <events/simplestateevents.h>
#include <events/stickerevent.h>
#include <eventstats.h>
#include <jobs/downloadfilejob.h>
#ifndef QUOTIENT_07
#include <joinstate.h>
#endif
#include <qt_connection_util.h>
#include "controller.h"
#include "filetransferpseudojob.h"
#include "joinrulesevent.h"
#include "neochatconfig.h"
#include "neochatuser.h"
#include "notificationsmanager.h"
#ifdef QUOTIENT_07
#include "pollevent.h"
#include "pollhandler.h"
#endif
#include "filetransferpseudojob.h"
#include "stickerevent.h"
#include "texthandler.h"
#ifndef Q_OS_ANDROID
@@ -82,7 +85,7 @@ NeoChatRoom::NeoChatRoom(Connection *connection, QString roomId, JoinState joinS
if (this->joinState() != JoinState::Invite) {
return;
}
const QString senderId = currentState().get<RoomMemberEvent>(localUser()->id())->senderId();
const QString senderId = getCurrentState<RoomMemberEvent>(localUser()->id())->senderId();
QImage avatar_image;
if (!user(senderId)->avatarUrl(this).isEmpty()) {
avatar_image = user(senderId)->avatar(128, this);
@@ -171,9 +174,17 @@ QCoro::Task<void> NeoChatRoom::doUploadFile(QUrl url, QString body)
} else {
content = new EventContent::FileContent(url, fileInfo.size(), mime, fileInfo.fileName());
}
#ifdef QUOTIENT_07
QString txnId = postFile(body.isEmpty() ? url.fileName() : body, content);
#else
QString txnId = postFile(body.isEmpty() ? url.fileName() : body, url, false);
#endif
setHasFileUploading(true);
#ifdef QUOTIENT_07
connect(this, &Room::fileTransferCompleted, [this, txnId](const QString &id, FileSourceInfo) {
#else
connect(this, &Room::fileTransferCompleted, [this, txnId](const QString &id, const QUrl & /*localFile*/, const QUrl & /*mxcUrl*/) {
#endif
if (id == txnId) {
setFileUploadingProgress(0);
setHasFileUploading(false);
@@ -243,20 +254,21 @@ const RoomEvent *NeoChatRoom::lastEvent() const
continue;
}
if (event->isStateEvent() && !NeoChatConfig::showStateEvent()) {
if (event->isStateEvent() && !NeoChatConfig::self()->showStateEvent()) {
continue;
}
if (auto roomMemberEvent = eventCast<const RoomMemberEvent>(event)) {
if ((roomMemberEvent->isJoin() || roomMemberEvent->isLeave()) && !NeoChatConfig::showLeaveJoinEvent()) {
if ((roomMemberEvent->isJoin() || roomMemberEvent->isLeave()) && !NeoChatConfig::self()->showLeaveJoinEvent()) {
continue;
} else if (roomMemberEvent->isRename() && !roomMemberEvent->isJoin() && !roomMemberEvent->isLeave() && !NeoChatConfig::showRename()) {
} else if (roomMemberEvent->isRename() && !roomMemberEvent->isJoin() && !roomMemberEvent->isLeave() && !NeoChatConfig::self()->showRename()) {
continue;
} else if (roomMemberEvent->isAvatarUpdate() && !roomMemberEvent->isJoin() && !roomMemberEvent->isLeave() && !NeoChatConfig::showAvatarUpdate()) {
} else if (roomMemberEvent->isAvatarUpdate() && !roomMemberEvent->isJoin() && !roomMemberEvent->isLeave()
&& !NeoChatConfig::self()->showAvatarUpdate()) {
continue;
}
}
if (event->isStateEvent() && static_cast<const StateEvent &>(*event).repeatsState()) {
if (event->isStateEvent() && static_cast<const StateEventBase &>(*event).repeatsState()) {
continue;
}
@@ -281,9 +293,11 @@ const RoomEvent *NeoChatRoom::lastEvent() const
if (auto lastEvent = eventCast<const RoomMessageEvent>(event)) {
return lastEvent;
}
#ifdef QUOTIENT_07
if (auto lastEvent = eventCast<const PollStartEvent>(event)) {
return lastEvent;
}
#endif
}
return nullptr;
}
@@ -304,9 +318,10 @@ bool NeoChatRoom::lastEventIsSpoiler() const
QString NeoChatRoom::lastEventToString(Qt::TextFormat format, bool stripNewlines) const
{
if (auto event = lastEvent()) {
return safeMemberName(event->senderId()) + (event->isStateEvent() ? " " : ": ") + eventToString(*event, format, stripNewlines);
return roomMembername(event->senderId()) + (event->isStateEvent() ? QLatin1String(" ") : QLatin1String(": "))
+ eventToString(*event, format, stripNewlines);
}
return {};
return QLatin1String("");
}
bool NeoChatRoom::isEventHighlighted(const RoomEvent *e) const
@@ -322,7 +337,7 @@ void NeoChatRoom::checkForHighlights(const Quotient::TimelineItem &ti)
}
if (auto *e = ti.viewAs<RoomMessageEvent>()) {
const auto &text = e->plainBody();
if (text.contains(localUserId) || text.contains(safeMemberName(localUserId))) {
if (text.contains(localUserId) || text.contains(roomMembername(localUserId))) {
highlights.insert(e);
}
}
@@ -345,7 +360,7 @@ void NeoChatRoom::onAddHistoricalTimelineEvents(rev_iter_t from)
void NeoChatRoom::onRedaction(const RoomEvent &prevEvent, const RoomEvent & /*after*/)
{
if (const auto &e = eventCast<const ReactionEvent>(&prevEvent)) {
if (auto relatedEventId = e->eventId(); !relatedEventId.isEmpty()) {
if (auto relatedEventId = e->relation().eventId; !relatedEventId.isEmpty()) {
Q_EMIT updatedEvent(relatedEventId);
}
}
@@ -353,8 +368,9 @@ void NeoChatRoom::onRedaction(const RoomEvent &prevEvent, const RoomEvent & /*af
void NeoChatRoom::countChanged()
{
if (displayed() && unreadStats().empty()) {
setReadReceipt(lastEvent()->id());
if (displayed() && !hasUnreadMessages()) {
resetNotificationCount();
resetHighlightCount();
}
}
@@ -427,7 +443,11 @@ QString NeoChatRoom::eventToString(const RoomEvent &evt, Qt::TextFormat format,
const bool prettyPrint = (format == Qt::RichText);
using namespace Quotient;
#ifdef QUOTIENT_07
return switchOnType(
#else
return visit(
#endif
evt,
[this, format, stripNewlines](const RoomMessageEvent &e) {
using namespace MessageEventContent;
@@ -473,9 +493,14 @@ QString NeoChatRoom::eventToString(const RoomEvent &evt, Qt::TextFormat format,
[this, prettyPrint](const RoomMemberEvent &e) {
// FIXME: Rewind to the name that was at the time of this event
auto subjectName = this->htmlSafeMemberName(e.userId());
if (e.membership() == Membership::Leave) {
if (e.membership() == MembershipType::Leave) {
#ifdef QUOTIENT_07
if (e.prevContent() && e.prevContent()->displayName) {
subjectName = sanitized(*e.prevContent()->displayName).toHtmlEscaped();
#else
if (e.prevContent() && e.prevContent()->displayName.isEmpty()) {
subjectName = sanitized(e.prevContent()->displayName).toHtmlEscaped();
#endif
}
}
@@ -486,7 +511,7 @@ QString NeoChatRoom::eventToString(const RoomEvent &evt, Qt::TextFormat format,
// The below code assumes senderName output in AuthorRole
switch (e.membership()) {
case Membership::Invite:
case MembershipType::Invite:
if (e.repeatsState()) {
auto text = i18n("reinvited %1 to the room", subjectName);
if (!e.reason().isEmpty()) {
@@ -495,13 +520,13 @@ QString NeoChatRoom::eventToString(const RoomEvent &evt, Qt::TextFormat format,
return text;
}
Q_FALLTHROUGH();
case Membership::Join: {
case MembershipType::Join: {
QString text{};
// Part 1: invites and joins
if (e.repeatsState()) {
text = i18n("joined the room (repeated)");
} else if (e.changesMembership()) {
text = e.membership() == Membership::Invite ? i18n("invited %1 to the room", subjectName) : i18n("joined the room");
text = e.membership() == MembershipType::Invite ? i18n("invited %1 to the room", subjectName) : i18n("joined the room");
}
if (!text.isEmpty()) {
if (!e.reason().isEmpty()) {
@@ -511,19 +536,23 @@ QString NeoChatRoom::eventToString(const RoomEvent &evt, Qt::TextFormat format,
}
// Part 2: profile changes of joined members
if (e.isRename()) {
if (e.newDisplayName()) {
if (e.displayName().isEmpty()) {
text = i18nc("their refers to a singular user", "cleared their display name");
} else {
text = i18nc("their refers to a singular user", "changed their display name to %1", e.newDisplayName()->toHtmlEscaped());
text = i18nc("their refers to a singular user", "changed their display name to %1", e.displayName().toHtmlEscaped());
}
}
if (e.isAvatarUpdate()) {
if (!text.isEmpty()) {
text += i18n(" and ");
}
if (e.newAvatarUrl()) {
if (e.avatarUrl().isEmpty()) {
text += i18nc("their refers to a singular user", "cleared their avatar");
#ifdef QUOTIENT_07
} else if (!e.prevContent()->avatarUrl) {
#else
} else if (e.prevContent()->avatarUrl.isEmpty()) {
#endif
text += i18n("set an avatar");
} else {
text += i18nc("their refers to a singular user", "updated their avatar");
@@ -534,18 +563,18 @@ QString NeoChatRoom::eventToString(const RoomEvent &evt, Qt::TextFormat format,
}
return text;
}
case Membership::Leave:
if (e.prevContent() && e.prevContent()->membership == Membership::Invite) {
case MembershipType::Leave:
if (e.prevContent() && e.prevContent()->membership == MembershipType::Invite) {
return (e.senderId() != e.userId()) ? i18n("withdrew %1's invitation", subjectName) : i18n("rejected the invitation");
}
if (e.prevContent() && e.prevContent()->membership == Membership::Ban) {
if (e.prevContent() && e.prevContent()->membership == MembershipType::Ban) {
return (e.senderId() != e.userId()) ? i18n("unbanned %1", subjectName) : i18n("self-unbanned");
}
return (e.senderId() != e.userId())
? i18n("has put %1 out of the room: %2", subjectName, e.contentJson()["reason"_ls].toString().toHtmlEscaped())
: i18n("left the room");
case Membership::Ban:
case MembershipType::Ban:
if (e.senderId() != e.userId()) {
if (e.reason().isEmpty()) {
return i18n("banned %1 from the room", subjectName);
@@ -555,7 +584,7 @@ QString NeoChatRoom::eventToString(const RoomEvent &evt, Qt::TextFormat format,
} else {
return i18n("self-banned from the room");
}
case Membership::Knock: {
case MembershipType::Knock: {
QString reason(e.contentJson()["reason"_ls].toString().toHtmlEscaped());
return reason.isEmpty() ? i18n("requested an invite") : i18n("requested an invite with reason: %1", reason);
}
@@ -589,7 +618,7 @@ QString NeoChatRoom::eventToString(const RoomEvent &evt, Qt::TextFormat format,
[](const RoomPowerLevelsEvent &) {
return i18nc("'power level' means permission level", "changed the power levels for this room");
},
[](const StateEvent &e) {
[](const StateEventBase &e) {
if (e.matrixType() == QLatin1String("m.room.server_acl")) {
return i18n("changed the server access control lists for this room");
}
@@ -605,15 +634,21 @@ QString NeoChatRoom::eventToString(const RoomEvent &evt, Qt::TextFormat format,
return e.stateKey().isEmpty() ? i18n("updated %1 state", e.matrixType())
: i18n("updated %1 state for %2", e.matrixType(), e.stateKey().toHtmlEscaped());
},
#ifdef QUOTIENT_07
[](const PollStartEvent &e) {
return e.question();
},
#endif
i18n("Unknown event"));
}
QString NeoChatRoom::eventToGenericString(const RoomEvent &evt) const
{
#ifdef QUOTIENT_07
return switchOnType(
#else
return visit(
#endif
evt,
[](const RoomMessageEvent &e) {
Q_UNUSED(e)
@@ -625,25 +660,25 @@ QString NeoChatRoom::eventToGenericString(const RoomEvent &evt) const
},
[](const RoomMemberEvent &e) {
switch (e.membership()) {
case Membership::Invite:
case MembershipType::Invite:
if (e.repeatsState()) {
return i18n("reinvited someone to the room");
}
Q_FALLTHROUGH();
case Membership::Join: {
case MembershipType::Join: {
QString text{};
// Part 1: invites and joins
if (e.repeatsState()) {
text = i18n("joined the room (repeated)");
} else if (e.changesMembership()) {
text = e.membership() == Membership::Invite ? i18n("invited someone to the room") : i18n("joined the room");
text = e.membership() == MembershipType::Invite ? i18n("invited someone to the room") : i18n("joined the room");
}
if (!text.isEmpty()) {
return text;
}
// Part 2: profile changes of joined members
if (e.isRename()) {
if (e.newDisplayName()) {
if (e.displayName().isEmpty()) {
text = i18nc("their refers to a singular user", "cleared their display name");
} else {
text = i18nc("their refers to a singular user", "changed their display name");
@@ -653,9 +688,13 @@ QString NeoChatRoom::eventToGenericString(const RoomEvent &evt) const
if (!text.isEmpty()) {
text += i18n(" and ");
}
if (e.newAvatarUrl()) {
if (e.avatarUrl().isEmpty()) {
text += i18nc("their refers to a singular user", "cleared their avatar");
#ifdef QUOTIENT_07
} else if (!e.prevContent()->avatarUrl) {
#else
} else if (e.prevContent()->avatarUrl.isEmpty()) {
#endif
text += i18n("set an avatar");
} else {
text += i18nc("their refers to a singular user", "updated their avatar");
@@ -666,22 +705,22 @@ QString NeoChatRoom::eventToGenericString(const RoomEvent &evt) const
}
return text;
}
case Membership::Leave:
if (e.prevContent() && e.prevContent()->membership == Membership::Invite) {
case MembershipType::Leave:
if (e.prevContent() && e.prevContent()->membership == MembershipType::Invite) {
return (e.senderId() != e.userId()) ? i18n("withdrew a user's invitation") : i18n("rejected the invitation");
}
if (e.prevContent() && e.prevContent()->membership == Membership::Ban) {
if (e.prevContent() && e.prevContent()->membership == MembershipType::Ban) {
return (e.senderId() != e.userId()) ? i18n("unbanned a user") : i18n("self-unbanned");
}
return (e.senderId() != e.userId()) ? i18n("put a user out of the room") : i18n("left the room");
case Membership::Ban:
case MembershipType::Ban:
if (e.senderId() != e.userId()) {
return i18n("banned a user from the room");
} else {
return i18n("self-banned from the room");
}
case Membership::Knock: {
case MembershipType::Knock: {
return i18n("requested an invite");
}
default:;
@@ -709,7 +748,7 @@ QString NeoChatRoom::eventToGenericString(const RoomEvent &evt) const
[](const RoomPowerLevelsEvent &) {
return i18nc("'power level' means permission level", "changed the power levels for this room");
},
[](const StateEvent &e) {
[](const StateEventBase &e) {
if (e.matrixType() == QLatin1String("m.room.server_acl")) {
return i18n("changed the server access control lists for this room");
}
@@ -724,19 +763,28 @@ QString NeoChatRoom::eventToGenericString(const RoomEvent &evt) const
}
return i18n("updated the state");
},
#ifdef QUOTIENT_07
[](const PollStartEvent &e) {
Q_UNUSED(e);
return i18n("started a poll");
},
#endif
i18n("Unknown event"));
}
void NeoChatRoom::changeAvatar(const QUrl &localFile)
{
const auto job = connection()->uploadFile(localFile.toLocalFile());
#ifdef QUOTIENT_07
if (isJobPending(job)) {
#else
if (isJobRunning(job)) {
#endif
connect(job, &BaseJob::success, this, [this, job] {
#ifdef QUOTIENT_07
connection()->callApi<SetRoomStateWithKeyJob>(id(), "m.room.avatar", QString(), QJsonObject{{"url", job->contentUri().toString()}});
#else
connection()->callApi<SetRoomStateWithKeyJob>(id(), "m.room.avatar", QString(), QJsonObject{{"url", job->contentUri()}});
#endif
});
}
}
@@ -845,11 +893,11 @@ void NeoChatRoom::toggleReaction(const QString &eventId, const QString &reaction
QStringList redactEventIds; // What if there are multiple reaction events?
const auto &annotations = relatedEvents(evt, EventRelation::AnnotationType);
const auto &annotations = relatedEvents(evt, EventRelation::Annotation());
if (!annotations.isEmpty()) {
for (const auto &a : annotations) {
if (auto e = eventCast<const ReactionEvent>(a)) {
if (e->key() != reaction) {
if (e->relation().key != reaction) {
continue;
}
@@ -872,15 +920,18 @@ void NeoChatRoom::toggleReaction(const QString &eventId, const QString &reaction
bool NeoChatRoom::containsUser(const QString &userID) const
{
return !isMember(userID);
auto u = Room::user(userID);
if (!u) {
return false;
}
return Room::memberJoinState(u) != JoinState::Leave;
}
bool NeoChatRoom::canSendEvent(const QString &eventType) const
{
auto plEvent = currentState().get<RoomPowerLevelsEvent>();
if (!plEvent) {
return true;
}
auto plEvent = getCurrentState<RoomPowerLevelsEvent>();
auto pl = plEvent->powerLevelForEvent(eventType);
auto currentPl = plEvent->powerLevelForUser(localUser()->id());
@@ -889,19 +940,28 @@ bool NeoChatRoom::canSendEvent(const QString &eventType) const
bool NeoChatRoom::canSendState(const QString &eventType) const
{
auto plEvent = currentState().get<RoomPowerLevelsEvent>();
if (!plEvent) {
return false;
}
auto plEvent = getCurrentState<RoomPowerLevelsEvent>();
auto pl = plEvent->powerLevelForState(eventType);
auto currentPl = plEvent->powerLevelForUser(localUser()->id());
#ifndef QUOTIENT_07
if (eventType == "m.room.history_visibility" || eventType == "org.matrix.room.preview_urls") {
return false;
} else {
return currentPl >= pl;
}
#else
return currentPl >= pl;
#endif
}
bool NeoChatRoom::readMarkerLoaded() const
{
#ifdef QUOTIENT_07
const auto it = findInTimeline(lastFullyReadEventId());
#else
const auto it = findInTimeline(readMarkerEventId());
#endif
return it != historyEdge();
}
@@ -912,7 +972,7 @@ bool NeoChatRoom::isInvite() const
bool NeoChatRoom::isUserBanned(const QString &user) const
{
return currentState().get<RoomMemberEvent>(user)->membership() == Membership::Ban;
return getCurrentState<RoomMemberEvent>(user)->membership() == MembershipType::Ban;
}
QString NeoChatRoom::htmlSafeDisplayName() const
@@ -927,7 +987,7 @@ void NeoChatRoom::deleteMessagesByUser(const QString &user, const QString &reaso
QString NeoChatRoom::joinRule() const
{
return currentState().get<JoinRulesEvent>()->joinRule();
return getCurrentState<JoinRulesEvent>()->joinRule();
}
void NeoChatRoom::setJoinRule(const QString &joinRule)
@@ -936,13 +996,21 @@ void NeoChatRoom::setJoinRule(const QString &joinRule)
qWarning() << "Power level too low to set join rules";
return;
}
#ifdef QUOTIENT_07
setState("m.room.join_rules", "", QJsonObject{{"join_rule", joinRule}});
#else
setState<JoinRulesEvent>(QJsonObject{{"type", "m.room.join_rules"}, {"state_key", ""}, {"content", QJsonObject{{"join_rule", joinRule}}}});
#endif
// Not emitting joinRuleChanged() here, since that would override the change in the UI with the *current* value, which is not the *new* value.
}
QString NeoChatRoom::historyVisibility() const
{
#ifdef QUOTIENT_07
return currentState().get("m.room.history_visibility")->contentJson()["history_visibility"_ls].toString();
#else
return getCurrentState("m.room.history_visibility")->contentJson()["history_visibility"_ls].toString();
#endif
}
void NeoChatRoom::setHistoryVisibility(const QString &historyVisibilityRule)
@@ -952,14 +1020,23 @@ void NeoChatRoom::setHistoryVisibility(const QString &historyVisibilityRule)
return;
}
#ifdef QUOTIENT_07
setState("m.room.history_visibility", "", QJsonObject{{"history_visibility", historyVisibilityRule}});
#else
qWarning() << "Quotient 0.7 required to set history visibility";
return;
#endif
// Not emitting historyVisibilityChanged() here, since that would override the change in the UI with the *current* value, which is not the *new* value.
}
bool NeoChatRoom::defaultUrlPreviewState() const
{
#ifdef QUOTIENT_07
auto urlPreviewsDisabled = currentState().get("org.matrix.room.preview_urls");
#else
auto urlPreviewsDisabled = getCurrentState("org.matrix.room.preview_urls");
#endif
// Some rooms will not have this state event set so check for a nullptr return.
if (urlPreviewsDisabled != nullptr) {
@@ -1005,7 +1082,12 @@ void NeoChatRoom::setDefaultUrlPreviewState(const bool &defaultUrlPreviewState)
*
* You just have to set disable to true to disable URL previews by default.
*/
#ifdef QUOTIENT_07
setState("org.matrix.room.preview_urls", "", QJsonObject{{"disable", !defaultUrlPreviewState}});
#else
qWarning() << "Quotient 0.7 required to set room default url preview setting";
return;
#endif
}
bool NeoChatRoom::urlPreviewEnabled() const
@@ -1043,20 +1125,32 @@ void NeoChatRoom::setUserPowerLevel(const QString &userID, const int &powerLevel
qWarning() << "Power level too low to set user power levels";
return;
}
#ifdef QUOTIENT_07
if (!isMember(userID)) {
#else
if (memberJoinState(user(userID)) == JoinState::Join) {
#endif
qWarning() << "User is not a member of this room so power level cannot be set";
return;
}
int clampPowerLevel = std::clamp(powerLevel, 0, 100);
#ifdef QUOTIENT_07
auto powerLevelContent = currentState().get("m.room.power_levels")->contentJson();
#else
auto powerLevelContent = getCurrentState<RoomPowerLevelsEvent>()->contentJson();
#endif
auto powerLevelUserOverrides = powerLevelContent["users"].toObject();
if (powerLevelUserOverrides[userID] != clampPowerLevel) {
powerLevelUserOverrides[userID] = clampPowerLevel;
powerLevelContent["users"] = powerLevelUserOverrides;
#ifdef QUOTIENT_07
setState("m.room.power_levels", "", powerLevelContent);
#else
setState<RoomPowerLevelsEvent>(QJsonObject{{"type", "m.room.power_levels"}, {"state_key", ""}, {"content", powerLevelContent}});
#endif
}
}
@@ -1068,7 +1162,11 @@ int NeoChatRoom::getUserPowerLevel(const QString &userId) const
int NeoChatRoom::powerLevel(const QString &eventName, const bool &isStateEvent) const
{
#ifdef QUOTIENT_07
const auto powerLevelEvent = currentState().get<RoomPowerLevelsEvent>();
#else
const auto powerLevelEvent = getCurrentState<RoomPowerLevelsEvent>();
#endif
if (eventName == "ban") {
return powerLevelEvent->ban();
} else if (eventName == "kick") {
@@ -1092,7 +1190,11 @@ int NeoChatRoom::powerLevel(const QString &eventName, const bool &isStateEvent)
void NeoChatRoom::setPowerLevel(const QString &eventName, const int &newPowerLevel, const bool &isStateEvent)
{
#ifdef QUOTIENT_07
auto powerLevelContent = currentState().get("m.room.power_levels")->contentJson();
#else
auto powerLevelContent = getCurrentState<RoomPowerLevelsEvent>()->contentJson();
#endif
int clampPowerLevel = std::clamp(newPowerLevel, 0, 100);
int powerLevel = 0;
@@ -1121,7 +1223,11 @@ void NeoChatRoom::setPowerLevel(const QString &eventName, const int &newPowerLev
}
}
#ifdef QUOTIENT_07
setState("m.room.power_levels", "", powerLevelContent);
#else
setState<RoomPowerLevelsEvent>(QJsonObject{{"type", "m.room.power_levels"}, {"state_key", ""}, {"content", powerLevelContent}});
#endif
}
int NeoChatRoom::defaultUserPowerLevel() const
@@ -1344,7 +1450,11 @@ bool NeoChatRoom::isSpace()
return false;
}
#ifdef QUOTIENT_07
return creationEvent->roomType() == RoomType::Space;
#else
return false;
#endif
}
PushNotificationState::State NeoChatRoom::pushNotificationState() const
@@ -1671,9 +1781,15 @@ void NeoChatRoom::setSavedText(const QString &savedText)
bool NeoChatRoom::canEncryptRoom() const
{
#ifdef QUOTIENT_07
#ifdef Quotient_E2EE_ENABLED
return !usesEncryption() && canSendState("m.room.encryption");
#endif
#endif
return false;
}
#ifdef QUOTIENT_07
PollHandler *NeoChatRoom::poll(const QString &eventId)
{
if (!m_polls.contains(eventId)) {
@@ -1684,6 +1800,7 @@ PollHandler *NeoChatRoom::poll(const QString &eventId)
}
return m_polls[eventId];
}
#endif
bool NeoChatRoom::downloadTempFile(const QString &eventId)
{

View File

@@ -735,6 +735,7 @@ public:
*/
void setSavedText(const QString &savedText);
#ifdef QUOTIENT_07
/**
* @brief Get a PollHandler object for the given event Id.
*
@@ -746,6 +747,7 @@ public:
* @sa PollHandler
*/
Q_INVOKABLE PollHandler *poll(const QString &eventId);
#endif
private:
QSet<const Quotient::RoomEvent *> highlights;
@@ -773,7 +775,9 @@ private:
QVector<Mention> m_mentions;
QVector<Mention> m_editMentions;
QString m_savedText;
#ifdef QUOTIENT_07
QCache<QString, PollHandler> m_polls;
#endif
private Q_SLOTS:
void countChanged();

View File

@@ -11,7 +11,11 @@
#include <KNotification>
#include <KNotificationReplyAction>
#ifdef QUOTIENT_07
#include <accountregistry.h>
#else
#include "neochataccountregistry.h"
#endif
#include <connection.h>
#include <csapi/pushrules.h>
@@ -68,7 +72,11 @@ void NotificationsManager::postNotification(NeoChatRoom *room,
connect(notification, &KNotification::defaultActivated, this, [=]() {
WindowController::instance().showAndRaiseWindow(notification->xdgActivationToken());
if (room->localUser()->id() != Controller::instance().activeConnection()->userId()) {
#ifdef QUOTIENT_07
Controller::instance().setActiveConnection(Accounts.get(room->localUser()->id()));
#else
Controller::instance().setActiveConnection(AccountRegistry::instance().get(room->localUser()->id()));
#endif
}
RoomManager::instance().enterRoom(room);
});

View File

@@ -34,7 +34,7 @@ void PollHandler::setRoom(NeoChatRoom *room)
connect(room, &NeoChatRoom::aboutToAddNewMessages, this, [this](Quotient::RoomEventsRange events) {
for (const auto &event : events) {
if (event->is<PollEndEvent>()) {
auto pl = m_room->currentState().get<RoomPowerLevelsEvent>();
auto pl = m_room->getCurrentState<RoomPowerLevelsEvent>();
auto userPl = pl->powerLevelForUser(event->senderId());
if (event->senderId() == (*m_room->findInTimeline(m_pollStartEventId))->senderId() || userPl >= pl->redact()) {
m_hasEnded = true;
@@ -75,7 +75,7 @@ void PollHandler::checkLoadRelations()
connect(job, &BaseJob::success, this, [this, job]() {
for (const auto &event : job->chunk()) {
if (event->is<PollEndEvent>()) {
auto pl = m_room->currentState().get<RoomPowerLevelsEvent>();
auto pl = m_room->getCurrentState<RoomPowerLevelsEvent>();
auto userPl = pl->powerLevelForUser(event->senderId());
if (event->senderId() == (*m_room->findInTimeline(m_pollStartEventId))->senderId() || userPl >= pl->redact()) {
m_hasEnded = true;

View File

@@ -35,7 +35,7 @@ QQC2.Dialog {
text: i18n("Sign out")
QQC2.DialogButtonBox.buttonRole: QQC2.DialogButtonBox.AcceptRole
onClicked: {
Controller.activeConnection.logout();
Controller.logout(Controller.activeConnection, true);
root.close();
}
}

View File

@@ -40,12 +40,12 @@ Labs.MenuBar {
Labs.MenuItem {
text: i18nc("menu", "New Private Chat…")
enabled: pageStack.layers.currentItem.title !== i18n("Start a Chat") && Controller.activeConnection
enabled: pageStack.layers.currentItem.title !== i18n("Start a Chat") && Controller.accountCount > 0
onTriggered: pushReplaceLayer("qrc:/StartChatPage.qml", {connection: Controller.activeConnection})
}
Labs.MenuItem {
text: i18nc("menu", "New Group…")
enabled: pageStack.layers.currentItem.title !== i18n("Start a Chat") && Controller.activeConnection
enabled: pageStack.layers.currentItem.title !== i18n("Start a Chat") && Controller.accountCount > 0
shortcut: StandardKey.New
onTriggered: {
const dialog = createRoomDialog.createObject(root.overlay)

View File

@@ -76,7 +76,7 @@ QQC2.ToolBar {
visible: switchUserButton.checked
onVisibleChanged: if (visible) accounts.forceActiveFocus()
clip: true
model: Accounts
model: AccountRegistry
keyNavigationEnabled: false
Keys.onDownPressed: {

View File

@@ -1,502 +0,0 @@
// SPDX-FileCopyrightText: 2019 Black Hat <bhat@encom.eu.org>
// SPDX-FileCopyrightText: 2020 Carl Schwan <carl@carlschwan.eu>
// SPDX-License-Identifier: GPL-3.0-only
import QtQuick 2.15
import QtQuick.Controls 2.15 as QQC2
import QtQuick.Layouts 1.15
import QtQml.Models 2.15
import org.kde.kirigami 2.15 as Kirigami
import org.kde.kitemmodels 1.0
import org.kde.neochat 1.0
Kirigami.ScrollablePage {
id: page
/**
* @brief The current width of the room list.
*
* @note Other objects can access the value but the private function makes sure
* that only the internal members can modify it.
*/
readonly property int currentWidth: _private.currentWidth
readonly property bool collapsed: Config.collapsed
onCollapsedChanged: if (collapsed) {
sortFilterRoomListModel.filterText = "";
}
header: ColumnLayout {
visible: !page.collapsed
spacing: 0
ListView {
id: spaceList
property string activeSpaceId: ""
orientation: Qt.Horizontal
spacing: Kirigami.Units.smallSpacing
clip: true
visible: spaceList.count > 0
Layout.preferredHeight: Kirigami.Units.gridUnit * 2
Layout.fillWidth: true
model: SortFilterSpaceListModel {
id: sortFilterSpaceListModel
sourceModel: roomListModel
}
header: QQC2.ItemDelegate {
id: homeButton
icon.name: "home"
text: i18nc("@action:button", "Show All Rooms")
height: parent.height
width: height
leftPadding: topPadding
rightPadding: topPadding
contentItem: Kirigami.Icon {
source: "home"
}
onClicked: {
sortFilterRoomListModel.activeSpaceId = "";
spaceList.activeSpaceId = '';
listView.positionViewAtIndex(0, ListView.Beginning);
}
QQC2.ToolTip.text: homeButton.text
QQC2.ToolTip.visible: hovered
QQC2.ToolTip.delay: Kirigami.Units.toolTipDelay
}
delegate: QQC2.ItemDelegate {
required property string avatar
required property var currentRoom
required property int index
required property string id
height: parent.height
width: height
leftPadding: topPadding
rightPadding: topPadding
contentItem: Kirigami.Avatar {
name: currentRoom.displayName
source: avatar !== "" ? "image://mxc/" + avatar : ""
}
onClicked: {
spaceList.activeSpaceId = id;
sortFilterRoomListModel.activeSpaceId = id;
}
Accessible.name: currentRoom.displayName
QQC2.ToolTip.text: currentRoom.displayName
QQC2.ToolTip.visible: hovered
QQC2.ToolTip.delay: Kirigami.Units.toolTipDelay
onPressAndHold: {
spaceList.createContextMenu(currentRoom)
}
TapHandler {
acceptedButtons: Qt.RightButton
acceptedDevices: PointerDevice.Mouse
onTapped: spaceList.createContextMenu(currentRoom)
}
}
function createContextMenu(room) {
const menu = spaceListContextMenu.createObject(page, {room: room})
menu.open()
}
}
Kirigami.Separator {
Layout.fillWidth: true
}
Component {
id: spaceListContextMenu
SpaceListContextMenu {}
}
}
property var enteredRoom
Connections {
target: RoomManager
function onCurrentRoomChanged() {
itemSelection.setCurrentIndex(roomListModel.index(roomListModel.indexForRoom(RoomManager.currentRoom), 0), ItemSelectionModel.SelectCurrent)
}
}
function goToNextRoomFiltered(condition) {
let index = listView.currentIndex;
while (index++ !== listView.count - 1) {
if (condition(listView.itemAtIndex(index))) {
listView.currentIndex = index;
listView.currentItem.action.trigger();
return;
}
}
}
function goToPreviousRoomFiltered(condition) {
let index = listView.currentIndex;
while (index-- !== 0) {
if (condition(listView.itemAtIndex(index))) {
listView.currentIndex = index;
listView.currentItem.action.trigger();
return;
}
}
}
function goToNextRoom() {
goToNextRoomFiltered((item) => item.visible);
}
function goToPreviousRoom() {
goToPreviousRoomFiltered((item) => item.visible);
}
function goToNextUnreadRoom() {
goToNextRoomFiltered((item) => (item.visible && item.hasUnread));
}
function goToPreviousUnreadRoom() {
goToPreviousRoomFiltered((item) => (item.visible && item.hasUnread));
}
titleDelegate: ExploreComponent {
Layout.fillWidth: true
desiredWidth: page.width - Kirigami.Units.largeSpacing
collapsed: page.collapsed
}
ListView {
id: listView
activeFocusOnTab: true
clip: Accounts.count > 1
header: QQC2.ItemDelegate {
visible: page.collapsed
action: Kirigami.Action {
id: enterRoomAction
onTriggered: quickView.item.open();
}
topPadding: Kirigami.Units.largeSpacing
leftPadding: Kirigami.Units.largeSpacing
rightPadding: Kirigami.Units.largeSpacing
bottomPadding: Kirigami.Units.largeSpacing
width: visible ? ListView.view.width : 0
height: visible ? Kirigami.Units.gridUnit * 2 : 0
Kirigami.Icon {
anchors.centerIn: parent
width: 22
height: 22
source: "search"
}
Kirigami.Separator {
width: parent.width
anchors.bottom: parent.bottom
}
}
Layout.fillWidth: true
Kirigami.PlaceholderMessage {
anchors.centerIn: parent
width: parent.width - (Kirigami.Units.largeSpacing * 4)
visible: listView.count == 0
text: sortFilterRoomListModel.filterText.length > 0 ? i18n("No rooms found") : i18n("Join some rooms to get started")
helpfulAction: Kirigami.Action {
icon.name: sortFilterRoomListModel.filterText.length > 0 ? "search" : "list-add"
text: sortFilterRoomListModel.filterText.length > 0 ? i18n("Search in room directory") : i18n("Explore rooms")
onTriggered: pageStack.layers.push("qrc:/JoinRoomPage.qml", {
connection: Controller.activeConnection,
keyword: sortFilterRoomListModel.filterText
})
}
}
ItemSelectionModel {
id: itemSelection
model: roomListModel
onCurrentChanged: {
listView.currentIndex = sortFilterRoomListModel.mapFromSource(current).row
}
}
model: SortFilterRoomListModel {
id: sortFilterRoomListModel
sourceModel: RoomListModel {
id: roomListModel
connection: Controller.activeConnection
}
roomSortOrder: Config.mergeRoomList ? SortFilterRoomListModel.LastActivity : SortFilterRoomListModel.Categories
onLayoutChanged: {
listView.currentIndex = sortFilterRoomListModel.mapFromSource(itemSelection.currentIndex).row
}
}
section.property: sortFilterRoomListModel.filterText.length === 0 && !Config.mergeRoomList ? "category" : null
section.delegate: page.collapsed ? foldButton : sectionHeader
Component {
id: sectionHeader
Kirigami.ListSectionHeader {
height: implicitHeight
label: roomListModel.categoryName(section)
action: Kirigami.Action {
onTriggered: roomListModel.setCategoryVisible(section, !roomListModel.categoryVisible(section))
}
contentItem.children: QQC2.ToolButton {
icon.name: (roomListModel.categoryVisible(section) ? "go-up" : "go-down")
icon.width: Kirigami.Units.iconSizes.small
icon.height: Kirigami.Units.iconSizes.small
onClicked: roomListModel.setCategoryVisible(section, !roomListModel.categoryVisible(section))
}
}
}
Component {
id: foldButton
Item {
width: ListView.view.width
height: visible ? width : 0
QQC2.ToolButton {
id: button
anchors.centerIn: parent
icon.name: hovered ? (roomListModel.categoryVisible(section) ? "go-up" : "go-down") : roomListModel.categoryIconName(section)
icon.width: Kirigami.Units.iconSizes.smallMedium
icon.height: Kirigami.Units.iconSizes.smallMedium
onClicked: roomListModel.setCategoryVisible(section, !roomListModel.categoryVisible(section))
QQC2.ToolTip.text: roomListModel.categoryName(section)
QQC2.ToolTip.visible: hovered
QQC2.ToolTip.delay: Kirigami.Units.toolTipDelay
}
}
}
reuseItems: true
currentIndex: -1 // we don't want any room highlighted by default
delegate: page.collapsed ? collapsedModeListComponent : normalModeListComponent
Component {
id: collapsedModeListComponent
QQC2.ItemDelegate {
action: Kirigami.Action {
id: enterRoomAction
onTriggered: {
RoomManager.enterRoom(currentRoom);
}
}
Keys.onEnterPressed: enterRoomAction.trigger()
Keys.onReturnPressed: enterRoomAction.trigger()
topPadding: Kirigami.Units.largeSpacing
leftPadding: Kirigami.Units.largeSpacing
rightPadding: Kirigami.Units.largeSpacing
bottomPadding: Kirigami.Units.largeSpacing
width: ListView.view.width
height: visible ? ListView.view.width : 0
visible: model.categoryVisible || sortFilterRoomListModel.filterText.length > 0 || Config.mergeRoomList
contentItem: Kirigami.Avatar {
source: avatar ? "image://mxc/" + avatar : ""
name: model.name || i18n("No Name")
sourceSize.width: Kirigami.Units.gridUnit + Kirigami.Units.largeSpacing * 2
sourceSize.height: Kirigami.Units.gridUnit + Kirigami.Units.largeSpacing * 2
}
QQC2.ToolTip {
enabled: text.length !== 0
text: name ?? ""
}
}
}
Component {
id: roomListContextMenu
RoomListContextMenu {}
}
Component {
id: normalModeListComponent
Kirigami.BasicListItem {
id: roomListItem
visible: model.categoryVisible || sortFilterRoomListModel.filterText.length > 0 || Config.mergeRoomList
topPadding: Kirigami.Units.largeSpacing
bottomPadding: Kirigami.Units.largeSpacing
highlighted: listView.currentIndex === index
focus: true
icon: undefined
action: Kirigami.Action {
id: enterRoomAction
onTriggered: {
RoomManager.enterRoom(currentRoom);
}
}
Keys.onEnterPressed: enterRoomAction.trigger()
Keys.onReturnPressed: enterRoomAction.trigger()
bold: unreadCount > 0
label: name ?? ""
labelItem.textFormat: Text.PlainText
subtitle: subtitleText
subtitleItem.textFormat: Text.PlainText
subtitleItem.visible: !Config.compactRoomList
onPressAndHold: {
createRoomListContextMenu()
}
TapHandler {
acceptedButtons: Qt.RightButton
acceptedDevices: PointerDevice.Mouse
onTapped: createRoomListContextMenu()
}
leading: Kirigami.Avatar {
source: avatar ? "image://mxc/" + avatar : ""
name: model.name || i18n("No Name")
implicitWidth: visible ? height : 0
visible: Config.showAvatarInRoomDrawer
sourceSize.width: Kirigami.Units.gridUnit + Kirigami.Units.largeSpacing * 2
sourceSize.height: Kirigami.Units.gridUnit + Kirigami.Units.largeSpacing * 2
}
trailing: RowLayout {
Kirigami.Icon {
source: "notifications-disabled"
enabled: false
implicitWidth: Kirigami.Units.iconSizes.smallMedium
implicitHeight: Kirigami.Units.iconSizes.smallMedium
Layout.rightMargin: Kirigami.Units.smallSpacing
visible: currentRoom.pushNotificationState === PushNotificationState.Mute && !configButton.visible && unreadCount <= 0
Accessible.name: i18n("Muted room")
}
QQC2.Label {
id: notificationCountLabel
text: notificationCount > 0 ? notificationCount : "●"
visible: unreadCount > 0
color: Kirigami.Theme.textColor
Layout.rightMargin: Kirigami.Units.smallSpacing
Layout.minimumHeight: Kirigami.Units.iconSizes.smallMedium
Layout.minimumWidth: Math.max(notificationCountTextMetrics.advanceWidth + Kirigami.Units.smallSpacing * 2, height)
horizontalAlignment: Text.AlignHCenter
background: Rectangle {
visible: notificationCount > 0
Kirigami.Theme.colorSet: Kirigami.Theme.Button
color: highlightCount > 0 ? Kirigami.Theme.positiveTextColor : Kirigami.Theme.disabledTextColor
opacity: highlightCount > 0 ? 1 : 0.3
radius: height / 2
}
TextMetrics {
id: notificationCountTextMetrics
text: notificationCountLabel.text
}
}
QQC2.Button {
id: configButton
visible: roomListItem.hovered && !Kirigami.Settings.isMobile && !Config.compactRoomList
Accessible.name: i18n("Configure room")
action: Kirigami.Action {
id: optionAction
icon.name: "configure"
onTriggered: {
createRoomListContextMenu()
}
}
}
}
function createRoomListContextMenu() {
const menu = roomListContextMenu.createObject(page, {room: currentRoom})
if (!Kirigami.Settings.isMobile && !Config.compactRoomList) {
configButton.visible = true
configButton.down = true
}
menu.closed.connect(function() {
configButton.down = undefined
configButton.visible = Qt.binding(function() { return roomListItem.hovered && !Kirigami.Settings.isMobile && !Config.compactRoomList })
})
menu.open()
}
readonly property bool hasUnread: unreadCount > 0
}
}
}
footer: UserInfo {
width: parent.width
visible: !page.collapsed
}
MouseArea {
anchors.top: parent.top
anchors.bottom: parent.bottom
parent: applicationWindow().overlay.parent
x: page.currentWidth - width / 2
width: Kirigami.Units.smallSpacing * 2
z: page.z + 1
enabled: RoomManager.hasOpenRoom && applicationWindow().width >= Kirigami.Units.gridUnit * 35
visible: enabled
cursorShape: Qt.SplitHCursor
property int _lastX
onPressed: mouse => {
_lastX = mouse.x;
}
onPositionChanged: mouse => {
if (_lastX == -1) {
return;
}
if (mouse.x > _lastX) {
// we moved to the right
if (_private.currentWidth < _private.collapseWidth && _private.currentWidth + (mouse.x - _lastX) >= _private.collapseWidth) {
// Here we get back directly to a more wide mode.
_private.currentWidth = _private.collapseWidth;
Config.collapsed = false;
} else if (_private.currentWidth >= _private.collapseWidth) {
// Increase page width
_private.currentWidth = Math.min(_private.defaultWidth, _private.currentWidth + (mouse.x - _lastX));
}
} else if (mouse.x < _lastX) {
const tmpWidth = _private.currentWidth - (_lastX - mouse.x);
if (tmpWidth < _private.collapseWidth) {
_private.currentWidth = Qt.binding(() => _private.collapsedSize + (page.contentItem.QQC2.ScrollBar.vertical.visible ? page.contentItem.QQC2.ScrollBar.vertical.width : 0));
Config.collapsed = true;
} else {
_private.currentWidth = tmpWidth;
}
}
}
}
/*
* Hold the modifiable currentWidth in a private object so that only internal
* members can modify it.
*/
QtObject {
id: _private
property int currentWidth: Config.collapsed ? collapsedSize : defaultWidth
readonly property int defaultWidth: Kirigami.Units.gridUnit * 17
readonly property int collapseWidth: Kirigami.Units.gridUnit * 10
readonly property int collapsedSize: Kirigami.Units.gridUnit * 3 - Kirigami.Units.smallSpacing * 3
}
}

View File

@@ -41,6 +41,7 @@ Kirigami.ScrollablePage {
} else if (page.currentRoom.isInvite) {
page.currentRoom.clearInvitationNotification();
}
currentRoom.markAllMessagesAsRead();
}
}
@@ -51,6 +52,7 @@ Kirigami.ScrollablePage {
if (!Kirigami.Settings.isMobile) {
chatBox.chatBar.forceActiveFocus();
}
currentRoom.markAllMessagesAsRead();
}
Connections {

View File

@@ -27,7 +27,7 @@ Kirigami.ScrollablePage {
}
Repeater {
model: Accounts
model: AccountRegistry
delegate: MobileForm.AbstractFormDelegate {
Layout.fillWidth: true
onClicked: pageSettingStack.pushDialogLayer("qrc:/AccountEditorPage.qml", {

View File

@@ -231,12 +231,24 @@ Kirigami.ApplicationWindow {
}
}
Connections {
target: AccountRegistry
function onRowsRemoved() {
if (AccountRegistry.rowCount() === 0) {
RoomManager.reset();
pageStack.clear();
roomListLoaded = false;
pageStack.push("qrc:/WelcomePage.qml");
}
}
}
Connections {
target: Controller
function onActiveConnectionChanged() {
if (!Controller.activeConnection) {
pageStack.replace("qrc:/imports/NeoChat/Page/WelcomePage.qml", {});
function onInitiated() {
if (Controller.accountCount === 0) {
pageStack.replace("qrc:/WelcomePage.qml", {});
} else if (!roomListLoaded) {
pageStack.replace(roomListComponent, {
activeConnection: Controller.activeConnection

View File

@@ -11,7 +11,9 @@
#include <QQuickTextDocument>
#include <QStandardPaths>
#include <csapi/joining.h>
#ifdef QUOTIENT_07
#include <csapi/knocking.h>
#endif
#include <qt_connection_util.h>
#include <user.h>
@@ -156,12 +158,16 @@ UriResolveResult RoomManager::visitUser(User *user, const QString &action)
{
if (action == "mention" || action.isEmpty()) {
// send it has QVariantMap because the properties in the
#ifdef QUOTIENT_07
user->load();
#endif
Q_EMIT showUserDetail(user);
} else if (action == "_interactive") {
user->requestDirectChat();
} else if (action == "chat") {
#ifdef QUOTIENT_07
user->load();
#endif
Q_EMIT askDirectChatConfirmation(user);
} else {
return Quotient::IncorrectAction;
@@ -204,6 +210,8 @@ void RoomManager::joinRoom(Quotient::Connection *account, const QString &roomAli
});
}
// TODO: maybe need use the function upstream later
#ifdef QUOTIENT_07
void RoomManager::knockRoom(Quotient::Connection *account, const QString &roomAliasOrId, const QString &reason, const QStringList &viaServers)
{
auto *const job = account->callApi<KnockRoomJob>(roomAliasOrId, viaServers, reason);
@@ -221,6 +229,7 @@ void RoomManager::knockRoom(Quotient::Connection *account, const QString &roomAl
}
});
}
#endif
bool RoomManager::visitNonMatrix(const QUrl &url)
{

View File

@@ -59,7 +59,10 @@ public:
// Overrided methods from UriResolverBase
UriResolveResult visitUser(User *user, const QString &action) override;
void joinRoom(Quotient::Connection *account, const QString &roomAliasOrId, const QStringList &viaServers) override;
// TODO: it need also override in the feature?
#ifdef QUOTIENT_07
void knockRoom(Quotient::Connection *account, const QString &roomAliasOrId, const QString &reason, const QStringList &viaServers);
#endif
Q_INVOKABLE void visitRoom(Quotient::Room *room, const QString &eventId) override;
Q_INVOKABLE bool visitNonMatrix(const QUrl &url) override;

View File

@@ -3,7 +3,9 @@
#include "spacehierarchycache.h"
#ifdef QUOTIENT_07
#include <csapi/space_hierarchy.h>
#endif
#include <qt_connection_util.h>
#include "controller.h"
@@ -24,6 +26,7 @@ SpaceHierarchyCache::SpaceHierarchyCache(QObject *parent)
void SpaceHierarchyCache::cacheSpaceHierarchy()
{
#ifdef QUOTIENT_07
auto connection = Controller::instance().activeConnection();
if (!connection) {
return;
@@ -42,6 +45,7 @@ void SpaceHierarchyCache::cacheSpaceHierarchy()
});
}
}
#endif
}
void SpaceHierarchyCache::populateSpaceHierarchy(const QString &spaceId)
@@ -50,6 +54,7 @@ void SpaceHierarchyCache::populateSpaceHierarchy(const QString &spaceId)
if (!connection) {
return;
}
#ifdef QUOTIENT_07
GetSpaceHierarchyJob *job = connection->callApi<GetSpaceHierarchyJob>(spaceId);
connect(job, &BaseJob::success, this, [this, job, spaceId]() {
@@ -64,6 +69,7 @@ void SpaceHierarchyCache::populateSpaceHierarchy(const QString &spaceId)
m_spaceHierarchy.insert(spaceId, roomList);
Q_EMIT spaceHierarchyChanged();
});
#endif
}
void SpaceHierarchyCache::addSpaceToHierarchy(Quotient::Room *room)

35
src/stickerevent.cpp Normal file
View File

@@ -0,0 +1,35 @@
// SPDX-FileCopyrightText: 2020 Carl Schwan <carlschwan@kde.org>
// SPDX-License-Identifier: LGPL-2.1-or-later
#include "stickerevent.h"
using namespace Quotient;
StickerEvent::StickerEvent(const QJsonObject &obj)
#ifdef QUOTIENT_07
: RoomEvent(obj)
#else
: RoomEvent(typeId(), obj)
#endif
, m_imageContent(EventContent::ImageContent(obj["content"_ls].toObject()))
{
}
QString StickerEvent::body() const
{
return content<QString>("body"_ls);
}
const EventContent::ImageContent &StickerEvent::image() const
{
return m_imageContent;
}
QUrl StickerEvent::url() const
{
#ifdef QUOTIENT_07
return m_imageContent.url();
#else
return m_imageContent.url;
#endif
}

43
src/stickerevent.h Normal file
View File

@@ -0,0 +1,43 @@
// SPDX-FileCopyrightText: 2020 Carl Schwan <carlschwan@kde.org>
// SPDX-License-Identifier: LGPL-2.1-or-later
#pragma once
#include <events/eventcontent.h>
#include <events/roomevent.h>
namespace Quotient
{
/// Sticker messages are specialised image messages that are displayed without
/// controls (e.g. no "download" link, or light-box view on click, as would be
/// displayed for for m.image events).
class StickerEvent : public RoomEvent
{
public:
#ifdef QUOTIENT_07
QUO_EVENT(StickerEvent, "m.sticker")
#else
DEFINE_EVENT_TYPEID("m.sticker", StickerEvent)
#endif
explicit StickerEvent(const QJsonObject &obj);
/// \brief A textual representation or associated description of the
/// sticker image.
///
/// This could be the alt text of the original image, or a message to
/// accompany and further describe the sticker.
QString body() const;
/// \brief Metadata about the image referred to in url including a
/// thumbnail representation.
const EventContent::ImageContent &image() const;
/// \brief The URL to the sticker image. This must be a valid mxc:// URI.
QUrl url() const;
private:
EventContent::ImageContent m_imageContent;
};
REGISTER_EVENT_TYPE(StickerEvent)
}

View File

@@ -280,6 +280,9 @@ void TextHandler::nextTokenType()
QString TextHandler::getTagType() const
{
if (m_nextToken.isEmpty()) {
return QString();
}
const int tagTypeStart = m_nextToken[1] == u'/' ? 2 : 1;
const int tagTypeEnd = m_nextToken.indexOf(TextRegex::endTagType, tagTypeStart);
return m_nextToken.mid(tagTypeStart, tagTypeEnd - tagTypeStart);
@@ -287,6 +290,9 @@ QString TextHandler::getTagType() const
bool TextHandler::isCloseTag() const
{
if (m_nextToken.isEmpty()) {
return false;
}
return m_nextToken[1] == u'/';
}