Compare commits

..

12 Commits

Author SHA1 Message Date
Tobias Fella
88e0c38e5f Fixes 2025-03-13 21:58:07 +01:00
Joshua Goins
20a6b90904 Add command to forcibly end a call in the room 2025-03-13 21:32:35 +01:00
Joshua Goins
fcd7a320e7 Fix publishing video track 2025-03-13 21:32:35 +01:00
Joshua Goins
2f39e70b67 Update to latest LiveKit, fix up QML 2025-03-13 21:32:35 +01:00
Tobias Fella
ddc16a17d2 Calls! 2025-03-13 21:32:34 +01:00
l10n daemon script
f153e57fdb GIT_SILENT Sync po/docbooks with svn 2025-03-12 01:39:11 +00:00
l10n daemon script
bac93e778e GIT_SILENT Sync po/docbooks with svn 2025-03-11 01:37:29 +00:00
James Graham
2aeed10429 Message attached property
Create Message attached property to propagate parameters like room, timeline, index and maxContentWidth down to the message content avoiding lots of boilerplate
2025-03-10 18:28:42 +00:00
l10n daemon script
ea6ad902a7 GIT_SILENT Sync po/docbooks with svn 2025-03-10 01:41:40 +00:00
James Graham
f9c53ee3b0 ThreePIDModel Updates
There is no need for NeochatConnection to depend on ThreePIdModel and also this means it's not in memory when not needed.

Also a little cleanup to make sure only a single job can run at a time.
2025-03-09 12:31:14 +00:00
l10n daemon script
3f0843647c GIT_SILENT Sync po/docbooks with svn 2025-03-09 01:36:22 +00:00
Albert Astals Cid
a50df870e7 GIT_SILENT Upgrade release service version to 25.07.70. 2025-03-08 19:26:23 +01:00
131 changed files with 7046 additions and 9762 deletions

View File

@@ -8,8 +8,8 @@ cmake_minimum_required(VERSION 3.16)
# KDE Applications version, managed by release script.
set(RELEASE_SERVICE_VERSION_MAJOR "25")
set(RELEASE_SERVICE_VERSION_MINOR "04")
set(RELEASE_SERVICE_VERSION_MICRO "0")
set(RELEASE_SERVICE_VERSION_MINOR "07")
set(RELEASE_SERVICE_VERSION_MICRO "70")
set(RELEASE_SERVICE_VERSION "${RELEASE_SERVICE_VERSION_MAJOR}.${RELEASE_SERVICE_VERSION_MINOR}.${RELEASE_SERVICE_VERSION_MICRO}")
project(NeoChat VERSION ${RELEASE_SERVICE_VERSION})
@@ -56,7 +56,7 @@ ecm_setup_version(${PROJECT_VERSION}
VERSION_HEADER ${CMAKE_CURRENT_BINARY_DIR}/neochat-version.h
)
find_package(Qt6 ${QT_MIN_VERSION} NO_MODULE COMPONENTS Core Quick Gui QuickControls2 Multimedia Svg WebView)
find_package(Qt6 ${QT_MIN_VERSION} NO_MODULE COMPONENTS Core Quick Gui QuickControls2 Multimedia Svg Protobuf WebView)
set_package_properties(Qt6 PROPERTIES
TYPE REQUIRED
PURPOSE "Basic application components"
@@ -115,6 +115,8 @@ set_package_properties(QuotientQt6 PROPERTIES
PURPOSE "Talk with matrix server"
)
find_package(LiveKit REQUIRED)
find_package(cmark)
set_package_properties(cmark PROPERTIES
TYPE REQUIRED

View File

@@ -51,6 +51,10 @@ is primarily aimed at Linux development.
For Windows and Android [Craft](https://invent.kde.org/packaging/craft) is the primary choice. There are guides for setting up
development environments for [Windows](https://community.kde.org/Get_Involved/development/Windows) and [Android](https://develop.kde.org/docs/packaging/android/building_applications/).
### Building with support for voice / video calls
[LiveKit](https://livekit.io) is needed for call support. Build the [Rust SDK](https://github.com/livekit/rust-sdks) and copy `liblivekit_ffi.so` to your usual library folder. Copy `livekit_ffi.h` to somewhere under your usual include folder. NeoChat should then automatically pick it up.
## Running
Just start the executable in your preferred way - either from the build directory or from the installed location.

View File

@@ -12,6 +12,7 @@
#include "models/messagecontentmodel.h"
#include "neochatconnection.h"
#include "testutils.h"
using namespace Quotient;
@@ -32,7 +33,7 @@ private Q_SLOTS:
void MessageContentModelTest::initTestCase()
{
connection = Connection::makeMockConnection(u"@bob:kde.org"_s);
connection = new NeoChatConnection;
}
void MessageContentModelTest::missingEvent()

10
cmake/FindLiveKit.cmake Normal file
View File

@@ -0,0 +1,10 @@
# SPDX-FileCopyrightText: 2024 Tobias Fella <tobias.fella@kde.org>
# SPDX-License-Identifier: BSD-2-Clause
find_library(LIVEKIT_LIB NAMES livekit_ffi)
find_path(LIVEKIT_INCLUDE_DIR NAMES livekit_ffi.h)
add_library(LiveKit UNKNOWN IMPORTED)
set_target_properties(LiveKit PROPERTIES IMPORTED_LOCATION ${LIVEKIT_LIB})
set_target_properties(LiveKit PROPERTIES INTERFACE_INCLUDE_DIRECTORIES ${LIVEKIT_INCLUDE_DIR})
set(LiveKit_FOUND True)

View File

@@ -70,12 +70,10 @@
<summary xml:lang="ia">Conversation en ditecto sur Matrix</summary>
<summary xml:lang="it">Chat su Matrix</summary>
<summary xml:lang="ka">ისაუბრეთ Matrix-ზე</summary>
<summary xml:lang="ko">Matrix에서 대화하기</summary>
<summary xml:lang="lv">Tērzējiet „Matrix“ tīklā</summary>
<summary xml:lang="nl">Chat op Matrix</summary>
<summary xml:lang="nn">Prat med via Matrix</summary>
<summary xml:lang="pl">Rozmawiaj na Matriksie</summary>
<summary xml:lang="ru">Общение в Matrix</summary>
<summary xml:lang="sa">Matrix इत्यत्र गपशपं कुर्वन्तु</summary>
<summary xml:lang="sl">Klepet na Matrixu</summary>
<summary xml:lang="sv">Chatta på Matrix</summary>
@@ -104,7 +102,6 @@
<p xml:lang="ia">NeoChat es un app de conversation que te permitte prender avantage plen del rete Matrix. Il te forni un modo secur de inviar messages de texto, videos e files audio a tui familia, collegas e amicos.</p>
<p xml:lang="it">NeoChat è un'applicazione di chat che ti consente di sfruttare appieno la rete Matrix. Ti fornisce un modo sicuro per inviare messaggi di testo, video e file audio a familiari, colleghi e amici.</p>
<p xml:lang="ka">NeoChat ჩატის აპია, რომელიც საშუალება გაძლევთ, Matrix-ის ქსელის საშუალებები ბოლომდე გამოიყენოთ. ის გაძლევთ უსაფრთხო გზას, გააგზავნოთ ტექსტური შეტყობინებები, ვიდეოებ და აუდიოფაილები თქვენს ოჯახთან, კოლეგებთან და მეგობრებთან.</p>
<p xml:lang="ko">NeoChat은 Matrix 네트워크를 사용하는 채팅 앱입니다. 텍스트 메시지, 동영상, 오디오 파일을 가족, 친구, 동료와 안전하게 공유할 수 있습니다.</p>
<p xml:lang="lv">„NeoChat“ ir tērzēšanas programma, kas ļauj pilnvērtīgi izmantot „Matrix“ tīklu. Tā sniedz drošu veidu teksta ziņu, video un audio sūtīšanai ģimenes locekļiem, kolēģiem un draugiem.</p>
<p xml:lang="nl">NeoChat is een chat-toepassing die u het volledige voordeel van het Matrix-netwerk laat genieten. Het levert u op een veilige manier tekstberichten, video's en geluidsbestanden naar uw familie, collega's en vrienden te verzenden.</p>
<p xml:lang="nn">NeoChat er ein prateapp som lèt deg bruka all funksjonalitet i Matrix-nettverket. Du kan utveksla tekst, lyd og videoar med vennar, familie og kollegaar på ein trygg måte.</p>
@@ -375,7 +372,6 @@
<caption xml:lang="ia">Discoperi nove communitate con Matrix Spaces (Spatios de Matrix)</caption>
<caption xml:lang="it">Scopri nuove comunità con Matrix Spaces</caption>
<caption xml:lang="ka">აღმოაჩინეთ ახალი საზოგადოებები Matrix Spaces-თან ერთად</caption>
<caption xml:lang="ko">Matrix 스페이스에서 새로운 커뮤니티 탐험</caption>
<caption xml:lang="lv">Atklājiet jaunas kopienas ar „Matrix“ telpām</caption>
<caption xml:lang="nl">Ontdek nieuwe gemeenschappen met Matrix-ruimten</caption>
<caption xml:lang="nn">Oppdag nye fellesskap med Matrix Spaces</caption>
@@ -477,7 +473,6 @@
<content_attribute id="social-chat">intense</content_attribute>
</content_rating>
<releases>
<release version="25.04.0" date="2025-04-17"/>
<release version="24.12.3" date="2025-03-06"/>
<release version="24.12.2" date="2025-02-06"/>
<release version="24.12.1" date="2025-01-09"/>

View File

@@ -109,12 +109,10 @@ Comment[hu]=Csevegés Matrixon
Comment[ia]=Conversation en ditecto sur Matrix
Comment[it]= su Matrix
Comment[ka]=ჩატი Matrix-ზე
Comment[ko]=Matrix에서 대화하기
Comment[lv]=Tērzējiet „Matrix“ tīklā
Comment[nl]=Chat op Matrix
Comment[pl]=Rozmawiaj na Matriksie
Comment[pt_BR]=Bate papo na Matrix
Comment[ru]=Общение в Matrix
Comment[sa]=Matrix इत्यत्र गपशपं कुर्वन्तु
Comment[sl]=Klepet na Matrixu
Comment[sv]=Chatta på Matrix

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: 2025-03-07 00:42+0000\n"
"POT-Creation-Date: 2025-03-11 00:41+0000\n"
"PO-Revision-Date: 2025-03-08 21:40+0400\n"
"Last-Translator: Zayed Al-Saidi <zayed.alsaidi@gmail.com>\n"
"Language-Team: ar\n"
@@ -1040,7 +1040,7 @@ msgstr "التسجيل معطل على هذا الخادم."
#: src/login/Homeserver.qml:41 src/login/Username.qml:38
#: src/models/messagecontentmodel.cpp:262
#: src/models/messagecontentmodel.cpp:290 src/timeline/LoadComponent.qml:33
#: src/models/messagecontentmodel.cpp:290 src/timeline/LoadComponent.qml:30
#, kde-format
msgid "Loading"
msgstr "يحمّل"
@@ -1070,7 +1070,7 @@ msgid "Loading…"
msgstr "يحمّل..."
#: src/login/Login.qml:38 src/login/WelcomePage.qml:250
#: src/settings/ThreePIdCard.qml:183
#: src/settings/ThreePIdCard.qml:189
#, kde-format
msgctxt "@action:button"
msgid "Continue"
@@ -1700,7 +1700,7 @@ msgstr "صورك التعبيرية"
#: src/models/messagecontentmodel.cpp:260
#: src/models/messagecontentmodel.cpp:288
#: src/timeline/LinkPreviewLoadComponent.qml:66
#: src/timeline/LinkPreviewLoadComponent.qml:63
#, kde-format
msgid "Loading reply"
msgstr "يحمّل الرد"
@@ -1966,7 +1966,7 @@ msgctxt "@info:label"
msgid "%1 invited you"
msgstr "%1 دعاك"
#: src/neochatconnection.cpp:77
#: src/neochatconnection.cpp:75
#, kde-format
msgid ""
"File too large to download.<br />Contact your matrix server administrator "
@@ -1974,18 +1974,18 @@ msgid ""
msgstr ""
"الملف كبير للغاية بحيث لا يمكن تحميله.<br />راسل مدير خادوم ماتركس للدعم."
#: src/neochatconnection.cpp:336
#: src/neochatconnection.cpp:329
#, kde-format
msgctxt "@info"
msgid "No identity server configured"
msgstr "لم يُضبط خادوم هوية بعد"
#: src/neochatconnection.cpp:367
#: src/neochatconnection.cpp:360
#, kde-format
msgid "Room creation failed: %1"
msgstr "فشل إنشاء غرفة: %1"
#: src/neochatconnection.cpp:397
#: src/neochatconnection.cpp:390
#, kde-format
msgid "Space creation failed: %1"
msgstr "فشل إنشاء فضاء: %1"
@@ -5849,86 +5849,86 @@ msgctxt "@title:dialog"
msgid "Select Parameter to Add"
msgstr "حدد المعامل لإضافته"
#: src/settings/ThreePIdCard.qml:55
#: src/settings/ThreePIdCard.qml:58
#, kde-format
msgctxt "@action:button"
msgid "Hide"
msgstr "أخفِ"
#: src/settings/ThreePIdCard.qml:61
#: src/settings/ThreePIdCard.qml:64
#, kde-format
msgctxt "@action:button"
msgid "Share"
msgstr "شارك"
#: src/settings/ThreePIdCard.qml:66
#: src/settings/ThreePIdCard.qml:69
#, kde-format
msgctxt "@action:button"
msgid "Remove"
msgstr "أزِل"
#: src/settings/ThreePIdCard.qml:85
#: src/settings/ThreePIdCard.qml:88
#, kde-format
msgctxt "@action:button"
msgid "Complete"
msgstr "أكمل"
#: src/settings/ThreePIdCard.qml:90 src/timeline/ChatBarComponent.qml:110
#: src/settings/ThreePIdCard.qml:93 src/timeline/ChatBarComponent.qml:100
#, kde-format
msgctxt "@action:button"
msgid "Cancel"
msgstr "ألغِ"
#: src/settings/ThreePIdCard.qml:130
#: src/settings/ThreePIdCard.qml:136
#, kde-format
msgctxt "@label:textbox"
msgid "Country Code for new phone number"
msgstr "رمز البلد لرقم الهاتف الجديد"
#: src/settings/ThreePIdCard.qml:146
#: src/settings/ThreePIdCard.qml:152
#, kde-format
msgctxt "@label:textbox"
msgid "New Email Address:"
msgstr "عنوان بريد إلكتروني جديد:"
#: src/settings/ThreePIdCard.qml:146
#: src/settings/ThreePIdCard.qml:152
#, kde-format
msgctxt "@label:textbox"
msgid "New Phone Number:"
msgstr "رقم الهاتف الجديد:"
#: src/settings/ThreePIdCard.qml:150 src/threepidbindhelper.cpp:178
#: src/settings/ThreePIdCard.qml:156 src/threepidbindhelper.cpp:179
#, kde-format
msgid "We've sent you an email"
msgstr "لقد أرسلنا لك رسالة بالبريد الإلكتروني"
#: src/settings/ThreePIdCard.qml:150 src/threepidbindhelper.cpp:178
#: src/settings/ThreePIdCard.qml:156 src/threepidbindhelper.cpp:179
#, kde-format
msgid "We've sent you a text message"
msgstr "لقد أرسلنا لك رسالة نصية"
#: src/settings/ThreePIdCard.qml:150
#: src/settings/ThreePIdCard.qml:156
#, kde-format
msgid ""
"%1. Please follow the instructions there and then click the button below"
msgstr "%1. يرجى اتباع التعليمات هناك ثم انقر فوق الزر أدناه"
#: src/settings/ThreePIdCard.qml:152 src/threepidbindhelper.cpp:180
#: src/settings/ThreePIdCard.qml:158 src/threepidbindhelper.cpp:181
#, kde-format
msgid "The entered email is not valid"
msgstr "البريد الإلكتروني الذي أدخلته غير صالح"
#: src/settings/ThreePIdCard.qml:152 src/threepidbindhelper.cpp:180
#: src/settings/ThreePIdCard.qml:158 src/threepidbindhelper.cpp:181
#, kde-format
msgid "The entered phone number is not valid"
msgstr "رقم الهاتف الذي أدخلته غير صالح"
#: src/settings/ThreePIdCard.qml:154
#: src/settings/ThreePIdCard.qml:160
#, kde-format
msgid "Incorrect password entered"
msgstr "أدخلت كلمة سر خاطئة"
#: src/settings/ThreePIdCard.qml:156
#: src/settings/ThreePIdCard.qml:162
#, kde-format
msgid ""
"The email has not been verified. Please go to the email and follow the "
@@ -5937,7 +5937,7 @@ msgstr ""
"لم يتحقق من البريد الإلكتروني. الرجاء الذهاب إلى البريد الإلكتروني واتباع "
"التعليمات هناك ثم انقر فوق الزر أدناه"
#: src/settings/ThreePIdCard.qml:156
#: src/settings/ThreePIdCard.qml:162
#, kde-format
msgid ""
"The phone number has not been verified. Please go to the text message and "
@@ -5946,25 +5946,25 @@ msgstr ""
"لم يتحقق من رقم الهاتف. الرجاء الذهاب إلى الرسالة النصية واتباع التعليمات "
"هناك ثم انقر فوق الزر أدناه"
#: src/settings/ThreePIdCard.qml:183
#: src/settings/ThreePIdCard.qml:189
#, kde-format
msgctxt "@action:button Add new email or phone number"
msgid "Add"
msgstr "أضف"
#: src/settings/ThreePIdCard.qml:191
#: src/settings/ThreePIdCard.qml:197
#, kde-format
msgctxt "@action:button As in 'go back'"
msgid "Back"
msgstr "عُد"
#: src/threepidbindhelper.cpp:177
#: src/threepidbindhelper.cpp:178
#, kde-format
msgid ""
"%1. Please follow the instructions there and then click the button above"
msgstr "%1. يرجى اتباع التعليمات هناك ثم انقر فوق الزر أعلاه"
#: src/threepidbindhelper.cpp:183
#: src/threepidbindhelper.cpp:184
#, kde-format
msgid ""
"The email has not been verified. Please go to the email and follow the "
@@ -5973,7 +5973,7 @@ msgstr ""
"لم يتحقق من البريد الإلكتروني. الرجاء الذهاب إلى البريد الإلكتروني واتباع "
"التعليمات هناك ثم انقر فوق الزر أعلاه"
#: src/threepidbindhelper.cpp:184
#: src/threepidbindhelper.cpp:185
#, kde-format
msgid ""
"The phone number has not been verified. Please go to the text message and "
@@ -5982,55 +5982,55 @@ msgstr ""
"لم يتحقق من رقم الهاتف. الرجاء الذهاب إلى الرسالة النصية واتباع التعليمات "
"هناك ثم انقر فوق الزر أعلاه"
#: src/timeline/BaseMessageComponentChooser.qml:249
#: src/timeline/BaseMessageComponentChooser.qml:172
#, kde-format
msgid "%1 started a user verification"
msgstr "بدأ %1 عملية تَثَبّت لمستخدم"
#: src/timeline/ChatBarComponent.qml:98
#: src/timeline/ChatBarComponent.qml:88
#, kde-format
msgctxt "@action:button"
msgid "Confirm edit"
msgstr "أكد التحرير"
#: src/timeline/ChatBarComponent.qml:98
#: src/timeline/ChatBarComponent.qml:88
#, kde-format
msgctxt "@action:button"
msgid "Post message in thread"
msgstr "أرسل رسالة في الموضوع"
#: src/timeline/CodeComponent.qml:164
#: src/timeline/CodeComponent.qml:159
#, kde-format
msgid "Copy to clipboard"
msgstr "انسخ إلى الحافظة"
#: src/timeline/CodeComponent.qml:176
#: src/timeline/CodeComponent.qml:171
#, kde-format
msgctxt "@action:button"
msgid "Maximize"
msgstr "كبّر"
#: src/timeline/EncryptedComponent.qml:21
#: src/timeline/EncryptedComponent.qml:18
#, kde-format
msgid ""
"This message is encrypted and the sender has not shared the key with this "
"device."
msgstr "هذه الرسالة مشفرة ولم يشارك المرسل المفتاح مع هذا الجهاز."
#: src/timeline/FetchButtonComponent.qml:41
#: src/timeline/FetchButtonComponent.qml:36
#, kde-format
msgctxt "@action:button"
msgid "Fetch More Events"
msgstr "اجلب أحداث أكثر"
#: src/timeline/FileComponent.qml:104 src/timeline/FileComponent.qml:187
#: src/timeline/FileComponent.qml:94 src/timeline/FileComponent.qml:177
#, kde-format
msgctxt ""
"tooltip for a button on a message; offers ability to download its file"
msgid "Download"
msgstr "نزّل"
#: src/timeline/FileComponent.qml:120 src/timeline/FileComponent.qml:177
#: src/timeline/FileComponent.qml:110 src/timeline/FileComponent.qml:167
#, kde-format
msgctxt ""
"tooltip for a button on a message; offers ability to open its downloaded "
@@ -6038,13 +6038,13 @@ msgctxt ""
msgid "Open File"
msgstr "افتح الملف"
#: src/timeline/FileComponent.qml:135
#: src/timeline/FileComponent.qml:125
#, kde-format
msgctxt "file download progress"
msgid "%1 / %2"
msgstr "%1 / %2"
#: src/timeline/FileComponent.qml:140
#: src/timeline/FileComponent.qml:130
#, kde-format
msgctxt ""
"tooltip for a button on a message; stops downloading the message's file"
@@ -6073,47 +6073,47 @@ msgstr "وقت تسجيل الوصول: %1"
msgid "Check-out time: %1"
msgstr "وقت تسجيل الخروج: %1"
#: src/timeline/ImageComponent.qml:140
#: src/timeline/ImageComponent.qml:120
#, kde-format
msgctxt "@action:button"
msgid "Show Image"
msgstr "أظهر الصورة"
#: src/timeline/ItineraryComponent.qml:57
#: src/timeline/ItineraryComponent.qml:54
#, kde-format
msgctxt "@action"
msgid "Send to KDE Itinerary"
msgstr "أرسل إلى كِيدِي Itinerary"
#: src/timeline/LinkPreviewComponent.qml:136
#: src/timeline/LinkPreviewLoadComponent.qml:79
#: src/timeline/LinkPreviewComponent.qml:131
#: src/timeline/LinkPreviewLoadComponent.qml:76
#, kde-format
msgctxt "As in remove the link preview so it's no longer shown"
msgid "Remove preview"
msgstr "أزل المعاينة"
#: src/timeline/LinkPreviewComponent.qml:154
#: src/timeline/LinkPreviewComponent.qml:149
#, kde-format
msgid "Shrink preview"
msgstr "صغر المعاينة"
#: src/timeline/LinkPreviewComponent.qml:154
#: src/timeline/LinkPreviewComponent.qml:149
#, kde-format
msgid "Expand preview"
msgstr "وسع المعاينة"
#: src/timeline/LinkPreviewLoadComponent.qml:68
#: src/timeline/LinkPreviewLoadComponent.qml:65
#, kde-format
msgid "Loading URL preview"
msgstr "يحمل معاينة الرابط"
#: src/timeline/LocationComponent.qml:116
#: src/timeline/LocationComponent.qml:111
#, kde-format
msgctxt "@action:button Open the location in an external program"
msgid "Open Externally"
msgstr "افتحه خارجيا"
#: src/timeline/PollComponent.qml:80
#: src/timeline/PollComponent.qml:70
#, kde-format
msgid "Based on votes by %1 user"
msgid_plural "Based on votes by %1 users"
@@ -6124,13 +6124,13 @@ msgstr[3] "بالاعتماد على أصوات %1 مستخدمين"
msgstr[4] "بالاعتماد على أصوات %1 مستخدماً"
msgstr[5] "بالاعتماد على أصوات %1 مستخدم"
#: src/timeline/PollComponent.qml:80
#: src/timeline/PollComponent.qml:70
#, kde-format
msgctxt "as in 'this vote has ended'"
msgid "(Ended)"
msgstr "(انتهى)"
#: src/timeline/ReactionComponent.qml:97
#: src/timeline/ReactionComponent.qml:89
#, kde-format
msgctxt "@button"
msgid "React"
@@ -6142,7 +6142,7 @@ msgctxt "Relative time since the room was last read"
msgid "Last read: %1"
msgstr "آخر قراءة: %1"
#: src/timeline/ReplyButtonComponent.qml:44
#: src/timeline/ReplyButtonComponent.qml:34
#, kde-format
msgctxt "@action:button"
msgid "Reply"
@@ -6161,24 +6161,24 @@ msgstr "هذه هي بداية الدردشة. ولا توجد رسائل قدي
msgid "Pl. %1"
msgstr "المنصة %1"
#: src/timeline/VideoComponent.qml:217
#: src/timeline/VideoComponent.qml:197
#, kde-format
msgid "Video"
msgstr "فيديو"
#: src/timeline/VideoComponent.qml:257
#: src/timeline/VideoComponent.qml:237
#, kde-format
msgctxt "@action:button"
msgid "Show Video"
msgstr "أظهر الفيديو"
#: src/timeline/VideoComponent.qml:298
#: src/timeline/VideoComponent.qml:278
#, kde-format
msgctxt "@action:button"
msgid "Volume"
msgstr "الصوت"
#: src/timeline/VideoComponent.qml:382
#: src/timeline/VideoComponent.qml:362
#, kde-format
msgid "Maximize"
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: 2025-03-07 00:42+0000\n"
"POT-Creation-Date: 2025-03-11 00:41+0000\n"
"PO-Revision-Date: 2023-12-12 01:02+0100\n"
"Last-Translator: Enol P. <enolp@softastur.org>\n"
"Language-Team: Asturian <alministradores@softastur.org>\n"
@@ -1027,7 +1027,7 @@ msgstr ""
#: src/login/Homeserver.qml:41 src/login/Username.qml:38
#: src/models/messagecontentmodel.cpp:262
#: src/models/messagecontentmodel.cpp:290 src/timeline/LoadComponent.qml:33
#: src/models/messagecontentmodel.cpp:290 src/timeline/LoadComponent.qml:30
#, kde-format
msgid "Loading"
msgstr ""
@@ -1057,7 +1057,7 @@ msgid "Loading…"
msgstr ""
#: src/login/Login.qml:38 src/login/WelcomePage.qml:250
#: src/settings/ThreePIdCard.qml:183
#: src/settings/ThreePIdCard.qml:189
#, kde-format
msgctxt "@action:button"
msgid "Continue"
@@ -1687,7 +1687,7 @@ msgstr ""
#: src/models/messagecontentmodel.cpp:260
#: src/models/messagecontentmodel.cpp:288
#: src/timeline/LinkPreviewLoadComponent.qml:66
#: src/timeline/LinkPreviewLoadComponent.qml:63
#, kde-format
msgid "Loading reply"
msgstr ""
@@ -1939,25 +1939,25 @@ msgctxt "@info:label"
msgid "%1 invited you"
msgstr ""
#: src/neochatconnection.cpp:77
#: src/neochatconnection.cpp:75
#, kde-format
msgid ""
"File too large to download.<br />Contact your matrix server administrator "
"for support."
msgstr ""
#: src/neochatconnection.cpp:336
#: src/neochatconnection.cpp:329
#, kde-format
msgctxt "@info"
msgid "No identity server configured"
msgstr ""
#: src/neochatconnection.cpp:367
#: src/neochatconnection.cpp:360
#, kde-format
msgid "Room creation failed: %1"
msgstr ""
#: src/neochatconnection.cpp:397
#: src/neochatconnection.cpp:390
#, kde-format
msgid "Space creation failed: %1"
msgstr ""
@@ -5780,180 +5780,180 @@ msgctxt "@title:dialog"
msgid "Select Parameter to Add"
msgstr ""
#: src/settings/ThreePIdCard.qml:55
#: src/settings/ThreePIdCard.qml:58
#, kde-format
msgctxt "@action:button"
msgid "Hide"
msgstr ""
#: src/settings/ThreePIdCard.qml:61
#: src/settings/ThreePIdCard.qml:64
#, kde-format
msgctxt "@action:button"
msgid "Share"
msgstr ""
#: src/settings/ThreePIdCard.qml:66
#: src/settings/ThreePIdCard.qml:69
#, kde-format
msgctxt "@action:button"
msgid "Remove"
msgstr ""
#: src/settings/ThreePIdCard.qml:85
#: src/settings/ThreePIdCard.qml:88
#, kde-format
msgctxt "@action:button"
msgid "Complete"
msgstr ""
#: src/settings/ThreePIdCard.qml:90 src/timeline/ChatBarComponent.qml:110
#: src/settings/ThreePIdCard.qml:93 src/timeline/ChatBarComponent.qml:100
#, kde-format
msgctxt "@action:button"
msgid "Cancel"
msgstr ""
#: src/settings/ThreePIdCard.qml:130
#: src/settings/ThreePIdCard.qml:136
#, kde-format
msgctxt "@label:textbox"
msgid "Country Code for new phone number"
msgstr ""
#: src/settings/ThreePIdCard.qml:146
#: src/settings/ThreePIdCard.qml:152
#, kde-format
msgctxt "@label:textbox"
msgid "New Email Address:"
msgstr ""
#: src/settings/ThreePIdCard.qml:146
#: src/settings/ThreePIdCard.qml:152
#, kde-format
msgctxt "@label:textbox"
msgid "New Phone Number:"
msgstr ""
#: src/settings/ThreePIdCard.qml:150 src/threepidbindhelper.cpp:178
#: src/settings/ThreePIdCard.qml:156 src/threepidbindhelper.cpp:179
#, kde-format
msgid "We've sent you an email"
msgstr ""
#: src/settings/ThreePIdCard.qml:150 src/threepidbindhelper.cpp:178
#: src/settings/ThreePIdCard.qml:156 src/threepidbindhelper.cpp:179
#, kde-format
msgid "We've sent you a text message"
msgstr ""
#: src/settings/ThreePIdCard.qml:150
#: src/settings/ThreePIdCard.qml:156
#, kde-format
msgid ""
"%1. Please follow the instructions there and then click the button below"
msgstr ""
#: src/settings/ThreePIdCard.qml:152 src/threepidbindhelper.cpp:180
#: src/settings/ThreePIdCard.qml:158 src/threepidbindhelper.cpp:181
#, kde-format
msgid "The entered email is not valid"
msgstr ""
#: src/settings/ThreePIdCard.qml:152 src/threepidbindhelper.cpp:180
#: src/settings/ThreePIdCard.qml:158 src/threepidbindhelper.cpp:181
#, kde-format
msgid "The entered phone number is not valid"
msgstr ""
#: src/settings/ThreePIdCard.qml:154
#: src/settings/ThreePIdCard.qml:160
#, kde-format
msgid "Incorrect password entered"
msgstr ""
#: src/settings/ThreePIdCard.qml:156
#: src/settings/ThreePIdCard.qml:162
#, kde-format
msgid ""
"The email has not been verified. Please go to the email and follow the "
"instructions there and then click the button below"
msgstr ""
#: src/settings/ThreePIdCard.qml:156
#: src/settings/ThreePIdCard.qml:162
#, kde-format
msgid ""
"The phone number has not been verified. Please go to the text message and "
"follow the instructions there and then click the button below"
msgstr ""
#: src/settings/ThreePIdCard.qml:183
#: src/settings/ThreePIdCard.qml:189
#, kde-format
msgctxt "@action:button Add new email or phone number"
msgid "Add"
msgstr ""
#: src/settings/ThreePIdCard.qml:191
#: src/settings/ThreePIdCard.qml:197
#, kde-format
msgctxt "@action:button As in 'go back'"
msgid "Back"
msgstr ""
#: src/threepidbindhelper.cpp:177
#: src/threepidbindhelper.cpp:178
#, kde-format
msgid ""
"%1. Please follow the instructions there and then click the button above"
msgstr ""
#: src/threepidbindhelper.cpp:183
#: src/threepidbindhelper.cpp:184
#, kde-format
msgid ""
"The email has not been verified. Please go to the email and follow the "
"instructions there and then click the button above"
msgstr ""
#: src/threepidbindhelper.cpp:184
#: src/threepidbindhelper.cpp:185
#, kde-format
msgid ""
"The phone number has not been verified. Please go to the text message and "
"follow the instructions there and then click the button above"
msgstr ""
#: src/timeline/BaseMessageComponentChooser.qml:249
#: src/timeline/BaseMessageComponentChooser.qml:172
#, kde-format
msgid "%1 started a user verification"
msgstr ""
#: src/timeline/ChatBarComponent.qml:98
#: src/timeline/ChatBarComponent.qml:88
#, kde-format
msgctxt "@action:button"
msgid "Confirm edit"
msgstr ""
#: src/timeline/ChatBarComponent.qml:98
#: src/timeline/ChatBarComponent.qml:88
#, kde-format
msgctxt "@action:button"
msgid "Post message in thread"
msgstr ""
#: src/timeline/CodeComponent.qml:164
#: src/timeline/CodeComponent.qml:159
#, kde-format
msgid "Copy to clipboard"
msgstr ""
#: src/timeline/CodeComponent.qml:176
#: src/timeline/CodeComponent.qml:171
#, kde-format
msgctxt "@action:button"
msgid "Maximize"
msgstr ""
#: src/timeline/EncryptedComponent.qml:21
#: src/timeline/EncryptedComponent.qml:18
#, kde-format
msgid ""
"This message is encrypted and the sender has not shared the key with this "
"device."
msgstr ""
#: src/timeline/FetchButtonComponent.qml:41
#: src/timeline/FetchButtonComponent.qml:36
#, kde-format
msgctxt "@action:button"
msgid "Fetch More Events"
msgstr ""
#: src/timeline/FileComponent.qml:104 src/timeline/FileComponent.qml:187
#: src/timeline/FileComponent.qml:94 src/timeline/FileComponent.qml:177
#, kde-format
msgctxt ""
"tooltip for a button on a message; offers ability to download its file"
msgid "Download"
msgstr ""
#: src/timeline/FileComponent.qml:120 src/timeline/FileComponent.qml:177
#: src/timeline/FileComponent.qml:110 src/timeline/FileComponent.qml:167
#, kde-format
msgctxt ""
"tooltip for a button on a message; offers ability to open its downloaded "
@@ -5961,13 +5961,13 @@ msgctxt ""
msgid "Open File"
msgstr ""
#: src/timeline/FileComponent.qml:135
#: src/timeline/FileComponent.qml:125
#, kde-format
msgctxt "file download progress"
msgid "%1 / %2"
msgstr ""
#: src/timeline/FileComponent.qml:140
#: src/timeline/FileComponent.qml:130
#, kde-format
msgctxt ""
"tooltip for a button on a message; stops downloading the message's file"
@@ -5996,60 +5996,60 @@ msgstr ""
msgid "Check-out time: %1"
msgstr ""
#: src/timeline/ImageComponent.qml:140
#: src/timeline/ImageComponent.qml:120
#, kde-format
msgctxt "@action:button"
msgid "Show Image"
msgstr ""
#: src/timeline/ItineraryComponent.qml:57
#: src/timeline/ItineraryComponent.qml:54
#, kde-format
msgctxt "@action"
msgid "Send to KDE Itinerary"
msgstr ""
#: src/timeline/LinkPreviewComponent.qml:136
#: src/timeline/LinkPreviewLoadComponent.qml:79
#: src/timeline/LinkPreviewComponent.qml:131
#: src/timeline/LinkPreviewLoadComponent.qml:76
#, kde-format
msgctxt "As in remove the link preview so it's no longer shown"
msgid "Remove preview"
msgstr ""
#: src/timeline/LinkPreviewComponent.qml:154
#: src/timeline/LinkPreviewComponent.qml:149
#, kde-format
msgid "Shrink preview"
msgstr ""
#: src/timeline/LinkPreviewComponent.qml:154
#: src/timeline/LinkPreviewComponent.qml:149
#, kde-format
msgid "Expand preview"
msgstr ""
#: src/timeline/LinkPreviewLoadComponent.qml:68
#: src/timeline/LinkPreviewLoadComponent.qml:65
#, kde-format
msgid "Loading URL preview"
msgstr ""
#: src/timeline/LocationComponent.qml:116
#: src/timeline/LocationComponent.qml:111
#, kde-format
msgctxt "@action:button Open the location in an external program"
msgid "Open Externally"
msgstr ""
#: src/timeline/PollComponent.qml:80
#: src/timeline/PollComponent.qml:70
#, kde-format
msgid "Based on votes by %1 user"
msgid_plural "Based on votes by %1 users"
msgstr[0] ""
msgstr[1] ""
#: src/timeline/PollComponent.qml:80
#: src/timeline/PollComponent.qml:70
#, kde-format
msgctxt "as in 'this vote has ended'"
msgid "(Ended)"
msgstr ""
#: src/timeline/ReactionComponent.qml:97
#: src/timeline/ReactionComponent.qml:89
#, kde-format
msgctxt "@button"
msgid "React"
@@ -6061,7 +6061,7 @@ msgctxt "Relative time since the room was last read"
msgid "Last read: %1"
msgstr ""
#: src/timeline/ReplyButtonComponent.qml:44
#: src/timeline/ReplyButtonComponent.qml:34
#, kde-format
msgctxt "@action:button"
msgid "Reply"
@@ -6080,24 +6080,24 @@ msgstr ""
msgid "Pl. %1"
msgstr ""
#: src/timeline/VideoComponent.qml:217
#: src/timeline/VideoComponent.qml:197
#, kde-format
msgid "Video"
msgstr ""
#: src/timeline/VideoComponent.qml:257
#: src/timeline/VideoComponent.qml:237
#, kde-format
msgctxt "@action:button"
msgid "Show Video"
msgstr ""
#: src/timeline/VideoComponent.qml:298
#: src/timeline/VideoComponent.qml:278
#, kde-format
msgctxt "@action:button"
msgid "Volume"
msgstr ""
#: src/timeline/VideoComponent.qml:382
#: src/timeline/VideoComponent.qml:362
#, kde-format
msgid "Maximize"
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: 2025-03-07 00:42+0000\n"
"POT-Creation-Date: 2025-03-11 00:41+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"
@@ -1140,7 +1140,7 @@ msgstr ""
#: src/login/Homeserver.qml:41 src/login/Username.qml:38
#: src/models/messagecontentmodel.cpp:262
#: src/models/messagecontentmodel.cpp:290 src/timeline/LoadComponent.qml:33
#: src/models/messagecontentmodel.cpp:290 src/timeline/LoadComponent.qml:30
#, fuzzy, kde-format
#| msgid "Loading…"
msgid "Loading"
@@ -1173,7 +1173,7 @@ msgid "Loading…"
msgstr "Yüklənir..."
#: src/login/Login.qml:38 src/login/WelcomePage.qml:250
#: src/settings/ThreePIdCard.qml:183
#: src/settings/ThreePIdCard.qml:189
#, kde-format
msgctxt "@action:button"
msgid "Continue"
@@ -1897,7 +1897,7 @@ msgstr "Xüsusi Emoji"
#: src/models/messagecontentmodel.cpp:260
#: src/models/messagecontentmodel.cpp:288
#: src/timeline/LinkPreviewLoadComponent.qml:66
#: src/timeline/LinkPreviewLoadComponent.qml:63
#, fuzzy, kde-format
#| msgid "Loading…"
msgid "Loading reply"
@@ -2211,26 +2211,26 @@ msgctxt "@info:label"
msgid "%1 invited you"
msgstr "%1,sizi otağa dəvət etdi"
#: src/neochatconnection.cpp:77
#: src/neochatconnection.cpp:75
#, kde-format
msgid ""
"File too large to download.<br />Contact your matrix server administrator "
"for support."
msgstr ""
#: src/neochatconnection.cpp:336
#: src/neochatconnection.cpp:329
#, kde-format
msgctxt "@info"
msgid "No identity server configured"
msgstr ""
#: src/neochatconnection.cpp:367
#: src/neochatconnection.cpp:360
#, fuzzy, kde-format
#| msgid "Room creation failed: \"%1\""
msgid "Room creation failed: %1"
msgstr "Otaq yaradıla bilmədi: \"%1\""
#: src/neochatconnection.cpp:397
#: src/neochatconnection.cpp:390
#, fuzzy, kde-format
#| msgid "Room creation failed: \"%1\""
msgid "Space creation failed: %1"
@@ -6441,47 +6441,47 @@ msgctxt "@title:dialog"
msgid "Select Parameter to Add"
msgstr ""
#: src/settings/ThreePIdCard.qml:55
#: src/settings/ThreePIdCard.qml:58
#, kde-format
msgctxt "@action:button"
msgid "Hide"
msgstr ""
#: src/settings/ThreePIdCard.qml:61
#: src/settings/ThreePIdCard.qml:64
#, fuzzy, kde-format
#| msgid "Share"
msgctxt "@action:button"
msgid "Share"
msgstr "Paylaşmaq"
#: src/settings/ThreePIdCard.qml:66
#: src/settings/ThreePIdCard.qml:69
#, fuzzy, kde-format
#| msgid "Remove"
msgctxt "@action:button"
msgid "Remove"
msgstr "Silmək"
#: src/settings/ThreePIdCard.qml:85
#: src/settings/ThreePIdCard.qml:88
#, fuzzy, kde-format
#| msgid "Compact"
msgctxt "@action:button"
msgid "Complete"
msgstr "Yığcam"
#: src/settings/ThreePIdCard.qml:90 src/timeline/ChatBarComponent.qml:110
#: src/settings/ThreePIdCard.qml:93 src/timeline/ChatBarComponent.qml:100
#, fuzzy, kde-format
#| msgid "Cancel"
msgctxt "@action:button"
msgid "Cancel"
msgstr "İmtina"
#: src/settings/ThreePIdCard.qml:130
#: src/settings/ThreePIdCard.qml:136
#, kde-format
msgctxt "@label:textbox"
msgid "Country Code for new phone number"
msgstr ""
#: src/settings/ThreePIdCard.qml:146
#: src/settings/ThreePIdCard.qml:152
#, fuzzy, kde-format
#| msgctxt "their refers to a singular user"
#| msgid "cleared their display name"
@@ -6489,68 +6489,68 @@ msgctxt "@label:textbox"
msgid "New Email Address:"
msgstr "onların görünən adı silindi"
#: src/settings/ThreePIdCard.qml:146
#: src/settings/ThreePIdCard.qml:152
#, fuzzy, kde-format
#| msgid "Members"
msgctxt "@label:textbox"
msgid "New Phone Number:"
msgstr "Üzvlər"
#: src/settings/ThreePIdCard.qml:150 src/threepidbindhelper.cpp:178
#: src/settings/ThreePIdCard.qml:156 src/threepidbindhelper.cpp:179
#, kde-format
msgid "We've sent you an email"
msgstr ""
#: src/settings/ThreePIdCard.qml:150 src/threepidbindhelper.cpp:178
#: src/settings/ThreePIdCard.qml:156 src/threepidbindhelper.cpp:179
#, fuzzy, kde-format
#| msgid "Send a message…"
msgid "We've sent you a text message"
msgstr "İsmarıcı göndərin..."
#: src/settings/ThreePIdCard.qml:150
#: src/settings/ThreePIdCard.qml:156
#, kde-format
msgid ""
"%1. Please follow the instructions there and then click the button below"
msgstr ""
#: src/settings/ThreePIdCard.qml:152 src/threepidbindhelper.cpp:180
#: src/settings/ThreePIdCard.qml:158 src/threepidbindhelper.cpp:181
#, kde-format
msgid "The entered email is not valid"
msgstr ""
#: src/settings/ThreePIdCard.qml:152 src/threepidbindhelper.cpp:180
#: src/settings/ThreePIdCard.qml:158 src/threepidbindhelper.cpp:181
#, kde-format
msgid "The entered phone number is not valid"
msgstr ""
#: src/settings/ThreePIdCard.qml:154
#: src/settings/ThreePIdCard.qml:160
#, fuzzy, kde-format
#| msgid "Wrong password entered"
msgid "Incorrect password entered"
msgstr "Səhv şifrə daxil edildi"
#: src/settings/ThreePIdCard.qml:156
#: src/settings/ThreePIdCard.qml:162
#, kde-format
msgid ""
"The email has not been verified. Please go to the email and follow the "
"instructions there and then click the button below"
msgstr ""
#: src/settings/ThreePIdCard.qml:156
#: src/settings/ThreePIdCard.qml:162
#, kde-format
msgid ""
"The phone number has not been verified. Please go to the text message and "
"follow the instructions there and then click the button below"
msgstr ""
#: src/settings/ThreePIdCard.qml:183
#: src/settings/ThreePIdCard.qml:189
#, fuzzy, kde-format
#| msgid "Add"
msgctxt "@action:button Add new email or phone number"
msgid "Add"
msgstr "Əlavə etmək"
#: src/settings/ThreePIdCard.qml:191
#: src/settings/ThreePIdCard.qml:197
#, fuzzy, kde-format
#| msgctxt "@action:button"
#| msgid "Back"
@@ -6558,80 +6558,80 @@ msgctxt "@action:button As in 'go back'"
msgid "Back"
msgstr "Geriyə"
#: src/threepidbindhelper.cpp:177
#: src/threepidbindhelper.cpp:178
#, kde-format
msgid ""
"%1. Please follow the instructions there and then click the button above"
msgstr ""
#: src/threepidbindhelper.cpp:183
#: src/threepidbindhelper.cpp:184
#, kde-format
msgid ""
"The email has not been verified. Please go to the email and follow the "
"instructions there and then click the button above"
msgstr ""
#: src/threepidbindhelper.cpp:184
#: src/threepidbindhelper.cpp:185
#, kde-format
msgid ""
"The phone number has not been verified. Please go to the text message and "
"follow the instructions there and then click the button above"
msgstr ""
#: src/timeline/BaseMessageComponentChooser.qml:249
#: src/timeline/BaseMessageComponentChooser.qml:172
#, fuzzy, kde-format
#| msgid "withdrew %1's invitation"
msgid "%1 started a user verification"
msgstr "%1 dəvəti geri çəkildi"
#: src/timeline/ChatBarComponent.qml:98
#: src/timeline/ChatBarComponent.qml:88
#, fuzzy, kde-format
#| msgid "Confirm"
msgctxt "@action:button"
msgid "Confirm edit"
msgstr "Təsdiq etmək"
#: src/timeline/ChatBarComponent.qml:98
#: src/timeline/ChatBarComponent.qml:88
#, fuzzy, kde-format
#| msgid "No rooms found"
msgctxt "@action:button"
msgid "Post message in thread"
msgstr "Otaqlar tapılmadı"
#: src/timeline/CodeComponent.qml:164
#: src/timeline/CodeComponent.qml:159
#, fuzzy, kde-format
#| msgctxt "@action:inmenu"
#| msgid "Copy address to clipboard"
msgid "Copy to clipboard"
msgstr "Ünvanı mübadilə yaddaşına kopyalayın"
#: src/timeline/CodeComponent.qml:176
#: src/timeline/CodeComponent.qml:171
#, kde-format
msgctxt "@action:button"
msgid "Maximize"
msgstr ""
#: src/timeline/EncryptedComponent.qml:21
#: src/timeline/EncryptedComponent.qml:18
#, kde-format
msgid ""
"This message is encrypted and the sender has not shared the key with this "
"device."
msgstr "Bu ismarıc şifrələnib və göndərən açarı bu cihaz ilə paylaşmadı."
#: src/timeline/FetchButtonComponent.qml:41
#: src/timeline/FetchButtonComponent.qml:36
#, kde-format
msgctxt "@action:button"
msgid "Fetch More Events"
msgstr ""
#: src/timeline/FileComponent.qml:104 src/timeline/FileComponent.qml:187
#: src/timeline/FileComponent.qml:94 src/timeline/FileComponent.qml:177
#, kde-format
msgctxt ""
"tooltip for a button on a message; offers ability to download its file"
msgid "Download"
msgstr "Endirmək"
#: src/timeline/FileComponent.qml:120 src/timeline/FileComponent.qml:177
#: src/timeline/FileComponent.qml:110 src/timeline/FileComponent.qml:167
#, kde-format
msgctxt ""
"tooltip for a button on a message; offers ability to open its downloaded "
@@ -6639,13 +6639,13 @@ msgctxt ""
msgid "Open File"
msgstr "Faylıın"
#: src/timeline/FileComponent.qml:135
#: src/timeline/FileComponent.qml:125
#, kde-format
msgctxt "file download progress"
msgid "%1 / %2"
msgstr "%1 / %2"
#: src/timeline/FileComponent.qml:140
#: src/timeline/FileComponent.qml:130
#, kde-format
msgctxt ""
"tooltip for a button on a message; stops downloading the message's file"
@@ -6674,63 +6674,63 @@ msgstr ""
msgid "Check-out time: %1"
msgstr ""
#: src/timeline/ImageComponent.qml:140
#: src/timeline/ImageComponent.qml:120
#, fuzzy, kde-format
#| msgid "cleared the room name"
msgctxt "@action:button"
msgid "Show Image"
msgstr "otağın adını silmək"
#: src/timeline/ItineraryComponent.qml:57
#: src/timeline/ItineraryComponent.qml:54
#, kde-format
msgctxt "@action"
msgid "Send to KDE Itinerary"
msgstr ""
#: src/timeline/LinkPreviewComponent.qml:136
#: src/timeline/LinkPreviewLoadComponent.qml:79
#: src/timeline/LinkPreviewComponent.qml:131
#: src/timeline/LinkPreviewLoadComponent.qml:76
#, fuzzy, kde-format
#| msgid "Remove device"
msgctxt "As in remove the link preview so it's no longer shown"
msgid "Remove preview"
msgstr "Cihazı silmək"
#: src/timeline/LinkPreviewComponent.qml:154
#: src/timeline/LinkPreviewComponent.qml:149
#, kde-format
msgid "Shrink preview"
msgstr ""
#: src/timeline/LinkPreviewComponent.qml:154
#: src/timeline/LinkPreviewComponent.qml:149
#, kde-format
msgid "Expand preview"
msgstr ""
#: src/timeline/LinkPreviewLoadComponent.qml:68
#: src/timeline/LinkPreviewLoadComponent.qml:65
#, kde-format
msgid "Loading URL preview"
msgstr ""
#: src/timeline/LocationComponent.qml:116
#: src/timeline/LocationComponent.qml:111
#, fuzzy, kde-format
#| msgid "Open Externally"
msgctxt "@action:button Open the location in an external program"
msgid "Open Externally"
msgstr "Xaricdə açmaq"
#: src/timeline/PollComponent.qml:80
#: src/timeline/PollComponent.qml:70
#, kde-format
msgid "Based on votes by %1 user"
msgid_plural "Based on votes by %1 users"
msgstr[0] ""
msgstr[1] ""
#: src/timeline/PollComponent.qml:80
#: src/timeline/PollComponent.qml:70
#, kde-format
msgctxt "as in 'this vote has ended'"
msgid "(Ended)"
msgstr ""
#: src/timeline/ReactionComponent.qml:97
#: src/timeline/ReactionComponent.qml:89
#, fuzzy, kde-format
#| msgid "React"
msgctxt "@button"
@@ -6743,7 +6743,7 @@ msgctxt "Relative time since the room was last read"
msgid "Last read: %1"
msgstr "Sonuncu oxuma: %1"
#: src/timeline/ReplyButtonComponent.qml:44
#: src/timeline/ReplyButtonComponent.qml:34
#, fuzzy, kde-format
#| msgid "Reply"
msgctxt "@action:button"
@@ -6763,25 +6763,25 @@ msgstr ""
msgid "Pl. %1"
msgstr ""
#: src/timeline/VideoComponent.qml:217
#: src/timeline/VideoComponent.qml:197
#, kde-format
msgid "Video"
msgstr "Video"
#: src/timeline/VideoComponent.qml:257
#: src/timeline/VideoComponent.qml:237
#, fuzzy, kde-format
#| msgid "Video"
msgctxt "@action:button"
msgid "Show Video"
msgstr "Video"
#: src/timeline/VideoComponent.qml:298
#: src/timeline/VideoComponent.qml:278
#, kde-format
msgctxt "@action:button"
msgid "Volume"
msgstr ""
#: src/timeline/VideoComponent.qml:382
#: src/timeline/VideoComponent.qml:362
#, kde-format
msgid "Maximize"
msgstr ""

View File

@@ -9,8 +9,8 @@ msgid ""
msgstr ""
"Project-Id-Version: neochat\n"
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
"POT-Creation-Date: 2025-03-07 00:42+0000\n"
"PO-Revision-Date: 2025-04-09 10:04+0200\n"
"POT-Creation-Date: 2025-03-11 00:41+0000\n"
"PO-Revision-Date: 2025-03-06 09:03+0100\n"
"Last-Translator: Josep M. Ferrer <txemaq@gmail.com>\n"
"Language-Team: Catalan <kde-i18n-ca@kde.org>\n"
"Language: ca\n"
@@ -129,7 +129,7 @@ msgstr "No s'ha pogut llegir el testimoni d'accés: %1"
#: src/controller.cpp:357
#, kde-format
msgid "Receiving push notifications"
msgstr "Rebre les notificacions automàtiques"
msgstr "Rebre les notificacions «push»"
#: src/devtools/AccountData.qml:20
#, kde-format
@@ -1043,7 +1043,7 @@ msgstr "El registre està desactivat en aquest servidor."
#: src/login/Homeserver.qml:41 src/login/Username.qml:38
#: src/models/messagecontentmodel.cpp:262
#: src/models/messagecontentmodel.cpp:290 src/timeline/LoadComponent.qml:33
#: src/models/messagecontentmodel.cpp:290 src/timeline/LoadComponent.qml:30
#, kde-format
msgid "Loading"
msgstr "S'està carregant"
@@ -1075,7 +1075,7 @@ msgid "Loading…"
msgstr "S'està carregant…"
#: src/login/Login.qml:38 src/login/WelcomePage.qml:250
#: src/settings/ThreePIdCard.qml:183
#: src/settings/ThreePIdCard.qml:189
#, kde-format
msgctxt "@action:button"
msgid "Continue"
@@ -1707,7 +1707,7 @@ msgstr "Emojis propis"
#: src/models/messagecontentmodel.cpp:260
#: src/models/messagecontentmodel.cpp:288
#: src/timeline/LinkPreviewLoadComponent.qml:66
#: src/timeline/LinkPreviewLoadComponent.qml:63
#, kde-format
msgid "Loading reply"
msgstr "S'està carregant la resposta"
@@ -1967,7 +1967,7 @@ msgctxt "@info:label"
msgid "%1 invited you"
msgstr "%1 us ha convidat"
#: src/neochatconnection.cpp:77
#: src/neochatconnection.cpp:75
#, kde-format
msgid ""
"File too large to download.<br />Contact your matrix server administrator "
@@ -1976,18 +1976,18 @@ msgstr ""
"El fitxer és massa gran per a baixar.<br />Contacteu amb l'administrador del "
"servidor Matrix per a ajuda."
#: src/neochatconnection.cpp:336
#: src/neochatconnection.cpp:329
#, kde-format
msgctxt "@info"
msgid "No identity server configured"
msgstr "No s'ha configurat cap servidor d'identitats"
#: src/neochatconnection.cpp:367
#: src/neochatconnection.cpp:360
#, kde-format
msgid "Room creation failed: %1"
msgstr "Ha fallat la creació de la sala: %1"
#: src/neochatconnection.cpp:397
#: src/neochatconnection.cpp:390
#, kde-format
msgid "Space creation failed: %1"
msgstr "Ha fallat la creació de l'espai: %1"
@@ -4891,8 +4891,7 @@ msgstr ""
#: src/settings/GlobalNotificationsPage.qml:34
#, kde-format
msgid "Push notifications are available but could not be enabled."
msgstr ""
"Les notificacions automàtiques estan disponibles però no es poden activar."
msgstr "Les notificacions «push» estan disponibles però no es poden activar."
#: src/settings/GlobalNotificationsPage.qml:37
#, kde-format
@@ -5910,86 +5909,86 @@ msgctxt "@title:dialog"
msgid "Select Parameter to Add"
msgstr "Selecció del paràmetre a afegir"
#: src/settings/ThreePIdCard.qml:55
#: src/settings/ThreePIdCard.qml:58
#, kde-format
msgctxt "@action:button"
msgid "Hide"
msgstr "Oculta"
#: src/settings/ThreePIdCard.qml:61
#: src/settings/ThreePIdCard.qml:64
#, kde-format
msgctxt "@action:button"
msgid "Share"
msgstr "Comparteix"
#: src/settings/ThreePIdCard.qml:66
#: src/settings/ThreePIdCard.qml:69
#, kde-format
msgctxt "@action:button"
msgid "Remove"
msgstr "Elimina"
#: src/settings/ThreePIdCard.qml:85
#: src/settings/ThreePIdCard.qml:88
#, kde-format
msgctxt "@action:button"
msgid "Complete"
msgstr "Completa"
#: src/settings/ThreePIdCard.qml:90 src/timeline/ChatBarComponent.qml:110
#: src/settings/ThreePIdCard.qml:93 src/timeline/ChatBarComponent.qml:100
#, kde-format
msgctxt "@action:button"
msgid "Cancel"
msgstr "Cancel·la"
#: src/settings/ThreePIdCard.qml:130
#: src/settings/ThreePIdCard.qml:136
#, kde-format
msgctxt "@label:textbox"
msgid "Country Code for new phone number"
msgstr "Codi de país del número nou de telèfon"
#: src/settings/ThreePIdCard.qml:146
#: src/settings/ThreePIdCard.qml:152
#, kde-format
msgctxt "@label:textbox"
msgid "New Email Address:"
msgstr "Adreça de correu electrònic nova:"
#: src/settings/ThreePIdCard.qml:146
#: src/settings/ThreePIdCard.qml:152
#, kde-format
msgctxt "@label:textbox"
msgid "New Phone Number:"
msgstr "Número de telèfon nou:"
#: src/settings/ThreePIdCard.qml:150 src/threepidbindhelper.cpp:178
#: src/settings/ThreePIdCard.qml:156 src/threepidbindhelper.cpp:179
#, kde-format
msgid "We've sent you an email"
msgstr "Us hem enviat un correu electrònic"
#: src/settings/ThreePIdCard.qml:150 src/threepidbindhelper.cpp:178
#: src/settings/ThreePIdCard.qml:156 src/threepidbindhelper.cpp:179
#, kde-format
msgid "We've sent you a text message"
msgstr "Us hem enviat un missatge de text"
#: src/settings/ThreePIdCard.qml:150
#: src/settings/ThreePIdCard.qml:156
#, kde-format
msgid ""
"%1. Please follow the instructions there and then click the button below"
msgstr "%1. Seguiu les seves instruccions i després feu clic al botó de sota"
#: src/settings/ThreePIdCard.qml:152 src/threepidbindhelper.cpp:180
#: src/settings/ThreePIdCard.qml:158 src/threepidbindhelper.cpp:181
#, kde-format
msgid "The entered email is not valid"
msgstr "El correu electrònic que heu introduït no és vàlid"
#: src/settings/ThreePIdCard.qml:152 src/threepidbindhelper.cpp:180
#: src/settings/ThreePIdCard.qml:158 src/threepidbindhelper.cpp:181
#, kde-format
msgid "The entered phone number is not valid"
msgstr "El número de telèfon que heu introduït no és vàlid"
#: src/settings/ThreePIdCard.qml:154
#: src/settings/ThreePIdCard.qml:160
#, kde-format
msgid "Incorrect password entered"
msgstr "S'ha introduït una contrasenya incorrecta"
#: src/settings/ThreePIdCard.qml:156
#: src/settings/ThreePIdCard.qml:162
#, kde-format
msgid ""
"The email has not been verified. Please go to the email and follow the "
@@ -5998,7 +5997,7 @@ msgstr ""
"El correu electrònic no s'ha verificat. Aneu al correu electrònic i seguiu "
"les seves instruccions i després feu clic al botó de sota"
#: src/settings/ThreePIdCard.qml:156
#: src/settings/ThreePIdCard.qml:162
#, kde-format
msgid ""
"The phone number has not been verified. Please go to the text message and "
@@ -6007,25 +6006,25 @@ msgstr ""
"El número de telèfon no s'ha verificat. Aneu al missatge de text i seguiu "
"les seves instruccions i després feu clic al botó de sota"
#: src/settings/ThreePIdCard.qml:183
#: src/settings/ThreePIdCard.qml:189
#, kde-format
msgctxt "@action:button Add new email or phone number"
msgid "Add"
msgstr "Afegeix"
#: src/settings/ThreePIdCard.qml:191
#: src/settings/ThreePIdCard.qml:197
#, kde-format
msgctxt "@action:button As in 'go back'"
msgid "Back"
msgstr "Enrere"
#: src/threepidbindhelper.cpp:177
#: src/threepidbindhelper.cpp:178
#, kde-format
msgid ""
"%1. Please follow the instructions there and then click the button above"
msgstr "%1. Seguiu les seves instruccions i després feu clic al botó de dalt"
#: src/threepidbindhelper.cpp:183
#: src/threepidbindhelper.cpp:184
#, kde-format
msgid ""
"The email has not been verified. Please go to the email and follow the "
@@ -6034,7 +6033,7 @@ msgstr ""
"El correu electrònic no s'ha verificat. Aneu al correu electrònic i seguiu "
"les seves instruccions i després feu clic al botó de dalt"
#: src/threepidbindhelper.cpp:184
#: src/threepidbindhelper.cpp:185
#, kde-format
msgid ""
"The phone number has not been verified. Please go to the text message and "
@@ -6043,35 +6042,35 @@ msgstr ""
"El número de telèfon no s'ha verificat. Aneu al missatge de text i seguiu "
"les seves instruccions i després feu clic al botó de dalt"
#: src/timeline/BaseMessageComponentChooser.qml:249
#: src/timeline/BaseMessageComponentChooser.qml:172
#, kde-format
msgid "%1 started a user verification"
msgstr "%1 ha començat una verificació d'usuari"
#: src/timeline/ChatBarComponent.qml:98
#: src/timeline/ChatBarComponent.qml:88
#, kde-format
msgctxt "@action:button"
msgid "Confirm edit"
msgstr "Confirma l'edició"
#: src/timeline/ChatBarComponent.qml:98
#: src/timeline/ChatBarComponent.qml:88
#, kde-format
msgctxt "@action:button"
msgid "Post message in thread"
msgstr "Publica un missatge en el fil"
#: src/timeline/CodeComponent.qml:164
#: src/timeline/CodeComponent.qml:159
#, kde-format
msgid "Copy to clipboard"
msgstr "Copia al porta-retalls"
#: src/timeline/CodeComponent.qml:176
#: src/timeline/CodeComponent.qml:171
#, kde-format
msgctxt "@action:button"
msgid "Maximize"
msgstr "Maximitza"
#: src/timeline/EncryptedComponent.qml:21
#: src/timeline/EncryptedComponent.qml:18
#, kde-format
msgid ""
"This message is encrypted and the sender has not shared the key with this "
@@ -6080,20 +6079,20 @@ msgstr ""
"Aquest missatge està encriptat i el remitent no ha compartit la clau amb "
"aquest dispositiu."
#: src/timeline/FetchButtonComponent.qml:41
#: src/timeline/FetchButtonComponent.qml:36
#, kde-format
msgctxt "@action:button"
msgid "Fetch More Events"
msgstr "Recupera més esdeveniments"
#: src/timeline/FileComponent.qml:104 src/timeline/FileComponent.qml:187
#: src/timeline/FileComponent.qml:94 src/timeline/FileComponent.qml:177
#, kde-format
msgctxt ""
"tooltip for a button on a message; offers ability to download its file"
msgid "Download"
msgstr "Baixa"
#: src/timeline/FileComponent.qml:120 src/timeline/FileComponent.qml:177
#: src/timeline/FileComponent.qml:110 src/timeline/FileComponent.qml:167
#, kde-format
msgctxt ""
"tooltip for a button on a message; offers ability to open its downloaded "
@@ -6101,13 +6100,13 @@ msgctxt ""
msgid "Open File"
msgstr "Obre el fitxer"
#: src/timeline/FileComponent.qml:135
#: src/timeline/FileComponent.qml:125
#, kde-format
msgctxt "file download progress"
msgid "%1 / %2"
msgstr "%1 / %2"
#: src/timeline/FileComponent.qml:140
#: src/timeline/FileComponent.qml:130
#, kde-format
msgctxt ""
"tooltip for a button on a message; stops downloading the message's file"
@@ -6136,60 +6135,60 @@ msgstr "Hora d'entrada: %1"
msgid "Check-out time: %1"
msgstr "Hora de sortida: %1"
#: src/timeline/ImageComponent.qml:140
#: src/timeline/ImageComponent.qml:120
#, kde-format
msgctxt "@action:button"
msgid "Show Image"
msgstr "Mostra la imatge"
#: src/timeline/ItineraryComponent.qml:57
#: src/timeline/ItineraryComponent.qml:54
#, kde-format
msgctxt "@action"
msgid "Send to KDE Itinerary"
msgstr "Envia al KDE Itinerary"
#: src/timeline/LinkPreviewComponent.qml:136
#: src/timeline/LinkPreviewLoadComponent.qml:79
#: src/timeline/LinkPreviewComponent.qml:131
#: src/timeline/LinkPreviewLoadComponent.qml:76
#, kde-format
msgctxt "As in remove the link preview so it's no longer shown"
msgid "Remove preview"
msgstr "Elimina la vista prèvia"
#: src/timeline/LinkPreviewComponent.qml:154
#: src/timeline/LinkPreviewComponent.qml:149
#, kde-format
msgid "Shrink preview"
msgstr "Encongeix la vista prèvia"
#: src/timeline/LinkPreviewComponent.qml:154
#: src/timeline/LinkPreviewComponent.qml:149
#, kde-format
msgid "Expand preview"
msgstr "Expandeix la vista prèvia"
#: src/timeline/LinkPreviewLoadComponent.qml:68
#: src/timeline/LinkPreviewLoadComponent.qml:65
#, kde-format
msgid "Loading URL preview"
msgstr "S'està carregant la vista prèvia de l'URL"
#: src/timeline/LocationComponent.qml:116
#: src/timeline/LocationComponent.qml:111
#, kde-format
msgctxt "@action:button Open the location in an external program"
msgid "Open Externally"
msgstr "Obre externament"
#: src/timeline/PollComponent.qml:80
#: src/timeline/PollComponent.qml:70
#, kde-format
msgid "Based on votes by %1 user"
msgid_plural "Based on votes by %1 users"
msgstr[0] "Basat en els vots d'%1 usuari"
msgstr[1] "Basat en els vots de %1 usuaris"
#: src/timeline/PollComponent.qml:80
#: src/timeline/PollComponent.qml:70
#, kde-format
msgctxt "as in 'this vote has ended'"
msgid "(Ended)"
msgstr "(Finalitzat)"
#: src/timeline/ReactionComponent.qml:97
#: src/timeline/ReactionComponent.qml:89
#, kde-format
msgctxt "@button"
msgid "React"
@@ -6201,7 +6200,7 @@ msgctxt "Relative time since the room was last read"
msgid "Last read: %1"
msgstr "Última lectura: %1"
#: src/timeline/ReplyButtonComponent.qml:44
#: src/timeline/ReplyButtonComponent.qml:34
#, kde-format
msgctxt "@action:button"
msgid "Reply"
@@ -6223,24 +6222,24 @@ msgstr ""
msgid "Pl. %1"
msgstr "An. %1"
#: src/timeline/VideoComponent.qml:217
#: src/timeline/VideoComponent.qml:197
#, kde-format
msgid "Video"
msgstr "Vídeo"
#: src/timeline/VideoComponent.qml:257
#: src/timeline/VideoComponent.qml:237
#, kde-format
msgctxt "@action:button"
msgid "Show Video"
msgstr "Mostra el vídeo"
#: src/timeline/VideoComponent.qml:298
#: src/timeline/VideoComponent.qml:278
#, kde-format
msgctxt "@action:button"
msgid "Volume"
msgstr "Volum"
#: src/timeline/VideoComponent.qml:382
#: src/timeline/VideoComponent.qml:362
#, kde-format
msgid "Maximize"
msgstr "Maximitza"

View File

@@ -9,8 +9,8 @@ msgid ""
msgstr ""
"Project-Id-Version: neochat\n"
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
"POT-Creation-Date: 2025-03-07 00:42+0000\n"
"PO-Revision-Date: 2025-04-09 10:04+0200\n"
"POT-Creation-Date: 2025-03-11 00:41+0000\n"
"PO-Revision-Date: 2025-03-06 09:03+0100\n"
"Last-Translator: Josep M. Ferrer <txemaq@gmail.com>\n"
"Language-Team: Catalan <kde-i18n-ca@kde.org>\n"
"Language: ca@valencia\n"
@@ -129,7 +129,7 @@ msgstr "No s'ha pogut llegir el testimoni d'accés: %1"
#: src/controller.cpp:357
#, kde-format
msgid "Receiving push notifications"
msgstr "Rebre les notificacions automàtiques"
msgstr "Rebre les notificacions «push»"
#: src/devtools/AccountData.qml:20
#, kde-format
@@ -1045,7 +1045,7 @@ msgstr "El registre està desactivat en este servidor."
#: src/login/Homeserver.qml:41 src/login/Username.qml:38
#: src/models/messagecontentmodel.cpp:262
#: src/models/messagecontentmodel.cpp:290 src/timeline/LoadComponent.qml:33
#: src/models/messagecontentmodel.cpp:290 src/timeline/LoadComponent.qml:30
#, kde-format
msgid "Loading"
msgstr "S'està carregant"
@@ -1077,7 +1077,7 @@ msgid "Loading…"
msgstr "S'està carregant…"
#: src/login/Login.qml:38 src/login/WelcomePage.qml:250
#: src/settings/ThreePIdCard.qml:183
#: src/settings/ThreePIdCard.qml:189
#, kde-format
msgctxt "@action:button"
msgid "Continue"
@@ -1709,7 +1709,7 @@ msgstr "Emoji propis"
#: src/models/messagecontentmodel.cpp:260
#: src/models/messagecontentmodel.cpp:288
#: src/timeline/LinkPreviewLoadComponent.qml:66
#: src/timeline/LinkPreviewLoadComponent.qml:63
#, kde-format
msgid "Loading reply"
msgstr "S'està carregant la resposta"
@@ -1969,7 +1969,7 @@ msgctxt "@info:label"
msgid "%1 invited you"
msgstr "%1 vos ha convidat"
#: src/neochatconnection.cpp:77
#: src/neochatconnection.cpp:75
#, kde-format
msgid ""
"File too large to download.<br />Contact your matrix server administrator "
@@ -1978,18 +1978,18 @@ msgstr ""
"El fitxer és massa gran per a baixar.<br />Contacteu amb l'administrador del "
"servidor Matrix per a ajuda."
#: src/neochatconnection.cpp:336
#: src/neochatconnection.cpp:329
#, kde-format
msgctxt "@info"
msgid "No identity server configured"
msgstr "No s'ha configurat cap servidor d'identitats"
#: src/neochatconnection.cpp:367
#: src/neochatconnection.cpp:360
#, kde-format
msgid "Room creation failed: %1"
msgstr "No s'ha pogut crear la sala: %1"
#: src/neochatconnection.cpp:397
#: src/neochatconnection.cpp:390
#, kde-format
msgid "Space creation failed: %1"
msgstr "No s'ha pogut crear l'espai: %1"
@@ -4892,8 +4892,7 @@ msgstr ""
#: src/settings/GlobalNotificationsPage.qml:34
#, kde-format
msgid "Push notifications are available but could not be enabled."
msgstr ""
"Les notificacions automàtiques estan disponibles però no es poden activar."
msgstr "Les notificacions «push» estan disponibles però no es poden activar."
#: src/settings/GlobalNotificationsPage.qml:37
#, kde-format
@@ -5910,87 +5909,87 @@ msgctxt "@title:dialog"
msgid "Select Parameter to Add"
msgstr "Seleccioneu el paràmetre a afegir"
#: src/settings/ThreePIdCard.qml:55
#: src/settings/ThreePIdCard.qml:58
#, kde-format
msgctxt "@action:button"
msgid "Hide"
msgstr "Oculta"
#: src/settings/ThreePIdCard.qml:61
#: src/settings/ThreePIdCard.qml:64
#, kde-format
msgctxt "@action:button"
msgid "Share"
msgstr "Compartix"
#: src/settings/ThreePIdCard.qml:66
#: src/settings/ThreePIdCard.qml:69
#, kde-format
msgctxt "@action:button"
msgid "Remove"
msgstr "Elimina"
#: src/settings/ThreePIdCard.qml:85
#: src/settings/ThreePIdCard.qml:88
#, kde-format
msgctxt "@action:button"
msgid "Complete"
msgstr "Completa"
#: src/settings/ThreePIdCard.qml:90 src/timeline/ChatBarComponent.qml:110
#: src/settings/ThreePIdCard.qml:93 src/timeline/ChatBarComponent.qml:100
#, kde-format
msgctxt "@action:button"
msgid "Cancel"
msgstr "Cancel·la"
#: src/settings/ThreePIdCard.qml:130
#: src/settings/ThreePIdCard.qml:136
#, kde-format
msgctxt "@label:textbox"
msgid "Country Code for new phone number"
msgstr "Codi de país del número nou de telèfon"
#: src/settings/ThreePIdCard.qml:146
#: src/settings/ThreePIdCard.qml:152
#, kde-format
msgctxt "@label:textbox"
msgid "New Email Address:"
msgstr "Adreça de correu electrònic nova:"
#: src/settings/ThreePIdCard.qml:146
#: src/settings/ThreePIdCard.qml:152
#, kde-format
msgctxt "@label:textbox"
msgid "New Phone Number:"
msgstr "Número de telèfon nou:"
#: src/settings/ThreePIdCard.qml:150 src/threepidbindhelper.cpp:178
#: src/settings/ThreePIdCard.qml:156 src/threepidbindhelper.cpp:179
#, kde-format
msgid "We've sent you an email"
msgstr "Vos hem enviat un correu electrònic"
#: src/settings/ThreePIdCard.qml:150 src/threepidbindhelper.cpp:178
#: src/settings/ThreePIdCard.qml:156 src/threepidbindhelper.cpp:179
#, kde-format
msgid "We've sent you a text message"
msgstr "Vos hem enviat un missatge de text"
#: src/settings/ThreePIdCard.qml:150
#: src/settings/ThreePIdCard.qml:156
#, kde-format
msgid ""
"%1. Please follow the instructions there and then click the button below"
msgstr ""
"%1. Seguiu les seues instruccions i després feu clic en el botó de davall"
#: src/settings/ThreePIdCard.qml:152 src/threepidbindhelper.cpp:180
#: src/settings/ThreePIdCard.qml:158 src/threepidbindhelper.cpp:181
#, kde-format
msgid "The entered email is not valid"
msgstr "El correu electrònic que heu introduït no és vàlid"
#: src/settings/ThreePIdCard.qml:152 src/threepidbindhelper.cpp:180
#: src/settings/ThreePIdCard.qml:158 src/threepidbindhelper.cpp:181
#, kde-format
msgid "The entered phone number is not valid"
msgstr "El número de telèfon que heu introduït no és vàlid"
#: src/settings/ThreePIdCard.qml:154
#: src/settings/ThreePIdCard.qml:160
#, kde-format
msgid "Incorrect password entered"
msgstr "S'ha introduït una contrasenya incorrecta"
#: src/settings/ThreePIdCard.qml:156
#: src/settings/ThreePIdCard.qml:162
#, kde-format
msgid ""
"The email has not been verified. Please go to the email and follow the "
@@ -5999,7 +5998,7 @@ msgstr ""
"El correu electrònic no s'ha verificat. Aneu fins al correu electrònic i "
"seguiu les seues instruccions i després feu clic en el botó de davall"
#: src/settings/ThreePIdCard.qml:156
#: src/settings/ThreePIdCard.qml:162
#, kde-format
msgid ""
"The phone number has not been verified. Please go to the text message and "
@@ -6008,26 +6007,26 @@ msgstr ""
"El número de telèfon no s'ha verificat. Aneu fins al missatge de text i "
"seguiu les seues instruccions i després feu clic en el botó de davall"
#: src/settings/ThreePIdCard.qml:183
#: src/settings/ThreePIdCard.qml:189
#, kde-format
msgctxt "@action:button Add new email or phone number"
msgid "Add"
msgstr "Afig"
#: src/settings/ThreePIdCard.qml:191
#: src/settings/ThreePIdCard.qml:197
#, kde-format
msgctxt "@action:button As in 'go back'"
msgid "Back"
msgstr "Arrere"
#: src/threepidbindhelper.cpp:177
#: src/threepidbindhelper.cpp:178
#, kde-format
msgid ""
"%1. Please follow the instructions there and then click the button above"
msgstr ""
"%1. Seguiu les seues instruccions i després feu clic en el botó de dalt"
#: src/threepidbindhelper.cpp:183
#: src/threepidbindhelper.cpp:184
#, kde-format
msgid ""
"The email has not been verified. Please go to the email and follow the "
@@ -6036,7 +6035,7 @@ msgstr ""
"El correu electrònic no s'ha verificat. Aneu fins al correu electrònic i "
"seguiu les seues instruccions i després feu clic en el botó de dalt"
#: src/threepidbindhelper.cpp:184
#: src/threepidbindhelper.cpp:185
#, kde-format
msgid ""
"The phone number has not been verified. Please go to the text message and "
@@ -6045,35 +6044,35 @@ msgstr ""
"El número de telèfon no s'ha verificat. Aneu fins al missatge de text i "
"seguiu les seues instruccions i després feu clic en el botó de dalt"
#: src/timeline/BaseMessageComponentChooser.qml:249
#: src/timeline/BaseMessageComponentChooser.qml:172
#, kde-format
msgid "%1 started a user verification"
msgstr "%1 ha començat una verificació d'usuari"
#: src/timeline/ChatBarComponent.qml:98
#: src/timeline/ChatBarComponent.qml:88
#, kde-format
msgctxt "@action:button"
msgid "Confirm edit"
msgstr "Confirma l'edició"
#: src/timeline/ChatBarComponent.qml:98
#: src/timeline/ChatBarComponent.qml:88
#, kde-format
msgctxt "@action:button"
msgid "Post message in thread"
msgstr "Publica un missatge en el fil"
#: src/timeline/CodeComponent.qml:164
#: src/timeline/CodeComponent.qml:159
#, kde-format
msgid "Copy to clipboard"
msgstr "Copia a dins del porta-retalls"
#: src/timeline/CodeComponent.qml:176
#: src/timeline/CodeComponent.qml:171
#, kde-format
msgctxt "@action:button"
msgid "Maximize"
msgstr "Maximitza"
#: src/timeline/EncryptedComponent.qml:21
#: src/timeline/EncryptedComponent.qml:18
#, kde-format
msgid ""
"This message is encrypted and the sender has not shared the key with this "
@@ -6082,20 +6081,20 @@ msgstr ""
"Este missatge està encriptat i el remitent no ha compartit la clau amb este "
"dispositiu."
#: src/timeline/FetchButtonComponent.qml:41
#: src/timeline/FetchButtonComponent.qml:36
#, kde-format
msgctxt "@action:button"
msgid "Fetch More Events"
msgstr "Recupera més esdeveniments"
#: src/timeline/FileComponent.qml:104 src/timeline/FileComponent.qml:187
#: src/timeline/FileComponent.qml:94 src/timeline/FileComponent.qml:177
#, kde-format
msgctxt ""
"tooltip for a button on a message; offers ability to download its file"
msgid "Download"
msgstr "Baixa"
#: src/timeline/FileComponent.qml:120 src/timeline/FileComponent.qml:177
#: src/timeline/FileComponent.qml:110 src/timeline/FileComponent.qml:167
#, kde-format
msgctxt ""
"tooltip for a button on a message; offers ability to open its downloaded "
@@ -6103,13 +6102,13 @@ msgctxt ""
msgid "Open File"
msgstr "Obri el fitxer"
#: src/timeline/FileComponent.qml:135
#: src/timeline/FileComponent.qml:125
#, kde-format
msgctxt "file download progress"
msgid "%1 / %2"
msgstr "%1 / %2"
#: src/timeline/FileComponent.qml:140
#: src/timeline/FileComponent.qml:130
#, kde-format
msgctxt ""
"tooltip for a button on a message; stops downloading the message's file"
@@ -6138,60 +6137,60 @@ msgstr "Hora d'entrada: %1"
msgid "Check-out time: %1"
msgstr "Hora d'eixida: %1"
#: src/timeline/ImageComponent.qml:140
#: src/timeline/ImageComponent.qml:120
#, kde-format
msgctxt "@action:button"
msgid "Show Image"
msgstr "Mostra la imatge"
#: src/timeline/ItineraryComponent.qml:57
#: src/timeline/ItineraryComponent.qml:54
#, kde-format
msgctxt "@action"
msgid "Send to KDE Itinerary"
msgstr "Envia a KDE Itinerary"
#: src/timeline/LinkPreviewComponent.qml:136
#: src/timeline/LinkPreviewLoadComponent.qml:79
#: src/timeline/LinkPreviewComponent.qml:131
#: src/timeline/LinkPreviewLoadComponent.qml:76
#, kde-format
msgctxt "As in remove the link preview so it's no longer shown"
msgid "Remove preview"
msgstr "Elimina la vista prèvia"
#: src/timeline/LinkPreviewComponent.qml:154
#: src/timeline/LinkPreviewComponent.qml:149
#, kde-format
msgid "Shrink preview"
msgstr "Encull la vista prèvia"
#: src/timeline/LinkPreviewComponent.qml:154
#: src/timeline/LinkPreviewComponent.qml:149
#, kde-format
msgid "Expand preview"
msgstr "Expandix la vista prèvia"
#: src/timeline/LinkPreviewLoadComponent.qml:68
#: src/timeline/LinkPreviewLoadComponent.qml:65
#, kde-format
msgid "Loading URL preview"
msgstr "S'està carregant la vista prèvia de l'URL"
#: src/timeline/LocationComponent.qml:116
#: src/timeline/LocationComponent.qml:111
#, kde-format
msgctxt "@action:button Open the location in an external program"
msgid "Open Externally"
msgstr "Obri externament"
#: src/timeline/PollComponent.qml:80
#: src/timeline/PollComponent.qml:70
#, kde-format
msgid "Based on votes by %1 user"
msgid_plural "Based on votes by %1 users"
msgstr[0] "Basat en els vots d'%1 usuari"
msgstr[1] "Basat en els vots de %1 usuaris"
#: src/timeline/PollComponent.qml:80
#: src/timeline/PollComponent.qml:70
#, kde-format
msgctxt "as in 'this vote has ended'"
msgid "(Ended)"
msgstr "(Finalitzat)"
#: src/timeline/ReactionComponent.qml:97
#: src/timeline/ReactionComponent.qml:89
#, kde-format
msgctxt "@button"
msgid "React"
@@ -6203,7 +6202,7 @@ msgctxt "Relative time since the room was last read"
msgid "Last read: %1"
msgstr "Última lectura: %1"
#: src/timeline/ReplyButtonComponent.qml:44
#: src/timeline/ReplyButtonComponent.qml:34
#, kde-format
msgctxt "@action:button"
msgid "Reply"
@@ -6225,24 +6224,24 @@ msgstr ""
msgid "Pl. %1"
msgstr "An. %1"
#: src/timeline/VideoComponent.qml:217
#: src/timeline/VideoComponent.qml:197
#, kde-format
msgid "Video"
msgstr "Vídeo"
#: src/timeline/VideoComponent.qml:257
#: src/timeline/VideoComponent.qml:237
#, kde-format
msgctxt "@action:button"
msgid "Show Video"
msgstr "Mostra el vídeo"
#: src/timeline/VideoComponent.qml:298
#: src/timeline/VideoComponent.qml:278
#, kde-format
msgctxt "@action:button"
msgid "Volume"
msgstr "Volum"
#: src/timeline/VideoComponent.qml:382
#: src/timeline/VideoComponent.qml:362
#, kde-format
msgid "Maximize"
msgstr "Maximitza"

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: 2025-03-07 00:42+0000\n"
"POT-Creation-Date: 2025-03-11 00:41+0000\n"
"PO-Revision-Date: 2024-09-17 15:24+0200\n"
"Last-Translator: Vit Pelcak <vit@pelcak.org>\n"
"Language-Team: Czech <kde-i18n-doc@kde.org>\n"
@@ -1028,7 +1028,7 @@ msgstr ""
#: src/login/Homeserver.qml:41 src/login/Username.qml:38
#: src/models/messagecontentmodel.cpp:262
#: src/models/messagecontentmodel.cpp:290 src/timeline/LoadComponent.qml:33
#: src/models/messagecontentmodel.cpp:290 src/timeline/LoadComponent.qml:30
#, kde-format
msgid "Loading"
msgstr "Načítání"
@@ -1058,7 +1058,7 @@ msgid "Loading…"
msgstr "Probíhá načítání…"
#: src/login/Login.qml:38 src/login/WelcomePage.qml:250
#: src/settings/ThreePIdCard.qml:183
#: src/settings/ThreePIdCard.qml:189
#, kde-format
msgctxt "@action:button"
msgid "Continue"
@@ -1688,7 +1688,7 @@ msgstr "Vlastní emotikony"
#: src/models/messagecontentmodel.cpp:260
#: src/models/messagecontentmodel.cpp:288
#: src/timeline/LinkPreviewLoadComponent.qml:66
#: src/timeline/LinkPreviewLoadComponent.qml:63
#, kde-format
msgid "Loading reply"
msgstr ""
@@ -1943,25 +1943,25 @@ msgctxt "@info:label"
msgid "%1 invited you"
msgstr ""
#: src/neochatconnection.cpp:77
#: src/neochatconnection.cpp:75
#, kde-format
msgid ""
"File too large to download.<br />Contact your matrix server administrator "
"for support."
msgstr ""
#: src/neochatconnection.cpp:336
#: src/neochatconnection.cpp:329
#, kde-format
msgctxt "@info"
msgid "No identity server configured"
msgstr ""
#: src/neochatconnection.cpp:367
#: src/neochatconnection.cpp:360
#, kde-format
msgid "Room creation failed: %1"
msgstr "Vytvoření místnosti selhalo: %1"
#: src/neochatconnection.cpp:397
#: src/neochatconnection.cpp:390
#, kde-format
msgid "Space creation failed: %1"
msgstr "Vytvoření místnosti selhalo: %1"
@@ -2432,10 +2432,12 @@ msgid "View Source"
msgstr "Zobrazit zdroj"
#: src/qml/DelegateContextMenu.qml:78
#, kde-format
#, fuzzy, kde-format
#| msgctxt "@action:button"
#| msgid "Remove"
msgctxt "@action:button"
msgid "Remove…"
msgstr "Odstranit"
msgstr "Odstranit"
#: src/qml/DelegateContextMenu.qml:83 src/qml/DelegateContextMenu.qml:88
#: src/qml/FileDelegateContextMenu.qml:79
@@ -2703,9 +2705,10 @@ msgid "Copy Image"
msgstr ""
#: src/qml/FileDelegateContextMenu.qml:74
#, kde-format
#, fuzzy, kde-format
#| msgid "Remove"
msgid "Remove…"
msgstr "Odstranit"
msgstr "Odstranit"
#: src/qml/FullScreenMap.qml:23
#, kde-format
@@ -2924,13 +2927,15 @@ msgid "You can reject invitations from unknown users under Security settings."
msgstr ""
#: src/qml/InvitationView.qml:102
#, kde-format
#, fuzzy, kde-format
#| msgid "Reject"
msgctxt "@action:button"
msgid "Reject"
msgstr "Odmítnout"
#: src/qml/InvitationView.qml:110
#, kde-format
#, fuzzy, kde-format
#| msgid "Accept"
msgctxt "@action:button"
msgid "Accept"
msgstr "Přijmout"
@@ -5501,7 +5506,7 @@ msgstr ""
#: src/settings/RoomGeneralPage.qml:289
#, kde-format
msgid "Enable"
msgstr "Povolit"
msgstr ""
#: src/settings/RoomGeneralPage.qml:294
#, kde-format
@@ -5795,180 +5800,180 @@ msgctxt "@title:dialog"
msgid "Select Parameter to Add"
msgstr ""
#: src/settings/ThreePIdCard.qml:55
#: src/settings/ThreePIdCard.qml:58
#, kde-format
msgctxt "@action:button"
msgid "Hide"
msgstr "Skrýt"
#: src/settings/ThreePIdCard.qml:61
#: src/settings/ThreePIdCard.qml:64
#, kde-format
msgctxt "@action:button"
msgid "Share"
msgstr "Sdílet"
#: src/settings/ThreePIdCard.qml:66
#: src/settings/ThreePIdCard.qml:69
#, kde-format
msgctxt "@action:button"
msgid "Remove"
msgstr "Odstranit"
#: src/settings/ThreePIdCard.qml:85
#: src/settings/ThreePIdCard.qml:88
#, kde-format
msgctxt "@action:button"
msgid "Complete"
msgstr "Dokončeno"
#: src/settings/ThreePIdCard.qml:90 src/timeline/ChatBarComponent.qml:110
#: src/settings/ThreePIdCard.qml:93 src/timeline/ChatBarComponent.qml:100
#, kde-format
msgctxt "@action:button"
msgid "Cancel"
msgstr "Zrušit"
#: src/settings/ThreePIdCard.qml:130
#: src/settings/ThreePIdCard.qml:136
#, kde-format
msgctxt "@label:textbox"
msgid "Country Code for new phone number"
msgstr ""
#: src/settings/ThreePIdCard.qml:146
#: src/settings/ThreePIdCard.qml:152
#, kde-format
msgctxt "@label:textbox"
msgid "New Email Address:"
msgstr "Nová e-mailová adresa:"
#: src/settings/ThreePIdCard.qml:146
#: src/settings/ThreePIdCard.qml:152
#, kde-format
msgctxt "@label:textbox"
msgid "New Phone Number:"
msgstr "Nové telefonní číslo:"
#: src/settings/ThreePIdCard.qml:150 src/threepidbindhelper.cpp:178
#: src/settings/ThreePIdCard.qml:156 src/threepidbindhelper.cpp:179
#, kde-format
msgid "We've sent you an email"
msgstr ""
#: src/settings/ThreePIdCard.qml:150 src/threepidbindhelper.cpp:178
#: src/settings/ThreePIdCard.qml:156 src/threepidbindhelper.cpp:179
#, kde-format
msgid "We've sent you a text message"
msgstr ""
#: src/settings/ThreePIdCard.qml:150
#: src/settings/ThreePIdCard.qml:156
#, kde-format
msgid ""
"%1. Please follow the instructions there and then click the button below"
msgstr ""
#: src/settings/ThreePIdCard.qml:152 src/threepidbindhelper.cpp:180
#: src/settings/ThreePIdCard.qml:158 src/threepidbindhelper.cpp:181
#, kde-format
msgid "The entered email is not valid"
msgstr ""
#: src/settings/ThreePIdCard.qml:152 src/threepidbindhelper.cpp:180
#: src/settings/ThreePIdCard.qml:158 src/threepidbindhelper.cpp:181
#, kde-format
msgid "The entered phone number is not valid"
msgstr ""
#: src/settings/ThreePIdCard.qml:154
#: src/settings/ThreePIdCard.qml:160
#, kde-format
msgid "Incorrect password entered"
msgstr ""
#: src/settings/ThreePIdCard.qml:156
#: src/settings/ThreePIdCard.qml:162
#, kde-format
msgid ""
"The email has not been verified. Please go to the email and follow the "
"instructions there and then click the button below"
msgstr ""
#: src/settings/ThreePIdCard.qml:156
#: src/settings/ThreePIdCard.qml:162
#, kde-format
msgid ""
"The phone number has not been verified. Please go to the text message and "
"follow the instructions there and then click the button below"
msgstr ""
#: src/settings/ThreePIdCard.qml:183
#: src/settings/ThreePIdCard.qml:189
#, kde-format
msgctxt "@action:button Add new email or phone number"
msgid "Add"
msgstr "Přidat"
#: src/settings/ThreePIdCard.qml:191
#: src/settings/ThreePIdCard.qml:197
#, kde-format
msgctxt "@action:button As in 'go back'"
msgid "Back"
msgstr "Zpět"
#: src/threepidbindhelper.cpp:177
#: src/threepidbindhelper.cpp:178
#, kde-format
msgid ""
"%1. Please follow the instructions there and then click the button above"
msgstr ""
#: src/threepidbindhelper.cpp:183
#: src/threepidbindhelper.cpp:184
#, kde-format
msgid ""
"The email has not been verified. Please go to the email and follow the "
"instructions there and then click the button above"
msgstr ""
#: src/threepidbindhelper.cpp:184
#: src/threepidbindhelper.cpp:185
#, kde-format
msgid ""
"The phone number has not been verified. Please go to the text message and "
"follow the instructions there and then click the button above"
msgstr ""
#: src/timeline/BaseMessageComponentChooser.qml:249
#: src/timeline/BaseMessageComponentChooser.qml:172
#, kde-format
msgid "%1 started a user verification"
msgstr ""
#: src/timeline/ChatBarComponent.qml:98
#: src/timeline/ChatBarComponent.qml:88
#, kde-format
msgctxt "@action:button"
msgid "Confirm edit"
msgstr "Potvrdit úpravy"
#: src/timeline/ChatBarComponent.qml:98
#: src/timeline/ChatBarComponent.qml:88
#, kde-format
msgctxt "@action:button"
msgid "Post message in thread"
msgstr "Napsat zprávu do vlákna"
#: src/timeline/CodeComponent.qml:164
#: src/timeline/CodeComponent.qml:159
#, kde-format
msgid "Copy to clipboard"
msgstr "Zkopírovat do schránky"
#: src/timeline/CodeComponent.qml:176
#: src/timeline/CodeComponent.qml:171
#, kde-format
msgctxt "@action:button"
msgid "Maximize"
msgstr "Maximalizovat"
#: src/timeline/EncryptedComponent.qml:21
#: src/timeline/EncryptedComponent.qml:18
#, kde-format
msgid ""
"This message is encrypted and the sender has not shared the key with this "
"device."
msgstr ""
#: src/timeline/FetchButtonComponent.qml:41
#: src/timeline/FetchButtonComponent.qml:36
#, kde-format
msgctxt "@action:button"
msgid "Fetch More Events"
msgstr ""
#: src/timeline/FileComponent.qml:104 src/timeline/FileComponent.qml:187
#: src/timeline/FileComponent.qml:94 src/timeline/FileComponent.qml:177
#, kde-format
msgctxt ""
"tooltip for a button on a message; offers ability to download its file"
msgid "Download"
msgstr "Stáhnout"
#: src/timeline/FileComponent.qml:120 src/timeline/FileComponent.qml:177
#: src/timeline/FileComponent.qml:110 src/timeline/FileComponent.qml:167
#, kde-format
msgctxt ""
"tooltip for a button on a message; offers ability to open its downloaded "
@@ -5976,13 +5981,13 @@ msgctxt ""
msgid "Open File"
msgstr "Otevřít soubor"
#: src/timeline/FileComponent.qml:135
#: src/timeline/FileComponent.qml:125
#, kde-format
msgctxt "file download progress"
msgid "%1 / %2"
msgstr "%1 / %2"
#: src/timeline/FileComponent.qml:140
#: src/timeline/FileComponent.qml:130
#, kde-format
msgctxt ""
"tooltip for a button on a message; stops downloading the message's file"
@@ -6011,47 +6016,47 @@ msgstr ""
msgid "Check-out time: %1"
msgstr ""
#: src/timeline/ImageComponent.qml:140
#: src/timeline/ImageComponent.qml:120
#, kde-format
msgctxt "@action:button"
msgid "Show Image"
msgstr "Zobrazit obrázek"
#: src/timeline/ItineraryComponent.qml:57
#: src/timeline/ItineraryComponent.qml:54
#, kde-format
msgctxt "@action"
msgid "Send to KDE Itinerary"
msgstr "Poslat do itineráře KDE"
#: src/timeline/LinkPreviewComponent.qml:136
#: src/timeline/LinkPreviewLoadComponent.qml:79
#: src/timeline/LinkPreviewComponent.qml:131
#: src/timeline/LinkPreviewLoadComponent.qml:76
#, kde-format
msgctxt "As in remove the link preview so it's no longer shown"
msgid "Remove preview"
msgstr "Odstranit náhled"
#: src/timeline/LinkPreviewComponent.qml:154
#: src/timeline/LinkPreviewComponent.qml:149
#, kde-format
msgid "Shrink preview"
msgstr "Zmenšit náhled"
#: src/timeline/LinkPreviewComponent.qml:154
#: src/timeline/LinkPreviewComponent.qml:149
#, kde-format
msgid "Expand preview"
msgstr "Roztáhnout náhled"
#: src/timeline/LinkPreviewLoadComponent.qml:68
#: src/timeline/LinkPreviewLoadComponent.qml:65
#, kde-format
msgid "Loading URL preview"
msgstr "Načítá se náhled URL"
#: src/timeline/LocationComponent.qml:116
#: src/timeline/LocationComponent.qml:111
#, kde-format
msgctxt "@action:button Open the location in an external program"
msgid "Open Externally"
msgstr "Otevřít externě"
#: src/timeline/PollComponent.qml:80
#: src/timeline/PollComponent.qml:70
#, kde-format
msgid "Based on votes by %1 user"
msgid_plural "Based on votes by %1 users"
@@ -6059,13 +6064,13 @@ msgstr[0] ""
msgstr[1] ""
msgstr[2] ""
#: src/timeline/PollComponent.qml:80
#: src/timeline/PollComponent.qml:70
#, kde-format
msgctxt "as in 'this vote has ended'"
msgid "(Ended)"
msgstr "(Ukončeno)"
#: src/timeline/ReactionComponent.qml:97
#: src/timeline/ReactionComponent.qml:89
#, kde-format
msgctxt "@button"
msgid "React"
@@ -6077,7 +6082,7 @@ msgctxt "Relative time since the room was last read"
msgid "Last read: %1"
msgstr "Poslední přístup ke čtení: %1"
#: src/timeline/ReplyButtonComponent.qml:44
#: src/timeline/ReplyButtonComponent.qml:34
#, kde-format
msgctxt "@action:button"
msgid "Reply"
@@ -6096,24 +6101,24 @@ msgstr ""
msgid "Pl. %1"
msgstr ""
#: src/timeline/VideoComponent.qml:217
#: src/timeline/VideoComponent.qml:197
#, kde-format
msgid "Video"
msgstr "Video"
#: src/timeline/VideoComponent.qml:257
#: src/timeline/VideoComponent.qml:237
#, kde-format
msgctxt "@action:button"
msgid "Show Video"
msgstr "Zobrazit video"
#: src/timeline/VideoComponent.qml:298
#: src/timeline/VideoComponent.qml:278
#, kde-format
msgctxt "@action:button"
msgid "Volume"
msgstr "Hlasitost"
#: src/timeline/VideoComponent.qml:382
#: src/timeline/VideoComponent.qml:362
#, kde-format
msgid "Maximize"
msgstr "Maximalizovat"

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: 2025-03-07 00:42+0000\n"
"POT-Creation-Date: 2025-03-11 00:41+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"
@@ -1077,7 +1077,7 @@ msgstr ""
#: src/login/Homeserver.qml:41 src/login/Username.qml:38
#: src/models/messagecontentmodel.cpp:262
#: src/models/messagecontentmodel.cpp:290 src/timeline/LoadComponent.qml:33
#: src/models/messagecontentmodel.cpp:290 src/timeline/LoadComponent.qml:30
#, fuzzy, kde-format
#| msgid "Loading"
msgid "Loading"
@@ -1109,7 +1109,7 @@ msgid "Loading…"
msgstr "Indlæser"
#: src/login/Login.qml:38 src/login/WelcomePage.qml:250
#: src/settings/ThreePIdCard.qml:183
#: src/settings/ThreePIdCard.qml:189
#, kde-format
msgctxt "@action:button"
msgid "Continue"
@@ -1755,7 +1755,7 @@ msgstr ""
#: src/models/messagecontentmodel.cpp:260
#: src/models/messagecontentmodel.cpp:288
#: src/timeline/LinkPreviewLoadComponent.qml:66
#: src/timeline/LinkPreviewLoadComponent.qml:63
#, fuzzy, kde-format
#| msgid "Loading"
msgid "Loading reply"
@@ -2032,26 +2032,26 @@ msgctxt "@info:label"
msgid "%1 invited you"
msgstr ""
#: src/neochatconnection.cpp:77
#: src/neochatconnection.cpp:75
#, kde-format
msgid ""
"File too large to download.<br />Contact your matrix server administrator "
"for support."
msgstr ""
#: src/neochatconnection.cpp:336
#: src/neochatconnection.cpp:329
#, kde-format
msgctxt "@info"
msgid "No identity server configured"
msgstr ""
#: src/neochatconnection.cpp:367
#: src/neochatconnection.cpp:360
#, fuzzy, kde-format
#| msgid "Login Failed"
msgid "Room creation failed: %1"
msgstr "Login mislykkedes"
#: src/neochatconnection.cpp:397
#: src/neochatconnection.cpp:390
#, fuzzy, kde-format
#| msgid "Login Failed"
msgid "Space creation failed: %1"
@@ -6100,187 +6100,187 @@ msgctxt "@title:dialog"
msgid "Select Parameter to Add"
msgstr ""
#: src/settings/ThreePIdCard.qml:55
#: src/settings/ThreePIdCard.qml:58
#, kde-format
msgctxt "@action:button"
msgid "Hide"
msgstr ""
#: src/settings/ThreePIdCard.qml:61
#: src/settings/ThreePIdCard.qml:64
#, kde-format
msgctxt "@action:button"
msgid "Share"
msgstr ""
#: src/settings/ThreePIdCard.qml:66
#: src/settings/ThreePIdCard.qml:69
#, fuzzy, kde-format
#| msgid "Remove"
msgctxt "@action:button"
msgid "Remove"
msgstr "Fjern"
#: src/settings/ThreePIdCard.qml:85
#: src/settings/ThreePIdCard.qml:88
#, kde-format
msgctxt "@action:button"
msgid "Complete"
msgstr ""
#: src/settings/ThreePIdCard.qml:90 src/timeline/ChatBarComponent.qml:110
#: src/settings/ThreePIdCard.qml:93 src/timeline/ChatBarComponent.qml:100
#, fuzzy, kde-format
#| msgid "Cancel"
msgctxt "@action:button"
msgid "Cancel"
msgstr "Annullér"
#: src/settings/ThreePIdCard.qml:130
#: src/settings/ThreePIdCard.qml:136
#, kde-format
msgctxt "@label:textbox"
msgid "Country Code for new phone number"
msgstr ""
#: src/settings/ThreePIdCard.qml:146
#: src/settings/ThreePIdCard.qml:152
#, kde-format
msgctxt "@label:textbox"
msgid "New Email Address:"
msgstr ""
#: src/settings/ThreePIdCard.qml:146
#: src/settings/ThreePIdCard.qml:152
#, fuzzy, kde-format
#| msgid "Members"
msgctxt "@label:textbox"
msgid "New Phone Number:"
msgstr "Medlemmer"
#: src/settings/ThreePIdCard.qml:150 src/threepidbindhelper.cpp:178
#: src/settings/ThreePIdCard.qml:156 src/threepidbindhelper.cpp:179
#, kde-format
msgid "We've sent you an email"
msgstr ""
#: src/settings/ThreePIdCard.qml:150 src/threepidbindhelper.cpp:178
#: src/settings/ThreePIdCard.qml:156 src/threepidbindhelper.cpp:179
#, fuzzy, kde-format
#| msgid "Send message"
msgid "We've sent you a text message"
msgstr "Send besked"
#: src/settings/ThreePIdCard.qml:150
#: src/settings/ThreePIdCard.qml:156
#, kde-format
msgid ""
"%1. Please follow the instructions there and then click the button below"
msgstr ""
#: src/settings/ThreePIdCard.qml:152 src/threepidbindhelper.cpp:180
#: src/settings/ThreePIdCard.qml:158 src/threepidbindhelper.cpp:181
#, kde-format
msgid "The entered email is not valid"
msgstr ""
#: src/settings/ThreePIdCard.qml:152 src/threepidbindhelper.cpp:180
#: src/settings/ThreePIdCard.qml:158 src/threepidbindhelper.cpp:181
#, kde-format
msgid "The entered phone number is not valid"
msgstr ""
#: src/settings/ThreePIdCard.qml:154
#: src/settings/ThreePIdCard.qml:160
#, kde-format
msgid "Incorrect password entered"
msgstr ""
#: src/settings/ThreePIdCard.qml:156
#: src/settings/ThreePIdCard.qml:162
#, kde-format
msgid ""
"The email has not been verified. Please go to the email and follow the "
"instructions there and then click the button below"
msgstr ""
#: src/settings/ThreePIdCard.qml:156
#: src/settings/ThreePIdCard.qml:162
#, kde-format
msgid ""
"The phone number has not been verified. Please go to the text message and "
"follow the instructions there and then click the button below"
msgstr ""
#: src/settings/ThreePIdCard.qml:183
#: src/settings/ThreePIdCard.qml:189
#, fuzzy, kde-format
#| msgid "Add"
msgctxt "@action:button Add new email or phone number"
msgid "Add"
msgstr "Tilføj"
#: src/settings/ThreePIdCard.qml:191
#: src/settings/ThreePIdCard.qml:197
#, kde-format
msgctxt "@action:button As in 'go back'"
msgid "Back"
msgstr ""
#: src/threepidbindhelper.cpp:177
#: src/threepidbindhelper.cpp:178
#, kde-format
msgid ""
"%1. Please follow the instructions there and then click the button above"
msgstr ""
#: src/threepidbindhelper.cpp:183
#: src/threepidbindhelper.cpp:184
#, kde-format
msgid ""
"The email has not been verified. Please go to the email and follow the "
"instructions there and then click the button above"
msgstr ""
#: src/threepidbindhelper.cpp:184
#: src/threepidbindhelper.cpp:185
#, kde-format
msgid ""
"The phone number has not been verified. Please go to the text message and "
"follow the instructions there and then click the button above"
msgstr ""
#: src/timeline/BaseMessageComponentChooser.qml:249
#: src/timeline/BaseMessageComponentChooser.qml:172
#, kde-format
msgid "%1 started a user verification"
msgstr ""
#: src/timeline/ChatBarComponent.qml:98
#: src/timeline/ChatBarComponent.qml:88
#, fuzzy, kde-format
#| msgid "Cancel"
msgctxt "@action:button"
msgid "Confirm edit"
msgstr "Annullér"
#: src/timeline/ChatBarComponent.qml:98
#: src/timeline/ChatBarComponent.qml:88
#, fuzzy, kde-format
#| msgid "Send message"
msgctxt "@action:button"
msgid "Post message in thread"
msgstr "Send besked"
#: src/timeline/CodeComponent.qml:164
#: src/timeline/CodeComponent.qml:159
#, kde-format
msgid "Copy to clipboard"
msgstr ""
#: src/timeline/CodeComponent.qml:176
#: src/timeline/CodeComponent.qml:171
#, kde-format
msgctxt "@action:button"
msgid "Maximize"
msgstr ""
#: src/timeline/EncryptedComponent.qml:21
#: src/timeline/EncryptedComponent.qml:18
#, kde-format
msgid ""
"This message is encrypted and the sender has not shared the key with this "
"device."
msgstr ""
#: src/timeline/FetchButtonComponent.qml:41
#: src/timeline/FetchButtonComponent.qml:36
#, kde-format
msgctxt "@action:button"
msgid "Fetch More Events"
msgstr ""
#: src/timeline/FileComponent.qml:104 src/timeline/FileComponent.qml:187
#: src/timeline/FileComponent.qml:94 src/timeline/FileComponent.qml:177
#, kde-format
msgctxt ""
"tooltip for a button on a message; offers ability to download its file"
msgid "Download"
msgstr ""
#: src/timeline/FileComponent.qml:120 src/timeline/FileComponent.qml:177
#: src/timeline/FileComponent.qml:110 src/timeline/FileComponent.qml:167
#, kde-format
msgctxt ""
"tooltip for a button on a message; offers ability to open its downloaded "
@@ -6288,13 +6288,13 @@ msgctxt ""
msgid "Open File"
msgstr ""
#: src/timeline/FileComponent.qml:135
#: src/timeline/FileComponent.qml:125
#, kde-format
msgctxt "file download progress"
msgid "%1 / %2"
msgstr ""
#: src/timeline/FileComponent.qml:140
#: src/timeline/FileComponent.qml:130
#, kde-format
msgctxt ""
"tooltip for a button on a message; stops downloading the message's file"
@@ -6323,63 +6323,63 @@ msgstr ""
msgid "Check-out time: %1"
msgstr ""
#: src/timeline/ImageComponent.qml:140
#: src/timeline/ImageComponent.qml:120
#, fuzzy, kde-format
#| msgid "Username"
msgctxt "@action:button"
msgid "Show Image"
msgstr "Brugernavn"
#: src/timeline/ItineraryComponent.qml:57
#: src/timeline/ItineraryComponent.qml:54
#, kde-format
msgctxt "@action"
msgid "Send to KDE Itinerary"
msgstr ""
#: src/timeline/LinkPreviewComponent.qml:136
#: src/timeline/LinkPreviewLoadComponent.qml:79
#: src/timeline/LinkPreviewComponent.qml:131
#: src/timeline/LinkPreviewLoadComponent.qml:76
#, fuzzy, kde-format
#| msgid "Remove"
msgctxt "As in remove the link preview so it's no longer shown"
msgid "Remove preview"
msgstr "Fjern"
#: src/timeline/LinkPreviewComponent.qml:154
#: src/timeline/LinkPreviewComponent.qml:149
#, kde-format
msgid "Shrink preview"
msgstr ""
#: src/timeline/LinkPreviewComponent.qml:154
#: src/timeline/LinkPreviewComponent.qml:149
#, kde-format
msgid "Expand preview"
msgstr ""
#: src/timeline/LinkPreviewLoadComponent.qml:68
#: src/timeline/LinkPreviewLoadComponent.qml:65
#, kde-format
msgid "Loading URL preview"
msgstr ""
#: src/timeline/LocationComponent.qml:116
#: src/timeline/LocationComponent.qml:111
#, fuzzy, kde-format
#| msgid "Open Externally"
msgctxt "@action:button Open the location in an external program"
msgid "Open Externally"
msgstr "Åbn eksternt"
#: src/timeline/PollComponent.qml:80
#: src/timeline/PollComponent.qml:70
#, kde-format
msgid "Based on votes by %1 user"
msgid_plural "Based on votes by %1 users"
msgstr[0] ""
msgstr[1] ""
#: src/timeline/PollComponent.qml:80
#: src/timeline/PollComponent.qml:70
#, kde-format
msgctxt "as in 'this vote has ended'"
msgid "(Ended)"
msgstr ""
#: src/timeline/ReactionComponent.qml:97
#: src/timeline/ReactionComponent.qml:89
#, kde-format
msgctxt "@button"
msgid "React"
@@ -6391,7 +6391,7 @@ msgctxt "Relative time since the room was last read"
msgid "Last read: %1"
msgstr ""
#: src/timeline/ReplyButtonComponent.qml:44
#: src/timeline/ReplyButtonComponent.qml:34
#, fuzzy, kde-format
#| msgid "Reply"
msgctxt "@action:button"
@@ -6411,25 +6411,25 @@ msgstr ""
msgid "Pl. %1"
msgstr ""
#: src/timeline/VideoComponent.qml:217
#: src/timeline/VideoComponent.qml:197
#, kde-format
msgid "Video"
msgstr ""
#: src/timeline/VideoComponent.qml:257
#: src/timeline/VideoComponent.qml:237
#, fuzzy, kde-format
#| msgid "Username"
msgctxt "@action:button"
msgid "Show Video"
msgstr "Brugernavn"
#: src/timeline/VideoComponent.qml:298
#: src/timeline/VideoComponent.qml:278
#, kde-format
msgctxt "@action:button"
msgid "Volume"
msgstr ""
#: src/timeline/VideoComponent.qml:382
#: src/timeline/VideoComponent.qml:362
#, kde-format
msgid "Maximize"
msgstr ""

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: 2025-03-07 00:42+0000\n"
"POT-Creation-Date: 2025-03-11 00:41+0000\n"
"PO-Revision-Date: 2025-01-08 15:55+0100\n"
"Last-Translator: Johannes Obermayr <johannesobermayr@gmx.de>\n"
"Language-Team: German <kde-i18n-de@kde.org>\n"
@@ -1050,7 +1050,7 @@ msgstr "Die Registrierung ist auf diesem Server deaktiviert."
#: src/login/Homeserver.qml:41 src/login/Username.qml:38
#: src/models/messagecontentmodel.cpp:262
#: src/models/messagecontentmodel.cpp:290 src/timeline/LoadComponent.qml:33
#: src/models/messagecontentmodel.cpp:290 src/timeline/LoadComponent.qml:30
#, kde-format
msgid "Loading"
msgstr "Wird geladen"
@@ -1081,7 +1081,7 @@ msgid "Loading…"
msgstr "Wird geladen …"
#: src/login/Login.qml:38 src/login/WelcomePage.qml:250
#: src/settings/ThreePIdCard.qml:183
#: src/settings/ThreePIdCard.qml:189
#, kde-format
msgctxt "@action:button"
msgid "Continue"
@@ -1718,7 +1718,7 @@ msgstr "Eigene Emojis"
#: src/models/messagecontentmodel.cpp:260
#: src/models/messagecontentmodel.cpp:288
#: src/timeline/LinkPreviewLoadComponent.qml:66
#: src/timeline/LinkPreviewLoadComponent.qml:63
#, kde-format
msgid "Loading reply"
msgstr "Antwort wird geladen"
@@ -1990,7 +1990,7 @@ msgctxt "@info:label"
msgid "%1 invited you"
msgstr "%1 hat Sie in einen Raum eingeladen"
#: src/neochatconnection.cpp:77
#: src/neochatconnection.cpp:75
#, kde-format
msgid ""
"File too large to download.<br />Contact your matrix server administrator "
@@ -1999,18 +1999,18 @@ msgstr ""
"Die Datei ist zu groß für das Herunterladen.<br />Kontaktieren Sie den "
"Administrator Ihres Matrix-Servers für die Unterstützung."
#: src/neochatconnection.cpp:336
#: src/neochatconnection.cpp:329
#, kde-format
msgctxt "@info"
msgid "No identity server configured"
msgstr ""
#: src/neochatconnection.cpp:367
#: src/neochatconnection.cpp:360
#, kde-format
msgid "Room creation failed: %1"
msgstr "Erstellen des Raums ist fehlgeschlagen: %1"
#: src/neochatconnection.cpp:397
#: src/neochatconnection.cpp:390
#, kde-format
msgid "Space creation failed: %1"
msgstr "Erstellen der Umgebung ist fehlgeschlagen: %1"
@@ -5968,162 +5968,162 @@ msgctxt "@title:dialog"
msgid "Select Parameter to Add"
msgstr ""
#: src/settings/ThreePIdCard.qml:55
#: src/settings/ThreePIdCard.qml:58
#, kde-format
msgctxt "@action:button"
msgid "Hide"
msgstr "Ausblenden"
#: src/settings/ThreePIdCard.qml:61
#: src/settings/ThreePIdCard.qml:64
#, kde-format
msgctxt "@action:button"
msgid "Share"
msgstr "Teilen"
#: src/settings/ThreePIdCard.qml:66
#: src/settings/ThreePIdCard.qml:69
#, kde-format
msgctxt "@action:button"
msgid "Remove"
msgstr "Entfernen"
#: src/settings/ThreePIdCard.qml:85
#: src/settings/ThreePIdCard.qml:88
#, fuzzy, kde-format
#| msgid "Compact"
msgctxt "@action:button"
msgid "Complete"
msgstr "Kompakt"
#: src/settings/ThreePIdCard.qml:90 src/timeline/ChatBarComponent.qml:110
#: src/settings/ThreePIdCard.qml:93 src/timeline/ChatBarComponent.qml:100
#, kde-format
msgctxt "@action:button"
msgid "Cancel"
msgstr "Abbrechen"
#: src/settings/ThreePIdCard.qml:130
#: src/settings/ThreePIdCard.qml:136
#, kde-format
msgctxt "@label:textbox"
msgid "Country Code for new phone number"
msgstr "Länderkennung für die neue Telefonnummer"
#: src/settings/ThreePIdCard.qml:146
#: src/settings/ThreePIdCard.qml:152
#, kde-format
msgctxt "@label:textbox"
msgid "New Email Address:"
msgstr "Neue E-Mail-Adresse:"
#: src/settings/ThreePIdCard.qml:146
#: src/settings/ThreePIdCard.qml:152
#, kde-format
msgctxt "@label:textbox"
msgid "New Phone Number:"
msgstr "Neue Telefonnummer:"
#: src/settings/ThreePIdCard.qml:150 src/threepidbindhelper.cpp:178
#: src/settings/ThreePIdCard.qml:156 src/threepidbindhelper.cpp:179
#, kde-format
msgid "We've sent you an email"
msgstr ""
#: src/settings/ThreePIdCard.qml:150 src/threepidbindhelper.cpp:178
#: src/settings/ThreePIdCard.qml:156 src/threepidbindhelper.cpp:179
#, fuzzy, kde-format
#| msgid "sent a message"
msgid "We've sent you a text message"
msgstr "hat eine Nachricht gesendet"
#: src/settings/ThreePIdCard.qml:150
#: src/settings/ThreePIdCard.qml:156
#, kde-format
msgid ""
"%1. Please follow the instructions there and then click the button below"
msgstr ""
#: src/settings/ThreePIdCard.qml:152 src/threepidbindhelper.cpp:180
#: src/settings/ThreePIdCard.qml:158 src/threepidbindhelper.cpp:181
#, kde-format
msgid "The entered email is not valid"
msgstr "Die eingegebene E-Mail-Adresse ist nicht gültig"
#: src/settings/ThreePIdCard.qml:152 src/threepidbindhelper.cpp:180
#: src/settings/ThreePIdCard.qml:158 src/threepidbindhelper.cpp:181
#, kde-format
msgid "The entered phone number is not valid"
msgstr "Die eingegebene Telefonnummer ist nicht gültig"
#: src/settings/ThreePIdCard.qml:154
#: src/settings/ThreePIdCard.qml:160
#, kde-format
msgid "Incorrect password entered"
msgstr "Falsches Passwort eingegeben"
#: src/settings/ThreePIdCard.qml:156
#: src/settings/ThreePIdCard.qml:162
#, kde-format
msgid ""
"The email has not been verified. Please go to the email and follow the "
"instructions there and then click the button below"
msgstr ""
#: src/settings/ThreePIdCard.qml:156
#: src/settings/ThreePIdCard.qml:162
#, kde-format
msgid ""
"The phone number has not been verified. Please go to the text message and "
"follow the instructions there and then click the button below"
msgstr ""
#: src/settings/ThreePIdCard.qml:183
#: src/settings/ThreePIdCard.qml:189
#, kde-format
msgctxt "@action:button Add new email or phone number"
msgid "Add"
msgstr "Hinzufügen"
#: src/settings/ThreePIdCard.qml:191
#: src/settings/ThreePIdCard.qml:197
#, kde-format
msgctxt "@action:button As in 'go back'"
msgid "Back"
msgstr "Zurück"
#: src/threepidbindhelper.cpp:177
#: src/threepidbindhelper.cpp:178
#, kde-format
msgid ""
"%1. Please follow the instructions there and then click the button above"
msgstr ""
#: src/threepidbindhelper.cpp:183
#: src/threepidbindhelper.cpp:184
#, kde-format
msgid ""
"The email has not been verified. Please go to the email and follow the "
"instructions there and then click the button above"
msgstr ""
#: src/threepidbindhelper.cpp:184
#: src/threepidbindhelper.cpp:185
#, kde-format
msgid ""
"The phone number has not been verified. Please go to the text message and "
"follow the instructions there and then click the button above"
msgstr ""
#: src/timeline/BaseMessageComponentChooser.qml:249
#: src/timeline/BaseMessageComponentChooser.qml:172
#, kde-format
msgid "%1 started a user verification"
msgstr "%1 startete eine Überprüfung des Benutzers"
#: src/timeline/ChatBarComponent.qml:98
#: src/timeline/ChatBarComponent.qml:88
#, kde-format
msgctxt "@action:button"
msgid "Confirm edit"
msgstr "Änderungen bestätigen"
#: src/timeline/ChatBarComponent.qml:98
#: src/timeline/ChatBarComponent.qml:88
#, kde-format
msgctxt "@action:button"
msgid "Post message in thread"
msgstr "Nachricht im Diskussionsfaden senden"
#: src/timeline/CodeComponent.qml:164
#: src/timeline/CodeComponent.qml:159
#, kde-format
msgid "Copy to clipboard"
msgstr "In die Zwischenablage kopieren"
#: src/timeline/CodeComponent.qml:176
#: src/timeline/CodeComponent.qml:171
#, kde-format
msgctxt "@action:button"
msgid "Maximize"
msgstr "Maximieren"
#: src/timeline/EncryptedComponent.qml:21
#: src/timeline/EncryptedComponent.qml:18
#, kde-format
msgid ""
"This message is encrypted and the sender has not shared the key with this "
@@ -6132,20 +6132,20 @@ msgstr ""
"Diese Nachricht ist verschlüsselt und der Absender hat den Schlüssel nicht "
"mit diesem Gerät geteilt."
#: src/timeline/FetchButtonComponent.qml:41
#: src/timeline/FetchButtonComponent.qml:36
#, kde-format
msgctxt "@action:button"
msgid "Fetch More Events"
msgstr ""
#: src/timeline/FileComponent.qml:104 src/timeline/FileComponent.qml:187
#: src/timeline/FileComponent.qml:94 src/timeline/FileComponent.qml:177
#, kde-format
msgctxt ""
"tooltip for a button on a message; offers ability to download its file"
msgid "Download"
msgstr "Herunterladen"
#: src/timeline/FileComponent.qml:120 src/timeline/FileComponent.qml:177
#: src/timeline/FileComponent.qml:110 src/timeline/FileComponent.qml:167
#, kde-format
msgctxt ""
"tooltip for a button on a message; offers ability to open its downloaded "
@@ -6153,13 +6153,13 @@ msgctxt ""
msgid "Open File"
msgstr "Datei öffnen"
#: src/timeline/FileComponent.qml:135
#: src/timeline/FileComponent.qml:125
#, kde-format
msgctxt "file download progress"
msgid "%1 / %2"
msgstr "%1 / %2"
#: src/timeline/FileComponent.qml:140
#: src/timeline/FileComponent.qml:130
#, kde-format
msgctxt ""
"tooltip for a button on a message; stops downloading the message's file"
@@ -6188,60 +6188,60 @@ msgstr "Check-in-Zeit: %1"
msgid "Check-out time: %1"
msgstr "Check-out-Zeit: %1"
#: src/timeline/ImageComponent.qml:140
#: src/timeline/ImageComponent.qml:120
#, kde-format
msgctxt "@action:button"
msgid "Show Image"
msgstr "Bild anzeigen"
#: src/timeline/ItineraryComponent.qml:57
#: src/timeline/ItineraryComponent.qml:54
#, kde-format
msgctxt "@action"
msgid "Send to KDE Itinerary"
msgstr "Zu KDE-Itinerary senden"
#: src/timeline/LinkPreviewComponent.qml:136
#: src/timeline/LinkPreviewLoadComponent.qml:79
#: src/timeline/LinkPreviewComponent.qml:131
#: src/timeline/LinkPreviewLoadComponent.qml:76
#, kde-format
msgctxt "As in remove the link preview so it's no longer shown"
msgid "Remove preview"
msgstr "Vorschau entfernen"
#: src/timeline/LinkPreviewComponent.qml:154
#: src/timeline/LinkPreviewComponent.qml:149
#, kde-format
msgid "Shrink preview"
msgstr "Vorschau verkleinern"
#: src/timeline/LinkPreviewComponent.qml:154
#: src/timeline/LinkPreviewComponent.qml:149
#, kde-format
msgid "Expand preview"
msgstr "Vorschau vergrößern"
#: src/timeline/LinkPreviewLoadComponent.qml:68
#: src/timeline/LinkPreviewLoadComponent.qml:65
#, kde-format
msgid "Loading URL preview"
msgstr "Adressvorschau wird geladen"
#: src/timeline/LocationComponent.qml:116
#: src/timeline/LocationComponent.qml:111
#, kde-format
msgctxt "@action:button Open the location in an external program"
msgid "Open Externally"
msgstr "Extern öffnen"
#: src/timeline/PollComponent.qml:80
#: src/timeline/PollComponent.qml:70
#, kde-format
msgid "Based on votes by %1 user"
msgid_plural "Based on votes by %1 users"
msgstr[0] "Basierend auf der Stimme von %1 Nutzer"
msgstr[1] "Basierend auf Stimmen von %1 Nutzern"
#: src/timeline/PollComponent.qml:80
#: src/timeline/PollComponent.qml:70
#, kde-format
msgctxt "as in 'this vote has ended'"
msgid "(Ended)"
msgstr "(Beendet)"
#: src/timeline/ReactionComponent.qml:97
#: src/timeline/ReactionComponent.qml:89
#, fuzzy, kde-format
#| msgid "React"
msgctxt "@button"
@@ -6254,7 +6254,7 @@ msgctxt "Relative time since the room was last read"
msgid "Last read: %1"
msgstr "Zuletzt gelesen: %1"
#: src/timeline/ReplyButtonComponent.qml:44
#: src/timeline/ReplyButtonComponent.qml:34
#, kde-format
msgctxt "@action:button"
msgid "Reply"
@@ -6275,24 +6275,24 @@ msgstr ""
msgid "Pl. %1"
msgstr ""
#: src/timeline/VideoComponent.qml:217
#: src/timeline/VideoComponent.qml:197
#, kde-format
msgid "Video"
msgstr "Video"
#: src/timeline/VideoComponent.qml:257
#: src/timeline/VideoComponent.qml:237
#, kde-format
msgctxt "@action:button"
msgid "Show Video"
msgstr "Video anzeigen"
#: src/timeline/VideoComponent.qml:298
#: src/timeline/VideoComponent.qml:278
#, kde-format
msgctxt "@action:button"
msgid "Volume"
msgstr "Lautstärke"
#: src/timeline/VideoComponent.qml:382
#: src/timeline/VideoComponent.qml:362
#, kde-format
msgid "Maximize"
msgstr "Maximieren"

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: 2025-03-07 00:42+0000\n"
"POT-Creation-Date: 2025-03-11 00:41+0000\n"
"PO-Revision-Date: 2024-09-20 13:25+0300\n"
"Last-Translator: Antonis Geralis <capoiosct@gmail.com>\n"
"Language-Team: Greek <kde-i18n-el@kde.org>\n"
@@ -1111,7 +1111,7 @@ msgstr "Η εγγραφή είναι απενεργοποιημένη σε αυ
#: src/login/Homeserver.qml:41 src/login/Username.qml:38
#: src/models/messagecontentmodel.cpp:262
#: src/models/messagecontentmodel.cpp:290 src/timeline/LoadComponent.qml:33
#: src/models/messagecontentmodel.cpp:290 src/timeline/LoadComponent.qml:30
#, kde-format
msgid "Loading"
msgstr "Φορτώνει"
@@ -1142,7 +1142,7 @@ msgid "Loading…"
msgstr "Φορτώνει…"
#: src/login/Login.qml:38 src/login/WelcomePage.qml:250
#: src/settings/ThreePIdCard.qml:183
#: src/settings/ThreePIdCard.qml:189
#, kde-format
msgctxt "@action:button"
msgid "Continue"
@@ -1796,7 +1796,7 @@ msgstr "Χωρίς εμότζι"
#: src/models/messagecontentmodel.cpp:260
#: src/models/messagecontentmodel.cpp:288
#: src/timeline/LinkPreviewLoadComponent.qml:66
#: src/timeline/LinkPreviewLoadComponent.qml:63
#, fuzzy, kde-format
#| msgid "Loading…"
msgid "Loading reply"
@@ -2066,7 +2066,7 @@ msgctxt "@info:label"
msgid "%1 invited you"
msgstr "%1 σε προσκάλεσε σε μία αίθουσα"
#: src/neochatconnection.cpp:77
#: src/neochatconnection.cpp:75
#, fuzzy, kde-format
#| msgid "Contact your matrix server administrator for support."
msgid ""
@@ -2074,18 +2074,18 @@ msgid ""
"for support."
msgstr "Επικοινωνήστε με τον διαχειριστή του διακομιστή matrix για υποστήριξη."
#: src/neochatconnection.cpp:336
#: src/neochatconnection.cpp:329
#, kde-format
msgctxt "@info"
msgid "No identity server configured"
msgstr "Δεν έχει ρυθμιστεί διακομιστής ταυτότητας"
#: src/neochatconnection.cpp:367
#: src/neochatconnection.cpp:360
#, kde-format
msgid "Room creation failed: %1"
msgstr "Αποτυχία δημιουργίας αίθουσας: %1"
#: src/neochatconnection.cpp:397
#: src/neochatconnection.cpp:390
#, fuzzy, kde-format
#| msgid "Room creation failed: \"%1\""
msgid "Space creation failed: %1"
@@ -6163,171 +6163,171 @@ msgctxt "@title:dialog"
msgid "Select Parameter to Add"
msgstr ""
#: src/settings/ThreePIdCard.qml:55
#: src/settings/ThreePIdCard.qml:58
#, kde-format
msgctxt "@action:button"
msgid "Hide"
msgstr ""
#: src/settings/ThreePIdCard.qml:61
#: src/settings/ThreePIdCard.qml:64
#, kde-format
msgctxt "@action:button"
msgid "Share"
msgstr "Διαμοιρασμός"
#: src/settings/ThreePIdCard.qml:66
#: src/settings/ThreePIdCard.qml:69
#, kde-format
msgctxt "@action:button"
msgid "Remove"
msgstr "Αφαίρεση"
#: src/settings/ThreePIdCard.qml:85
#: src/settings/ThreePIdCard.qml:88
#, kde-format
msgctxt "@action:button"
msgid "Complete"
msgstr "Ολοκλήρωση"
#: src/settings/ThreePIdCard.qml:90 src/timeline/ChatBarComponent.qml:110
#: src/settings/ThreePIdCard.qml:93 src/timeline/ChatBarComponent.qml:100
#, kde-format
msgctxt "@action:button"
msgid "Cancel"
msgstr "Ακύρωση"
#: src/settings/ThreePIdCard.qml:130
#: src/settings/ThreePIdCard.qml:136
#, kde-format
msgctxt "@label:textbox"
msgid "Country Code for new phone number"
msgstr ""
#: src/settings/ThreePIdCard.qml:146
#: src/settings/ThreePIdCard.qml:152
#, fuzzy, kde-format
#| msgid "Confirm new display name"
msgctxt "@label:textbox"
msgid "New Email Address:"
msgstr "Επιβεβαίωση νέου ονόματος"
#: src/settings/ThreePIdCard.qml:146
#: src/settings/ThreePIdCard.qml:152
#, fuzzy, kde-format
#| msgid "Members"
msgctxt "@label:textbox"
msgid "New Phone Number:"
msgstr "Μέλη"
#: src/settings/ThreePIdCard.qml:150 src/threepidbindhelper.cpp:178
#: src/settings/ThreePIdCard.qml:156 src/threepidbindhelper.cpp:179
#, kde-format
msgid "We've sent you an email"
msgstr ""
#: src/settings/ThreePIdCard.qml:150 src/threepidbindhelper.cpp:178
#: src/settings/ThreePIdCard.qml:156 src/threepidbindhelper.cpp:179
#, fuzzy, kde-format
#| msgid "Send a message…"
msgid "We've sent you a text message"
msgstr "Αποστολή μηνύματος…"
#: src/settings/ThreePIdCard.qml:150
#: src/settings/ThreePIdCard.qml:156
#, kde-format
msgid ""
"%1. Please follow the instructions there and then click the button below"
msgstr ""
#: src/settings/ThreePIdCard.qml:152 src/threepidbindhelper.cpp:180
#: src/settings/ThreePIdCard.qml:158 src/threepidbindhelper.cpp:181
#, fuzzy, kde-format
#| msgid "The entered text is not a valid url"
msgid "The entered email is not valid"
msgstr "Το δοσμένο κείμενο δεν είναι έγκυρο url"
#: src/settings/ThreePIdCard.qml:152 src/threepidbindhelper.cpp:180
#: src/settings/ThreePIdCard.qml:158 src/threepidbindhelper.cpp:181
#, fuzzy, kde-format
#| msgid "The entered text is not a valid url"
msgid "The entered phone number is not valid"
msgstr "Το δοσμένο κείμενο δεν είναι έγκυρο url"
#: src/settings/ThreePIdCard.qml:154
#: src/settings/ThreePIdCard.qml:160
#, fuzzy, kde-format
#| msgid "Wrong password entered"
msgid "Incorrect password entered"
msgstr "Δόθηκε λάθος κωδικός πρόσβασης"
#: src/settings/ThreePIdCard.qml:156
#: src/settings/ThreePIdCard.qml:162
#, kde-format
msgid ""
"The email has not been verified. Please go to the email and follow the "
"instructions there and then click the button below"
msgstr ""
#: src/settings/ThreePIdCard.qml:156
#: src/settings/ThreePIdCard.qml:162
#, kde-format
msgid ""
"The phone number has not been verified. Please go to the text message and "
"follow the instructions there and then click the button below"
msgstr ""
#: src/settings/ThreePIdCard.qml:183
#: src/settings/ThreePIdCard.qml:189
#, kde-format
msgctxt "@action:button Add new email or phone number"
msgid "Add"
msgstr "Προσθήκη"
#: src/settings/ThreePIdCard.qml:191
#: src/settings/ThreePIdCard.qml:197
#, kde-format
msgctxt "@action:button As in 'go back'"
msgid "Back"
msgstr "Πίσω"
#: src/threepidbindhelper.cpp:177
#: src/threepidbindhelper.cpp:178
#, kde-format
msgid ""
"%1. Please follow the instructions there and then click the button above"
msgstr ""
#: src/threepidbindhelper.cpp:183
#: src/threepidbindhelper.cpp:184
#, kde-format
msgid ""
"The email has not been verified. Please go to the email and follow the "
"instructions there and then click the button above"
msgstr ""
#: src/threepidbindhelper.cpp:184
#: src/threepidbindhelper.cpp:185
#, kde-format
msgid ""
"The phone number has not been verified. Please go to the text message and "
"follow the instructions there and then click the button above"
msgstr ""
#: src/timeline/BaseMessageComponentChooser.qml:249
#: src/timeline/BaseMessageComponentChooser.qml:172
#, fuzzy, kde-format
#| msgid "withdrew %1's invitation"
msgid "%1 started a user verification"
msgstr "απόσυρε την πρόσκληση για %1"
#: src/timeline/ChatBarComponent.qml:98
#: src/timeline/ChatBarComponent.qml:88
#, fuzzy, kde-format
#| msgid "Confirm"
msgctxt "@action:button"
msgid "Confirm edit"
msgstr "Επιβεβαίωση"
#: src/timeline/ChatBarComponent.qml:98
#: src/timeline/ChatBarComponent.qml:88
#, fuzzy, kde-format
#| msgid "No results found"
msgctxt "@action:button"
msgid "Post message in thread"
msgstr "Δεν βρέθηκαν αποτελέσματα"
#: src/timeline/CodeComponent.qml:164
#: src/timeline/CodeComponent.qml:159
#, fuzzy, kde-format
#| msgctxt "@action:inmenu"
#| msgid "Copy Address to Clipboard"
msgid "Copy to clipboard"
msgstr "Αντιγραφή διεύθυνσης στο πρόχειρο"
#: src/timeline/CodeComponent.qml:176
#: src/timeline/CodeComponent.qml:171
#, kde-format
msgctxt "@action:button"
msgid "Maximize"
msgstr ""
#: src/timeline/EncryptedComponent.qml:21
#: src/timeline/EncryptedComponent.qml:18
#, kde-format
msgid ""
"This message is encrypted and the sender has not shared the key with this "
@@ -6336,20 +6336,20 @@ msgstr ""
"Το μήνυμα αυτό είναι κρυπτογραφημένο και ο αποστολέας δεν έχει μοιραστεί το "
"κλειδί με τη συσκευή αυτή."
#: src/timeline/FetchButtonComponent.qml:41
#: src/timeline/FetchButtonComponent.qml:36
#, kde-format
msgctxt "@action:button"
msgid "Fetch More Events"
msgstr ""
#: src/timeline/FileComponent.qml:104 src/timeline/FileComponent.qml:187
#: src/timeline/FileComponent.qml:94 src/timeline/FileComponent.qml:177
#, kde-format
msgctxt ""
"tooltip for a button on a message; offers ability to download its file"
msgid "Download"
msgstr "Λήψη"
#: src/timeline/FileComponent.qml:120 src/timeline/FileComponent.qml:177
#: src/timeline/FileComponent.qml:110 src/timeline/FileComponent.qml:167
#, kde-format
msgctxt ""
"tooltip for a button on a message; offers ability to open its downloaded "
@@ -6357,13 +6357,13 @@ msgctxt ""
msgid "Open File"
msgstr "Άνοιγμα αρχείου"
#: src/timeline/FileComponent.qml:135
#: src/timeline/FileComponent.qml:125
#, kde-format
msgctxt "file download progress"
msgid "%1 / %2"
msgstr "%1 / %2"
#: src/timeline/FileComponent.qml:140
#: src/timeline/FileComponent.qml:130
#, kde-format
msgctxt ""
"tooltip for a button on a message; stops downloading the message's file"
@@ -6392,61 +6392,61 @@ msgstr ""
msgid "Check-out time: %1"
msgstr ""
#: src/timeline/ImageComponent.qml:140
#: src/timeline/ImageComponent.qml:120
#, fuzzy, kde-format
#| msgid "Change the room name"
msgctxt "@action:button"
msgid "Show Image"
msgstr "Άλλαξε το όνομα της αίθουσας"
#: src/timeline/ItineraryComponent.qml:57
#: src/timeline/ItineraryComponent.qml:54
#, kde-format
msgctxt "@action"
msgid "Send to KDE Itinerary"
msgstr ""
#: src/timeline/LinkPreviewComponent.qml:136
#: src/timeline/LinkPreviewLoadComponent.qml:79
#: src/timeline/LinkPreviewComponent.qml:131
#: src/timeline/LinkPreviewLoadComponent.qml:76
#, kde-format
msgctxt "As in remove the link preview so it's no longer shown"
msgid "Remove preview"
msgstr "Αφαίρεση προεπισκόπησης"
#: src/timeline/LinkPreviewComponent.qml:154
#: src/timeline/LinkPreviewComponent.qml:149
#, kde-format
msgid "Shrink preview"
msgstr ""
#: src/timeline/LinkPreviewComponent.qml:154
#: src/timeline/LinkPreviewComponent.qml:149
#, kde-format
msgid "Expand preview"
msgstr ""
#: src/timeline/LinkPreviewLoadComponent.qml:68
#: src/timeline/LinkPreviewLoadComponent.qml:65
#, kde-format
msgid "Loading URL preview"
msgstr ""
#: src/timeline/LocationComponent.qml:116
#: src/timeline/LocationComponent.qml:111
#, kde-format
msgctxt "@action:button Open the location in an external program"
msgid "Open Externally"
msgstr "Άνοιγμα εξωτερικά"
#: src/timeline/PollComponent.qml:80
#: src/timeline/PollComponent.qml:70
#, kde-format
msgid "Based on votes by %1 user"
msgid_plural "Based on votes by %1 users"
msgstr[0] "Με βάση τις ψήφους %1 χρήστη"
msgstr[1] "Με βάση τις ψήφους %1 χρηστών"
#: src/timeline/PollComponent.qml:80
#: src/timeline/PollComponent.qml:70
#, kde-format
msgctxt "as in 'this vote has ended'"
msgid "(Ended)"
msgstr "(Τερματίστηκε)"
#: src/timeline/ReactionComponent.qml:97
#: src/timeline/ReactionComponent.qml:89
#, fuzzy, kde-format
#| msgid "React"
msgctxt "@button"
@@ -6459,7 +6459,7 @@ msgctxt "Relative time since the room was last read"
msgid "Last read: %1"
msgstr "Τελευταία ανάγνωση: %1"
#: src/timeline/ReplyButtonComponent.qml:44
#: src/timeline/ReplyButtonComponent.qml:34
#, kde-format
msgctxt "@action:button"
msgid "Reply"
@@ -6478,25 +6478,25 @@ msgstr ""
msgid "Pl. %1"
msgstr ""
#: src/timeline/VideoComponent.qml:217
#: src/timeline/VideoComponent.qml:197
#, kde-format
msgid "Video"
msgstr "Βίντεο"
#: src/timeline/VideoComponent.qml:257
#: src/timeline/VideoComponent.qml:237
#, fuzzy, kde-format
#| msgid "Video"
msgctxt "@action:button"
msgid "Show Video"
msgstr "Βίντεο"
#: src/timeline/VideoComponent.qml:298
#: src/timeline/VideoComponent.qml:278
#, kde-format
msgctxt "@action:button"
msgid "Volume"
msgstr ""
#: src/timeline/VideoComponent.qml:382
#: src/timeline/VideoComponent.qml:362
#, kde-format
msgid "Maximize"
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: 2025-03-07 00:42+0000\n"
"POT-Creation-Date: 2025-03-11 00:41+0000\n"
"PO-Revision-Date: 2024-11-23 12:05+0000\n"
"Last-Translator: Steve Allewell <steve.allewell@gmail.com>\n"
"Language-Team: British English\n"
@@ -1058,7 +1058,7 @@ msgstr "Registration is disabled on this server."
#: src/login/Homeserver.qml:41 src/login/Username.qml:38
#: src/models/messagecontentmodel.cpp:262
#: src/models/messagecontentmodel.cpp:290 src/timeline/LoadComponent.qml:33
#: src/models/messagecontentmodel.cpp:290 src/timeline/LoadComponent.qml:30
#, kde-format
msgid "Loading"
msgstr "Loading"
@@ -1090,7 +1090,7 @@ msgid "Loading…"
msgstr "Loading…"
#: src/login/Login.qml:38 src/login/WelcomePage.qml:250
#: src/settings/ThreePIdCard.qml:183
#: src/settings/ThreePIdCard.qml:189
#, kde-format
msgctxt "@action:button"
msgid "Continue"
@@ -1724,7 +1724,7 @@ msgstr "Own Emojis"
#: src/models/messagecontentmodel.cpp:260
#: src/models/messagecontentmodel.cpp:288
#: src/timeline/LinkPreviewLoadComponent.qml:66
#: src/timeline/LinkPreviewLoadComponent.qml:63
#, kde-format
msgid "Loading reply"
msgstr "Loading reply"
@@ -1982,7 +1982,7 @@ msgctxt "@info:label"
msgid "%1 invited you"
msgstr "%1 invited you to a room"
#: src/neochatconnection.cpp:77
#: src/neochatconnection.cpp:75
#, kde-format
msgid ""
"File too large to download.<br />Contact your matrix server administrator "
@@ -1991,18 +1991,18 @@ msgstr ""
"File too large to download.<br />Contact your matrix server administrator "
"for support."
#: src/neochatconnection.cpp:336
#: src/neochatconnection.cpp:329
#, kde-format
msgctxt "@info"
msgid "No identity server configured"
msgstr "No identity server configured"
#: src/neochatconnection.cpp:367
#: src/neochatconnection.cpp:360
#, kde-format
msgid "Room creation failed: %1"
msgstr "Room creation failed: %1"
#: src/neochatconnection.cpp:397
#: src/neochatconnection.cpp:390
#, kde-format
msgid "Space creation failed: %1"
msgstr "Space creation failed: %1"
@@ -5985,87 +5985,87 @@ msgctxt "@title:dialog"
msgid "Select Parameter to Add"
msgstr ""
#: src/settings/ThreePIdCard.qml:55
#: src/settings/ThreePIdCard.qml:58
#, kde-format
msgctxt "@action:button"
msgid "Hide"
msgstr "Hide"
#: src/settings/ThreePIdCard.qml:61
#: src/settings/ThreePIdCard.qml:64
#, kde-format
msgctxt "@action:button"
msgid "Share"
msgstr "Share"
#: src/settings/ThreePIdCard.qml:66
#: src/settings/ThreePIdCard.qml:69
#, kde-format
msgctxt "@action:button"
msgid "Remove"
msgstr "Remove"
#: src/settings/ThreePIdCard.qml:85
#: src/settings/ThreePIdCard.qml:88
#, kde-format
msgctxt "@action:button"
msgid "Complete"
msgstr "Complete"
#: src/settings/ThreePIdCard.qml:90 src/timeline/ChatBarComponent.qml:110
#: src/settings/ThreePIdCard.qml:93 src/timeline/ChatBarComponent.qml:100
#, kde-format
msgctxt "@action:button"
msgid "Cancel"
msgstr "Cancel"
#: src/settings/ThreePIdCard.qml:130
#: src/settings/ThreePIdCard.qml:136
#, kde-format
msgctxt "@label:textbox"
msgid "Country Code for new phone number"
msgstr "Country Code for new phone number"
#: src/settings/ThreePIdCard.qml:146
#: src/settings/ThreePIdCard.qml:152
#, kde-format
msgctxt "@label:textbox"
msgid "New Email Address:"
msgstr "New Email Address:"
#: src/settings/ThreePIdCard.qml:146
#: src/settings/ThreePIdCard.qml:152
#, kde-format
msgctxt "@label:textbox"
msgid "New Phone Number:"
msgstr "New Phone Number:"
#: src/settings/ThreePIdCard.qml:150 src/threepidbindhelper.cpp:178
#: src/settings/ThreePIdCard.qml:156 src/threepidbindhelper.cpp:179
#, kde-format
msgid "We've sent you an email"
msgstr "We have sent you an email"
#: src/settings/ThreePIdCard.qml:150 src/threepidbindhelper.cpp:178
#: src/settings/ThreePIdCard.qml:156 src/threepidbindhelper.cpp:179
#, kde-format
msgid "We've sent you a text message"
msgstr "We have sent you a text message"
#: src/settings/ThreePIdCard.qml:150
#: src/settings/ThreePIdCard.qml:156
#, kde-format
msgid ""
"%1. Please follow the instructions there and then click the button below"
msgstr ""
"%1. Please follow the instructions there and then click the button below"
#: src/settings/ThreePIdCard.qml:152 src/threepidbindhelper.cpp:180
#: src/settings/ThreePIdCard.qml:158 src/threepidbindhelper.cpp:181
#, kde-format
msgid "The entered email is not valid"
msgstr "The entered email is not valid"
#: src/settings/ThreePIdCard.qml:152 src/threepidbindhelper.cpp:180
#: src/settings/ThreePIdCard.qml:158 src/threepidbindhelper.cpp:181
#, kde-format
msgid "The entered phone number is not valid"
msgstr "The entered phone number is not valid"
#: src/settings/ThreePIdCard.qml:154
#: src/settings/ThreePIdCard.qml:160
#, kde-format
msgid "Incorrect password entered"
msgstr "Incorrect password entered"
#: src/settings/ThreePIdCard.qml:156
#: src/settings/ThreePIdCard.qml:162
#, kde-format
msgid ""
"The email has not been verified. Please go to the email and follow the "
@@ -6074,7 +6074,7 @@ msgstr ""
"The email has not been verified. Please go to the email and follow the "
"instructions there and then click the button below"
#: src/settings/ThreePIdCard.qml:156
#: src/settings/ThreePIdCard.qml:162
#, kde-format
msgid ""
"The phone number has not been verified. Please go to the text message and "
@@ -6083,72 +6083,72 @@ msgstr ""
"The phone number has not been verified. Please go to the text message and "
"follow the instructions there and then click the button below"
#: src/settings/ThreePIdCard.qml:183
#: src/settings/ThreePIdCard.qml:189
#, kde-format
msgctxt "@action:button Add new email or phone number"
msgid "Add"
msgstr "Add"
#: src/settings/ThreePIdCard.qml:191
#: src/settings/ThreePIdCard.qml:197
#, kde-format
msgctxt "@action:button As in 'go back'"
msgid "Back"
msgstr "Back"
#: src/threepidbindhelper.cpp:177
#: src/threepidbindhelper.cpp:178
#, kde-format
msgid ""
"%1. Please follow the instructions there and then click the button above"
msgstr ""
"%1. Please follow the instructions there and then click the button above"
#: src/threepidbindhelper.cpp:183
#, kde-format
msgid ""
"The email has not been verified. Please go to the email and follow the "
"instructions there and then click the button above"
msgstr ""
"The email has not been verified. Please go to the email and follow the "
"instructions there and then click the button above"
#: src/threepidbindhelper.cpp:184
#, kde-format
msgid ""
"The email has not been verified. Please go to the email and follow the "
"instructions there and then click the button above"
msgstr ""
"The email has not been verified. Please go to the email and follow the "
"instructions there and then click the button above"
#: src/threepidbindhelper.cpp:185
#, kde-format
msgid ""
"The phone number has not been verified. Please go to the text message and "
"follow the instructions there and then click the button above"
msgstr ""
"The phone number has not been verified. Please go to the text message and "
"follow the instructions there and then click the button above"
#: src/timeline/BaseMessageComponentChooser.qml:249
#: src/timeline/BaseMessageComponentChooser.qml:172
#, kde-format
msgid "%1 started a user verification"
msgstr "%1 started a user verification"
#: src/timeline/ChatBarComponent.qml:98
#: src/timeline/ChatBarComponent.qml:88
#, kde-format
msgctxt "@action:button"
msgid "Confirm edit"
msgstr "Confirm edit"
#: src/timeline/ChatBarComponent.qml:98
#: src/timeline/ChatBarComponent.qml:88
#, kde-format
msgctxt "@action:button"
msgid "Post message in thread"
msgstr "Post message in thread"
#: src/timeline/CodeComponent.qml:164
#: src/timeline/CodeComponent.qml:159
#, kde-format
msgid "Copy to clipboard"
msgstr "Copy to clipboard"
#: src/timeline/CodeComponent.qml:176
#: src/timeline/CodeComponent.qml:171
#, kde-format
msgctxt "@action:button"
msgid "Maximize"
msgstr "Maximise"
#: src/timeline/EncryptedComponent.qml:21
#: src/timeline/EncryptedComponent.qml:18
#, kde-format
msgid ""
"This message is encrypted and the sender has not shared the key with this "
@@ -6157,20 +6157,20 @@ msgstr ""
"This message is encrypted and the sender has not shared the key with this "
"device."
#: src/timeline/FetchButtonComponent.qml:41
#: src/timeline/FetchButtonComponent.qml:36
#, kde-format
msgctxt "@action:button"
msgid "Fetch More Events"
msgstr ""
#: src/timeline/FileComponent.qml:104 src/timeline/FileComponent.qml:187
#: src/timeline/FileComponent.qml:94 src/timeline/FileComponent.qml:177
#, kde-format
msgctxt ""
"tooltip for a button on a message; offers ability to download its file"
msgid "Download"
msgstr "Download"
#: src/timeline/FileComponent.qml:120 src/timeline/FileComponent.qml:177
#: src/timeline/FileComponent.qml:110 src/timeline/FileComponent.qml:167
#, kde-format
msgctxt ""
"tooltip for a button on a message; offers ability to open its downloaded "
@@ -6178,13 +6178,13 @@ msgctxt ""
msgid "Open File"
msgstr "Open File"
#: src/timeline/FileComponent.qml:135
#: src/timeline/FileComponent.qml:125
#, kde-format
msgctxt "file download progress"
msgid "%1 / %2"
msgstr "%1 / %2"
#: src/timeline/FileComponent.qml:140
#: src/timeline/FileComponent.qml:130
#, kde-format
msgctxt ""
"tooltip for a button on a message; stops downloading the message's file"
@@ -6213,60 +6213,60 @@ msgstr "Check-in time: %1"
msgid "Check-out time: %1"
msgstr "Check-out time: %1"
#: src/timeline/ImageComponent.qml:140
#: src/timeline/ImageComponent.qml:120
#, kde-format
msgctxt "@action:button"
msgid "Show Image"
msgstr "Show Image"
#: src/timeline/ItineraryComponent.qml:57
#: src/timeline/ItineraryComponent.qml:54
#, kde-format
msgctxt "@action"
msgid "Send to KDE Itinerary"
msgstr "Send to KDE Itinerary"
#: src/timeline/LinkPreviewComponent.qml:136
#: src/timeline/LinkPreviewLoadComponent.qml:79
#: src/timeline/LinkPreviewComponent.qml:131
#: src/timeline/LinkPreviewLoadComponent.qml:76
#, kde-format
msgctxt "As in remove the link preview so it's no longer shown"
msgid "Remove preview"
msgstr "Remove preview"
#: src/timeline/LinkPreviewComponent.qml:154
#: src/timeline/LinkPreviewComponent.qml:149
#, kde-format
msgid "Shrink preview"
msgstr "Shrink preview"
#: src/timeline/LinkPreviewComponent.qml:154
#: src/timeline/LinkPreviewComponent.qml:149
#, kde-format
msgid "Expand preview"
msgstr "Expand preview"
#: src/timeline/LinkPreviewLoadComponent.qml:68
#: src/timeline/LinkPreviewLoadComponent.qml:65
#, kde-format
msgid "Loading URL preview"
msgstr "Loading URL preview"
#: src/timeline/LocationComponent.qml:116
#: src/timeline/LocationComponent.qml:111
#, kde-format
msgctxt "@action:button Open the location in an external program"
msgid "Open Externally"
msgstr "Open Externally"
#: src/timeline/PollComponent.qml:80
#: src/timeline/PollComponent.qml:70
#, kde-format
msgid "Based on votes by %1 user"
msgid_plural "Based on votes by %1 users"
msgstr[0] "Based on votes by %1 user"
msgstr[1] "Based on votes by %1 users"
#: src/timeline/PollComponent.qml:80
#: src/timeline/PollComponent.qml:70
#, kde-format
msgctxt "as in 'this vote has ended'"
msgid "(Ended)"
msgstr "(Ended)"
#: src/timeline/ReactionComponent.qml:97
#: src/timeline/ReactionComponent.qml:89
#, fuzzy, kde-format
#| msgid "React"
msgctxt "@button"
@@ -6279,7 +6279,7 @@ msgctxt "Relative time since the room was last read"
msgid "Last read: %1"
msgstr "Last read: %1"
#: src/timeline/ReplyButtonComponent.qml:44
#: src/timeline/ReplyButtonComponent.qml:34
#, fuzzy, kde-format
#| msgid "Reply"
msgctxt "@action:button"
@@ -6301,24 +6301,24 @@ msgstr ""
msgid "Pl. %1"
msgstr "Pl. %1"
#: src/timeline/VideoComponent.qml:217
#: src/timeline/VideoComponent.qml:197
#, kde-format
msgid "Video"
msgstr "Video"
#: src/timeline/VideoComponent.qml:257
#: src/timeline/VideoComponent.qml:237
#, kde-format
msgctxt "@action:button"
msgid "Show Video"
msgstr "Show Video"
#: src/timeline/VideoComponent.qml:298
#: src/timeline/VideoComponent.qml:278
#, kde-format
msgctxt "@action:button"
msgid "Volume"
msgstr "Volume"
#: src/timeline/VideoComponent.qml:382
#: src/timeline/VideoComponent.qml:362
#, kde-format
msgid "Maximize"
msgstr "Maximise"

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: 2025-03-07 00:42+0000\n"
"POT-Creation-Date: 2025-03-11 00:41+0000\n"
"PO-Revision-Date: 2025-03-01 17:55+0100\n"
"Last-Translator: Oliver Kellogg <olivermkellogg@gmail.com>\n"
"Language-Team: Esperanto <kde-i18n-eo@kde.org>\n"
@@ -1038,7 +1038,7 @@ msgstr "Registrado estas malŝaltita ĉe ĉi tiu servilo."
#: src/login/Homeserver.qml:41 src/login/Username.qml:38
#: src/models/messagecontentmodel.cpp:262
#: src/models/messagecontentmodel.cpp:290 src/timeline/LoadComponent.qml:33
#: src/models/messagecontentmodel.cpp:290 src/timeline/LoadComponent.qml:30
#, kde-format
msgid "Loading"
msgstr "Ŝargante"
@@ -1070,7 +1070,7 @@ msgid "Loading…"
msgstr "Ŝargante…"
#: src/login/Login.qml:38 src/login/WelcomePage.qml:250
#: src/settings/ThreePIdCard.qml:183
#: src/settings/ThreePIdCard.qml:189
#, kde-format
msgctxt "@action:button"
msgid "Continue"
@@ -1701,7 +1701,7 @@ msgstr "Propraj Emoĝioj"
#: src/models/messagecontentmodel.cpp:260
#: src/models/messagecontentmodel.cpp:288
#: src/timeline/LinkPreviewLoadComponent.qml:66
#: src/timeline/LinkPreviewLoadComponent.qml:63
#, kde-format
msgid "Loading reply"
msgstr "Ŝargante respondon"
@@ -1961,7 +1961,7 @@ msgctxt "@info:label"
msgid "%1 invited you"
msgstr "%1 invitis vin al ĉambro"
#: src/neochatconnection.cpp:77
#: src/neochatconnection.cpp:75
#, kde-format
msgid ""
"File too large to download.<br />Contact your matrix server administrator "
@@ -1970,18 +1970,18 @@ msgstr ""
"Dosiero tro granda por elŝuti.<br />Kontaktu vian administranton de matrix-"
"servilo por subteno."
#: src/neochatconnection.cpp:336
#: src/neochatconnection.cpp:329
#, kde-format
msgctxt "@info"
msgid "No identity server configured"
msgstr "Agordiĝis neniu identeca servilo"
#: src/neochatconnection.cpp:367
#: src/neochatconnection.cpp:360
#, kde-format
msgid "Room creation failed: %1"
msgstr "Kreado de ĉambro malsukcesis: %1"
#: src/neochatconnection.cpp:397
#: src/neochatconnection.cpp:390
#, kde-format
msgid "Space creation failed: %1"
msgstr "Spackreado malsukcesis: %1"
@@ -5854,86 +5854,86 @@ msgctxt "@title:dialog"
msgid "Select Parameter to Add"
msgstr "Elekti Parametron Aldonendan"
#: src/settings/ThreePIdCard.qml:55
#: src/settings/ThreePIdCard.qml:58
#, kde-format
msgctxt "@action:button"
msgid "Hide"
msgstr "Kaŝi"
#: src/settings/ThreePIdCard.qml:61
#: src/settings/ThreePIdCard.qml:64
#, kde-format
msgctxt "@action:button"
msgid "Share"
msgstr "Kunhavigi"
#: src/settings/ThreePIdCard.qml:66
#: src/settings/ThreePIdCard.qml:69
#, kde-format
msgctxt "@action:button"
msgid "Remove"
msgstr "Forigi"
#: src/settings/ThreePIdCard.qml:85
#: src/settings/ThreePIdCard.qml:88
#, kde-format
msgctxt "@action:button"
msgid "Complete"
msgstr "Kompletigi"
#: src/settings/ThreePIdCard.qml:90 src/timeline/ChatBarComponent.qml:110
#: src/settings/ThreePIdCard.qml:93 src/timeline/ChatBarComponent.qml:100
#, kde-format
msgctxt "@action:button"
msgid "Cancel"
msgstr "Nuligi"
#: src/settings/ThreePIdCard.qml:130
#: src/settings/ThreePIdCard.qml:136
#, kde-format
msgctxt "@label:textbox"
msgid "Country Code for new phone number"
msgstr "Landkodo por nova telefonnumero"
#: src/settings/ThreePIdCard.qml:146
#: src/settings/ThreePIdCard.qml:152
#, kde-format
msgctxt "@label:textbox"
msgid "New Email Address:"
msgstr "Nova Retpoŝta Adreso:"
#: src/settings/ThreePIdCard.qml:146
#: src/settings/ThreePIdCard.qml:152
#, kde-format
msgctxt "@label:textbox"
msgid "New Phone Number:"
msgstr "Nova Telefonnumero:"
#: src/settings/ThreePIdCard.qml:150 src/threepidbindhelper.cpp:178
#: src/settings/ThreePIdCard.qml:156 src/threepidbindhelper.cpp:179
#, kde-format
msgid "We've sent you an email"
msgstr "Ni sendis al vi retpoŝton"
#: src/settings/ThreePIdCard.qml:150 src/threepidbindhelper.cpp:178
#: src/settings/ThreePIdCard.qml:156 src/threepidbindhelper.cpp:179
#, kde-format
msgid "We've sent you a text message"
msgstr "Ni sendis al vi tekstmesaĝon"
#: src/settings/ThreePIdCard.qml:150
#: src/settings/ThreePIdCard.qml:156
#, kde-format
msgid ""
"%1. Please follow the instructions there and then click the button below"
msgstr "%1. Bonvolu sekvi la instruojn tie kaj poste klaki la butonon malsupre"
#: src/settings/ThreePIdCard.qml:152 src/threepidbindhelper.cpp:180
#: src/settings/ThreePIdCard.qml:158 src/threepidbindhelper.cpp:181
#, kde-format
msgid "The entered email is not valid"
msgstr "La enigita retpoŝto ne estas valida"
#: src/settings/ThreePIdCard.qml:152 src/threepidbindhelper.cpp:180
#: src/settings/ThreePIdCard.qml:158 src/threepidbindhelper.cpp:181
#, kde-format
msgid "The entered phone number is not valid"
msgstr "La enigita telefonnumero ne estas valida"
#: src/settings/ThreePIdCard.qml:154
#: src/settings/ThreePIdCard.qml:160
#, kde-format
msgid "Incorrect password entered"
msgstr "Malĝusta pasvorto enigita"
#: src/settings/ThreePIdCard.qml:156
#: src/settings/ThreePIdCard.qml:162
#, kde-format
msgid ""
"The email has not been verified. Please go to the email and follow the "
@@ -5942,7 +5942,7 @@ msgstr ""
"La retpoŝto ne estis konfirmita. Bonvolu iri al la retpoŝto kaj sekvi la "
"instruojn tie kaj poste klaki la butonon malsupre"
#: src/settings/ThreePIdCard.qml:156
#: src/settings/ThreePIdCard.qml:162
#, kde-format
msgid ""
"The phone number has not been verified. Please go to the text message and "
@@ -5951,25 +5951,25 @@ msgstr ""
"La telefonnumero ne estis konfirmita. Bonvolu iri al la retpoŝto kaj sekvi "
"la instruojn tie kaj poste klaki la butonon malsupre"
#: src/settings/ThreePIdCard.qml:183
#: src/settings/ThreePIdCard.qml:189
#, kde-format
msgctxt "@action:button Add new email or phone number"
msgid "Add"
msgstr "Aldoni"
#: src/settings/ThreePIdCard.qml:191
#: src/settings/ThreePIdCard.qml:197
#, kde-format
msgctxt "@action:button As in 'go back'"
msgid "Back"
msgstr "Reen"
#: src/threepidbindhelper.cpp:177
#: src/threepidbindhelper.cpp:178
#, kde-format
msgid ""
"%1. Please follow the instructions there and then click the button above"
msgstr "%1. Bonvolu sekvi la instruojn tie kaj poste klaki la butonon supre"
#: src/threepidbindhelper.cpp:183
#: src/threepidbindhelper.cpp:184
#, kde-format
msgid ""
"The email has not been verified. Please go to the email and follow the "
@@ -5978,7 +5978,7 @@ msgstr ""
"La retpoŝto ne estis konfirmita. Bonvolu iri al la retpoŝto kaj sekvi la "
"instruojn tie kaj poste klaki la butonon supre"
#: src/threepidbindhelper.cpp:184
#: src/threepidbindhelper.cpp:185
#, kde-format
msgid ""
"The phone number has not been verified. Please go to the text message and "
@@ -5987,35 +5987,35 @@ msgstr ""
"La telefonnumero ne estis konfirmita. Bonvolu iri al la retpoŝto kaj sekvi "
"la instruojn tie kaj poste klaki la butonon supre"
#: src/timeline/BaseMessageComponentChooser.qml:249
#: src/timeline/BaseMessageComponentChooser.qml:172
#, kde-format
msgid "%1 started a user verification"
msgstr "%1 komencis uzant-konfirmon"
#: src/timeline/ChatBarComponent.qml:98
#: src/timeline/ChatBarComponent.qml:88
#, kde-format
msgctxt "@action:button"
msgid "Confirm edit"
msgstr "Konfirmi redakton"
#: src/timeline/ChatBarComponent.qml:98
#: src/timeline/ChatBarComponent.qml:88
#, kde-format
msgctxt "@action:button"
msgid "Post message in thread"
msgstr "Afiŝi mesaĝon en fadeno"
#: src/timeline/CodeComponent.qml:164
#: src/timeline/CodeComponent.qml:159
#, kde-format
msgid "Copy to clipboard"
msgstr "Kopii al tondujo"
#: src/timeline/CodeComponent.qml:176
#: src/timeline/CodeComponent.qml:171
#, kde-format
msgctxt "@action:button"
msgid "Maximize"
msgstr "Maksimumigi"
#: src/timeline/EncryptedComponent.qml:21
#: src/timeline/EncryptedComponent.qml:18
#, kde-format
msgid ""
"This message is encrypted and the sender has not shared the key with this "
@@ -6024,20 +6024,20 @@ msgstr ""
"Ĉi tiu mesaĝo estas ĉifrita kaj la sendinto ne dividis la ŝlosilon kun ĉi "
"tiu aparato."
#: src/timeline/FetchButtonComponent.qml:41
#: src/timeline/FetchButtonComponent.qml:36
#, kde-format
msgctxt "@action:button"
msgid "Fetch More Events"
msgstr "Alpreni Pliajn Eventojn"
#: src/timeline/FileComponent.qml:104 src/timeline/FileComponent.qml:187
#: src/timeline/FileComponent.qml:94 src/timeline/FileComponent.qml:177
#, kde-format
msgctxt ""
"tooltip for a button on a message; offers ability to download its file"
msgid "Download"
msgstr "Elŝutu"
#: src/timeline/FileComponent.qml:120 src/timeline/FileComponent.qml:177
#: src/timeline/FileComponent.qml:110 src/timeline/FileComponent.qml:167
#, kde-format
msgctxt ""
"tooltip for a button on a message; offers ability to open its downloaded "
@@ -6045,13 +6045,13 @@ msgctxt ""
msgid "Open File"
msgstr "Malfermu Dosieron"
#: src/timeline/FileComponent.qml:135
#: src/timeline/FileComponent.qml:125
#, kde-format
msgctxt "file download progress"
msgid "%1 / %2"
msgstr "%1 / %2"
#: src/timeline/FileComponent.qml:140
#: src/timeline/FileComponent.qml:130
#, kde-format
msgctxt ""
"tooltip for a button on a message; stops downloading the message's file"
@@ -6080,60 +6080,60 @@ msgstr "Enregistriĝotempo: %1"
msgid "Check-out time: %1"
msgstr "Tempo de eliro: %1"
#: src/timeline/ImageComponent.qml:140
#: src/timeline/ImageComponent.qml:120
#, kde-format
msgctxt "@action:button"
msgid "Show Image"
msgstr "Montri Bildon"
#: src/timeline/ItineraryComponent.qml:57
#: src/timeline/ItineraryComponent.qml:54
#, kde-format
msgctxt "@action"
msgid "Send to KDE Itinerary"
msgstr "Sendi al KDE-Itinero"
#: src/timeline/LinkPreviewComponent.qml:136
#: src/timeline/LinkPreviewLoadComponent.qml:79
#: src/timeline/LinkPreviewComponent.qml:131
#: src/timeline/LinkPreviewLoadComponent.qml:76
#, kde-format
msgctxt "As in remove the link preview so it's no longer shown"
msgid "Remove preview"
msgstr "Forigi antaŭrigardon"
#: src/timeline/LinkPreviewComponent.qml:154
#: src/timeline/LinkPreviewComponent.qml:149
#, kde-format
msgid "Shrink preview"
msgstr "Malgrandigi antaŭrigardon"
#: src/timeline/LinkPreviewComponent.qml:154
#: src/timeline/LinkPreviewComponent.qml:149
#, kde-format
msgid "Expand preview"
msgstr "Vastigi antaŭrigardon"
#: src/timeline/LinkPreviewLoadComponent.qml:68
#: src/timeline/LinkPreviewLoadComponent.qml:65
#, kde-format
msgid "Loading URL preview"
msgstr "Ŝargante antaŭrigardon de URL"
#: src/timeline/LocationComponent.qml:116
#: src/timeline/LocationComponent.qml:111
#, kde-format
msgctxt "@action:button Open the location in an external program"
msgid "Open Externally"
msgstr "Malfermi Ekstere"
#: src/timeline/PollComponent.qml:80
#: src/timeline/PollComponent.qml:70
#, kde-format
msgid "Based on votes by %1 user"
msgid_plural "Based on votes by %1 users"
msgstr[0] "Bazita sur voĉdonoj de %1 uzanto"
msgstr[1] "Bazita sur voĉdonoj de %1 uzantoj"
#: src/timeline/PollComponent.qml:80
#: src/timeline/PollComponent.qml:70
#, kde-format
msgctxt "as in 'this vote has ended'"
msgid "(Ended)"
msgstr "(Finis)"
#: src/timeline/ReactionComponent.qml:97
#: src/timeline/ReactionComponent.qml:89
#, kde-format
msgctxt "@button"
msgid "React"
@@ -6145,7 +6145,7 @@ msgctxt "Relative time since the room was last read"
msgid "Last read: %1"
msgstr "Lasta legado: %1"
#: src/timeline/ReplyButtonComponent.qml:44
#: src/timeline/ReplyButtonComponent.qml:34
#, kde-format
msgctxt "@action:button"
msgid "Reply"
@@ -6166,24 +6166,24 @@ msgstr ""
msgid "Pl. %1"
msgstr "Pl. %1"
#: src/timeline/VideoComponent.qml:217
#: src/timeline/VideoComponent.qml:197
#, kde-format
msgid "Video"
msgstr "Video"
#: src/timeline/VideoComponent.qml:257
#: src/timeline/VideoComponent.qml:237
#, kde-format
msgctxt "@action:button"
msgid "Show Video"
msgstr "Montri Video"
#: src/timeline/VideoComponent.qml:298
#: src/timeline/VideoComponent.qml:278
#, kde-format
msgctxt "@action:button"
msgid "Volume"
msgstr "Laŭteco"
#: src/timeline/VideoComponent.qml:382
#: src/timeline/VideoComponent.qml:362
#, kde-format
msgid "Maximize"
msgstr "Maksimumigi"

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: 2025-03-07 00:42+0000\n"
"POT-Creation-Date: 2025-03-11 00:41+0000\n"
"PO-Revision-Date: 2025-03-06 20:24+0100\n"
"Last-Translator: Eloy Cuadra <ecuadra@eloihr.net>\n"
"Language-Team: Spanish <kde-l10n-es@kde.org>\n"
@@ -1042,7 +1042,7 @@ msgstr "El registro está desactivado en este servidor."
#: src/login/Homeserver.qml:41 src/login/Username.qml:38
#: src/models/messagecontentmodel.cpp:262
#: src/models/messagecontentmodel.cpp:290 src/timeline/LoadComponent.qml:33
#: src/models/messagecontentmodel.cpp:290 src/timeline/LoadComponent.qml:30
#, kde-format
msgid "Loading"
msgstr "Cargando"
@@ -1074,7 +1074,7 @@ msgid "Loading…"
msgstr "Cargando…"
#: src/login/Login.qml:38 src/login/WelcomePage.qml:250
#: src/settings/ThreePIdCard.qml:183
#: src/settings/ThreePIdCard.qml:189
#, kde-format
msgctxt "@action:button"
msgid "Continue"
@@ -1707,7 +1707,7 @@ msgstr "Emojis propios"
#: src/models/messagecontentmodel.cpp:260
#: src/models/messagecontentmodel.cpp:288
#: src/timeline/LinkPreviewLoadComponent.qml:66
#: src/timeline/LinkPreviewLoadComponent.qml:63
#, kde-format
msgid "Loading reply"
msgstr "Cargando respuesta"
@@ -1967,7 +1967,7 @@ msgctxt "@info:label"
msgid "%1 invited you"
msgstr "%1 le ha invitado"
#: src/neochatconnection.cpp:77
#: src/neochatconnection.cpp:75
#, kde-format
msgid ""
"File too large to download.<br />Contact your matrix server administrator "
@@ -1976,18 +1976,18 @@ msgstr ""
"Archivo demasiado grande para descargarlo.<br />Póngase en contacto con el "
"administrador del servidor matrix para obtener asistencia."
#: src/neochatconnection.cpp:336
#: src/neochatconnection.cpp:329
#, kde-format
msgctxt "@info"
msgid "No identity server configured"
msgstr "No se ha configurado ningún servidor de identidades"
#: src/neochatconnection.cpp:367
#: src/neochatconnection.cpp:360
#, kde-format
msgid "Room creation failed: %1"
msgstr "La creación de la sala ha fallado: %1"
#: src/neochatconnection.cpp:397
#: src/neochatconnection.cpp:390
#, kde-format
msgid "Space creation failed: %1"
msgstr "La creación del espacio ha fallado: %1"
@@ -5901,86 +5901,86 @@ msgctxt "@title:dialog"
msgid "Select Parameter to Add"
msgstr "Seleccionar el parámetro que se añadirá"
#: src/settings/ThreePIdCard.qml:55
#: src/settings/ThreePIdCard.qml:58
#, kde-format
msgctxt "@action:button"
msgid "Hide"
msgstr "Ocultar"
#: src/settings/ThreePIdCard.qml:61
#: src/settings/ThreePIdCard.qml:64
#, kde-format
msgctxt "@action:button"
msgid "Share"
msgstr "Compartir"
#: src/settings/ThreePIdCard.qml:66
#: src/settings/ThreePIdCard.qml:69
#, kde-format
msgctxt "@action:button"
msgid "Remove"
msgstr "Eliminar"
#: src/settings/ThreePIdCard.qml:85
#: src/settings/ThreePIdCard.qml:88
#, kde-format
msgctxt "@action:button"
msgid "Complete"
msgstr "Completar"
#: src/settings/ThreePIdCard.qml:90 src/timeline/ChatBarComponent.qml:110
#: src/settings/ThreePIdCard.qml:93 src/timeline/ChatBarComponent.qml:100
#, kde-format
msgctxt "@action:button"
msgid "Cancel"
msgstr "Cancelar"
#: src/settings/ThreePIdCard.qml:130
#: src/settings/ThreePIdCard.qml:136
#, kde-format
msgctxt "@label:textbox"
msgid "Country Code for new phone number"
msgstr "Código de país para el nuevo número de teléfono"
#: src/settings/ThreePIdCard.qml:146
#: src/settings/ThreePIdCard.qml:152
#, kde-format
msgctxt "@label:textbox"
msgid "New Email Address:"
msgstr "Nueva dirección de correo electrónico:"
#: src/settings/ThreePIdCard.qml:146
#: src/settings/ThreePIdCard.qml:152
#, kde-format
msgctxt "@label:textbox"
msgid "New Phone Number:"
msgstr "Nuevo número de teléfono:"
#: src/settings/ThreePIdCard.qml:150 src/threepidbindhelper.cpp:178
#: src/settings/ThreePIdCard.qml:156 src/threepidbindhelper.cpp:179
#, kde-format
msgid "We've sent you an email"
msgstr "Le hemos enviado un mensaje de correo"
#: src/settings/ThreePIdCard.qml:150 src/threepidbindhelper.cpp:178
#: src/settings/ThreePIdCard.qml:156 src/threepidbindhelper.cpp:179
#, kde-format
msgid "We've sent you a text message"
msgstr "Le hemos enviado un mensaje de texto"
#: src/settings/ThreePIdCard.qml:150
#: src/settings/ThreePIdCard.qml:156
#, kde-format
msgid ""
"%1. Please follow the instructions there and then click the button below"
msgstr "%1. Siga las instrucciones del mismo y pulse el botón inferior."
#: src/settings/ThreePIdCard.qml:152 src/threepidbindhelper.cpp:180
#: src/settings/ThreePIdCard.qml:158 src/threepidbindhelper.cpp:181
#, kde-format
msgid "The entered email is not valid"
msgstr "El correo electrónico introducido no es válido"
#: src/settings/ThreePIdCard.qml:152 src/threepidbindhelper.cpp:180
#: src/settings/ThreePIdCard.qml:158 src/threepidbindhelper.cpp:181
#, kde-format
msgid "The entered phone number is not valid"
msgstr "El número de teléfono introducido no es válido"
#: src/settings/ThreePIdCard.qml:154
#: src/settings/ThreePIdCard.qml:160
#, kde-format
msgid "Incorrect password entered"
msgstr "Se ha introducido una contraseña incorrecta"
#: src/settings/ThreePIdCard.qml:156
#: src/settings/ThreePIdCard.qml:162
#, kde-format
msgid ""
"The email has not been verified. Please go to the email and follow the "
@@ -5989,7 +5989,7 @@ msgstr ""
"El correo electrónico no ha sido verificado. Vaya al mensaje de correo, siga "
"las instrucciones que contiene y pulse el botón inferior."
#: src/settings/ThreePIdCard.qml:156
#: src/settings/ThreePIdCard.qml:162
#, kde-format
msgid ""
"The phone number has not been verified. Please go to the text message and "
@@ -5998,25 +5998,25 @@ msgstr ""
"El número de teléfono no ha sido verificado. Vaya al mensaje de texto, siga "
"las instrucciones que contiene y pulse el botón inferior."
#: src/settings/ThreePIdCard.qml:183
#: src/settings/ThreePIdCard.qml:189
#, kde-format
msgctxt "@action:button Add new email or phone number"
msgid "Add"
msgstr "Añadir"
#: src/settings/ThreePIdCard.qml:191
#: src/settings/ThreePIdCard.qml:197
#, kde-format
msgctxt "@action:button As in 'go back'"
msgid "Back"
msgstr "Volver"
#: src/threepidbindhelper.cpp:177
#: src/threepidbindhelper.cpp:178
#, kde-format
msgid ""
"%1. Please follow the instructions there and then click the button above"
msgstr "%1. Siga las instrucciones del mismo y pulse el botón superior."
#: src/threepidbindhelper.cpp:183
#: src/threepidbindhelper.cpp:184
#, kde-format
msgid ""
"The email has not been verified. Please go to the email and follow the "
@@ -6025,7 +6025,7 @@ msgstr ""
"El correo electrónico no ha sido verificado. Vaya al mensaje de correo, siga "
"las instrucciones que contiene y pulse el botón superior."
#: src/threepidbindhelper.cpp:184
#: src/threepidbindhelper.cpp:185
#, kde-format
msgid ""
"The phone number has not been verified. Please go to the text message and "
@@ -6034,35 +6034,35 @@ msgstr ""
"El número de teléfono no ha sido verificado. Vaya al mensaje de texto, siga "
"las instrucciones que contiene y pulse el botón superior."
#: src/timeline/BaseMessageComponentChooser.qml:249
#: src/timeline/BaseMessageComponentChooser.qml:172
#, kde-format
msgid "%1 started a user verification"
msgstr "%1 ha iniciado una verificación de usuario"
#: src/timeline/ChatBarComponent.qml:98
#: src/timeline/ChatBarComponent.qml:88
#, kde-format
msgctxt "@action:button"
msgid "Confirm edit"
msgstr "Confirmar edición"
#: src/timeline/ChatBarComponent.qml:98
#: src/timeline/ChatBarComponent.qml:88
#, kde-format
msgctxt "@action:button"
msgid "Post message in thread"
msgstr "Publicar mensaje en el hilo"
#: src/timeline/CodeComponent.qml:164
#: src/timeline/CodeComponent.qml:159
#, kde-format
msgid "Copy to clipboard"
msgstr "Copiar en el portapapeles"
#: src/timeline/CodeComponent.qml:176
#: src/timeline/CodeComponent.qml:171
#, kde-format
msgctxt "@action:button"
msgid "Maximize"
msgstr "Maximizar"
#: src/timeline/EncryptedComponent.qml:21
#: src/timeline/EncryptedComponent.qml:18
#, kde-format
msgid ""
"This message is encrypted and the sender has not shared the key with this "
@@ -6071,20 +6071,20 @@ msgstr ""
"Este mensaje está cifrado y el remitente no ha compartido la clave con este "
"dispositivo."
#: src/timeline/FetchButtonComponent.qml:41
#: src/timeline/FetchButtonComponent.qml:36
#, kde-format
msgctxt "@action:button"
msgid "Fetch More Events"
msgstr "Obtener más eventos"
#: src/timeline/FileComponent.qml:104 src/timeline/FileComponent.qml:187
#: src/timeline/FileComponent.qml:94 src/timeline/FileComponent.qml:177
#, kde-format
msgctxt ""
"tooltip for a button on a message; offers ability to download its file"
msgid "Download"
msgstr "Descargar"
#: src/timeline/FileComponent.qml:120 src/timeline/FileComponent.qml:177
#: src/timeline/FileComponent.qml:110 src/timeline/FileComponent.qml:167
#, kde-format
msgctxt ""
"tooltip for a button on a message; offers ability to open its downloaded "
@@ -6092,13 +6092,13 @@ msgctxt ""
msgid "Open File"
msgstr "Abrir archivo"
#: src/timeline/FileComponent.qml:135
#: src/timeline/FileComponent.qml:125
#, kde-format
msgctxt "file download progress"
msgid "%1 / %2"
msgstr "%1 / %2"
#: src/timeline/FileComponent.qml:140
#: src/timeline/FileComponent.qml:130
#, kde-format
msgctxt ""
"tooltip for a button on a message; stops downloading the message's file"
@@ -6127,60 +6127,60 @@ msgstr "Hora de entrada: %1"
msgid "Check-out time: %1"
msgstr "Hora de salida: %1"
#: src/timeline/ImageComponent.qml:140
#: src/timeline/ImageComponent.qml:120
#, kde-format
msgctxt "@action:button"
msgid "Show Image"
msgstr "Mostrar imagen"
#: src/timeline/ItineraryComponent.qml:57
#: src/timeline/ItineraryComponent.qml:54
#, kde-format
msgctxt "@action"
msgid "Send to KDE Itinerary"
msgstr "Enviar a KDE Itinerary"
#: src/timeline/LinkPreviewComponent.qml:136
#: src/timeline/LinkPreviewLoadComponent.qml:79
#: src/timeline/LinkPreviewComponent.qml:131
#: src/timeline/LinkPreviewLoadComponent.qml:76
#, kde-format
msgctxt "As in remove the link preview so it's no longer shown"
msgid "Remove preview"
msgstr "Eliminar vista previa"
#: src/timeline/LinkPreviewComponent.qml:154
#: src/timeline/LinkPreviewComponent.qml:149
#, kde-format
msgid "Shrink preview"
msgstr "Encoger vista previa"
#: src/timeline/LinkPreviewComponent.qml:154
#: src/timeline/LinkPreviewComponent.qml:149
#, kde-format
msgid "Expand preview"
msgstr "Expandir vista previa"
#: src/timeline/LinkPreviewLoadComponent.qml:68
#: src/timeline/LinkPreviewLoadComponent.qml:65
#, kde-format
msgid "Loading URL preview"
msgstr "Cargando vista previa de URL"
#: src/timeline/LocationComponent.qml:116
#: src/timeline/LocationComponent.qml:111
#, kde-format
msgctxt "@action:button Open the location in an external program"
msgid "Open Externally"
msgstr "Abrir externamente"
#: src/timeline/PollComponent.qml:80
#: src/timeline/PollComponent.qml:70
#, kde-format
msgid "Based on votes by %1 user"
msgid_plural "Based on votes by %1 users"
msgstr[0] "Según los votos de %1 usuario"
msgstr[1] "Según los votos de %1 usuarios"
#: src/timeline/PollComponent.qml:80
#: src/timeline/PollComponent.qml:70
#, kde-format
msgctxt "as in 'this vote has ended'"
msgid "(Ended)"
msgstr "(Finalizada)"
#: src/timeline/ReactionComponent.qml:97
#: src/timeline/ReactionComponent.qml:89
#, kde-format
msgctxt "@button"
msgid "React"
@@ -6192,7 +6192,7 @@ msgctxt "Relative time since the room was last read"
msgid "Last read: %1"
msgstr "Última lectura: %1"
#: src/timeline/ReplyButtonComponent.qml:44
#: src/timeline/ReplyButtonComponent.qml:34
#, kde-format
msgctxt "@action:button"
msgid "Reply"
@@ -6213,24 +6213,24 @@ msgstr ""
msgid "Pl. %1"
msgstr "Andén %1"
#: src/timeline/VideoComponent.qml:217
#: src/timeline/VideoComponent.qml:197
#, kde-format
msgid "Video"
msgstr "Vídeo"
#: src/timeline/VideoComponent.qml:257
#: src/timeline/VideoComponent.qml:237
#, kde-format
msgctxt "@action:button"
msgid "Show Video"
msgstr "Mostrar vídeo"
#: src/timeline/VideoComponent.qml:298
#: src/timeline/VideoComponent.qml:278
#, kde-format
msgctxt "@action:button"
msgid "Volume"
msgstr "Volumen"
#: src/timeline/VideoComponent.qml:382
#: src/timeline/VideoComponent.qml:362
#, kde-format
msgid "Maximize"
msgstr "Maximizar"

View File

@@ -9,8 +9,8 @@ msgid ""
msgstr ""
"Project-Id-Version: neochat\n"
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
"POT-Creation-Date: 2025-03-07 00:42+0000\n"
"PO-Revision-Date: 2025-04-02 14:17+0200\n"
"POT-Creation-Date: 2025-03-11 00:41+0000\n"
"PO-Revision-Date: 2025-02-10 18:39+0100\n"
"Last-Translator: Iñigo Salvador Azurmendi <xalba@ni.eus>\n"
"Language-Team: Basque <kde-i18n-eu@kde.org>\n"
"Language: eu\n"
@@ -18,7 +18,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 24.12.3\n"
"X-Generator: Lokalize 24.12.1\n"
#: src/chatbar/AttachDialog.qml:29
#, kde-format
@@ -968,7 +968,7 @@ msgstr "%1(e)k egoera eguneratu du"
#: src/eventhandler.cpp:654
#, kde-format
msgid "%1 started a poll"
msgstr "%1(e)k galdeketa bat abiatu du"
msgstr "%1(e)k inkesta bat abiatu du"
#: src/filetransferpseudojob.cpp:58
#, kde-format
@@ -1041,7 +1041,7 @@ msgstr "Erregistratzea ezgaituta dago zerbitzari horretan."
#: src/login/Homeserver.qml:41 src/login/Username.qml:38
#: src/models/messagecontentmodel.cpp:262
#: src/models/messagecontentmodel.cpp:290 src/timeline/LoadComponent.qml:33
#: src/models/messagecontentmodel.cpp:290 src/timeline/LoadComponent.qml:30
#, kde-format
msgid "Loading"
msgstr "Zamatzen..."
@@ -1073,7 +1073,7 @@ msgid "Loading…"
msgstr "Zamatzen..."
#: src/login/Login.qml:38 src/login/WelcomePage.qml:250
#: src/settings/ThreePIdCard.qml:183
#: src/settings/ThreePIdCard.qml:189
#, kde-format
msgctxt "@action:button"
msgid "Continue"
@@ -1706,7 +1706,7 @@ msgstr "Emoji propioak"
#: src/models/messagecontentmodel.cpp:260
#: src/models/messagecontentmodel.cpp:288
#: src/timeline/LinkPreviewLoadComponent.qml:66
#: src/timeline/LinkPreviewLoadComponent.qml:63
#, kde-format
msgid "Loading reply"
msgstr "Erantzuna zamatzen"
@@ -1950,18 +1950,20 @@ msgid ", "
msgstr ", "
#: src/models/roomtreemodel.cpp:353
#, kde-format
#, fuzzy, kde-format
#| msgid "Invite to private chat"
msgctxt "@info:label"
msgid "Invited you to chat"
msgstr "Berriketara gonbidatu zaitu"
msgstr "Gonbidatu berriketa pribatura"
#: src/models/roomtreemodel.cpp:355
#, kde-format
#, fuzzy, kde-format
#| msgid "%1 invited you to a room"
msgctxt "@info:label"
msgid "%1 invited you"
msgstr "%1(e)k gonbidatu zaitu"
msgstr "%1(e)k gela batera gonbidatu zaitu"
#: src/neochatconnection.cpp:77
#: src/neochatconnection.cpp:75
#, kde-format
msgid ""
"File too large to download.<br />Contact your matrix server administrator "
@@ -1970,18 +1972,18 @@ msgstr ""
"Zama-jaisteko fitxategi handiegia.<br />Jar zaitez zure matrix "
"zerbitzariaren administratzailearekin harremanean, laguntza lortzeko."
#: src/neochatconnection.cpp:336
#: src/neochatconnection.cpp:329
#, kde-format
msgctxt "@info"
msgid "No identity server configured"
msgstr "Ez da nortasun zerbitzaririk konfiguratu"
#: src/neochatconnection.cpp:367
#: src/neochatconnection.cpp:360
#, kde-format
msgid "Room creation failed: %1"
msgstr "Gela sortzea huts egin du: %1"
#: src/neochatconnection.cpp:397
#: src/neochatconnection.cpp:390
#, kde-format
msgid "Space creation failed: %1"
msgstr "Tokia sortzea huts egin du: %1"
@@ -2121,13 +2123,13 @@ msgstr "Gailu hau egiaztatu"
#, kde-format
msgctxt "@title"
msgid "Verification Request Sent"
msgstr "Egiaztapen-eskaera bidali da"
msgstr ""
#: src/qml/AccountMenu.qml:94
#, kde-format
msgctxt "@info:label"
msgid "To proceed, accept the verification request on another device."
msgstr "Jarraitzeko, egiaztapen-eskaera beste gailu batean onartu."
msgstr ""
#: src/qml/AccountMenu.qml:106 src/settings/AccountsPage.qml:88
#, kde-format
@@ -2461,10 +2463,12 @@ msgid "View Source"
msgstr "Ikusi sorburua"
#: src/qml/DelegateContextMenu.qml:78
#, kde-format
#, fuzzy, kde-format
#| msgctxt "@action:button"
#| msgid "Remove"
msgctxt "@action:button"
msgid "Remove…"
msgstr "Kendu..."
msgstr "Kendu"
#: src/qml/DelegateContextMenu.qml:83 src/qml/DelegateContextMenu.qml:88
#: src/qml/FileDelegateContextMenu.qml:79
@@ -2521,13 +2525,13 @@ msgstr "Erakutsi erabiltzailea"
#, kde-format
msgctxt "@action:button 'Unpin' as in 'Unpin this message'"
msgid "Unpin"
msgstr "Iltzagetu"
msgstr ""
#: src/qml/DelegateContextMenu.qml:139
#, kde-format
msgctxt "@action:button 'Pin' as in 'Pin the message in the room'"
msgid "Pin"
msgstr "Iltzatu"
msgstr ""
#: src/qml/EditMenu.qml:15
#, kde-format
@@ -2735,9 +2739,10 @@ msgid "Copy Image"
msgstr "Kopiatu irudia"
#: src/qml/FileDelegateContextMenu.qml:74
#, kde-format
#, fuzzy, kde-format
#| msgid "Remove"
msgid "Remove…"
msgstr "Kendu..."
msgstr "Kendu"
#: src/qml/FullScreenMap.qml:23
#, kde-format
@@ -2941,16 +2946,17 @@ msgid "Mirror"
msgstr "Islatu"
#: src/qml/InvitationView.qml:42
#, kde-format
#, fuzzy, kde-format
#| msgid "%1 invited you to a room"
msgctxt "@info:label"
msgid "%1 has invited you to join"
msgstr "%1(e)k batzera gonbidatu zaitu"
msgstr "%1(e)k gela batera gonbidatu zaitu"
#: src/qml/InvitationView.qml:70
#, kde-format
msgctxt "@info:label"
msgid "This user is inviting you to chat."
msgstr "Erabiltzaile hau berriketara gonbidatzen zaizu."
msgstr ""
#: src/qml/InvitationView.qml:79
#, kde-format
@@ -2960,13 +2966,15 @@ msgstr ""
"ditzakezu."
#: src/qml/InvitationView.qml:102
#, kde-format
#, fuzzy, kde-format
#| msgid "Reject"
msgctxt "@action:button"
msgid "Reject"
msgstr "Errefusatu"
#: src/qml/InvitationView.qml:110
#, kde-format
#, fuzzy, kde-format
#| msgid "Accept"
msgctxt "@action:button"
msgid "Accept"
msgstr "Onartu"
@@ -4102,10 +4110,11 @@ msgid "Copy link"
msgstr "Kopiatu esteka"
#: src/qml/UserInfo.qml:50
#, kde-format
#, fuzzy, kde-format
#| msgid "Deactivate Account"
msgctxt "@info:tooltip"
msgid "Manage Account"
msgstr "Kudeatu kontua"
msgstr "Desaktibatu kontua"
#: src/qml/UserInfo.qml:108
#, kde-format
@@ -4865,17 +4874,17 @@ msgstr "Gaitu kontu honetarako jakinarazpenak"
#: src/settings/GlobalNotificationsPage.qml:32
#, kde-format
msgid "Notifications can appear even when NeoChat isn't running."
msgstr "Jakinarazpenak ager daitezke NeoChat martxan ez dagoenean ere."
msgstr ""
#: src/settings/GlobalNotificationsPage.qml:34
#, kde-format
msgid "Push notifications are available but could not be enabled."
msgstr "Bultzada jakinarazpenak erabilgarri daude, baina ezin izan dira gaitu."
msgstr ""
#: src/settings/GlobalNotificationsPage.qml:37
#, kde-format
msgid "Notifications will only appear when NeoChat is running."
msgstr "Jakinarazpenak NeoChat martxan dagoenean bakarrik agertu dira."
msgstr ""
#: src/settings/GlobalNotificationsPage.qml:49
#, kde-format
@@ -5567,17 +5576,18 @@ msgid "URL previews are disabled by default in this room"
msgstr "URL aurreikuspegiak ezgaituta daude gela honetan era lehenetsian"
#: src/settings/RoomGeneralPage.qml:285
#, kde-format
#, fuzzy, kde-format
#| msgid "URL previews are disabled by default in this room"
msgctxt ""
"As in the user has switched off showing previews of hyperlinks in timeline "
"messages"
msgid "URL previews are currently disabled for your account"
msgstr "URL aurreikuspegiak, egun, zure konturako ezgaituta daude"
msgstr "URL aurreikuspegiak ezgaituta daude gela honetan era lehenetsian"
#: src/settings/RoomGeneralPage.qml:289
#, kde-format
msgid "Enable"
msgstr "Gaitu"
msgstr ""
#: src/settings/RoomGeneralPage.qml:294
#, kde-format
@@ -5877,87 +5887,87 @@ msgctxt "@title:dialog"
msgid "Select Parameter to Add"
msgstr "Hautatu gehitu beharreko parametroa"
#: src/settings/ThreePIdCard.qml:55
#: src/settings/ThreePIdCard.qml:58
#, kde-format
msgctxt "@action:button"
msgid "Hide"
msgstr "Ezkutatu"
#: src/settings/ThreePIdCard.qml:61
#: src/settings/ThreePIdCard.qml:64
#, kde-format
msgctxt "@action:button"
msgid "Share"
msgstr "Partekatu"
#: src/settings/ThreePIdCard.qml:66
#: src/settings/ThreePIdCard.qml:69
#, kde-format
msgctxt "@action:button"
msgid "Remove"
msgstr "Kendu"
#: src/settings/ThreePIdCard.qml:85
#: src/settings/ThreePIdCard.qml:88
#, kde-format
msgctxt "@action:button"
msgid "Complete"
msgstr "Osatu"
#: src/settings/ThreePIdCard.qml:90 src/timeline/ChatBarComponent.qml:110
#: src/settings/ThreePIdCard.qml:93 src/timeline/ChatBarComponent.qml:100
#, kde-format
msgctxt "@action:button"
msgid "Cancel"
msgstr "Utzi"
#: src/settings/ThreePIdCard.qml:130
#: src/settings/ThreePIdCard.qml:136
#, kde-format
msgctxt "@label:textbox"
msgid "Country Code for new phone number"
msgstr "Telefono-zenbaki berrirako herrialde-kodea"
#: src/settings/ThreePIdCard.qml:146
#: src/settings/ThreePIdCard.qml:152
#, kde-format
msgctxt "@label:textbox"
msgid "New Email Address:"
msgstr "E-posta helbide berria:"
#: src/settings/ThreePIdCard.qml:146
#: src/settings/ThreePIdCard.qml:152
#, kde-format
msgctxt "@label:textbox"
msgid "New Phone Number:"
msgstr "Telefono-zenbaki berria:"
#: src/settings/ThreePIdCard.qml:150 src/threepidbindhelper.cpp:178
#: src/settings/ThreePIdCard.qml:156 src/threepidbindhelper.cpp:179
#, kde-format
msgid "We've sent you an email"
msgstr "E-posta bat bidali dizugu"
#: src/settings/ThreePIdCard.qml:150 src/threepidbindhelper.cpp:178
#: src/settings/ThreePIdCard.qml:156 src/threepidbindhelper.cpp:179
#, kde-format
msgid "We've sent you a text message"
msgstr "Testu-mezu bat bidali dizugu"
#: src/settings/ThreePIdCard.qml:150
#: src/settings/ThreePIdCard.qml:156
#, kde-format
msgid ""
"%1. Please follow the instructions there and then click the button below"
msgstr ""
"%1. Mesedez, jarraitu han dauden jarraibideak eta egin klik beheko botoian"
#: src/settings/ThreePIdCard.qml:152 src/threepidbindhelper.cpp:180
#: src/settings/ThreePIdCard.qml:158 src/threepidbindhelper.cpp:181
#, kde-format
msgid "The entered email is not valid"
msgstr "Sartutako e-postak ez du balio"
#: src/settings/ThreePIdCard.qml:152 src/threepidbindhelper.cpp:180
#: src/settings/ThreePIdCard.qml:158 src/threepidbindhelper.cpp:181
#, kde-format
msgid "The entered phone number is not valid"
msgstr "Sartutako telefono-zenbakiak ez du balio"
#: src/settings/ThreePIdCard.qml:154
#: src/settings/ThreePIdCard.qml:160
#, kde-format
msgid "Incorrect password entered"
msgstr "Pasahitz okerra sartu da"
#: src/settings/ThreePIdCard.qml:156
#: src/settings/ThreePIdCard.qml:162
#, kde-format
msgid ""
"The email has not been verified. Please go to the email and follow the "
@@ -5966,7 +5976,7 @@ msgstr ""
"E-posta ez da egiaztatu. Mesedez, joan e-postara, jarraitu hango "
"jarraibideak eta egin klik beheko botoian"
#: src/settings/ThreePIdCard.qml:156
#: src/settings/ThreePIdCard.qml:162
#, kde-format
msgid ""
"The phone number has not been verified. Please go to the text message and "
@@ -5975,26 +5985,26 @@ msgstr ""
"Telefono-zenbaki ez da egiaztatu. Mesedez, joan testu-mezura, jarraitu hango "
"jarraibideak eta egin klik beheko botoian"
#: src/settings/ThreePIdCard.qml:183
#: src/settings/ThreePIdCard.qml:189
#, kde-format
msgctxt "@action:button Add new email or phone number"
msgid "Add"
msgstr "Gehitu"
#: src/settings/ThreePIdCard.qml:191
#: src/settings/ThreePIdCard.qml:197
#, kde-format
msgctxt "@action:button As in 'go back'"
msgid "Back"
msgstr "Atzera"
#: src/threepidbindhelper.cpp:177
#: src/threepidbindhelper.cpp:178
#, kde-format
msgid ""
"%1. Please follow the instructions there and then click the button above"
msgstr ""
"%1. Mesedez, jarraitu han dauden jarraibideak eta egin klik beheko botoian"
#: src/threepidbindhelper.cpp:183
#: src/threepidbindhelper.cpp:184
#, kde-format
msgid ""
"The email has not been verified. Please go to the email and follow the "
@@ -6003,7 +6013,7 @@ msgstr ""
"E-posta ez da egiaztatu. Mesedez, joan e-postara, jarraitu hango "
"jarraibideak eta egin klik goiko botoian"
#: src/threepidbindhelper.cpp:184
#: src/threepidbindhelper.cpp:185
#, kde-format
msgid ""
"The phone number has not been verified. Please go to the text message and "
@@ -6012,35 +6022,35 @@ msgstr ""
"Telefono-zenbaki ez da egiaztatu. Mesedez, joan testu-mezura, jarraitu hango "
"jarraibideak eta egin klik goiko botoian"
#: src/timeline/BaseMessageComponentChooser.qml:249
#: src/timeline/BaseMessageComponentChooser.qml:172
#, kde-format
msgid "%1 started a user verification"
msgstr "%1(e)k erabiltzaile egiaztapen bat abiatu du"
#: src/timeline/ChatBarComponent.qml:98
#: src/timeline/ChatBarComponent.qml:88
#, kde-format
msgctxt "@action:button"
msgid "Confirm edit"
msgstr "Berretsi editatutakoa"
#: src/timeline/ChatBarComponent.qml:98
#: src/timeline/ChatBarComponent.qml:88
#, kde-format
msgctxt "@action:button"
msgid "Post message in thread"
msgstr "Bidali mezua harian"
#: src/timeline/CodeComponent.qml:164
#: src/timeline/CodeComponent.qml:159
#, kde-format
msgid "Copy to clipboard"
msgstr "Kopiatu arbelera"
#: src/timeline/CodeComponent.qml:176
#: src/timeline/CodeComponent.qml:171
#, kde-format
msgctxt "@action:button"
msgid "Maximize"
msgstr "Maximizatu"
#: src/timeline/EncryptedComponent.qml:21
#: src/timeline/EncryptedComponent.qml:18
#, kde-format
msgid ""
"This message is encrypted and the sender has not shared the key with this "
@@ -6048,20 +6058,20 @@ msgid ""
msgstr ""
"Mezu hori zifratuta dago eta igorleak ez du gakoa gailu honekin partekatu."
#: src/timeline/FetchButtonComponent.qml:41
#: src/timeline/FetchButtonComponent.qml:36
#, kde-format
msgctxt "@action:button"
msgid "Fetch More Events"
msgstr "Eskuratu gertaera gehiago"
#: src/timeline/FileComponent.qml:104 src/timeline/FileComponent.qml:187
#: src/timeline/FileComponent.qml:94 src/timeline/FileComponent.qml:177
#, kde-format
msgctxt ""
"tooltip for a button on a message; offers ability to download its file"
msgid "Download"
msgstr "Zama-jaitsi"
#: src/timeline/FileComponent.qml:120 src/timeline/FileComponent.qml:177
#: src/timeline/FileComponent.qml:110 src/timeline/FileComponent.qml:167
#, kde-format
msgctxt ""
"tooltip for a button on a message; offers ability to open its downloaded "
@@ -6069,13 +6079,13 @@ msgctxt ""
msgid "Open File"
msgstr "Ireki fitxategia"
#: src/timeline/FileComponent.qml:135
#: src/timeline/FileComponent.qml:125
#, kde-format
msgctxt "file download progress"
msgid "%1 / %2"
msgstr "%1 / %2"
#: src/timeline/FileComponent.qml:140
#: src/timeline/FileComponent.qml:130
#, kde-format
msgctxt ""
"tooltip for a button on a message; stops downloading the message's file"
@@ -6104,60 +6114,60 @@ msgstr "Izen-emate ordua: %1"
msgid "Check-out time: %1"
msgstr "Ordaindu eta irtete ordua: %1"
#: src/timeline/ImageComponent.qml:140
#: src/timeline/ImageComponent.qml:120
#, kde-format
msgctxt "@action:button"
msgid "Show Image"
msgstr "Erakutsi irudia"
#: src/timeline/ItineraryComponent.qml:57
#: src/timeline/ItineraryComponent.qml:54
#, kde-format
msgctxt "@action"
msgid "Send to KDE Itinerary"
msgstr "Bidali KDE «Itinerary»ra"
#: src/timeline/LinkPreviewComponent.qml:136
#: src/timeline/LinkPreviewLoadComponent.qml:79
#: src/timeline/LinkPreviewComponent.qml:131
#: src/timeline/LinkPreviewLoadComponent.qml:76
#, kde-format
msgctxt "As in remove the link preview so it's no longer shown"
msgid "Remove preview"
msgstr "Kendu aurreikuspegia"
#: src/timeline/LinkPreviewComponent.qml:154
#: src/timeline/LinkPreviewComponent.qml:149
#, kde-format
msgid "Shrink preview"
msgstr "Txikiagotu aurreikuspegia"
#: src/timeline/LinkPreviewComponent.qml:154
#: src/timeline/LinkPreviewComponent.qml:149
#, kde-format
msgid "Expand preview"
msgstr "Zabaldu aurreikuspegia"
#: src/timeline/LinkPreviewLoadComponent.qml:68
#: src/timeline/LinkPreviewLoadComponent.qml:65
#, kde-format
msgid "Loading URL preview"
msgstr "URLaren aurreikuspegia zamatzen"
#: src/timeline/LocationComponent.qml:116
#: src/timeline/LocationComponent.qml:111
#, kde-format
msgctxt "@action:button Open the location in an external program"
msgid "Open Externally"
msgstr "Ireki kanpotik"
#: src/timeline/PollComponent.qml:80
#: src/timeline/PollComponent.qml:70
#, kde-format
msgid "Based on votes by %1 user"
msgid_plural "Based on votes by %1 users"
msgstr[0] "Erabiltzaile %1(e)n bozkan oinarritua"
msgstr[1] "%1 erabiltzaileren bozkatan oinarritua"
#: src/timeline/PollComponent.qml:80
#: src/timeline/PollComponent.qml:70
#, kde-format
msgctxt "as in 'this vote has ended'"
msgid "(Ended)"
msgstr "(Amaituta)"
#: src/timeline/ReactionComponent.qml:97
#: src/timeline/ReactionComponent.qml:89
#, kde-format
msgctxt "@button"
msgid "React"
@@ -6169,7 +6179,7 @@ msgctxt "Relative time since the room was last read"
msgid "Last read: %1"
msgstr "Azken irakurketa: %1"
#: src/timeline/ReplyButtonComponent.qml:44
#: src/timeline/ReplyButtonComponent.qml:34
#, kde-format
msgctxt "@action:button"
msgid "Reply"
@@ -6190,24 +6200,24 @@ msgstr ""
msgid "Pl. %1"
msgstr "%1 Na."
#: src/timeline/VideoComponent.qml:217
#: src/timeline/VideoComponent.qml:197
#, kde-format
msgid "Video"
msgstr "Bideoa"
#: src/timeline/VideoComponent.qml:257
#: src/timeline/VideoComponent.qml:237
#, kde-format
msgctxt "@action:button"
msgid "Show Video"
msgstr "Erakutsi bideoa"
#: src/timeline/VideoComponent.qml:298
#: src/timeline/VideoComponent.qml:278
#, kde-format
msgctxt "@action:button"
msgid "Volume"
msgstr "Bolumena"
#: src/timeline/VideoComponent.qml:382
#: src/timeline/VideoComponent.qml:362
#, kde-format
msgid "Maximize"
msgstr "Maximizatu"

View File

@@ -7,8 +7,8 @@ msgid ""
msgstr ""
"Project-Id-Version: neochat\n"
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
"POT-Creation-Date: 2025-03-07 00:42+0000\n"
"PO-Revision-Date: 2025-03-23 14:24+0200\n"
"POT-Creation-Date: 2025-03-11 00:41+0000\n"
"PO-Revision-Date: 2025-02-14 19:43+0200\n"
"Last-Translator: Tommi Nieminen <translator@legisign.org>\n"
"Language-Team: Finnish <kde-i18n-doc@kde.org>\n"
"Language: fi\n"
@@ -1036,7 +1036,7 @@ msgstr "Palvelin on poistanut rekisteröitymisen käytöstä."
#: src/login/Homeserver.qml:41 src/login/Username.qml:38
#: src/models/messagecontentmodel.cpp:262
#: src/models/messagecontentmodel.cpp:290 src/timeline/LoadComponent.qml:33
#: src/models/messagecontentmodel.cpp:290 src/timeline/LoadComponent.qml:30
#, kde-format
msgid "Loading"
msgstr "Ladataan"
@@ -1066,7 +1066,7 @@ msgid "Loading…"
msgstr "Ladataan…"
#: src/login/Login.qml:38 src/login/WelcomePage.qml:250
#: src/settings/ThreePIdCard.qml:183
#: src/settings/ThreePIdCard.qml:189
#, kde-format
msgctxt "@action:button"
msgid "Continue"
@@ -1696,7 +1696,7 @@ msgstr "Omat emojit"
#: src/models/messagecontentmodel.cpp:260
#: src/models/messagecontentmodel.cpp:288
#: src/timeline/LinkPreviewLoadComponent.qml:66
#: src/timeline/LinkPreviewLoadComponent.qml:63
#, kde-format
msgid "Loading reply"
msgstr "Ladataan vastausta"
@@ -1942,18 +1942,20 @@ msgid ", "
msgstr ", "
#: src/models/roomtreemodel.cpp:353
#, kde-format
#, fuzzy, kde-format
#| msgid "Invite to private chat"
msgctxt "@info:label"
msgid "Invited you to chat"
msgstr "Kutsui sinua keskusteluun"
msgstr "Kutsu yksityiskeskusteluun"
#: src/models/roomtreemodel.cpp:355
#, kde-format
#, fuzzy, kde-format
#| msgid "%1 invited you to a room"
msgctxt "@info:label"
msgid "%1 invited you"
msgstr "%1 kutsui sinua"
msgstr "%1 kutsui sinut huoneeseen"
#: src/neochatconnection.cpp:77
#: src/neochatconnection.cpp:75
#, kde-format
msgid ""
"File too large to download.<br />Contact your matrix server administrator "
@@ -1962,18 +1964,18 @@ msgstr ""
"Tiedosto on liian suuri ladata.<br />Pyydä apua Matrix-palvelimesi "
"ylläpidolta."
#: src/neochatconnection.cpp:336
#: src/neochatconnection.cpp:329
#, kde-format
msgctxt "@info"
msgid "No identity server configured"
msgstr "Henkilöyspalvelinta ei ole määritetty"
#: src/neochatconnection.cpp:367
#: src/neochatconnection.cpp:360
#, kde-format
msgid "Room creation failed: %1"
msgstr "Huoneen luominen epäonnistui: %1"
#: src/neochatconnection.cpp:397
#: src/neochatconnection.cpp:390
#, kde-format
msgid "Space creation failed: %1"
msgstr "Tilan luominen epäonnistui: %1"
@@ -2113,13 +2115,13 @@ msgstr "Vahvista tämä laite"
#, kde-format
msgctxt "@title"
msgid "Verification Request Sent"
msgstr "Vahvistuspyyntö lähetetty"
msgstr ""
#: src/qml/AccountMenu.qml:94
#, kde-format
msgctxt "@info:label"
msgid "To proceed, accept the verification request on another device."
msgstr "Jatka hyväksymällä vahvistuspyyntö toisella laitteella."
msgstr ""
#: src/qml/AccountMenu.qml:106 src/settings/AccountsPage.qml:88
#, kde-format
@@ -2454,10 +2456,12 @@ msgid "View Source"
msgstr "Näytä lähde"
#: src/qml/DelegateContextMenu.qml:78
#, kde-format
#, fuzzy, kde-format
#| msgctxt "@action:button"
#| msgid "Remove"
msgctxt "@action:button"
msgid "Remove…"
msgstr "Poista"
msgstr "Poista"
#: src/qml/DelegateContextMenu.qml:83 src/qml/DelegateContextMenu.qml:88
#: src/qml/FileDelegateContextMenu.qml:79
@@ -2514,13 +2518,13 @@ msgstr "Vaihda käyttäjä"
#, kde-format
msgctxt "@action:button 'Unpin' as in 'Unpin this message'"
msgid "Unpin"
msgstr "Irrota"
msgstr ""
#: src/qml/DelegateContextMenu.qml:139
#, kde-format
msgctxt "@action:button 'Pin' as in 'Pin the message in the room'"
msgid "Pin"
msgstr "Kiinnitä"
msgstr ""
#: src/qml/EditMenu.qml:15
#, kde-format
@@ -2727,9 +2731,10 @@ msgid "Copy Image"
msgstr "Kopioi kuva"
#: src/qml/FileDelegateContextMenu.qml:74
#, kde-format
#, fuzzy, kde-format
#| msgid "Remove"
msgid "Remove…"
msgstr "Poista"
msgstr "Poista"
#: src/qml/FullScreenMap.qml:23
#, kde-format
@@ -2933,16 +2938,17 @@ msgid "Mirror"
msgstr "Käännä vaakasuunnassa"
#: src/qml/InvitationView.qml:42
#, kde-format
#, fuzzy, kde-format
#| msgid "%1 invited you to a room"
msgctxt "@info:label"
msgid "%1 has invited you to join"
msgstr "%1 kutsui sinua liittymään"
msgstr "%1 kutsui sinut huoneeseen"
#: src/qml/InvitationView.qml:70
#, kde-format
msgctxt "@info:label"
msgid "This user is inviting you to chat."
msgstr "Käyttäjä kutsuu sinua keskusteluun."
msgstr ""
#: src/qml/InvitationView.qml:79
#, kde-format
@@ -2951,13 +2957,15 @@ msgstr ""
"Tuntemattomilta käyttäjiltä tulevat kutsut voi hylätä tietoturva-asetuksissa."
#: src/qml/InvitationView.qml:102
#, kde-format
#, fuzzy, kde-format
#| msgid "Reject"
msgctxt "@action:button"
msgid "Reject"
msgstr "Hylkää"
#: src/qml/InvitationView.qml:110
#, kde-format
#, fuzzy, kde-format
#| msgid "Accept"
msgctxt "@action:button"
msgid "Accept"
msgstr "Hyväksy"
@@ -4088,10 +4096,11 @@ msgid "Copy link"
msgstr "Kopioi linkki"
#: src/qml/UserInfo.qml:50
#, kde-format
#, fuzzy, kde-format
#| msgid "Deactivate Account"
msgctxt "@info:tooltip"
msgid "Manage Account"
msgstr "Tilin hallinta"
msgstr "Passivoi tili"
#: src/qml/UserInfo.qml:108
#, kde-format
@@ -4840,17 +4849,17 @@ msgstr "Ota ilmoitukset käyttöön tälle tilille"
#: src/settings/GlobalNotificationsPage.qml:32
#, kde-format
msgid "Notifications can appear even when NeoChat isn't running."
msgstr "Ilmoitukset voivat näkyä, vaikka NeoChat ei ole käynnissä."
msgstr ""
#: src/settings/GlobalNotificationsPage.qml:34
#, kde-format
msgid "Push notifications are available but could not be enabled."
msgstr "Push-ilmoitukset ovat saatavilla, mutta niitä ei voitu ottaa käyttöön."
msgstr ""
#: src/settings/GlobalNotificationsPage.qml:37
#, kde-format
msgid "Notifications will only appear when NeoChat is running."
msgstr "Ilmoitukset näkyvät vain kun NeoChat on käynnissä."
msgstr ""
#: src/settings/GlobalNotificationsPage.qml:49
#, kde-format
@@ -5541,18 +5550,19 @@ msgstr ""
"Verkko-osoitteiden esikatselu on tässä huoneessa oletuksena poissa käytöstä"
#: src/settings/RoomGeneralPage.qml:285
#, kde-format
#, fuzzy, kde-format
#| msgid "URL previews are disabled by default in this room"
msgctxt ""
"As in the user has switched off showing previews of hyperlinks in timeline "
"messages"
msgid "URL previews are currently disabled for your account"
msgstr ""
"Verkko-osoitteiden esikatselu ei oletusarvoisesti ole tililläsi käytössä"
"Verkko-osoitteiden esikatselu on tässä huoneessa oletuksena poissa käytöstä"
#: src/settings/RoomGeneralPage.qml:289
#, kde-format
msgid "Enable"
msgstr "Käytä"
msgstr ""
#: src/settings/RoomGeneralPage.qml:294
#, kde-format
@@ -5846,86 +5856,86 @@ msgctxt "@title:dialog"
msgid "Select Parameter to Add"
msgstr "Valitse lisättävä parametri"
#: src/settings/ThreePIdCard.qml:55
#: src/settings/ThreePIdCard.qml:58
#, kde-format
msgctxt "@action:button"
msgid "Hide"
msgstr "Piilota"
#: src/settings/ThreePIdCard.qml:61
#: src/settings/ThreePIdCard.qml:64
#, kde-format
msgctxt "@action:button"
msgid "Share"
msgstr "Jaa"
#: src/settings/ThreePIdCard.qml:66
#: src/settings/ThreePIdCard.qml:69
#, kde-format
msgctxt "@action:button"
msgid "Remove"
msgstr "Poista"
#: src/settings/ThreePIdCard.qml:85
#: src/settings/ThreePIdCard.qml:88
#, kde-format
msgctxt "@action:button"
msgid "Complete"
msgstr "Valmis"
#: src/settings/ThreePIdCard.qml:90 src/timeline/ChatBarComponent.qml:110
#: src/settings/ThreePIdCard.qml:93 src/timeline/ChatBarComponent.qml:100
#, kde-format
msgctxt "@action:button"
msgid "Cancel"
msgstr "Peru"
#: src/settings/ThreePIdCard.qml:130
#: src/settings/ThreePIdCard.qml:136
#, kde-format
msgctxt "@label:textbox"
msgid "Country Code for new phone number"
msgstr "Uuden puhelinnumeron maakoodi"
#: src/settings/ThreePIdCard.qml:146
#: src/settings/ThreePIdCard.qml:152
#, kde-format
msgctxt "@label:textbox"
msgid "New Email Address:"
msgstr "Uusi sähköpostiosoite:"
#: src/settings/ThreePIdCard.qml:146
#: src/settings/ThreePIdCard.qml:152
#, kde-format
msgctxt "@label:textbox"
msgid "New Phone Number:"
msgstr "Uusi puhelinnumero:"
#: src/settings/ThreePIdCard.qml:150 src/threepidbindhelper.cpp:178
#: src/settings/ThreePIdCard.qml:156 src/threepidbindhelper.cpp:179
#, kde-format
msgid "We've sent you an email"
msgstr "Sinulle on lähetetty sähköpostia"
#: src/settings/ThreePIdCard.qml:150 src/threepidbindhelper.cpp:178
#: src/settings/ThreePIdCard.qml:156 src/threepidbindhelper.cpp:179
#, kde-format
msgid "We've sent you a text message"
msgstr "Sinulle on lähetetty tekstiviesti"
#: src/settings/ThreePIdCard.qml:150
#: src/settings/ThreePIdCard.qml:156
#, kde-format
msgid ""
"%1. Please follow the instructions there and then click the button below"
msgstr "%1. Seuraa annettuja ohjeita ja napsauta sitten alla olevaa painiketta"
#: src/settings/ThreePIdCard.qml:152 src/threepidbindhelper.cpp:180
#: src/settings/ThreePIdCard.qml:158 src/threepidbindhelper.cpp:181
#, kde-format
msgid "The entered email is not valid"
msgstr "Annettu sähköpostiosoite ei ole kelvollinen"
#: src/settings/ThreePIdCard.qml:152 src/threepidbindhelper.cpp:180
#: src/settings/ThreePIdCard.qml:158 src/threepidbindhelper.cpp:181
#, kde-format
msgid "The entered phone number is not valid"
msgstr "Annettu puhelinnumero ei ole kelvollinen"
#: src/settings/ThreePIdCard.qml:154
#: src/settings/ThreePIdCard.qml:160
#, kde-format
msgid "Incorrect password entered"
msgstr "Annettiin väärä salasana"
#: src/settings/ThreePIdCard.qml:156
#: src/settings/ThreePIdCard.qml:162
#, kde-format
msgid ""
"The email has not been verified. Please go to the email and follow the "
@@ -5934,7 +5944,7 @@ msgstr ""
"Sähköpostiosoitetta ei ole vahvistettu. Siirry viestiin, seuraa sen ohjeita "
"ja napsauta sitten alla olevaa painiketta"
#: src/settings/ThreePIdCard.qml:156
#: src/settings/ThreePIdCard.qml:162
#, kde-format
msgid ""
"The phone number has not been verified. Please go to the text message and "
@@ -5943,25 +5953,25 @@ msgstr ""
"Puhelinnumeroa ei ole vahvistettu. Siirry tekstiviestiin, noudata sen "
"ohjeita ja napsauta sitten alla olevaa painiketta"
#: src/settings/ThreePIdCard.qml:183
#: src/settings/ThreePIdCard.qml:189
#, kde-format
msgctxt "@action:button Add new email or phone number"
msgid "Add"
msgstr "Lisää"
#: src/settings/ThreePIdCard.qml:191
#: src/settings/ThreePIdCard.qml:197
#, kde-format
msgctxt "@action:button As in 'go back'"
msgid "Back"
msgstr "Takaisin"
#: src/threepidbindhelper.cpp:177
#: src/threepidbindhelper.cpp:178
#, kde-format
msgid ""
"%1. Please follow the instructions there and then click the button above"
msgstr "%1. Seuraa annettuja ohjeita ja napsauta sitten alla olevaa painiketta"
#: src/threepidbindhelper.cpp:183
#: src/threepidbindhelper.cpp:184
#, kde-format
msgid ""
"The email has not been verified. Please go to the email and follow the "
@@ -5970,7 +5980,7 @@ msgstr ""
"Sähköpostiosoitetta ei ole vahvistettu. Siirry viestiin, seuraa sen ohjeita "
"ja napsauta sitten alla olevaa painiketta"
#: src/threepidbindhelper.cpp:184
#: src/threepidbindhelper.cpp:185
#, kde-format
msgid ""
"The phone number has not been verified. Please go to the text message and "
@@ -5979,35 +5989,35 @@ msgstr ""
"Puhelinnumeroa ei ole vahvistettu. Siirry tekstiviestiin, noudata sen "
"ohjeita ja napsauta sitten alla olevaa painiketta"
#: src/timeline/BaseMessageComponentChooser.qml:249
#: src/timeline/BaseMessageComponentChooser.qml:172
#, kde-format
msgid "%1 started a user verification"
msgstr "%1 käynnisti käyttäjän vahvistuksen"
#: src/timeline/ChatBarComponent.qml:98
#: src/timeline/ChatBarComponent.qml:88
#, kde-format
msgctxt "@action:button"
msgid "Confirm edit"
msgstr "Vahvista muokkaus"
#: src/timeline/ChatBarComponent.qml:98
#: src/timeline/ChatBarComponent.qml:88
#, kde-format
msgctxt "@action:button"
msgid "Post message in thread"
msgstr "Lähetä viesti säikeeseen"
#: src/timeline/CodeComponent.qml:164
#: src/timeline/CodeComponent.qml:159
#, kde-format
msgid "Copy to clipboard"
msgstr "Kopioi leikepöydälle"
#: src/timeline/CodeComponent.qml:176
#: src/timeline/CodeComponent.qml:171
#, kde-format
msgctxt "@action:button"
msgid "Maximize"
msgstr "Suurenna"
#: src/timeline/EncryptedComponent.qml:21
#: src/timeline/EncryptedComponent.qml:18
#, kde-format
msgid ""
"This message is encrypted and the sender has not shared the key with this "
@@ -6015,20 +6025,20 @@ msgid ""
msgstr ""
"Tämä viesti on salattu, eikä lähettäjä ole jakanut avainta tälle laitteelle."
#: src/timeline/FetchButtonComponent.qml:41
#: src/timeline/FetchButtonComponent.qml:36
#, kde-format
msgctxt "@action:button"
msgid "Fetch More Events"
msgstr "Nouda lisää tapahtumia"
#: src/timeline/FileComponent.qml:104 src/timeline/FileComponent.qml:187
#: src/timeline/FileComponent.qml:94 src/timeline/FileComponent.qml:177
#, kde-format
msgctxt ""
"tooltip for a button on a message; offers ability to download its file"
msgid "Download"
msgstr "Lataa"
#: src/timeline/FileComponent.qml:120 src/timeline/FileComponent.qml:177
#: src/timeline/FileComponent.qml:110 src/timeline/FileComponent.qml:167
#, kde-format
msgctxt ""
"tooltip for a button on a message; offers ability to open its downloaded "
@@ -6036,13 +6046,13 @@ msgctxt ""
msgid "Open File"
msgstr "Avaa tiedosto"
#: src/timeline/FileComponent.qml:135
#: src/timeline/FileComponent.qml:125
#, kde-format
msgctxt "file download progress"
msgid "%1 / %2"
msgstr "%1 / %2"
#: src/timeline/FileComponent.qml:140
#: src/timeline/FileComponent.qml:130
#, kde-format
msgctxt ""
"tooltip for a button on a message; stops downloading the message's file"
@@ -6071,60 +6081,60 @@ msgstr "Sisäänkirjautumisaika: %1"
msgid "Check-out time: %1"
msgstr "Uloskirjautumisaika: %1"
#: src/timeline/ImageComponent.qml:140
#: src/timeline/ImageComponent.qml:120
#, kde-format
msgctxt "@action:button"
msgid "Show Image"
msgstr "Näytä kuva"
#: src/timeline/ItineraryComponent.qml:57
#: src/timeline/ItineraryComponent.qml:54
#, kde-format
msgctxt "@action"
msgid "Send to KDE Itinerary"
msgstr "Lähetä KDE Itineraryyn"
#: src/timeline/LinkPreviewComponent.qml:136
#: src/timeline/LinkPreviewLoadComponent.qml:79
#: src/timeline/LinkPreviewComponent.qml:131
#: src/timeline/LinkPreviewLoadComponent.qml:76
#, kde-format
msgctxt "As in remove the link preview so it's no longer shown"
msgid "Remove preview"
msgstr "Poista esikatselu"
#: src/timeline/LinkPreviewComponent.qml:154
#: src/timeline/LinkPreviewComponent.qml:149
#, kde-format
msgid "Shrink preview"
msgstr "Pienennä esikatselua"
#: src/timeline/LinkPreviewComponent.qml:154
#: src/timeline/LinkPreviewComponent.qml:149
#, kde-format
msgid "Expand preview"
msgstr "Suurenna esikatselua"
#: src/timeline/LinkPreviewLoadComponent.qml:68
#: src/timeline/LinkPreviewLoadComponent.qml:65
#, kde-format
msgid "Loading URL preview"
msgstr "Ladataan verkko-osoitteen esikatselua"
#: src/timeline/LocationComponent.qml:116
#: src/timeline/LocationComponent.qml:111
#, kde-format
msgctxt "@action:button Open the location in an external program"
msgid "Open Externally"
msgstr "Avaa ulkoisesti"
#: src/timeline/PollComponent.qml:80
#: src/timeline/PollComponent.qml:70
#, kde-format
msgid "Based on votes by %1 user"
msgid_plural "Based on votes by %1 users"
msgstr[0] "Perustuu 1 käyttäjän ääniin"
msgstr[1] "Perustuu %1 käyttäjän ääniin"
#: src/timeline/PollComponent.qml:80
#: src/timeline/PollComponent.qml:70
#, kde-format
msgctxt "as in 'this vote has ended'"
msgid "(Ended)"
msgstr "(päättynyt)"
#: src/timeline/ReactionComponent.qml:97
#: src/timeline/ReactionComponent.qml:89
#, kde-format
msgctxt "@button"
msgid "React"
@@ -6136,7 +6146,7 @@ msgctxt "Relative time since the room was last read"
msgid "Last read: %1"
msgstr "Viimeksi luettu: %1"
#: src/timeline/ReplyButtonComponent.qml:44
#: src/timeline/ReplyButtonComponent.qml:34
#, kde-format
msgctxt "@action:button"
msgid "Reply"
@@ -6155,24 +6165,24 @@ msgstr "Tämä on keskustelun alku. Tästä edemmäs keskusteluhistoriaa ei ole.
msgid "Pl. %1"
msgstr ""
#: src/timeline/VideoComponent.qml:217
#: src/timeline/VideoComponent.qml:197
#, kde-format
msgid "Video"
msgstr "Video"
#: src/timeline/VideoComponent.qml:257
#: src/timeline/VideoComponent.qml:237
#, kde-format
msgctxt "@action:button"
msgid "Show Video"
msgstr "Näytä video"
#: src/timeline/VideoComponent.qml:298
#: src/timeline/VideoComponent.qml:278
#, kde-format
msgctxt "@action:button"
msgid "Volume"
msgstr "Äänenvoimakkuus"
#: src/timeline/VideoComponent.qml:382
#: src/timeline/VideoComponent.qml:362
#, kde-format
msgid "Maximize"
msgstr "Suurenna"

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: 2025-03-07 00:42+0000\n"
"POT-Creation-Date: 2025-03-11 00:41+0000\n"
"PO-Revision-Date: 2025-03-07 12:00+0100\n"
"Last-Translator: Xavier Besnard <xavier.besnard@kde.org>\n"
"Language-Team: French <French <kde-francophone@kde.org>>\n"
@@ -13,7 +13,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 24.12.3\n"
"X-Generator: Lokalize 24.12.2\n"
#: src/chatbar/AttachDialog.qml:29
#, kde-format
@@ -1041,7 +1041,7 @@ msgstr "L'enregistrement est désactivé sur ce serveur."
#: src/login/Homeserver.qml:41 src/login/Username.qml:38
#: src/models/messagecontentmodel.cpp:262
#: src/models/messagecontentmodel.cpp:290 src/timeline/LoadComponent.qml:33
#: src/models/messagecontentmodel.cpp:290 src/timeline/LoadComponent.qml:30
#, kde-format
msgid "Loading"
msgstr "Chargement..."
@@ -1073,7 +1073,7 @@ msgid "Loading…"
msgstr "Chargement..."
#: src/login/Login.qml:38 src/login/WelcomePage.qml:250
#: src/settings/ThreePIdCard.qml:183
#: src/settings/ThreePIdCard.qml:189
#, kde-format
msgctxt "@action:button"
msgid "Continue"
@@ -1709,7 +1709,7 @@ msgstr "Émoticônes personnelles"
#: src/models/messagecontentmodel.cpp:260
#: src/models/messagecontentmodel.cpp:288
#: src/timeline/LinkPreviewLoadComponent.qml:66
#: src/timeline/LinkPreviewLoadComponent.qml:63
#, kde-format
msgid "Loading reply"
msgstr "Chargement de la réponse..."
@@ -1969,7 +1969,7 @@ msgctxt "@info:label"
msgid "%1 invited you"
msgstr "%1 vous a invité"
#: src/neochatconnection.cpp:77
#: src/neochatconnection.cpp:75
#, kde-format
msgid ""
"File too large to download.<br />Contact your matrix server administrator "
@@ -1978,18 +1978,18 @@ msgstr ""
"Fichier trop volumineux pour être téléchargé.<br />Veuillez contact votre "
"administrateur du serveur « Matrix » pour de l'aide."
#: src/neochatconnection.cpp:336
#: src/neochatconnection.cpp:329
#, kde-format
msgctxt "@info"
msgid "No identity server configured"
msgstr "Aucun serveur d'identité n'a été configuré."
#: src/neochatconnection.cpp:367
#: src/neochatconnection.cpp:360
#, kde-format
msgid "Room creation failed: %1"
msgstr "Impossible de créer le salon : %1"
#: src/neochatconnection.cpp:397
#: src/neochatconnection.cpp:390
#, kde-format
msgid "Space creation failed: %1"
msgstr "Impossible de créer un espace : %1"
@@ -5927,65 +5927,65 @@ msgctxt "@title:dialog"
msgid "Select Parameter to Add"
msgstr "Sélectionner le paramètre à ajouter"
#: src/settings/ThreePIdCard.qml:55
#: src/settings/ThreePIdCard.qml:58
#, kde-format
msgctxt "@action:button"
msgid "Hide"
msgstr "Masquer"
#: src/settings/ThreePIdCard.qml:61
#: src/settings/ThreePIdCard.qml:64
#, kde-format
msgctxt "@action:button"
msgid "Share"
msgstr "Partager"
#: src/settings/ThreePIdCard.qml:66
#: src/settings/ThreePIdCard.qml:69
#, kde-format
msgctxt "@action:button"
msgid "Remove"
msgstr "Supprimer"
#: src/settings/ThreePIdCard.qml:85
#: src/settings/ThreePIdCard.qml:88
#, kde-format
msgctxt "@action:button"
msgid "Complete"
msgstr "Terminer"
#: src/settings/ThreePIdCard.qml:90 src/timeline/ChatBarComponent.qml:110
#: src/settings/ThreePIdCard.qml:93 src/timeline/ChatBarComponent.qml:100
#, kde-format
msgctxt "@action:button"
msgid "Cancel"
msgstr "Annuler"
#: src/settings/ThreePIdCard.qml:130
#: src/settings/ThreePIdCard.qml:136
#, kde-format
msgctxt "@label:textbox"
msgid "Country Code for new phone number"
msgstr "Code international pour le nouveau numéro de téléphone"
#: src/settings/ThreePIdCard.qml:146
#: src/settings/ThreePIdCard.qml:152
#, kde-format
msgctxt "@label:textbox"
msgid "New Email Address:"
msgstr "Nouvelle adresse de courriel :"
#: src/settings/ThreePIdCard.qml:146
#: src/settings/ThreePIdCard.qml:152
#, kde-format
msgctxt "@label:textbox"
msgid "New Phone Number:"
msgstr "Nouveau numéro de téléphone :"
#: src/settings/ThreePIdCard.qml:150 src/threepidbindhelper.cpp:178
#: src/settings/ThreePIdCard.qml:156 src/threepidbindhelper.cpp:179
#, kde-format
msgid "We've sent you an email"
msgstr "Nous vous avons envoyé un courriel."
#: src/settings/ThreePIdCard.qml:150 src/threepidbindhelper.cpp:178
#: src/settings/ThreePIdCard.qml:156 src/threepidbindhelper.cpp:179
#, kde-format
msgid "We've sent you a text message"
msgstr "Nous vous avons envoyé un message de texte"
#: src/settings/ThreePIdCard.qml:150
#: src/settings/ThreePIdCard.qml:156
#, kde-format
msgid ""
"%1. Please follow the instructions there and then click the button below"
@@ -5993,22 +5993,22 @@ msgstr ""
"%1. Veuillez suivre les instructions proposées là et ensuite cliquer sur le "
"bouton ci-dessous."
#: src/settings/ThreePIdCard.qml:152 src/threepidbindhelper.cpp:180
#: src/settings/ThreePIdCard.qml:158 src/threepidbindhelper.cpp:181
#, kde-format
msgid "The entered email is not valid"
msgstr "L'adresse de courriel saisie est non valable."
#: src/settings/ThreePIdCard.qml:152 src/threepidbindhelper.cpp:180
#: src/settings/ThreePIdCard.qml:158 src/threepidbindhelper.cpp:181
#, kde-format
msgid "The entered phone number is not valid"
msgstr "Le numéro de téléphone saisi est non valable."
#: src/settings/ThreePIdCard.qml:154
#: src/settings/ThreePIdCard.qml:160
#, kde-format
msgid "Incorrect password entered"
msgstr "Le mot de passe saisi est incorrect."
#: src/settings/ThreePIdCard.qml:156
#: src/settings/ThreePIdCard.qml:162
#, kde-format
msgid ""
"The email has not been verified. Please go to the email and follow the "
@@ -6018,7 +6018,7 @@ msgstr ""
"suivre les instructions proposées ici et ensuite cliquer sur le bouton ci-"
"dessous."
#: src/settings/ThreePIdCard.qml:156
#: src/settings/ThreePIdCard.qml:162
#, kde-format
msgid ""
"The phone number has not been verified. Please go to the text message and "
@@ -6028,19 +6028,19 @@ msgstr ""
"texte, suivre les instructions proposées ici et ensuite cliquer sur le "
"bouton ci-dessous."
#: src/settings/ThreePIdCard.qml:183
#: src/settings/ThreePIdCard.qml:189
#, kde-format
msgctxt "@action:button Add new email or phone number"
msgid "Add"
msgstr "Ajouter"
#: src/settings/ThreePIdCard.qml:191
#: src/settings/ThreePIdCard.qml:197
#, kde-format
msgctxt "@action:button As in 'go back'"
msgid "Back"
msgstr "Revenir en arrière"
#: src/threepidbindhelper.cpp:177
#: src/threepidbindhelper.cpp:178
#, kde-format
msgid ""
"%1. Please follow the instructions there and then click the button above"
@@ -6048,7 +6048,7 @@ msgstr ""
"%1. Veuillez suivre les instructions proposées là et ensuite cliquer sur le "
"bouton ci-dessus."
#: src/threepidbindhelper.cpp:183
#: src/threepidbindhelper.cpp:184
#, kde-format
msgid ""
"The email has not been verified. Please go to the email and follow the "
@@ -6057,7 +6057,7 @@ msgstr ""
"Le courriel n'a pas été vérifié. Veuillez aller sur celui-ci, suivre les "
"instructions proposées là et enfin cliquer sur le bouton ci-dessus."
#: src/threepidbindhelper.cpp:184
#: src/threepidbindhelper.cpp:185
#, kde-format
msgid ""
"The phone number has not been verified. Please go to the text message and "
@@ -6067,35 +6067,35 @@ msgstr ""
"texte, suivre les instructions proposées ici et ensuite cliquer sur le "
"bouton ci-dessus."
#: src/timeline/BaseMessageComponentChooser.qml:249
#: src/timeline/BaseMessageComponentChooser.qml:172
#, kde-format
msgid "%1 started a user verification"
msgstr "%1 a démarré une vérification d'utilisateurs"
#: src/timeline/ChatBarComponent.qml:98
#: src/timeline/ChatBarComponent.qml:88
#, kde-format
msgctxt "@action:button"
msgid "Confirm edit"
msgstr "Confirmer une modification"
#: src/timeline/ChatBarComponent.qml:98
#: src/timeline/ChatBarComponent.qml:88
#, kde-format
msgctxt "@action:button"
msgid "Post message in thread"
msgstr "Publier un message dans un fil de discussions"
#: src/timeline/CodeComponent.qml:164
#: src/timeline/CodeComponent.qml:159
#, kde-format
msgid "Copy to clipboard"
msgstr "Copier dans le presse-papier"
#: src/timeline/CodeComponent.qml:176
#: src/timeline/CodeComponent.qml:171
#, kde-format
msgctxt "@action:button"
msgid "Maximize"
msgstr "Maximiser"
#: src/timeline/EncryptedComponent.qml:21
#: src/timeline/EncryptedComponent.qml:18
#, kde-format
msgid ""
"This message is encrypted and the sender has not shared the key with this "
@@ -6104,20 +6104,20 @@ msgstr ""
"Le message est chiffré et l'émetteur n'a pas partagé la clé avec ce "
"périphérique."
#: src/timeline/FetchButtonComponent.qml:41
#: src/timeline/FetchButtonComponent.qml:36
#, kde-format
msgctxt "@action:button"
msgid "Fetch More Events"
msgstr "Rechercher plus d'évènements"
#: src/timeline/FileComponent.qml:104 src/timeline/FileComponent.qml:187
#: src/timeline/FileComponent.qml:94 src/timeline/FileComponent.qml:177
#, kde-format
msgctxt ""
"tooltip for a button on a message; offers ability to download its file"
msgid "Download"
msgstr "Télécharger"
#: src/timeline/FileComponent.qml:120 src/timeline/FileComponent.qml:177
#: src/timeline/FileComponent.qml:110 src/timeline/FileComponent.qml:167
#, kde-format
msgctxt ""
"tooltip for a button on a message; offers ability to open its downloaded "
@@ -6125,13 +6125,13 @@ msgctxt ""
msgid "Open File"
msgstr "Ouvrir un fichier"
#: src/timeline/FileComponent.qml:135
#: src/timeline/FileComponent.qml:125
#, kde-format
msgctxt "file download progress"
msgid "%1 / %2"
msgstr "%1 / %2"
#: src/timeline/FileComponent.qml:140
#: src/timeline/FileComponent.qml:130
#, kde-format
msgctxt ""
"tooltip for a button on a message; stops downloading the message's file"
@@ -6160,60 +6160,60 @@ msgstr "Heure d'arrivée : %1"
msgid "Check-out time: %1"
msgstr "Heure de départ : %1"
#: src/timeline/ImageComponent.qml:140
#: src/timeline/ImageComponent.qml:120
#, kde-format
msgctxt "@action:button"
msgid "Show Image"
msgstr "Afficher une image"
#: src/timeline/ItineraryComponent.qml:57
#: src/timeline/ItineraryComponent.qml:54
#, kde-format
msgctxt "@action"
msgid "Send to KDE Itinerary"
msgstr "Envoyer vers KDE Itinerary"
#: src/timeline/LinkPreviewComponent.qml:136
#: src/timeline/LinkPreviewLoadComponent.qml:79
#: src/timeline/LinkPreviewComponent.qml:131
#: src/timeline/LinkPreviewLoadComponent.qml:76
#, kde-format
msgctxt "As in remove the link preview so it's no longer shown"
msgid "Remove preview"
msgstr "Supprimer un aperçu"
#: src/timeline/LinkPreviewComponent.qml:154
#: src/timeline/LinkPreviewComponent.qml:149
#, kde-format
msgid "Shrink preview"
msgstr "Réduire l'aperçu"
#: src/timeline/LinkPreviewComponent.qml:154
#: src/timeline/LinkPreviewComponent.qml:149
#, kde-format
msgid "Expand preview"
msgstr "Développer l'aperçu"
#: src/timeline/LinkPreviewLoadComponent.qml:68
#: src/timeline/LinkPreviewLoadComponent.qml:65
#, kde-format
msgid "Loading URL preview"
msgstr "Chargement d'un aperçu de l'URL"
#: src/timeline/LocationComponent.qml:116
#: src/timeline/LocationComponent.qml:111
#, kde-format
msgctxt "@action:button Open the location in an external program"
msgid "Open Externally"
msgstr "Ouvrir de façon externe"
#: src/timeline/PollComponent.qml:80
#: src/timeline/PollComponent.qml:70
#, kde-format
msgid "Based on votes by %1 user"
msgid_plural "Based on votes by %1 users"
msgstr[0] "Selon les votes de l'utilisateur %1"
msgstr[1] "Selon les votes de %1 utilisateurs"
#: src/timeline/PollComponent.qml:80
#: src/timeline/PollComponent.qml:70
#, kde-format
msgctxt "as in 'this vote has ended'"
msgid "(Ended)"
msgstr "(Terminé)"
#: src/timeline/ReactionComponent.qml:97
#: src/timeline/ReactionComponent.qml:89
#, kde-format
msgctxt "@button"
msgid "React"
@@ -6225,7 +6225,7 @@ msgctxt "Relative time since the room was last read"
msgid "Last read: %1"
msgstr "Dernier lu : %1"
#: src/timeline/ReplyButtonComponent.qml:44
#: src/timeline/ReplyButtonComponent.qml:34
#, kde-format
msgctxt "@action:button"
msgid "Reply"
@@ -6246,24 +6246,24 @@ msgstr ""
msgid "Pl. %1"
msgstr "Place %1"
#: src/timeline/VideoComponent.qml:217
#: src/timeline/VideoComponent.qml:197
#, kde-format
msgid "Video"
msgstr "Vidéo"
#: src/timeline/VideoComponent.qml:257
#: src/timeline/VideoComponent.qml:237
#, kde-format
msgctxt "@action:button"
msgid "Show Video"
msgstr "Afficher une vidéo"
#: src/timeline/VideoComponent.qml:298
#: src/timeline/VideoComponent.qml:278
#, kde-format
msgctxt "@action:button"
msgid "Volume"
msgstr "Volume"
#: src/timeline/VideoComponent.qml:382
#: src/timeline/VideoComponent.qml:362
#, kde-format
msgid "Maximize"
msgstr "Maximiser"

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: 2025-03-07 00:42+0000\n"
"PO-Revision-Date: 2025-03-19 13:31+0100\n"
"POT-Creation-Date: 2025-03-11 00:41+0000\n"
"PO-Revision-Date: 2025-03-01 08:34+0100\n"
"Last-Translator: Adrián Chaves (Gallaecio) <adrian@chaves.gal>\n"
"Language-Team: Proxecto Trasno (proxecto@trasno.gal)\n"
"Language: gl\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 24.12.3\n"
"X-Generator: Lokalize 24.12.2\n"
#: src/chatbar/AttachDialog.qml:29
#, kde-format
@@ -1037,7 +1037,7 @@ msgstr "Este servidor desactivou o rexistro."
#: src/login/Homeserver.qml:41 src/login/Username.qml:38
#: src/models/messagecontentmodel.cpp:262
#: src/models/messagecontentmodel.cpp:290 src/timeline/LoadComponent.qml:33
#: src/models/messagecontentmodel.cpp:290 src/timeline/LoadComponent.qml:30
#, kde-format
msgid "Loading"
msgstr "Cargando"
@@ -1067,7 +1067,7 @@ msgid "Loading…"
msgstr "Cargando…"
#: src/login/Login.qml:38 src/login/WelcomePage.qml:250
#: src/settings/ThreePIdCard.qml:183
#: src/settings/ThreePIdCard.qml:189
#, kde-format
msgctxt "@action:button"
msgid "Continue"
@@ -1698,7 +1698,7 @@ msgstr "Expresións personalizadas"
#: src/models/messagecontentmodel.cpp:260
#: src/models/messagecontentmodel.cpp:288
#: src/timeline/LinkPreviewLoadComponent.qml:66
#: src/timeline/LinkPreviewLoadComponent.qml:63
#, kde-format
msgid "Loading reply"
msgstr "Cargando a resposta"
@@ -1959,7 +1959,7 @@ msgctxt "@info:label"
msgid "%1 invited you"
msgstr "%1 convidoulle."
#: src/neochatconnection.cpp:77
#: src/neochatconnection.cpp:75
#, kde-format
msgid ""
"File too large to download.<br />Contact your matrix server administrator "
@@ -1968,18 +1968,18 @@ msgstr ""
"O ficheiro é grande de máis para descargar.<br /> Solicite asistencia á "
"administración do seu servidor de Matrix."
#: src/neochatconnection.cpp:336
#: src/neochatconnection.cpp:329
#, kde-format
msgctxt "@info"
msgid "No identity server configured"
msgstr "Non hai configurado ningún servidor de identidade."
#: src/neochatconnection.cpp:367
#: src/neochatconnection.cpp:360
#, kde-format
msgid "Room creation failed: %1"
msgstr "A creación da sala fallou: %1"
#: src/neochatconnection.cpp:397
#: src/neochatconnection.cpp:390
#, kde-format
msgid "Space creation failed: %1"
msgstr "A creación do espazo fallou: %1"
@@ -2120,14 +2120,13 @@ msgstr "Verificar o dispositivo"
#, kde-format
msgctxt "@title"
msgid "Verification Request Sent"
msgstr "Enviouse a solicitude de verificación"
msgstr ""
#: src/qml/AccountMenu.qml:94
#, kde-format
msgctxt "@info:label"
msgid "To proceed, accept the verification request on another device."
msgstr ""
"Para continuar, acepte a solicitude de verificación noutro dispositivo."
#: src/qml/AccountMenu.qml:106 src/settings/AccountsPage.qml:88
#, kde-format
@@ -5886,86 +5885,86 @@ msgctxt "@title:dialog"
msgid "Select Parameter to Add"
msgstr "Seleccione o parámetro para engadir"
#: src/settings/ThreePIdCard.qml:55
#: src/settings/ThreePIdCard.qml:58
#, kde-format
msgctxt "@action:button"
msgid "Hide"
msgstr "Agochar"
#: src/settings/ThreePIdCard.qml:61
#: src/settings/ThreePIdCard.qml:64
#, kde-format
msgctxt "@action:button"
msgid "Share"
msgstr "Compartir"
#: src/settings/ThreePIdCard.qml:66
#: src/settings/ThreePIdCard.qml:69
#, kde-format
msgctxt "@action:button"
msgid "Remove"
msgstr "Retirar"
#: src/settings/ThreePIdCard.qml:85
#: src/settings/ThreePIdCard.qml:88
#, kde-format
msgctxt "@action:button"
msgid "Complete"
msgstr "Completar"
#: src/settings/ThreePIdCard.qml:90 src/timeline/ChatBarComponent.qml:110
#: src/settings/ThreePIdCard.qml:93 src/timeline/ChatBarComponent.qml:100
#, kde-format
msgctxt "@action:button"
msgid "Cancel"
msgstr "Cancelar"
#: src/settings/ThreePIdCard.qml:130
#: src/settings/ThreePIdCard.qml:136
#, kde-format
msgctxt "@label:textbox"
msgid "Country Code for new phone number"
msgstr "Código de país do novo número de teléfono."
#: src/settings/ThreePIdCard.qml:146
#: src/settings/ThreePIdCard.qml:152
#, kde-format
msgctxt "@label:textbox"
msgid "New Email Address:"
msgstr "Novo enderezo de correo electrónico:"
#: src/settings/ThreePIdCard.qml:146
#: src/settings/ThreePIdCard.qml:152
#, kde-format
msgctxt "@label:textbox"
msgid "New Phone Number:"
msgstr "Novo número de teléfono:"
#: src/settings/ThreePIdCard.qml:150 src/threepidbindhelper.cpp:178
#: src/settings/ThreePIdCard.qml:156 src/threepidbindhelper.cpp:179
#, kde-format
msgid "We've sent you an email"
msgstr "Enviámoslle unha mensaxe de correo electrónico"
#: src/settings/ThreePIdCard.qml:150 src/threepidbindhelper.cpp:178
#: src/settings/ThreePIdCard.qml:156 src/threepidbindhelper.cpp:179
#, kde-format
msgid "We've sent you a text message"
msgstr "Enviámoslle unha mensaxe de texto"
#: src/settings/ThreePIdCard.qml:150
#: src/settings/ThreePIdCard.qml:156
#, kde-format
msgid ""
"%1. Please follow the instructions there and then click the button below"
msgstr "%1. Siga as instrucións nela e prema o botón embaixo."
#: src/settings/ThreePIdCard.qml:152 src/threepidbindhelper.cpp:180
#: src/settings/ThreePIdCard.qml:158 src/threepidbindhelper.cpp:181
#, kde-format
msgid "The entered email is not valid"
msgstr "O enderezo de correo electrónico inserido non é válido."
#: src/settings/ThreePIdCard.qml:152 src/threepidbindhelper.cpp:180
#: src/settings/ThreePIdCard.qml:158 src/threepidbindhelper.cpp:181
#, kde-format
msgid "The entered phone number is not valid"
msgstr "O número de teléfono inserido non é válido."
#: src/settings/ThreePIdCard.qml:154
#: src/settings/ThreePIdCard.qml:160
#, kde-format
msgid "Incorrect password entered"
msgstr "O contrasinal inserido é incorrecto."
#: src/settings/ThreePIdCard.qml:156
#: src/settings/ThreePIdCard.qml:162
#, kde-format
msgid ""
"The email has not been verified. Please go to the email and follow the "
@@ -5974,7 +5973,7 @@ msgstr ""
"Non se verificou o enderezo de correo electrónico. Abra o correo, siga as "
"instrucións da mensaxe e prema o botón embaixo."
#: src/settings/ThreePIdCard.qml:156
#: src/settings/ThreePIdCard.qml:162
#, kde-format
msgid ""
"The phone number has not been verified. Please go to the text message and "
@@ -5983,25 +5982,25 @@ msgstr ""
"Non se verificou o número de teléfono. Abra a mensaxe de texto e siga as "
"instrucións nela e prema o botón embaixo."
#: src/settings/ThreePIdCard.qml:183
#: src/settings/ThreePIdCard.qml:189
#, kde-format
msgctxt "@action:button Add new email or phone number"
msgid "Add"
msgstr "Engadir"
#: src/settings/ThreePIdCard.qml:191
#: src/settings/ThreePIdCard.qml:197
#, kde-format
msgctxt "@action:button As in 'go back'"
msgid "Back"
msgstr "Atrás"
#: src/threepidbindhelper.cpp:177
#: src/threepidbindhelper.cpp:178
#, kde-format
msgid ""
"%1. Please follow the instructions there and then click the button above"
msgstr "%1. Siga as instrucións nela e prema o botón arriba."
#: src/threepidbindhelper.cpp:183
#: src/threepidbindhelper.cpp:184
#, kde-format
msgid ""
"The email has not been verified. Please go to the email and follow the "
@@ -6010,7 +6009,7 @@ msgstr ""
"Non se verificou o enderezo de correo electrónico. Abra o correo, siga as "
"instrucións da mensaxe e prema o botón arriba."
#: src/threepidbindhelper.cpp:184
#: src/threepidbindhelper.cpp:185
#, kde-format
msgid ""
"The phone number has not been verified. Please go to the text message and "
@@ -6019,35 +6018,35 @@ msgstr ""
"Non se verificou o número de teléfono. Abra a mensaxe de texto e siga as "
"instrucións nela e prema o botón arriba."
#: src/timeline/BaseMessageComponentChooser.qml:249
#: src/timeline/BaseMessageComponentChooser.qml:172
#, kde-format
msgid "%1 started a user verification"
msgstr "%1 iniciou unha verificación de persoa usuaria"
#: src/timeline/ChatBarComponent.qml:98
#: src/timeline/ChatBarComponent.qml:88
#, kde-format
msgctxt "@action:button"
msgid "Confirm edit"
msgstr "Confirmar a edición"
#: src/timeline/ChatBarComponent.qml:98
#: src/timeline/ChatBarComponent.qml:88
#, kde-format
msgctxt "@action:button"
msgid "Post message in thread"
msgstr "Publicar a mensaxe nun fío"
#: src/timeline/CodeComponent.qml:164
#: src/timeline/CodeComponent.qml:159
#, kde-format
msgid "Copy to clipboard"
msgstr "Copiar no portapapeis"
#: src/timeline/CodeComponent.qml:176
#: src/timeline/CodeComponent.qml:171
#, kde-format
msgctxt "@action:button"
msgid "Maximize"
msgstr "Maximizar"
#: src/timeline/EncryptedComponent.qml:21
#: src/timeline/EncryptedComponent.qml:18
#, kde-format
msgid ""
"This message is encrypted and the sender has not shared the key with this "
@@ -6056,20 +6055,20 @@ msgstr ""
"A mensaxe está cifrada e quen a enviou non compartiu a chave con este "
"dispositivo."
#: src/timeline/FetchButtonComponent.qml:41
#: src/timeline/FetchButtonComponent.qml:36
#, kde-format
msgctxt "@action:button"
msgid "Fetch More Events"
msgstr "Obter máis eventos"
#: src/timeline/FileComponent.qml:104 src/timeline/FileComponent.qml:187
#: src/timeline/FileComponent.qml:94 src/timeline/FileComponent.qml:177
#, kde-format
msgctxt ""
"tooltip for a button on a message; offers ability to download its file"
msgid "Download"
msgstr "Descargar"
#: src/timeline/FileComponent.qml:120 src/timeline/FileComponent.qml:177
#: src/timeline/FileComponent.qml:110 src/timeline/FileComponent.qml:167
#, kde-format
msgctxt ""
"tooltip for a button on a message; offers ability to open its downloaded "
@@ -6077,13 +6076,13 @@ msgctxt ""
msgid "Open File"
msgstr "Abrir un ficheiro"
#: src/timeline/FileComponent.qml:135
#: src/timeline/FileComponent.qml:125
#, kde-format
msgctxt "file download progress"
msgid "%1 / %2"
msgstr "%1/%2"
#: src/timeline/FileComponent.qml:140
#: src/timeline/FileComponent.qml:130
#, kde-format
msgctxt ""
"tooltip for a button on a message; stops downloading the message's file"
@@ -6112,60 +6111,60 @@ msgstr "Hora de rexistro: %1"
msgid "Check-out time: %1"
msgstr "Hora de saída: %1"
#: src/timeline/ImageComponent.qml:140
#: src/timeline/ImageComponent.qml:120
#, kde-format
msgctxt "@action:button"
msgid "Show Image"
msgstr "Amosar a imaxe"
#: src/timeline/ItineraryComponent.qml:57
#: src/timeline/ItineraryComponent.qml:54
#, kde-format
msgctxt "@action"
msgid "Send to KDE Itinerary"
msgstr "Enviar a KDE Itinerary"
#: src/timeline/LinkPreviewComponent.qml:136
#: src/timeline/LinkPreviewLoadComponent.qml:79
#: src/timeline/LinkPreviewComponent.qml:131
#: src/timeline/LinkPreviewLoadComponent.qml:76
#, kde-format
msgctxt "As in remove the link preview so it's no longer shown"
msgid "Remove preview"
msgstr "Retirar a vista previa"
#: src/timeline/LinkPreviewComponent.qml:154
#: src/timeline/LinkPreviewComponent.qml:149
#, kde-format
msgid "Shrink preview"
msgstr "Encoller a vista previa"
#: src/timeline/LinkPreviewComponent.qml:154
#: src/timeline/LinkPreviewComponent.qml:149
#, kde-format
msgid "Expand preview"
msgstr "Expandir a vista previa"
#: src/timeline/LinkPreviewLoadComponent.qml:68
#: src/timeline/LinkPreviewLoadComponent.qml:65
#, kde-format
msgid "Loading URL preview"
msgstr "Cargando a vista previa do URL"
#: src/timeline/LocationComponent.qml:116
#: src/timeline/LocationComponent.qml:111
#, kde-format
msgctxt "@action:button Open the location in an external program"
msgid "Open Externally"
msgstr "Abrir externamente"
#: src/timeline/PollComponent.qml:80
#: src/timeline/PollComponent.qml:70
#, kde-format
msgid "Based on votes by %1 user"
msgid_plural "Based on votes by %1 users"
msgstr[0] "Cos votos dunha persoa"
msgstr[1] "Cos votos de %1 persoa"
#: src/timeline/PollComponent.qml:80
#: src/timeline/PollComponent.qml:70
#, kde-format
msgctxt "as in 'this vote has ended'"
msgid "(Ended)"
msgstr "(rematou)"
#: src/timeline/ReactionComponent.qml:97
#: src/timeline/ReactionComponent.qml:89
#, kde-format
msgctxt "@button"
msgid "React"
@@ -6177,7 +6176,7 @@ msgctxt "Relative time since the room was last read"
msgid "Last read: %1"
msgstr "Última lectura: %1"
#: src/timeline/ReplyButtonComponent.qml:44
#: src/timeline/ReplyButtonComponent.qml:34
#, kde-format
msgctxt "@action:button"
msgid "Reply"
@@ -6196,24 +6195,24 @@ msgstr "Este é o comezo da conversa. Non hai mensaxes anteriores."
msgid "Pl. %1"
msgstr "Pl. %1"
#: src/timeline/VideoComponent.qml:217
#: src/timeline/VideoComponent.qml:197
#, kde-format
msgid "Video"
msgstr "Vídeo"
#: src/timeline/VideoComponent.qml:257
#: src/timeline/VideoComponent.qml:237
#, kde-format
msgctxt "@action:button"
msgid "Show Video"
msgstr "Amosar o vídeo"
#: src/timeline/VideoComponent.qml:298
#: src/timeline/VideoComponent.qml:278
#, kde-format
msgctxt "@action:button"
msgid "Volume"
msgstr "Volume"
#: src/timeline/VideoComponent.qml:382
#: src/timeline/VideoComponent.qml:362
#, kde-format
msgid "Maximize"
msgstr "Maximizar"

File diff suppressed because it is too large Load Diff

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: 2025-03-07 00:42+0000\n"
"POT-Creation-Date: 2025-03-11 00:41+0000\n"
"PO-Revision-Date: 2024-12-15 19:31+0530\n"
"Last-Translator: kali <skkalwar999@gmail.com>\n"
"Language-Team: Hindi <kde-i18n-doc@kde.org>\n"
@@ -1035,7 +1035,7 @@ msgstr "इस सर्वर पर पंजीकरण अक्षम ह
#: src/login/Homeserver.qml:41 src/login/Username.qml:38
#: src/models/messagecontentmodel.cpp:262
#: src/models/messagecontentmodel.cpp:290 src/timeline/LoadComponent.qml:33
#: src/models/messagecontentmodel.cpp:290 src/timeline/LoadComponent.qml:30
#, kde-format
msgid "Loading"
msgstr "लोड हो रहा है"
@@ -1065,7 +1065,7 @@ msgid "Loading…"
msgstr "लोड हो रहा है…"
#: src/login/Login.qml:38 src/login/WelcomePage.qml:250
#: src/settings/ThreePIdCard.qml:183
#: src/settings/ThreePIdCard.qml:189
#, kde-format
msgctxt "@action:button"
msgid "Continue"
@@ -1698,7 +1698,7 @@ msgstr "अपना खुद का इमोजी बनाएं"
#: src/models/messagecontentmodel.cpp:260
#: src/models/messagecontentmodel.cpp:288
#: src/timeline/LinkPreviewLoadComponent.qml:66
#: src/timeline/LinkPreviewLoadComponent.qml:63
#, kde-format
msgid "Loading reply"
msgstr "जवाब लोड हो रहा है"
@@ -1957,7 +1957,7 @@ msgctxt "@info:label"
msgid "%1 invited you"
msgstr "%1 ने आपको एक कमरे में आमंत्रित किया"
#: src/neochatconnection.cpp:77
#: src/neochatconnection.cpp:75
#, kde-format
msgid ""
"File too large to download.<br />Contact your matrix server administrator "
@@ -1966,18 +1966,18 @@ msgstr ""
"फ़ाइल डाउनलोड करने के लिए बहुत बड़ी है.<br /> सहायता के लिए अपने मैट्रिक्स सर्वर "
"व्यवस्थापक से संपर्क करें।"
#: src/neochatconnection.cpp:336
#: src/neochatconnection.cpp:329
#, kde-format
msgctxt "@info"
msgid "No identity server configured"
msgstr "कोई पहचान सर्वर कॉन्फ़िगर नहीं किया गया"
#: src/neochatconnection.cpp:367
#: src/neochatconnection.cpp:360
#, kde-format
msgid "Room creation failed: %1"
msgstr "कक्ष निर्माण विफल: %1"
#: src/neochatconnection.cpp:397
#: src/neochatconnection.cpp:390
#, kde-format
msgid "Space creation failed: %1"
msgstr "स्थान निर्माण विफल: %1"
@@ -5873,86 +5873,86 @@ msgctxt "@title:dialog"
msgid "Select Parameter to Add"
msgstr ""
#: src/settings/ThreePIdCard.qml:55
#: src/settings/ThreePIdCard.qml:58
#, kde-format
msgctxt "@action:button"
msgid "Hide"
msgstr "छिपाना"
#: src/settings/ThreePIdCard.qml:61
#: src/settings/ThreePIdCard.qml:64
#, kde-format
msgctxt "@action:button"
msgid "Share"
msgstr "शेयर करना"
#: src/settings/ThreePIdCard.qml:66
#: src/settings/ThreePIdCard.qml:69
#, kde-format
msgctxt "@action:button"
msgid "Remove"
msgstr "निकालना"
#: src/settings/ThreePIdCard.qml:85
#: src/settings/ThreePIdCard.qml:88
#, kde-format
msgctxt "@action:button"
msgid "Complete"
msgstr "पूरा"
#: src/settings/ThreePIdCard.qml:90 src/timeline/ChatBarComponent.qml:110
#: src/settings/ThreePIdCard.qml:93 src/timeline/ChatBarComponent.qml:100
#, kde-format
msgctxt "@action:button"
msgid "Cancel"
msgstr "रद्द करना"
#: src/settings/ThreePIdCard.qml:130
#: src/settings/ThreePIdCard.qml:136
#, kde-format
msgctxt "@label:textbox"
msgid "Country Code for new phone number"
msgstr "नए फ़ोन नंबर के लिए देश कोड"
#: src/settings/ThreePIdCard.qml:146
#: src/settings/ThreePIdCard.qml:152
#, kde-format
msgctxt "@label:textbox"
msgid "New Email Address:"
msgstr "न्यू ईमेल पता:"
#: src/settings/ThreePIdCard.qml:146
#: src/settings/ThreePIdCard.qml:152
#, kde-format
msgctxt "@label:textbox"
msgid "New Phone Number:"
msgstr "नया फ़ोन नंबर:"
#: src/settings/ThreePIdCard.qml:150 src/threepidbindhelper.cpp:178
#: src/settings/ThreePIdCard.qml:156 src/threepidbindhelper.cpp:179
#, kde-format
msgid "We've sent you an email"
msgstr "हमने आपको एक ईमेल भेजा है"
#: src/settings/ThreePIdCard.qml:150 src/threepidbindhelper.cpp:178
#: src/settings/ThreePIdCard.qml:156 src/threepidbindhelper.cpp:179
#, kde-format
msgid "We've sent you a text message"
msgstr "हमने आपको एक टेक्स्ट संदेश भेजा है"
#: src/settings/ThreePIdCard.qml:150
#: src/settings/ThreePIdCard.qml:156
#, kde-format
msgid ""
"%1. Please follow the instructions there and then click the button below"
msgstr "%1. कृपया वहां दिए गए निर्देशों का पालन करें और फिर नीचे दिए गए बटन पर क्लिक करें"
#: src/settings/ThreePIdCard.qml:152 src/threepidbindhelper.cpp:180
#: src/settings/ThreePIdCard.qml:158 src/threepidbindhelper.cpp:181
#, kde-format
msgid "The entered email is not valid"
msgstr "दर्ज किया गया ईमेल मान्य नहीं है"
#: src/settings/ThreePIdCard.qml:152 src/threepidbindhelper.cpp:180
#: src/settings/ThreePIdCard.qml:158 src/threepidbindhelper.cpp:181
#, kde-format
msgid "The entered phone number is not valid"
msgstr "दर्ज किया गया फ़ोन नंबर मान्य नहीं है"
#: src/settings/ThreePIdCard.qml:154
#: src/settings/ThreePIdCard.qml:160
#, kde-format
msgid "Incorrect password entered"
msgstr "गलत पासवर्ड दर्ज किया गया"
#: src/settings/ThreePIdCard.qml:156
#: src/settings/ThreePIdCard.qml:162
#, kde-format
msgid ""
"The email has not been verified. Please go to the email and follow the "
@@ -5961,7 +5961,7 @@ msgstr ""
"ईमेल सत्यापित नहीं किया गया है। कृपया ईमेल पर जाएँ और वहाँ दिए गए निर्देशों का पालन करें "
"और फिर नीचे दिए गए बटन पर क्लिक करें"
#: src/settings/ThreePIdCard.qml:156
#: src/settings/ThreePIdCard.qml:162
#, kde-format
msgid ""
"The phone number has not been verified. Please go to the text message and "
@@ -5970,25 +5970,25 @@ msgstr ""
"फ़ोन नंबर सत्यापित नहीं किया गया है। कृपया टेक्स्ट संदेश पर जाएँ और वहाँ दिए गए निर्देशों का "
"पालन करें और फिर नीचे दिए गए बटन पर क्लिक करें"
#: src/settings/ThreePIdCard.qml:183
#: src/settings/ThreePIdCard.qml:189
#, kde-format
msgctxt "@action:button Add new email or phone number"
msgid "Add"
msgstr "जोड़ना"
#: src/settings/ThreePIdCard.qml:191
#: src/settings/ThreePIdCard.qml:197
#, kde-format
msgctxt "@action:button As in 'go back'"
msgid "Back"
msgstr "पीछे"
#: src/threepidbindhelper.cpp:177
#: src/threepidbindhelper.cpp:178
#, kde-format
msgid ""
"%1. Please follow the instructions there and then click the button above"
msgstr "%1. कृपया वहां दिए गए निर्देशों का पालन करें और फिर ऊपर दिए गए बटन पर क्लिक करें"
#: src/threepidbindhelper.cpp:183
#: src/threepidbindhelper.cpp:184
#, kde-format
msgid ""
"The email has not been verified. Please go to the email and follow the "
@@ -5997,7 +5997,7 @@ msgstr ""
"ईमेल सत्यापित नहीं किया गया है। कृपया ईमेल पर जाएँ और वहाँ दिए गए निर्देशों का पालन करें "
"और फिर ऊपर दिए गए बटन पर क्लिक करें"
#: src/threepidbindhelper.cpp:184
#: src/threepidbindhelper.cpp:185
#, kde-format
msgid ""
"The phone number has not been verified. Please go to the text message and "
@@ -6006,55 +6006,55 @@ msgstr ""
"फ़ोन नंबर सत्यापित नहीं किया गया है। कृपया टेक्स्ट संदेश पर जाएँ और वहाँ दिए गए निर्देशों का "
"पालन करें और फिर ऊपर दिए गए बटन पर क्लिक करें"
#: src/timeline/BaseMessageComponentChooser.qml:249
#: src/timeline/BaseMessageComponentChooser.qml:172
#, kde-format
msgid "%1 started a user verification"
msgstr "%1 ने उपयोगकर्ता सत्यापन शुरू किया"
#: src/timeline/ChatBarComponent.qml:98
#: src/timeline/ChatBarComponent.qml:88
#, kde-format
msgctxt "@action:button"
msgid "Confirm edit"
msgstr "संपादन की पुष्टि करें"
#: src/timeline/ChatBarComponent.qml:98
#: src/timeline/ChatBarComponent.qml:88
#, kde-format
msgctxt "@action:button"
msgid "Post message in thread"
msgstr "संदेश को थ्रेड में पोस्ट करें"
#: src/timeline/CodeComponent.qml:164
#: src/timeline/CodeComponent.qml:159
#, kde-format
msgid "Copy to clipboard"
msgstr "क्लिपबोर्ड पर कॉपी करें"
#: src/timeline/CodeComponent.qml:176
#: src/timeline/CodeComponent.qml:171
#, kde-format
msgctxt "@action:button"
msgid "Maximize"
msgstr "अधिकतम"
#: src/timeline/EncryptedComponent.qml:21
#: src/timeline/EncryptedComponent.qml:18
#, kde-format
msgid ""
"This message is encrypted and the sender has not shared the key with this "
"device."
msgstr "यह संदेश एन्क्रिप्टेड है और प्रेषक ने इस डिवाइस के साथ कुंजी साझा नहीं की है।"
#: src/timeline/FetchButtonComponent.qml:41
#: src/timeline/FetchButtonComponent.qml:36
#, kde-format
msgctxt "@action:button"
msgid "Fetch More Events"
msgstr ""
#: src/timeline/FileComponent.qml:104 src/timeline/FileComponent.qml:187
#: src/timeline/FileComponent.qml:94 src/timeline/FileComponent.qml:177
#, kde-format
msgctxt ""
"tooltip for a button on a message; offers ability to download its file"
msgid "Download"
msgstr "डाउनलोड करना"
#: src/timeline/FileComponent.qml:120 src/timeline/FileComponent.qml:177
#: src/timeline/FileComponent.qml:110 src/timeline/FileComponent.qml:167
#, kde-format
msgctxt ""
"tooltip for a button on a message; offers ability to open its downloaded "
@@ -6062,13 +6062,13 @@ msgctxt ""
msgid "Open File"
msgstr "खुली फाइल"
#: src/timeline/FileComponent.qml:135
#: src/timeline/FileComponent.qml:125
#, kde-format
msgctxt "file download progress"
msgid "%1 / %2"
msgstr "%1 / %2"
#: src/timeline/FileComponent.qml:140
#: src/timeline/FileComponent.qml:130
#, kde-format
msgctxt ""
"tooltip for a button on a message; stops downloading the message's file"
@@ -6097,60 +6097,60 @@ msgstr "चेक-इन समय: %1"
msgid "Check-out time: %1"
msgstr "चेक-आउट समय: %1"
#: src/timeline/ImageComponent.qml:140
#: src/timeline/ImageComponent.qml:120
#, kde-format
msgctxt "@action:button"
msgid "Show Image"
msgstr "छवि दिखाएं"
#: src/timeline/ItineraryComponent.qml:57
#: src/timeline/ItineraryComponent.qml:54
#, kde-format
msgctxt "@action"
msgid "Send to KDE Itinerary"
msgstr "केडीई यात्रा कार्यक्रम को भेजें"
#: src/timeline/LinkPreviewComponent.qml:136
#: src/timeline/LinkPreviewLoadComponent.qml:79
#: src/timeline/LinkPreviewComponent.qml:131
#: src/timeline/LinkPreviewLoadComponent.qml:76
#, kde-format
msgctxt "As in remove the link preview so it's no longer shown"
msgid "Remove preview"
msgstr "पूर्वावलोकन हटाएं"
#: src/timeline/LinkPreviewComponent.qml:154
#: src/timeline/LinkPreviewComponent.qml:149
#, kde-format
msgid "Shrink preview"
msgstr "पूर्वावलोकन सिकोड़ें"
#: src/timeline/LinkPreviewComponent.qml:154
#: src/timeline/LinkPreviewComponent.qml:149
#, kde-format
msgid "Expand preview"
msgstr "पूर्वावलोकन विस्तृत करें"
#: src/timeline/LinkPreviewLoadComponent.qml:68
#: src/timeline/LinkPreviewLoadComponent.qml:65
#, kde-format
msgid "Loading URL preview"
msgstr "URL पूर्वावलोकन लोड हो रहा है"
#: src/timeline/LocationComponent.qml:116
#: src/timeline/LocationComponent.qml:111
#, kde-format
msgctxt "@action:button Open the location in an external program"
msgid "Open Externally"
msgstr "बाहरी रूप से खोलें"
#: src/timeline/PollComponent.qml:80
#: src/timeline/PollComponent.qml:70
#, kde-format
msgid "Based on votes by %1 user"
msgid_plural "Based on votes by %1 users"
msgstr[0] "%1 उपयोगकर्ताओं के वोटों के आधार पर"
msgstr[1] "%1 उपयोगकर्ताओं के वोटों के आधार पर"
#: src/timeline/PollComponent.qml:80
#: src/timeline/PollComponent.qml:70
#, kde-format
msgctxt "as in 'this vote has ended'"
msgid "(Ended)"
msgstr "(समाप्त)"
#: src/timeline/ReactionComponent.qml:97
#: src/timeline/ReactionComponent.qml:89
#, fuzzy, kde-format
#| msgid "React"
msgctxt "@button"
@@ -6163,7 +6163,7 @@ msgctxt "Relative time since the room was last read"
msgid "Last read: %1"
msgstr "अंतिम बार पढ़ा गया: %1"
#: src/timeline/ReplyButtonComponent.qml:44
#: src/timeline/ReplyButtonComponent.qml:34
#, fuzzy, kde-format
#| msgid "Reply"
msgctxt "@action:button"
@@ -6183,24 +6183,24 @@ msgstr "यह चैट की शुरुआत है। इस बिंद
msgid "Pl. %1"
msgstr "कृपया %1"
#: src/timeline/VideoComponent.qml:217
#: src/timeline/VideoComponent.qml:197
#, kde-format
msgid "Video"
msgstr "वीडियो"
#: src/timeline/VideoComponent.qml:257
#: src/timeline/VideoComponent.qml:237
#, kde-format
msgctxt "@action:button"
msgid "Show Video"
msgstr "वीडियो दिखाएं"
#: src/timeline/VideoComponent.qml:298
#: src/timeline/VideoComponent.qml:278
#, kde-format
msgctxt "@action:button"
msgid "Volume"
msgstr "आयतन"
#: src/timeline/VideoComponent.qml:382
#: src/timeline/VideoComponent.qml:362
#, kde-format
msgid "Maximize"
msgstr "अधिकतम"

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: 2025-03-07 00:42+0000\n"
"POT-Creation-Date: 2025-03-11 00:41+0000\n"
"PO-Revision-Date: 2024-11-13 22:41+0100\n"
"Last-Translator: Kristof Kiszel <ulysses@fsf.hu>\n"
"Language-Team: Hungarian <kde-l10n-hu@kde.org>\n"
@@ -1064,7 +1064,7 @@ msgstr "A regisztráció le van tiltva ezen a kiszolgálón."
#: src/login/Homeserver.qml:41 src/login/Username.qml:38
#: src/models/messagecontentmodel.cpp:262
#: src/models/messagecontentmodel.cpp:290 src/timeline/LoadComponent.qml:33
#: src/models/messagecontentmodel.cpp:290 src/timeline/LoadComponent.qml:30
#, kde-format
msgid "Loading"
msgstr "Betöltés"
@@ -1096,7 +1096,7 @@ msgid "Loading…"
msgstr "Betöltés…"
#: src/login/Login.qml:38 src/login/WelcomePage.qml:250
#: src/settings/ThreePIdCard.qml:183
#: src/settings/ThreePIdCard.qml:189
#, kde-format
msgctxt "@action:button"
msgid "Continue"
@@ -1732,7 +1732,7 @@ msgstr "Saját emodzsik"
#: src/models/messagecontentmodel.cpp:260
#: src/models/messagecontentmodel.cpp:288
#: src/timeline/LinkPreviewLoadComponent.qml:66
#: src/timeline/LinkPreviewLoadComponent.qml:63
#, kde-format
msgid "Loading reply"
msgstr "Válasz betöltése"
@@ -1992,7 +1992,7 @@ msgctxt "@info:label"
msgid "%1 invited you"
msgstr "%1 meghívta Önt egy szobába"
#: src/neochatconnection.cpp:77
#: src/neochatconnection.cpp:75
#, kde-format
msgid ""
"File too large to download.<br />Contact your matrix server administrator "
@@ -2001,18 +2001,18 @@ msgstr ""
"A fájl túl nagy a letöltéshez.<br />Támogatásért forduljon a matrix "
"kiszolgáló rendszergazdájához."
#: src/neochatconnection.cpp:336
#: src/neochatconnection.cpp:329
#, kde-format
msgctxt "@info"
msgid "No identity server configured"
msgstr "Nincs beállítva identitáskiszolgáló"
#: src/neochatconnection.cpp:367
#: src/neochatconnection.cpp:360
#, kde-format
msgid "Room creation failed: %1"
msgstr "Nem sikerült létrehozni a szobát: %1"
#: src/neochatconnection.cpp:397
#: src/neochatconnection.cpp:390
#, kde-format
msgid "Space creation failed: %1"
msgstr "Nem sikerült létrehozni a teret: %1"
@@ -6024,65 +6024,65 @@ msgctxt "@title:dialog"
msgid "Select Parameter to Add"
msgstr ""
#: src/settings/ThreePIdCard.qml:55
#: src/settings/ThreePIdCard.qml:58
#, kde-format
msgctxt "@action:button"
msgid "Hide"
msgstr "Elrejtés"
#: src/settings/ThreePIdCard.qml:61
#: src/settings/ThreePIdCard.qml:64
#, kde-format
msgctxt "@action:button"
msgid "Share"
msgstr "Megosztás"
#: src/settings/ThreePIdCard.qml:66
#: src/settings/ThreePIdCard.qml:69
#, kde-format
msgctxt "@action:button"
msgid "Remove"
msgstr "Eltávolítás"
#: src/settings/ThreePIdCard.qml:85
#: src/settings/ThreePIdCard.qml:88
#, kde-format
msgctxt "@action:button"
msgid "Complete"
msgstr "Befejezés"
#: src/settings/ThreePIdCard.qml:90 src/timeline/ChatBarComponent.qml:110
#: src/settings/ThreePIdCard.qml:93 src/timeline/ChatBarComponent.qml:100
#, kde-format
msgctxt "@action:button"
msgid "Cancel"
msgstr "Mégse"
#: src/settings/ThreePIdCard.qml:130
#: src/settings/ThreePIdCard.qml:136
#, kde-format
msgctxt "@label:textbox"
msgid "Country Code for new phone number"
msgstr "Új telefonszám országkódja"
#: src/settings/ThreePIdCard.qml:146
#: src/settings/ThreePIdCard.qml:152
#, kde-format
msgctxt "@label:textbox"
msgid "New Email Address:"
msgstr "Új e-mail-cím:"
#: src/settings/ThreePIdCard.qml:146
#: src/settings/ThreePIdCard.qml:152
#, kde-format
msgctxt "@label:textbox"
msgid "New Phone Number:"
msgstr "Új telefonszám:"
#: src/settings/ThreePIdCard.qml:150 src/threepidbindhelper.cpp:178
#: src/settings/ThreePIdCard.qml:156 src/threepidbindhelper.cpp:179
#, kde-format
msgid "We've sent you an email"
msgstr "Küldtünk Önnek egy e-mailt"
#: src/settings/ThreePIdCard.qml:150 src/threepidbindhelper.cpp:178
#: src/settings/ThreePIdCard.qml:156 src/threepidbindhelper.cpp:179
#, kde-format
msgid "We've sent you a text message"
msgstr "Küldtünk Önnek egy szöveges üzenetet"
#: src/settings/ThreePIdCard.qml:150
#: src/settings/ThreePIdCard.qml:156
#, kde-format
msgid ""
"%1. Please follow the instructions there and then click the button below"
@@ -6090,22 +6090,22 @@ msgstr ""
"%1. Kérjük, kövesse az ott található utasításokat, majd kattintson az alábbi "
"gombra"
#: src/settings/ThreePIdCard.qml:152 src/threepidbindhelper.cpp:180
#: src/settings/ThreePIdCard.qml:158 src/threepidbindhelper.cpp:181
#, kde-format
msgid "The entered email is not valid"
msgstr "A beírt e-mail-cím érvénytelen"
#: src/settings/ThreePIdCard.qml:152 src/threepidbindhelper.cpp:180
#: src/settings/ThreePIdCard.qml:158 src/threepidbindhelper.cpp:181
#, kde-format
msgid "The entered phone number is not valid"
msgstr "A beírt telefonszám érvénytelen"
#: src/settings/ThreePIdCard.qml:154
#: src/settings/ThreePIdCard.qml:160
#, kde-format
msgid "Incorrect password entered"
msgstr "Helytelen jelszó megadása"
#: src/settings/ThreePIdCard.qml:156
#: src/settings/ThreePIdCard.qml:162
#, kde-format
msgid ""
"The email has not been verified. Please go to the email and follow the "
@@ -6114,7 +6114,7 @@ msgstr ""
"Az e-mail-cím nincs ellenőrizve. Kérjük, nyissa meg az e-mailt, és kövesse "
"az ott található utasításokat, majd kattintson az alábbi gombra"
#: src/settings/ThreePIdCard.qml:156
#: src/settings/ThreePIdCard.qml:162
#, kde-format
msgid ""
"The phone number has not been verified. Please go to the text message and "
@@ -6123,19 +6123,19 @@ msgstr ""
"A telefonszám nincs ellenőrizve. Kérjük, nyissa meg a szöveges üzenetet, és "
"kövesse az ott található utasításokat, majd kattintson az alábbi gombra"
#: src/settings/ThreePIdCard.qml:183
#: src/settings/ThreePIdCard.qml:189
#, kde-format
msgctxt "@action:button Add new email or phone number"
msgid "Add"
msgstr "Hozzáadás"
#: src/settings/ThreePIdCard.qml:191
#: src/settings/ThreePIdCard.qml:197
#, kde-format
msgctxt "@action:button As in 'go back'"
msgid "Back"
msgstr "Vissza"
#: src/threepidbindhelper.cpp:177
#: src/threepidbindhelper.cpp:178
#, kde-format
msgid ""
"%1. Please follow the instructions there and then click the button above"
@@ -6143,7 +6143,7 @@ msgstr ""
"%1. Kérjük, kövesse az ott található utasításokat, majd kattintson a fenti "
"gombra"
#: src/threepidbindhelper.cpp:183
#: src/threepidbindhelper.cpp:184
#, kde-format
msgid ""
"The email has not been verified. Please go to the email and follow the "
@@ -6152,7 +6152,7 @@ msgstr ""
"Az e-mail-cím nincs ellenőrizve. Kérjük, nyissa meg az e-mailt, és kövesse "
"az ott található utasításokat, majd kattintson a fenti gombra"
#: src/threepidbindhelper.cpp:184
#: src/threepidbindhelper.cpp:185
#, kde-format
msgid ""
"The phone number has not been verified. Please go to the text message and "
@@ -6161,35 +6161,35 @@ msgstr ""
"A telefonszám nincs ellenőrizve. Kérjük, nyissa meg a szöveges üzenetet, és "
"kövesse az ott található utasításokat, majd kattintson a fenti gombra"
#: src/timeline/BaseMessageComponentChooser.qml:249
#: src/timeline/BaseMessageComponentChooser.qml:172
#, kde-format
msgid "%1 started a user verification"
msgstr "%1 elindított egy felhasználóellenőrzést"
#: src/timeline/ChatBarComponent.qml:98
#: src/timeline/ChatBarComponent.qml:88
#, kde-format
msgctxt "@action:button"
msgid "Confirm edit"
msgstr "Szerkesztés megerősítése"
#: src/timeline/ChatBarComponent.qml:98
#: src/timeline/ChatBarComponent.qml:88
#, kde-format
msgctxt "@action:button"
msgid "Post message in thread"
msgstr "Üzenet küldése szálban"
#: src/timeline/CodeComponent.qml:164
#: src/timeline/CodeComponent.qml:159
#, kde-format
msgid "Copy to clipboard"
msgstr "Másolás a vágólapra"
#: src/timeline/CodeComponent.qml:176
#: src/timeline/CodeComponent.qml:171
#, kde-format
msgctxt "@action:button"
msgid "Maximize"
msgstr "Maximalizálás"
#: src/timeline/EncryptedComponent.qml:21
#: src/timeline/EncryptedComponent.qml:18
#, kde-format
msgid ""
"This message is encrypted and the sender has not shared the key with this "
@@ -6198,20 +6198,20 @@ msgstr ""
"Ez az üzenet titkosított, és a feladó nem osztotta meg a kulcsot ezzel az "
"eszközzel."
#: src/timeline/FetchButtonComponent.qml:41
#: src/timeline/FetchButtonComponent.qml:36
#, kde-format
msgctxt "@action:button"
msgid "Fetch More Events"
msgstr ""
#: src/timeline/FileComponent.qml:104 src/timeline/FileComponent.qml:187
#: src/timeline/FileComponent.qml:94 src/timeline/FileComponent.qml:177
#, kde-format
msgctxt ""
"tooltip for a button on a message; offers ability to download its file"
msgid "Download"
msgstr "Letöltés"
#: src/timeline/FileComponent.qml:120 src/timeline/FileComponent.qml:177
#: src/timeline/FileComponent.qml:110 src/timeline/FileComponent.qml:167
#, kde-format
msgctxt ""
"tooltip for a button on a message; offers ability to open its downloaded "
@@ -6219,13 +6219,13 @@ msgctxt ""
msgid "Open File"
msgstr "Fájl megnyitása"
#: src/timeline/FileComponent.qml:135
#: src/timeline/FileComponent.qml:125
#, kde-format
msgctxt "file download progress"
msgid "%1 / %2"
msgstr "%1 / %2"
#: src/timeline/FileComponent.qml:140
#: src/timeline/FileComponent.qml:130
#, kde-format
msgctxt ""
"tooltip for a button on a message; stops downloading the message's file"
@@ -6254,60 +6254,60 @@ msgstr "Bejelentkezés ideje: %1"
msgid "Check-out time: %1"
msgstr "Kijelentkezés ideje: %1"
#: src/timeline/ImageComponent.qml:140
#: src/timeline/ImageComponent.qml:120
#, kde-format
msgctxt "@action:button"
msgid "Show Image"
msgstr "Kép megjelenítése"
#: src/timeline/ItineraryComponent.qml:57
#: src/timeline/ItineraryComponent.qml:54
#, kde-format
msgctxt "@action"
msgid "Send to KDE Itinerary"
msgstr "Küldés a KDE Itineraryba"
#: src/timeline/LinkPreviewComponent.qml:136
#: src/timeline/LinkPreviewLoadComponent.qml:79
#: src/timeline/LinkPreviewComponent.qml:131
#: src/timeline/LinkPreviewLoadComponent.qml:76
#, kde-format
msgctxt "As in remove the link preview so it's no longer shown"
msgid "Remove preview"
msgstr "Előnézet eltávolítása"
#: src/timeline/LinkPreviewComponent.qml:154
#: src/timeline/LinkPreviewComponent.qml:149
#, kde-format
msgid "Shrink preview"
msgstr "Előnézet kicsinyítése"
#: src/timeline/LinkPreviewComponent.qml:154
#: src/timeline/LinkPreviewComponent.qml:149
#, kde-format
msgid "Expand preview"
msgstr "Előnézet nagyítása"
#: src/timeline/LinkPreviewLoadComponent.qml:68
#: src/timeline/LinkPreviewLoadComponent.qml:65
#, kde-format
msgid "Loading URL preview"
msgstr "URL előnézetének betöltése"
#: src/timeline/LocationComponent.qml:116
#: src/timeline/LocationComponent.qml:111
#, kde-format
msgctxt "@action:button Open the location in an external program"
msgid "Open Externally"
msgstr "Megnyitás külsőleg"
#: src/timeline/PollComponent.qml:80
#: src/timeline/PollComponent.qml:70
#, kde-format
msgid "Based on votes by %1 user"
msgid_plural "Based on votes by %1 users"
msgstr[0] "%1 felhasználó szavazata alapján"
msgstr[1] "%1 felhasználó szavazata alapján"
#: src/timeline/PollComponent.qml:80
#: src/timeline/PollComponent.qml:70
#, kde-format
msgctxt "as in 'this vote has ended'"
msgid "(Ended)"
msgstr "(Befejeződött)"
#: src/timeline/ReactionComponent.qml:97
#: src/timeline/ReactionComponent.qml:89
#, fuzzy, kde-format
#| msgid "React"
msgctxt "@button"
@@ -6320,7 +6320,7 @@ msgctxt "Relative time since the room was last read"
msgid "Last read: %1"
msgstr "Utoljára olvasva: %1"
#: src/timeline/ReplyButtonComponent.qml:44
#: src/timeline/ReplyButtonComponent.qml:34
#, fuzzy, kde-format
#| msgid "Reply"
msgctxt "@action:button"
@@ -6340,24 +6340,24 @@ msgstr "Ez a csevegés kezdete. Nincsenek korábbi üzenetek ezen a ponton túl.
msgid "Pl. %1"
msgstr "%1. vágány"
#: src/timeline/VideoComponent.qml:217
#: src/timeline/VideoComponent.qml:197
#, kde-format
msgid "Video"
msgstr "Videó"
#: src/timeline/VideoComponent.qml:257
#: src/timeline/VideoComponent.qml:237
#, kde-format
msgctxt "@action:button"
msgid "Show Video"
msgstr "Videó megjelenítése"
#: src/timeline/VideoComponent.qml:298
#: src/timeline/VideoComponent.qml:278
#, kde-format
msgctxt "@action:button"
msgid "Volume"
msgstr "Hangerő"
#: src/timeline/VideoComponent.qml:382
#: src/timeline/VideoComponent.qml:362
#, kde-format
msgid "Maximize"
msgstr "Maximalizálás"

View File

@@ -7,8 +7,8 @@ msgid ""
msgstr ""
"Project-Id-Version: neochat\n"
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
"POT-Creation-Date: 2025-03-07 00:42+0000\n"
"PO-Revision-Date: 2025-03-12 14:40+0100\n"
"POT-Creation-Date: 2025-03-11 00:41+0000\n"
"PO-Revision-Date: 2025-03-11 10:26+0100\n"
"Last-Translator: giovanni <g.sora@tiscali.it>\n"
"Language-Team: Interlingua <kde-i18n-doc@kde.org>\n"
"Language: ia\n"
@@ -1039,7 +1039,7 @@ msgstr "Registration es dishabilitate sur iste servitor."
#: src/login/Homeserver.qml:41 src/login/Username.qml:38
#: src/models/messagecontentmodel.cpp:262
#: src/models/messagecontentmodel.cpp:290 src/timeline/LoadComponent.qml:33
#: src/models/messagecontentmodel.cpp:290 src/timeline/LoadComponent.qml:30
#, kde-format
msgid "Loading"
msgstr "Cargante"
@@ -1071,7 +1071,7 @@ msgid "Loading…"
msgstr "Cargante..."
#: src/login/Login.qml:38 src/login/WelcomePage.qml:250
#: src/settings/ThreePIdCard.qml:183
#: src/settings/ThreePIdCard.qml:189
#, kde-format
msgctxt "@action:button"
msgid "Continue"
@@ -1705,7 +1705,7 @@ msgstr "Proprie Emojis"
#: src/models/messagecontentmodel.cpp:260
#: src/models/messagecontentmodel.cpp:288
#: src/timeline/LinkPreviewLoadComponent.qml:66
#: src/timeline/LinkPreviewLoadComponent.qml:63
#, kde-format
msgid "Loading reply"
msgstr "Cargante responsa"
@@ -1961,7 +1961,7 @@ msgctxt "@info:label"
msgid "%1 invited you"
msgstr "%1 invitava te "
#: src/neochatconnection.cpp:77
#: src/neochatconnection.cpp:75
#, kde-format
msgid ""
"File too large to download.<br />Contact your matrix server administrator "
@@ -1970,18 +1970,18 @@ msgstr ""
"File troppo grande a discargar.<br />Continge tu administrator de servitor "
"de matrix per supporto."
#: src/neochatconnection.cpp:336
#: src/neochatconnection.cpp:329
#, kde-format
msgctxt "@info"
msgid "No identity server configured"
msgstr "Nulle servitor de identitate configurate"
#: src/neochatconnection.cpp:367
#: src/neochatconnection.cpp:360
#, kde-format
msgid "Room creation failed: %1"
msgstr "Creation de sala falleva: \"%1\""
#: src/neochatconnection.cpp:397
#: src/neochatconnection.cpp:390
#, kde-format
msgid "Space creation failed: %1"
msgstr "Creation de spatio falleva: \"%1\""
@@ -5891,65 +5891,65 @@ msgctxt "@title:dialog"
msgid "Select Parameter to Add"
msgstr "Seliger parametro a adder"
#: src/settings/ThreePIdCard.qml:55
#: src/settings/ThreePIdCard.qml:58
#, kde-format
msgctxt "@action:button"
msgid "Hide"
msgstr "Cela"
#: src/settings/ThreePIdCard.qml:61
#: src/settings/ThreePIdCard.qml:64
#, kde-format
msgctxt "@action:button"
msgid "Share"
msgstr "Comparti"
#: src/settings/ThreePIdCard.qml:66
#: src/settings/ThreePIdCard.qml:69
#, kde-format
msgctxt "@action:button"
msgid "Remove"
msgstr "Remove"
#: src/settings/ThreePIdCard.qml:85
#: src/settings/ThreePIdCard.qml:88
#, kde-format
msgctxt "@action:button"
msgid "Complete"
msgstr "Complete"
#: src/settings/ThreePIdCard.qml:90 src/timeline/ChatBarComponent.qml:110
#: src/settings/ThreePIdCard.qml:93 src/timeline/ChatBarComponent.qml:100
#, kde-format
msgctxt "@action:button"
msgid "Cancel"
msgstr "Cancella"
#: src/settings/ThreePIdCard.qml:130
#: src/settings/ThreePIdCard.qml:136
#, kde-format
msgctxt "@label:textbox"
msgid "Country Code for new phone number"
msgstr "Codice de Pais per nove numero de telephono"
#: src/settings/ThreePIdCard.qml:146
#: src/settings/ThreePIdCard.qml:152
#, kde-format
msgctxt "@label:textbox"
msgid "New Email Address:"
msgstr "Nove adresse de e-posta:"
#: src/settings/ThreePIdCard.qml:146
#: src/settings/ThreePIdCard.qml:152
#, kde-format
msgctxt "@label:textbox"
msgid "New Phone Number:"
msgstr "Nove numero de telephono:"
#: src/settings/ThreePIdCard.qml:150 src/threepidbindhelper.cpp:178
#: src/settings/ThreePIdCard.qml:156 src/threepidbindhelper.cpp:179
#, kde-format
msgid "We've sent you an email"
msgstr "Nos te inviava un message de e-posta"
#: src/settings/ThreePIdCard.qml:150 src/threepidbindhelper.cpp:178
#: src/settings/ThreePIdCard.qml:156 src/threepidbindhelper.cpp:179
#, kde-format
msgid "We've sent you a text message"
msgstr " Nos te ha inviate un message de texto"
#: src/settings/ThreePIdCard.qml:150
#: src/settings/ThreePIdCard.qml:156
#, kde-format
msgid ""
"%1. Please follow the instructions there and then click the button below"
@@ -5957,22 +5957,22 @@ msgstr ""
"%1, pro favor tu seque le instructiones illac e postea clicca sur le button "
"a basso"
#: src/settings/ThreePIdCard.qml:152 src/threepidbindhelper.cpp:180
#: src/settings/ThreePIdCard.qml:158 src/threepidbindhelper.cpp:181
#, kde-format
msgid "The entered email is not valid"
msgstr "Le eposta insertate non es valide"
#: src/settings/ThreePIdCard.qml:152 src/threepidbindhelper.cpp:180
#: src/settings/ThreePIdCard.qml:158 src/threepidbindhelper.cpp:181
#, kde-format
msgid "The entered phone number is not valid"
msgstr "Le numero de telephono insertate non es valide"
#: src/settings/ThreePIdCard.qml:154
#: src/settings/ThreePIdCard.qml:160
#, kde-format
msgid "Incorrect password entered"
msgstr "Contrasigno incorrecte insertate"
#: src/settings/ThreePIdCard.qml:156
#: src/settings/ThreePIdCard.qml:162
#, kde-format
msgid ""
"The email has not been verified. Please go to the email and follow the "
@@ -5981,7 +5981,7 @@ msgstr ""
"Le message de e-posta non ha essite verificate. Pro favor vade al message de "
"e-posta e seque le instructiones illac e postea clicca le button a basso"
#: src/settings/ThreePIdCard.qml:156
#: src/settings/ThreePIdCard.qml:162
#, kde-format
msgid ""
"The phone number has not been verified. Please go to the text message and "
@@ -5990,19 +5990,19 @@ msgstr ""
"Le numero de telephono non ha essite verificate. Pro favor vade al message "
"de texto e seque le instructiones illac e postea clicca le button a basso"
#: src/settings/ThreePIdCard.qml:183
#: src/settings/ThreePIdCard.qml:189
#, kde-format
msgctxt "@action:button Add new email or phone number"
msgid "Add"
msgstr "Adde"
#: src/settings/ThreePIdCard.qml:191
#: src/settings/ThreePIdCard.qml:197
#, kde-format
msgctxt "@action:button As in 'go back'"
msgid "Back"
msgstr "Retro"
#: src/threepidbindhelper.cpp:177
#: src/threepidbindhelper.cpp:178
#, kde-format
msgid ""
"%1. Please follow the instructions there and then click the button above"
@@ -6010,7 +6010,7 @@ msgstr ""
"%1, pro favor tu seque le instructiones illac e postea clicca sur le button "
"in alto"
#: src/threepidbindhelper.cpp:183
#: src/threepidbindhelper.cpp:184
#, kde-format
msgid ""
"The email has not been verified. Please go to the email and follow the "
@@ -6019,7 +6019,7 @@ msgstr ""
"Le message de e-posta non ha essite verificate. Pro favor vade al message de "
"e-posta e seque le instructiones illac e postea clicca le button in alto"
#: src/threepidbindhelper.cpp:184
#: src/threepidbindhelper.cpp:185
#, kde-format
msgid ""
"The phone number has not been verified. Please go to the text message and "
@@ -6028,35 +6028,35 @@ msgstr ""
"Le numero de telephono non ha essite verificate. Pro favor vade al message "
"de texto e seque le instructiones illac e postea clicca le button in alto"
#: src/timeline/BaseMessageComponentChooser.qml:249
#: src/timeline/BaseMessageComponentChooser.qml:172
#, kde-format
msgid "%1 started a user verification"
msgstr "%1 initiava un verification de usator"
#: src/timeline/ChatBarComponent.qml:98
#: src/timeline/ChatBarComponent.qml:88
#, kde-format
msgctxt "@action:button"
msgid "Confirm edit"
msgstr "Confirma modificar"
#: src/timeline/ChatBarComponent.qml:98
#: src/timeline/ChatBarComponent.qml:88
#, kde-format
msgctxt "@action:button"
msgid "Post message in thread"
msgstr "Invia (post) Message in topico"
#: src/timeline/CodeComponent.qml:164
#: src/timeline/CodeComponent.qml:159
#, kde-format
msgid "Copy to clipboard"
msgstr "Copia in area de transferentia"
#: src/timeline/CodeComponent.qml:176
#: src/timeline/CodeComponent.qml:171
#, kde-format
msgctxt "@action:button"
msgid "Maximize"
msgstr "Maximiza"
#: src/timeline/EncryptedComponent.qml:21
#: src/timeline/EncryptedComponent.qml:18
#, kde-format
msgid ""
"This message is encrypted and the sender has not shared the key with this "
@@ -6065,20 +6065,20 @@ msgstr ""
"Iste message es cryptate e le mittente non ha compartite le clave con iste "
"dispositivo."
#: src/timeline/FetchButtonComponent.qml:41
#: src/timeline/FetchButtonComponent.qml:36
#, kde-format
msgctxt "@action:button"
msgid "Fetch More Events"
msgstr "TRova plus eventos"
#: src/timeline/FileComponent.qml:104 src/timeline/FileComponent.qml:187
#: src/timeline/FileComponent.qml:94 src/timeline/FileComponent.qml:177
#, kde-format
msgctxt ""
"tooltip for a button on a message; offers ability to download its file"
msgid "Download"
msgstr "Discarga"
#: src/timeline/FileComponent.qml:120 src/timeline/FileComponent.qml:177
#: src/timeline/FileComponent.qml:110 src/timeline/FileComponent.qml:167
#, kde-format
msgctxt ""
"tooltip for a button on a message; offers ability to open its downloaded "
@@ -6086,13 +6086,13 @@ msgctxt ""
msgid "Open File"
msgstr "Aperi file"
#: src/timeline/FileComponent.qml:135
#: src/timeline/FileComponent.qml:125
#, kde-format
msgctxt "file download progress"
msgid "%1 / %2"
msgstr "%1 / %2"
#: src/timeline/FileComponent.qml:140
#: src/timeline/FileComponent.qml:130
#, kde-format
msgctxt ""
"tooltip for a button on a message; stops downloading the message's file"
@@ -6121,60 +6121,60 @@ msgstr "Tempore de Check-in: %1"
msgid "Check-out time: %1"
msgstr "Tempore de Check-Out: %1"
#: src/timeline/ImageComponent.qml:140
#: src/timeline/ImageComponent.qml:120
#, kde-format
msgctxt "@action:button"
msgid "Show Image"
msgstr "Monstra imagine"
#: src/timeline/ItineraryComponent.qml:57
#: src/timeline/ItineraryComponent.qml:54
#, kde-format
msgctxt "@action"
msgid "Send to KDE Itinerary"
msgstr "Invia a KDE Itinerary"
#: src/timeline/LinkPreviewComponent.qml:136
#: src/timeline/LinkPreviewLoadComponent.qml:79
#: src/timeline/LinkPreviewComponent.qml:131
#: src/timeline/LinkPreviewLoadComponent.qml:76
#, kde-format
msgctxt "As in remove the link preview so it's no longer shown"
msgid "Remove preview"
msgstr "Remove vista preliminar"
#: src/timeline/LinkPreviewComponent.qml:154
#: src/timeline/LinkPreviewComponent.qml:149
#, kde-format
msgid "Shrink preview"
msgstr "Comprime vista preliminar"
#: src/timeline/LinkPreviewComponent.qml:154
#: src/timeline/LinkPreviewComponent.qml:149
#, kde-format
msgid "Expand preview"
msgstr "Expande Vista Preliminar"
#: src/timeline/LinkPreviewLoadComponent.qml:68
#: src/timeline/LinkPreviewLoadComponent.qml:65
#, kde-format
msgid "Loading URL preview"
msgstr "Cargante vista preliminar de URL"
#: src/timeline/LocationComponent.qml:116
#: src/timeline/LocationComponent.qml:111
#, kde-format
msgctxt "@action:button Open the location in an external program"
msgid "Open Externally"
msgstr "Aperi externemente"
#: src/timeline/PollComponent.qml:80
#: src/timeline/PollComponent.qml:70
#, kde-format
msgid "Based on votes by %1 user"
msgid_plural "Based on votes by %1 users"
msgstr[0] "Basate sur votos per %1 usator"
msgstr[1] "Basate sur votos per %1 usatores"
#: src/timeline/PollComponent.qml:80
#: src/timeline/PollComponent.qml:70
#, kde-format
msgctxt "as in 'this vote has ended'"
msgid "(Ended)"
msgstr "(teminate (ended))"
#: src/timeline/ReactionComponent.qml:97
#: src/timeline/ReactionComponent.qml:89
#, kde-format
msgctxt "@button"
msgid "React"
@@ -6186,7 +6186,7 @@ msgctxt "Relative time since the room was last read"
msgid "Last read: %1"
msgstr "Ultime legite: %1"
#: src/timeline/ReplyButtonComponent.qml:44
#: src/timeline/ReplyButtonComponent.qml:34
#, kde-format
msgctxt "@action:button"
msgid "Reply"
@@ -6207,24 +6207,24 @@ msgstr ""
msgid "Pl. %1"
msgstr "Pl. %1"
#: src/timeline/VideoComponent.qml:217
#: src/timeline/VideoComponent.qml:197
#, kde-format
msgid "Video"
msgstr "Video"
#: src/timeline/VideoComponent.qml:257
#: src/timeline/VideoComponent.qml:237
#, kde-format
msgctxt "@action:button"
msgid "Show Video"
msgstr "Monstra Video"
#: src/timeline/VideoComponent.qml:298
#: src/timeline/VideoComponent.qml:278
#, kde-format
msgctxt "@action:button"
msgid "Volume"
msgstr "Volumine"
#: src/timeline/VideoComponent.qml:382
#: src/timeline/VideoComponent.qml:362
#, kde-format
msgid "Maximize"
msgstr "Maximiza"

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: 2025-03-07 00:42+0000\n"
"POT-Creation-Date: 2025-03-11 00:41+0000\n"
"PO-Revision-Date: 2023-06-16 19:31+0700\n"
"Last-Translator: Linerly <linerly@protonmail.com>\n"
"Language-Team: Indonesian <kde-i18n-doc@kde.org>\n"
@@ -1126,7 +1126,7 @@ msgstr ""
#: src/login/Homeserver.qml:41 src/login/Username.qml:38
#: src/models/messagecontentmodel.cpp:262
#: src/models/messagecontentmodel.cpp:290 src/timeline/LoadComponent.qml:33
#: src/models/messagecontentmodel.cpp:290 src/timeline/LoadComponent.qml:30
#, fuzzy, kde-format
#| msgid "Loading…"
msgid "Loading"
@@ -1159,7 +1159,7 @@ msgid "Loading…"
msgstr "Memuat..."
#: src/login/Login.qml:38 src/login/WelcomePage.qml:250
#: src/settings/ThreePIdCard.qml:183
#: src/settings/ThreePIdCard.qml:189
#, kde-format
msgctxt "@action:button"
msgid "Continue"
@@ -1813,7 +1813,7 @@ msgstr "Emoji Sendiri"
#: src/models/messagecontentmodel.cpp:260
#: src/models/messagecontentmodel.cpp:288
#: src/timeline/LinkPreviewLoadComponent.qml:66
#: src/timeline/LinkPreviewLoadComponent.qml:63
#, fuzzy, kde-format
#| msgid "Loading…"
msgid "Loading reply"
@@ -2146,7 +2146,7 @@ msgctxt "@info:label"
msgid "%1 invited you"
msgstr "%1 mengundang Anda ke sebuah ruangan"
#: src/neochatconnection.cpp:77
#: src/neochatconnection.cpp:75
#, fuzzy, kde-format
#| msgid "Contact your matrix server administrator for support."
msgid ""
@@ -2154,18 +2154,18 @@ msgid ""
"for support."
msgstr "Hubungi administrator server Matrix Anda untuk dukungan."
#: src/neochatconnection.cpp:336
#: src/neochatconnection.cpp:329
#, kde-format
msgctxt "@info"
msgid "No identity server configured"
msgstr ""
#: src/neochatconnection.cpp:367
#: src/neochatconnection.cpp:360
#, kde-format
msgid "Room creation failed: %1"
msgstr "Pembuatan ruangan gagal: %1"
#: src/neochatconnection.cpp:397
#: src/neochatconnection.cpp:390
#, kde-format
msgid "Space creation failed: %1"
msgstr "Pembuatan space gagal: %1"
@@ -6339,117 +6339,117 @@ msgctxt "@title:dialog"
msgid "Select Parameter to Add"
msgstr ""
#: src/settings/ThreePIdCard.qml:55
#: src/settings/ThreePIdCard.qml:58
#, kde-format
msgctxt "@action:button"
msgid "Hide"
msgstr ""
#: src/settings/ThreePIdCard.qml:61
#: src/settings/ThreePIdCard.qml:64
#, fuzzy, kde-format
#| msgid "Share"
msgctxt "@action:button"
msgid "Share"
msgstr "Bagikan"
#: src/settings/ThreePIdCard.qml:66
#: src/settings/ThreePIdCard.qml:69
#, fuzzy, kde-format
#| msgid "Remove"
msgctxt "@action:button"
msgid "Remove"
msgstr "Hapus"
#: src/settings/ThreePIdCard.qml:85
#: src/settings/ThreePIdCard.qml:88
#, fuzzy, kde-format
#| msgid "Compact"
msgctxt "@action:button"
msgid "Complete"
msgstr "Kompak"
#: src/settings/ThreePIdCard.qml:90 src/timeline/ChatBarComponent.qml:110
#: src/settings/ThreePIdCard.qml:93 src/timeline/ChatBarComponent.qml:100
#, fuzzy, kde-format
#| msgid "Cancel"
msgctxt "@action:button"
msgid "Cancel"
msgstr "Batal"
#: src/settings/ThreePIdCard.qml:130
#: src/settings/ThreePIdCard.qml:136
#, kde-format
msgctxt "@label:textbox"
msgid "Country Code for new phone number"
msgstr ""
#: src/settings/ThreePIdCard.qml:146
#: src/settings/ThreePIdCard.qml:152
#, fuzzy, kde-format
#| msgid "Confirm new display name"
msgctxt "@label:textbox"
msgid "New Email Address:"
msgstr "Konfirmasi nama tampilan baru"
#: src/settings/ThreePIdCard.qml:146
#: src/settings/ThreePIdCard.qml:152
#, fuzzy, kde-format
#| msgid "Members"
msgctxt "@label:textbox"
msgid "New Phone Number:"
msgstr "Anggota"
#: src/settings/ThreePIdCard.qml:150 src/threepidbindhelper.cpp:178
#: src/settings/ThreePIdCard.qml:156 src/threepidbindhelper.cpp:179
#, kde-format
msgid "We've sent you an email"
msgstr ""
#: src/settings/ThreePIdCard.qml:150 src/threepidbindhelper.cpp:178
#: src/settings/ThreePIdCard.qml:156 src/threepidbindhelper.cpp:179
#, fuzzy, kde-format
#| msgid "sent a message"
msgid "We've sent you a text message"
msgstr "mengirim pesan"
#: src/settings/ThreePIdCard.qml:150
#: src/settings/ThreePIdCard.qml:156
#, kde-format
msgid ""
"%1. Please follow the instructions there and then click the button below"
msgstr ""
#: src/settings/ThreePIdCard.qml:152 src/threepidbindhelper.cpp:180
#: src/settings/ThreePIdCard.qml:158 src/threepidbindhelper.cpp:181
#, fuzzy, kde-format
#| msgid "The entered text is not a valid url"
msgid "The entered email is not valid"
msgstr "Teks yang dimasukkan bukan sebuah URL yang valid"
#: src/settings/ThreePIdCard.qml:152 src/threepidbindhelper.cpp:180
#: src/settings/ThreePIdCard.qml:158 src/threepidbindhelper.cpp:181
#, fuzzy, kde-format
#| msgid "The entered text is not a valid url"
msgid "The entered phone number is not valid"
msgstr "Teks yang dimasukkan bukan sebuah URL yang valid"
#: src/settings/ThreePIdCard.qml:154
#: src/settings/ThreePIdCard.qml:160
#, fuzzy, kde-format
#| msgid "Wrong password entered"
msgid "Incorrect password entered"
msgstr "Kata sandi salah"
#: src/settings/ThreePIdCard.qml:156
#: src/settings/ThreePIdCard.qml:162
#, kde-format
msgid ""
"The email has not been verified. Please go to the email and follow the "
"instructions there and then click the button below"
msgstr ""
#: src/settings/ThreePIdCard.qml:156
#: src/settings/ThreePIdCard.qml:162
#, kde-format
msgid ""
"The phone number has not been verified. Please go to the text message and "
"follow the instructions there and then click the button below"
msgstr ""
#: src/settings/ThreePIdCard.qml:183
#: src/settings/ThreePIdCard.qml:189
#, fuzzy, kde-format
#| msgid "Add"
msgctxt "@action:button Add new email or phone number"
msgid "Add"
msgstr "Tambahkan"
#: src/settings/ThreePIdCard.qml:191
#: src/settings/ThreePIdCard.qml:197
#, fuzzy, kde-format
#| msgctxt "@action:button"
#| msgid "Back"
@@ -6457,59 +6457,59 @@ msgctxt "@action:button As in 'go back'"
msgid "Back"
msgstr "Kembali"
#: src/threepidbindhelper.cpp:177
#: src/threepidbindhelper.cpp:178
#, kde-format
msgid ""
"%1. Please follow the instructions there and then click the button above"
msgstr ""
#: src/threepidbindhelper.cpp:183
#: src/threepidbindhelper.cpp:184
#, kde-format
msgid ""
"The email has not been verified. Please go to the email and follow the "
"instructions there and then click the button above"
msgstr ""
#: src/threepidbindhelper.cpp:184
#: src/threepidbindhelper.cpp:185
#, kde-format
msgid ""
"The phone number has not been verified. Please go to the text message and "
"follow the instructions there and then click the button above"
msgstr ""
#: src/timeline/BaseMessageComponentChooser.qml:249
#: src/timeline/BaseMessageComponentChooser.qml:172
#, fuzzy, kde-format
#| msgid "withdrew a user's invitation"
msgid "%1 started a user verification"
msgstr "membatalkan undangan pengguna"
#: src/timeline/ChatBarComponent.qml:98
#: src/timeline/ChatBarComponent.qml:88
#, kde-format
msgctxt "@action:button"
msgid "Confirm edit"
msgstr "Konfirmasi penyuntingan"
#: src/timeline/ChatBarComponent.qml:98
#: src/timeline/ChatBarComponent.qml:88
#, fuzzy, kde-format
#| msgid "No results found"
msgctxt "@action:button"
msgid "Post message in thread"
msgstr "Tidak ada hasil yang ditemukan"
#: src/timeline/CodeComponent.qml:164
#: src/timeline/CodeComponent.qml:159
#, fuzzy, kde-format
#| msgid "Copy room ID to clipboard"
msgid "Copy to clipboard"
msgstr "Salin ID ruangan ke papan klip"
#: src/timeline/CodeComponent.qml:176
#: src/timeline/CodeComponent.qml:171
#, fuzzy, kde-format
#| msgid "Maximize"
msgctxt "@action:button"
msgid "Maximize"
msgstr "Maksimalkan"
#: src/timeline/EncryptedComponent.qml:21
#: src/timeline/EncryptedComponent.qml:18
#, kde-format
msgid ""
"This message is encrypted and the sender has not shared the key with this "
@@ -6517,20 +6517,20 @@ msgid ""
msgstr ""
"Pesan ini terenkripsi dan pengirim belum membagikan kuncinya ke peranti ini."
#: src/timeline/FetchButtonComponent.qml:41
#: src/timeline/FetchButtonComponent.qml:36
#, kde-format
msgctxt "@action:button"
msgid "Fetch More Events"
msgstr ""
#: src/timeline/FileComponent.qml:104 src/timeline/FileComponent.qml:187
#: src/timeline/FileComponent.qml:94 src/timeline/FileComponent.qml:177
#, kde-format
msgctxt ""
"tooltip for a button on a message; offers ability to download its file"
msgid "Download"
msgstr "Unduh"
#: src/timeline/FileComponent.qml:120 src/timeline/FileComponent.qml:177
#: src/timeline/FileComponent.qml:110 src/timeline/FileComponent.qml:167
#, kde-format
msgctxt ""
"tooltip for a button on a message; offers ability to open its downloaded "
@@ -6538,13 +6538,13 @@ msgctxt ""
msgid "Open File"
msgstr "Buka Berkas"
#: src/timeline/FileComponent.qml:135
#: src/timeline/FileComponent.qml:125
#, kde-format
msgctxt "file download progress"
msgid "%1 / %2"
msgstr "%1 / %2"
#: src/timeline/FileComponent.qml:140
#: src/timeline/FileComponent.qml:130
#, kde-format
msgctxt ""
"tooltip for a button on a message; stops downloading the message's file"
@@ -6573,63 +6573,63 @@ msgstr ""
msgid "Check-out time: %1"
msgstr ""
#: src/timeline/ImageComponent.qml:140
#: src/timeline/ImageComponent.qml:120
#, fuzzy, kde-format
#| msgid "Set Image"
msgctxt "@action:button"
msgid "Show Image"
msgstr "Tetapkan Gambar"
#: src/timeline/ItineraryComponent.qml:57
#: src/timeline/ItineraryComponent.qml:54
#, kde-format
msgctxt "@action"
msgid "Send to KDE Itinerary"
msgstr ""
#: src/timeline/LinkPreviewComponent.qml:136
#: src/timeline/LinkPreviewLoadComponent.qml:79
#: src/timeline/LinkPreviewComponent.qml:131
#: src/timeline/LinkPreviewLoadComponent.qml:76
#, fuzzy, kde-format
#| msgid "Remove device"
msgctxt "As in remove the link preview so it's no longer shown"
msgid "Remove preview"
msgstr "Hapus peranti"
#: src/timeline/LinkPreviewComponent.qml:154
#: src/timeline/LinkPreviewComponent.qml:149
#, kde-format
msgid "Shrink preview"
msgstr "Kecilkan pratinjau"
#: src/timeline/LinkPreviewComponent.qml:154
#: src/timeline/LinkPreviewComponent.qml:149
#, kde-format
msgid "Expand preview"
msgstr "Luaskan pratinjau"
#: src/timeline/LinkPreviewLoadComponent.qml:68
#: src/timeline/LinkPreviewLoadComponent.qml:65
#, kde-format
msgid "Loading URL preview"
msgstr "Memuat pratinjau URL"
#: src/timeline/LocationComponent.qml:116
#: src/timeline/LocationComponent.qml:111
#, fuzzy, kde-format
#| msgid "Open Externally"
msgctxt "@action:button Open the location in an external program"
msgid "Open Externally"
msgstr "Buka secara Eksternal"
#: src/timeline/PollComponent.qml:80
#: src/timeline/PollComponent.qml:70
#, kde-format
msgid "Based on votes by %1 user"
msgid_plural "Based on votes by %1 users"
msgstr[0] "Berdasarkan pemungutan suara dari %1 pengguna"
msgstr[1] "Berdasarkan pemungutan suara dari %1 pengguna"
#: src/timeline/PollComponent.qml:80
#: src/timeline/PollComponent.qml:70
#, kde-format
msgctxt "as in 'this vote has ended'"
msgid "(Ended)"
msgstr "(Berakhir)"
#: src/timeline/ReactionComponent.qml:97
#: src/timeline/ReactionComponent.qml:89
#, fuzzy, kde-format
#| msgid "React"
msgctxt "@button"
@@ -6642,7 +6642,7 @@ msgctxt "Relative time since the room was last read"
msgid "Last read: %1"
msgstr "Terakhir dibaca: %1"
#: src/timeline/ReplyButtonComponent.qml:44
#: src/timeline/ReplyButtonComponent.qml:34
#, fuzzy, kde-format
#| msgid "Reply"
msgctxt "@action:button"
@@ -6662,25 +6662,25 @@ msgstr ""
msgid "Pl. %1"
msgstr ""
#: src/timeline/VideoComponent.qml:217
#: src/timeline/VideoComponent.qml:197
#, kde-format
msgid "Video"
msgstr "Video"
#: src/timeline/VideoComponent.qml:257
#: src/timeline/VideoComponent.qml:237
#, fuzzy, kde-format
#| msgid "Video"
msgctxt "@action:button"
msgid "Show Video"
msgstr "Video"
#: src/timeline/VideoComponent.qml:298
#: src/timeline/VideoComponent.qml:278
#, kde-format
msgctxt "@action:button"
msgid "Volume"
msgstr "Volume"
#: src/timeline/VideoComponent.qml:382
#: src/timeline/VideoComponent.qml:362
#, kde-format
msgid "Maximize"
msgstr "Maksimalkan"

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: 2025-03-07 00:42+0000\n"
"POT-Creation-Date: 2025-03-11 00:41+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"
@@ -1084,7 +1084,7 @@ msgstr ""
#: src/login/Homeserver.qml:41 src/login/Username.qml:38
#: src/models/messagecontentmodel.cpp:262
#: src/models/messagecontentmodel.cpp:290 src/timeline/LoadComponent.qml:33
#: src/models/messagecontentmodel.cpp:290 src/timeline/LoadComponent.qml:30
#, fuzzy, kde-format
#| msgid "Loading…"
msgid "Loading"
@@ -1116,7 +1116,7 @@ msgid "Loading…"
msgstr "Cargante..."
#: src/login/Login.qml:38 src/login/WelcomePage.qml:250
#: src/settings/ThreePIdCard.qml:183
#: src/settings/ThreePIdCard.qml:189
#, kde-format
msgctxt "@action:button"
msgid "Continue"
@@ -1797,7 +1797,7 @@ msgstr "Converter smileys a emojis"
#: src/models/messagecontentmodel.cpp:260
#: src/models/messagecontentmodel.cpp:288
#: src/timeline/LinkPreviewLoadComponent.qml:66
#: src/timeline/LinkPreviewLoadComponent.qml:63
#, fuzzy, kde-format
#| msgid "Loading…"
msgid "Loading reply"
@@ -2090,25 +2090,25 @@ msgctxt "@info:label"
msgid "%1 invited you"
msgstr "%s invitat vos a(l) %s"
#: src/neochatconnection.cpp:77
#: src/neochatconnection.cpp:75
#, kde-format
msgid ""
"File too large to download.<br />Contact your matrix server administrator "
"for support."
msgstr ""
#: src/neochatconnection.cpp:336
#: src/neochatconnection.cpp:329
#, kde-format
msgctxt "@info"
msgid "No identity server configured"
msgstr ""
#: src/neochatconnection.cpp:367
#: src/neochatconnection.cpp:360
#, fuzzy, kde-format
msgid "Room creation failed: %1"
msgstr "Ne successat crear un contextu OpenGL"
#: src/neochatconnection.cpp:397
#: src/neochatconnection.cpp:390
#, fuzzy, kde-format
msgid "Space creation failed: %1"
msgstr "Ne successat crear un contextu OpenGL"
@@ -6178,112 +6178,112 @@ msgctxt "@title:dialog"
msgid "Select Parameter to Add"
msgstr ""
#: src/settings/ThreePIdCard.qml:55
#: src/settings/ThreePIdCard.qml:58
#, kde-format
msgctxt "@action:button"
msgid "Hide"
msgstr ""
#: src/settings/ThreePIdCard.qml:61
#: src/settings/ThreePIdCard.qml:64
#, fuzzy, kde-format
#| msgid "Share"
msgctxt "@action:button"
msgid "Share"
msgstr "Partir"
#: src/settings/ThreePIdCard.qml:66
#: src/settings/ThreePIdCard.qml:69
#, fuzzy, kde-format
#| msgid "Remove"
msgctxt "@action:button"
msgid "Remove"
msgstr "Remover"
#: src/settings/ThreePIdCard.qml:85
#: src/settings/ThreePIdCard.qml:88
#, fuzzy, kde-format
#| msgid "Compact"
msgctxt "@action:button"
msgid "Complete"
msgstr "Compact"
#: src/settings/ThreePIdCard.qml:90 src/timeline/ChatBarComponent.qml:110
#: src/settings/ThreePIdCard.qml:93 src/timeline/ChatBarComponent.qml:100
#, fuzzy, kde-format
#| msgid "Cancel"
msgctxt "@action:button"
msgid "Cancel"
msgstr "Anullar"
#: src/settings/ThreePIdCard.qml:130
#: src/settings/ThreePIdCard.qml:136
#, kde-format
msgctxt "@label:textbox"
msgid "Country Code for new phone number"
msgstr ""
#: src/settings/ThreePIdCard.qml:146
#: src/settings/ThreePIdCard.qml:152
#, fuzzy, kde-format
msgctxt "@label:textbox"
msgid "New Email Address:"
msgstr "Visibil nómine"
#: src/settings/ThreePIdCard.qml:146
#: src/settings/ThreePIdCard.qml:152
#, fuzzy, kde-format
#| msgid "Members"
msgctxt "@label:textbox"
msgid "New Phone Number:"
msgstr "Membres"
#: src/settings/ThreePIdCard.qml:150 src/threepidbindhelper.cpp:178
#: src/settings/ThreePIdCard.qml:156 src/threepidbindhelper.cpp:179
#, kde-format
msgid "We've sent you an email"
msgstr ""
#: src/settings/ThreePIdCard.qml:150 src/threepidbindhelper.cpp:178
#: src/settings/ThreePIdCard.qml:156 src/threepidbindhelper.cpp:179
#, fuzzy, kde-format
msgid "We've sent you a text message"
msgstr "Ne successat inviar un missage D-Bus"
#: src/settings/ThreePIdCard.qml:150
#: src/settings/ThreePIdCard.qml:156
#, kde-format
msgid ""
"%1. Please follow the instructions there and then click the button below"
msgstr ""
#: src/settings/ThreePIdCard.qml:152 src/threepidbindhelper.cpp:180
#: src/settings/ThreePIdCard.qml:158 src/threepidbindhelper.cpp:181
#, kde-format
msgid "The entered email is not valid"
msgstr ""
#: src/settings/ThreePIdCard.qml:152 src/threepidbindhelper.cpp:180
#: src/settings/ThreePIdCard.qml:158 src/threepidbindhelper.cpp:181
#, kde-format
msgid "The entered phone number is not valid"
msgstr ""
#: src/settings/ThreePIdCard.qml:154
#: src/settings/ThreePIdCard.qml:160
#, fuzzy, kde-format
msgid "Incorrect password entered"
msgstr "Contrasigne es ínvalid."
#: src/settings/ThreePIdCard.qml:156
#: src/settings/ThreePIdCard.qml:162
#, kde-format
msgid ""
"The email has not been verified. Please go to the email and follow the "
"instructions there and then click the button below"
msgstr ""
#: src/settings/ThreePIdCard.qml:156
#: src/settings/ThreePIdCard.qml:162
#, kde-format
msgid ""
"The phone number has not been verified. Please go to the text message and "
"follow the instructions there and then click the button below"
msgstr ""
#: src/settings/ThreePIdCard.qml:183
#: src/settings/ThreePIdCard.qml:189
#, fuzzy, kde-format
#| msgid "Add"
msgctxt "@action:button Add new email or phone number"
msgid "Add"
msgstr "Adjunter"
#: src/settings/ThreePIdCard.qml:191
#: src/settings/ThreePIdCard.qml:197
#, fuzzy, kde-format
#| msgctxt "@action:button"
#| msgid "Back"
@@ -6291,79 +6291,79 @@ msgctxt "@action:button As in 'go back'"
msgid "Back"
msgstr "Retro"
#: src/threepidbindhelper.cpp:177
#: src/threepidbindhelper.cpp:178
#, kde-format
msgid ""
"%1. Please follow the instructions there and then click the button above"
msgstr ""
#: src/threepidbindhelper.cpp:183
#: src/threepidbindhelper.cpp:184
#, kde-format
msgid ""
"The email has not been verified. Please go to the email and follow the "
"instructions there and then click the button above"
msgstr ""
#: src/threepidbindhelper.cpp:184
#: src/threepidbindhelper.cpp:185
#, kde-format
msgid ""
"The phone number has not been verified. Please go to the text message and "
"follow the instructions there and then click the button above"
msgstr ""
#: src/timeline/BaseMessageComponentChooser.qml:249
#: src/timeline/BaseMessageComponentChooser.qml:172
#, fuzzy, kde-format
#| msgid "withdrew %1's invitation"
msgid "%1 started a user verification"
msgstr "revocat li invitation de %1"
#: src/timeline/ChatBarComponent.qml:98
#: src/timeline/ChatBarComponent.qml:88
#, fuzzy, kde-format
#| msgid "Confirm"
msgctxt "@action:button"
msgid "Confirm edit"
msgstr "Confirmar"
#: src/timeline/ChatBarComponent.qml:98
#: src/timeline/ChatBarComponent.qml:88
#, fuzzy, kde-format
msgctxt "@action:button"
msgid "Post message in thread"
msgstr "Chambres"
#: src/timeline/CodeComponent.qml:164
#: src/timeline/CodeComponent.qml:159
#, fuzzy, kde-format
#| msgctxt "@action:inmenu"
#| msgid "Copy Address to Clipboard"
msgid "Copy to clipboard"
msgstr "Copiar li adresse al Paperiere"
#: src/timeline/CodeComponent.qml:176
#: src/timeline/CodeComponent.qml:171
#, kde-format
msgctxt "@action:button"
msgid "Maximize"
msgstr ""
#: src/timeline/EncryptedComponent.qml:21
#: src/timeline/EncryptedComponent.qml:18
#, kde-format
msgid ""
"This message is encrypted and the sender has not shared the key with this "
"device."
msgstr ""
#: src/timeline/FetchButtonComponent.qml:41
#: src/timeline/FetchButtonComponent.qml:36
#, kde-format
msgctxt "@action:button"
msgid "Fetch More Events"
msgstr ""
#: src/timeline/FileComponent.qml:104 src/timeline/FileComponent.qml:187
#: src/timeline/FileComponent.qml:94 src/timeline/FileComponent.qml:177
#, kde-format
msgctxt ""
"tooltip for a button on a message; offers ability to download its file"
msgid "Download"
msgstr "Descargar"
#: src/timeline/FileComponent.qml:120 src/timeline/FileComponent.qml:177
#: src/timeline/FileComponent.qml:110 src/timeline/FileComponent.qml:167
#, kde-format
msgctxt ""
"tooltip for a button on a message; offers ability to open its downloaded "
@@ -6371,13 +6371,13 @@ msgctxt ""
msgid "Open File"
msgstr "Aperter li file"
#: src/timeline/FileComponent.qml:135
#: src/timeline/FileComponent.qml:125
#, kde-format
msgctxt "file download progress"
msgid "%1 / %2"
msgstr "%1 / %2"
#: src/timeline/FileComponent.qml:140
#: src/timeline/FileComponent.qml:130
#, fuzzy, kde-format
msgctxt ""
"tooltip for a button on a message; stops downloading the message's file"
@@ -6406,61 +6406,61 @@ msgstr ""
msgid "Check-out time: %1"
msgstr ""
#: src/timeline/ImageComponent.qml:140
#: src/timeline/ImageComponent.qml:120
#, fuzzy, kde-format
msgctxt "@action:button"
msgid "Show Image"
msgstr "Nómine del chambre"
#: src/timeline/ItineraryComponent.qml:57
#: src/timeline/ItineraryComponent.qml:54
#, kde-format
msgctxt "@action"
msgid "Send to KDE Itinerary"
msgstr ""
#: src/timeline/LinkPreviewComponent.qml:136
#: src/timeline/LinkPreviewLoadComponent.qml:79
#: src/timeline/LinkPreviewComponent.qml:131
#: src/timeline/LinkPreviewLoadComponent.qml:76
#, fuzzy, kde-format
#| msgid "Remove device"
msgctxt "As in remove the link preview so it's no longer shown"
msgid "Remove preview"
msgstr "Remover li aparate"
#: src/timeline/LinkPreviewComponent.qml:154
#: src/timeline/LinkPreviewComponent.qml:149
#, kde-format
msgid "Shrink preview"
msgstr ""
#: src/timeline/LinkPreviewComponent.qml:154
#: src/timeline/LinkPreviewComponent.qml:149
#, kde-format
msgid "Expand preview"
msgstr ""
#: src/timeline/LinkPreviewLoadComponent.qml:68
#: src/timeline/LinkPreviewLoadComponent.qml:65
#, kde-format
msgid "Loading URL preview"
msgstr ""
#: src/timeline/LocationComponent.qml:116
#: src/timeline/LocationComponent.qml:111
#, fuzzy, kde-format
msgctxt "@action:button Open the location in an external program"
msgid "Open Externally"
msgstr "Aperter _externmen"
#: src/timeline/PollComponent.qml:80
#: src/timeline/PollComponent.qml:70
#, kde-format
msgid "Based on votes by %1 user"
msgid_plural "Based on votes by %1 users"
msgstr[0] ""
msgstr[1] ""
#: src/timeline/PollComponent.qml:80
#: src/timeline/PollComponent.qml:70
#, kde-format
msgctxt "as in 'this vote has ended'"
msgid "(Ended)"
msgstr ""
#: src/timeline/ReactionComponent.qml:97
#: src/timeline/ReactionComponent.qml:89
#, fuzzy, kde-format
#| msgid "React"
msgctxt "@button"
@@ -6473,7 +6473,7 @@ msgctxt "Relative time since the room was last read"
msgid "Last read: %1"
msgstr "Leet ultimmen: %1"
#: src/timeline/ReplyButtonComponent.qml:44
#: src/timeline/ReplyButtonComponent.qml:34
#, fuzzy, kde-format
#| msgid "Reply"
msgctxt "@action:button"
@@ -6493,25 +6493,25 @@ msgstr ""
msgid "Pl. %1"
msgstr ""
#: src/timeline/VideoComponent.qml:217
#: src/timeline/VideoComponent.qml:197
#, kde-format
msgid "Video"
msgstr "Video"
#: src/timeline/VideoComponent.qml:257
#: src/timeline/VideoComponent.qml:237
#, fuzzy, kde-format
#| msgid "Video"
msgctxt "@action:button"
msgid "Show Video"
msgstr "Video"
#: src/timeline/VideoComponent.qml:298
#: src/timeline/VideoComponent.qml:278
#, kde-format
msgctxt "@action:button"
msgid "Volume"
msgstr ""
#: src/timeline/VideoComponent.qml:382
#: src/timeline/VideoComponent.qml:362
#, kde-format
msgid "Maximize"
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: 2025-03-07 00:42+0000\n"
"POT-Creation-Date: 2025-03-11 00:41+0000\n"
"PO-Revision-Date: 2025-03-06 16:43+0100\n"
"Last-Translator: Vincenzo Reale <smart2128vr@gmail.com>\n"
"Language-Team: Italian <kde-i18n-it@kde.org>\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 24.12.3\n"
"X-Generator: Lokalize 24.12.2\n"
#: src/chatbar/AttachDialog.qml:29
#, kde-format
@@ -1042,7 +1042,7 @@ msgstr "La registrazione è disabilitata su questo server."
#: src/login/Homeserver.qml:41 src/login/Username.qml:38
#: src/models/messagecontentmodel.cpp:262
#: src/models/messagecontentmodel.cpp:290 src/timeline/LoadComponent.qml:33
#: src/models/messagecontentmodel.cpp:290 src/timeline/LoadComponent.qml:30
#, kde-format
msgid "Loading"
msgstr "Caricamento"
@@ -1074,7 +1074,7 @@ msgid "Loading…"
msgstr "Caricamento…"
#: src/login/Login.qml:38 src/login/WelcomePage.qml:250
#: src/settings/ThreePIdCard.qml:183
#: src/settings/ThreePIdCard.qml:189
#, kde-format
msgctxt "@action:button"
msgid "Continue"
@@ -1708,7 +1708,7 @@ msgstr "I propri emoji"
#: src/models/messagecontentmodel.cpp:260
#: src/models/messagecontentmodel.cpp:288
#: src/timeline/LinkPreviewLoadComponent.qml:66
#: src/timeline/LinkPreviewLoadComponent.qml:63
#, kde-format
msgid "Loading reply"
msgstr "Caricamento risposta"
@@ -1968,7 +1968,7 @@ msgctxt "@info:label"
msgid "%1 invited you"
msgstr "%1 ti ha invitato"
#: src/neochatconnection.cpp:77
#: src/neochatconnection.cpp:75
#, kde-format
msgid ""
"File too large to download.<br />Contact your matrix server administrator "
@@ -1977,18 +1977,18 @@ msgstr ""
"File troppo grande per essere scaricato.<br />Contatta l'amministratore del "
"server Matrix per assistenza."
#: src/neochatconnection.cpp:336
#: src/neochatconnection.cpp:329
#, kde-format
msgctxt "@info"
msgid "No identity server configured"
msgstr "Nessun server delle identità configurato"
#: src/neochatconnection.cpp:367
#: src/neochatconnection.cpp:360
#, kde-format
msgid "Room creation failed: %1"
msgstr "Creazione della stanza non riuscita: %1"
#: src/neochatconnection.cpp:397
#: src/neochatconnection.cpp:390
#, kde-format
msgid "Space creation failed: %1"
msgstr "Creazione dello spazio non riuscita: %1"
@@ -5914,86 +5914,86 @@ msgctxt "@title:dialog"
msgid "Select Parameter to Add"
msgstr "Seleziona il parametro da aggiungere"
#: src/settings/ThreePIdCard.qml:55
#: src/settings/ThreePIdCard.qml:58
#, kde-format
msgctxt "@action:button"
msgid "Hide"
msgstr "Nascondi"
#: src/settings/ThreePIdCard.qml:61
#: src/settings/ThreePIdCard.qml:64
#, kde-format
msgctxt "@action:button"
msgid "Share"
msgstr "Condividi"
#: src/settings/ThreePIdCard.qml:66
#: src/settings/ThreePIdCard.qml:69
#, kde-format
msgctxt "@action:button"
msgid "Remove"
msgstr "Rimuovi"
#: src/settings/ThreePIdCard.qml:85
#: src/settings/ThreePIdCard.qml:88
#, kde-format
msgctxt "@action:button"
msgid "Complete"
msgstr "Completata"
#: src/settings/ThreePIdCard.qml:90 src/timeline/ChatBarComponent.qml:110
#: src/settings/ThreePIdCard.qml:93 src/timeline/ChatBarComponent.qml:100
#, kde-format
msgctxt "@action:button"
msgid "Cancel"
msgstr "Annulla"
#: src/settings/ThreePIdCard.qml:130
#: src/settings/ThreePIdCard.qml:136
#, kde-format
msgctxt "@label:textbox"
msgid "Country Code for new phone number"
msgstr "Prefisso internazionale per il nuovo numero di telefono"
#: src/settings/ThreePIdCard.qml:146
#: src/settings/ThreePIdCard.qml:152
#, kde-format
msgctxt "@label:textbox"
msgid "New Email Address:"
msgstr "Nuovo indirizzo di posta:"
#: src/settings/ThreePIdCard.qml:146
#: src/settings/ThreePIdCard.qml:152
#, kde-format
msgctxt "@label:textbox"
msgid "New Phone Number:"
msgstr "Nuovo numero di telefono:"
#: src/settings/ThreePIdCard.qml:150 src/threepidbindhelper.cpp:178
#: src/settings/ThreePIdCard.qml:156 src/threepidbindhelper.cpp:179
#, kde-format
msgid "We've sent you an email"
msgstr "Ti abbiamo inviato un messaggio di posta elettronica"
#: src/settings/ThreePIdCard.qml:150 src/threepidbindhelper.cpp:178
#: src/settings/ThreePIdCard.qml:156 src/threepidbindhelper.cpp:179
#, kde-format
msgid "We've sent you a text message"
msgstr "Ti abbiamo inviato un messaggio di testo"
#: src/settings/ThreePIdCard.qml:150
#: src/settings/ThreePIdCard.qml:156
#, kde-format
msgid ""
"%1. Please follow the instructions there and then click the button below"
msgstr "%1. Segui le istruzioni presenti e poi fai clic sul pulsante qui sotto"
#: src/settings/ThreePIdCard.qml:152 src/threepidbindhelper.cpp:180
#: src/settings/ThreePIdCard.qml:158 src/threepidbindhelper.cpp:181
#, kde-format
msgid "The entered email is not valid"
msgstr "L'indirizzo di posta digitato non è valido"
#: src/settings/ThreePIdCard.qml:152 src/threepidbindhelper.cpp:180
#: src/settings/ThreePIdCard.qml:158 src/threepidbindhelper.cpp:181
#, kde-format
msgid "The entered phone number is not valid"
msgstr "Il numero di telefono digitato non è valido"
#: src/settings/ThreePIdCard.qml:154
#: src/settings/ThreePIdCard.qml:160
#, kde-format
msgid "Incorrect password entered"
msgstr "È stata digitata una password errata"
#: src/settings/ThreePIdCard.qml:156
#: src/settings/ThreePIdCard.qml:162
#, kde-format
msgid ""
"The email has not been verified. Please go to the email and follow the "
@@ -6002,7 +6002,7 @@ msgstr ""
"L'indirizzo di posta elettronica non è stato verificato. Vai al messaggio di "
"posta e segui le istruzioni presenti, quindi fai clic sul pulsante in basso"
#: src/settings/ThreePIdCard.qml:156
#: src/settings/ThreePIdCard.qml:162
#, kde-format
msgid ""
"The phone number has not been verified. Please go to the text message and "
@@ -6011,25 +6011,25 @@ msgstr ""
"Il numero di telefono non è stato verificato. Vai al messaggio di testo e "
"segui le istruzioni presenti, quindi fai clic sul pulsante in basso"
#: src/settings/ThreePIdCard.qml:183
#: src/settings/ThreePIdCard.qml:189
#, kde-format
msgctxt "@action:button Add new email or phone number"
msgid "Add"
msgstr "Aggiungi"
#: src/settings/ThreePIdCard.qml:191
#: src/settings/ThreePIdCard.qml:197
#, kde-format
msgctxt "@action:button As in 'go back'"
msgid "Back"
msgstr "Indietro"
#: src/threepidbindhelper.cpp:177
#: src/threepidbindhelper.cpp:178
#, kde-format
msgid ""
"%1. Please follow the instructions there and then click the button above"
msgstr "%1. Segui le istruzioni presenti e poi fai clic sul pulsante qui sopra"
#: src/threepidbindhelper.cpp:183
#: src/threepidbindhelper.cpp:184
#, kde-format
msgid ""
"The email has not been verified. Please go to the email and follow the "
@@ -6038,7 +6038,7 @@ msgstr ""
"L'indirizzo di posta elettronica non è stato verificato. Vai al messaggio di "
"posta e segui le istruzioni presenti, quindi fai clic sul pulsante in alto"
#: src/threepidbindhelper.cpp:184
#: src/threepidbindhelper.cpp:185
#, kde-format
msgid ""
"The phone number has not been verified. Please go to the text message and "
@@ -6047,35 +6047,35 @@ msgstr ""
"Il numero di telefono non è stato verificato. Vai al messaggio di testo e "
"segui le istruzioni presenti, quindi fai clic sul pulsante in alto"
#: src/timeline/BaseMessageComponentChooser.qml:249
#: src/timeline/BaseMessageComponentChooser.qml:172
#, kde-format
msgid "%1 started a user verification"
msgstr "%1 ha iniziato una verifica utente"
#: src/timeline/ChatBarComponent.qml:98
#: src/timeline/ChatBarComponent.qml:88
#, kde-format
msgctxt "@action:button"
msgid "Confirm edit"
msgstr "Conferma la modifica"
#: src/timeline/ChatBarComponent.qml:98
#: src/timeline/ChatBarComponent.qml:88
#, kde-format
msgctxt "@action:button"
msgid "Post message in thread"
msgstr "Pubblica messaggio nella conversazione"
#: src/timeline/CodeComponent.qml:164
#: src/timeline/CodeComponent.qml:159
#, kde-format
msgid "Copy to clipboard"
msgstr "Copia negli appunti"
#: src/timeline/CodeComponent.qml:176
#: src/timeline/CodeComponent.qml:171
#, kde-format
msgctxt "@action:button"
msgid "Maximize"
msgstr "Massimizza"
#: src/timeline/EncryptedComponent.qml:21
#: src/timeline/EncryptedComponent.qml:18
#, kde-format
msgid ""
"This message is encrypted and the sender has not shared the key with this "
@@ -6084,20 +6084,20 @@ msgstr ""
"Questo messaggio è cifrato e il mittente non ha condiviso la chiave con "
"questo dispositivo."
#: src/timeline/FetchButtonComponent.qml:41
#: src/timeline/FetchButtonComponent.qml:36
#, kde-format
msgctxt "@action:button"
msgid "Fetch More Events"
msgstr "Recupera altri eventi"
#: src/timeline/FileComponent.qml:104 src/timeline/FileComponent.qml:187
#: src/timeline/FileComponent.qml:94 src/timeline/FileComponent.qml:177
#, kde-format
msgctxt ""
"tooltip for a button on a message; offers ability to download its file"
msgid "Download"
msgstr "Scarica"
#: src/timeline/FileComponent.qml:120 src/timeline/FileComponent.qml:177
#: src/timeline/FileComponent.qml:110 src/timeline/FileComponent.qml:167
#, kde-format
msgctxt ""
"tooltip for a button on a message; offers ability to open its downloaded "
@@ -6105,13 +6105,13 @@ msgctxt ""
msgid "Open File"
msgstr "Apri file"
#: src/timeline/FileComponent.qml:135
#: src/timeline/FileComponent.qml:125
#, kde-format
msgctxt "file download progress"
msgid "%1 / %2"
msgstr "%1 / %2"
#: src/timeline/FileComponent.qml:140
#: src/timeline/FileComponent.qml:130
#, kde-format
msgctxt ""
"tooltip for a button on a message; stops downloading the message's file"
@@ -6140,60 +6140,60 @@ msgstr "Ora di check-in: %1"
msgid "Check-out time: %1"
msgstr "Ora di check-out: %1"
#: src/timeline/ImageComponent.qml:140
#: src/timeline/ImageComponent.qml:120
#, kde-format
msgctxt "@action:button"
msgid "Show Image"
msgstr "Mostra immagine"
#: src/timeline/ItineraryComponent.qml:57
#: src/timeline/ItineraryComponent.qml:54
#, kde-format
msgctxt "@action"
msgid "Send to KDE Itinerary"
msgstr "Invia a KDE Itinerary"
#: src/timeline/LinkPreviewComponent.qml:136
#: src/timeline/LinkPreviewLoadComponent.qml:79
#: src/timeline/LinkPreviewComponent.qml:131
#: src/timeline/LinkPreviewLoadComponent.qml:76
#, kde-format
msgctxt "As in remove the link preview so it's no longer shown"
msgid "Remove preview"
msgstr "Rimuovi l'anteprima"
#: src/timeline/LinkPreviewComponent.qml:154
#: src/timeline/LinkPreviewComponent.qml:149
#, kde-format
msgid "Shrink preview"
msgstr "Riduci l'anteprima"
#: src/timeline/LinkPreviewComponent.qml:154
#: src/timeline/LinkPreviewComponent.qml:149
#, kde-format
msgid "Expand preview"
msgstr "Espandi l'anteprima"
#: src/timeline/LinkPreviewLoadComponent.qml:68
#: src/timeline/LinkPreviewLoadComponent.qml:65
#, kde-format
msgid "Loading URL preview"
msgstr "Caricamento dell'anteprima dell'URL"
#: src/timeline/LocationComponent.qml:116
#: src/timeline/LocationComponent.qml:111
#, kde-format
msgctxt "@action:button Open the location in an external program"
msgid "Open Externally"
msgstr "Apri esternamente"
#: src/timeline/PollComponent.qml:80
#: src/timeline/PollComponent.qml:70
#, kde-format
msgid "Based on votes by %1 user"
msgid_plural "Based on votes by %1 users"
msgstr[0] "Basato sui voti di %1 utente"
msgstr[1] "Basato sui voti di %1 utenti"
#: src/timeline/PollComponent.qml:80
#: src/timeline/PollComponent.qml:70
#, kde-format
msgctxt "as in 'this vote has ended'"
msgid "(Ended)"
msgstr "(Terminato)"
#: src/timeline/ReactionComponent.qml:97
#: src/timeline/ReactionComponent.qml:89
#, kde-format
msgctxt "@button"
msgid "React"
@@ -6205,7 +6205,7 @@ msgctxt "Relative time since the room was last read"
msgid "Last read: %1"
msgstr "Ultima lettura: %1"
#: src/timeline/ReplyButtonComponent.qml:44
#: src/timeline/ReplyButtonComponent.qml:34
#, kde-format
msgctxt "@action:button"
msgid "Reply"
@@ -6226,24 +6226,24 @@ msgstr ""
msgid "Pl. %1"
msgstr "Bin. %1"
#: src/timeline/VideoComponent.qml:217
#: src/timeline/VideoComponent.qml:197
#, kde-format
msgid "Video"
msgstr "Video"
#: src/timeline/VideoComponent.qml:257
#: src/timeline/VideoComponent.qml:237
#, kde-format
msgctxt "@action:button"
msgid "Show Video"
msgstr "Mostra video"
#: src/timeline/VideoComponent.qml:298
#: src/timeline/VideoComponent.qml:278
#, kde-format
msgctxt "@action:button"
msgid "Volume"
msgstr "Volume"
#: src/timeline/VideoComponent.qml:382
#: src/timeline/VideoComponent.qml:362
#, kde-format
msgid "Maximize"
msgstr "Massimizza"

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: 2025-03-07 00:42+0000\n"
"POT-Creation-Date: 2025-03-11 00:41+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"
@@ -1023,7 +1023,7 @@ msgstr ""
#: src/login/Homeserver.qml:41 src/login/Username.qml:38
#: src/models/messagecontentmodel.cpp:262
#: src/models/messagecontentmodel.cpp:290 src/timeline/LoadComponent.qml:33
#: src/models/messagecontentmodel.cpp:290 src/timeline/LoadComponent.qml:30
#, kde-format
msgid "Loading"
msgstr ""
@@ -1053,7 +1053,7 @@ msgid "Loading…"
msgstr ""
#: src/login/Login.qml:38 src/login/WelcomePage.qml:250
#: src/settings/ThreePIdCard.qml:183
#: src/settings/ThreePIdCard.qml:189
#, kde-format
msgctxt "@action:button"
msgid "Continue"
@@ -1683,7 +1683,7 @@ msgstr ""
#: src/models/messagecontentmodel.cpp:260
#: src/models/messagecontentmodel.cpp:288
#: src/timeline/LinkPreviewLoadComponent.qml:66
#: src/timeline/LinkPreviewLoadComponent.qml:63
#, kde-format
msgid "Loading reply"
msgstr ""
@@ -1932,25 +1932,25 @@ msgctxt "@info:label"
msgid "%1 invited you"
msgstr ""
#: src/neochatconnection.cpp:77
#: src/neochatconnection.cpp:75
#, kde-format
msgid ""
"File too large to download.<br />Contact your matrix server administrator "
"for support."
msgstr ""
#: src/neochatconnection.cpp:336
#: src/neochatconnection.cpp:329
#, kde-format
msgctxt "@info"
msgid "No identity server configured"
msgstr ""
#: src/neochatconnection.cpp:367
#: src/neochatconnection.cpp:360
#, kde-format
msgid "Room creation failed: %1"
msgstr ""
#: src/neochatconnection.cpp:397
#: src/neochatconnection.cpp:390
#, kde-format
msgid "Space creation failed: %1"
msgstr ""
@@ -5768,180 +5768,180 @@ msgctxt "@title:dialog"
msgid "Select Parameter to Add"
msgstr ""
#: src/settings/ThreePIdCard.qml:55
#: src/settings/ThreePIdCard.qml:58
#, kde-format
msgctxt "@action:button"
msgid "Hide"
msgstr ""
#: src/settings/ThreePIdCard.qml:61
#: src/settings/ThreePIdCard.qml:64
#, kde-format
msgctxt "@action:button"
msgid "Share"
msgstr ""
#: src/settings/ThreePIdCard.qml:66
#: src/settings/ThreePIdCard.qml:69
#, kde-format
msgctxt "@action:button"
msgid "Remove"
msgstr ""
#: src/settings/ThreePIdCard.qml:85
#: src/settings/ThreePIdCard.qml:88
#, kde-format
msgctxt "@action:button"
msgid "Complete"
msgstr ""
#: src/settings/ThreePIdCard.qml:90 src/timeline/ChatBarComponent.qml:110
#: src/settings/ThreePIdCard.qml:93 src/timeline/ChatBarComponent.qml:100
#, kde-format
msgctxt "@action:button"
msgid "Cancel"
msgstr ""
#: src/settings/ThreePIdCard.qml:130
#: src/settings/ThreePIdCard.qml:136
#, kde-format
msgctxt "@label:textbox"
msgid "Country Code for new phone number"
msgstr ""
#: src/settings/ThreePIdCard.qml:146
#: src/settings/ThreePIdCard.qml:152
#, kde-format
msgctxt "@label:textbox"
msgid "New Email Address:"
msgstr ""
#: src/settings/ThreePIdCard.qml:146
#: src/settings/ThreePIdCard.qml:152
#, kde-format
msgctxt "@label:textbox"
msgid "New Phone Number:"
msgstr ""
#: src/settings/ThreePIdCard.qml:150 src/threepidbindhelper.cpp:178
#: src/settings/ThreePIdCard.qml:156 src/threepidbindhelper.cpp:179
#, kde-format
msgid "We've sent you an email"
msgstr ""
#: src/settings/ThreePIdCard.qml:150 src/threepidbindhelper.cpp:178
#: src/settings/ThreePIdCard.qml:156 src/threepidbindhelper.cpp:179
#, kde-format
msgid "We've sent you a text message"
msgstr ""
#: src/settings/ThreePIdCard.qml:150
#: src/settings/ThreePIdCard.qml:156
#, kde-format
msgid ""
"%1. Please follow the instructions there and then click the button below"
msgstr ""
#: src/settings/ThreePIdCard.qml:152 src/threepidbindhelper.cpp:180
#: src/settings/ThreePIdCard.qml:158 src/threepidbindhelper.cpp:181
#, kde-format
msgid "The entered email is not valid"
msgstr ""
#: src/settings/ThreePIdCard.qml:152 src/threepidbindhelper.cpp:180
#: src/settings/ThreePIdCard.qml:158 src/threepidbindhelper.cpp:181
#, kde-format
msgid "The entered phone number is not valid"
msgstr ""
#: src/settings/ThreePIdCard.qml:154
#: src/settings/ThreePIdCard.qml:160
#, kde-format
msgid "Incorrect password entered"
msgstr ""
#: src/settings/ThreePIdCard.qml:156
#: src/settings/ThreePIdCard.qml:162
#, kde-format
msgid ""
"The email has not been verified. Please go to the email and follow the "
"instructions there and then click the button below"
msgstr ""
#: src/settings/ThreePIdCard.qml:156
#: src/settings/ThreePIdCard.qml:162
#, kde-format
msgid ""
"The phone number has not been verified. Please go to the text message and "
"follow the instructions there and then click the button below"
msgstr ""
#: src/settings/ThreePIdCard.qml:183
#: src/settings/ThreePIdCard.qml:189
#, kde-format
msgctxt "@action:button Add new email or phone number"
msgid "Add"
msgstr ""
#: src/settings/ThreePIdCard.qml:191
#: src/settings/ThreePIdCard.qml:197
#, kde-format
msgctxt "@action:button As in 'go back'"
msgid "Back"
msgstr ""
#: src/threepidbindhelper.cpp:177
#: src/threepidbindhelper.cpp:178
#, kde-format
msgid ""
"%1. Please follow the instructions there and then click the button above"
msgstr ""
#: src/threepidbindhelper.cpp:183
#: src/threepidbindhelper.cpp:184
#, kde-format
msgid ""
"The email has not been verified. Please go to the email and follow the "
"instructions there and then click the button above"
msgstr ""
#: src/threepidbindhelper.cpp:184
#: src/threepidbindhelper.cpp:185
#, kde-format
msgid ""
"The phone number has not been verified. Please go to the text message and "
"follow the instructions there and then click the button above"
msgstr ""
#: src/timeline/BaseMessageComponentChooser.qml:249
#: src/timeline/BaseMessageComponentChooser.qml:172
#, kde-format
msgid "%1 started a user verification"
msgstr ""
#: src/timeline/ChatBarComponent.qml:98
#: src/timeline/ChatBarComponent.qml:88
#, kde-format
msgctxt "@action:button"
msgid "Confirm edit"
msgstr ""
#: src/timeline/ChatBarComponent.qml:98
#: src/timeline/ChatBarComponent.qml:88
#, kde-format
msgctxt "@action:button"
msgid "Post message in thread"
msgstr ""
#: src/timeline/CodeComponent.qml:164
#: src/timeline/CodeComponent.qml:159
#, kde-format
msgid "Copy to clipboard"
msgstr ""
#: src/timeline/CodeComponent.qml:176
#: src/timeline/CodeComponent.qml:171
#, kde-format
msgctxt "@action:button"
msgid "Maximize"
msgstr ""
#: src/timeline/EncryptedComponent.qml:21
#: src/timeline/EncryptedComponent.qml:18
#, kde-format
msgid ""
"This message is encrypted and the sender has not shared the key with this "
"device."
msgstr ""
#: src/timeline/FetchButtonComponent.qml:41
#: src/timeline/FetchButtonComponent.qml:36
#, kde-format
msgctxt "@action:button"
msgid "Fetch More Events"
msgstr ""
#: src/timeline/FileComponent.qml:104 src/timeline/FileComponent.qml:187
#: src/timeline/FileComponent.qml:94 src/timeline/FileComponent.qml:177
#, kde-format
msgctxt ""
"tooltip for a button on a message; offers ability to download its file"
msgid "Download"
msgstr ""
#: src/timeline/FileComponent.qml:120 src/timeline/FileComponent.qml:177
#: src/timeline/FileComponent.qml:110 src/timeline/FileComponent.qml:167
#, kde-format
msgctxt ""
"tooltip for a button on a message; offers ability to open its downloaded "
@@ -5949,13 +5949,13 @@ msgctxt ""
msgid "Open File"
msgstr ""
#: src/timeline/FileComponent.qml:135
#: src/timeline/FileComponent.qml:125
#, kde-format
msgctxt "file download progress"
msgid "%1 / %2"
msgstr ""
#: src/timeline/FileComponent.qml:140
#: src/timeline/FileComponent.qml:130
#, kde-format
msgctxt ""
"tooltip for a button on a message; stops downloading the message's file"
@@ -5984,59 +5984,59 @@ msgstr ""
msgid "Check-out time: %1"
msgstr ""
#: src/timeline/ImageComponent.qml:140
#: src/timeline/ImageComponent.qml:120
#, kde-format
msgctxt "@action:button"
msgid "Show Image"
msgstr ""
#: src/timeline/ItineraryComponent.qml:57
#: src/timeline/ItineraryComponent.qml:54
#, kde-format
msgctxt "@action"
msgid "Send to KDE Itinerary"
msgstr ""
#: src/timeline/LinkPreviewComponent.qml:136
#: src/timeline/LinkPreviewLoadComponent.qml:79
#: src/timeline/LinkPreviewComponent.qml:131
#: src/timeline/LinkPreviewLoadComponent.qml:76
#, kde-format
msgctxt "As in remove the link preview so it's no longer shown"
msgid "Remove preview"
msgstr ""
#: src/timeline/LinkPreviewComponent.qml:154
#: src/timeline/LinkPreviewComponent.qml:149
#, kde-format
msgid "Shrink preview"
msgstr ""
#: src/timeline/LinkPreviewComponent.qml:154
#: src/timeline/LinkPreviewComponent.qml:149
#, kde-format
msgid "Expand preview"
msgstr ""
#: src/timeline/LinkPreviewLoadComponent.qml:68
#: src/timeline/LinkPreviewLoadComponent.qml:65
#, kde-format
msgid "Loading URL preview"
msgstr ""
#: src/timeline/LocationComponent.qml:116
#: src/timeline/LocationComponent.qml:111
#, kde-format
msgctxt "@action:button Open the location in an external program"
msgid "Open Externally"
msgstr ""
#: src/timeline/PollComponent.qml:80
#: src/timeline/PollComponent.qml:70
#, kde-format
msgid "Based on votes by %1 user"
msgid_plural "Based on votes by %1 users"
msgstr[0] ""
#: src/timeline/PollComponent.qml:80
#: src/timeline/PollComponent.qml:70
#, kde-format
msgctxt "as in 'this vote has ended'"
msgid "(Ended)"
msgstr ""
#: src/timeline/ReactionComponent.qml:97
#: src/timeline/ReactionComponent.qml:89
#, kde-format
msgctxt "@button"
msgid "React"
@@ -6048,7 +6048,7 @@ msgctxt "Relative time since the room was last read"
msgid "Last read: %1"
msgstr ""
#: src/timeline/ReplyButtonComponent.qml:44
#: src/timeline/ReplyButtonComponent.qml:34
#, kde-format
msgctxt "@action:button"
msgid "Reply"
@@ -6067,24 +6067,24 @@ msgstr ""
msgid "Pl. %1"
msgstr ""
#: src/timeline/VideoComponent.qml:217
#: src/timeline/VideoComponent.qml:197
#, kde-format
msgid "Video"
msgstr ""
#: src/timeline/VideoComponent.qml:257
#: src/timeline/VideoComponent.qml:237
#, kde-format
msgctxt "@action:button"
msgid "Show Video"
msgstr ""
#: src/timeline/VideoComponent.qml:298
#: src/timeline/VideoComponent.qml:278
#, kde-format
msgctxt "@action:button"
msgid "Volume"
msgstr ""
#: src/timeline/VideoComponent.qml:382
#: src/timeline/VideoComponent.qml:362
#, kde-format
msgid "Maximize"
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: 2025-03-07 00:42+0000\n"
"POT-Creation-Date: 2025-03-11 00:41+0000\n"
"PO-Revision-Date: 2025-03-06 02:46+0100\n"
"Last-Translator: Temuri Doghonadze <temuri.doghonadze@gmail.com>\n"
"Language-Team: Georgian <kde-i18n-doc@kde.org>\n"
@@ -1038,7 +1038,7 @@ msgstr "ამ სერვერზე რეგისტრაცია გა
#: src/login/Homeserver.qml:41 src/login/Username.qml:38
#: src/models/messagecontentmodel.cpp:262
#: src/models/messagecontentmodel.cpp:290 src/timeline/LoadComponent.qml:33
#: src/models/messagecontentmodel.cpp:290 src/timeline/LoadComponent.qml:30
#, kde-format
msgid "Loading"
msgstr "იტვირთება"
@@ -1070,7 +1070,7 @@ msgid "Loading…"
msgstr "ჩატვირთვა…"
#: src/login/Login.qml:38 src/login/WelcomePage.qml:250
#: src/settings/ThreePIdCard.qml:183
#: src/settings/ThreePIdCard.qml:189
#, kde-format
msgctxt "@action:button"
msgid "Continue"
@@ -1702,7 +1702,7 @@ msgstr "საკუთარი ემოჯიები"
#: src/models/messagecontentmodel.cpp:260
#: src/models/messagecontentmodel.cpp:288
#: src/timeline/LinkPreviewLoadComponent.qml:66
#: src/timeline/LinkPreviewLoadComponent.qml:63
#, kde-format
msgid "Loading reply"
msgstr "პასუხის ჩატვირთვა"
@@ -1960,7 +1960,7 @@ msgctxt "@info:label"
msgid "%1 invited you"
msgstr "%1-მა მოგიწვიათ"
#: src/neochatconnection.cpp:77
#: src/neochatconnection.cpp:75
#, kde-format
msgid ""
"File too large to download.<br />Contact your matrix server administrator "
@@ -1969,18 +1969,18 @@ msgstr ""
"გადმოსაწერად ფაილი მეტისმეტად დიდია.<br />მხარდაჭერისთვის დაუკავშირდით "
"თქვენი Matrix-ის სერვერის ადმინისტრატორს."
#: src/neochatconnection.cpp:336
#: src/neochatconnection.cpp:329
#, kde-format
msgctxt "@info"
msgid "No identity server configured"
msgstr "იდენტიფიკატორების სერვერი მორგებული არაა"
#: src/neochatconnection.cpp:367
#: src/neochatconnection.cpp:360
#, kde-format
msgid "Room creation failed: %1"
msgstr "ოთახის შექმნის შეცდომა: %1"
#: src/neochatconnection.cpp:397
#: src/neochatconnection.cpp:390
#, kde-format
msgid "Space creation failed: %1"
msgstr "სივრცის შექმნის შეცდომა: %1"
@@ -5855,86 +5855,86 @@ msgctxt "@title:dialog"
msgid "Select Parameter to Add"
msgstr "აირჩიეთ დასამატებელი პარამეტრი"
#: src/settings/ThreePIdCard.qml:55
#: src/settings/ThreePIdCard.qml:58
#, kde-format
msgctxt "@action:button"
msgid "Hide"
msgstr "დამალვა"
#: src/settings/ThreePIdCard.qml:61
#: src/settings/ThreePIdCard.qml:64
#, kde-format
msgctxt "@action:button"
msgid "Share"
msgstr "გაზიარება"
#: src/settings/ThreePIdCard.qml:66
#: src/settings/ThreePIdCard.qml:69
#, kde-format
msgctxt "@action:button"
msgid "Remove"
msgstr "წაშლა"
#: src/settings/ThreePIdCard.qml:85
#: src/settings/ThreePIdCard.qml:88
#, kde-format
msgctxt "@action:button"
msgid "Complete"
msgstr "დასრულებულია"
#: src/settings/ThreePIdCard.qml:90 src/timeline/ChatBarComponent.qml:110
#: src/settings/ThreePIdCard.qml:93 src/timeline/ChatBarComponent.qml:100
#, kde-format
msgctxt "@action:button"
msgid "Cancel"
msgstr "გაუქმება"
#: src/settings/ThreePIdCard.qml:130
#: src/settings/ThreePIdCard.qml:136
#, kde-format
msgctxt "@label:textbox"
msgid "Country Code for new phone number"
msgstr "ქვეყნის კოდი ახალი ტელეფონის ნომრისთვის"
#: src/settings/ThreePIdCard.qml:146
#: src/settings/ThreePIdCard.qml:152
#, kde-format
msgctxt "@label:textbox"
msgid "New Email Address:"
msgstr "ახალი ელფოსტის მისამართი:"
#: src/settings/ThreePIdCard.qml:146
#: src/settings/ThreePIdCard.qml:152
#, kde-format
msgctxt "@label:textbox"
msgid "New Phone Number:"
msgstr "ახალი ტელეფონის ნომერი:"
#: src/settings/ThreePIdCard.qml:150 src/threepidbindhelper.cpp:178
#: src/settings/ThreePIdCard.qml:156 src/threepidbindhelper.cpp:179
#, kde-format
msgid "We've sent you an email"
msgstr "ჩვენ ელფოსტა გამოგიგზავნეთ"
#: src/settings/ThreePIdCard.qml:150 src/threepidbindhelper.cpp:178
#: src/settings/ThreePIdCard.qml:156 src/threepidbindhelper.cpp:179
#, kde-format
msgid "We've sent you a text message"
msgstr "ჩვენ ტექსტური შეტყობინება გამოგიგზავნეთ"
#: src/settings/ThreePIdCard.qml:150
#: src/settings/ThreePIdCard.qml:156
#, kde-format
msgid ""
"%1. Please follow the instructions there and then click the button below"
msgstr "%1, მიჰყევით ინსტრუქციებს და დააწკაპუნეთ ღილაკზე ქვემოთ"
#: src/settings/ThreePIdCard.qml:152 src/threepidbindhelper.cpp:180
#: src/settings/ThreePIdCard.qml:158 src/threepidbindhelper.cpp:181
#, kde-format
msgid "The entered email is not valid"
msgstr "შეყვანილი ელფოსტა არასწორია"
#: src/settings/ThreePIdCard.qml:152 src/threepidbindhelper.cpp:180
#: src/settings/ThreePIdCard.qml:158 src/threepidbindhelper.cpp:181
#, kde-format
msgid "The entered phone number is not valid"
msgstr "შეყვანილი ტელეფონის ნომერი არასწორია"
#: src/settings/ThreePIdCard.qml:154
#: src/settings/ThreePIdCard.qml:160
#, kde-format
msgid "Incorrect password entered"
msgstr "შეყვანილი პაროლი არასწორია"
#: src/settings/ThreePIdCard.qml:156
#: src/settings/ThreePIdCard.qml:162
#, kde-format
msgid ""
"The email has not been verified. Please go to the email and follow the "
@@ -5943,7 +5943,7 @@ msgstr ""
"ელფოსტა არ გადამოწმებულა. გადადით ელფოსტაზე და მიჰყავთ ინსტრუქციებს, "
"რომლებიც გამოგიგზავნეთ, შემდეგ კი ქვემოთ ღილაკზე დააწკაპუნეთ"
#: src/settings/ThreePIdCard.qml:156
#: src/settings/ThreePIdCard.qml:162
#, kde-format
msgid ""
"The phone number has not been verified. Please go to the text message and "
@@ -5953,25 +5953,25 @@ msgstr ""
"მიჰყევით ინსტრუქციებს, რომელიც დაგხვდებათ. შემდეგ კი ქვემოთ ღილაკზე "
"დააწკაპუნეთ"
#: src/settings/ThreePIdCard.qml:183
#: src/settings/ThreePIdCard.qml:189
#, kde-format
msgctxt "@action:button Add new email or phone number"
msgid "Add"
msgstr "დამატება"
#: src/settings/ThreePIdCard.qml:191
#: src/settings/ThreePIdCard.qml:197
#, kde-format
msgctxt "@action:button As in 'go back'"
msgid "Back"
msgstr "უკან"
#: src/threepidbindhelper.cpp:177
#: src/threepidbindhelper.cpp:178
#, kde-format
msgid ""
"%1. Please follow the instructions there and then click the button above"
msgstr "%1, მიჰყევით ინსტრუქციებს და დააწკაპუნეთ ღილაკზე ზემოთ"
#: src/threepidbindhelper.cpp:183
#: src/threepidbindhelper.cpp:184
#, kde-format
msgid ""
"The email has not been verified. Please go to the email and follow the "
@@ -5980,7 +5980,7 @@ msgstr ""
"ელფოსტა არ გადამოწმებულა. გადადით ელფოსტაზე და მიჰყავთ ინსტრუქციებს, "
"რომლებიც გამოგიგზავნეთ, შემდეგ კი ზემოთ ღილაკზე დააწკაპუნეთ"
#: src/threepidbindhelper.cpp:184
#: src/threepidbindhelper.cpp:185
#, kde-format
msgid ""
"The phone number has not been verified. Please go to the text message and "
@@ -5990,35 +5990,35 @@ msgstr ""
"მიჰყევით ინსტრუქციებს, რომელიც დაგხვდებათ. შემდეგ კი ზემოთ ღილაკზე "
"დააწკაპუნეთ"
#: src/timeline/BaseMessageComponentChooser.qml:249
#: src/timeline/BaseMessageComponentChooser.qml:172
#, kde-format
msgid "%1 started a user verification"
msgstr "%1-მა დაიწყო მომხმარებლის გადამოწმება"
#: src/timeline/ChatBarComponent.qml:98
#: src/timeline/ChatBarComponent.qml:88
#, kde-format
msgctxt "@action:button"
msgid "Confirm edit"
msgstr "ჩასწორების დადასტურება"
#: src/timeline/ChatBarComponent.qml:98
#: src/timeline/ChatBarComponent.qml:88
#, kde-format
msgctxt "@action:button"
msgid "Post message in thread"
msgstr "შეტყობინების დაპოსტვა დისკუსიაში"
#: src/timeline/CodeComponent.qml:164
#: src/timeline/CodeComponent.qml:159
#, kde-format
msgid "Copy to clipboard"
msgstr "ბუფერში კოპირება"
#: src/timeline/CodeComponent.qml:176
#: src/timeline/CodeComponent.qml:171
#, kde-format
msgctxt "@action:button"
msgid "Maximize"
msgstr "გადიდება"
#: src/timeline/EncryptedComponent.qml:21
#: src/timeline/EncryptedComponent.qml:18
#, kde-format
msgid ""
"This message is encrypted and the sender has not shared the key with this "
@@ -6027,20 +6027,20 @@ msgstr ""
"ეს შეტყობინება დაშიფრულია და გამომგზავნს ამ მოწყობილობისთვის გასაღები არ "
"გაუზიარებია."
#: src/timeline/FetchButtonComponent.qml:41
#: src/timeline/FetchButtonComponent.qml:36
#, kde-format
msgctxt "@action:button"
msgid "Fetch More Events"
msgstr "მეტი მოვლენის მიღება"
#: src/timeline/FileComponent.qml:104 src/timeline/FileComponent.qml:187
#: src/timeline/FileComponent.qml:94 src/timeline/FileComponent.qml:177
#, kde-format
msgctxt ""
"tooltip for a button on a message; offers ability to download its file"
msgid "Download"
msgstr "ჩამოტვირთვა"
#: src/timeline/FileComponent.qml:120 src/timeline/FileComponent.qml:177
#: src/timeline/FileComponent.qml:110 src/timeline/FileComponent.qml:167
#, kde-format
msgctxt ""
"tooltip for a button on a message; offers ability to open its downloaded "
@@ -6048,13 +6048,13 @@ msgctxt ""
msgid "Open File"
msgstr "ფაილის გახსნა"
#: src/timeline/FileComponent.qml:135
#: src/timeline/FileComponent.qml:125
#, kde-format
msgctxt "file download progress"
msgid "%1 / %2"
msgstr "%1 / %2"
#: src/timeline/FileComponent.qml:140
#: src/timeline/FileComponent.qml:130
#, kde-format
msgctxt ""
"tooltip for a button on a message; stops downloading the message's file"
@@ -6083,60 +6083,60 @@ msgstr "ჩეკინის დრო: %1"
msgid "Check-out time: %1"
msgstr "ჩეკაუტის დრო: %1"
#: src/timeline/ImageComponent.qml:140
#: src/timeline/ImageComponent.qml:120
#, kde-format
msgctxt "@action:button"
msgid "Show Image"
msgstr "გამოსახულების ჩვენება"
#: src/timeline/ItineraryComponent.qml:57
#: src/timeline/ItineraryComponent.qml:54
#, kde-format
msgctxt "@action"
msgid "Send to KDE Itinerary"
msgstr "გაგზავნა KDE Itinerary-სთვის"
#: src/timeline/LinkPreviewComponent.qml:136
#: src/timeline/LinkPreviewLoadComponent.qml:79
#: src/timeline/LinkPreviewComponent.qml:131
#: src/timeline/LinkPreviewLoadComponent.qml:76
#, kde-format
msgctxt "As in remove the link preview so it's no longer shown"
msgid "Remove preview"
msgstr "მინიატურის წაშლა"
#: src/timeline/LinkPreviewComponent.qml:154
#: src/timeline/LinkPreviewComponent.qml:149
#, kde-format
msgid "Shrink preview"
msgstr "მინატურის შემცირება"
#: src/timeline/LinkPreviewComponent.qml:154
#: src/timeline/LinkPreviewComponent.qml:149
#, kde-format
msgid "Expand preview"
msgstr "მინიატურის გაფართოება"
#: src/timeline/LinkPreviewLoadComponent.qml:68
#: src/timeline/LinkPreviewLoadComponent.qml:65
#, kde-format
msgid "Loading URL preview"
msgstr "URL-ის მინიატურის ჩატვირთვა"
#: src/timeline/LocationComponent.qml:116
#: src/timeline/LocationComponent.qml:111
#, kde-format
msgctxt "@action:button Open the location in an external program"
msgid "Open Externally"
msgstr "გარეთ გახსნა"
#: src/timeline/PollComponent.qml:80
#: src/timeline/PollComponent.qml:70
#, kde-format
msgid "Based on votes by %1 user"
msgid_plural "Based on votes by %1 users"
msgstr[0] "ეფუძნება %1 მომხმარებლის არჩევანს"
msgstr[1] "ეფუძნება %1 მომხმარებლის არჩევანს"
#: src/timeline/PollComponent.qml:80
#: src/timeline/PollComponent.qml:70
#, kde-format
msgctxt "as in 'this vote has ended'"
msgid "(Ended)"
msgstr "(დასრულდა)"
#: src/timeline/ReactionComponent.qml:97
#: src/timeline/ReactionComponent.qml:89
#, kde-format
msgctxt "@button"
msgid "React"
@@ -6148,7 +6148,7 @@ msgctxt "Relative time since the room was last read"
msgid "Last read: %1"
msgstr "ბოლოს წაიკითხა: %1"
#: src/timeline/ReplyButtonComponent.qml:44
#: src/timeline/ReplyButtonComponent.qml:34
#, kde-format
msgctxt "@action:button"
msgid "Reply"
@@ -6168,24 +6168,24 @@ msgstr ""
msgid "Pl. %1"
msgstr "პლ. %1"
#: src/timeline/VideoComponent.qml:217
#: src/timeline/VideoComponent.qml:197
#, kde-format
msgid "Video"
msgstr "ვიდეო"
#: src/timeline/VideoComponent.qml:257
#: src/timeline/VideoComponent.qml:237
#, kde-format
msgctxt "@action:button"
msgid "Show Video"
msgstr "ვიდეოს ჩვენება"
#: src/timeline/VideoComponent.qml:298
#: src/timeline/VideoComponent.qml:278
#, kde-format
msgctxt "@action:button"
msgid "Volume"
msgstr "ხმის სიმაღლე"
#: src/timeline/VideoComponent.qml:382
#: src/timeline/VideoComponent.qml:362
#, kde-format
msgid "Maximize"
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: 2025-03-07 00:42+0000\n"
"POT-Creation-Date: 2025-03-11 00:41+0000\n"
"PO-Revision-Date: 2024-02-24 22:09+0100\n"
"Last-Translator: Shinjo Park <kde@peremen.name>\n"
"Language-Team: Korean <kde-kr@kde.org>\n"
@@ -1126,7 +1126,7 @@ msgstr "이 서버에 등록이 비활성화되어 있습니다."
#: src/login/Homeserver.qml:41 src/login/Username.qml:38
#: src/models/messagecontentmodel.cpp:262
#: src/models/messagecontentmodel.cpp:290 src/timeline/LoadComponent.qml:33
#: src/models/messagecontentmodel.cpp:290 src/timeline/LoadComponent.qml:30
#, kde-format
msgid "Loading"
msgstr "불러오는 중"
@@ -1157,7 +1157,7 @@ msgid "Loading…"
msgstr "불러오는 중…"
#: src/login/Login.qml:38 src/login/WelcomePage.qml:250
#: src/settings/ThreePIdCard.qml:183
#: src/settings/ThreePIdCard.qml:189
#, kde-format
msgctxt "@action:button"
msgid "Continue"
@@ -1792,7 +1792,7 @@ msgstr "내 이모지"
#: src/models/messagecontentmodel.cpp:260
#: src/models/messagecontentmodel.cpp:288
#: src/timeline/LinkPreviewLoadComponent.qml:66
#: src/timeline/LinkPreviewLoadComponent.qml:63
#, kde-format
msgid "Loading reply"
msgstr "답장 불러오는 중"
@@ -2094,7 +2094,7 @@ msgctxt "@info:label"
msgid "%1 invited you"
msgstr "%1 님이 대화방에 초대함"
#: src/neochatconnection.cpp:77
#: src/neochatconnection.cpp:75
#, fuzzy, kde-format
#| msgid "Contact your matrix server administrator for support."
msgid ""
@@ -2102,18 +2102,18 @@ msgid ""
"for support."
msgstr "Matrix 서버 관리자에게 연락하십시오."
#: src/neochatconnection.cpp:336
#: src/neochatconnection.cpp:329
#, kde-format
msgctxt "@info"
msgid "No identity server configured"
msgstr ""
#: src/neochatconnection.cpp:367
#: src/neochatconnection.cpp:360
#, kde-format
msgid "Room creation failed: %1"
msgstr "대화방 생성 실패: %1"
#: src/neochatconnection.cpp:397
#: src/neochatconnection.cpp:390
#, kde-format
msgid "Space creation failed: %1"
msgstr "스페이스 생성 실패: %1"
@@ -6171,117 +6171,117 @@ msgctxt "@title:dialog"
msgid "Select Parameter to Add"
msgstr ""
#: src/settings/ThreePIdCard.qml:55
#: src/settings/ThreePIdCard.qml:58
#, kde-format
msgctxt "@action:button"
msgid "Hide"
msgstr ""
#: src/settings/ThreePIdCard.qml:61
#: src/settings/ThreePIdCard.qml:64
#, fuzzy, kde-format
#| msgid "Share"
msgctxt "@action:button"
msgid "Share"
msgstr "공유"
#: src/settings/ThreePIdCard.qml:66
#: src/settings/ThreePIdCard.qml:69
#, fuzzy, kde-format
#| msgid "Remove"
msgctxt "@action:button"
msgid "Remove"
msgstr "삭제"
#: src/settings/ThreePIdCard.qml:85
#: src/settings/ThreePIdCard.qml:88
#, fuzzy, kde-format
#| msgid "Compact"
msgctxt "@action:button"
msgid "Complete"
msgstr "간략함"
#: src/settings/ThreePIdCard.qml:90 src/timeline/ChatBarComponent.qml:110
#: src/settings/ThreePIdCard.qml:93 src/timeline/ChatBarComponent.qml:100
#, fuzzy, kde-format
#| msgid "Cancel"
msgctxt "@action:button"
msgid "Cancel"
msgstr "취소"
#: src/settings/ThreePIdCard.qml:130
#: src/settings/ThreePIdCard.qml:136
#, kde-format
msgctxt "@label:textbox"
msgid "Country Code for new phone number"
msgstr ""
#: src/settings/ThreePIdCard.qml:146
#: src/settings/ThreePIdCard.qml:152
#, fuzzy, kde-format
#| msgid "Add an e-mail address:"
msgctxt "@label:textbox"
msgid "New Email Address:"
msgstr "이메일 주소 추가:"
#: src/settings/ThreePIdCard.qml:146
#: src/settings/ThreePIdCard.qml:152
#, fuzzy, kde-format
#| msgid "Members"
msgctxt "@label:textbox"
msgid "New Phone Number:"
msgstr "구성원"
#: src/settings/ThreePIdCard.qml:150 src/threepidbindhelper.cpp:178
#: src/settings/ThreePIdCard.qml:156 src/threepidbindhelper.cpp:179
#, kde-format
msgid "We've sent you an email"
msgstr ""
#: src/settings/ThreePIdCard.qml:150 src/threepidbindhelper.cpp:178
#: src/settings/ThreePIdCard.qml:156 src/threepidbindhelper.cpp:179
#, fuzzy, kde-format
#| msgid "sent a message"
msgid "We've sent you a text message"
msgstr "님이 메시지를 보냄"
#: src/settings/ThreePIdCard.qml:150
#: src/settings/ThreePIdCard.qml:156
#, kde-format
msgid ""
"%1. Please follow the instructions there and then click the button below"
msgstr ""
#: src/settings/ThreePIdCard.qml:152 src/threepidbindhelper.cpp:180
#: src/settings/ThreePIdCard.qml:158 src/threepidbindhelper.cpp:181
#, fuzzy, kde-format
#| msgid "The entered text is not a valid url"
msgid "The entered email is not valid"
msgstr "입력한 텍스트가 올바른 URL이 아님"
#: src/settings/ThreePIdCard.qml:152 src/threepidbindhelper.cpp:180
#: src/settings/ThreePIdCard.qml:158 src/threepidbindhelper.cpp:181
#, fuzzy, kde-format
#| msgid "The entered text is not a valid url"
msgid "The entered phone number is not valid"
msgstr "입력한 텍스트가 올바른 URL이 아님"
#: src/settings/ThreePIdCard.qml:154
#: src/settings/ThreePIdCard.qml:160
#, fuzzy, kde-format
#| msgid "Wrong password entered"
msgid "Incorrect password entered"
msgstr "암호가 잘못됨"
#: src/settings/ThreePIdCard.qml:156
#: src/settings/ThreePIdCard.qml:162
#, kde-format
msgid ""
"The email has not been verified. Please go to the email and follow the "
"instructions there and then click the button below"
msgstr ""
#: src/settings/ThreePIdCard.qml:156
#: src/settings/ThreePIdCard.qml:162
#, kde-format
msgid ""
"The phone number has not been verified. Please go to the text message and "
"follow the instructions there and then click the button below"
msgstr ""
#: src/settings/ThreePIdCard.qml:183
#: src/settings/ThreePIdCard.qml:189
#, fuzzy, kde-format
#| msgid "Add"
msgctxt "@action:button Add new email or phone number"
msgid "Add"
msgstr "추가"
#: src/settings/ThreePIdCard.qml:191
#: src/settings/ThreePIdCard.qml:197
#, fuzzy, kde-format
#| msgctxt "@action:button"
#| msgid "Back"
@@ -6289,59 +6289,59 @@ msgctxt "@action:button As in 'go back'"
msgid "Back"
msgstr "뒤로"
#: src/threepidbindhelper.cpp:177
#: src/threepidbindhelper.cpp:178
#, kde-format
msgid ""
"%1. Please follow the instructions there and then click the button above"
msgstr ""
#: src/threepidbindhelper.cpp:183
#: src/threepidbindhelper.cpp:184
#, kde-format
msgid ""
"The email has not been verified. Please go to the email and follow the "
"instructions there and then click the button above"
msgstr ""
#: src/threepidbindhelper.cpp:184
#: src/threepidbindhelper.cpp:185
#, kde-format
msgid ""
"The phone number has not been verified. Please go to the text message and "
"follow the instructions there and then click the button above"
msgstr ""
#: src/timeline/BaseMessageComponentChooser.qml:249
#: src/timeline/BaseMessageComponentChooser.qml:172
#, fuzzy, kde-format
#| msgid "withdrew a user's invitation"
msgid "%1 started a user verification"
msgstr "님이 사용자의 초대를 거절함"
#: src/timeline/ChatBarComponent.qml:98
#: src/timeline/ChatBarComponent.qml:88
#, kde-format
msgctxt "@action:button"
msgid "Confirm edit"
msgstr "편집 확인"
#: src/timeline/ChatBarComponent.qml:98
#: src/timeline/ChatBarComponent.qml:88
#, fuzzy, kde-format
#| msgid "No messages found"
msgctxt "@action:button"
msgid "Post message in thread"
msgstr "메시지를 찾을 수 없음"
#: src/timeline/CodeComponent.qml:164
#: src/timeline/CodeComponent.qml:159
#, fuzzy, kde-format
#| msgid "Copy room ID to clipboard"
msgid "Copy to clipboard"
msgstr "클립보드에 대화방 ID 복사"
#: src/timeline/CodeComponent.qml:176
#: src/timeline/CodeComponent.qml:171
#, fuzzy, kde-format
#| msgid "Maximize"
msgctxt "@action:button"
msgid "Maximize"
msgstr "최대화"
#: src/timeline/EncryptedComponent.qml:21
#: src/timeline/EncryptedComponent.qml:18
#, kde-format
msgid ""
"This message is encrypted and the sender has not shared the key with this "
@@ -6350,20 +6350,20 @@ msgstr ""
"이 메시지는 암호화되어 있으며 전송한 사람이 이 장치와 키를 공유하지 않았습니"
"다."
#: src/timeline/FetchButtonComponent.qml:41
#: src/timeline/FetchButtonComponent.qml:36
#, kde-format
msgctxt "@action:button"
msgid "Fetch More Events"
msgstr ""
#: src/timeline/FileComponent.qml:104 src/timeline/FileComponent.qml:187
#: src/timeline/FileComponent.qml:94 src/timeline/FileComponent.qml:177
#, kde-format
msgctxt ""
"tooltip for a button on a message; offers ability to download its file"
msgid "Download"
msgstr "다운로드"
#: src/timeline/FileComponent.qml:120 src/timeline/FileComponent.qml:177
#: src/timeline/FileComponent.qml:110 src/timeline/FileComponent.qml:167
#, kde-format
msgctxt ""
"tooltip for a button on a message; offers ability to open its downloaded "
@@ -6371,13 +6371,13 @@ msgctxt ""
msgid "Open File"
msgstr "파일 열기"
#: src/timeline/FileComponent.qml:135
#: src/timeline/FileComponent.qml:125
#, kde-format
msgctxt "file download progress"
msgid "%1 / %2"
msgstr "%1 / %2"
#: src/timeline/FileComponent.qml:140
#: src/timeline/FileComponent.qml:130
#, kde-format
msgctxt ""
"tooltip for a button on a message; stops downloading the message's file"
@@ -6406,62 +6406,62 @@ msgstr ""
msgid "Check-out time: %1"
msgstr ""
#: src/timeline/ImageComponent.qml:140
#: src/timeline/ImageComponent.qml:120
#, fuzzy, kde-format
#| msgid "Set Image"
msgctxt "@action:button"
msgid "Show Image"
msgstr "이미지 설정"
#: src/timeline/ItineraryComponent.qml:57
#: src/timeline/ItineraryComponent.qml:54
#, kde-format
msgctxt "@action"
msgid "Send to KDE Itinerary"
msgstr "KDE 여행 정보로 전송"
#: src/timeline/LinkPreviewComponent.qml:136
#: src/timeline/LinkPreviewLoadComponent.qml:79
#: src/timeline/LinkPreviewComponent.qml:131
#: src/timeline/LinkPreviewLoadComponent.qml:76
#, fuzzy, kde-format
#| msgid "Remove device"
msgctxt "As in remove the link preview so it's no longer shown"
msgid "Remove preview"
msgstr "장치 삭제"
#: src/timeline/LinkPreviewComponent.qml:154
#: src/timeline/LinkPreviewComponent.qml:149
#, kde-format
msgid "Shrink preview"
msgstr "미리 보기 축소"
#: src/timeline/LinkPreviewComponent.qml:154
#: src/timeline/LinkPreviewComponent.qml:149
#, kde-format
msgid "Expand preview"
msgstr "미리 보기 확장"
#: src/timeline/LinkPreviewLoadComponent.qml:68
#: src/timeline/LinkPreviewLoadComponent.qml:65
#, kde-format
msgid "Loading URL preview"
msgstr "URL 미리 보기 불러오는 중"
#: src/timeline/LocationComponent.qml:116
#: src/timeline/LocationComponent.qml:111
#, fuzzy, kde-format
#| msgid "Open Externally"
msgctxt "@action:button Open the location in an external program"
msgid "Open Externally"
msgstr "외부 프로그램으로 열기"
#: src/timeline/PollComponent.qml:80
#: src/timeline/PollComponent.qml:70
#, kde-format
msgid "Based on votes by %1 user"
msgid_plural "Based on votes by %1 users"
msgstr[0] "사용자 %1명의 투표에 의함"
#: src/timeline/PollComponent.qml:80
#: src/timeline/PollComponent.qml:70
#, kde-format
msgctxt "as in 'this vote has ended'"
msgid "(Ended)"
msgstr "(종료됨)"
#: src/timeline/ReactionComponent.qml:97
#: src/timeline/ReactionComponent.qml:89
#, fuzzy, kde-format
#| msgid "React"
msgctxt "@button"
@@ -6474,7 +6474,7 @@ msgctxt "Relative time since the room was last read"
msgid "Last read: %1"
msgstr "마지막 읽음: %1"
#: src/timeline/ReplyButtonComponent.qml:44
#: src/timeline/ReplyButtonComponent.qml:34
#, fuzzy, kde-format
#| msgid "Reply"
msgctxt "@action:button"
@@ -6494,25 +6494,25 @@ msgstr "대화의 최초입니다. 이 지점보다 더 오래된 메시지가
msgid "Pl. %1"
msgstr ""
#: src/timeline/VideoComponent.qml:217
#: src/timeline/VideoComponent.qml:197
#, kde-format
msgid "Video"
msgstr "비디오"
#: src/timeline/VideoComponent.qml:257
#: src/timeline/VideoComponent.qml:237
#, fuzzy, kde-format
#| msgid "Video"
msgctxt "@action:button"
msgid "Show Video"
msgstr "비디오"
#: src/timeline/VideoComponent.qml:298
#: src/timeline/VideoComponent.qml:278
#, kde-format
msgctxt "@action:button"
msgid "Volume"
msgstr "음량"
#: src/timeline/VideoComponent.qml:382
#: src/timeline/VideoComponent.qml:362
#, kde-format
msgid "Maximize"
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: 2025-03-07 00:42+0000\n"
"POT-Creation-Date: 2025-03-11 00:41+0000\n"
"PO-Revision-Date: 2023-02-25 01:00+0000\n"
"Last-Translator: Automatically generated\n"
"Language-Team: none\n"
@@ -1030,7 +1030,7 @@ msgstr ""
#: src/login/Homeserver.qml:41 src/login/Username.qml:38
#: src/models/messagecontentmodel.cpp:262
#: src/models/messagecontentmodel.cpp:290 src/timeline/LoadComponent.qml:33
#: src/models/messagecontentmodel.cpp:290 src/timeline/LoadComponent.qml:30
#, kde-format
msgid "Loading"
msgstr ""
@@ -1060,7 +1060,7 @@ msgid "Loading…"
msgstr ""
#: src/login/Login.qml:38 src/login/WelcomePage.qml:250
#: src/settings/ThreePIdCard.qml:183
#: src/settings/ThreePIdCard.qml:189
#, kde-format
msgctxt "@action:button"
msgid "Continue"
@@ -1690,7 +1690,7 @@ msgstr ""
#: src/models/messagecontentmodel.cpp:260
#: src/models/messagecontentmodel.cpp:288
#: src/timeline/LinkPreviewLoadComponent.qml:66
#: src/timeline/LinkPreviewLoadComponent.qml:63
#, kde-format
msgid "Loading reply"
msgstr ""
@@ -1946,25 +1946,25 @@ msgctxt "@info:label"
msgid "%1 invited you"
msgstr ""
#: src/neochatconnection.cpp:77
#: src/neochatconnection.cpp:75
#, kde-format
msgid ""
"File too large to download.<br />Contact your matrix server administrator "
"for support."
msgstr ""
#: src/neochatconnection.cpp:336
#: src/neochatconnection.cpp:329
#, kde-format
msgctxt "@info"
msgid "No identity server configured"
msgstr ""
#: src/neochatconnection.cpp:367
#: src/neochatconnection.cpp:360
#, kde-format
msgid "Room creation failed: %1"
msgstr ""
#: src/neochatconnection.cpp:397
#: src/neochatconnection.cpp:390
#, kde-format
msgid "Space creation failed: %1"
msgstr ""
@@ -5796,180 +5796,180 @@ msgctxt "@title:dialog"
msgid "Select Parameter to Add"
msgstr ""
#: src/settings/ThreePIdCard.qml:55
#: src/settings/ThreePIdCard.qml:58
#, kde-format
msgctxt "@action:button"
msgid "Hide"
msgstr ""
#: src/settings/ThreePIdCard.qml:61
#: src/settings/ThreePIdCard.qml:64
#, kde-format
msgctxt "@action:button"
msgid "Share"
msgstr ""
#: src/settings/ThreePIdCard.qml:66
#: src/settings/ThreePIdCard.qml:69
#, kde-format
msgctxt "@action:button"
msgid "Remove"
msgstr ""
#: src/settings/ThreePIdCard.qml:85
#: src/settings/ThreePIdCard.qml:88
#, kde-format
msgctxt "@action:button"
msgid "Complete"
msgstr ""
#: src/settings/ThreePIdCard.qml:90 src/timeline/ChatBarComponent.qml:110
#: src/settings/ThreePIdCard.qml:93 src/timeline/ChatBarComponent.qml:100
#, kde-format
msgctxt "@action:button"
msgid "Cancel"
msgstr ""
#: src/settings/ThreePIdCard.qml:130
#: src/settings/ThreePIdCard.qml:136
#, kde-format
msgctxt "@label:textbox"
msgid "Country Code for new phone number"
msgstr ""
#: src/settings/ThreePIdCard.qml:146
#: src/settings/ThreePIdCard.qml:152
#, kde-format
msgctxt "@label:textbox"
msgid "New Email Address:"
msgstr ""
#: src/settings/ThreePIdCard.qml:146
#: src/settings/ThreePIdCard.qml:152
#, kde-format
msgctxt "@label:textbox"
msgid "New Phone Number:"
msgstr ""
#: src/settings/ThreePIdCard.qml:150 src/threepidbindhelper.cpp:178
#: src/settings/ThreePIdCard.qml:156 src/threepidbindhelper.cpp:179
#, kde-format
msgid "We've sent you an email"
msgstr ""
#: src/settings/ThreePIdCard.qml:150 src/threepidbindhelper.cpp:178
#: src/settings/ThreePIdCard.qml:156 src/threepidbindhelper.cpp:179
#, kde-format
msgid "We've sent you a text message"
msgstr ""
#: src/settings/ThreePIdCard.qml:150
#: src/settings/ThreePIdCard.qml:156
#, kde-format
msgid ""
"%1. Please follow the instructions there and then click the button below"
msgstr ""
#: src/settings/ThreePIdCard.qml:152 src/threepidbindhelper.cpp:180
#: src/settings/ThreePIdCard.qml:158 src/threepidbindhelper.cpp:181
#, kde-format
msgid "The entered email is not valid"
msgstr ""
#: src/settings/ThreePIdCard.qml:152 src/threepidbindhelper.cpp:180
#: src/settings/ThreePIdCard.qml:158 src/threepidbindhelper.cpp:181
#, kde-format
msgid "The entered phone number is not valid"
msgstr ""
#: src/settings/ThreePIdCard.qml:154
#: src/settings/ThreePIdCard.qml:160
#, kde-format
msgid "Incorrect password entered"
msgstr ""
#: src/settings/ThreePIdCard.qml:156
#: src/settings/ThreePIdCard.qml:162
#, kde-format
msgid ""
"The email has not been verified. Please go to the email and follow the "
"instructions there and then click the button below"
msgstr ""
#: src/settings/ThreePIdCard.qml:156
#: src/settings/ThreePIdCard.qml:162
#, kde-format
msgid ""
"The phone number has not been verified. Please go to the text message and "
"follow the instructions there and then click the button below"
msgstr ""
#: src/settings/ThreePIdCard.qml:183
#: src/settings/ThreePIdCard.qml:189
#, kde-format
msgctxt "@action:button Add new email or phone number"
msgid "Add"
msgstr ""
#: src/settings/ThreePIdCard.qml:191
#: src/settings/ThreePIdCard.qml:197
#, kde-format
msgctxt "@action:button As in 'go back'"
msgid "Back"
msgstr ""
#: src/threepidbindhelper.cpp:177
#: src/threepidbindhelper.cpp:178
#, kde-format
msgid ""
"%1. Please follow the instructions there and then click the button above"
msgstr ""
#: src/threepidbindhelper.cpp:183
#: src/threepidbindhelper.cpp:184
#, kde-format
msgid ""
"The email has not been verified. Please go to the email and follow the "
"instructions there and then click the button above"
msgstr ""
#: src/threepidbindhelper.cpp:184
#: src/threepidbindhelper.cpp:185
#, kde-format
msgid ""
"The phone number has not been verified. Please go to the text message and "
"follow the instructions there and then click the button above"
msgstr ""
#: src/timeline/BaseMessageComponentChooser.qml:249
#: src/timeline/BaseMessageComponentChooser.qml:172
#, kde-format
msgid "%1 started a user verification"
msgstr ""
#: src/timeline/ChatBarComponent.qml:98
#: src/timeline/ChatBarComponent.qml:88
#, kde-format
msgctxt "@action:button"
msgid "Confirm edit"
msgstr ""
#: src/timeline/ChatBarComponent.qml:98
#: src/timeline/ChatBarComponent.qml:88
#, kde-format
msgctxt "@action:button"
msgid "Post message in thread"
msgstr ""
#: src/timeline/CodeComponent.qml:164
#: src/timeline/CodeComponent.qml:159
#, kde-format
msgid "Copy to clipboard"
msgstr ""
#: src/timeline/CodeComponent.qml:176
#: src/timeline/CodeComponent.qml:171
#, kde-format
msgctxt "@action:button"
msgid "Maximize"
msgstr ""
#: src/timeline/EncryptedComponent.qml:21
#: src/timeline/EncryptedComponent.qml:18
#, kde-format
msgid ""
"This message is encrypted and the sender has not shared the key with this "
"device."
msgstr ""
#: src/timeline/FetchButtonComponent.qml:41
#: src/timeline/FetchButtonComponent.qml:36
#, kde-format
msgctxt "@action:button"
msgid "Fetch More Events"
msgstr ""
#: src/timeline/FileComponent.qml:104 src/timeline/FileComponent.qml:187
#: src/timeline/FileComponent.qml:94 src/timeline/FileComponent.qml:177
#, kde-format
msgctxt ""
"tooltip for a button on a message; offers ability to download its file"
msgid "Download"
msgstr ""
#: src/timeline/FileComponent.qml:120 src/timeline/FileComponent.qml:177
#: src/timeline/FileComponent.qml:110 src/timeline/FileComponent.qml:167
#, kde-format
msgctxt ""
"tooltip for a button on a message; offers ability to open its downloaded "
@@ -5977,13 +5977,13 @@ msgctxt ""
msgid "Open File"
msgstr ""
#: src/timeline/FileComponent.qml:135
#: src/timeline/FileComponent.qml:125
#, kde-format
msgctxt "file download progress"
msgid "%1 / %2"
msgstr ""
#: src/timeline/FileComponent.qml:140
#: src/timeline/FileComponent.qml:130
#, kde-format
msgctxt ""
"tooltip for a button on a message; stops downloading the message's file"
@@ -6012,47 +6012,47 @@ msgstr ""
msgid "Check-out time: %1"
msgstr ""
#: src/timeline/ImageComponent.qml:140
#: src/timeline/ImageComponent.qml:120
#, kde-format
msgctxt "@action:button"
msgid "Show Image"
msgstr ""
#: src/timeline/ItineraryComponent.qml:57
#: src/timeline/ItineraryComponent.qml:54
#, kde-format
msgctxt "@action"
msgid "Send to KDE Itinerary"
msgstr ""
#: src/timeline/LinkPreviewComponent.qml:136
#: src/timeline/LinkPreviewLoadComponent.qml:79
#: src/timeline/LinkPreviewComponent.qml:131
#: src/timeline/LinkPreviewLoadComponent.qml:76
#, kde-format
msgctxt "As in remove the link preview so it's no longer shown"
msgid "Remove preview"
msgstr ""
#: src/timeline/LinkPreviewComponent.qml:154
#: src/timeline/LinkPreviewComponent.qml:149
#, kde-format
msgid "Shrink preview"
msgstr ""
#: src/timeline/LinkPreviewComponent.qml:154
#: src/timeline/LinkPreviewComponent.qml:149
#, kde-format
msgid "Expand preview"
msgstr ""
#: src/timeline/LinkPreviewLoadComponent.qml:68
#: src/timeline/LinkPreviewLoadComponent.qml:65
#, kde-format
msgid "Loading URL preview"
msgstr ""
#: src/timeline/LocationComponent.qml:116
#: src/timeline/LocationComponent.qml:111
#, kde-format
msgctxt "@action:button Open the location in an external program"
msgid "Open Externally"
msgstr ""
#: src/timeline/PollComponent.qml:80
#: src/timeline/PollComponent.qml:70
#, kde-format
msgid "Based on votes by %1 user"
msgid_plural "Based on votes by %1 users"
@@ -6060,13 +6060,13 @@ msgstr[0] ""
msgstr[1] ""
msgstr[2] ""
#: src/timeline/PollComponent.qml:80
#: src/timeline/PollComponent.qml:70
#, kde-format
msgctxt "as in 'this vote has ended'"
msgid "(Ended)"
msgstr ""
#: src/timeline/ReactionComponent.qml:97
#: src/timeline/ReactionComponent.qml:89
#, kde-format
msgctxt "@button"
msgid "React"
@@ -6078,7 +6078,7 @@ msgctxt "Relative time since the room was last read"
msgid "Last read: %1"
msgstr ""
#: src/timeline/ReplyButtonComponent.qml:44
#: src/timeline/ReplyButtonComponent.qml:34
#, kde-format
msgctxt "@action:button"
msgid "Reply"
@@ -6097,24 +6097,24 @@ msgstr ""
msgid "Pl. %1"
msgstr ""
#: src/timeline/VideoComponent.qml:217
#: src/timeline/VideoComponent.qml:197
#, kde-format
msgid "Video"
msgstr ""
#: src/timeline/VideoComponent.qml:257
#: src/timeline/VideoComponent.qml:237
#, kde-format
msgctxt "@action:button"
msgid "Show Video"
msgstr ""
#: src/timeline/VideoComponent.qml:298
#: src/timeline/VideoComponent.qml:278
#, kde-format
msgctxt "@action:button"
msgid "Volume"
msgstr ""
#: src/timeline/VideoComponent.qml:382
#: src/timeline/VideoComponent.qml:362
#, kde-format
msgid "Maximize"
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: 2025-03-07 00:42+0000\n"
"POT-Creation-Date: 2025-03-11 00:41+0000\n"
"PO-Revision-Date: 2025-03-06 18:51+0200\n"
"Last-Translator: Toms Trasuns <toms.trasuns@posteo.net>\n"
"Language-Team: Latvian <kde-i18n-doc@kde.org>\n"
@@ -1040,7 +1040,7 @@ msgstr "Šajā serverī reģistrācija ir izslēgta."
#: src/login/Homeserver.qml:41 src/login/Username.qml:38
#: src/models/messagecontentmodel.cpp:262
#: src/models/messagecontentmodel.cpp:290 src/timeline/LoadComponent.qml:33
#: src/models/messagecontentmodel.cpp:290 src/timeline/LoadComponent.qml:30
#, kde-format
msgid "Loading"
msgstr "Ielādē"
@@ -1071,7 +1071,7 @@ msgid "Loading…"
msgstr "Ielādē..."
#: src/login/Login.qml:38 src/login/WelcomePage.qml:250
#: src/settings/ThreePIdCard.qml:183
#: src/settings/ThreePIdCard.qml:189
#, kde-format
msgctxt "@action:button"
msgid "Continue"
@@ -1701,7 +1701,7 @@ msgstr "Savas emocijzīmes"
#: src/models/messagecontentmodel.cpp:260
#: src/models/messagecontentmodel.cpp:288
#: src/timeline/LinkPreviewLoadComponent.qml:66
#: src/timeline/LinkPreviewLoadComponent.qml:63
#, kde-format
msgid "Loading reply"
msgstr "Ielādē atbildi"
@@ -1960,7 +1960,7 @@ msgctxt "@info:label"
msgid "%1 invited you"
msgstr "%1 jūs uzaicināja"
#: src/neochatconnection.cpp:77
#: src/neochatconnection.cpp:75
#, kde-format
msgid ""
"File too large to download.<br />Contact your matrix server administrator "
@@ -1969,18 +1969,18 @@ msgstr ""
"Datne ir pārāk liela lejupielādei.<br />Atbalstam sazinieties ar sava "
"„Matrix“ servera administratoru."
#: src/neochatconnection.cpp:336
#: src/neochatconnection.cpp:329
#, kde-format
msgctxt "@info"
msgid "No identity server configured"
msgstr "Identitātes serveris nav konfigurēts"
#: src/neochatconnection.cpp:367
#: src/neochatconnection.cpp:360
#, kde-format
msgid "Room creation failed: %1"
msgstr "Istabas izveide neizdevās: %1"
#: src/neochatconnection.cpp:397
#: src/neochatconnection.cpp:390
#, kde-format
msgid "Space creation failed: %1"
msgstr "Telpas izveide neizdevās: %1"
@@ -5858,86 +5858,86 @@ msgctxt "@title:dialog"
msgid "Select Parameter to Add"
msgstr "Atlasiet pievienojamu parametru"
#: src/settings/ThreePIdCard.qml:55
#: src/settings/ThreePIdCard.qml:58
#, kde-format
msgctxt "@action:button"
msgid "Hide"
msgstr "Slēpt"
#: src/settings/ThreePIdCard.qml:61
#: src/settings/ThreePIdCard.qml:64
#, kde-format
msgctxt "@action:button"
msgid "Share"
msgstr "Kopīgot"
#: src/settings/ThreePIdCard.qml:66
#: src/settings/ThreePIdCard.qml:69
#, kde-format
msgctxt "@action:button"
msgid "Remove"
msgstr "Noņemt"
#: src/settings/ThreePIdCard.qml:85
#: src/settings/ThreePIdCard.qml:88
#, kde-format
msgctxt "@action:button"
msgid "Complete"
msgstr "Pabeigt"
#: src/settings/ThreePIdCard.qml:90 src/timeline/ChatBarComponent.qml:110
#: src/settings/ThreePIdCard.qml:93 src/timeline/ChatBarComponent.qml:100
#, kde-format
msgctxt "@action:button"
msgid "Cancel"
msgstr "Atcelt"
#: src/settings/ThreePIdCard.qml:130
#: src/settings/ThreePIdCard.qml:136
#, kde-format
msgctxt "@label:textbox"
msgid "Country Code for new phone number"
msgstr "Valsts kods jaunam tālruņa numuram"
#: src/settings/ThreePIdCard.qml:146
#: src/settings/ThreePIdCard.qml:152
#, kde-format
msgctxt "@label:textbox"
msgid "New Email Address:"
msgstr "Jauna e-pasta adrese:"
#: src/settings/ThreePIdCard.qml:146
#: src/settings/ThreePIdCard.qml:152
#, kde-format
msgctxt "@label:textbox"
msgid "New Phone Number:"
msgstr "Jauns tālruņa numurs:"
#: src/settings/ThreePIdCard.qml:150 src/threepidbindhelper.cpp:178
#: src/settings/ThreePIdCard.qml:156 src/threepidbindhelper.cpp:179
#, kde-format
msgid "We've sent you an email"
msgstr "Mēs jums nosūtījām e-pasta vēstuli"
#: src/settings/ThreePIdCard.qml:150 src/threepidbindhelper.cpp:178
#: src/settings/ThreePIdCard.qml:156 src/threepidbindhelper.cpp:179
#, kde-format
msgid "We've sent you a text message"
msgstr "Mēs jums nosūtījām īsziņu"
#: src/settings/ThreePIdCard.qml:150
#: src/settings/ThreePIdCard.qml:156
#, kde-format
msgid ""
"%1. Please follow the instructions there and then click the button below"
msgstr "%1. Sekojiet tajā esošajiem norādījumiem un spiediet pogu zemāk"
#: src/settings/ThreePIdCard.qml:152 src/threepidbindhelper.cpp:180
#: src/settings/ThreePIdCard.qml:158 src/threepidbindhelper.cpp:181
#, kde-format
msgid "The entered email is not valid"
msgstr "Ievadītā e-pasta adrese nav derīga"
#: src/settings/ThreePIdCard.qml:152 src/threepidbindhelper.cpp:180
#: src/settings/ThreePIdCard.qml:158 src/threepidbindhelper.cpp:181
#, kde-format
msgid "The entered phone number is not valid"
msgstr "Ievadītais tālruņa numurs nav derīgs"
#: src/settings/ThreePIdCard.qml:154
#: src/settings/ThreePIdCard.qml:160
#, kde-format
msgid "Incorrect password entered"
msgstr "Ievadīta nepareiza parole"
#: src/settings/ThreePIdCard.qml:156
#: src/settings/ThreePIdCard.qml:162
#, kde-format
msgid ""
"The email has not been verified. Please go to the email and follow the "
@@ -5946,7 +5946,7 @@ msgstr ""
"E-pasta adrese nav verificēta. Atveriet e-pasta vēstuli, sekojiet tajā "
"esošajiem norādījumiem un klikšķiniet uz pogas zemāk"
#: src/settings/ThreePIdCard.qml:156
#: src/settings/ThreePIdCard.qml:162
#, kde-format
msgid ""
"The phone number has not been verified. Please go to the text message and "
@@ -5955,25 +5955,25 @@ msgstr ""
"Tālruņa numurs nav verificēts. Atveriet īsziņu, sekojiet tajā esošajiem "
"norādījumiem un klikšķiniet uz pogas zemāk"
#: src/settings/ThreePIdCard.qml:183
#: src/settings/ThreePIdCard.qml:189
#, kde-format
msgctxt "@action:button Add new email or phone number"
msgid "Add"
msgstr "Pievienot"
#: src/settings/ThreePIdCard.qml:191
#: src/settings/ThreePIdCard.qml:197
#, kde-format
msgctxt "@action:button As in 'go back'"
msgid "Back"
msgstr "Atpakaļ"
#: src/threepidbindhelper.cpp:177
#: src/threepidbindhelper.cpp:178
#, kde-format
msgid ""
"%1. Please follow the instructions there and then click the button above"
msgstr "%1. Sekojiet tajā esošajiem norādījumiem un spiediet pogu augstāk"
#: src/threepidbindhelper.cpp:183
#: src/threepidbindhelper.cpp:184
#, kde-format
msgid ""
"The email has not been verified. Please go to the email and follow the "
@@ -5982,7 +5982,7 @@ msgstr ""
"E-pasta adrese nav verificēta. Atveriet e-pasta vēstuli, sekojiet tajā "
"esošajiem norādījumiem un klikšķiniet uz pogas augstāk"
#: src/threepidbindhelper.cpp:184
#: src/threepidbindhelper.cpp:185
#, kde-format
msgid ""
"The phone number has not been verified. Please go to the text message and "
@@ -5991,55 +5991,55 @@ msgstr ""
"Tālruņa numurs nav verificēts. Atveriet īsziņu, sekojiet tajā esošajiem "
"norādījumiem un klikšķiniet uz pogas augstāk"
#: src/timeline/BaseMessageComponentChooser.qml:249
#: src/timeline/BaseMessageComponentChooser.qml:172
#, kde-format
msgid "%1 started a user verification"
msgstr "%1 uzsāka lietotāja verifikāciju"
#: src/timeline/ChatBarComponent.qml:98
#: src/timeline/ChatBarComponent.qml:88
#, kde-format
msgctxt "@action:button"
msgid "Confirm edit"
msgstr "Apstiprināt izmaiņas"
#: src/timeline/ChatBarComponent.qml:98
#: src/timeline/ChatBarComponent.qml:88
#, kde-format
msgctxt "@action:button"
msgid "Post message in thread"
msgstr "Publicēt ziņu pavedienā"
#: src/timeline/CodeComponent.qml:164
#: src/timeline/CodeComponent.qml:159
#, kde-format
msgid "Copy to clipboard"
msgstr "Kopēt starpliktuvē"
#: src/timeline/CodeComponent.qml:176
#: src/timeline/CodeComponent.qml:171
#, kde-format
msgctxt "@action:button"
msgid "Maximize"
msgstr "Maksimizēt"
#: src/timeline/EncryptedComponent.qml:21
#: src/timeline/EncryptedComponent.qml:18
#, kde-format
msgid ""
"This message is encrypted and the sender has not shared the key with this "
"device."
msgstr "Šī ziņa ir šifrēta, bet sūtītājs nav kopīgojis atslēgu ar šo ierīci."
#: src/timeline/FetchButtonComponent.qml:41
#: src/timeline/FetchButtonComponent.qml:36
#, kde-format
msgctxt "@action:button"
msgid "Fetch More Events"
msgstr "Izgūt vairāk notikumu"
#: src/timeline/FileComponent.qml:104 src/timeline/FileComponent.qml:187
#: src/timeline/FileComponent.qml:94 src/timeline/FileComponent.qml:177
#, kde-format
msgctxt ""
"tooltip for a button on a message; offers ability to download its file"
msgid "Download"
msgstr "Lejupielādēt"
#: src/timeline/FileComponent.qml:120 src/timeline/FileComponent.qml:177
#: src/timeline/FileComponent.qml:110 src/timeline/FileComponent.qml:167
#, kde-format
msgctxt ""
"tooltip for a button on a message; offers ability to open its downloaded "
@@ -6047,13 +6047,13 @@ msgctxt ""
msgid "Open File"
msgstr "Atvērt datni"
#: src/timeline/FileComponent.qml:135
#: src/timeline/FileComponent.qml:125
#, kde-format
msgctxt "file download progress"
msgid "%1 / %2"
msgstr "%1 / %2"
#: src/timeline/FileComponent.qml:140
#: src/timeline/FileComponent.qml:130
#, kde-format
msgctxt ""
"tooltip for a button on a message; stops downloading the message's file"
@@ -6082,47 +6082,47 @@ msgstr "Reģistrācijas laiks: %1"
msgid "Check-out time: %1"
msgstr "Izrakstīšanās laiks: %1"
#: src/timeline/ImageComponent.qml:140
#: src/timeline/ImageComponent.qml:120
#, kde-format
msgctxt "@action:button"
msgid "Show Image"
msgstr "Rādīt attēlu"
#: src/timeline/ItineraryComponent.qml:57
#: src/timeline/ItineraryComponent.qml:54
#, kde-format
msgctxt "@action"
msgid "Send to KDE Itinerary"
msgstr "Sūtīt uz KDE „Itinerary“"
#: src/timeline/LinkPreviewComponent.qml:136
#: src/timeline/LinkPreviewLoadComponent.qml:79
#: src/timeline/LinkPreviewComponent.qml:131
#: src/timeline/LinkPreviewLoadComponent.qml:76
#, kde-format
msgctxt "As in remove the link preview so it's no longer shown"
msgid "Remove preview"
msgstr "Noņemt priekšskatījumu"
#: src/timeline/LinkPreviewComponent.qml:154
#: src/timeline/LinkPreviewComponent.qml:149
#, kde-format
msgid "Shrink preview"
msgstr "Samazināt priekšskatījumu"
#: src/timeline/LinkPreviewComponent.qml:154
#: src/timeline/LinkPreviewComponent.qml:149
#, kde-format
msgid "Expand preview"
msgstr "Palielināt priekšskatījumu"
#: src/timeline/LinkPreviewLoadComponent.qml:68
#: src/timeline/LinkPreviewLoadComponent.qml:65
#, kde-format
msgid "Loading URL preview"
msgstr "Ielādē URL priekšskatījumu"
#: src/timeline/LocationComponent.qml:116
#: src/timeline/LocationComponent.qml:111
#, kde-format
msgctxt "@action:button Open the location in an external program"
msgid "Open Externally"
msgstr "Atvērt ārēji"
#: src/timeline/PollComponent.qml:80
#: src/timeline/PollComponent.qml:70
#, kde-format
msgid "Based on votes by %1 user"
msgid_plural "Based on votes by %1 users"
@@ -6130,13 +6130,13 @@ msgstr[0] "Balstoties uz %1 lietotāja balsīm"
msgstr[1] "Balstoties uz %1 lietotāju balsīm"
msgstr[2] "Balstoties uz %1 lietotāju balsīm"
#: src/timeline/PollComponent.qml:80
#: src/timeline/PollComponent.qml:70
#, kde-format
msgctxt "as in 'this vote has ended'"
msgid "(Ended)"
msgstr "(Beidzās)"
#: src/timeline/ReactionComponent.qml:97
#: src/timeline/ReactionComponent.qml:89
#, kde-format
msgctxt "@button"
msgid "React"
@@ -6148,7 +6148,7 @@ msgctxt "Relative time since the room was last read"
msgid "Last read: %1"
msgstr "Pēdējo reizi lasīta: %1"
#: src/timeline/ReplyButtonComponent.qml:44
#: src/timeline/ReplyButtonComponent.qml:34
#, kde-format
msgctxt "@action:button"
msgid "Reply"
@@ -6167,24 +6167,24 @@ msgstr "Šis ir tērzēšanas sākums. Agrāk par šo vietu vēsturē ziņu nav.
msgid "Pl. %1"
msgstr "Pl. %1"
#: src/timeline/VideoComponent.qml:217
#: src/timeline/VideoComponent.qml:197
#, kde-format
msgid "Video"
msgstr "Video"
#: src/timeline/VideoComponent.qml:257
#: src/timeline/VideoComponent.qml:237
#, kde-format
msgctxt "@action:button"
msgid "Show Video"
msgstr "Rādīt video"
#: src/timeline/VideoComponent.qml:298
#: src/timeline/VideoComponent.qml:278
#, kde-format
msgctxt "@action:button"
msgid "Volume"
msgstr "Skaļums"
#: src/timeline/VideoComponent.qml:382
#: src/timeline/VideoComponent.qml:362
#, kde-format
msgid "Maximize"
msgstr "Maksimizēt"

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: 2025-03-07 00:42+0000\n"
"POT-Creation-Date: 2025-03-11 00:41+0000\n"
"PO-Revision-Date: 2025-03-06 12:48+0100\n"
"Last-Translator: Freek de Kruijf <freekdekruijf@kde.nl>\n"
"Language-Team: \n"
@@ -1038,7 +1038,7 @@ msgstr "Registratie is uitgeschakeld op deze server."
#: src/login/Homeserver.qml:41 src/login/Username.qml:38
#: src/models/messagecontentmodel.cpp:262
#: src/models/messagecontentmodel.cpp:290 src/timeline/LoadComponent.qml:33
#: src/models/messagecontentmodel.cpp:290 src/timeline/LoadComponent.qml:30
#, kde-format
msgid "Loading"
msgstr "Laden"
@@ -1070,7 +1070,7 @@ msgid "Loading…"
msgstr "Laden…"
#: src/login/Login.qml:38 src/login/WelcomePage.qml:250
#: src/settings/ThreePIdCard.qml:183
#: src/settings/ThreePIdCard.qml:189
#, kde-format
msgctxt "@action:button"
msgid "Continue"
@@ -1702,7 +1702,7 @@ msgstr "Eigen emoji's"
#: src/models/messagecontentmodel.cpp:260
#: src/models/messagecontentmodel.cpp:288
#: src/timeline/LinkPreviewLoadComponent.qml:66
#: src/timeline/LinkPreviewLoadComponent.qml:63
#, kde-format
msgid "Loading reply"
msgstr "Antwoord wordt geladen"
@@ -1962,7 +1962,7 @@ msgctxt "@info:label"
msgid "%1 invited you"
msgstr "%1 heeft u uitgenodigd"
#: src/neochatconnection.cpp:77
#: src/neochatconnection.cpp:75
#, kde-format
msgid ""
"File too large to download.<br />Contact your matrix server administrator "
@@ -1971,18 +1971,18 @@ msgstr ""
"Bestand is te groot om te downloaden.<br />Neem contact op met uw matrix-"
"serverbeheerder voor ondersteuning."
#: src/neochatconnection.cpp:336
#: src/neochatconnection.cpp:329
#, kde-format
msgctxt "@info"
msgid "No identity server configured"
msgstr "Geen identiteitsserver geconfigureerd"
#: src/neochatconnection.cpp:367
#: src/neochatconnection.cpp:360
#, kde-format
msgid "Room creation failed: %1"
msgstr "Aanmaken van room is mislukt: %1"
#: src/neochatconnection.cpp:397
#: src/neochatconnection.cpp:390
#, kde-format
msgid "Space creation failed: %1"
msgstr "Ruimte aanmaken is mislukt: %1"
@@ -5896,86 +5896,86 @@ msgctxt "@title:dialog"
msgid "Select Parameter to Add"
msgstr "Selecteer toe te voegen parameter"
#: src/settings/ThreePIdCard.qml:55
#: src/settings/ThreePIdCard.qml:58
#, kde-format
msgctxt "@action:button"
msgid "Hide"
msgstr "Verbergen"
#: src/settings/ThreePIdCard.qml:61
#: src/settings/ThreePIdCard.qml:64
#, kde-format
msgctxt "@action:button"
msgid "Share"
msgstr "Delen"
#: src/settings/ThreePIdCard.qml:66
#: src/settings/ThreePIdCard.qml:69
#, kde-format
msgctxt "@action:button"
msgid "Remove"
msgstr "Verwijderen"
#: src/settings/ThreePIdCard.qml:85
#: src/settings/ThreePIdCard.qml:88
#, kde-format
msgctxt "@action:button"
msgid "Complete"
msgstr "Voltooid"
#: src/settings/ThreePIdCard.qml:90 src/timeline/ChatBarComponent.qml:110
#: src/settings/ThreePIdCard.qml:93 src/timeline/ChatBarComponent.qml:100
#, kde-format
msgctxt "@action:button"
msgid "Cancel"
msgstr "Annuleren"
#: src/settings/ThreePIdCard.qml:130
#: src/settings/ThreePIdCard.qml:136
#, kde-format
msgctxt "@label:textbox"
msgid "Country Code for new phone number"
msgstr "Landcode voor nieuw telefoonnummer"
#: src/settings/ThreePIdCard.qml:146
#: src/settings/ThreePIdCard.qml:152
#, kde-format
msgctxt "@label:textbox"
msgid "New Email Address:"
msgstr "Nieuw e-mailadres:"
#: src/settings/ThreePIdCard.qml:146
#: src/settings/ThreePIdCard.qml:152
#, kde-format
msgctxt "@label:textbox"
msgid "New Phone Number:"
msgstr "Nieuw telefoonnummer:"
#: src/settings/ThreePIdCard.qml:150 src/threepidbindhelper.cpp:178
#: src/settings/ThreePIdCard.qml:156 src/threepidbindhelper.cpp:179
#, kde-format
msgid "We've sent you an email"
msgstr "We hebben u een e-mail gestuurd"
#: src/settings/ThreePIdCard.qml:150 src/threepidbindhelper.cpp:178
#: src/settings/ThreePIdCard.qml:156 src/threepidbindhelper.cpp:179
#, kde-format
msgid "We've sent you a text message"
msgstr "We hebben u een tekstbericht gestuurd"
#: src/settings/ThreePIdCard.qml:150
#: src/settings/ThreePIdCard.qml:156
#, kde-format
msgid ""
"%1. Please follow the instructions there and then click the button below"
msgstr "%1. Volg de instructies daar en klik daarna op de onderstaande knop"
#: src/settings/ThreePIdCard.qml:152 src/threepidbindhelper.cpp:180
#: src/settings/ThreePIdCard.qml:158 src/threepidbindhelper.cpp:181
#, kde-format
msgid "The entered email is not valid"
msgstr "De ingevoerde e-mail is niet geldig"
#: src/settings/ThreePIdCard.qml:152 src/threepidbindhelper.cpp:180
#: src/settings/ThreePIdCard.qml:158 src/threepidbindhelper.cpp:181
#, kde-format
msgid "The entered phone number is not valid"
msgstr "Het ingevoerde telefoonnummer is niet geldig"
#: src/settings/ThreePIdCard.qml:154
#: src/settings/ThreePIdCard.qml:160
#, kde-format
msgid "Incorrect password entered"
msgstr "Verkeerd wachtwoord ingevoerd"
#: src/settings/ThreePIdCard.qml:156
#: src/settings/ThreePIdCard.qml:162
#, kde-format
msgid ""
"The email has not been verified. Please go to the email and follow the "
@@ -5984,7 +5984,7 @@ msgstr ""
"De e-mail is niet geverifieerd. Ga naar de e-mail en volg de instructies "
"daar en klik daarna op de onderstaande knop"
#: src/settings/ThreePIdCard.qml:156
#: src/settings/ThreePIdCard.qml:162
#, kde-format
msgid ""
"The phone number has not been verified. Please go to the text message and "
@@ -5993,25 +5993,25 @@ msgstr ""
"De telefoonnummer is niet geverifieerd. Ga naar het tekstbericht en volg de "
"instructies daar en klik daarna op de onderstaande knop"
#: src/settings/ThreePIdCard.qml:183
#: src/settings/ThreePIdCard.qml:189
#, kde-format
msgctxt "@action:button Add new email or phone number"
msgid "Add"
msgstr "Toevoegen"
#: src/settings/ThreePIdCard.qml:191
#: src/settings/ThreePIdCard.qml:197
#, kde-format
msgctxt "@action:button As in 'go back'"
msgid "Back"
msgstr "Terug"
#: src/threepidbindhelper.cpp:177
#: src/threepidbindhelper.cpp:178
#, kde-format
msgid ""
"%1. Please follow the instructions there and then click the button above"
msgstr "%1. Volg de instructies daar en klik daarna op de bovenstaande knop"
#: src/threepidbindhelper.cpp:183
#: src/threepidbindhelper.cpp:184
#, kde-format
msgid ""
"The email has not been verified. Please go to the email and follow the "
@@ -6020,7 +6020,7 @@ msgstr ""
"De e-mail is niet geverifieerd. Ga naar de e-mail en volg de instructies "
"daar en klik daarna op de bovenstaande knop"
#: src/threepidbindhelper.cpp:184
#: src/threepidbindhelper.cpp:185
#, kde-format
msgid ""
"The phone number has not been verified. Please go to the text message and "
@@ -6029,35 +6029,35 @@ msgstr ""
"De telefoonnummer is niet geverifieerd. Ga naar het tekstbericht en volg de "
"instructies daar en klik daarna op de bovenstaande knop"
#: src/timeline/BaseMessageComponentChooser.qml:249
#: src/timeline/BaseMessageComponentChooser.qml:172
#, kde-format
msgid "%1 started a user verification"
msgstr "%1 is verificatie van een gebruiker gestart"
#: src/timeline/ChatBarComponent.qml:98
#: src/timeline/ChatBarComponent.qml:88
#, kde-format
msgctxt "@action:button"
msgid "Confirm edit"
msgstr "Bewerking bevestigen"
#: src/timeline/ChatBarComponent.qml:98
#: src/timeline/ChatBarComponent.qml:88
#, kde-format
msgctxt "@action:button"
msgid "Post message in thread"
msgstr "Bericht in discussie posten"
#: src/timeline/CodeComponent.qml:164
#: src/timeline/CodeComponent.qml:159
#, kde-format
msgid "Copy to clipboard"
msgstr "Naar klembord kopiëren"
#: src/timeline/CodeComponent.qml:176
#: src/timeline/CodeComponent.qml:171
#, kde-format
msgctxt "@action:button"
msgid "Maximize"
msgstr "Maximaliseren"
#: src/timeline/EncryptedComponent.qml:21
#: src/timeline/EncryptedComponent.qml:18
#, kde-format
msgid ""
"This message is encrypted and the sender has not shared the key with this "
@@ -6066,20 +6066,20 @@ msgstr ""
"Dit bericht is versleuteld en de verzender heeft de sleutel niet gedeeld met "
"dit apparaat."
#: src/timeline/FetchButtonComponent.qml:41
#: src/timeline/FetchButtonComponent.qml:36
#, kde-format
msgctxt "@action:button"
msgid "Fetch More Events"
msgstr "Meer gebeurtenissen ophalen"
#: src/timeline/FileComponent.qml:104 src/timeline/FileComponent.qml:187
#: src/timeline/FileComponent.qml:94 src/timeline/FileComponent.qml:177
#, kde-format
msgctxt ""
"tooltip for a button on a message; offers ability to download its file"
msgid "Download"
msgstr "Downloaden"
#: src/timeline/FileComponent.qml:120 src/timeline/FileComponent.qml:177
#: src/timeline/FileComponent.qml:110 src/timeline/FileComponent.qml:167
#, kde-format
msgctxt ""
"tooltip for a button on a message; offers ability to open its downloaded "
@@ -6087,13 +6087,13 @@ msgctxt ""
msgid "Open File"
msgstr "Bestand openen"
#: src/timeline/FileComponent.qml:135
#: src/timeline/FileComponent.qml:125
#, kde-format
msgctxt "file download progress"
msgid "%1 / %2"
msgstr "%1 / %2"
#: src/timeline/FileComponent.qml:140
#: src/timeline/FileComponent.qml:130
#, kde-format
msgctxt ""
"tooltip for a button on a message; stops downloading the message's file"
@@ -6122,60 +6122,60 @@ msgstr "Inchecktijd: %1"
msgid "Check-out time: %1"
msgstr "Uitchecktijd: %1"
#: src/timeline/ImageComponent.qml:140
#: src/timeline/ImageComponent.qml:120
#, kde-format
msgctxt "@action:button"
msgid "Show Image"
msgstr "Afbeelding tonen"
#: src/timeline/ItineraryComponent.qml:57
#: src/timeline/ItineraryComponent.qml:54
#, kde-format
msgctxt "@action"
msgid "Send to KDE Itinerary"
msgstr "Naar KDE Itinerary zenden"
#: src/timeline/LinkPreviewComponent.qml:136
#: src/timeline/LinkPreviewLoadComponent.qml:79
#: src/timeline/LinkPreviewComponent.qml:131
#: src/timeline/LinkPreviewLoadComponent.qml:76
#, kde-format
msgctxt "As in remove the link preview so it's no longer shown"
msgid "Remove preview"
msgstr "Voorbeeld verwijderen"
#: src/timeline/LinkPreviewComponent.qml:154
#: src/timeline/LinkPreviewComponent.qml:149
#, kde-format
msgid "Shrink preview"
msgstr "Voorbeeld invouwen"
#: src/timeline/LinkPreviewComponent.qml:154
#: src/timeline/LinkPreviewComponent.qml:149
#, kde-format
msgid "Expand preview"
msgstr "Voorbeeld uitvouwen"
#: src/timeline/LinkPreviewLoadComponent.qml:68
#: src/timeline/LinkPreviewLoadComponent.qml:65
#, kde-format
msgid "Loading URL preview"
msgstr "URL voorbeeld laden"
#: src/timeline/LocationComponent.qml:116
#: src/timeline/LocationComponent.qml:111
#, kde-format
msgctxt "@action:button Open the location in an external program"
msgid "Open Externally"
msgstr "Extern openen"
#: src/timeline/PollComponent.qml:80
#: src/timeline/PollComponent.qml:70
#, kde-format
msgid "Based on votes by %1 user"
msgid_plural "Based on votes by %1 users"
msgstr[0] "Gebaseerd op stem van %1 gebruiker"
msgstr[1] "Gebaseerd op stemmen van %1 gebruikers"
#: src/timeline/PollComponent.qml:80
#: src/timeline/PollComponent.qml:70
#, kde-format
msgctxt "as in 'this vote has ended'"
msgid "(Ended)"
msgstr "(Beëindigd)"
#: src/timeline/ReactionComponent.qml:97
#: src/timeline/ReactionComponent.qml:89
#, kde-format
msgctxt "@button"
msgid "React"
@@ -6187,7 +6187,7 @@ msgctxt "Relative time since the room was last read"
msgid "Last read: %1"
msgstr "Laatst gelezen: %1"
#: src/timeline/ReplyButtonComponent.qml:44
#: src/timeline/ReplyButtonComponent.qml:34
#, kde-format
msgctxt "@action:button"
msgid "Reply"
@@ -6207,24 +6207,24 @@ msgstr ""
msgid "Pl. %1"
msgstr "Pl. %1"
#: src/timeline/VideoComponent.qml:217
#: src/timeline/VideoComponent.qml:197
#, kde-format
msgid "Video"
msgstr "Video"
#: src/timeline/VideoComponent.qml:257
#: src/timeline/VideoComponent.qml:237
#, kde-format
msgctxt "@action:button"
msgid "Show Video"
msgstr "Video tonen"
#: src/timeline/VideoComponent.qml:298
#: src/timeline/VideoComponent.qml:278
#, kde-format
msgctxt "@action:button"
msgid "Volume"
msgstr "Volume"
#: src/timeline/VideoComponent.qml:382
#: src/timeline/VideoComponent.qml:362
#, kde-format
msgid "Maximize"
msgstr "Maximaliseren"

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: 2025-03-07 00:42+0000\n"
"POT-Creation-Date: 2025-03-11 00:41+0000\n"
"PO-Revision-Date: 2024-10-27 15:01+0100\n"
"Last-Translator: Karl Ove Hufthammer <karl@huftis.org>\n"
"Language-Team: Norwegian Nynorsk <l10n-no@lister.huftis.org>\n"
@@ -1038,7 +1038,7 @@ msgstr "Denne tenaren er stengd for nye registreringar."
#: src/login/Homeserver.qml:41 src/login/Username.qml:38
#: src/models/messagecontentmodel.cpp:262
#: src/models/messagecontentmodel.cpp:290 src/timeline/LoadComponent.qml:33
#: src/models/messagecontentmodel.cpp:290 src/timeline/LoadComponent.qml:30
#, kde-format
msgid "Loading"
msgstr "Hentar inn"
@@ -1069,7 +1069,7 @@ msgid "Loading…"
msgstr "Lastar …"
#: src/login/Login.qml:38 src/login/WelcomePage.qml:250
#: src/settings/ThreePIdCard.qml:183
#: src/settings/ThreePIdCard.qml:189
#, kde-format
msgctxt "@action:button"
msgid "Continue"
@@ -1700,7 +1700,7 @@ msgstr "Eigne emojiar"
#: src/models/messagecontentmodel.cpp:260
#: src/models/messagecontentmodel.cpp:288
#: src/timeline/LinkPreviewLoadComponent.qml:66
#: src/timeline/LinkPreviewLoadComponent.qml:63
#, kde-format
msgid "Loading reply"
msgstr "Hentar inn svar"
@@ -1952,35 +1952,37 @@ msgstr ", "
#: src/models/roomtreemodel.cpp:353
#, fuzzy, kde-format
#| msgid "Invite to private chat"
msgctxt "@info:label"
msgid "Invited you to chat"
msgstr "Inviter til privat prat"
#: src/models/roomtreemodel.cpp:355
#, fuzzy, kde-format
#| msgid "%1 invited you to a room"
msgctxt "@info:label"
msgid "%1 invited you"
msgstr "%1 inviterte deg til eit rom"
#: src/neochatconnection.cpp:77
#: src/neochatconnection.cpp:75
#, fuzzy, kde-format
msgid ""
"File too large to download.<br />Contact your matrix server administrator "
"for support."
msgstr "Ta kontakt med administratoren av Matrix-tenaren for brukarstøtte."
#: src/neochatconnection.cpp:336
#: src/neochatconnection.cpp:329
#, kde-format
msgctxt "@info"
msgid "No identity server configured"
msgstr "Ingen identitetstenar sett opp"
#: src/neochatconnection.cpp:367
#: src/neochatconnection.cpp:360
#, kde-format
msgid "Room creation failed: %1"
msgstr "Feil ved romregistrering: %1"
#: src/neochatconnection.cpp:397
#: src/neochatconnection.cpp:390
#, kde-format
msgid "Space creation failed: %1"
msgstr "Feil ved registrering av område: %1"
@@ -2019,6 +2021,7 @@ msgstr "Svar"
#: src/notificationsmanager.cpp:246
#, fuzzy, kde-format
#| msgid "Reply"
msgid "Reply…"
msgstr "Svar"
@@ -2460,6 +2463,8 @@ msgstr "Vis meldingskjelde"
#: src/qml/DelegateContextMenu.qml:78
#, fuzzy, kde-format
#| msgctxt "@action:button"
#| msgid "Remove"
msgctxt "@action:button"
msgid "Remove…"
msgstr "Fjern"
@@ -2733,6 +2738,7 @@ msgstr "Vis bilete"
#: src/qml/FileDelegateContextMenu.qml:74
#, fuzzy, kde-format
#| msgid "Remove"
msgid "Remove…"
msgstr "Fjern"
@@ -2759,6 +2765,7 @@ msgstr "Set opp NeoChat …"
#: src/qml/GlobalMenu.qml:25
#, fuzzy, kde-format
#| msgid "Configure NeoChat…"
msgctxt "menu"
msgid "Configure NeoChat…"
msgstr "Set opp NeoChat …"
@@ -2939,6 +2946,7 @@ msgstr "Spegelvend"
#: src/qml/InvitationView.qml:42
#, fuzzy, kde-format
#| msgid "%1 invited you to a room"
msgctxt "@info:label"
msgid "%1 has invited you to join"
msgstr "%1 inviterte deg til eit rom"
@@ -2958,12 +2966,14 @@ msgstr ""
#: src/qml/InvitationView.qml:102
#, fuzzy, kde-format
#| msgid "Reject"
msgctxt "@action:button"
msgid "Reject"
msgstr "Avvis"
#: src/qml/InvitationView.qml:110
#, fuzzy, kde-format
#| msgid "Accept"
msgctxt "@action:button"
msgid "Accept"
msgstr "Godta"
@@ -3053,12 +3063,14 @@ msgstr "Eininga **%1** er no stadfesta"
#: src/qml/KeyVerificationDialog.qml:161
#, fuzzy, kde-format
#| msgid "The session verification timed out."
msgctxt "@info"
msgid "Choose a verification method to continue"
msgstr "Stadfestinga av økta vart tidsavbroten."
#: src/qml/KeyVerificationDialog.qml:165
#, fuzzy, kde-format
#| msgid "Emoji Verification"
msgctxt "@action:button"
msgid "Emoji Verification"
msgstr "Emoji-stadfesting"
@@ -3205,6 +3217,7 @@ msgstr "Søk etter «%1»"
#: src/qml/MessageDelegateContextMenu.qml:128
#, fuzzy, kde-format
#| msgid "Configure Web Shortcuts..."
msgid "Configure Web Shortcuts…"
msgstr "Set opp vevsnarvegar …"
@@ -3488,12 +3501,14 @@ msgstr "Vis posisjonar i rommet"
#: src/qml/RoomInformation.qml:137
#, fuzzy, kde-format
#| msgid "Find messages…"
msgctxt "@action:button"
msgid "Pinned messages"
msgstr "Finn meldingar …"
#: src/qml/RoomInformation.qml:146 src/qml/RoomPinnedMessagesPage.qml:23
#, fuzzy, kde-format
#| msgid "Find messages…"
msgctxt "@title"
msgid "Pinned Messages"
msgstr "Finn meldingar …"
@@ -3975,6 +3990,8 @@ msgstr "Konto­detaljar"
#: src/qml/UserDetailDialog.qml:83
#, fuzzy, kde-format
#| msgctxt "Notification type"
#| msgid "Invites to a room"
msgctxt "@info"
msgid "One mutual room"
msgid_plural "%1 mutual rooms"
@@ -4100,6 +4117,7 @@ msgstr "Kopier lenkje"
#: src/qml/UserInfo.qml:50
#, fuzzy, kde-format
#| msgid "Deactivate Account"
msgctxt "@info:tooltip"
msgid "Manage Account"
msgstr "Deaktiver konto"
@@ -4416,30 +4434,35 @@ msgstr "Passord"
#: src/settings/AccountEditorPage.qml:159
#, fuzzy, kde-format
#| msgid "Your server doesn't support changing your password"
msgctxt "@info"
msgid "Your server doesn't support changing your password"
msgstr "Tenaren støttar ikkje endring av passord"
#: src/settings/AccountEditorPage.qml:166
#, fuzzy, kde-format
#| msgid "Current Password:"
msgctxt "@label:textbox"
msgid "Current Password:"
msgstr "Gjeldande passord:"
#: src/settings/AccountEditorPage.qml:173
#, fuzzy, kde-format
#| msgid "New Password:"
msgctxt "@label:textbox"
msgid "New Password:"
msgstr "Nytt passord:"
#: src/settings/AccountEditorPage.qml:180
#, fuzzy, kde-format
#| msgid "Confirm new Password:"
msgctxt "@label:textbox"
msgid "Confirm new Password:"
msgstr "Stadfest passord:"
#: src/settings/AccountEditorPage.qml:185
#, fuzzy, kde-format
#| msgid "Passwords don't match"
msgctxt "@info"
msgid "Passwords don't match"
msgstr "Passorda er ikkje like"
@@ -4486,18 +4509,22 @@ msgstr "Deaktiver konto"
#: src/settings/AccountEditorPage.qml:272
#, fuzzy, kde-format
#| msgid "Password changed successfully"
msgctxt "@info"
msgid "Password changed successfully"
msgstr "Passordet er no endra"
#: src/settings/AccountEditorPage.qml:275
#, fuzzy, kde-format
#| msgctxt "@info"
#| msgid "Invalid passphrase"
msgctxt "@info"
msgid "Invalid password"
msgstr "Ugyldig passfrase"
#: src/settings/AccountEditorPage.qml:278
#, fuzzy, kde-format
#| msgid "Unknown problem while trying to change password"
msgctxt "@info"
msgid "Unknown problem while trying to change password"
msgstr "Ukjent problem ved endring av passord"
@@ -5549,6 +5576,7 @@ msgstr ""
#: src/settings/RoomGeneralPage.qml:285
#, fuzzy, kde-format
#| msgid "URL previews are disabled by default in this room"
msgctxt ""
"As in the user has switched off showing previews of hyperlinks in timeline "
"messages"
@@ -5630,18 +5658,21 @@ msgstr ""
#: src/settings/RoomProfile.qml:38
#, fuzzy, kde-format
#| msgid "Display Name:"
msgctxt "@label:textbox"
msgid "Display Name"
msgstr "Visingsnamn:"
#: src/settings/RoomProfile.qml:48
#, fuzzy, kde-format
#| msgid "Save"
msgctxt "@action:button Save profile"
msgid "Save"
msgstr "Lagra"
#: src/settings/RoomProfile.qml:54
#, fuzzy, kde-format
#| msgid "System Default"
msgctxt "@action:button"
msgid "Reset to Default"
msgstr "Systemstandard"
@@ -5814,6 +5845,7 @@ msgstr "Løyve"
#: src/settings/RoomSettingsView.qml:84
#, fuzzy, kde-format
#| msgid "a file"
msgctxt "@title"
msgid "Profile"
msgstr "ei fil"
@@ -5860,86 +5892,86 @@ msgctxt "@title:dialog"
msgid "Select Parameter to Add"
msgstr ""
#: src/settings/ThreePIdCard.qml:55
#: src/settings/ThreePIdCard.qml:58
#, kde-format
msgctxt "@action:button"
msgid "Hide"
msgstr "Gøym"
#: src/settings/ThreePIdCard.qml:61
#: src/settings/ThreePIdCard.qml:64
#, kde-format
msgctxt "@action:button"
msgid "Share"
msgstr "Del"
#: src/settings/ThreePIdCard.qml:66
#: src/settings/ThreePIdCard.qml:69
#, kde-format
msgctxt "@action:button"
msgid "Remove"
msgstr "Fjern"
#: src/settings/ThreePIdCard.qml:85
#: src/settings/ThreePIdCard.qml:88
#, kde-format
msgctxt "@action:button"
msgid "Complete"
msgstr "Fullført"
#: src/settings/ThreePIdCard.qml:90 src/timeline/ChatBarComponent.qml:110
#: src/settings/ThreePIdCard.qml:93 src/timeline/ChatBarComponent.qml:100
#, kde-format
msgctxt "@action:button"
msgid "Cancel"
msgstr "Avbryt"
#: src/settings/ThreePIdCard.qml:130
#: src/settings/ThreePIdCard.qml:136
#, kde-format
msgctxt "@label:textbox"
msgid "Country Code for new phone number"
msgstr "Landskode for nytt telefonnummer"
#: src/settings/ThreePIdCard.qml:146
#: src/settings/ThreePIdCard.qml:152
#, kde-format
msgctxt "@label:textbox"
msgid "New Email Address:"
msgstr "Ny e-postadresse:"
#: src/settings/ThreePIdCard.qml:146
#: src/settings/ThreePIdCard.qml:152
#, kde-format
msgctxt "@label:textbox"
msgid "New Phone Number:"
msgstr "Nytt telefonnummer:"
#: src/settings/ThreePIdCard.qml:150 src/threepidbindhelper.cpp:178
#: src/settings/ThreePIdCard.qml:156 src/threepidbindhelper.cpp:179
#, kde-format
msgid "We've sent you an email"
msgstr "Me har sendt deg ein e-post"
#: src/settings/ThreePIdCard.qml:150 src/threepidbindhelper.cpp:178
#: src/settings/ThreePIdCard.qml:156 src/threepidbindhelper.cpp:179
#, kde-format
msgid "We've sent you a text message"
msgstr "Me har sendt deg ei tekstmelding"
#: src/settings/ThreePIdCard.qml:150
#: src/settings/ThreePIdCard.qml:156
#, kde-format
msgid ""
"%1. Please follow the instructions there and then click the button below"
msgstr "%1. Følg instruksjonane der, og trykk så på knappen nedanfor."
#: src/settings/ThreePIdCard.qml:152 src/threepidbindhelper.cpp:180
#: src/settings/ThreePIdCard.qml:158 src/threepidbindhelper.cpp:181
#, kde-format
msgid "The entered email is not valid"
msgstr "E-postadressa du skreiv inn, er ikkje gyldig"
#: src/settings/ThreePIdCard.qml:152 src/threepidbindhelper.cpp:180
#: src/settings/ThreePIdCard.qml:158 src/threepidbindhelper.cpp:181
#, kde-format
msgid "The entered phone number is not valid"
msgstr "Telefonnummeret du skreiv inn, er ikkje gyldig"
#: src/settings/ThreePIdCard.qml:154
#: src/settings/ThreePIdCard.qml:160
#, kde-format
msgid "Incorrect password entered"
msgstr "Du oppgav feil passord"
#: src/settings/ThreePIdCard.qml:156
#: src/settings/ThreePIdCard.qml:162
#, kde-format
msgid ""
"The email has not been verified. Please go to the email and follow the "
@@ -5948,7 +5980,7 @@ msgstr ""
"E-postadressa er ikkje stadfesta. Sjekk e-posten din, følg instruksjonane "
"der, og trykk så på knappen nedanfor."
#: src/settings/ThreePIdCard.qml:156
#: src/settings/ThreePIdCard.qml:162
#, kde-format
msgid ""
"The phone number has not been verified. Please go to the text message and "
@@ -5957,25 +5989,25 @@ msgstr ""
"Telefonnummeret er ikkje stadfesta. Sjekk tekstmeldingane dine, følg "
"instruksjonane der, og trykk så på knappen nedanfor."
#: src/settings/ThreePIdCard.qml:183
#: src/settings/ThreePIdCard.qml:189
#, kde-format
msgctxt "@action:button Add new email or phone number"
msgid "Add"
msgstr "Legg til"
#: src/settings/ThreePIdCard.qml:191
#: src/settings/ThreePIdCard.qml:197
#, kde-format
msgctxt "@action:button As in 'go back'"
msgid "Back"
msgstr "Tilbake"
#: src/threepidbindhelper.cpp:177
#: src/threepidbindhelper.cpp:178
#, kde-format
msgid ""
"%1. Please follow the instructions there and then click the button above"
msgstr "%1. Følg instruksjonane der, og trykk så på knappen ovanfor."
#: src/threepidbindhelper.cpp:183
#: src/threepidbindhelper.cpp:184
#, kde-format
msgid ""
"The email has not been verified. Please go to the email and follow the "
@@ -5984,7 +6016,7 @@ msgstr ""
"E-postadressa er ikkje stadfesta. Sjekk e-posten din, følg instruksjonane "
"der, og trykk så på knappen ovanfor."
#: src/threepidbindhelper.cpp:184
#: src/threepidbindhelper.cpp:185
#, kde-format
msgid ""
"The phone number has not been verified. Please go to the text message and "
@@ -5993,35 +6025,35 @@ msgstr ""
"Telefonnummeret er ikkje stadfesta. Sjekk tekstmeldingane dine, følg "
"instruksjonane der, og trykk så på knappen ovanfor."
#: src/timeline/BaseMessageComponentChooser.qml:249
#: src/timeline/BaseMessageComponentChooser.qml:172
#, kde-format
msgid "%1 started a user verification"
msgstr "%1 starta brukarstadfesting"
#: src/timeline/ChatBarComponent.qml:98
#: src/timeline/ChatBarComponent.qml:88
#, kde-format
msgctxt "@action:button"
msgid "Confirm edit"
msgstr "Stadfest redigering"
#: src/timeline/ChatBarComponent.qml:98
#: src/timeline/ChatBarComponent.qml:88
#, kde-format
msgctxt "@action:button"
msgid "Post message in thread"
msgstr "Skriv innlegg i tråden"
#: src/timeline/CodeComponent.qml:164
#: src/timeline/CodeComponent.qml:159
#, kde-format
msgid "Copy to clipboard"
msgstr "Kopier til utklippstavla"
#: src/timeline/CodeComponent.qml:176
#: src/timeline/CodeComponent.qml:171
#, kde-format
msgctxt "@action:button"
msgid "Maximize"
msgstr "Maksimer"
#: src/timeline/EncryptedComponent.qml:21
#: src/timeline/EncryptedComponent.qml:18
#, kde-format
msgid ""
"This message is encrypted and the sender has not shared the key with this "
@@ -6030,20 +6062,20 @@ msgstr ""
"Meldinga er kryptert, og avsendaren har ikkje delt krypterings­nøkkelen med "
"denne eininga."
#: src/timeline/FetchButtonComponent.qml:41
#: src/timeline/FetchButtonComponent.qml:36
#, kde-format
msgctxt "@action:button"
msgid "Fetch More Events"
msgstr ""
#: src/timeline/FileComponent.qml:104 src/timeline/FileComponent.qml:187
#: src/timeline/FileComponent.qml:94 src/timeline/FileComponent.qml:177
#, kde-format
msgctxt ""
"tooltip for a button on a message; offers ability to download its file"
msgid "Download"
msgstr "Last ned"
#: src/timeline/FileComponent.qml:120 src/timeline/FileComponent.qml:177
#: src/timeline/FileComponent.qml:110 src/timeline/FileComponent.qml:167
#, kde-format
msgctxt ""
"tooltip for a button on a message; offers ability to open its downloaded "
@@ -6051,13 +6083,13 @@ msgctxt ""
msgid "Open File"
msgstr "Opna fil"
#: src/timeline/FileComponent.qml:135
#: src/timeline/FileComponent.qml:125
#, kde-format
msgctxt "file download progress"
msgid "%1 / %2"
msgstr "%1 / %2"
#: src/timeline/FileComponent.qml:140
#: src/timeline/FileComponent.qml:130
#, kde-format
msgctxt ""
"tooltip for a button on a message; stops downloading the message's file"
@@ -6086,61 +6118,62 @@ msgstr "Innsjekk etter: %1"
msgid "Check-out time: %1"
msgstr "Utsjekk før: %1"
#: src/timeline/ImageComponent.qml:140
#: src/timeline/ImageComponent.qml:120
#, kde-format
msgctxt "@action:button"
msgid "Show Image"
msgstr "Vis bilete"
#: src/timeline/ItineraryComponent.qml:57
#: src/timeline/ItineraryComponent.qml:54
#, kde-format
msgctxt "@action"
msgid "Send to KDE Itinerary"
msgstr "Send til KDE Itinerary"
#: src/timeline/LinkPreviewComponent.qml:136
#: src/timeline/LinkPreviewLoadComponent.qml:79
#: src/timeline/LinkPreviewComponent.qml:131
#: src/timeline/LinkPreviewLoadComponent.qml:76
#, kde-format
msgctxt "As in remove the link preview so it's no longer shown"
msgid "Remove preview"
msgstr "Fjern førehandsvising"
#: src/timeline/LinkPreviewComponent.qml:154
#: src/timeline/LinkPreviewComponent.qml:149
#, kde-format
msgid "Shrink preview"
msgstr "Krymp førehandsvising"
#: src/timeline/LinkPreviewComponent.qml:154
#: src/timeline/LinkPreviewComponent.qml:149
#, kde-format
msgid "Expand preview"
msgstr "Utvid førehandsvising"
#: src/timeline/LinkPreviewLoadComponent.qml:68
#: src/timeline/LinkPreviewLoadComponent.qml:65
#, kde-format
msgid "Loading URL preview"
msgstr "Lastar førehandsvising av nettside"
#: src/timeline/LocationComponent.qml:116
#: src/timeline/LocationComponent.qml:111
#, kde-format
msgctxt "@action:button Open the location in an external program"
msgid "Open Externally"
msgstr "Opna eksternt"
#: src/timeline/PollComponent.qml:80
#: src/timeline/PollComponent.qml:70
#, kde-format
msgid "Based on votes by %1 user"
msgid_plural "Based on votes by %1 users"
msgstr[0] "Basert på avrøysting for %1 brukar"
msgstr[1] "Basert på avstemming blant %1 brukarar"
#: src/timeline/PollComponent.qml:80
#: src/timeline/PollComponent.qml:70
#, kde-format
msgctxt "as in 'this vote has ended'"
msgid "(Ended)"
msgstr "(avslutta)"
#: src/timeline/ReactionComponent.qml:97
#: src/timeline/ReactionComponent.qml:89
#, fuzzy, kde-format
#| msgid "React"
msgctxt "@button"
msgid "React"
msgstr "Reager"
@@ -6151,7 +6184,7 @@ msgctxt "Relative time since the room was last read"
msgid "Last read: %1"
msgstr "Sist lese: %1"
#: src/timeline/ReplyButtonComponent.qml:44
#: src/timeline/ReplyButtonComponent.qml:34
#, fuzzy, kde-format
msgctxt "@action:button"
msgid "Reply"
@@ -6170,24 +6203,24 @@ msgstr "Dette er starten på praten. Det finst ingen eldre meldingar."
msgid "Pl. %1"
msgstr "Pl. %1"
#: src/timeline/VideoComponent.qml:217
#: src/timeline/VideoComponent.qml:197
#, kde-format
msgid "Video"
msgstr "Video"
#: src/timeline/VideoComponent.qml:257
#: src/timeline/VideoComponent.qml:237
#, kde-format
msgctxt "@action:button"
msgid "Show Video"
msgstr "Vis video"
#: src/timeline/VideoComponent.qml:298
#: src/timeline/VideoComponent.qml:278
#, kde-format
msgctxt "@action:button"
msgid "Volume"
msgstr "Lydstyrke"
#: src/timeline/VideoComponent.qml:382
#: src/timeline/VideoComponent.qml:362
#, kde-format
msgid "Maximize"
msgstr "Maksimer"

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: 2025-03-07 00:42+0000\n"
"POT-Creation-Date: 2025-03-11 00:41+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"
@@ -1129,7 +1129,7 @@ msgstr ""
#: src/login/Homeserver.qml:41 src/login/Username.qml:38
#: src/models/messagecontentmodel.cpp:262
#: src/models/messagecontentmodel.cpp:290 src/timeline/LoadComponent.qml:33
#: src/models/messagecontentmodel.cpp:290 src/timeline/LoadComponent.qml:30
#, fuzzy, kde-format
#| msgid "Loading"
msgid "Loading"
@@ -1163,7 +1163,7 @@ msgid "Loading…"
msgstr "ਲੋਡ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ"
#: src/login/Login.qml:38 src/login/WelcomePage.qml:250
#: src/settings/ThreePIdCard.qml:183
#: src/settings/ThreePIdCard.qml:189
#, kde-format
msgctxt "@action:button"
msgid "Continue"
@@ -1869,7 +1869,7 @@ msgstr "ਕਸਟਮ"
#: src/models/messagecontentmodel.cpp:260
#: src/models/messagecontentmodel.cpp:288
#: src/timeline/LinkPreviewLoadComponent.qml:66
#: src/timeline/LinkPreviewLoadComponent.qml:63
#, fuzzy, kde-format
#| msgid "Loading"
msgid "Loading reply"
@@ -2173,26 +2173,26 @@ msgctxt "@info:label"
msgid "%1 invited you"
msgstr "%1 ਨੇ ਤੁਹਾਨੂੰ ਰੂਮ ਲਈ ਸੱਦਾ ਦਿੱਤਾ"
#: src/neochatconnection.cpp:77
#: src/neochatconnection.cpp:75
#, kde-format
msgid ""
"File too large to download.<br />Contact your matrix server administrator "
"for support."
msgstr ""
#: src/neochatconnection.cpp:336
#: src/neochatconnection.cpp:329
#, kde-format
msgctxt "@info"
msgid "No identity server configured"
msgstr ""
#: src/neochatconnection.cpp:367
#: src/neochatconnection.cpp:360
#, fuzzy, kde-format
#| msgid "Room creation failed: \"%1\""
msgid "Room creation failed: %1"
msgstr "ਰੂਮ ਬਣਾਉਣ ਲਈ ਫੇਲ੍ਹ: \"%1\""
#: src/neochatconnection.cpp:397
#: src/neochatconnection.cpp:390
#, fuzzy, kde-format
#| msgid "Room creation failed: \"%1\""
msgid "Space creation failed: %1"
@@ -6380,46 +6380,46 @@ msgctxt "@title:dialog"
msgid "Select Parameter to Add"
msgstr ""
#: src/settings/ThreePIdCard.qml:55
#: src/settings/ThreePIdCard.qml:58
#, kde-format
msgctxt "@action:button"
msgid "Hide"
msgstr ""
#: src/settings/ThreePIdCard.qml:61
#: src/settings/ThreePIdCard.qml:64
#, kde-format
msgctxt "@action:button"
msgid "Share"
msgstr ""
#: src/settings/ThreePIdCard.qml:66
#: src/settings/ThreePIdCard.qml:69
#, fuzzy, kde-format
#| msgid "Remove"
msgctxt "@action:button"
msgid "Remove"
msgstr "ਹਟਾਓ"
#: src/settings/ThreePIdCard.qml:85
#: src/settings/ThreePIdCard.qml:88
#, fuzzy, kde-format
#| msgid "Compact"
msgctxt "@action:button"
msgid "Complete"
msgstr "ਸੰਖੇਪ"
#: src/settings/ThreePIdCard.qml:90 src/timeline/ChatBarComponent.qml:110
#: src/settings/ThreePIdCard.qml:93 src/timeline/ChatBarComponent.qml:100
#, fuzzy, kde-format
#| msgid "Cancel"
msgctxt "@action:button"
msgid "Cancel"
msgstr "ਰੱਦ ਕਰੋ"
#: src/settings/ThreePIdCard.qml:130
#: src/settings/ThreePIdCard.qml:136
#, kde-format
msgctxt "@label:textbox"
msgid "Country Code for new phone number"
msgstr ""
#: src/settings/ThreePIdCard.qml:146
#: src/settings/ThreePIdCard.qml:152
#, fuzzy, kde-format
#| msgctxt "their refers to a singular user"
#| msgid "cleared their display name"
@@ -6427,68 +6427,68 @@ msgctxt "@label:textbox"
msgid "New Email Address:"
msgstr "ਆਪਣੇ ਵੇਖਾਉਣ ਵਾਲੇ ਨਾਂ ਮਿਟਾਏ"
#: src/settings/ThreePIdCard.qml:146
#: src/settings/ThreePIdCard.qml:152
#, fuzzy, kde-format
#| msgid "Members"
msgctxt "@label:textbox"
msgid "New Phone Number:"
msgstr "ਮੈਂਬਰ"
#: src/settings/ThreePIdCard.qml:150 src/threepidbindhelper.cpp:178
#: src/settings/ThreePIdCard.qml:156 src/threepidbindhelper.cpp:179
#, kde-format
msgid "We've sent you an email"
msgstr ""
#: src/settings/ThreePIdCard.qml:150 src/threepidbindhelper.cpp:178
#: src/settings/ThreePIdCard.qml:156 src/threepidbindhelper.cpp:179
#, fuzzy, kde-format
#| msgid "Send message"
msgid "We've sent you a text message"
msgstr "ਸੁਨੇਹਾ ਭੇਜੋ"
#: src/settings/ThreePIdCard.qml:150
#: src/settings/ThreePIdCard.qml:156
#, kde-format
msgid ""
"%1. Please follow the instructions there and then click the button below"
msgstr ""
#: src/settings/ThreePIdCard.qml:152 src/threepidbindhelper.cpp:180
#: src/settings/ThreePIdCard.qml:158 src/threepidbindhelper.cpp:181
#, kde-format
msgid "The entered email is not valid"
msgstr ""
#: src/settings/ThreePIdCard.qml:152 src/threepidbindhelper.cpp:180
#: src/settings/ThreePIdCard.qml:158 src/threepidbindhelper.cpp:181
#, kde-format
msgid "The entered phone number is not valid"
msgstr ""
#: src/settings/ThreePIdCard.qml:154
#: src/settings/ThreePIdCard.qml:160
#, fuzzy, kde-format
#| msgid "Wrong password entered"
msgid "Incorrect password entered"
msgstr "ਗਲਤ ਪਾਸਵਰਡ ਦਿੱਤਾ"
#: src/settings/ThreePIdCard.qml:156
#: src/settings/ThreePIdCard.qml:162
#, kde-format
msgid ""
"The email has not been verified. Please go to the email and follow the "
"instructions there and then click the button below"
msgstr ""
#: src/settings/ThreePIdCard.qml:156
#: src/settings/ThreePIdCard.qml:162
#, kde-format
msgid ""
"The phone number has not been verified. Please go to the text message and "
"follow the instructions there and then click the button below"
msgstr ""
#: src/settings/ThreePIdCard.qml:183
#: src/settings/ThreePIdCard.qml:189
#, fuzzy, kde-format
#| msgid "Add"
msgctxt "@action:button Add new email or phone number"
msgid "Add"
msgstr "ਜੋੜੋ"
#: src/settings/ThreePIdCard.qml:191
#: src/settings/ThreePIdCard.qml:197
#, fuzzy, kde-format
#| msgctxt "@action:button"
#| msgid "Back"
@@ -6496,80 +6496,80 @@ msgctxt "@action:button As in 'go back'"
msgid "Back"
msgstr "ਪਿੱਛੇ"
#: src/threepidbindhelper.cpp:177
#: src/threepidbindhelper.cpp:178
#, kde-format
msgid ""
"%1. Please follow the instructions there and then click the button above"
msgstr ""
#: src/threepidbindhelper.cpp:183
#: src/threepidbindhelper.cpp:184
#, kde-format
msgid ""
"The email has not been verified. Please go to the email and follow the "
"instructions there and then click the button above"
msgstr ""
#: src/threepidbindhelper.cpp:184
#: src/threepidbindhelper.cpp:185
#, kde-format
msgid ""
"The phone number has not been verified. Please go to the text message and "
"follow the instructions there and then click the button above"
msgstr ""
#: src/timeline/BaseMessageComponentChooser.qml:249
#: src/timeline/BaseMessageComponentChooser.qml:172
#, fuzzy, kde-format
#| msgid "withdrew %1's invitation"
msgid "%1 started a user verification"
msgstr "%1 ਲਈ ਸੱਦਾ ਵਾਪਸ ਲਵੋ"
#: src/timeline/ChatBarComponent.qml:98
#: src/timeline/ChatBarComponent.qml:88
#, fuzzy, kde-format
#| msgid "Confirm"
msgctxt "@action:button"
msgid "Confirm edit"
msgstr "ਤਸਦੀਕ ਕਰੋ"
#: src/timeline/ChatBarComponent.qml:98
#: src/timeline/ChatBarComponent.qml:88
#, fuzzy, kde-format
#| msgid "No rooms found"
msgctxt "@action:button"
msgid "Post message in thread"
msgstr "ਕੋਈ ਰੂਮ ਨਹੀਂ ਲੱਭਿਆ"
#: src/timeline/CodeComponent.qml:164
#: src/timeline/CodeComponent.qml:159
#, fuzzy, kde-format
#| msgctxt "@action:inmenu"
#| msgid "Copy address to clipboard"
msgid "Copy to clipboard"
msgstr "ਸਿਰਨਾਵਾਂ ਕਲਿੱਪਬੋਰਡ ਵਿੱਚ ਕਾਪੀ ਕਰੋ"
#: src/timeline/CodeComponent.qml:176
#: src/timeline/CodeComponent.qml:171
#, kde-format
msgctxt "@action:button"
msgid "Maximize"
msgstr ""
#: src/timeline/EncryptedComponent.qml:21
#: src/timeline/EncryptedComponent.qml:18
#, kde-format
msgid ""
"This message is encrypted and the sender has not shared the key with this "
"device."
msgstr ""
#: src/timeline/FetchButtonComponent.qml:41
#: src/timeline/FetchButtonComponent.qml:36
#, kde-format
msgctxt "@action:button"
msgid "Fetch More Events"
msgstr ""
#: src/timeline/FileComponent.qml:104 src/timeline/FileComponent.qml:187
#: src/timeline/FileComponent.qml:94 src/timeline/FileComponent.qml:177
#, kde-format
msgctxt ""
"tooltip for a button on a message; offers ability to download its file"
msgid "Download"
msgstr "ਡਾਊਨਲੋਡ"
#: src/timeline/FileComponent.qml:120 src/timeline/FileComponent.qml:177
#: src/timeline/FileComponent.qml:110 src/timeline/FileComponent.qml:167
#, kde-format
msgctxt ""
"tooltip for a button on a message; offers ability to open its downloaded "
@@ -6577,13 +6577,13 @@ msgctxt ""
msgid "Open File"
msgstr "ਫਾਇਲ ਖੋਲ੍ਹੋ"
#: src/timeline/FileComponent.qml:135
#: src/timeline/FileComponent.qml:125
#, kde-format
msgctxt "file download progress"
msgid "%1 / %2"
msgstr "%1 / %2"
#: src/timeline/FileComponent.qml:140
#: src/timeline/FileComponent.qml:130
#, kde-format
msgctxt ""
"tooltip for a button on a message; stops downloading the message's file"
@@ -6612,63 +6612,63 @@ msgstr ""
msgid "Check-out time: %1"
msgstr ""
#: src/timeline/ImageComponent.qml:140
#: src/timeline/ImageComponent.qml:120
#, fuzzy, kde-format
#| msgid "cleared the room name"
msgctxt "@action:button"
msgid "Show Image"
msgstr "ਰੂਮ ਦਾ ਨਾਂ ਮਿਟਾਇਆ"
#: src/timeline/ItineraryComponent.qml:57
#: src/timeline/ItineraryComponent.qml:54
#, kde-format
msgctxt "@action"
msgid "Send to KDE Itinerary"
msgstr ""
#: src/timeline/LinkPreviewComponent.qml:136
#: src/timeline/LinkPreviewLoadComponent.qml:79
#: src/timeline/LinkPreviewComponent.qml:131
#: src/timeline/LinkPreviewLoadComponent.qml:76
#, fuzzy, kde-format
#| msgid "Remove device"
msgctxt "As in remove the link preview so it's no longer shown"
msgid "Remove preview"
msgstr "ਡਿਵਾਈਸ ਨੂੰ ਹਟਾਓ"
#: src/timeline/LinkPreviewComponent.qml:154
#: src/timeline/LinkPreviewComponent.qml:149
#, kde-format
msgid "Shrink preview"
msgstr ""
#: src/timeline/LinkPreviewComponent.qml:154
#: src/timeline/LinkPreviewComponent.qml:149
#, kde-format
msgid "Expand preview"
msgstr ""
#: src/timeline/LinkPreviewLoadComponent.qml:68
#: src/timeline/LinkPreviewLoadComponent.qml:65
#, kde-format
msgid "Loading URL preview"
msgstr ""
#: src/timeline/LocationComponent.qml:116
#: src/timeline/LocationComponent.qml:111
#, fuzzy, kde-format
#| msgid "Open Externally"
msgctxt "@action:button Open the location in an external program"
msgid "Open Externally"
msgstr "ਬਾਹਰ ਖੋਲ੍ਹੋ"
#: src/timeline/PollComponent.qml:80
#: src/timeline/PollComponent.qml:70
#, kde-format
msgid "Based on votes by %1 user"
msgid_plural "Based on votes by %1 users"
msgstr[0] ""
msgstr[1] ""
#: src/timeline/PollComponent.qml:80
#: src/timeline/PollComponent.qml:70
#, kde-format
msgctxt "as in 'this vote has ended'"
msgid "(Ended)"
msgstr ""
#: src/timeline/ReactionComponent.qml:97
#: src/timeline/ReactionComponent.qml:89
#, fuzzy, kde-format
#| msgid "React"
msgctxt "@button"
@@ -6681,7 +6681,7 @@ msgctxt "Relative time since the room was last read"
msgid "Last read: %1"
msgstr "ਆਖਰੀ ਪੜ੍ਹੇ: %1"
#: src/timeline/ReplyButtonComponent.qml:44
#: src/timeline/ReplyButtonComponent.qml:34
#, fuzzy, kde-format
#| msgid "Reply"
msgctxt "@action:button"
@@ -6701,25 +6701,25 @@ msgstr ""
msgid "Pl. %1"
msgstr ""
#: src/timeline/VideoComponent.qml:217
#: src/timeline/VideoComponent.qml:197
#, kde-format
msgid "Video"
msgstr "ਵੀਡੀਓ"
#: src/timeline/VideoComponent.qml:257
#: src/timeline/VideoComponent.qml:237
#, fuzzy, kde-format
#| msgid "Video"
msgctxt "@action:button"
msgid "Show Video"
msgstr "ਵੀਡੀਓ"
#: src/timeline/VideoComponent.qml:298
#: src/timeline/VideoComponent.qml:278
#, kde-format
msgctxt "@action:button"
msgid "Volume"
msgstr ""
#: src/timeline/VideoComponent.qml:382
#: src/timeline/VideoComponent.qml:362
#, kde-format
msgid "Maximize"
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: 2025-03-07 00:42+0000\n"
"POT-Creation-Date: 2025-03-11 00:41+0000\n"
"PO-Revision-Date: 2025-02-23 12:33+0100\n"
"Last-Translator: Łukasz Wojniłowicz <lukasz.wojnilowicz@gmail.com>\n"
"Language-Team: Polish <kde-i18n-doc@kde.org>\n"
@@ -1040,7 +1040,7 @@ msgstr "Rejestrowanie się na ten serwer jest wyłączone."
#: src/login/Homeserver.qml:41 src/login/Username.qml:38
#: src/models/messagecontentmodel.cpp:262
#: src/models/messagecontentmodel.cpp:290 src/timeline/LoadComponent.qml:33
#: src/models/messagecontentmodel.cpp:290 src/timeline/LoadComponent.qml:30
#, kde-format
msgid "Loading"
msgstr "Wczytywanie"
@@ -1071,7 +1071,7 @@ msgid "Loading…"
msgstr "Wczytywanie…"
#: src/login/Login.qml:38 src/login/WelcomePage.qml:250
#: src/settings/ThreePIdCard.qml:183
#: src/settings/ThreePIdCard.qml:189
#, kde-format
msgctxt "@action:button"
msgid "Continue"
@@ -1701,7 +1701,7 @@ msgstr "Własne emoji"
#: src/models/messagecontentmodel.cpp:260
#: src/models/messagecontentmodel.cpp:288
#: src/timeline/LinkPreviewLoadComponent.qml:66
#: src/timeline/LinkPreviewLoadComponent.qml:63
#, kde-format
msgid "Loading reply"
msgstr "Wczytywanie odpowiedzi"
@@ -1964,7 +1964,7 @@ msgctxt "@info:label"
msgid "%1 invited you"
msgstr "%1 zaprosił cię"
#: src/neochatconnection.cpp:77
#: src/neochatconnection.cpp:75
#, kde-format
msgid ""
"File too large to download.<br />Contact your matrix server administrator "
@@ -1973,18 +1973,18 @@ msgstr ""
"Plik jest zbyt duży do pobrania.<br /> Napisz do obsługi twojego serwera "
"Matriksa z prośbą o pomoc."
#: src/neochatconnection.cpp:336
#: src/neochatconnection.cpp:329
#, kde-format
msgctxt "@info"
msgid "No identity server configured"
msgstr "Nie ustawiono żadnego serwera tożsamości"
#: src/neochatconnection.cpp:367
#: src/neochatconnection.cpp:360
#, kde-format
msgid "Room creation failed: %1"
msgstr "Nie udało się utworzyć pokoju: %1"
#: src/neochatconnection.cpp:397
#: src/neochatconnection.cpp:390
#, kde-format
msgid "Space creation failed: %1"
msgstr "Nie udało się utworzyć przestrzeni: %1"
@@ -5888,87 +5888,87 @@ msgctxt "@title:dialog"
msgid "Select Parameter to Add"
msgstr "Wybierz parametr do dodania"
#: src/settings/ThreePIdCard.qml:55
#: src/settings/ThreePIdCard.qml:58
#, kde-format
msgctxt "@action:button"
msgid "Hide"
msgstr "Ukryj"
#: src/settings/ThreePIdCard.qml:61
#: src/settings/ThreePIdCard.qml:64
#, kde-format
msgctxt "@action:button"
msgid "Share"
msgstr "Udostępnij"
#: src/settings/ThreePIdCard.qml:66
#: src/settings/ThreePIdCard.qml:69
#, kde-format
msgctxt "@action:button"
msgid "Remove"
msgstr "Usuń"
#: src/settings/ThreePIdCard.qml:85
#: src/settings/ThreePIdCard.qml:88
#, kde-format
msgctxt "@action:button"
msgid "Complete"
msgstr "Ukończone"
#: src/settings/ThreePIdCard.qml:90 src/timeline/ChatBarComponent.qml:110
#: src/settings/ThreePIdCard.qml:93 src/timeline/ChatBarComponent.qml:100
#, kde-format
msgctxt "@action:button"
msgid "Cancel"
msgstr "Anuluj"
#: src/settings/ThreePIdCard.qml:130
#: src/settings/ThreePIdCard.qml:136
#, kde-format
msgctxt "@label:textbox"
msgid "Country Code for new phone number"
msgstr "Kod kraju dla nowego numeru telefonu"
#: src/settings/ThreePIdCard.qml:146
#: src/settings/ThreePIdCard.qml:152
#, kde-format
msgctxt "@label:textbox"
msgid "New Email Address:"
msgstr "Nowy adres pocztowy:"
#: src/settings/ThreePIdCard.qml:146
#: src/settings/ThreePIdCard.qml:152
#, kde-format
msgctxt "@label:textbox"
msgid "New Phone Number:"
msgstr "Nowy numer telefonu:"
#: src/settings/ThreePIdCard.qml:150 src/threepidbindhelper.cpp:178
#: src/settings/ThreePIdCard.qml:156 src/threepidbindhelper.cpp:179
#, kde-format
msgid "We've sent you an email"
msgstr "Wysłaliśmy ci wiadomość tekstową"
#: src/settings/ThreePIdCard.qml:150 src/threepidbindhelper.cpp:178
#: src/settings/ThreePIdCard.qml:156 src/threepidbindhelper.cpp:179
#, kde-format
msgid "We've sent you a text message"
msgstr "Wysłaliśmy ci wiadomość tekstową"
#: src/settings/ThreePIdCard.qml:150
#: src/settings/ThreePIdCard.qml:156
#, kde-format
msgid ""
"%1. Please follow the instructions there and then click the button below"
msgstr ""
"%1. Przejdź przez wypisane tam kroki, a na końcu naciśnij poniższy przycisk."
#: src/settings/ThreePIdCard.qml:152 src/threepidbindhelper.cpp:180
#: src/settings/ThreePIdCard.qml:158 src/threepidbindhelper.cpp:181
#, kde-format
msgid "The entered email is not valid"
msgstr "Wpisany adres pocztowy jest nieprawidłowy"
#: src/settings/ThreePIdCard.qml:152 src/threepidbindhelper.cpp:180
#: src/settings/ThreePIdCard.qml:158 src/threepidbindhelper.cpp:181
#, kde-format
msgid "The entered phone number is not valid"
msgstr "Wpisany numer telefonu jest nieprawidłowy"
#: src/settings/ThreePIdCard.qml:154
#: src/settings/ThreePIdCard.qml:160
#, kde-format
msgid "Incorrect password entered"
msgstr "Wpisano złe hasło"
#: src/settings/ThreePIdCard.qml:156
#: src/settings/ThreePIdCard.qml:162
#, kde-format
msgid ""
"The email has not been verified. Please go to the email and follow the "
@@ -5977,7 +5977,7 @@ msgstr ""
"Adres pocztowy nie został potwierdzony. Wróć do wiadomości pocztowej i "
"przejdź przez wypisane tam kroki, a na końcu naciśnij poniższy przycisk."
#: src/settings/ThreePIdCard.qml:156
#: src/settings/ThreePIdCard.qml:162
#, kde-format
msgid ""
"The phone number has not been verified. Please go to the text message and "
@@ -5986,26 +5986,26 @@ msgstr ""
"Numer telefonu nie został potwierdzony. Wróć do wiadomości tekstowej i "
"przejdź przez wypisane tam kroki, a na końcu naciśnij poniższy przycisk."
#: src/settings/ThreePIdCard.qml:183
#: src/settings/ThreePIdCard.qml:189
#, kde-format
msgctxt "@action:button Add new email or phone number"
msgid "Add"
msgstr "Dodaj"
#: src/settings/ThreePIdCard.qml:191
#: src/settings/ThreePIdCard.qml:197
#, kde-format
msgctxt "@action:button As in 'go back'"
msgid "Back"
msgstr "Wstecz"
#: src/threepidbindhelper.cpp:177
#: src/threepidbindhelper.cpp:178
#, kde-format
msgid ""
"%1. Please follow the instructions there and then click the button above"
msgstr ""
"%1. Przejdź przez wypisane tam kroki, a na końcu naciśnij powyższy przycisk."
#: src/threepidbindhelper.cpp:183
#: src/threepidbindhelper.cpp:184
#, kde-format
msgid ""
"The email has not been verified. Please go to the email and follow the "
@@ -6014,7 +6014,7 @@ msgstr ""
"Adres pocztowy nie został potwierdzony. Wróć do wiadomości pocztowej i "
"przejdź przez wypisane tam kroki, a na końcu naciśnij powyższy przycisk."
#: src/threepidbindhelper.cpp:184
#: src/threepidbindhelper.cpp:185
#, kde-format
msgid ""
"The phone number has not been verified. Please go to the text message and "
@@ -6023,35 +6023,35 @@ msgstr ""
"Numer telefonu nie został potwierdzony. Wróć do wiadomości tekstowej i "
"przejdź przez wypisane tam kroki, a na końcu naciśnij powyższy przycisk."
#: src/timeline/BaseMessageComponentChooser.qml:249
#: src/timeline/BaseMessageComponentChooser.qml:172
#, kde-format
msgid "%1 started a user verification"
msgstr "%1 rozpoczął sprawdzanie użytkownika"
#: src/timeline/ChatBarComponent.qml:98
#: src/timeline/ChatBarComponent.qml:88
#, kde-format
msgctxt "@action:button"
msgid "Confirm edit"
msgstr "Potwierdź zmianę"
#: src/timeline/ChatBarComponent.qml:98
#: src/timeline/ChatBarComponent.qml:88
#, kde-format
msgctxt "@action:button"
msgid "Post message in thread"
msgstr "Wyślij wiadomość w wątku"
#: src/timeline/CodeComponent.qml:164
#: src/timeline/CodeComponent.qml:159
#, kde-format
msgid "Copy to clipboard"
msgstr "Skopiuj do schowka"
#: src/timeline/CodeComponent.qml:176
#: src/timeline/CodeComponent.qml:171
#, kde-format
msgctxt "@action:button"
msgid "Maximize"
msgstr "Zmaksymalizuj"
#: src/timeline/EncryptedComponent.qml:21
#: src/timeline/EncryptedComponent.qml:18
#, kde-format
msgid ""
"This message is encrypted and the sender has not shared the key with this "
@@ -6060,20 +6060,20 @@ msgstr ""
"Ta wiadomość jest zaszyfrowana, a jej nadawca nie udostępnił klucza temu "
"urządzeniowi."
#: src/timeline/FetchButtonComponent.qml:41
#: src/timeline/FetchButtonComponent.qml:36
#, kde-format
msgctxt "@action:button"
msgid "Fetch More Events"
msgstr "Pobierz więcej wydarzeń"
#: src/timeline/FileComponent.qml:104 src/timeline/FileComponent.qml:187
#: src/timeline/FileComponent.qml:94 src/timeline/FileComponent.qml:177
#, kde-format
msgctxt ""
"tooltip for a button on a message; offers ability to download its file"
msgid "Download"
msgstr "Pobierz"
#: src/timeline/FileComponent.qml:120 src/timeline/FileComponent.qml:177
#: src/timeline/FileComponent.qml:110 src/timeline/FileComponent.qml:167
#, kde-format
msgctxt ""
"tooltip for a button on a message; offers ability to open its downloaded "
@@ -6081,13 +6081,13 @@ msgctxt ""
msgid "Open File"
msgstr "Otwórz plik"
#: src/timeline/FileComponent.qml:135
#: src/timeline/FileComponent.qml:125
#, kde-format
msgctxt "file download progress"
msgid "%1 / %2"
msgstr "%1 / %2"
#: src/timeline/FileComponent.qml:140
#: src/timeline/FileComponent.qml:130
#, kde-format
msgctxt ""
"tooltip for a button on a message; stops downloading the message's file"
@@ -6116,47 +6116,47 @@ msgstr "Czas zameldowania: %1"
msgid "Check-out time: %1"
msgstr "Czas wymeldowania: %1"
#: src/timeline/ImageComponent.qml:140
#: src/timeline/ImageComponent.qml:120
#, kde-format
msgctxt "@action:button"
msgid "Show Image"
msgstr "Pokaż obrazek"
#: src/timeline/ItineraryComponent.qml:57
#: src/timeline/ItineraryComponent.qml:54
#, kde-format
msgctxt "@action"
msgid "Send to KDE Itinerary"
msgstr "Wyślij do KDE Itinerary"
#: src/timeline/LinkPreviewComponent.qml:136
#: src/timeline/LinkPreviewLoadComponent.qml:79
#: src/timeline/LinkPreviewComponent.qml:131
#: src/timeline/LinkPreviewLoadComponent.qml:76
#, kde-format
msgctxt "As in remove the link preview so it's no longer shown"
msgid "Remove preview"
msgstr "Usuń podgląd"
#: src/timeline/LinkPreviewComponent.qml:154
#: src/timeline/LinkPreviewComponent.qml:149
#, kde-format
msgid "Shrink preview"
msgstr "Skurcz podgląd"
#: src/timeline/LinkPreviewComponent.qml:154
#: src/timeline/LinkPreviewComponent.qml:149
#, kde-format
msgid "Expand preview"
msgstr "Rozpręż podgląd"
#: src/timeline/LinkPreviewLoadComponent.qml:68
#: src/timeline/LinkPreviewLoadComponent.qml:65
#, kde-format
msgid "Loading URL preview"
msgstr "Wczytywanie podglądu adresu URL"
#: src/timeline/LocationComponent.qml:116
#: src/timeline/LocationComponent.qml:111
#, kde-format
msgctxt "@action:button Open the location in an external program"
msgid "Open Externally"
msgstr "Otwórz zewnętrznie"
#: src/timeline/PollComponent.qml:80
#: src/timeline/PollComponent.qml:70
#, kde-format
msgid "Based on votes by %1 user"
msgid_plural "Based on votes by %1 users"
@@ -6164,13 +6164,13 @@ msgstr[0] "Na podstawie głosu %1 użytkownika"
msgstr[1] "Na podstawie głosów %1 użytkowników"
msgstr[2] "Na podstawie głosów %1 użytkowników"
#: src/timeline/PollComponent.qml:80
#: src/timeline/PollComponent.qml:70
#, kde-format
msgctxt "as in 'this vote has ended'"
msgid "(Ended)"
msgstr "(Zakończone)"
#: src/timeline/ReactionComponent.qml:97
#: src/timeline/ReactionComponent.qml:89
#, kde-format
msgctxt "@button"
msgid "React"
@@ -6182,7 +6182,7 @@ msgctxt "Relative time since the room was last read"
msgid "Last read: %1"
msgstr "Ostatnio odczytywany: %1"
#: src/timeline/ReplyButtonComponent.qml:44
#: src/timeline/ReplyButtonComponent.qml:34
#, kde-format
msgctxt "@action:button"
msgid "Reply"
@@ -6202,24 +6202,24 @@ msgstr ""
msgid "Pl. %1"
msgstr "Per. %1"
#: src/timeline/VideoComponent.qml:217
#: src/timeline/VideoComponent.qml:197
#, kde-format
msgid "Video"
msgstr "Wideo"
#: src/timeline/VideoComponent.qml:257
#: src/timeline/VideoComponent.qml:237
#, kde-format
msgctxt "@action:button"
msgid "Show Video"
msgstr "Pokaż wideo"
#: src/timeline/VideoComponent.qml:298
#: src/timeline/VideoComponent.qml:278
#, kde-format
msgctxt "@action:button"
msgid "Volume"
msgstr "Głośność"
#: src/timeline/VideoComponent.qml:382
#: src/timeline/VideoComponent.qml:362
#, kde-format
msgid "Maximize"
msgstr "Zmaksymalizuj"

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: 2025-03-07 00:42+0000\n"
"POT-Creation-Date: 2025-03-11 00:41+0000\n"
"PO-Revision-Date: 2023-06-24 10:17+0100\n"
"Last-Translator: José Nuno Coelho Pires <zepires@gmail.com>\n"
"Language-Team: Portuguese <kde-i18n-pt@kde.org>\n"
@@ -1128,7 +1128,7 @@ msgstr ""
#: src/login/Homeserver.qml:41 src/login/Username.qml:38
#: src/models/messagecontentmodel.cpp:262
#: src/models/messagecontentmodel.cpp:290 src/timeline/LoadComponent.qml:33
#: src/models/messagecontentmodel.cpp:290 src/timeline/LoadComponent.qml:30
#, fuzzy, kde-format
#| msgid "Loading…"
msgid "Loading"
@@ -1161,7 +1161,7 @@ msgid "Loading…"
msgstr "A carregar…"
#: src/login/Login.qml:38 src/login/WelcomePage.qml:250
#: src/settings/ThreePIdCard.qml:183
#: src/settings/ThreePIdCard.qml:189
#, kde-format
msgctxt "@action:button"
msgid "Continue"
@@ -1815,7 +1815,7 @@ msgstr "Próprios Emojis"
#: src/models/messagecontentmodel.cpp:260
#: src/models/messagecontentmodel.cpp:288
#: src/timeline/LinkPreviewLoadComponent.qml:66
#: src/timeline/LinkPreviewLoadComponent.qml:63
#, fuzzy, kde-format
#| msgid "Loading…"
msgid "Loading reply"
@@ -2148,7 +2148,7 @@ msgctxt "@info:label"
msgid "%1 invited you"
msgstr "%1 convidou-o para uma sala"
#: src/neochatconnection.cpp:77
#: src/neochatconnection.cpp:75
#, fuzzy, kde-format
#| msgid "Contact your matrix server administrator for support."
msgid ""
@@ -2157,18 +2157,18 @@ msgid ""
msgstr ""
"Contacte o administrador do seu servidor de Matrix para obter algum suporte."
#: src/neochatconnection.cpp:336
#: src/neochatconnection.cpp:329
#, kde-format
msgctxt "@info"
msgid "No identity server configured"
msgstr ""
#: src/neochatconnection.cpp:367
#: src/neochatconnection.cpp:360
#, kde-format
msgid "Room creation failed: %1"
msgstr "Não foi possível criar a sala: %1"
#: src/neochatconnection.cpp:397
#: src/neochatconnection.cpp:390
#, kde-format
msgid "Space creation failed: %1"
msgstr "Não foi possível criar o espaço: %1"
@@ -6349,117 +6349,117 @@ msgctxt "@title:dialog"
msgid "Select Parameter to Add"
msgstr ""
#: src/settings/ThreePIdCard.qml:55
#: src/settings/ThreePIdCard.qml:58
#, kde-format
msgctxt "@action:button"
msgid "Hide"
msgstr ""
#: src/settings/ThreePIdCard.qml:61
#: src/settings/ThreePIdCard.qml:64
#, fuzzy, kde-format
#| msgid "Share"
msgctxt "@action:button"
msgid "Share"
msgstr "Partilhar"
#: src/settings/ThreePIdCard.qml:66
#: src/settings/ThreePIdCard.qml:69
#, fuzzy, kde-format
#| msgid "Remove"
msgctxt "@action:button"
msgid "Remove"
msgstr "Remover"
#: src/settings/ThreePIdCard.qml:85
#: src/settings/ThreePIdCard.qml:88
#, fuzzy, kde-format
#| msgid "Compact"
msgctxt "@action:button"
msgid "Complete"
msgstr "Compacto"
#: src/settings/ThreePIdCard.qml:90 src/timeline/ChatBarComponent.qml:110
#: src/settings/ThreePIdCard.qml:93 src/timeline/ChatBarComponent.qml:100
#, fuzzy, kde-format
#| msgid "Cancel"
msgctxt "@action:button"
msgid "Cancel"
msgstr "Cancelar"
#: src/settings/ThreePIdCard.qml:130
#: src/settings/ThreePIdCard.qml:136
#, kde-format
msgctxt "@label:textbox"
msgid "Country Code for new phone number"
msgstr ""
#: src/settings/ThreePIdCard.qml:146
#: src/settings/ThreePIdCard.qml:152
#, fuzzy, kde-format
#| msgid "Confirm new display name"
msgctxt "@label:textbox"
msgid "New Email Address:"
msgstr "Confirmar o novo nome visível"
#: src/settings/ThreePIdCard.qml:146
#: src/settings/ThreePIdCard.qml:152
#, fuzzy, kde-format
#| msgid "Members"
msgctxt "@label:textbox"
msgid "New Phone Number:"
msgstr "Membros"
#: src/settings/ThreePIdCard.qml:150 src/threepidbindhelper.cpp:178
#: src/settings/ThreePIdCard.qml:156 src/threepidbindhelper.cpp:179
#, kde-format
msgid "We've sent you an email"
msgstr ""
#: src/settings/ThreePIdCard.qml:150 src/threepidbindhelper.cpp:178
#: src/settings/ThreePIdCard.qml:156 src/threepidbindhelper.cpp:179
#, fuzzy, kde-format
#| msgid "sent a message"
msgid "We've sent you a text message"
msgstr "enviou uma mensagem"
#: src/settings/ThreePIdCard.qml:150
#: src/settings/ThreePIdCard.qml:156
#, kde-format
msgid ""
"%1. Please follow the instructions there and then click the button below"
msgstr ""
#: src/settings/ThreePIdCard.qml:152 src/threepidbindhelper.cpp:180
#: src/settings/ThreePIdCard.qml:158 src/threepidbindhelper.cpp:181
#, fuzzy, kde-format
#| msgid "The entered text is not a valid url"
msgid "The entered email is not valid"
msgstr "O texto introduzido não é um URL válido"
#: src/settings/ThreePIdCard.qml:152 src/threepidbindhelper.cpp:180
#: src/settings/ThreePIdCard.qml:158 src/threepidbindhelper.cpp:181
#, fuzzy, kde-format
#| msgid "The entered text is not a valid url"
msgid "The entered phone number is not valid"
msgstr "O texto introduzido não é um URL válido"
#: src/settings/ThreePIdCard.qml:154
#: src/settings/ThreePIdCard.qml:160
#, fuzzy, kde-format
#| msgid "Wrong password entered"
msgid "Incorrect password entered"
msgstr "Foi introduzida uma senha errada"
#: src/settings/ThreePIdCard.qml:156
#: src/settings/ThreePIdCard.qml:162
#, kde-format
msgid ""
"The email has not been verified. Please go to the email and follow the "
"instructions there and then click the button below"
msgstr ""
#: src/settings/ThreePIdCard.qml:156
#: src/settings/ThreePIdCard.qml:162
#, kde-format
msgid ""
"The phone number has not been verified. Please go to the text message and "
"follow the instructions there and then click the button below"
msgstr ""
#: src/settings/ThreePIdCard.qml:183
#: src/settings/ThreePIdCard.qml:189
#, fuzzy, kde-format
#| msgid "Add"
msgctxt "@action:button Add new email or phone number"
msgid "Add"
msgstr "Adicionar"
#: src/settings/ThreePIdCard.qml:191
#: src/settings/ThreePIdCard.qml:197
#, fuzzy, kde-format
#| msgctxt "@action:button"
#| msgid "Back"
@@ -6467,59 +6467,59 @@ msgctxt "@action:button As in 'go back'"
msgid "Back"
msgstr "Voltar"
#: src/threepidbindhelper.cpp:177
#: src/threepidbindhelper.cpp:178
#, kde-format
msgid ""
"%1. Please follow the instructions there and then click the button above"
msgstr ""
#: src/threepidbindhelper.cpp:183
#: src/threepidbindhelper.cpp:184
#, kde-format
msgid ""
"The email has not been verified. Please go to the email and follow the "
"instructions there and then click the button above"
msgstr ""
#: src/threepidbindhelper.cpp:184
#: src/threepidbindhelper.cpp:185
#, kde-format
msgid ""
"The phone number has not been verified. Please go to the text message and "
"follow the instructions there and then click the button above"
msgstr ""
#: src/timeline/BaseMessageComponentChooser.qml:249
#: src/timeline/BaseMessageComponentChooser.qml:172
#, fuzzy, kde-format
#| msgid "withdrew a user's invitation"
msgid "%1 started a user verification"
msgstr "retirou o convite de um utilizador"
#: src/timeline/ChatBarComponent.qml:98
#: src/timeline/ChatBarComponent.qml:88
#, kde-format
msgctxt "@action:button"
msgid "Confirm edit"
msgstr "Confirmar a edição"
#: src/timeline/ChatBarComponent.qml:98
#: src/timeline/ChatBarComponent.qml:88
#, fuzzy, kde-format
#| msgid "No results found"
msgctxt "@action:button"
msgid "Post message in thread"
msgstr "Não foram encontrados resultados"
#: src/timeline/CodeComponent.qml:164
#: src/timeline/CodeComponent.qml:159
#, fuzzy, kde-format
#| msgid "Copy room ID to clipboard"
msgid "Copy to clipboard"
msgstr "Copiar o ID da sala para a área de transferência"
#: src/timeline/CodeComponent.qml:176
#: src/timeline/CodeComponent.qml:171
#, fuzzy, kde-format
#| msgid "Maximize"
msgctxt "@action:button"
msgid "Maximize"
msgstr "Maximizar"
#: src/timeline/EncryptedComponent.qml:21
#: src/timeline/EncryptedComponent.qml:18
#, kde-format
msgid ""
"This message is encrypted and the sender has not shared the key with this "
@@ -6528,20 +6528,20 @@ msgstr ""
"Esta mensagem está encriptada e o remetente não partilhou a chave com este "
"dispositivo."
#: src/timeline/FetchButtonComponent.qml:41
#: src/timeline/FetchButtonComponent.qml:36
#, kde-format
msgctxt "@action:button"
msgid "Fetch More Events"
msgstr ""
#: src/timeline/FileComponent.qml:104 src/timeline/FileComponent.qml:187
#: src/timeline/FileComponent.qml:94 src/timeline/FileComponent.qml:177
#, kde-format
msgctxt ""
"tooltip for a button on a message; offers ability to download its file"
msgid "Download"
msgstr "Transferir"
#: src/timeline/FileComponent.qml:120 src/timeline/FileComponent.qml:177
#: src/timeline/FileComponent.qml:110 src/timeline/FileComponent.qml:167
#, kde-format
msgctxt ""
"tooltip for a button on a message; offers ability to open its downloaded "
@@ -6549,13 +6549,13 @@ msgctxt ""
msgid "Open File"
msgstr "Abrir o Ficheiro"
#: src/timeline/FileComponent.qml:135
#: src/timeline/FileComponent.qml:125
#, kde-format
msgctxt "file download progress"
msgid "%1 / %2"
msgstr "%1 / %2"
#: src/timeline/FileComponent.qml:140
#: src/timeline/FileComponent.qml:130
#, kde-format
msgctxt ""
"tooltip for a button on a message; stops downloading the message's file"
@@ -6584,63 +6584,63 @@ msgstr ""
msgid "Check-out time: %1"
msgstr ""
#: src/timeline/ImageComponent.qml:140
#: src/timeline/ImageComponent.qml:120
#, fuzzy, kde-format
#| msgid "Set Image"
msgctxt "@action:button"
msgid "Show Image"
msgstr "Definir uma Imagem"
#: src/timeline/ItineraryComponent.qml:57
#: src/timeline/ItineraryComponent.qml:54
#, kde-format
msgctxt "@action"
msgid "Send to KDE Itinerary"
msgstr ""
#: src/timeline/LinkPreviewComponent.qml:136
#: src/timeline/LinkPreviewLoadComponent.qml:79
#: src/timeline/LinkPreviewComponent.qml:131
#: src/timeline/LinkPreviewLoadComponent.qml:76
#, fuzzy, kde-format
#| msgid "Remove device"
msgctxt "As in remove the link preview so it's no longer shown"
msgid "Remove preview"
msgstr "Remover o dispositivo"
#: src/timeline/LinkPreviewComponent.qml:154
#: src/timeline/LinkPreviewComponent.qml:149
#, kde-format
msgid "Shrink preview"
msgstr "Fechar a antevisão"
#: src/timeline/LinkPreviewComponent.qml:154
#: src/timeline/LinkPreviewComponent.qml:149
#, kde-format
msgid "Expand preview"
msgstr "Expandir a antevisão"
#: src/timeline/LinkPreviewLoadComponent.qml:68
#: src/timeline/LinkPreviewLoadComponent.qml:65
#, kde-format
msgid "Loading URL preview"
msgstr "A carregar a antevisão do URL"
#: src/timeline/LocationComponent.qml:116
#: src/timeline/LocationComponent.qml:111
#, fuzzy, kde-format
#| msgid "Open Externally"
msgctxt "@action:button Open the location in an external program"
msgid "Open Externally"
msgstr "Abrir Externamente"
#: src/timeline/PollComponent.qml:80
#: src/timeline/PollComponent.qml:70
#, kde-format
msgid "Based on votes by %1 user"
msgid_plural "Based on votes by %1 users"
msgstr[0] "Com base nos votos de %1 utilizador"
msgstr[1] "Com base nos votos de %1 utilizadores"
#: src/timeline/PollComponent.qml:80
#: src/timeline/PollComponent.qml:70
#, kde-format
msgctxt "as in 'this vote has ended'"
msgid "(Ended)"
msgstr "(Terminada)"
#: src/timeline/ReactionComponent.qml:97
#: src/timeline/ReactionComponent.qml:89
#, fuzzy, kde-format
#| msgid "React"
msgctxt "@button"
@@ -6653,7 +6653,7 @@ msgctxt "Relative time since the room was last read"
msgid "Last read: %1"
msgstr "Última leitura: %1"
#: src/timeline/ReplyButtonComponent.qml:44
#: src/timeline/ReplyButtonComponent.qml:34
#, fuzzy, kde-format
#| msgid "Reply"
msgctxt "@action:button"
@@ -6673,25 +6673,25 @@ msgstr ""
msgid "Pl. %1"
msgstr ""
#: src/timeline/VideoComponent.qml:217
#: src/timeline/VideoComponent.qml:197
#, kde-format
msgid "Video"
msgstr "Vídeo"
#: src/timeline/VideoComponent.qml:257
#: src/timeline/VideoComponent.qml:237
#, fuzzy, kde-format
#| msgid "Video"
msgctxt "@action:button"
msgid "Show Video"
msgstr "Vídeo"
#: src/timeline/VideoComponent.qml:298
#: src/timeline/VideoComponent.qml:278
#, kde-format
msgctxt "@action:button"
msgid "Volume"
msgstr "Volume"
#: src/timeline/VideoComponent.qml:382
#: src/timeline/VideoComponent.qml:362
#, kde-format
msgid "Maximize"
msgstr "Maximizar"

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: 2025-03-07 00:42+0000\n"
"POT-Creation-Date: 2025-03-11 00:41+0000\n"
"PO-Revision-Date: 2024-08-03 00:01-0300\n"
"Last-Translator: Geraldo Simiao <geraldosimiao@fedoraproject.org>\n"
"Language-Team: Brazilian Portuguese <kde-i18n-pt_BR@kde.org>\n"
@@ -1139,7 +1139,7 @@ msgstr ""
#: src/login/Homeserver.qml:41 src/login/Username.qml:38
#: src/models/messagecontentmodel.cpp:262
#: src/models/messagecontentmodel.cpp:290 src/timeline/LoadComponent.qml:33
#: src/models/messagecontentmodel.cpp:290 src/timeline/LoadComponent.qml:30
#, fuzzy, kde-format
#| msgid "Loading…"
msgid "Loading"
@@ -1172,7 +1172,7 @@ msgid "Loading…"
msgstr "Carregando..."
#: src/login/Login.qml:38 src/login/WelcomePage.qml:250
#: src/settings/ThreePIdCard.qml:183
#: src/settings/ThreePIdCard.qml:189
#, kde-format
msgctxt "@action:button"
msgid "Continue"
@@ -1883,7 +1883,7 @@ msgstr "Emoji personalizado"
#: src/models/messagecontentmodel.cpp:260
#: src/models/messagecontentmodel.cpp:288
#: src/timeline/LinkPreviewLoadComponent.qml:66
#: src/timeline/LinkPreviewLoadComponent.qml:63
#, fuzzy, kde-format
#| msgid "Loading…"
msgid "Loading reply"
@@ -2197,26 +2197,26 @@ msgctxt "@info:label"
msgid "%1 invited you"
msgstr "%1 convidou você para uma sala"
#: src/neochatconnection.cpp:77
#: src/neochatconnection.cpp:75
#, kde-format
msgid ""
"File too large to download.<br />Contact your matrix server administrator "
"for support."
msgstr ""
#: src/neochatconnection.cpp:336
#: src/neochatconnection.cpp:329
#, kde-format
msgctxt "@info"
msgid "No identity server configured"
msgstr ""
#: src/neochatconnection.cpp:367
#: src/neochatconnection.cpp:360
#, fuzzy, kde-format
#| msgid "Room creation failed: \"%1\""
msgid "Room creation failed: %1"
msgstr "Criação de sala falhou: \"%1\""
#: src/neochatconnection.cpp:397
#: src/neochatconnection.cpp:390
#, fuzzy, kde-format
#| msgid "Room creation failed: \"%1\""
msgid "Space creation failed: %1"
@@ -6420,43 +6420,43 @@ msgctxt "@title:dialog"
msgid "Select Parameter to Add"
msgstr ""
#: src/settings/ThreePIdCard.qml:55
#: src/settings/ThreePIdCard.qml:58
#, kde-format
msgctxt "@action:button"
msgid "Hide"
msgstr ""
#: src/settings/ThreePIdCard.qml:61
#: src/settings/ThreePIdCard.qml:64
#, kde-format
msgctxt "@action:button"
msgid "Share"
msgstr "Compartilhar"
#: src/settings/ThreePIdCard.qml:66
#: src/settings/ThreePIdCard.qml:69
#, kde-format
msgctxt "@action:button"
msgid "Remove"
msgstr "Remover"
#: src/settings/ThreePIdCard.qml:85
#: src/settings/ThreePIdCard.qml:88
#, kde-format
msgctxt "@action:button"
msgid "Complete"
msgstr "Completo"
#: src/settings/ThreePIdCard.qml:90 src/timeline/ChatBarComponent.qml:110
#: src/settings/ThreePIdCard.qml:93 src/timeline/ChatBarComponent.qml:100
#, kde-format
msgctxt "@action:button"
msgid "Cancel"
msgstr "Cancelar"
#: src/settings/ThreePIdCard.qml:130
#: src/settings/ThreePIdCard.qml:136
#, kde-format
msgctxt "@label:textbox"
msgid "Country Code for new phone number"
msgstr ""
#: src/settings/ThreePIdCard.qml:146
#: src/settings/ThreePIdCard.qml:152
#, fuzzy, kde-format
#| msgctxt "their refers to a singular user"
#| msgid "cleared their display name"
@@ -6464,121 +6464,121 @@ msgctxt "@label:textbox"
msgid "New Email Address:"
msgstr "limpou seu nome de exibição"
#: src/settings/ThreePIdCard.qml:146
#: src/settings/ThreePIdCard.qml:152
#, fuzzy, kde-format
#| msgid "Members"
msgctxt "@label:textbox"
msgid "New Phone Number:"
msgstr "Membros"
#: src/settings/ThreePIdCard.qml:150 src/threepidbindhelper.cpp:178
#: src/settings/ThreePIdCard.qml:156 src/threepidbindhelper.cpp:179
#, kde-format
msgid "We've sent you an email"
msgstr ""
#: src/settings/ThreePIdCard.qml:150 src/threepidbindhelper.cpp:178
#: src/settings/ThreePIdCard.qml:156 src/threepidbindhelper.cpp:179
#, fuzzy, kde-format
#| msgid "Send a message…"
msgid "We've sent you a text message"
msgstr "Enviar uma mensagem…"
#: src/settings/ThreePIdCard.qml:150
#: src/settings/ThreePIdCard.qml:156
#, kde-format
msgid ""
"%1. Please follow the instructions there and then click the button below"
msgstr ""
#: src/settings/ThreePIdCard.qml:152 src/threepidbindhelper.cpp:180
#: src/settings/ThreePIdCard.qml:158 src/threepidbindhelper.cpp:181
#, kde-format
msgid "The entered email is not valid"
msgstr ""
#: src/settings/ThreePIdCard.qml:152 src/threepidbindhelper.cpp:180
#: src/settings/ThreePIdCard.qml:158 src/threepidbindhelper.cpp:181
#, kde-format
msgid "The entered phone number is not valid"
msgstr ""
#: src/settings/ThreePIdCard.qml:154
#: src/settings/ThreePIdCard.qml:160
#, kde-format
msgid "Incorrect password entered"
msgstr "Senha digitada errada"
#: src/settings/ThreePIdCard.qml:156
#: src/settings/ThreePIdCard.qml:162
#, kde-format
msgid ""
"The email has not been verified. Please go to the email and follow the "
"instructions there and then click the button below"
msgstr ""
#: src/settings/ThreePIdCard.qml:156
#: src/settings/ThreePIdCard.qml:162
#, kde-format
msgid ""
"The phone number has not been verified. Please go to the text message and "
"follow the instructions there and then click the button below"
msgstr ""
#: src/settings/ThreePIdCard.qml:183
#: src/settings/ThreePIdCard.qml:189
#, kde-format
msgctxt "@action:button Add new email or phone number"
msgid "Add"
msgstr "Adicionar"
#: src/settings/ThreePIdCard.qml:191
#: src/settings/ThreePIdCard.qml:197
#, kde-format
msgctxt "@action:button As in 'go back'"
msgid "Back"
msgstr "Voltar"
#: src/threepidbindhelper.cpp:177
#: src/threepidbindhelper.cpp:178
#, kde-format
msgid ""
"%1. Please follow the instructions there and then click the button above"
msgstr ""
#: src/threepidbindhelper.cpp:183
#: src/threepidbindhelper.cpp:184
#, kde-format
msgid ""
"The email has not been verified. Please go to the email and follow the "
"instructions there and then click the button above"
msgstr ""
#: src/threepidbindhelper.cpp:184
#: src/threepidbindhelper.cpp:185
#, kde-format
msgid ""
"The phone number has not been verified. Please go to the text message and "
"follow the instructions there and then click the button above"
msgstr ""
#: src/timeline/BaseMessageComponentChooser.qml:249
#: src/timeline/BaseMessageComponentChooser.qml:172
#, kde-format
msgid "%1 started a user verification"
msgstr "%1 iniciou a verificação de usuário"
#: src/timeline/ChatBarComponent.qml:98
#: src/timeline/ChatBarComponent.qml:88
#, kde-format
msgctxt "@action:button"
msgid "Confirm edit"
msgstr "Confirmar edição"
#: src/timeline/ChatBarComponent.qml:98
#: src/timeline/ChatBarComponent.qml:88
#, fuzzy, kde-format
#| msgid "No rooms found"
msgctxt "@action:button"
msgid "Post message in thread"
msgstr "Nenhuma sala encontrada"
#: src/timeline/CodeComponent.qml:164
#: src/timeline/CodeComponent.qml:159
#, kde-format
msgid "Copy to clipboard"
msgstr "Copiar para a área de transferência"
#: src/timeline/CodeComponent.qml:176
#: src/timeline/CodeComponent.qml:171
#, kde-format
msgctxt "@action:button"
msgid "Maximize"
msgstr ""
#: src/timeline/EncryptedComponent.qml:21
#: src/timeline/EncryptedComponent.qml:18
#, kde-format
msgid ""
"This message is encrypted and the sender has not shared the key with this "
@@ -6587,20 +6587,20 @@ msgstr ""
"Esta mensagem está criptografada e o remetente não compartilhou a chave com "
"este dispositivo."
#: src/timeline/FetchButtonComponent.qml:41
#: src/timeline/FetchButtonComponent.qml:36
#, kde-format
msgctxt "@action:button"
msgid "Fetch More Events"
msgstr ""
#: src/timeline/FileComponent.qml:104 src/timeline/FileComponent.qml:187
#: src/timeline/FileComponent.qml:94 src/timeline/FileComponent.qml:177
#, kde-format
msgctxt ""
"tooltip for a button on a message; offers ability to download its file"
msgid "Download"
msgstr "Baixar"
#: src/timeline/FileComponent.qml:120 src/timeline/FileComponent.qml:177
#: src/timeline/FileComponent.qml:110 src/timeline/FileComponent.qml:167
#, kde-format
msgctxt ""
"tooltip for a button on a message; offers ability to open its downloaded "
@@ -6608,13 +6608,13 @@ msgctxt ""
msgid "Open File"
msgstr "Abrir arquivo"
#: src/timeline/FileComponent.qml:135
#: src/timeline/FileComponent.qml:125
#, kde-format
msgctxt "file download progress"
msgid "%1 / %2"
msgstr "%1 / %2"
#: src/timeline/FileComponent.qml:140
#: src/timeline/FileComponent.qml:130
#, kde-format
msgctxt ""
"tooltip for a button on a message; stops downloading the message's file"
@@ -6643,62 +6643,62 @@ msgstr ""
msgid "Check-out time: %1"
msgstr ""
#: src/timeline/ImageComponent.qml:140
#: src/timeline/ImageComponent.qml:120
#, fuzzy, kde-format
#| msgid "cleared the room name"
msgctxt "@action:button"
msgid "Show Image"
msgstr "limpou o nome da sala"
#: src/timeline/ItineraryComponent.qml:57
#: src/timeline/ItineraryComponent.qml:54
#, kde-format
msgctxt "@action"
msgid "Send to KDE Itinerary"
msgstr ""
#: src/timeline/LinkPreviewComponent.qml:136
#: src/timeline/LinkPreviewLoadComponent.qml:79
#: src/timeline/LinkPreviewComponent.qml:131
#: src/timeline/LinkPreviewLoadComponent.qml:76
#, kde-format
msgctxt "As in remove the link preview so it's no longer shown"
msgid "Remove preview"
msgstr "Remover visualização"
#: src/timeline/LinkPreviewComponent.qml:154
#: src/timeline/LinkPreviewComponent.qml:149
#, kde-format
msgid "Shrink preview"
msgstr ""
#: src/timeline/LinkPreviewComponent.qml:154
#: src/timeline/LinkPreviewComponent.qml:149
#, kde-format
msgid "Expand preview"
msgstr ""
#: src/timeline/LinkPreviewLoadComponent.qml:68
#: src/timeline/LinkPreviewLoadComponent.qml:65
#, kde-format
msgid "Loading URL preview"
msgstr ""
#: src/timeline/LocationComponent.qml:116
#: src/timeline/LocationComponent.qml:111
#, fuzzy, kde-format
#| msgid "Open Externally"
msgctxt "@action:button Open the location in an external program"
msgid "Open Externally"
msgstr "Abrir externamente"
#: src/timeline/PollComponent.qml:80
#: src/timeline/PollComponent.qml:70
#, kde-format
msgid "Based on votes by %1 user"
msgid_plural "Based on votes by %1 users"
msgstr[0] ""
msgstr[1] ""
#: src/timeline/PollComponent.qml:80
#: src/timeline/PollComponent.qml:70
#, kde-format
msgctxt "as in 'this vote has ended'"
msgid "(Ended)"
msgstr ""
#: src/timeline/ReactionComponent.qml:97
#: src/timeline/ReactionComponent.qml:89
#, fuzzy, kde-format
#| msgid "React"
msgctxt "@button"
@@ -6711,7 +6711,7 @@ msgctxt "Relative time since the room was last read"
msgid "Last read: %1"
msgstr "Última leitura: %1"
#: src/timeline/ReplyButtonComponent.qml:44
#: src/timeline/ReplyButtonComponent.qml:34
#, fuzzy, kde-format
#| msgid "Reply"
msgctxt "@action:button"
@@ -6731,25 +6731,25 @@ msgstr ""
msgid "Pl. %1"
msgstr ""
#: src/timeline/VideoComponent.qml:217
#: src/timeline/VideoComponent.qml:197
#, kde-format
msgid "Video"
msgstr "Vídeo"
#: src/timeline/VideoComponent.qml:257
#: src/timeline/VideoComponent.qml:237
#, fuzzy, kde-format
#| msgid "Video"
msgctxt "@action:button"
msgid "Show Video"
msgstr "Vídeo"
#: src/timeline/VideoComponent.qml:298
#: src/timeline/VideoComponent.qml:278
#, kde-format
msgctxt "@action:button"
msgid "Volume"
msgstr ""
#: src/timeline/VideoComponent.qml:382
#: src/timeline/VideoComponent.qml:362
#, kde-format
msgid "Maximize"
msgstr ""

File diff suppressed because it is too large Load Diff

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: 2025-03-07 00:42+0000\n"
"POT-Creation-Date: 2025-03-11 00:41+0000\n"
"PO-Revision-Date: 2024-12-29 23:07+0530\n"
"Last-Translator: kali <shreekantkalwar@gmail.com>\n"
"Language-Team: Sanskrit <kde-i18n-doc@kde.org>\n"
@@ -1036,7 +1036,7 @@ msgstr "अस्मिन् सर्वरे पञ्जीकरणं न
#: src/login/Homeserver.qml:41 src/login/Username.qml:38
#: src/models/messagecontentmodel.cpp:262
#: src/models/messagecontentmodel.cpp:290 src/timeline/LoadComponent.qml:33
#: src/models/messagecontentmodel.cpp:290 src/timeline/LoadComponent.qml:30
#, kde-format
msgid "Loading"
msgstr "लोडिंग"
@@ -1068,7 +1068,7 @@ msgid "Loading…"
msgstr "लोडिंग..."
#: src/login/Login.qml:38 src/login/WelcomePage.qml:250
#: src/settings/ThreePIdCard.qml:183
#: src/settings/ThreePIdCard.qml:189
#, kde-format
msgctxt "@action:button"
msgid "Continue"
@@ -1698,7 +1698,7 @@ msgstr "स्वकीय इमोजी"
#: src/models/messagecontentmodel.cpp:260
#: src/models/messagecontentmodel.cpp:288
#: src/timeline/LinkPreviewLoadComponent.qml:66
#: src/timeline/LinkPreviewLoadComponent.qml:63
#, kde-format
msgid "Loading reply"
msgstr "उत्तरं लोडयति"
@@ -1953,7 +1953,7 @@ msgctxt "@info:label"
msgid "%1 invited you"
msgstr "%1 भवन्तं कक्षे आमन्त्रितवान्"
#: src/neochatconnection.cpp:77
#: src/neochatconnection.cpp:75
#, kde-format
msgid ""
"File too large to download.<br />Contact your matrix server administrator "
@@ -1962,18 +1962,18 @@ msgstr ""
"सञ्चिका अतीव विशाला डाउनलोड् कर्तुं।<br /> समर्थनार्थं स्वस्य matrix server प्रशासकेन सह "
"सम्पर्कं कुर्वन्तु ।"
#: src/neochatconnection.cpp:336
#: src/neochatconnection.cpp:329
#, kde-format
msgctxt "@info"
msgid "No identity server configured"
msgstr "कोऽपि परिचयसर्वरः विन्यस्तः नास्ति"
#: src/neochatconnection.cpp:367
#: src/neochatconnection.cpp:360
#, kde-format
msgid "Room creation failed: %1"
msgstr "कक्षनिर्माणं विफलम्: %1"
#: src/neochatconnection.cpp:397
#: src/neochatconnection.cpp:390
#, kde-format
msgid "Space creation failed: %1"
msgstr "अन्तरिक्षनिर्माणं विफलम्: %1"
@@ -5849,86 +5849,86 @@ msgctxt "@title:dialog"
msgid "Select Parameter to Add"
msgstr "जोड्यताम् परिमाणः"
#: src/settings/ThreePIdCard.qml:55
#: src/settings/ThreePIdCard.qml:58
#, kde-format
msgctxt "@action:button"
msgid "Hide"
msgstr "गोपयतु"
#: src/settings/ThreePIdCard.qml:61
#: src/settings/ThreePIdCard.qml:64
#, kde-format
msgctxt "@action:button"
msgid "Share"
msgstr "संविभागः"
#: src/settings/ThreePIdCard.qml:66
#: src/settings/ThreePIdCard.qml:69
#, kde-format
msgctxt "@action:button"
msgid "Remove"
msgstr "अपाकरोति"
#: src/settings/ThreePIdCard.qml:85
#: src/settings/ThreePIdCard.qml:88
#, kde-format
msgctxt "@action:button"
msgid "Complete"
msgstr "पूर्णं करोतु"
#: src/settings/ThreePIdCard.qml:90 src/timeline/ChatBarComponent.qml:110
#: src/settings/ThreePIdCard.qml:93 src/timeline/ChatBarComponent.qml:100
#, kde-format
msgctxt "@action:button"
msgid "Cancel"
msgstr "निरसयतु"
#: src/settings/ThreePIdCard.qml:130
#: src/settings/ThreePIdCard.qml:136
#, kde-format
msgctxt "@label:textbox"
msgid "Country Code for new phone number"
msgstr "नूतनस्य दूरभाषसङ्ख्यायाः कृते देशसङ्केतः"
#: src/settings/ThreePIdCard.qml:146
#: src/settings/ThreePIdCard.qml:152
#, kde-format
msgctxt "@label:textbox"
msgid "New Email Address:"
msgstr "नवीनं ईमेल-सङ्केतं :"
#: src/settings/ThreePIdCard.qml:146
#: src/settings/ThreePIdCard.qml:152
#, kde-format
msgctxt "@label:textbox"
msgid "New Phone Number:"
msgstr "नवीनं दूरभाषसङ्ख्या :"
#: src/settings/ThreePIdCard.qml:150 src/threepidbindhelper.cpp:178
#: src/settings/ThreePIdCard.qml:156 src/threepidbindhelper.cpp:179
#, kde-format
msgid "We've sent you an email"
msgstr "वयं भवद्भ्यः ईमेल प्रेषितवन्तः"
#: src/settings/ThreePIdCard.qml:150 src/threepidbindhelper.cpp:178
#: src/settings/ThreePIdCard.qml:156 src/threepidbindhelper.cpp:179
#, kde-format
msgid "We've sent you a text message"
msgstr "वयं भवद्भ्यः पाठसन्देशं प्रेषितवन्तः"
#: src/settings/ThreePIdCard.qml:150
#: src/settings/ThreePIdCard.qml:156
#, kde-format
msgid ""
"%1. Please follow the instructions there and then click the button below"
msgstr "%1. तत्र निर्देशान् अनुसृत्य ततः अधोलिखितं बटनं नुदन्तु"
#: src/settings/ThreePIdCard.qml:152 src/threepidbindhelper.cpp:180
#: src/settings/ThreePIdCard.qml:158 src/threepidbindhelper.cpp:181
#, kde-format
msgid "The entered email is not valid"
msgstr "प्रविष्टं ईमेल वैधं नास्ति"
#: src/settings/ThreePIdCard.qml:152 src/threepidbindhelper.cpp:180
#: src/settings/ThreePIdCard.qml:158 src/threepidbindhelper.cpp:181
#, kde-format
msgid "The entered phone number is not valid"
msgstr "प्रविष्टः दूरभाषसङ्ख्या वैधः नास्ति"
#: src/settings/ThreePIdCard.qml:154
#: src/settings/ThreePIdCard.qml:160
#, kde-format
msgid "Incorrect password entered"
msgstr "अशुद्धगुप्तशब्दः प्रविष्टः"
#: src/settings/ThreePIdCard.qml:156
#: src/settings/ThreePIdCard.qml:162
#, kde-format
msgid ""
"The email has not been verified. Please go to the email and follow the "
@@ -5936,7 +5936,7 @@ msgid ""
msgstr ""
"ईमेल सत्यापितं न कृतम्। कृपया ईमेल मध्ये गत्वा तत्र निर्देशान् अनुसृत्य ततः अधोलिखितं बटनं नुदन्तु"
#: src/settings/ThreePIdCard.qml:156
#: src/settings/ThreePIdCard.qml:162
#, kde-format
msgid ""
"The phone number has not been verified. Please go to the text message and "
@@ -5945,25 +5945,25 @@ msgstr ""
"दूरभाषसङ्ख्या सत्यापितं नास्ति। कृपया पाठसन्देशे गत्वा तत्र निर्देशान् अनुसृत्य ततः अधोलिखितं "
"बटनं नुदन्तु"
#: src/settings/ThreePIdCard.qml:183
#: src/settings/ThreePIdCard.qml:189
#, kde-format
msgctxt "@action:button Add new email or phone number"
msgid "Add"
msgstr "संयोजयति"
#: src/settings/ThreePIdCard.qml:191
#: src/settings/ThreePIdCard.qml:197
#, kde-format
msgctxt "@action:button As in 'go back'"
msgid "Back"
msgstr "पृष्ठभागः"
#: src/threepidbindhelper.cpp:177
#: src/threepidbindhelper.cpp:178
#, kde-format
msgid ""
"%1. Please follow the instructions there and then click the button above"
msgstr "%1. तत्र निर्देशान् अनुसृत्य ततः उपरि बटनं नुदन्तु"
#: src/threepidbindhelper.cpp:183
#: src/threepidbindhelper.cpp:184
#, kde-format
msgid ""
"The email has not been verified. Please go to the email and follow the "
@@ -5971,7 +5971,7 @@ msgid ""
msgstr ""
"ईमेल सत्यापितं न कृतम्। कृपया ईमेल मध्ये गत्वा तत्र निर्देशान् अनुसृत्य ततः उपरि बटनं नुदन्तु"
#: src/threepidbindhelper.cpp:184
#: src/threepidbindhelper.cpp:185
#, kde-format
msgid ""
"The phone number has not been verified. Please go to the text message and "
@@ -5980,55 +5980,55 @@ msgstr ""
"दूरभाषसङ्ख्या सत्यापितं नास्ति। कृपया पाठसन्देशं गत्वा तत्रत्याः निर्देशान् अनुसृत्य ततः उपरि "
"स्थापितं बटनं नुदन्तु"
#: src/timeline/BaseMessageComponentChooser.qml:249
#: src/timeline/BaseMessageComponentChooser.qml:172
#, kde-format
msgid "%1 started a user verification"
msgstr "%1 इत्यनेन उपयोक्तृसत्यापनम् आरब्धम्"
#: src/timeline/ChatBarComponent.qml:98
#: src/timeline/ChatBarComponent.qml:88
#, kde-format
msgctxt "@action:button"
msgid "Confirm edit"
msgstr "सम्पादनस्य पुष्टिं कुर्वन्तु"
#: src/timeline/ChatBarComponent.qml:98
#: src/timeline/ChatBarComponent.qml:88
#, kde-format
msgctxt "@action:button"
msgid "Post message in thread"
msgstr "सूत्रे सन्देशं स्थापयन्तु"
#: src/timeline/CodeComponent.qml:164
#: src/timeline/CodeComponent.qml:159
#, kde-format
msgid "Copy to clipboard"
msgstr "क्लिप्बोर्ड् प्रति प्रतिलिख्यताम्"
#: src/timeline/CodeComponent.qml:176
#: src/timeline/CodeComponent.qml:171
#, kde-format
msgctxt "@action:button"
msgid "Maximize"
msgstr "अधिकतमं कुरुत"
#: src/timeline/EncryptedComponent.qml:21
#: src/timeline/EncryptedComponent.qml:18
#, kde-format
msgid ""
"This message is encrypted and the sender has not shared the key with this "
"device."
msgstr "एषः सन्देशः गुप्तः अस्ति तथा च प्रेषकेन अस्मिन् यन्त्रेण सह कुञ्जी न साझा कृता ।"
#: src/timeline/FetchButtonComponent.qml:41
#: src/timeline/FetchButtonComponent.qml:36
#, kde-format
msgctxt "@action:button"
msgid "Fetch More Events"
msgstr ""
#: src/timeline/FileComponent.qml:104 src/timeline/FileComponent.qml:187
#: src/timeline/FileComponent.qml:94 src/timeline/FileComponent.qml:177
#, kde-format
msgctxt ""
"tooltip for a button on a message; offers ability to download its file"
msgid "Download"
msgstr "अवाहरन"
#: src/timeline/FileComponent.qml:120 src/timeline/FileComponent.qml:177
#: src/timeline/FileComponent.qml:110 src/timeline/FileComponent.qml:167
#, kde-format
msgctxt ""
"tooltip for a button on a message; offers ability to open its downloaded "
@@ -6036,13 +6036,13 @@ msgctxt ""
msgid "Open File"
msgstr "सञ्चिकां उद्घाटयन्तु"
#: src/timeline/FileComponent.qml:135
#: src/timeline/FileComponent.qml:125
#, kde-format
msgctxt "file download progress"
msgid "%1 / %2"
msgstr "%1 / %2"
#: src/timeline/FileComponent.qml:140
#: src/timeline/FileComponent.qml:130
#, kde-format
msgctxt ""
"tooltip for a button on a message; stops downloading the message's file"
@@ -6071,60 +6071,60 @@ msgstr "चेक-इन समयः %1"
msgid "Check-out time: %1"
msgstr "चेक-आउट् समयः %1"
#: src/timeline/ImageComponent.qml:140
#: src/timeline/ImageComponent.qml:120
#, kde-format
msgctxt "@action:button"
msgid "Show Image"
msgstr "चित्रं दर्शयतु"
#: src/timeline/ItineraryComponent.qml:57
#: src/timeline/ItineraryComponent.qml:54
#, kde-format
msgctxt "@action"
msgid "Send to KDE Itinerary"
msgstr "KDE यात्रासूचीं प्रेषयन्तु"
#: src/timeline/LinkPreviewComponent.qml:136
#: src/timeline/LinkPreviewLoadComponent.qml:79
#: src/timeline/LinkPreviewComponent.qml:131
#: src/timeline/LinkPreviewLoadComponent.qml:76
#, kde-format
msgctxt "As in remove the link preview so it's no longer shown"
msgid "Remove preview"
msgstr "पूर्वावलोकनं निष्कासयन्तु"
#: src/timeline/LinkPreviewComponent.qml:154
#: src/timeline/LinkPreviewComponent.qml:149
#, kde-format
msgid "Shrink preview"
msgstr "पूर्वावलोकनं संकोचयतु"
#: src/timeline/LinkPreviewComponent.qml:154
#: src/timeline/LinkPreviewComponent.qml:149
#, kde-format
msgid "Expand preview"
msgstr "पूर्वावलोकनं विस्तारयतु"
#: src/timeline/LinkPreviewLoadComponent.qml:68
#: src/timeline/LinkPreviewLoadComponent.qml:65
#, kde-format
msgid "Loading URL preview"
msgstr "URL पूर्वावलोकनं लोड् भवति"
#: src/timeline/LocationComponent.qml:116
#: src/timeline/LocationComponent.qml:111
#, kde-format
msgctxt "@action:button Open the location in an external program"
msgid "Open Externally"
msgstr "बाह्यरूपेण उद्घाटयतु"
#: src/timeline/PollComponent.qml:80
#: src/timeline/PollComponent.qml:70
#, kde-format
msgid "Based on votes by %1 user"
msgid_plural "Based on votes by %1 users"
msgstr[0] "%1 उपयोक्तुः मतानाम् आधारेण"
msgstr[1] "%1 उपयोक्तृणां मतानाम् आधारेण"
#: src/timeline/PollComponent.qml:80
#: src/timeline/PollComponent.qml:70
#, kde-format
msgctxt "as in 'this vote has ended'"
msgid "(Ended)"
msgstr "(समाप्तः)"
#: src/timeline/ReactionComponent.qml:97
#: src/timeline/ReactionComponent.qml:89
#, fuzzy, kde-format
#| msgid "React"
msgctxt "@button"
@@ -6137,7 +6137,7 @@ msgctxt "Relative time since the room was last read"
msgid "Last read: %1"
msgstr "अन्तिमपठनं: %1"
#: src/timeline/ReplyButtonComponent.qml:44
#: src/timeline/ReplyButtonComponent.qml:34
#, kde-format
msgctxt "@action:button"
msgid "Reply"
@@ -6156,24 +6156,24 @@ msgstr "इति चटस्य आरम्भः । अस्मात्
msgid "Pl. %1"
msgstr "प्ल. %1"
#: src/timeline/VideoComponent.qml:217
#: src/timeline/VideoComponent.qml:197
#, kde-format
msgid "Video"
msgstr "विडिओ"
#: src/timeline/VideoComponent.qml:257
#: src/timeline/VideoComponent.qml:237
#, kde-format
msgctxt "@action:button"
msgid "Show Video"
msgstr "विडियो दर्शयतु"
#: src/timeline/VideoComponent.qml:298
#: src/timeline/VideoComponent.qml:278
#, kde-format
msgctxt "@action:button"
msgid "Volume"
msgstr "मात्रा"
#: src/timeline/VideoComponent.qml:382
#: src/timeline/VideoComponent.qml:362
#, kde-format
msgid "Maximize"
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: 2025-03-07 00:42+0000\n"
"POT-Creation-Date: 2025-03-11 00:41+0000\n"
"PO-Revision-Date: 2024-11-10 11:41+0100\n"
"Last-Translator: Roman Paholík <wizzardsk@gmail.com>\n"
"Language-Team: KDE-SK\n"
@@ -1129,7 +1129,7 @@ msgstr ""
#: src/login/Homeserver.qml:41 src/login/Username.qml:38
#: src/models/messagecontentmodel.cpp:262
#: src/models/messagecontentmodel.cpp:290 src/timeline/LoadComponent.qml:33
#: src/models/messagecontentmodel.cpp:290 src/timeline/LoadComponent.qml:30
#, fuzzy, kde-format
#| msgid "Loading…"
msgid "Loading"
@@ -1161,7 +1161,7 @@ msgid "Loading…"
msgstr "Načítava sa…"
#: src/login/Login.qml:38 src/login/WelcomePage.qml:250
#: src/settings/ThreePIdCard.qml:183
#: src/settings/ThreePIdCard.qml:189
#, kde-format
msgctxt "@action:button"
msgid "Continue"
@@ -1874,7 +1874,7 @@ msgstr "Vlastné"
#: src/models/messagecontentmodel.cpp:260
#: src/models/messagecontentmodel.cpp:288
#: src/timeline/LinkPreviewLoadComponent.qml:66
#: src/timeline/LinkPreviewLoadComponent.qml:63
#, fuzzy, kde-format
#| msgid "Loading…"
msgid "Loading reply"
@@ -2183,26 +2183,26 @@ msgctxt "@info:label"
msgid "%1 invited you"
msgstr "pozval %1 do miestnosti"
#: src/neochatconnection.cpp:77
#: src/neochatconnection.cpp:75
#, kde-format
msgid ""
"File too large to download.<br />Contact your matrix server administrator "
"for support."
msgstr ""
#: src/neochatconnection.cpp:336
#: src/neochatconnection.cpp:329
#, kde-format
msgctxt "@info"
msgid "No identity server configured"
msgstr ""
#: src/neochatconnection.cpp:367
#: src/neochatconnection.cpp:360
#, fuzzy, kde-format
#| msgid "Room creation failed: \"%1\""
msgid "Room creation failed: %1"
msgstr "Vytvorenie miestnosti zlyhalo: \"%1\""
#: src/neochatconnection.cpp:397
#: src/neochatconnection.cpp:390
#, fuzzy, kde-format
#| msgid "Room creation failed: \"%1\""
msgid "Space creation failed: %1"
@@ -6345,45 +6345,45 @@ msgctxt "@title:dialog"
msgid "Select Parameter to Add"
msgstr ""
#: src/settings/ThreePIdCard.qml:55
#: src/settings/ThreePIdCard.qml:58
#, kde-format
msgctxt "@action:button"
msgid "Hide"
msgstr "Skryť"
#: src/settings/ThreePIdCard.qml:61
#: src/settings/ThreePIdCard.qml:64
#, fuzzy, kde-format
#| msgid "Share"
msgctxt "@action:button"
msgid "Share"
msgstr "Zdieľať"
#: src/settings/ThreePIdCard.qml:66
#: src/settings/ThreePIdCard.qml:69
#, kde-format
msgctxt "@action:button"
msgid "Remove"
msgstr "Odstrániť"
#: src/settings/ThreePIdCard.qml:85
#: src/settings/ThreePIdCard.qml:88
#, fuzzy, kde-format
#| msgid "Compact"
msgctxt "@action:button"
msgid "Complete"
msgstr "Dokončené"
#: src/settings/ThreePIdCard.qml:90 src/timeline/ChatBarComponent.qml:110
#: src/settings/ThreePIdCard.qml:93 src/timeline/ChatBarComponent.qml:100
#, kde-format
msgctxt "@action:button"
msgid "Cancel"
msgstr "Zrušiť"
#: src/settings/ThreePIdCard.qml:130
#: src/settings/ThreePIdCard.qml:136
#, kde-format
msgctxt "@label:textbox"
msgid "Country Code for new phone number"
msgstr ""
#: src/settings/ThreePIdCard.qml:146
#: src/settings/ThreePIdCard.qml:152
#, fuzzy, kde-format
#| msgctxt "their refers to a singular user"
#| msgid "cleared their display name"
@@ -6391,67 +6391,67 @@ msgctxt "@label:textbox"
msgid "New Email Address:"
msgstr "vymazali svoje zobrazované meno"
#: src/settings/ThreePIdCard.qml:146
#: src/settings/ThreePIdCard.qml:152
#, fuzzy, kde-format
#| msgid "Members"
msgctxt "@label:textbox"
msgid "New Phone Number:"
msgstr "Členovia"
#: src/settings/ThreePIdCard.qml:150 src/threepidbindhelper.cpp:178
#: src/settings/ThreePIdCard.qml:156 src/threepidbindhelper.cpp:179
#, kde-format
msgid "We've sent you an email"
msgstr ""
#: src/settings/ThreePIdCard.qml:150 src/threepidbindhelper.cpp:178
#: src/settings/ThreePIdCard.qml:156 src/threepidbindhelper.cpp:179
#, fuzzy, kde-format
#| msgid "Send message"
msgid "We've sent you a text message"
msgstr "Odoslať správu"
#: src/settings/ThreePIdCard.qml:150
#: src/settings/ThreePIdCard.qml:156
#, kde-format
msgid ""
"%1. Please follow the instructions there and then click the button below"
msgstr ""
#: src/settings/ThreePIdCard.qml:152 src/threepidbindhelper.cpp:180
#: src/settings/ThreePIdCard.qml:158 src/threepidbindhelper.cpp:181
#, kde-format
msgid "The entered email is not valid"
msgstr ""
#: src/settings/ThreePIdCard.qml:152 src/threepidbindhelper.cpp:180
#: src/settings/ThreePIdCard.qml:158 src/threepidbindhelper.cpp:181
#, kde-format
msgid "The entered phone number is not valid"
msgstr ""
#: src/settings/ThreePIdCard.qml:154
#: src/settings/ThreePIdCard.qml:160
#, fuzzy, kde-format
#| msgid "Wrong password entered"
msgid "Incorrect password entered"
msgstr "Zadané nesprávne heslo"
#: src/settings/ThreePIdCard.qml:156
#: src/settings/ThreePIdCard.qml:162
#, kde-format
msgid ""
"The email has not been verified. Please go to the email and follow the "
"instructions there and then click the button below"
msgstr ""
#: src/settings/ThreePIdCard.qml:156
#: src/settings/ThreePIdCard.qml:162
#, kde-format
msgid ""
"The phone number has not been verified. Please go to the text message and "
"follow the instructions there and then click the button below"
msgstr ""
#: src/settings/ThreePIdCard.qml:183
#: src/settings/ThreePIdCard.qml:189
#, kde-format
msgctxt "@action:button Add new email or phone number"
msgid "Add"
msgstr "Pridať"
#: src/settings/ThreePIdCard.qml:191
#: src/settings/ThreePIdCard.qml:197
#, fuzzy, kde-format
#| msgctxt "@action:button"
#| msgid "Back"
@@ -6459,78 +6459,78 @@ msgctxt "@action:button As in 'go back'"
msgid "Back"
msgstr "Späť"
#: src/threepidbindhelper.cpp:177
#: src/threepidbindhelper.cpp:178
#, kde-format
msgid ""
"%1. Please follow the instructions there and then click the button above"
msgstr ""
#: src/threepidbindhelper.cpp:183
#: src/threepidbindhelper.cpp:184
#, kde-format
msgid ""
"The email has not been verified. Please go to the email and follow the "
"instructions there and then click the button above"
msgstr ""
#: src/threepidbindhelper.cpp:184
#: src/threepidbindhelper.cpp:185
#, kde-format
msgid ""
"The phone number has not been verified. Please go to the text message and "
"follow the instructions there and then click the button above"
msgstr ""
#: src/timeline/BaseMessageComponentChooser.qml:249
#: src/timeline/BaseMessageComponentChooser.qml:172
#, fuzzy, kde-format
#| msgid "withdrew %1's invitation"
msgid "%1 started a user verification"
msgstr "stiahol pozvanie %1"
#: src/timeline/ChatBarComponent.qml:98
#: src/timeline/ChatBarComponent.qml:88
#, fuzzy, kde-format
#| msgid "Confirm"
msgctxt "@action:button"
msgid "Confirm edit"
msgstr "Potvrdiť"
#: src/timeline/ChatBarComponent.qml:98
#: src/timeline/ChatBarComponent.qml:88
#, fuzzy, kde-format
#| msgid "No rooms found"
msgctxt "@action:button"
msgid "Post message in thread"
msgstr "Žiadne miestnosti neboli nájdené"
#: src/timeline/CodeComponent.qml:164
#: src/timeline/CodeComponent.qml:159
#, fuzzy, kde-format
msgid "Copy to clipboard"
msgstr "Kopírovať do schránky"
#: src/timeline/CodeComponent.qml:176
#: src/timeline/CodeComponent.qml:171
#, kde-format
msgctxt "@action:button"
msgid "Maximize"
msgstr "Maximalizovať"
#: src/timeline/EncryptedComponent.qml:21
#: src/timeline/EncryptedComponent.qml:18
#, kde-format
msgid ""
"This message is encrypted and the sender has not shared the key with this "
"device."
msgstr ""
#: src/timeline/FetchButtonComponent.qml:41
#: src/timeline/FetchButtonComponent.qml:36
#, kde-format
msgctxt "@action:button"
msgid "Fetch More Events"
msgstr ""
#: src/timeline/FileComponent.qml:104 src/timeline/FileComponent.qml:187
#: src/timeline/FileComponent.qml:94 src/timeline/FileComponent.qml:177
#, kde-format
msgctxt ""
"tooltip for a button on a message; offers ability to download its file"
msgid "Download"
msgstr "Stiahnuť"
#: src/timeline/FileComponent.qml:120 src/timeline/FileComponent.qml:177
#: src/timeline/FileComponent.qml:110 src/timeline/FileComponent.qml:167
#, kde-format
msgctxt ""
"tooltip for a button on a message; offers ability to open its downloaded "
@@ -6538,13 +6538,13 @@ msgctxt ""
msgid "Open File"
msgstr "Otvoriť súbor"
#: src/timeline/FileComponent.qml:135
#: src/timeline/FileComponent.qml:125
#, kde-format
msgctxt "file download progress"
msgid "%1 / %2"
msgstr "%1 / %2"
#: src/timeline/FileComponent.qml:140
#: src/timeline/FileComponent.qml:130
#, kde-format
msgctxt ""
"tooltip for a button on a message; stops downloading the message's file"
@@ -6573,48 +6573,48 @@ msgstr ""
msgid "Check-out time: %1"
msgstr ""
#: src/timeline/ImageComponent.qml:140
#: src/timeline/ImageComponent.qml:120
#, kde-format
msgctxt "@action:button"
msgid "Show Image"
msgstr "Zobraziť obrázok"
#: src/timeline/ItineraryComponent.qml:57
#: src/timeline/ItineraryComponent.qml:54
#, kde-format
msgctxt "@action"
msgid "Send to KDE Itinerary"
msgstr ""
#: src/timeline/LinkPreviewComponent.qml:136
#: src/timeline/LinkPreviewLoadComponent.qml:79
#: src/timeline/LinkPreviewComponent.qml:131
#: src/timeline/LinkPreviewLoadComponent.qml:76
#, fuzzy, kde-format
#| msgid "Remove device"
msgctxt "As in remove the link preview so it's no longer shown"
msgid "Remove preview"
msgstr "Odstrániť zariadenie"
#: src/timeline/LinkPreviewComponent.qml:154
#: src/timeline/LinkPreviewComponent.qml:149
#, kde-format
msgid "Shrink preview"
msgstr ""
#: src/timeline/LinkPreviewComponent.qml:154
#: src/timeline/LinkPreviewComponent.qml:149
#, kde-format
msgid "Expand preview"
msgstr ""
#: src/timeline/LinkPreviewLoadComponent.qml:68
#: src/timeline/LinkPreviewLoadComponent.qml:65
#, kde-format
msgid "Loading URL preview"
msgstr ""
#: src/timeline/LocationComponent.qml:116
#: src/timeline/LocationComponent.qml:111
#, kde-format
msgctxt "@action:button Open the location in an external program"
msgid "Open Externally"
msgstr "Otvoriť externe"
#: src/timeline/PollComponent.qml:80
#: src/timeline/PollComponent.qml:70
#, kde-format
msgid "Based on votes by %1 user"
msgid_plural "Based on votes by %1 users"
@@ -6622,13 +6622,13 @@ msgstr[0] ""
msgstr[1] ""
msgstr[2] ""
#: src/timeline/PollComponent.qml:80
#: src/timeline/PollComponent.qml:70
#, fuzzy, kde-format
msgctxt "as in 'this vote has ended'"
msgid "(Ended)"
msgstr "ukončené"
#: src/timeline/ReactionComponent.qml:97
#: src/timeline/ReactionComponent.qml:89
#, fuzzy, kde-format
#| msgid "React"
msgctxt "@button"
@@ -6641,7 +6641,7 @@ msgctxt "Relative time since the room was last read"
msgid "Last read: %1"
msgstr "Naposledy prečítané: %1"
#: src/timeline/ReplyButtonComponent.qml:44
#: src/timeline/ReplyButtonComponent.qml:34
#, fuzzy, kde-format
#| msgid "Reply"
msgctxt "@action:button"
@@ -6661,24 +6661,24 @@ msgstr ""
msgid "Pl. %1"
msgstr "Pl"
#: src/timeline/VideoComponent.qml:217
#: src/timeline/VideoComponent.qml:197
#, kde-format
msgid "Video"
msgstr "Video"
#: src/timeline/VideoComponent.qml:257
#: src/timeline/VideoComponent.qml:237
#, kde-format
msgctxt "@action:button"
msgid "Show Video"
msgstr "Zobraziť video"
#: src/timeline/VideoComponent.qml:298
#: src/timeline/VideoComponent.qml:278
#, fuzzy, kde-format
msgctxt "@action:button"
msgid "Volume"
msgstr "Hlasitosť"
#: src/timeline/VideoComponent.qml:382
#: src/timeline/VideoComponent.qml:362
#, kde-format
msgid "Maximize"
msgstr "Maximalizovať"

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: 2025-03-07 00:42+0000\n"
"POT-Creation-Date: 2025-03-11 00:41+0000\n"
"PO-Revision-Date: 2025-03-06 07:39+0100\n"
"Last-Translator: Matjaž Jeran <matjaz.jeran@amis.net>\n"
"Language-Team: Slovenian <lugos-slo@lugos.si>\n"
@@ -1043,7 +1043,7 @@ msgstr "Registracija je onemogočena na tem strežniku."
#: src/login/Homeserver.qml:41 src/login/Username.qml:38
#: src/models/messagecontentmodel.cpp:262
#: src/models/messagecontentmodel.cpp:290 src/timeline/LoadComponent.qml:33
#: src/models/messagecontentmodel.cpp:290 src/timeline/LoadComponent.qml:30
#, kde-format
msgid "Loading"
msgstr "Nalaganje"
@@ -1075,7 +1075,7 @@ msgid "Loading…"
msgstr "Nalaganje …"
#: src/login/Login.qml:38 src/login/WelcomePage.qml:250
#: src/settings/ThreePIdCard.qml:183
#: src/settings/ThreePIdCard.qml:189
#, kde-format
msgctxt "@action:button"
msgid "Continue"
@@ -1705,7 +1705,7 @@ msgstr "Lastni čustvenčki"
#: src/models/messagecontentmodel.cpp:260
#: src/models/messagecontentmodel.cpp:288
#: src/timeline/LinkPreviewLoadComponent.qml:66
#: src/timeline/LinkPreviewLoadComponent.qml:63
#, kde-format
msgid "Loading reply"
msgstr "Nalaganje odgovora"
@@ -1966,7 +1966,7 @@ msgctxt "@info:label"
msgid "%1 invited you"
msgstr "%1 vas je povabil"
#: src/neochatconnection.cpp:77
#: src/neochatconnection.cpp:75
#, kde-format
msgid ""
"File too large to download.<br />Contact your matrix server administrator "
@@ -1975,18 +1975,18 @@ msgstr ""
"Datoteka je prevelika za prenos.<br />Za podporo se obrnite na skrbnika "
"strežnika matrix."
#: src/neochatconnection.cpp:336
#: src/neochatconnection.cpp:329
#, kde-format
msgctxt "@info"
msgid "No identity server configured"
msgstr "Ni konfigurirana identiteta strežnika"
#: src/neochatconnection.cpp:367
#: src/neochatconnection.cpp:360
#, kde-format
msgid "Room creation failed: %1"
msgstr "Ustvarjanje sobe ni uspelo: %1"
#: src/neochatconnection.cpp:397
#: src/neochatconnection.cpp:390
#, kde-format
msgid "Space creation failed: %1"
msgstr "Ustvarjanje prostora ni uspelo: %1"
@@ -5884,86 +5884,86 @@ msgctxt "@title:dialog"
msgid "Select Parameter to Add"
msgstr "Izberite parameter za dodajanje"
#: src/settings/ThreePIdCard.qml:55
#: src/settings/ThreePIdCard.qml:58
#, kde-format
msgctxt "@action:button"
msgid "Hide"
msgstr "Skrij"
#: src/settings/ThreePIdCard.qml:61
#: src/settings/ThreePIdCard.qml:64
#, kde-format
msgctxt "@action:button"
msgid "Share"
msgstr "Deli"
#: src/settings/ThreePIdCard.qml:66
#: src/settings/ThreePIdCard.qml:69
#, kde-format
msgctxt "@action:button"
msgid "Remove"
msgstr "Odstrani"
#: src/settings/ThreePIdCard.qml:85
#: src/settings/ThreePIdCard.qml:88
#, kde-format
msgctxt "@action:button"
msgid "Complete"
msgstr "Dokončano"
#: src/settings/ThreePIdCard.qml:90 src/timeline/ChatBarComponent.qml:110
#: src/settings/ThreePIdCard.qml:93 src/timeline/ChatBarComponent.qml:100
#, kde-format
msgctxt "@action:button"
msgid "Cancel"
msgstr "Prekliči"
#: src/settings/ThreePIdCard.qml:130
#: src/settings/ThreePIdCard.qml:136
#, kde-format
msgctxt "@label:textbox"
msgid "Country Code for new phone number"
msgstr "Koda države za novo telefonsko številko"
#: src/settings/ThreePIdCard.qml:146
#: src/settings/ThreePIdCard.qml:152
#, kde-format
msgctxt "@label:textbox"
msgid "New Email Address:"
msgstr "Novi naslov e-pošte:"
#: src/settings/ThreePIdCard.qml:146
#: src/settings/ThreePIdCard.qml:152
#, kde-format
msgctxt "@label:textbox"
msgid "New Phone Number:"
msgstr "Nova telefonska številka:"
#: src/settings/ThreePIdCard.qml:150 src/threepidbindhelper.cpp:178
#: src/settings/ThreePIdCard.qml:156 src/threepidbindhelper.cpp:179
#, kde-format
msgid "We've sent you an email"
msgstr "Poslali smo vam elektronsko sporočilo"
#: src/settings/ThreePIdCard.qml:150 src/threepidbindhelper.cpp:178
#: src/settings/ThreePIdCard.qml:156 src/threepidbindhelper.cpp:179
#, kde-format
msgid "We've sent you a text message"
msgstr "Poslali smo vam besedilno sporočilo"
#: src/settings/ThreePIdCard.qml:150
#: src/settings/ThreePIdCard.qml:156
#, kde-format
msgid ""
"%1. Please follow the instructions there and then click the button below"
msgstr "%1. Sledite navodilom in nato kliknite na gumb spodaj"
#: src/settings/ThreePIdCard.qml:152 src/threepidbindhelper.cpp:180
#: src/settings/ThreePIdCard.qml:158 src/threepidbindhelper.cpp:181
#, kde-format
msgid "The entered email is not valid"
msgstr "Vneseni naslov e-pošte ni veljaven"
#: src/settings/ThreePIdCard.qml:152 src/threepidbindhelper.cpp:180
#: src/settings/ThreePIdCard.qml:158 src/threepidbindhelper.cpp:181
#, kde-format
msgid "The entered phone number is not valid"
msgstr "Vnesena telefonska številka ni veljavna"
#: src/settings/ThreePIdCard.qml:154
#: src/settings/ThreePIdCard.qml:160
#, kde-format
msgid "Incorrect password entered"
msgstr "Vneseno napačno geslo"
#: src/settings/ThreePIdCard.qml:156
#: src/settings/ThreePIdCard.qml:162
#, kde-format
msgid ""
"The email has not been verified. Please go to the email and follow the "
@@ -5972,7 +5972,7 @@ msgstr ""
"E-pošta ni bila preverjena. Pojdite v e-pošto in sledite tamkajšnjim "
"navodilom ter nato kliknite spodnji gumb"
#: src/settings/ThreePIdCard.qml:156
#: src/settings/ThreePIdCard.qml:162
#, kde-format
msgid ""
"The phone number has not been verified. Please go to the text message and "
@@ -5981,25 +5981,25 @@ msgstr ""
"Telefonska številka ni bila preverjena. Pojdite na besedilno sporočilo in "
"sledite tamkajšnjim navodilom ter nato kliknite na gumb spodaj"
#: src/settings/ThreePIdCard.qml:183
#: src/settings/ThreePIdCard.qml:189
#, kde-format
msgctxt "@action:button Add new email or phone number"
msgid "Add"
msgstr "Dodaj"
#: src/settings/ThreePIdCard.qml:191
#: src/settings/ThreePIdCard.qml:197
#, kde-format
msgctxt "@action:button As in 'go back'"
msgid "Back"
msgstr "Nazaj"
#: src/threepidbindhelper.cpp:177
#: src/threepidbindhelper.cpp:178
#, kde-format
msgid ""
"%1. Please follow the instructions there and then click the button above"
msgstr "%1. Sledite navodilom in nato kliknite na gumb zgoraj"
#: src/threepidbindhelper.cpp:183
#: src/threepidbindhelper.cpp:184
#, kde-format
msgid ""
"The email has not been verified. Please go to the email and follow the "
@@ -6008,7 +6008,7 @@ msgstr ""
"E-pošta ni bila preverjena. Pojdite v e-pošto in sledite tamkajšnjim "
"navodilom ter nato kliknite gumb zgoraj"
#: src/threepidbindhelper.cpp:184
#: src/threepidbindhelper.cpp:185
#, kde-format
msgid ""
"The phone number has not been verified. Please go to the text message and "
@@ -6017,35 +6017,35 @@ msgstr ""
"Telefonska številka ni bila preverjena. Pojdite na besedilno sporočilo in "
"sledite tamkajšnjim navodilom ter nato kliknite na gumb zgoraj"
#: src/timeline/BaseMessageComponentChooser.qml:249
#: src/timeline/BaseMessageComponentChooser.qml:172
#, kde-format
msgid "%1 started a user verification"
msgstr "%1 je začel preverjanje uporabnika"
#: src/timeline/ChatBarComponent.qml:98
#: src/timeline/ChatBarComponent.qml:88
#, kde-format
msgctxt "@action:button"
msgid "Confirm edit"
msgstr "Potrdi urejanje"
#: src/timeline/ChatBarComponent.qml:98
#: src/timeline/ChatBarComponent.qml:88
#, kde-format
msgctxt "@action:button"
msgid "Post message in thread"
msgstr "Objavi sporočilo v niti"
#: src/timeline/CodeComponent.qml:164
#: src/timeline/CodeComponent.qml:159
#, kde-format
msgid "Copy to clipboard"
msgstr "Kopiraj na odložišče"
#: src/timeline/CodeComponent.qml:176
#: src/timeline/CodeComponent.qml:171
#, kde-format
msgctxt "@action:button"
msgid "Maximize"
msgstr "Razpni"
#: src/timeline/EncryptedComponent.qml:21
#: src/timeline/EncryptedComponent.qml:18
#, kde-format
msgid ""
"This message is encrypted and the sender has not shared the key with this "
@@ -6053,20 +6053,20 @@ msgid ""
msgstr ""
"To sporočilo je šifrirano in pošiljatelj še ni delil ključa s to napravo."
#: src/timeline/FetchButtonComponent.qml:41
#: src/timeline/FetchButtonComponent.qml:36
#, kde-format
msgctxt "@action:button"
msgid "Fetch More Events"
msgstr "Pridobi več dogodkov"
#: src/timeline/FileComponent.qml:104 src/timeline/FileComponent.qml:187
#: src/timeline/FileComponent.qml:94 src/timeline/FileComponent.qml:177
#, kde-format
msgctxt ""
"tooltip for a button on a message; offers ability to download its file"
msgid "Download"
msgstr "Prenos"
#: src/timeline/FileComponent.qml:120 src/timeline/FileComponent.qml:177
#: src/timeline/FileComponent.qml:110 src/timeline/FileComponent.qml:167
#, kde-format
msgctxt ""
"tooltip for a button on a message; offers ability to open its downloaded "
@@ -6074,13 +6074,13 @@ msgctxt ""
msgid "Open File"
msgstr "Odpri datoteko"
#: src/timeline/FileComponent.qml:135
#: src/timeline/FileComponent.qml:125
#, kde-format
msgctxt "file download progress"
msgid "%1 / %2"
msgstr "%1 / %2"
#: src/timeline/FileComponent.qml:140
#: src/timeline/FileComponent.qml:130
#, kde-format
msgctxt ""
"tooltip for a button on a message; stops downloading the message's file"
@@ -6109,47 +6109,47 @@ msgstr "Čas prijave: %1"
msgid "Check-out time: %1"
msgstr "Check-out time: %1"
#: src/timeline/ImageComponent.qml:140
#: src/timeline/ImageComponent.qml:120
#, kde-format
msgctxt "@action:button"
msgid "Show Image"
msgstr "Prikaži sliko"
#: src/timeline/ItineraryComponent.qml:57
#: src/timeline/ItineraryComponent.qml:54
#, kde-format
msgctxt "@action"
msgid "Send to KDE Itinerary"
msgstr "Pošlji v KDE Itinerary"
#: src/timeline/LinkPreviewComponent.qml:136
#: src/timeline/LinkPreviewLoadComponent.qml:79
#: src/timeline/LinkPreviewComponent.qml:131
#: src/timeline/LinkPreviewLoadComponent.qml:76
#, kde-format
msgctxt "As in remove the link preview so it's no longer shown"
msgid "Remove preview"
msgstr "Odstrani predogled"
#: src/timeline/LinkPreviewComponent.qml:154
#: src/timeline/LinkPreviewComponent.qml:149
#, kde-format
msgid "Shrink preview"
msgstr "Skrči predogled"
#: src/timeline/LinkPreviewComponent.qml:154
#: src/timeline/LinkPreviewComponent.qml:149
#, kde-format
msgid "Expand preview"
msgstr "Razširi predogled"
#: src/timeline/LinkPreviewLoadComponent.qml:68
#: src/timeline/LinkPreviewLoadComponent.qml:65
#, kde-format
msgid "Loading URL preview"
msgstr "Nalaganje predogleda URL"
#: src/timeline/LocationComponent.qml:116
#: src/timeline/LocationComponent.qml:111
#, kde-format
msgctxt "@action:button Open the location in an external program"
msgid "Open Externally"
msgstr "Odpri od zunaj"
#: src/timeline/PollComponent.qml:80
#: src/timeline/PollComponent.qml:70
#, kde-format
msgid "Based on votes by %1 user"
msgid_plural "Based on votes by %1 users"
@@ -6158,13 +6158,13 @@ msgstr[1] "Glede na glas %1 uporabnika"
msgstr[2] "Glede na glasova %1 uporabnikov"
msgstr[3] "Glede na glasove %1 uporabnikov"
#: src/timeline/PollComponent.qml:80
#: src/timeline/PollComponent.qml:70
#, kde-format
msgctxt "as in 'this vote has ended'"
msgid "(Ended)"
msgstr "(Končano)"
#: src/timeline/ReactionComponent.qml:97
#: src/timeline/ReactionComponent.qml:89
#, kde-format
msgctxt "@button"
msgid "React"
@@ -6176,7 +6176,7 @@ msgctxt "Relative time since the room was last read"
msgid "Last read: %1"
msgstr "Nazadnje prebrano: %1"
#: src/timeline/ReplyButtonComponent.qml:44
#: src/timeline/ReplyButtonComponent.qml:34
#, kde-format
msgctxt "@action:button"
msgid "Reply"
@@ -6196,24 +6196,24 @@ msgstr ""
msgid "Pl. %1"
msgstr "Pl. %1"
#: src/timeline/VideoComponent.qml:217
#: src/timeline/VideoComponent.qml:197
#, kde-format
msgid "Video"
msgstr "Video"
#: src/timeline/VideoComponent.qml:257
#: src/timeline/VideoComponent.qml:237
#, kde-format
msgctxt "@action:button"
msgid "Show Video"
msgstr "Prikaži video"
#: src/timeline/VideoComponent.qml:298
#: src/timeline/VideoComponent.qml:278
#, kde-format
msgctxt "@action:button"
msgid "Volume"
msgstr "Glasnost"
#: src/timeline/VideoComponent.qml:382
#: src/timeline/VideoComponent.qml:362
#, kde-format
msgid "Maximize"
msgstr "Razpni"

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: 2025-03-07 00:42+0000\n"
"PO-Revision-Date: 2025-03-26 17:34+0100\n"
"POT-Creation-Date: 2025-03-11 00:41+0000\n"
"PO-Revision-Date: 2025-02-28 19:43+0100\n"
"Last-Translator: Stefan Asserhäll <stefan.asserhall@gmail.com>\n"
"Language-Team: Swedish <kde-i18n-doc@kde.org>\n"
"Language: sv\n"
@@ -1036,7 +1036,7 @@ msgstr "Registrering är inaktiverad på servern."
#: src/login/Homeserver.qml:41 src/login/Username.qml:38
#: src/models/messagecontentmodel.cpp:262
#: src/models/messagecontentmodel.cpp:290 src/timeline/LoadComponent.qml:33
#: src/models/messagecontentmodel.cpp:290 src/timeline/LoadComponent.qml:30
#, kde-format
msgid "Loading"
msgstr "Läser in"
@@ -1068,7 +1068,7 @@ msgid "Loading…"
msgstr "Läser in…"
#: src/login/Login.qml:38 src/login/WelcomePage.qml:250
#: src/settings/ThreePIdCard.qml:183
#: src/settings/ThreePIdCard.qml:189
#, kde-format
msgctxt "@action:button"
msgid "Continue"
@@ -1700,7 +1700,7 @@ msgstr "Egna emoji"
#: src/models/messagecontentmodel.cpp:260
#: src/models/messagecontentmodel.cpp:288
#: src/timeline/LinkPreviewLoadComponent.qml:66
#: src/timeline/LinkPreviewLoadComponent.qml:63
#, kde-format
msgid "Loading reply"
msgstr "Läser in svar"
@@ -1957,7 +1957,7 @@ msgctxt "@info:label"
msgid "%1 invited you"
msgstr "%1 bjöd in dig"
#: src/neochatconnection.cpp:77
#: src/neochatconnection.cpp:75
#, kde-format
msgid ""
"File too large to download.<br />Contact your matrix server administrator "
@@ -1966,18 +1966,18 @@ msgstr ""
"Filen är för stor för att ladda ner.<br />Kontakta matrix-"
"serveradministratören för support."
#: src/neochatconnection.cpp:336
#: src/neochatconnection.cpp:329
#, kde-format
msgctxt "@info"
msgid "No identity server configured"
msgstr "Ingen identitetsserver inställd"
#: src/neochatconnection.cpp:367
#: src/neochatconnection.cpp:360
#, kde-format
msgid "Room creation failed: %1"
msgstr "Misslyckades skapa rum: \"%1"
#: src/neochatconnection.cpp:397
#: src/neochatconnection.cpp:390
#, kde-format
msgid "Space creation failed: %1"
msgstr "Misslyckades skapa utrymme: %1"
@@ -2117,13 +2117,13 @@ msgstr "Verifiera enheten"
#, kde-format
msgctxt "@title"
msgid "Verification Request Sent"
msgstr "Verifikationsbegäran skickad"
msgstr ""
#: src/qml/AccountMenu.qml:94
#, kde-format
msgctxt "@info:label"
msgid "To proceed, accept the verification request on another device."
msgstr "För att fortsätta, acceptera verifieringsbegäran på en annan enhet."
msgstr ""
#: src/qml/AccountMenu.qml:106 src/settings/AccountsPage.qml:88
#, kde-format
@@ -5872,86 +5872,86 @@ msgctxt "@title:dialog"
msgid "Select Parameter to Add"
msgstr "Välj parameter att lägga till"
#: src/settings/ThreePIdCard.qml:55
#: src/settings/ThreePIdCard.qml:58
#, kde-format
msgctxt "@action:button"
msgid "Hide"
msgstr "Dölj"
#: src/settings/ThreePIdCard.qml:61
#: src/settings/ThreePIdCard.qml:64
#, kde-format
msgctxt "@action:button"
msgid "Share"
msgstr "Dela"
#: src/settings/ThreePIdCard.qml:66
#: src/settings/ThreePIdCard.qml:69
#, kde-format
msgctxt "@action:button"
msgid "Remove"
msgstr "Ta bort"
#: src/settings/ThreePIdCard.qml:85
#: src/settings/ThreePIdCard.qml:88
#, kde-format
msgctxt "@action:button"
msgid "Complete"
msgstr "Komplettera"
#: src/settings/ThreePIdCard.qml:90 src/timeline/ChatBarComponent.qml:110
#: src/settings/ThreePIdCard.qml:93 src/timeline/ChatBarComponent.qml:100
#, kde-format
msgctxt "@action:button"
msgid "Cancel"
msgstr "Avbryt"
#: src/settings/ThreePIdCard.qml:130
#: src/settings/ThreePIdCard.qml:136
#, kde-format
msgctxt "@label:textbox"
msgid "Country Code for new phone number"
msgstr "Landskod för nytt telefonnummer"
#: src/settings/ThreePIdCard.qml:146
#: src/settings/ThreePIdCard.qml:152
#, kde-format
msgctxt "@label:textbox"
msgid "New Email Address:"
msgstr "Ny e-postadress"
#: src/settings/ThreePIdCard.qml:146
#: src/settings/ThreePIdCard.qml:152
#, kde-format
msgctxt "@label:textbox"
msgid "New Phone Number:"
msgstr "Nytt telefonnummer"
#: src/settings/ThreePIdCard.qml:150 src/threepidbindhelper.cpp:178
#: src/settings/ThreePIdCard.qml:156 src/threepidbindhelper.cpp:179
#, kde-format
msgid "We've sent you an email"
msgstr "Vi skickade e-post till dig"
#: src/settings/ThreePIdCard.qml:150 src/threepidbindhelper.cpp:178
#: src/settings/ThreePIdCard.qml:156 src/threepidbindhelper.cpp:179
#, kde-format
msgid "We've sent you a text message"
msgstr "Vi skickade ett textmeddelande till dig"
#: src/settings/ThreePIdCard.qml:150
#: src/settings/ThreePIdCard.qml:156
#, kde-format
msgid ""
"%1. Please follow the instructions there and then click the button below"
msgstr "%1. Följ instruktionerna där och klicka sedan på knappen nedan."
#: src/settings/ThreePIdCard.qml:152 src/threepidbindhelper.cpp:180
#: src/settings/ThreePIdCard.qml:158 src/threepidbindhelper.cpp:181
#, kde-format
msgid "The entered email is not valid"
msgstr "Den angivna e-postadressen är inte giltig"
#: src/settings/ThreePIdCard.qml:152 src/threepidbindhelper.cpp:180
#: src/settings/ThreePIdCard.qml:158 src/threepidbindhelper.cpp:181
#, kde-format
msgid "The entered phone number is not valid"
msgstr "Det angivna telefonnumret är inte giltigt"
#: src/settings/ThreePIdCard.qml:154
#: src/settings/ThreePIdCard.qml:160
#, kde-format
msgid "Incorrect password entered"
msgstr "Felaktigt lösenord inmatat"
#: src/settings/ThreePIdCard.qml:156
#: src/settings/ThreePIdCard.qml:162
#, kde-format
msgid ""
"The email has not been verified. Please go to the email and follow the "
@@ -5960,7 +5960,7 @@ msgstr ""
"E-postmeddelandet har inte verifierats. Gå till e-postmeddelandet och följ "
"instruktionerna där och klicka sedan på knappen nedan."
#: src/settings/ThreePIdCard.qml:156
#: src/settings/ThreePIdCard.qml:162
#, kde-format
msgid ""
"The phone number has not been verified. Please go to the text message and "
@@ -5969,25 +5969,25 @@ msgstr ""
"Telefonnumret har inte verifierats. Gå till textmeddelandet och följ "
"instruktionerna där och klicka sedan på knappen nedan."
#: src/settings/ThreePIdCard.qml:183
#: src/settings/ThreePIdCard.qml:189
#, kde-format
msgctxt "@action:button Add new email or phone number"
msgid "Add"
msgstr "Lägg till"
#: src/settings/ThreePIdCard.qml:191
#: src/settings/ThreePIdCard.qml:197
#, kde-format
msgctxt "@action:button As in 'go back'"
msgid "Back"
msgstr "Tillbaka"
#: src/threepidbindhelper.cpp:177
#: src/threepidbindhelper.cpp:178
#, kde-format
msgid ""
"%1. Please follow the instructions there and then click the button above"
msgstr "%1. Följ instruktionerna där och klicka sedan på knappen ovan."
#: src/threepidbindhelper.cpp:183
#: src/threepidbindhelper.cpp:184
#, kde-format
msgid ""
"The email has not been verified. Please go to the email and follow the "
@@ -5996,7 +5996,7 @@ msgstr ""
"E-postmeddelandet har inte verifierats. Gå till e-postmeddelandet och följ "
"instruktionerna där och klicka sedan på knappen ovan."
#: src/threepidbindhelper.cpp:184
#: src/threepidbindhelper.cpp:185
#, kde-format
msgid ""
"The phone number has not been verified. Please go to the text message and "
@@ -6005,35 +6005,35 @@ msgstr ""
"Telefonnumret har inte verifierats. Gå till textmeddelandet och följ "
"instruktionerna där och klicka sedan på knappen ovan."
#: src/timeline/BaseMessageComponentChooser.qml:249
#: src/timeline/BaseMessageComponentChooser.qml:172
#, kde-format
msgid "%1 started a user verification"
msgstr "%1 startade en användarverifikation"
#: src/timeline/ChatBarComponent.qml:98
#: src/timeline/ChatBarComponent.qml:88
#, kde-format
msgctxt "@action:button"
msgid "Confirm edit"
msgstr "Bekräfta redigering"
#: src/timeline/ChatBarComponent.qml:98
#: src/timeline/ChatBarComponent.qml:88
#, kde-format
msgctxt "@action:button"
msgid "Post message in thread"
msgstr "Skicka meddelande i tråd"
#: src/timeline/CodeComponent.qml:164
#: src/timeline/CodeComponent.qml:159
#, kde-format
msgid "Copy to clipboard"
msgstr "Kopiera till klippbordet"
#: src/timeline/CodeComponent.qml:176
#: src/timeline/CodeComponent.qml:171
#, kde-format
msgctxt "@action:button"
msgid "Maximize"
msgstr "Maximera"
#: src/timeline/EncryptedComponent.qml:21
#: src/timeline/EncryptedComponent.qml:18
#, kde-format
msgid ""
"This message is encrypted and the sender has not shared the key with this "
@@ -6042,20 +6042,20 @@ msgstr ""
"Meddelandet är krypterat och avsändaren har inte delat nyckeln med den här "
"enheten."
#: src/timeline/FetchButtonComponent.qml:41
#: src/timeline/FetchButtonComponent.qml:36
#, kde-format
msgctxt "@action:button"
msgid "Fetch More Events"
msgstr "Hämta fler händelser"
#: src/timeline/FileComponent.qml:104 src/timeline/FileComponent.qml:187
#: src/timeline/FileComponent.qml:94 src/timeline/FileComponent.qml:177
#, kde-format
msgctxt ""
"tooltip for a button on a message; offers ability to download its file"
msgid "Download"
msgstr "Ladda ner"
#: src/timeline/FileComponent.qml:120 src/timeline/FileComponent.qml:177
#: src/timeline/FileComponent.qml:110 src/timeline/FileComponent.qml:167
#, kde-format
msgctxt ""
"tooltip for a button on a message; offers ability to open its downloaded "
@@ -6063,13 +6063,13 @@ msgctxt ""
msgid "Open File"
msgstr "Öppna fil"
#: src/timeline/FileComponent.qml:135
#: src/timeline/FileComponent.qml:125
#, kde-format
msgctxt "file download progress"
msgid "%1 / %2"
msgstr "%1 / %2"
#: src/timeline/FileComponent.qml:140
#: src/timeline/FileComponent.qml:130
#, kde-format
msgctxt ""
"tooltip for a button on a message; stops downloading the message's file"
@@ -6098,60 +6098,60 @@ msgstr "Incheckningstid: %1"
msgid "Check-out time: %1"
msgstr "Utcheckningstid: %1"
#: src/timeline/ImageComponent.qml:140
#: src/timeline/ImageComponent.qml:120
#, kde-format
msgctxt "@action:button"
msgid "Show Image"
msgstr "Visa bild"
#: src/timeline/ItineraryComponent.qml:57
#: src/timeline/ItineraryComponent.qml:54
#, kde-format
msgctxt "@action"
msgid "Send to KDE Itinerary"
msgstr "Skicka till KDE-resplan"
#: src/timeline/LinkPreviewComponent.qml:136
#: src/timeline/LinkPreviewLoadComponent.qml:79
#: src/timeline/LinkPreviewComponent.qml:131
#: src/timeline/LinkPreviewLoadComponent.qml:76
#, kde-format
msgctxt "As in remove the link preview so it's no longer shown"
msgid "Remove preview"
msgstr "Ta bort förhandsgranskning"
#: src/timeline/LinkPreviewComponent.qml:154
#: src/timeline/LinkPreviewComponent.qml:149
#, kde-format
msgid "Shrink preview"
msgstr "Krymp förhandsgranskning"
#: src/timeline/LinkPreviewComponent.qml:154
#: src/timeline/LinkPreviewComponent.qml:149
#, kde-format
msgid "Expand preview"
msgstr "Expandera förhandsgranskning"
#: src/timeline/LinkPreviewLoadComponent.qml:68
#: src/timeline/LinkPreviewLoadComponent.qml:65
#, kde-format
msgid "Loading URL preview"
msgstr "Läser in webbadressförhandsgranskning"
#: src/timeline/LocationComponent.qml:116
#: src/timeline/LocationComponent.qml:111
#, kde-format
msgctxt "@action:button Open the location in an external program"
msgid "Open Externally"
msgstr "Öppna externt"
#: src/timeline/PollComponent.qml:80
#: src/timeline/PollComponent.qml:70
#, kde-format
msgid "Based on votes by %1 user"
msgid_plural "Based on votes by %1 users"
msgstr[0] "Baserat på röster av %1 användare"
msgstr[1] "Baserat på röster av %1 användare"
#: src/timeline/PollComponent.qml:80
#: src/timeline/PollComponent.qml:70
#, kde-format
msgctxt "as in 'this vote has ended'"
msgid "(Ended)"
msgstr "(Avslutad)"
#: src/timeline/ReactionComponent.qml:97
#: src/timeline/ReactionComponent.qml:89
#, kde-format
msgctxt "@button"
msgid "React"
@@ -6163,7 +6163,7 @@ msgctxt "Relative time since the room was last read"
msgid "Last read: %1"
msgstr "Senast läst: %1"
#: src/timeline/ReplyButtonComponent.qml:44
#: src/timeline/ReplyButtonComponent.qml:34
#, kde-format
msgctxt "@action:button"
msgid "Reply"
@@ -6184,24 +6184,24 @@ msgstr ""
msgid "Pl. %1"
msgstr "Pl. %1"
#: src/timeline/VideoComponent.qml:217
#: src/timeline/VideoComponent.qml:197
#, kde-format
msgid "Video"
msgstr "Video"
#: src/timeline/VideoComponent.qml:257
#: src/timeline/VideoComponent.qml:237
#, kde-format
msgctxt "@action:button"
msgid "Show Video"
msgstr "Visa video"
#: src/timeline/VideoComponent.qml:298
#: src/timeline/VideoComponent.qml:278
#, kde-format
msgctxt "@action:button"
msgid "Volume"
msgstr "Volym"
#: src/timeline/VideoComponent.qml:382
#: src/timeline/VideoComponent.qml:362
#, kde-format
msgid "Maximize"
msgstr "Maximera"

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: 2025-03-07 00:42+0000\n"
"PO-Revision-Date: 2025-03-16 15:18+0530\n"
"POT-Creation-Date: 2025-03-11 00:41+0000\n"
"PO-Revision-Date: 2025-02-16 16:26+0530\n"
"Last-Translator: Kishore G <kishore96@gmail.com>\n"
"Language-Team: Tamil <kde-i18n-doc@kde.org>\n"
"Language: ta\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 24.12.3\n"
"X-Generator: Lokalize 24.12.2\n"
#: src/chatbar/AttachDialog.qml:29
#, kde-format
@@ -1034,7 +1034,7 @@ msgstr "இச்சேவையகத்தில் கணக்குரு
#: src/login/Homeserver.qml:41 src/login/Username.qml:38
#: src/models/messagecontentmodel.cpp:262
#: src/models/messagecontentmodel.cpp:290 src/timeline/LoadComponent.qml:33
#: src/models/messagecontentmodel.cpp:290 src/timeline/LoadComponent.qml:30
#, kde-format
msgid "Loading"
msgstr "ஏற்றப்படுகிறது…"
@@ -1066,7 +1066,7 @@ msgid "Loading…"
msgstr "ஏற்றப்படுகிறது…"
#: src/login/Login.qml:38 src/login/WelcomePage.qml:250
#: src/settings/ThreePIdCard.qml:183
#: src/settings/ThreePIdCard.qml:189
#, kde-format
msgctxt "@action:button"
msgid "Continue"
@@ -1698,7 +1698,7 @@ msgstr "சொந்த முகவடிகள்"
#: src/models/messagecontentmodel.cpp:260
#: src/models/messagecontentmodel.cpp:288
#: src/timeline/LinkPreviewLoadComponent.qml:66
#: src/timeline/LinkPreviewLoadComponent.qml:63
#, kde-format
msgid "Loading reply"
msgstr "பதில் ஏற்றப்படுகிறது…"
@@ -1943,18 +1943,20 @@ msgid ", "
msgstr ", "
#: src/models/roomtreemodel.cpp:353
#, kde-format
#, fuzzy, kde-format
#| msgid "Invite to private chat"
msgctxt "@info:label"
msgid "Invited you to chat"
msgstr "உங்களை உரையாடலுக்கு அழைத்தார்"
msgstr "தனிப்பட்ட உரையாடலுக்கு அழை"
#: src/models/roomtreemodel.cpp:355
#, kde-format
#, fuzzy, kde-format
#| msgid "%1 invited you to a room"
msgctxt "@info:label"
msgid "%1 invited you"
msgstr "%1 உங்களை வரவழைத்தார்"
msgstr "%1 உங்களை ஒர் அரங்குக்கு வரவழைத்தார்"
#: src/neochatconnection.cpp:77
#: src/neochatconnection.cpp:75
#, kde-format
msgid ""
"File too large to download.<br />Contact your matrix server administrator "
@@ -1963,18 +1965,18 @@ msgstr ""
"கோப்பு பதிவிறக்கக்கூடியதைவிட பெரிதாக உள்ளது.<br />உதவிக்கு உங்கள் மேட்ரிக்ஸு சேவையக "
"நிர்வாகியை தொடர்புகொள்ளவும்."
#: src/neochatconnection.cpp:336
#: src/neochatconnection.cpp:329
#, kde-format
msgctxt "@info"
msgid "No identity server configured"
msgstr "எந்த அடையாளச் சேவையகமும் அமைக்கப்பட்டிருக்கவில்லை"
#: src/neochatconnection.cpp:367
#: src/neochatconnection.cpp:360
#, kde-format
msgid "Room creation failed: %1"
msgstr "அரங்கு உருவாக்கம் தோல்வியடைந்தது: %1"
#: src/neochatconnection.cpp:397
#: src/neochatconnection.cpp:390
#, kde-format
msgid "Space creation failed: %1"
msgstr "இட உருவாக்கம் தோல்வியடைந்தது: %1"
@@ -2114,13 +2116,13 @@ msgstr "இச்சாதனத்தை உறுதிப்படுத்
#, kde-format
msgctxt "@title"
msgid "Verification Request Sent"
msgstr "சரிபார்ப்பு கோரிக்கை அனுப்பப்பட்டுள்ளது"
msgstr ""
#: src/qml/AccountMenu.qml:94
#, kde-format
msgctxt "@info:label"
msgid "To proceed, accept the verification request on another device."
msgstr "தொடர, சரிபார்ப்பு கோரிக்கையை இன்னொரு சாதனத்தில் ஏற்றுகொள்ளவும்."
msgstr ""
#: src/qml/AccountMenu.qml:106 src/settings/AccountsPage.qml:88
#, kde-format
@@ -2451,10 +2453,12 @@ msgid "View Source"
msgstr "மூலத்தைப் பார்"
#: src/qml/DelegateContextMenu.qml:78
#, kde-format
#, fuzzy, kde-format
#| msgctxt "@action:button"
#| msgid "Remove"
msgctxt "@action:button"
msgid "Remove…"
msgstr "நீக்கு"
msgstr "நீக்கு"
#: src/qml/DelegateContextMenu.qml:83 src/qml/DelegateContextMenu.qml:88
#: src/qml/FileDelegateContextMenu.qml:79
@@ -2511,13 +2515,13 @@ msgstr "பயனரைக் காட்டு"
#, kde-format
msgctxt "@action:button 'Unpin' as in 'Unpin this message'"
msgid "Unpin"
msgstr "தக்கவைக்கவேண்டாம்"
msgstr ""
#: src/qml/DelegateContextMenu.qml:139
#, kde-format
msgctxt "@action:button 'Pin' as in 'Pin the message in the room'"
msgid "Pin"
msgstr "தக்கவை"
msgstr ""
#: src/qml/EditMenu.qml:15
#, kde-format
@@ -2724,9 +2728,10 @@ msgid "Copy Image"
msgstr "படத்தைக் நகலெடு"
#: src/qml/FileDelegateContextMenu.qml:74
#, kde-format
#, fuzzy, kde-format
#| msgid "Remove"
msgid "Remove…"
msgstr "நீக்கு"
msgstr "நீக்கு"
#: src/qml/FullScreenMap.qml:23
#, kde-format
@@ -2930,16 +2935,17 @@ msgid "Mirror"
msgstr "கிடைமட்டமாக புரட்டு"
#: src/qml/InvitationView.qml:42
#, kde-format
#, fuzzy, kde-format
#| msgid "%1 invited you to a room"
msgctxt "@info:label"
msgid "%1 has invited you to join"
msgstr "%1 உங்களை வரவழைத்தார்"
msgstr "%1 உங்களை ஒர் அரங்குக்கு வரவழைத்தார்"
#: src/qml/InvitationView.qml:70
#, kde-format
msgctxt "@info:label"
msgid "This user is inviting you to chat."
msgstr "இப்பயனர் உங்களை உரையாடலுக்கு அழைக்கிறார்"
msgstr ""
#: src/qml/InvitationView.qml:79
#, kde-format
@@ -2949,13 +2955,15 @@ msgstr ""
"அமைக்கலாம்."
#: src/qml/InvitationView.qml:102
#, kde-format
#, fuzzy, kde-format
#| msgid "Reject"
msgctxt "@action:button"
msgid "Reject"
msgstr "மறு"
#: src/qml/InvitationView.qml:110
#, kde-format
#, fuzzy, kde-format
#| msgid "Accept"
msgctxt "@action:button"
msgid "Accept"
msgstr "ஏற்றுக்கொள்"
@@ -4089,10 +4097,11 @@ msgid "Copy link"
msgstr "இணைப்பை நகலெடு"
#: src/qml/UserInfo.qml:50
#, kde-format
#, fuzzy, kde-format
#| msgid "Deactivate Account"
msgctxt "@info:tooltip"
msgid "Manage Account"
msgstr "கணக்கை கையாள்"
msgstr "கணக்கை முடக்கு"
#: src/qml/UserInfo.qml:108
#, kde-format
@@ -4833,17 +4842,17 @@ msgstr "இக்கணக்குக்கான‍ அறிவிப்ப
#: src/settings/GlobalNotificationsPage.qml:32
#, kde-format
msgid "Notifications can appear even when NeoChat isn't running."
msgstr "நியோச்சாட் இயங்காதபோதும் அறிவிப்புகள் காட்டப்படலாம்"
msgstr ""
#: src/settings/GlobalNotificationsPage.qml:34
#, kde-format
msgid "Push notifications are available but could not be enabled."
msgstr "புஷ் அறிவிப்புகள் ஆதரிக்கப்படுகின்றன, ஆனால் அவற்றை இயக்க முடியவில்லை."
msgstr ""
#: src/settings/GlobalNotificationsPage.qml:37
#, kde-format
msgid "Notifications will only appear when NeoChat is running."
msgstr "நியோச்சாட் இயங்கும்போது மட்டும் அறிவிப்புகள் காட்டப்படும்."
msgstr ""
#: src/settings/GlobalNotificationsPage.qml:49
#, kde-format
@@ -5191,8 +5200,6 @@ msgctxt "@info"
msgid ""
"If enabled, NeoChat will use encryption when starting new direct messages."
msgstr ""
"இது இயக்கப்பட்டிருந்தால், புதிய நேரடி செய்திகளை அனுப்பும்போது நியோச்சாட் மறையாக்கத்தைப் "
"பயன்படுத்தும்."
#: src/settings/NeoChatSecurityPage.qml:85
#, kde-format
@@ -5532,17 +5539,18 @@ msgid "URL previews are disabled by default in this room"
msgstr "இவ்வரங்கில் முகவரி முன்னோட்டம் இயல்பிருப்பாக முடக்கப்பட்டுள்ளது"
#: src/settings/RoomGeneralPage.qml:285
#, kde-format
#, fuzzy, kde-format
#| msgid "URL previews are disabled by default in this room"
msgctxt ""
"As in the user has switched off showing previews of hyperlinks in timeline "
"messages"
msgid "URL previews are currently disabled for your account"
msgstr "உங்கள் கணக்கில் முகவரி முன்னோட்டங்கள் முடக்கப்பட்டுள்ள"
msgstr "இவ்வரங்கில் முகவரி முன்னோட்டம் இயல்பிருப்பாக முடக்கப்பட்டுள்ளது"
#: src/settings/RoomGeneralPage.qml:289
#, kde-format
msgid "Enable"
msgstr "இயக்கு"
msgstr ""
#: src/settings/RoomGeneralPage.qml:294
#, kde-format
@@ -5840,86 +5848,86 @@ msgctxt "@title:dialog"
msgid "Select Parameter to Add"
msgstr "சேர்க்க வேண்டிய அம்சம்"
#: src/settings/ThreePIdCard.qml:55
#: src/settings/ThreePIdCard.qml:58
#, kde-format
msgctxt "@action:button"
msgid "Hide"
msgstr "மறை"
#: src/settings/ThreePIdCard.qml:61
#: src/settings/ThreePIdCard.qml:64
#, kde-format
msgctxt "@action:button"
msgid "Share"
msgstr "பகிர்"
#: src/settings/ThreePIdCard.qml:66
#: src/settings/ThreePIdCard.qml:69
#, kde-format
msgctxt "@action:button"
msgid "Remove"
msgstr "நீக்கு"
#: src/settings/ThreePIdCard.qml:85
#: src/settings/ThreePIdCard.qml:88
#, kde-format
msgctxt "@action:button"
msgid "Complete"
msgstr "நிரப்பு"
#: src/settings/ThreePIdCard.qml:90 src/timeline/ChatBarComponent.qml:110
#: src/settings/ThreePIdCard.qml:93 src/timeline/ChatBarComponent.qml:100
#, kde-format
msgctxt "@action:button"
msgid "Cancel"
msgstr "ரத்து செய்"
#: src/settings/ThreePIdCard.qml:130
#: src/settings/ThreePIdCard.qml:136
#, kde-format
msgctxt "@label:textbox"
msgid "Country Code for new phone number"
msgstr "புதிய தொலைபேசி எண்ணுக்கான சர்வதேச குறியெண்"
#: src/settings/ThreePIdCard.qml:146
#: src/settings/ThreePIdCard.qml:152
#, kde-format
msgctxt "@label:textbox"
msgid "New Email Address:"
msgstr "புதிய மின்னஞ்சல் முகவரி:"
#: src/settings/ThreePIdCard.qml:146
#: src/settings/ThreePIdCard.qml:152
#, kde-format
msgctxt "@label:textbox"
msgid "New Phone Number:"
msgstr "புதிய தொலைபேசி எண்:"
#: src/settings/ThreePIdCard.qml:150 src/threepidbindhelper.cpp:178
#: src/settings/ThreePIdCard.qml:156 src/threepidbindhelper.cpp:179
#, kde-format
msgid "We've sent you an email"
msgstr "உங்களுக்கு அஞ்சலனுப்பியுள்ளோம்"
#: src/settings/ThreePIdCard.qml:150 src/threepidbindhelper.cpp:178
#: src/settings/ThreePIdCard.qml:156 src/threepidbindhelper.cpp:179
#, kde-format
msgid "We've sent you a text message"
msgstr "உங்களுக்கு குறுஞ்செய்தி அனுப்பியுள்ளோம்"
#: src/settings/ThreePIdCard.qml:150
#: src/settings/ThreePIdCard.qml:156
#, kde-format
msgid ""
"%1. Please follow the instructions there and then click the button below"
msgstr "%1. அதிலுள்ளவாறு செய்தபின் கீழுள்ள பட்டனை அழுத்தவும்"
#: src/settings/ThreePIdCard.qml:152 src/threepidbindhelper.cpp:180
#: src/settings/ThreePIdCard.qml:158 src/threepidbindhelper.cpp:181
#, kde-format
msgid "The entered email is not valid"
msgstr "உள்ளிட்ட மின்னஞ்சல் முகவரி செல்லுபடியாகாதது"
#: src/settings/ThreePIdCard.qml:152 src/threepidbindhelper.cpp:180
#: src/settings/ThreePIdCard.qml:158 src/threepidbindhelper.cpp:181
#, kde-format
msgid "The entered phone number is not valid"
msgstr "உள்ளிட்ட தொலைபேசி எண் செல்லுபடியாகாதது"
#: src/settings/ThreePIdCard.qml:154
#: src/settings/ThreePIdCard.qml:160
#, kde-format
msgid "Incorrect password entered"
msgstr "தவறான கடவுச்சொல் உள்ளிடப்பட்டது"
#: src/settings/ThreePIdCard.qml:156
#: src/settings/ThreePIdCard.qml:162
#, kde-format
msgid ""
"The email has not been verified. Please go to the email and follow the "
@@ -5928,7 +5936,7 @@ msgstr ""
"இந்த மின்னஞ்சல் முகவரி உறுதிசெய்யப்படாதது. உங்களுக்கு அனுப்பப்பட்ட அஞ்சலிலுள்ளவாறு "
"செய்தபின் கீழுள்ள பட்டனை அழுத்தவும்"
#: src/settings/ThreePIdCard.qml:156
#: src/settings/ThreePIdCard.qml:162
#, kde-format
msgid ""
"The phone number has not been verified. Please go to the text message and "
@@ -5937,25 +5945,25 @@ msgstr ""
"இந்த தொலைபேசி எண் உறுதிசெய்யப்படாதது. உங்களுக்கு அனுப்பப்பட்ட குறுஞ்செய்தியிலுள்ளவாறு "
"செய்தபின் கீழுள்ள பட்டனை அழுத்தவும்"
#: src/settings/ThreePIdCard.qml:183
#: src/settings/ThreePIdCard.qml:189
#, kde-format
msgctxt "@action:button Add new email or phone number"
msgid "Add"
msgstr "சேர்"
#: src/settings/ThreePIdCard.qml:191
#: src/settings/ThreePIdCard.qml:197
#, kde-format
msgctxt "@action:button As in 'go back'"
msgid "Back"
msgstr "பின்னே"
#: src/threepidbindhelper.cpp:177
#: src/threepidbindhelper.cpp:178
#, kde-format
msgid ""
"%1. Please follow the instructions there and then click the button above"
msgstr "%1. அதிலுள்ளவாறு செய்தபின் மேலுள்ள பட்டனை அழுத்தவும்"
#: src/threepidbindhelper.cpp:183
#: src/threepidbindhelper.cpp:184
#, kde-format
msgid ""
"The email has not been verified. Please go to the email and follow the "
@@ -5964,7 +5972,7 @@ msgstr ""
"இந்த மின்னஞ்சல் முகவரி உறுதிசெய்யப்படாதது. உங்களுக்கு அனுப்பப்பட்ட அஞ்சலிலுள்ளவாறு "
"செய்தபின் மேலுள்ள பட்டனை அழுத்தவும்"
#: src/threepidbindhelper.cpp:184
#: src/threepidbindhelper.cpp:185
#, kde-format
msgid ""
"The phone number has not been verified. Please go to the text message and "
@@ -5973,35 +5981,35 @@ msgstr ""
"இந்த தொலைபேசி எண் உறுதிசெய்யப்படாதது. உங்களுக்கு அனுப்பப்பட்ட குறுஞ்செய்தியிலுள்ளவாறு "
"செய்தபின் மேலுள்ள பட்டனை அழுத்தவும்"
#: src/timeline/BaseMessageComponentChooser.qml:249
#: src/timeline/BaseMessageComponentChooser.qml:172
#, kde-format
msgid "%1 started a user verification"
msgstr "%1 பயனர் உறுதிப்பாட்டைத் துவக்கினார்"
#: src/timeline/ChatBarComponent.qml:98
#: src/timeline/ChatBarComponent.qml:88
#, kde-format
msgctxt "@action:button"
msgid "Confirm edit"
msgstr "திருத்தத்தை உறுதிசெய்"
#: src/timeline/ChatBarComponent.qml:98
#: src/timeline/ChatBarComponent.qml:88
#, kde-format
msgctxt "@action:button"
msgid "Post message in thread"
msgstr "தொடரில் தகவலை இடு"
#: src/timeline/CodeComponent.qml:164
#: src/timeline/CodeComponent.qml:159
#, kde-format
msgid "Copy to clipboard"
msgstr "பிடிப்புப்பலகைக்கு நகலெடு"
#: src/timeline/CodeComponent.qml:176
#: src/timeline/CodeComponent.qml:171
#, kde-format
msgctxt "@action:button"
msgid "Maximize"
msgstr "அதிகபட்ச பெரிதாக்கு"
#: src/timeline/EncryptedComponent.qml:21
#: src/timeline/EncryptedComponent.qml:18
#, kde-format
msgid ""
"This message is encrypted and the sender has not shared the key with this "
@@ -6009,20 +6017,20 @@ msgid ""
msgstr ""
"இந்த செய்தி மறையாக்கம் செய்யப்பட்டுள்ளது, ஆனால் அனுப்புநர் இச்சாதனத்துடன் சாவியை பகிரவில்லை."
#: src/timeline/FetchButtonComponent.qml:41
#: src/timeline/FetchButtonComponent.qml:36
#, kde-format
msgctxt "@action:button"
msgid "Fetch More Events"
msgstr "கூடுதல் நிகழ்வுகளை பெறு"
#: src/timeline/FileComponent.qml:104 src/timeline/FileComponent.qml:187
#: src/timeline/FileComponent.qml:94 src/timeline/FileComponent.qml:177
#, kde-format
msgctxt ""
"tooltip for a button on a message; offers ability to download its file"
msgid "Download"
msgstr "பதிவிறக்கு"
#: src/timeline/FileComponent.qml:120 src/timeline/FileComponent.qml:177
#: src/timeline/FileComponent.qml:110 src/timeline/FileComponent.qml:167
#, kde-format
msgctxt ""
"tooltip for a button on a message; offers ability to open its downloaded "
@@ -6030,13 +6038,13 @@ msgctxt ""
msgid "Open File"
msgstr "கோப்பை திற"
#: src/timeline/FileComponent.qml:135
#: src/timeline/FileComponent.qml:125
#, kde-format
msgctxt "file download progress"
msgid "%1 / %2"
msgstr "%1 / %2"
#: src/timeline/FileComponent.qml:140
#: src/timeline/FileComponent.qml:130
#, kde-format
msgctxt ""
"tooltip for a button on a message; stops downloading the message's file"
@@ -6065,60 +6073,60 @@ msgstr "நுழைவுப்பதிவுக்கான நேரம்:
msgid "Check-out time: %1"
msgstr "வெளியேற்றப்பதிவுக்கான நேரம்: %1"
#: src/timeline/ImageComponent.qml:140
#: src/timeline/ImageComponent.qml:120
#, kde-format
msgctxt "@action:button"
msgid "Show Image"
msgstr "படத்தைக் காட்டு"
#: src/timeline/ItineraryComponent.qml:57
#: src/timeline/ItineraryComponent.qml:54
#, kde-format
msgctxt "@action"
msgid "Send to KDE Itinerary"
msgstr "KDE Itinerary-க்கு அனுப்பு"
#: src/timeline/LinkPreviewComponent.qml:136
#: src/timeline/LinkPreviewLoadComponent.qml:79
#: src/timeline/LinkPreviewComponent.qml:131
#: src/timeline/LinkPreviewLoadComponent.qml:76
#, kde-format
msgctxt "As in remove the link preview so it's no longer shown"
msgid "Remove preview"
msgstr "முன்னோட்டத்தை நீக்கு"
#: src/timeline/LinkPreviewComponent.qml:154
#: src/timeline/LinkPreviewComponent.qml:149
#, kde-format
msgid "Shrink preview"
msgstr "முன்னோட்டத்தை சிறிதாக்கு"
#: src/timeline/LinkPreviewComponent.qml:154
#: src/timeline/LinkPreviewComponent.qml:149
#, kde-format
msgid "Expand preview"
msgstr "முன்னோட்டத்தை பெரிதாக்கு"
#: src/timeline/LinkPreviewLoadComponent.qml:68
#: src/timeline/LinkPreviewLoadComponent.qml:65
#, kde-format
msgid "Loading URL preview"
msgstr "முகவரியின் முன்னோட்டம் ஏற்றப்படுகிறது"
#: src/timeline/LocationComponent.qml:116
#: src/timeline/LocationComponent.qml:111
#, kde-format
msgctxt "@action:button Open the location in an external program"
msgid "Open Externally"
msgstr "வெளியமைவாகத் திற"
#: src/timeline/PollComponent.qml:80
#: src/timeline/PollComponent.qml:70
#, kde-format
msgid "Based on votes by %1 user"
msgid_plural "Based on votes by %1 users"
msgstr[0] "%1 பயனரின் வாக்கின் அடிப்படையில்"
msgstr[1] "%1 பயனர்களின் வாக்குகளின் அடிப்படையில்"
#: src/timeline/PollComponent.qml:80
#: src/timeline/PollComponent.qml:70
#, kde-format
msgctxt "as in 'this vote has ended'"
msgid "(Ended)"
msgstr "(முடிந்துள்ளது)"
#: src/timeline/ReactionComponent.qml:97
#: src/timeline/ReactionComponent.qml:89
#, kde-format
msgctxt "@button"
msgid "React"
@@ -6130,7 +6138,7 @@ msgctxt "Relative time since the room was last read"
msgid "Last read: %1"
msgstr "கடைசியாக படித்தது: %1"
#: src/timeline/ReplyButtonComponent.qml:44
#: src/timeline/ReplyButtonComponent.qml:34
#, kde-format
msgctxt "@action:button"
msgid "Reply"
@@ -6149,24 +6157,24 @@ msgstr "உரையாடலின் துவக்கம் இது. இ
msgid "Pl. %1"
msgstr "நடைமேடை %1"
#: src/timeline/VideoComponent.qml:217
#: src/timeline/VideoComponent.qml:197
#, kde-format
msgid "Video"
msgstr "நிகழ்படம்"
#: src/timeline/VideoComponent.qml:257
#: src/timeline/VideoComponent.qml:237
#, kde-format
msgctxt "@action:button"
msgid "Show Video"
msgstr "நிகழ்படத்தை காட்டு"
#: src/timeline/VideoComponent.qml:298
#: src/timeline/VideoComponent.qml:278
#, kde-format
msgctxt "@action:button"
msgid "Volume"
msgstr "ஒலியளவு"
#: src/timeline/VideoComponent.qml:382
#: src/timeline/VideoComponent.qml:362
#, kde-format
msgid "Maximize"
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: 2025-03-07 00:42+0000\n"
"POT-Creation-Date: 2025-03-11 00:41+0000\n"
"PO-Revision-Date: 2024-01-08 19:47-0500\n"
"Last-Translator: Weblate Admin <admin@example.com>\n"
"Language-Team: Toki Pona <http://weblate.blackquill.cc/projects/ante-toki-pi-"
@@ -1082,7 +1082,7 @@ msgstr ""
#: src/login/Homeserver.qml:41 src/login/Username.qml:38
#: src/models/messagecontentmodel.cpp:262
#: src/models/messagecontentmodel.cpp:290 src/timeline/LoadComponent.qml:33
#: src/models/messagecontentmodel.cpp:290 src/timeline/LoadComponent.qml:30
#, fuzzy, kde-format
#| msgid "Loading…"
msgid "Loading"
@@ -1115,7 +1115,7 @@ msgid "Loading…"
msgstr "mi pali…"
#: src/login/Login.qml:38 src/login/WelcomePage.qml:250
#: src/settings/ThreePIdCard.qml:183
#: src/settings/ThreePIdCard.qml:189
#, kde-format
msgctxt "@action:button"
msgid "Continue"
@@ -1774,7 +1774,7 @@ msgstr "sitelen Emosi sina"
#: src/models/messagecontentmodel.cpp:260
#: src/models/messagecontentmodel.cpp:288
#: src/timeline/LinkPreviewLoadComponent.qml:66
#: src/timeline/LinkPreviewLoadComponent.qml:63
#, fuzzy, kde-format
#| msgid "Loading…"
msgid "Loading reply"
@@ -2054,7 +2054,7 @@ msgctxt "@info:label"
msgid "%1 invited you"
msgstr ""
#: src/neochatconnection.cpp:77
#: src/neochatconnection.cpp:75
#, fuzzy, kde-format
#| msgid "Contact your matrix server administrator for support."
msgid ""
@@ -2062,18 +2062,18 @@ msgid ""
"for support."
msgstr "o toki tawa lawa sina pi ilo Matrix."
#: src/neochatconnection.cpp:336
#: src/neochatconnection.cpp:329
#, kde-format
msgctxt "@info"
msgid "No identity server configured"
msgstr ""
#: src/neochatconnection.cpp:367
#: src/neochatconnection.cpp:360
#, kde-format
msgid "Room creation failed: %1"
msgstr ""
#: src/neochatconnection.cpp:397
#: src/neochatconnection.cpp:390
#, kde-format
msgid "Space creation failed: %1"
msgstr ""
@@ -6081,186 +6081,186 @@ msgctxt "@title:dialog"
msgid "Select Parameter to Add"
msgstr ""
#: src/settings/ThreePIdCard.qml:55
#: src/settings/ThreePIdCard.qml:58
#, kde-format
msgctxt "@action:button"
msgid "Hide"
msgstr ""
#: src/settings/ThreePIdCard.qml:61
#: src/settings/ThreePIdCard.qml:64
#, kde-format
msgctxt "@action:button"
msgid "Share"
msgstr ""
#: src/settings/ThreePIdCard.qml:66
#: src/settings/ThreePIdCard.qml:69
#, fuzzy, kde-format
#| msgid "Edit Message"
msgctxt "@action:button"
msgid "Remove"
msgstr "o ante e toki"
#: src/settings/ThreePIdCard.qml:85
#: src/settings/ThreePIdCard.qml:88
#, kde-format
msgctxt "@action:button"
msgid "Complete"
msgstr ""
#: src/settings/ThreePIdCard.qml:90 src/timeline/ChatBarComponent.qml:110
#: src/settings/ThreePIdCard.qml:93 src/timeline/ChatBarComponent.qml:100
#, fuzzy, kde-format
#| msgid "Cancel"
msgctxt "@action:button"
msgid "Cancel"
msgstr "o ala"
#: src/settings/ThreePIdCard.qml:130
#: src/settings/ThreePIdCard.qml:136
#, kde-format
msgctxt "@label:textbox"
msgid "Country Code for new phone number"
msgstr ""
#: src/settings/ThreePIdCard.qml:146
#: src/settings/ThreePIdCard.qml:152
#, kde-format
msgctxt "@label:textbox"
msgid "New Email Address:"
msgstr ""
#: src/settings/ThreePIdCard.qml:146
#: src/settings/ThreePIdCard.qml:152
#, kde-format
msgctxt "@label:textbox"
msgid "New Phone Number:"
msgstr ""
#: src/settings/ThreePIdCard.qml:150 src/threepidbindhelper.cpp:178
#: src/settings/ThreePIdCard.qml:156 src/threepidbindhelper.cpp:179
#, kde-format
msgid "We've sent you an email"
msgstr ""
#: src/settings/ThreePIdCard.qml:150 src/threepidbindhelper.cpp:178
#: src/settings/ThreePIdCard.qml:156 src/threepidbindhelper.cpp:179
#, fuzzy, kde-format
#| msgid "Send message"
msgid "We've sent you a text message"
msgstr "o pana e toki"
#: src/settings/ThreePIdCard.qml:150
#: src/settings/ThreePIdCard.qml:156
#, kde-format
msgid ""
"%1. Please follow the instructions there and then click the button below"
msgstr ""
#: src/settings/ThreePIdCard.qml:152 src/threepidbindhelper.cpp:180
#: src/settings/ThreePIdCard.qml:158 src/threepidbindhelper.cpp:181
#, kde-format
msgid "The entered email is not valid"
msgstr ""
#: src/settings/ThreePIdCard.qml:152 src/threepidbindhelper.cpp:180
#: src/settings/ThreePIdCard.qml:158 src/threepidbindhelper.cpp:181
#, kde-format
msgid "The entered phone number is not valid"
msgstr ""
#: src/settings/ThreePIdCard.qml:154
#: src/settings/ThreePIdCard.qml:160
#, kde-format
msgid "Incorrect password entered"
msgstr ""
#: src/settings/ThreePIdCard.qml:156
#: src/settings/ThreePIdCard.qml:162
#, kde-format
msgid ""
"The email has not been verified. Please go to the email and follow the "
"instructions there and then click the button below"
msgstr ""
#: src/settings/ThreePIdCard.qml:156
#: src/settings/ThreePIdCard.qml:162
#, kde-format
msgid ""
"The phone number has not been verified. Please go to the text message and "
"follow the instructions there and then click the button below"
msgstr ""
#: src/settings/ThreePIdCard.qml:183
#: src/settings/ThreePIdCard.qml:189
#, fuzzy, kde-format
#| msgid "Add"
msgctxt "@action:button Add new email or phone number"
msgid "Add"
msgstr "o lon e nimi len luka"
#: src/settings/ThreePIdCard.qml:191
#: src/settings/ThreePIdCard.qml:197
#, kde-format
msgctxt "@action:button As in 'go back'"
msgid "Back"
msgstr ""
#: src/threepidbindhelper.cpp:177
#: src/threepidbindhelper.cpp:178
#, kde-format
msgid ""
"%1. Please follow the instructions there and then click the button above"
msgstr ""
#: src/threepidbindhelper.cpp:183
#: src/threepidbindhelper.cpp:184
#, kde-format
msgid ""
"The email has not been verified. Please go to the email and follow the "
"instructions there and then click the button above"
msgstr ""
#: src/threepidbindhelper.cpp:184
#: src/threepidbindhelper.cpp:185
#, kde-format
msgid ""
"The phone number has not been verified. Please go to the text message and "
"follow the instructions there and then click the button above"
msgstr ""
#: src/timeline/BaseMessageComponentChooser.qml:249
#: src/timeline/BaseMessageComponentChooser.qml:172
#, kde-format
msgid "%1 started a user verification"
msgstr ""
#: src/timeline/ChatBarComponent.qml:98
#: src/timeline/ChatBarComponent.qml:88
#, fuzzy, kde-format
#| msgid "Configure"
msgctxt "@action:button"
msgid "Confirm edit"
msgstr "o ante e lawa"
#: src/timeline/ChatBarComponent.qml:98
#: src/timeline/ChatBarComponent.qml:88
#, fuzzy, kde-format
#| msgid "Send message"
msgctxt "@action:button"
msgid "Post message in thread"
msgstr "o pana e toki"
#: src/timeline/CodeComponent.qml:164
#: src/timeline/CodeComponent.qml:159
#, kde-format
msgid "Copy to clipboard"
msgstr ""
#: src/timeline/CodeComponent.qml:176
#: src/timeline/CodeComponent.qml:171
#, kde-format
msgctxt "@action:button"
msgid "Maximize"
msgstr ""
#: src/timeline/EncryptedComponent.qml:21
#: src/timeline/EncryptedComponent.qml:18
#, kde-format
msgid ""
"This message is encrypted and the sender has not shared the key with this "
"device."
msgstr "toki ni li len. jan pana li pana ala e ken pi lukin len tawa ilo ni."
#: src/timeline/FetchButtonComponent.qml:41
#: src/timeline/FetchButtonComponent.qml:36
#, kde-format
msgctxt "@action:button"
msgid "Fetch More Events"
msgstr ""
#: src/timeline/FileComponent.qml:104 src/timeline/FileComponent.qml:187
#: src/timeline/FileComponent.qml:94 src/timeline/FileComponent.qml:177
#, kde-format
msgctxt ""
"tooltip for a button on a message; offers ability to download its file"
msgid "Download"
msgstr "o kama jo"
#: src/timeline/FileComponent.qml:120 src/timeline/FileComponent.qml:177
#: src/timeline/FileComponent.qml:110 src/timeline/FileComponent.qml:167
#, kde-format
msgctxt ""
"tooltip for a button on a message; offers ability to open its downloaded "
@@ -6268,13 +6268,13 @@ msgctxt ""
msgid "Open File"
msgstr "o open e lipu ni"
#: src/timeline/FileComponent.qml:135
#: src/timeline/FileComponent.qml:125
#, kde-format
msgctxt "file download progress"
msgid "%1 / %2"
msgstr "%1 / %2"
#: src/timeline/FileComponent.qml:140
#: src/timeline/FileComponent.qml:130
#, kde-format
msgctxt ""
"tooltip for a button on a message; stops downloading the message's file"
@@ -6303,49 +6303,49 @@ msgstr ""
msgid "Check-out time: %1"
msgstr ""
#: src/timeline/ImageComponent.qml:140
#: src/timeline/ImageComponent.qml:120
#, fuzzy, kde-format
#| msgid "Ban this user"
msgctxt "@action:button"
msgid "Show Image"
msgstr "o weka wawa e jan ni"
#: src/timeline/ItineraryComponent.qml:57
#: src/timeline/ItineraryComponent.qml:54
#, kde-format
msgctxt "@action"
msgid "Send to KDE Itinerary"
msgstr ""
#: src/timeline/LinkPreviewComponent.qml:136
#: src/timeline/LinkPreviewLoadComponent.qml:79
#: src/timeline/LinkPreviewComponent.qml:131
#: src/timeline/LinkPreviewLoadComponent.qml:76
#, fuzzy, kde-format
#| msgid "Edit Message"
msgctxt "As in remove the link preview so it's no longer shown"
msgid "Remove preview"
msgstr "o ante e toki"
#: src/timeline/LinkPreviewComponent.qml:154
#: src/timeline/LinkPreviewComponent.qml:149
#, kde-format
msgid "Shrink preview"
msgstr ""
#: src/timeline/LinkPreviewComponent.qml:154
#: src/timeline/LinkPreviewComponent.qml:149
#, kde-format
msgid "Expand preview"
msgstr ""
#: src/timeline/LinkPreviewLoadComponent.qml:68
#: src/timeline/LinkPreviewLoadComponent.qml:65
#, kde-format
msgid "Loading URL preview"
msgstr ""
#: src/timeline/LocationComponent.qml:116
#: src/timeline/LocationComponent.qml:111
#, kde-format
msgctxt "@action:button Open the location in an external program"
msgid "Open Externally"
msgstr ""
#: src/timeline/PollComponent.qml:80
#: src/timeline/PollComponent.qml:70
#, kde-format
msgid "Based on votes by %1 user"
msgid_plural "Based on votes by %1 users"
@@ -6354,13 +6354,13 @@ msgstr[1] ""
msgstr[2] ""
msgstr[3] ""
#: src/timeline/PollComponent.qml:80
#: src/timeline/PollComponent.qml:70
#, kde-format
msgctxt "as in 'this vote has ended'"
msgid "(Ended)"
msgstr ""
#: src/timeline/ReactionComponent.qml:97
#: src/timeline/ReactionComponent.qml:89
#, kde-format
msgctxt "@button"
msgid "React"
@@ -6372,7 +6372,7 @@ msgctxt "Relative time since the room was last read"
msgid "Last read: %1"
msgstr ""
#: src/timeline/ReplyButtonComponent.qml:44
#: src/timeline/ReplyButtonComponent.qml:34
#, kde-format
msgctxt "@action:button"
msgid "Reply"
@@ -6391,25 +6391,25 @@ msgstr ""
msgid "Pl. %1"
msgstr ""
#: src/timeline/VideoComponent.qml:217
#: src/timeline/VideoComponent.qml:197
#, kde-format
msgid "Video"
msgstr "sitelen tawa"
#: src/timeline/VideoComponent.qml:257
#: src/timeline/VideoComponent.qml:237
#, fuzzy, kde-format
#| msgid "Video"
msgctxt "@action:button"
msgid "Show Video"
msgstr "sitelen tawa"
#: src/timeline/VideoComponent.qml:298
#: src/timeline/VideoComponent.qml:278
#, kde-format
msgctxt "@action:button"
msgid "Volume"
msgstr ""
#: src/timeline/VideoComponent.qml:382
#: src/timeline/VideoComponent.qml:362
#, kde-format
msgid "Maximize"
msgstr ""

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: 2025-03-07 00:42+0000\n"
"POT-Creation-Date: 2025-03-11 00:41+0000\n"
"PO-Revision-Date: 2025-03-06 15:14+0300\n"
"Last-Translator: Emir SARI <emir_sari@icloud.com>\n"
"Language-Team: Turkish <kde-l10n-tr@kde.org>\n"
@@ -1039,7 +1039,7 @@ msgstr "Bu sunucuda kayıt işlemi devre dışı."
#: src/login/Homeserver.qml:41 src/login/Username.qml:38
#: src/models/messagecontentmodel.cpp:262
#: src/models/messagecontentmodel.cpp:290 src/timeline/LoadComponent.qml:33
#: src/models/messagecontentmodel.cpp:290 src/timeline/LoadComponent.qml:30
#, kde-format
msgid "Loading"
msgstr "Yükleniyor"
@@ -1070,7 +1070,7 @@ msgid "Loading…"
msgstr "Yükleniyor…"
#: src/login/Login.qml:38 src/login/WelcomePage.qml:250
#: src/settings/ThreePIdCard.qml:183
#: src/settings/ThreePIdCard.qml:189
#, kde-format
msgctxt "@action:button"
msgid "Continue"
@@ -1701,7 +1701,7 @@ msgstr "Kendi Emojileriniz"
#: src/models/messagecontentmodel.cpp:260
#: src/models/messagecontentmodel.cpp:288
#: src/timeline/LinkPreviewLoadComponent.qml:66
#: src/timeline/LinkPreviewLoadComponent.qml:63
#, kde-format
msgid "Loading reply"
msgstr "Yanıt yükleniyor"
@@ -1957,7 +1957,7 @@ msgctxt "@info:label"
msgid "%1 invited you"
msgstr "%1, sizi davet etti"
#: src/neochatconnection.cpp:77
#: src/neochatconnection.cpp:75
#, kde-format
msgid ""
"File too large to download.<br />Contact your matrix server administrator "
@@ -1966,18 +1966,18 @@ msgstr ""
"Dosya indirmek için pek büyük.<br />Destek için Matrix sunucusu yöneticisine "
"ulaşın."
#: src/neochatconnection.cpp:336
#: src/neochatconnection.cpp:329
#, kde-format
msgctxt "@info"
msgid "No identity server configured"
msgstr "Yapılandırılmış kimlik sunucusu yok"
#: src/neochatconnection.cpp:367
#: src/neochatconnection.cpp:360
#, kde-format
msgid "Room creation failed: %1"
msgstr "Oda oluşturulamadı: %1"
#: src/neochatconnection.cpp:397
#: src/neochatconnection.cpp:390
#, kde-format
msgid "Space creation failed: %1"
msgstr "Alan oluşturma başarısız: %1"
@@ -5867,86 +5867,86 @@ msgctxt "@title:dialog"
msgid "Select Parameter to Add"
msgstr "Eklenecek Parametre Seç"
#: src/settings/ThreePIdCard.qml:55
#: src/settings/ThreePIdCard.qml:58
#, kde-format
msgctxt "@action:button"
msgid "Hide"
msgstr "Gizle"
#: src/settings/ThreePIdCard.qml:61
#: src/settings/ThreePIdCard.qml:64
#, kde-format
msgctxt "@action:button"
msgid "Share"
msgstr "Paylaş"
#: src/settings/ThreePIdCard.qml:66
#: src/settings/ThreePIdCard.qml:69
#, kde-format
msgctxt "@action:button"
msgid "Remove"
msgstr "Kaldır"
#: src/settings/ThreePIdCard.qml:85
#: src/settings/ThreePIdCard.qml:88
#, kde-format
msgctxt "@action:button"
msgid "Complete"
msgstr "Tam"
#: src/settings/ThreePIdCard.qml:90 src/timeline/ChatBarComponent.qml:110
#: src/settings/ThreePIdCard.qml:93 src/timeline/ChatBarComponent.qml:100
#, kde-format
msgctxt "@action:button"
msgid "Cancel"
msgstr "İptal"
#: src/settings/ThreePIdCard.qml:130
#: src/settings/ThreePIdCard.qml:136
#, kde-format
msgctxt "@label:textbox"
msgid "Country Code for new phone number"
msgstr "Yeni telefon numarası için ülke kodu"
#: src/settings/ThreePIdCard.qml:146
#: src/settings/ThreePIdCard.qml:152
#, kde-format
msgctxt "@label:textbox"
msgid "New Email Address:"
msgstr "Yeni e-posta adresi:"
#: src/settings/ThreePIdCard.qml:146
#: src/settings/ThreePIdCard.qml:152
#, kde-format
msgctxt "@label:textbox"
msgid "New Phone Number:"
msgstr "Yeni telefon numarası:"
#: src/settings/ThreePIdCard.qml:150 src/threepidbindhelper.cpp:178
#: src/settings/ThreePIdCard.qml:156 src/threepidbindhelper.cpp:179
#, kde-format
msgid "We've sent you an email"
msgstr "Size bir e-posta gönderdik"
#: src/settings/ThreePIdCard.qml:150 src/threepidbindhelper.cpp:178
#: src/settings/ThreePIdCard.qml:156 src/threepidbindhelper.cpp:179
#, kde-format
msgid "We've sent you a text message"
msgstr "Size bir SMS gönderdik"
#: src/settings/ThreePIdCard.qml:150
#: src/settings/ThreePIdCard.qml:156
#, kde-format
msgid ""
"%1. Please follow the instructions there and then click the button below"
msgstr "%1. Oradaki yönergeleri izleyin ve aşağıdaki düğmeye tıklayın"
#: src/settings/ThreePIdCard.qml:152 src/threepidbindhelper.cpp:180
#: src/settings/ThreePIdCard.qml:158 src/threepidbindhelper.cpp:181
#, kde-format
msgid "The entered email is not valid"
msgstr "Girilen e-posta geçerli değil"
#: src/settings/ThreePIdCard.qml:152 src/threepidbindhelper.cpp:180
#: src/settings/ThreePIdCard.qml:158 src/threepidbindhelper.cpp:181
#, kde-format
msgid "The entered phone number is not valid"
msgstr "Girilen telefon numarası geçerli değil"
#: src/settings/ThreePIdCard.qml:154
#: src/settings/ThreePIdCard.qml:160
#, kde-format
msgid "Incorrect password entered"
msgstr "Doğru olmayan bir parola girildi"
#: src/settings/ThreePIdCard.qml:156
#: src/settings/ThreePIdCard.qml:162
#, kde-format
msgid ""
"The email has not been verified. Please go to the email and follow the "
@@ -5955,7 +5955,7 @@ msgstr ""
"E-posta doğrulanmadı. Postanızııp oradaki yönergeleri izleyin ve "
"sonrasında aşağıdaki düğmeye tıklayın"
#: src/settings/ThreePIdCard.qml:156
#: src/settings/ThreePIdCard.qml:162
#, kde-format
msgid ""
"The phone number has not been verified. Please go to the text message and "
@@ -5964,25 +5964,25 @@ msgstr ""
"Telefon numarası doğrulanmadı. Gelen SMSe gidin ve oradaki yönergeleri "
"izleyip aşağıdaki düğmeye tıklayın"
#: src/settings/ThreePIdCard.qml:183
#: src/settings/ThreePIdCard.qml:189
#, kde-format
msgctxt "@action:button Add new email or phone number"
msgid "Add"
msgstr "Ekle"
#: src/settings/ThreePIdCard.qml:191
#: src/settings/ThreePIdCard.qml:197
#, kde-format
msgctxt "@action:button As in 'go back'"
msgid "Back"
msgstr "Geri"
#: src/threepidbindhelper.cpp:177
#: src/threepidbindhelper.cpp:178
#, kde-format
msgid ""
"%1. Please follow the instructions there and then click the button above"
msgstr "%1. Oradaki yönergeleri izleyin ve yukarıdaki düğmeye tıklayın"
#: src/threepidbindhelper.cpp:183
#: src/threepidbindhelper.cpp:184
#, kde-format
msgid ""
"The email has not been verified. Please go to the email and follow the "
@@ -5991,7 +5991,7 @@ msgstr ""
"E-posta doğrulanmadı. Postanızııp oradaki yönergeleri izleyin ve "
"sonrasında yukarıdaki düğmeye tıklayın"
#: src/threepidbindhelper.cpp:184
#: src/threepidbindhelper.cpp:185
#, kde-format
msgid ""
"The phone number has not been verified. Please go to the text message and "
@@ -6000,55 +6000,55 @@ msgstr ""
"Telefon numarası doğrulanmadı. Gelen SMSe gidin ve oradaki yönergeleri "
"izleyip yukarıdaki düğmeye tıklayın"
#: src/timeline/BaseMessageComponentChooser.qml:249
#: src/timeline/BaseMessageComponentChooser.qml:172
#, kde-format
msgid "%1 started a user verification"
msgstr "%1 bir kullanıcı doğrulaması başlattı"
#: src/timeline/ChatBarComponent.qml:98
#: src/timeline/ChatBarComponent.qml:88
#, kde-format
msgctxt "@action:button"
msgid "Confirm edit"
msgstr "Düzenlemeyi onayla"
#: src/timeline/ChatBarComponent.qml:98
#: src/timeline/ChatBarComponent.qml:88
#, kde-format
msgctxt "@action:button"
msgid "Post message in thread"
msgstr "İleti Dizisine İleti Gönder"
#: src/timeline/CodeComponent.qml:164
#: src/timeline/CodeComponent.qml:159
#, kde-format
msgid "Copy to clipboard"
msgstr "Panoya kopyala"
#: src/timeline/CodeComponent.qml:176
#: src/timeline/CodeComponent.qml:171
#, kde-format
msgctxt "@action:button"
msgid "Maximize"
msgstr "Ekranı Kapla"
#: src/timeline/EncryptedComponent.qml:21
#: src/timeline/EncryptedComponent.qml:18
#, kde-format
msgid ""
"This message is encrypted and the sender has not shared the key with this "
"device."
msgstr "Bu ileti şifreli ve gönderen, anahtarı bu aygıt ile paylaşmadı."
#: src/timeline/FetchButtonComponent.qml:41
#: src/timeline/FetchButtonComponent.qml:36
#, kde-format
msgctxt "@action:button"
msgid "Fetch More Events"
msgstr "Daha Fazla Olay Getir"
#: src/timeline/FileComponent.qml:104 src/timeline/FileComponent.qml:187
#: src/timeline/FileComponent.qml:94 src/timeline/FileComponent.qml:177
#, kde-format
msgctxt ""
"tooltip for a button on a message; offers ability to download its file"
msgid "Download"
msgstr "İndir"
#: src/timeline/FileComponent.qml:120 src/timeline/FileComponent.qml:177
#: src/timeline/FileComponent.qml:110 src/timeline/FileComponent.qml:167
#, kde-format
msgctxt ""
"tooltip for a button on a message; offers ability to open its downloaded "
@@ -6056,13 +6056,13 @@ msgctxt ""
msgid "Open File"
msgstr "Dosya Aç"
#: src/timeline/FileComponent.qml:135
#: src/timeline/FileComponent.qml:125
#, kde-format
msgctxt "file download progress"
msgid "%1 / %2"
msgstr "%1 / %2"
#: src/timeline/FileComponent.qml:140
#: src/timeline/FileComponent.qml:130
#, kde-format
msgctxt ""
"tooltip for a button on a message; stops downloading the message's file"
@@ -6091,60 +6091,60 @@ msgstr "Giriş zamanı: %1"
msgid "Check-out time: %1"
msgstr "Çıkış zamanı: %1"
#: src/timeline/ImageComponent.qml:140
#: src/timeline/ImageComponent.qml:120
#, kde-format
msgctxt "@action:button"
msgid "Show Image"
msgstr "Görseli Göster"
#: src/timeline/ItineraryComponent.qml:57
#: src/timeline/ItineraryComponent.qml:54
#, kde-format
msgctxt "@action"
msgid "Send to KDE Itinerary"
msgstr "KDE Yol Kılavuzuna Gönder"
#: src/timeline/LinkPreviewComponent.qml:136
#: src/timeline/LinkPreviewLoadComponent.qml:79
#: src/timeline/LinkPreviewComponent.qml:131
#: src/timeline/LinkPreviewLoadComponent.qml:76
#, kde-format
msgctxt "As in remove the link preview so it's no longer shown"
msgid "Remove preview"
msgstr "Önizlemeyi kaldır"
#: src/timeline/LinkPreviewComponent.qml:154
#: src/timeline/LinkPreviewComponent.qml:149
#, kde-format
msgid "Shrink preview"
msgstr "Önizlemeyi küçült"
#: src/timeline/LinkPreviewComponent.qml:154
#: src/timeline/LinkPreviewComponent.qml:149
#, kde-format
msgid "Expand preview"
msgstr "Önizlemeyi genişlet"
#: src/timeline/LinkPreviewLoadComponent.qml:68
#: src/timeline/LinkPreviewLoadComponent.qml:65
#, kde-format
msgid "Loading URL preview"
msgstr "URL önizlemesi yükleniyor"
#: src/timeline/LocationComponent.qml:116
#: src/timeline/LocationComponent.qml:111
#, kde-format
msgctxt "@action:button Open the location in an external program"
msgid "Open Externally"
msgstr "Dışarıda Aç"
#: src/timeline/PollComponent.qml:80
#: src/timeline/PollComponent.qml:70
#, kde-format
msgid "Based on votes by %1 user"
msgid_plural "Based on votes by %1 users"
msgstr[0] "%1 kullanıcı tarafından verilen oylara istinaden"
msgstr[1] "%1 kullanıcı tarafından verilen oylara istinaden"
#: src/timeline/PollComponent.qml:80
#: src/timeline/PollComponent.qml:70
#, kde-format
msgctxt "as in 'this vote has ended'"
msgid "(Ended)"
msgstr "(Bitti)"
#: src/timeline/ReactionComponent.qml:97
#: src/timeline/ReactionComponent.qml:89
#, kde-format
msgctxt "@button"
msgid "React"
@@ -6156,7 +6156,7 @@ msgctxt "Relative time since the room was last read"
msgid "Last read: %1"
msgstr "Son okunma: %1"
#: src/timeline/ReplyButtonComponent.qml:44
#: src/timeline/ReplyButtonComponent.qml:34
#, kde-format
msgctxt "@action:button"
msgid "Reply"
@@ -6177,24 +6177,24 @@ msgstr ""
msgid "Pl. %1"
msgstr "Pl. %1"
#: src/timeline/VideoComponent.qml:217
#: src/timeline/VideoComponent.qml:197
#, kde-format
msgid "Video"
msgstr "Video"
#: src/timeline/VideoComponent.qml:257
#: src/timeline/VideoComponent.qml:237
#, kde-format
msgctxt "@action:button"
msgid "Show Video"
msgstr "Videoyu Göster"
#: src/timeline/VideoComponent.qml:298
#: src/timeline/VideoComponent.qml:278
#, kde-format
msgctxt "@action:button"
msgid "Volume"
msgstr "Ses Düzeyi"
#: src/timeline/VideoComponent.qml:382
#: src/timeline/VideoComponent.qml:362
#, kde-format
msgid "Maximize"
msgstr "Son Ses"

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: 2025-03-07 00:42+0000\n"
"POT-Creation-Date: 2025-03-11 00:41+0000\n"
"PO-Revision-Date: 2025-03-06 09:14+0200\n"
"Last-Translator: Yuri Chornoivan <yurchor@ukr.net>\n"
"Language-Team: Ukrainian <trans-uk@lists.fedoraproject.org>\n"
@@ -1043,7 +1043,7 @@ msgstr "На цьому сервері реєстрацію вимкнено."
#: src/login/Homeserver.qml:41 src/login/Username.qml:38
#: src/models/messagecontentmodel.cpp:262
#: src/models/messagecontentmodel.cpp:290 src/timeline/LoadComponent.qml:33
#: src/models/messagecontentmodel.cpp:290 src/timeline/LoadComponent.qml:30
#, kde-format
msgid "Loading"
msgstr "Завантаження"
@@ -1075,7 +1075,7 @@ msgid "Loading…"
msgstr "Завантаження…"
#: src/login/Login.qml:38 src/login/WelcomePage.qml:250
#: src/settings/ThreePIdCard.qml:183
#: src/settings/ThreePIdCard.qml:189
#, kde-format
msgctxt "@action:button"
msgid "Continue"
@@ -1706,7 +1706,7 @@ msgstr "Власні емоційки"
#: src/models/messagecontentmodel.cpp:260
#: src/models/messagecontentmodel.cpp:288
#: src/timeline/LinkPreviewLoadComponent.qml:66
#: src/timeline/LinkPreviewLoadComponent.qml:63
#, kde-format
msgid "Loading reply"
msgstr "Завантаження відповіді"
@@ -1972,7 +1972,7 @@ msgctxt "@info:label"
msgid "%1 invited you"
msgstr "Вас запрошено %1"
#: src/neochatconnection.cpp:77
#: src/neochatconnection.cpp:75
#, kde-format
msgid ""
"File too large to download.<br />Contact your matrix server administrator "
@@ -1981,18 +1981,18 @@ msgstr ""
"Файл є надто великим для отримання.<br />Зв'яжіться із адміністратором "
"вашого сервера matrix, щоб отримати допомогу."
#: src/neochatconnection.cpp:336
#: src/neochatconnection.cpp:329
#, kde-format
msgctxt "@info"
msgid "No identity server configured"
msgstr "Не налаштовано жодного сервера профілів"
#: src/neochatconnection.cpp:367
#: src/neochatconnection.cpp:360
#, kde-format
msgid "Room creation failed: %1"
msgstr "Не вдалося створити кімнату: %1"
#: src/neochatconnection.cpp:397
#: src/neochatconnection.cpp:390
#, kde-format
msgid "Space creation failed: %1"
msgstr "Не вдалося створити простір: %1"
@@ -5912,65 +5912,65 @@ msgctxt "@title:dialog"
msgid "Select Parameter to Add"
msgstr "Виберіть параметр для додавання"
#: src/settings/ThreePIdCard.qml:55
#: src/settings/ThreePIdCard.qml:58
#, kde-format
msgctxt "@action:button"
msgid "Hide"
msgstr "Приховати"
#: src/settings/ThreePIdCard.qml:61
#: src/settings/ThreePIdCard.qml:64
#, kde-format
msgctxt "@action:button"
msgid "Share"
msgstr "Оприлюднити"
#: src/settings/ThreePIdCard.qml:66
#: src/settings/ThreePIdCard.qml:69
#, kde-format
msgctxt "@action:button"
msgid "Remove"
msgstr "Вилучити"
#: src/settings/ThreePIdCard.qml:85
#: src/settings/ThreePIdCard.qml:88
#, kde-format
msgctxt "@action:button"
msgid "Complete"
msgstr "Завершено"
#: src/settings/ThreePIdCard.qml:90 src/timeline/ChatBarComponent.qml:110
#: src/settings/ThreePIdCard.qml:93 src/timeline/ChatBarComponent.qml:100
#, kde-format
msgctxt "@action:button"
msgid "Cancel"
msgstr "Скасувати"
#: src/settings/ThreePIdCard.qml:130
#: src/settings/ThreePIdCard.qml:136
#, kde-format
msgctxt "@label:textbox"
msgid "Country Code for new phone number"
msgstr "Код країни для нового номера телефону"
#: src/settings/ThreePIdCard.qml:146
#: src/settings/ThreePIdCard.qml:152
#, kde-format
msgctxt "@label:textbox"
msgid "New Email Address:"
msgstr "Нова адреса електронної пошти:"
#: src/settings/ThreePIdCard.qml:146
#: src/settings/ThreePIdCard.qml:152
#, kde-format
msgctxt "@label:textbox"
msgid "New Phone Number:"
msgstr "Новий номер телефону:"
#: src/settings/ThreePIdCard.qml:150 src/threepidbindhelper.cpp:178
#: src/settings/ThreePIdCard.qml:156 src/threepidbindhelper.cpp:179
#, kde-format
msgid "We've sent you an email"
msgstr "Ми надіслали вам повідомлення електронної пошти"
#: src/settings/ThreePIdCard.qml:150 src/threepidbindhelper.cpp:178
#: src/settings/ThreePIdCard.qml:156 src/threepidbindhelper.cpp:179
#, kde-format
msgid "We've sent you a text message"
msgstr "Ми надіслали вам текстове повідомлення"
#: src/settings/ThreePIdCard.qml:150
#: src/settings/ThreePIdCard.qml:156
#, kde-format
msgid ""
"%1. Please follow the instructions there and then click the button below"
@@ -5978,22 +5978,22 @@ msgstr ""
"%1. Будь ласка, виконайте настанови з нього, а потім натисніть кнопку, яку "
"розташовано нижче"
#: src/settings/ThreePIdCard.qml:152 src/threepidbindhelper.cpp:180
#: src/settings/ThreePIdCard.qml:158 src/threepidbindhelper.cpp:181
#, kde-format
msgid "The entered email is not valid"
msgstr "Введена адреса електронної пошти є некоректною"
#: src/settings/ThreePIdCard.qml:152 src/threepidbindhelper.cpp:180
#: src/settings/ThreePIdCard.qml:158 src/threepidbindhelper.cpp:181
#, kde-format
msgid "The entered phone number is not valid"
msgstr "Введений номер телефону є некоректним"
#: src/settings/ThreePIdCard.qml:154
#: src/settings/ThreePIdCard.qml:160
#, kde-format
msgid "Incorrect password entered"
msgstr "Введено помилковий пароль"
#: src/settings/ThreePIdCard.qml:156
#: src/settings/ThreePIdCard.qml:162
#, kde-format
msgid ""
"The email has not been verified. Please go to the email and follow the "
@@ -6003,7 +6003,7 @@ msgstr ""
"повідомлення електронної пошти і виконайте настанови з нього, а потім "
"натисніть кнопку, яку розташовано нижче"
#: src/settings/ThreePIdCard.qml:156
#: src/settings/ThreePIdCard.qml:162
#, kde-format
msgid ""
"The phone number has not been verified. Please go to the text message and "
@@ -6013,19 +6013,19 @@ msgstr ""
"повідомлення і виконайте настанови з нього, а потім натисніть кнопку, яку "
"розташовано нижче"
#: src/settings/ThreePIdCard.qml:183
#: src/settings/ThreePIdCard.qml:189
#, kde-format
msgctxt "@action:button Add new email or phone number"
msgid "Add"
msgstr "Додати"
#: src/settings/ThreePIdCard.qml:191
#: src/settings/ThreePIdCard.qml:197
#, kde-format
msgctxt "@action:button As in 'go back'"
msgid "Back"
msgstr "Назад"
#: src/threepidbindhelper.cpp:177
#: src/threepidbindhelper.cpp:178
#, kde-format
msgid ""
"%1. Please follow the instructions there and then click the button above"
@@ -6033,7 +6033,7 @@ msgstr ""
"%1. Будь ласка, виконайте настанови з нього, а потім натисніть кнопку, яку "
"розташовано вище"
#: src/threepidbindhelper.cpp:183
#: src/threepidbindhelper.cpp:184
#, kde-format
msgid ""
"The email has not been verified. Please go to the email and follow the "
@@ -6043,7 +6043,7 @@ msgstr ""
"повідомлення електронної пошти і виконайте настанови з нього, а потім "
"натисніть кнопку, яку розташовано вище"
#: src/threepidbindhelper.cpp:184
#: src/threepidbindhelper.cpp:185
#, kde-format
msgid ""
"The phone number has not been verified. Please go to the text message and "
@@ -6053,35 +6053,35 @@ msgstr ""
"повідомлення і виконайте настанови з нього, а потім натисніть кнопку, яку "
"розташовано вище"
#: src/timeline/BaseMessageComponentChooser.qml:249
#: src/timeline/BaseMessageComponentChooser.qml:172
#, kde-format
msgid "%1 started a user verification"
msgstr "%1 розпочато перевірку користувача"
#: src/timeline/ChatBarComponent.qml:98
#: src/timeline/ChatBarComponent.qml:88
#, kde-format
msgctxt "@action:button"
msgid "Confirm edit"
msgstr "Підтвердити редагування"
#: src/timeline/ChatBarComponent.qml:98
#: src/timeline/ChatBarComponent.qml:88
#, kde-format
msgctxt "@action:button"
msgid "Post message in thread"
msgstr "Додати повідомлення до гілки"
#: src/timeline/CodeComponent.qml:164
#: src/timeline/CodeComponent.qml:159
#, kde-format
msgid "Copy to clipboard"
msgstr "Скопіювати до буфера"
#: src/timeline/CodeComponent.qml:176
#: src/timeline/CodeComponent.qml:171
#, kde-format
msgctxt "@action:button"
msgid "Maximize"
msgstr "Максимізувати"
#: src/timeline/EncryptedComponent.qml:21
#: src/timeline/EncryptedComponent.qml:18
#, kde-format
msgid ""
"This message is encrypted and the sender has not shared the key with this "
@@ -6090,20 +6090,20 @@ msgstr ""
"Це повідомлення зашифровано, а відправник не поділився ключем із цим "
"пристроєм."
#: src/timeline/FetchButtonComponent.qml:41
#: src/timeline/FetchButtonComponent.qml:36
#, kde-format
msgctxt "@action:button"
msgid "Fetch More Events"
msgstr "Отримати ще дані подій"
#: src/timeline/FileComponent.qml:104 src/timeline/FileComponent.qml:187
#: src/timeline/FileComponent.qml:94 src/timeline/FileComponent.qml:177
#, kde-format
msgctxt ""
"tooltip for a button on a message; offers ability to download its file"
msgid "Download"
msgstr "Отримати"
#: src/timeline/FileComponent.qml:120 src/timeline/FileComponent.qml:177
#: src/timeline/FileComponent.qml:110 src/timeline/FileComponent.qml:167
#, kde-format
msgctxt ""
"tooltip for a button on a message; offers ability to open its downloaded "
@@ -6111,13 +6111,13 @@ msgctxt ""
msgid "Open File"
msgstr "Відкрити файл"
#: src/timeline/FileComponent.qml:135
#: src/timeline/FileComponent.qml:125
#, kde-format
msgctxt "file download progress"
msgid "%1 / %2"
msgstr "%1 з %2"
#: src/timeline/FileComponent.qml:140
#: src/timeline/FileComponent.qml:130
#, kde-format
msgctxt ""
"tooltip for a button on a message; stops downloading the message's file"
@@ -6146,47 +6146,47 @@ msgstr "Час перевірки на вході: %1"
msgid "Check-out time: %1"
msgstr "Час перевірки на виході: %1"
#: src/timeline/ImageComponent.qml:140
#: src/timeline/ImageComponent.qml:120
#, kde-format
msgctxt "@action:button"
msgid "Show Image"
msgstr "Показати зображення"
#: src/timeline/ItineraryComponent.qml:57
#: src/timeline/ItineraryComponent.qml:54
#, kde-format
msgctxt "@action"
msgid "Send to KDE Itinerary"
msgstr "Надіслати до KDE Itinerary"
#: src/timeline/LinkPreviewComponent.qml:136
#: src/timeline/LinkPreviewLoadComponent.qml:79
#: src/timeline/LinkPreviewComponent.qml:131
#: src/timeline/LinkPreviewLoadComponent.qml:76
#, kde-format
msgctxt "As in remove the link preview so it's no longer shown"
msgid "Remove preview"
msgstr "Вилучити попередній перегляд"
#: src/timeline/LinkPreviewComponent.qml:154
#: src/timeline/LinkPreviewComponent.qml:149
#, kde-format
msgid "Shrink preview"
msgstr "Стиснути попередній перегляд"
#: src/timeline/LinkPreviewComponent.qml:154
#: src/timeline/LinkPreviewComponent.qml:149
#, kde-format
msgid "Expand preview"
msgstr "Розгорнути попередній перегляд"
#: src/timeline/LinkPreviewLoadComponent.qml:68
#: src/timeline/LinkPreviewLoadComponent.qml:65
#, kde-format
msgid "Loading URL preview"
msgstr "Завантажуємо попередній перегляд адреси"
#: src/timeline/LocationComponent.qml:116
#: src/timeline/LocationComponent.qml:111
#, kde-format
msgctxt "@action:button Open the location in an external program"
msgid "Open Externally"
msgstr "Відкрити у сторонній програмі"
#: src/timeline/PollComponent.qml:80
#: src/timeline/PollComponent.qml:70
#, kde-format
msgid "Based on votes by %1 user"
msgid_plural "Based on votes by %1 users"
@@ -6195,13 +6195,13 @@ msgstr[1] "На основі голосів %1 користувачів"
msgstr[2] "На основі голосів %1 користувачів"
msgstr[3] "На основі голосу %1 користувача"
#: src/timeline/PollComponent.qml:80
#: src/timeline/PollComponent.qml:70
#, kde-format
msgctxt "as in 'this vote has ended'"
msgid "(Ended)"
msgstr "(Завершено)"
#: src/timeline/ReactionComponent.qml:97
#: src/timeline/ReactionComponent.qml:89
#, kde-format
msgctxt "@button"
msgid "React"
@@ -6213,7 +6213,7 @@ msgctxt "Relative time since the room was last read"
msgid "Last read: %1"
msgstr "Востаннє прочитано: %1"
#: src/timeline/ReplyButtonComponent.qml:44
#: src/timeline/ReplyButtonComponent.qml:34
#, kde-format
msgctxt "@action:button"
msgid "Reply"
@@ -6232,24 +6232,24 @@ msgstr "Це початок спілкування. У журналі немає
msgid "Pl. %1"
msgstr "Пл. %1"
#: src/timeline/VideoComponent.qml:217
#: src/timeline/VideoComponent.qml:197
#, kde-format
msgid "Video"
msgstr "Відео"
#: src/timeline/VideoComponent.qml:257
#: src/timeline/VideoComponent.qml:237
#, kde-format
msgctxt "@action:button"
msgid "Show Video"
msgstr "Показати відео"
#: src/timeline/VideoComponent.qml:298
#: src/timeline/VideoComponent.qml:278
#, kde-format
msgctxt "@action:button"
msgid "Volume"
msgstr "Гучність"
#: src/timeline/VideoComponent.qml:382
#: src/timeline/VideoComponent.qml:362
#, kde-format
msgid "Maximize"
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: 2025-03-07 00:42+0000\n"
"POT-Creation-Date: 2025-03-11 00:41+0000\n"
"PO-Revision-Date: 2024-04-23 19:24\n"
"Last-Translator: \n"
"Language-Team: Chinese Simplified\n"
@@ -14,8 +14,8 @@ msgstr ""
"X-Crowdin-Project: kdeorg\n"
"X-Crowdin-Project-ID: 269464\n"
"X-Crowdin-Language: zh-CN\n"
"X-Crowdin-File: /kf6-stable/messages/neochat/neochat.pot\n"
"X-Crowdin-File-ID: 49732\n"
"X-Crowdin-File: /kf6-trunk/messages/neochat/neochat.pot\n"
"X-Crowdin-File-ID: 44721\n"
#: src/chatbar/AttachDialog.qml:29
#, kde-format
@@ -1027,7 +1027,7 @@ msgstr "此服务器已禁用注册。"
#: src/login/Homeserver.qml:41 src/login/Username.qml:38
#: src/models/messagecontentmodel.cpp:262
#: src/models/messagecontentmodel.cpp:290 src/timeline/LoadComponent.qml:33
#: src/models/messagecontentmodel.cpp:290 src/timeline/LoadComponent.qml:30
#, kde-format
msgid "Loading"
msgstr "加载中"
@@ -1057,7 +1057,7 @@ msgid "Loading…"
msgstr "加载中…"
#: src/login/Login.qml:38 src/login/WelcomePage.qml:250
#: src/settings/ThreePIdCard.qml:183
#: src/settings/ThreePIdCard.qml:189
#, kde-format
msgctxt "@action:button"
msgid "Continue"
@@ -1691,7 +1691,7 @@ msgstr "自己的表情"
#: src/models/messagecontentmodel.cpp:260
#: src/models/messagecontentmodel.cpp:288
#: src/timeline/LinkPreviewLoadComponent.qml:66
#: src/timeline/LinkPreviewLoadComponent.qml:63
#, kde-format
msgid "Loading reply"
msgstr "正在加载回复"
@@ -1940,25 +1940,25 @@ msgctxt "@info:label"
msgid "%1 invited you"
msgstr ""
#: src/neochatconnection.cpp:77
#: src/neochatconnection.cpp:75
#, kde-format
msgid ""
"File too large to download.<br />Contact your matrix server administrator "
"for support."
msgstr ""
#: src/neochatconnection.cpp:336
#: src/neochatconnection.cpp:329
#, kde-format
msgctxt "@info"
msgid "No identity server configured"
msgstr ""
#: src/neochatconnection.cpp:367
#: src/neochatconnection.cpp:360
#, kde-format
msgid "Room creation failed: %1"
msgstr "聊天室创建失败:%1"
#: src/neochatconnection.cpp:397
#: src/neochatconnection.cpp:390
#, kde-format
msgid "Space creation failed: %1"
msgstr "空间创建失败:%1"
@@ -5785,180 +5785,180 @@ msgctxt "@title:dialog"
msgid "Select Parameter to Add"
msgstr ""
#: src/settings/ThreePIdCard.qml:55
#: src/settings/ThreePIdCard.qml:58
#, kde-format
msgctxt "@action:button"
msgid "Hide"
msgstr ""
#: src/settings/ThreePIdCard.qml:61
#: src/settings/ThreePIdCard.qml:64
#, kde-format
msgctxt "@action:button"
msgid "Share"
msgstr "分享"
#: src/settings/ThreePIdCard.qml:66
#: src/settings/ThreePIdCard.qml:69
#, kde-format
msgctxt "@action:button"
msgid "Remove"
msgstr "移除"
#: src/settings/ThreePIdCard.qml:85
#: src/settings/ThreePIdCard.qml:88
#, kde-format
msgctxt "@action:button"
msgid "Complete"
msgstr ""
#: src/settings/ThreePIdCard.qml:90 src/timeline/ChatBarComponent.qml:110
#: src/settings/ThreePIdCard.qml:93 src/timeline/ChatBarComponent.qml:100
#, kde-format
msgctxt "@action:button"
msgid "Cancel"
msgstr "取消"
#: src/settings/ThreePIdCard.qml:130
#: src/settings/ThreePIdCard.qml:136
#, kde-format
msgctxt "@label:textbox"
msgid "Country Code for new phone number"
msgstr ""
#: src/settings/ThreePIdCard.qml:146
#: src/settings/ThreePIdCard.qml:152
#, kde-format
msgctxt "@label:textbox"
msgid "New Email Address:"
msgstr ""
#: src/settings/ThreePIdCard.qml:146
#: src/settings/ThreePIdCard.qml:152
#, kde-format
msgctxt "@label:textbox"
msgid "New Phone Number:"
msgstr ""
#: src/settings/ThreePIdCard.qml:150 src/threepidbindhelper.cpp:178
#: src/settings/ThreePIdCard.qml:156 src/threepidbindhelper.cpp:179
#, kde-format
msgid "We've sent you an email"
msgstr ""
#: src/settings/ThreePIdCard.qml:150 src/threepidbindhelper.cpp:178
#: src/settings/ThreePIdCard.qml:156 src/threepidbindhelper.cpp:179
#, kde-format
msgid "We've sent you a text message"
msgstr ""
#: src/settings/ThreePIdCard.qml:150
#: src/settings/ThreePIdCard.qml:156
#, kde-format
msgid ""
"%1. Please follow the instructions there and then click the button below"
msgstr ""
#: src/settings/ThreePIdCard.qml:152 src/threepidbindhelper.cpp:180
#: src/settings/ThreePIdCard.qml:158 src/threepidbindhelper.cpp:181
#, kde-format
msgid "The entered email is not valid"
msgstr ""
#: src/settings/ThreePIdCard.qml:152 src/threepidbindhelper.cpp:180
#: src/settings/ThreePIdCard.qml:158 src/threepidbindhelper.cpp:181
#, kde-format
msgid "The entered phone number is not valid"
msgstr ""
#: src/settings/ThreePIdCard.qml:154
#: src/settings/ThreePIdCard.qml:160
#, kde-format
msgid "Incorrect password entered"
msgstr ""
#: src/settings/ThreePIdCard.qml:156
#: src/settings/ThreePIdCard.qml:162
#, kde-format
msgid ""
"The email has not been verified. Please go to the email and follow the "
"instructions there and then click the button below"
msgstr ""
#: src/settings/ThreePIdCard.qml:156
#: src/settings/ThreePIdCard.qml:162
#, kde-format
msgid ""
"The phone number has not been verified. Please go to the text message and "
"follow the instructions there and then click the button below"
msgstr ""
#: src/settings/ThreePIdCard.qml:183
#: src/settings/ThreePIdCard.qml:189
#, kde-format
msgctxt "@action:button Add new email or phone number"
msgid "Add"
msgstr "添加"
#: src/settings/ThreePIdCard.qml:191
#: src/settings/ThreePIdCard.qml:197
#, kde-format
msgctxt "@action:button As in 'go back'"
msgid "Back"
msgstr ""
#: src/threepidbindhelper.cpp:177
#: src/threepidbindhelper.cpp:178
#, kde-format
msgid ""
"%1. Please follow the instructions there and then click the button above"
msgstr ""
#: src/threepidbindhelper.cpp:183
#: src/threepidbindhelper.cpp:184
#, kde-format
msgid ""
"The email has not been verified. Please go to the email and follow the "
"instructions there and then click the button above"
msgstr ""
#: src/threepidbindhelper.cpp:184
#: src/threepidbindhelper.cpp:185
#, kde-format
msgid ""
"The phone number has not been verified. Please go to the text message and "
"follow the instructions there and then click the button above"
msgstr ""
#: src/timeline/BaseMessageComponentChooser.qml:249
#: src/timeline/BaseMessageComponentChooser.qml:172
#, kde-format
msgid "%1 started a user verification"
msgstr ""
#: src/timeline/ChatBarComponent.qml:98
#: src/timeline/ChatBarComponent.qml:88
#, kde-format
msgctxt "@action:button"
msgid "Confirm edit"
msgstr "确认编辑"
#: src/timeline/ChatBarComponent.qml:98
#: src/timeline/ChatBarComponent.qml:88
#, kde-format
msgctxt "@action:button"
msgid "Post message in thread"
msgstr ""
#: src/timeline/CodeComponent.qml:164
#: src/timeline/CodeComponent.qml:159
#, kde-format
msgid "Copy to clipboard"
msgstr "复制到剪贴板"
#: src/timeline/CodeComponent.qml:176
#: src/timeline/CodeComponent.qml:171
#, kde-format
msgctxt "@action:button"
msgid "Maximize"
msgstr "最大化"
#: src/timeline/EncryptedComponent.qml:21
#: src/timeline/EncryptedComponent.qml:18
#, kde-format
msgid ""
"This message is encrypted and the sender has not shared the key with this "
"device."
msgstr "此消息已加密,但发送者尚未与此设备共享密钥。"
#: src/timeline/FetchButtonComponent.qml:41
#: src/timeline/FetchButtonComponent.qml:36
#, kde-format
msgctxt "@action:button"
msgid "Fetch More Events"
msgstr ""
#: src/timeline/FileComponent.qml:104 src/timeline/FileComponent.qml:187
#: src/timeline/FileComponent.qml:94 src/timeline/FileComponent.qml:177
#, kde-format
msgctxt ""
"tooltip for a button on a message; offers ability to download its file"
msgid "Download"
msgstr "下载"
#: src/timeline/FileComponent.qml:120 src/timeline/FileComponent.qml:177
#: src/timeline/FileComponent.qml:110 src/timeline/FileComponent.qml:167
#, kde-format
msgctxt ""
"tooltip for a button on a message; offers ability to open its downloaded "
@@ -5966,13 +5966,13 @@ msgctxt ""
msgid "Open File"
msgstr "打开文件"
#: src/timeline/FileComponent.qml:135
#: src/timeline/FileComponent.qml:125
#, kde-format
msgctxt "file download progress"
msgid "%1 / %2"
msgstr "%1 / %2"
#: src/timeline/FileComponent.qml:140
#: src/timeline/FileComponent.qml:130
#, kde-format
msgctxt ""
"tooltip for a button on a message; stops downloading the message's file"
@@ -6001,59 +6001,59 @@ msgstr ""
msgid "Check-out time: %1"
msgstr ""
#: src/timeline/ImageComponent.qml:140
#: src/timeline/ImageComponent.qml:120
#, kde-format
msgctxt "@action:button"
msgid "Show Image"
msgstr ""
#: src/timeline/ItineraryComponent.qml:57
#: src/timeline/ItineraryComponent.qml:54
#, kde-format
msgctxt "@action"
msgid "Send to KDE Itinerary"
msgstr ""
#: src/timeline/LinkPreviewComponent.qml:136
#: src/timeline/LinkPreviewLoadComponent.qml:79
#: src/timeline/LinkPreviewComponent.qml:131
#: src/timeline/LinkPreviewLoadComponent.qml:76
#, kde-format
msgctxt "As in remove the link preview so it's no longer shown"
msgid "Remove preview"
msgstr "移除预览"
#: src/timeline/LinkPreviewComponent.qml:154
#: src/timeline/LinkPreviewComponent.qml:149
#, kde-format
msgid "Shrink preview"
msgstr "收缩预览"
#: src/timeline/LinkPreviewComponent.qml:154
#: src/timeline/LinkPreviewComponent.qml:149
#, kde-format
msgid "Expand preview"
msgstr "展开预览"
#: src/timeline/LinkPreviewLoadComponent.qml:68
#: src/timeline/LinkPreviewLoadComponent.qml:65
#, kde-format
msgid "Loading URL preview"
msgstr "正在加载 URL 预览"
#: src/timeline/LocationComponent.qml:116
#: src/timeline/LocationComponent.qml:111
#, kde-format
msgctxt "@action:button Open the location in an external program"
msgid "Open Externally"
msgstr "在外部打开"
#: src/timeline/PollComponent.qml:80
#: src/timeline/PollComponent.qml:70
#, kde-format
msgid "Based on votes by %1 user"
msgid_plural "Based on votes by %1 users"
msgstr[0] "基于 %1 位用户的投票"
#: src/timeline/PollComponent.qml:80
#: src/timeline/PollComponent.qml:70
#, kde-format
msgctxt "as in 'this vote has ended'"
msgid "(Ended)"
msgstr "(已结束)"
#: src/timeline/ReactionComponent.qml:97
#: src/timeline/ReactionComponent.qml:89
#, kde-format
msgctxt "@button"
msgid "React"
@@ -6065,7 +6065,7 @@ msgctxt "Relative time since the room was last read"
msgid "Last read: %1"
msgstr "上次查看:%1"
#: src/timeline/ReplyButtonComponent.qml:44
#: src/timeline/ReplyButtonComponent.qml:34
#, kde-format
msgctxt "@action:button"
msgid "Reply"
@@ -6084,24 +6084,24 @@ msgstr ""
msgid "Pl. %1"
msgstr ""
#: src/timeline/VideoComponent.qml:217
#: src/timeline/VideoComponent.qml:197
#, kde-format
msgid "Video"
msgstr "视频"
#: src/timeline/VideoComponent.qml:257
#: src/timeline/VideoComponent.qml:237
#, kde-format
msgctxt "@action:button"
msgid "Show Video"
msgstr ""
#: src/timeline/VideoComponent.qml:298
#: src/timeline/VideoComponent.qml:278
#, kde-format
msgctxt "@action:button"
msgid "Volume"
msgstr "音量"
#: src/timeline/VideoComponent.qml:382
#: src/timeline/VideoComponent.qml:362
#, kde-format
msgid "Maximize"
msgstr "最大化"

View File

@@ -9,8 +9,8 @@ msgid ""
msgstr ""
"Project-Id-Version: neochat\n"
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
"POT-Creation-Date: 2025-03-07 00:42+0000\n"
"PO-Revision-Date: 2025-03-27 22:08+0900\n"
"POT-Creation-Date: 2025-03-11 00:41+0000\n"
"PO-Revision-Date: 2025-02-20 15:27+0900\n"
"Last-Translator: Kisaragi Hiu <mail@kisaragi-hiu.com>\n"
"Language-Team: Traditional Chinese <zh-l10n@lists.slat.org>\n"
"Language: zh_TW\n"
@@ -18,7 +18,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
"X-Generator: Lokalize 24.12.3\n"
"X-Generator: Lokalize 25.03.70\n"
#: src/chatbar/AttachDialog.qml:29
#, kde-format
@@ -1033,7 +1033,7 @@ msgstr "此伺服器已停用註冊。"
#: src/login/Homeserver.qml:41 src/login/Username.qml:38
#: src/models/messagecontentmodel.cpp:262
#: src/models/messagecontentmodel.cpp:290 src/timeline/LoadComponent.qml:33
#: src/models/messagecontentmodel.cpp:290 src/timeline/LoadComponent.qml:30
#, kde-format
msgid "Loading"
msgstr "載入中"
@@ -1063,7 +1063,7 @@ msgid "Loading…"
msgstr "載入中…"
#: src/login/Login.qml:38 src/login/WelcomePage.qml:250
#: src/settings/ThreePIdCard.qml:183
#: src/settings/ThreePIdCard.qml:189
#, kde-format
msgctxt "@action:button"
msgid "Continue"
@@ -1693,7 +1693,7 @@ msgstr "自己的表情符號"
#: src/models/messagecontentmodel.cpp:260
#: src/models/messagecontentmodel.cpp:288
#: src/timeline/LinkPreviewLoadComponent.qml:66
#: src/timeline/LinkPreviewLoadComponent.qml:63
#, kde-format
msgid "Loading reply"
msgstr "載入回覆中"
@@ -1943,25 +1943,25 @@ msgctxt "@info:label"
msgid "%1 invited you"
msgstr "%1 邀請了您"
#: src/neochatconnection.cpp:77
#: src/neochatconnection.cpp:75
#, kde-format
msgid ""
"File too large to download.<br />Contact your matrix server administrator "
"for support."
msgstr "檔案超過下載大小上限。請聯絡您的 matrix 伺服器管理員以求支援。"
#: src/neochatconnection.cpp:336
#: src/neochatconnection.cpp:329
#, kde-format
msgctxt "@info"
msgid "No identity server configured"
msgstr "未設定身份伺服器"
#: src/neochatconnection.cpp:367
#: src/neochatconnection.cpp:360
#, kde-format
msgid "Room creation failed: %1"
msgstr "聊天室建立失敗:%1"
#: src/neochatconnection.cpp:397
#: src/neochatconnection.cpp:390
#, kde-format
msgid "Space creation failed: %1"
msgstr "聊天空間建立失敗:%1"
@@ -2101,13 +2101,13 @@ msgstr "驗證此裝置"
#, kde-format
msgctxt "@title"
msgid "Verification Request Sent"
msgstr "已送出驗證請求"
msgstr ""
#: src/qml/AccountMenu.qml:94
#, kde-format
msgctxt "@info:label"
msgid "To proceed, accept the verification request on another device."
msgstr "要繼續進行,請在另一台裝置上接受驗證請求。"
msgstr ""
#: src/qml/AccountMenu.qml:106 src/settings/AccountsPage.qml:88
#, kde-format
@@ -2438,10 +2438,12 @@ msgid "View Source"
msgstr "檢視原始碼"
#: src/qml/DelegateContextMenu.qml:78
#, kde-format
#, fuzzy, kde-format
#| msgctxt "@action:button"
#| msgid "Remove"
msgctxt "@action:button"
msgid "Remove…"
msgstr "移除"
msgstr "移除"
#: src/qml/DelegateContextMenu.qml:83 src/qml/DelegateContextMenu.qml:88
#: src/qml/FileDelegateContextMenu.qml:79
@@ -2498,13 +2500,13 @@ msgstr "顯示使用者"
#, kde-format
msgctxt "@action:button 'Unpin' as in 'Unpin this message'"
msgid "Unpin"
msgstr "取消釘選"
msgstr ""
#: src/qml/DelegateContextMenu.qml:139
#, kde-format
msgctxt "@action:button 'Pin' as in 'Pin the message in the room'"
msgid "Pin"
msgstr "釘選"
msgstr ""
#: src/qml/EditMenu.qml:15
#, kde-format
@@ -2709,9 +2711,10 @@ msgid "Copy Image"
msgstr "複製影像"
#: src/qml/FileDelegateContextMenu.qml:74
#, kde-format
#, fuzzy, kde-format
#| msgid "Remove"
msgid "Remove…"
msgstr "移除"
msgstr "移除"
#: src/qml/FullScreenMap.qml:23
#, kde-format
@@ -4061,10 +4064,11 @@ msgid "Copy link"
msgstr "複製連結"
#: src/qml/UserInfo.qml:50
#, kde-format
#, fuzzy, kde-format
#| msgid "Deactivate Account"
msgctxt "@info:tooltip"
msgid "Manage Account"
msgstr "管理帳號"
msgstr "停用帳號"
#: src/qml/UserInfo.qml:108
#, kde-format
@@ -4792,17 +4796,17 @@ msgstr "為這個帳號啟用通知"
#: src/settings/GlobalNotificationsPage.qml:32
#, kde-format
msgid "Notifications can appear even when NeoChat isn't running."
msgstr "通知能在 NeoChat 未執行時出現。"
msgstr ""
#: src/settings/GlobalNotificationsPage.qml:34
#, kde-format
msgid "Push notifications are available but could not be enabled."
msgstr "有推送通知但卻無法啟用它。"
msgstr ""
#: src/settings/GlobalNotificationsPage.qml:37
#, kde-format
msgid "Notifications will only appear when NeoChat is running."
msgstr "通知只會在 NeoChat 執行時顯示。"
msgstr ""
#: src/settings/GlobalNotificationsPage.qml:49
#, kde-format
@@ -5486,17 +5490,18 @@ msgid "URL previews are disabled by default in this room"
msgstr "這個聊天室預設已停用網址預覽"
#: src/settings/RoomGeneralPage.qml:285
#, kde-format
#, fuzzy, kde-format
#| msgid "URL previews are disabled by default in this room"
msgctxt ""
"As in the user has switched off showing previews of hyperlinks in timeline "
"messages"
msgid "URL previews are currently disabled for your account"
msgstr "網址預覽目前已為您的帳號關閉"
msgstr "這個聊天室預設已停用網址預覽"
#: src/settings/RoomGeneralPage.qml:289
#, kde-format
msgid "Enable"
msgstr "啟用"
msgstr ""
#: src/settings/RoomGeneralPage.qml:294
#, kde-format
@@ -5790,180 +5795,180 @@ msgctxt "@title:dialog"
msgid "Select Parameter to Add"
msgstr "選擇要加入的參數"
#: src/settings/ThreePIdCard.qml:55
#: src/settings/ThreePIdCard.qml:58
#, kde-format
msgctxt "@action:button"
msgid "Hide"
msgstr "隱藏"
#: src/settings/ThreePIdCard.qml:61
#: src/settings/ThreePIdCard.qml:64
#, kde-format
msgctxt "@action:button"
msgid "Share"
msgstr "分享"
#: src/settings/ThreePIdCard.qml:66
#: src/settings/ThreePIdCard.qml:69
#, kde-format
msgctxt "@action:button"
msgid "Remove"
msgstr "移除"
#: src/settings/ThreePIdCard.qml:85
#: src/settings/ThreePIdCard.qml:88
#, kde-format
msgctxt "@action:button"
msgid "Complete"
msgstr "完成"
#: src/settings/ThreePIdCard.qml:90 src/timeline/ChatBarComponent.qml:110
#: src/settings/ThreePIdCard.qml:93 src/timeline/ChatBarComponent.qml:100
#, kde-format
msgctxt "@action:button"
msgid "Cancel"
msgstr "取消"
#: src/settings/ThreePIdCard.qml:130
#: src/settings/ThreePIdCard.qml:136
#, kde-format
msgctxt "@label:textbox"
msgid "Country Code for new phone number"
msgstr "新的電話號碼的國碼"
#: src/settings/ThreePIdCard.qml:146
#: src/settings/ThreePIdCard.qml:152
#, kde-format
msgctxt "@label:textbox"
msgid "New Email Address:"
msgstr "新的電子郵件地址:"
#: src/settings/ThreePIdCard.qml:146
#: src/settings/ThreePIdCard.qml:152
#, kde-format
msgctxt "@label:textbox"
msgid "New Phone Number:"
msgstr "新的電話號碼:"
#: src/settings/ThreePIdCard.qml:150 src/threepidbindhelper.cpp:178
#: src/settings/ThreePIdCard.qml:156 src/threepidbindhelper.cpp:179
#, kde-format
msgid "We've sent you an email"
msgstr "我們已向您傳送電子郵件"
#: src/settings/ThreePIdCard.qml:150 src/threepidbindhelper.cpp:178
#: src/settings/ThreePIdCard.qml:156 src/threepidbindhelper.cpp:179
#, kde-format
msgid "We've sent you a text message"
msgstr "我們已向您傳送簡訊"
#: src/settings/ThreePIdCard.qml:150
#: src/settings/ThreePIdCard.qml:156
#, kde-format
msgid ""
"%1. Please follow the instructions there and then click the button below"
msgstr "%1。請跟隨該訊息的指示後點擊下方的按鈕。"
#: src/settings/ThreePIdCard.qml:152 src/threepidbindhelper.cpp:180
#: src/settings/ThreePIdCard.qml:158 src/threepidbindhelper.cpp:181
#, kde-format
msgid "The entered email is not valid"
msgstr "輸入的電子郵件無效"
#: src/settings/ThreePIdCard.qml:152 src/threepidbindhelper.cpp:180
#: src/settings/ThreePIdCard.qml:158 src/threepidbindhelper.cpp:181
#, kde-format
msgid "The entered phone number is not valid"
msgstr "輸入的電話號碼無效"
#: src/settings/ThreePIdCard.qml:154
#: src/settings/ThreePIdCard.qml:160
#, kde-format
msgid "Incorrect password entered"
msgstr "輸入了錯誤的密碼"
#: src/settings/ThreePIdCard.qml:156
#: src/settings/ThreePIdCard.qml:162
#, kde-format
msgid ""
"The email has not been verified. Please go to the email and follow the "
"instructions there and then click the button below"
msgstr "電子郵件尚未驗證。請至電子郵件跟隨訊息的指示,之後點擊下方的按鈕"
#: src/settings/ThreePIdCard.qml:156
#: src/settings/ThreePIdCard.qml:162
#, kde-format
msgid ""
"The phone number has not been verified. Please go to the text message and "
"follow the instructions there and then click the button below"
msgstr "電話號碼尚未驗證。請至簡訊並跟隨其的指示,之後點擊下方的按鈕"
#: src/settings/ThreePIdCard.qml:183
#: src/settings/ThreePIdCard.qml:189
#, kde-format
msgctxt "@action:button Add new email or phone number"
msgid "Add"
msgstr "新增"
#: src/settings/ThreePIdCard.qml:191
#: src/settings/ThreePIdCard.qml:197
#, kde-format
msgctxt "@action:button As in 'go back'"
msgid "Back"
msgstr "返回"
#: src/threepidbindhelper.cpp:177
#: src/threepidbindhelper.cpp:178
#, kde-format
msgid ""
"%1. Please follow the instructions there and then click the button above"
msgstr "%1。請跟隨該訊息的指示後點擊上方的按鈕"
#: src/threepidbindhelper.cpp:183
#: src/threepidbindhelper.cpp:184
#, kde-format
msgid ""
"The email has not been verified. Please go to the email and follow the "
"instructions there and then click the button above"
msgstr "電子郵件尚未驗證。請至電子郵件跟隨訊息的指示,之後點擊上方的按鈕"
#: src/threepidbindhelper.cpp:184
#: src/threepidbindhelper.cpp:185
#, kde-format
msgid ""
"The phone number has not been verified. Please go to the text message and "
"follow the instructions there and then click the button above"
msgstr "電話號碼尚未驗證。請至簡訊並跟隨其的指示,之後點擊上方的按鈕"
#: src/timeline/BaseMessageComponentChooser.qml:249
#: src/timeline/BaseMessageComponentChooser.qml:172
#, kde-format
msgid "%1 started a user verification"
msgstr "%1 開始了使用者驗證"
#: src/timeline/ChatBarComponent.qml:98
#: src/timeline/ChatBarComponent.qml:88
#, kde-format
msgctxt "@action:button"
msgid "Confirm edit"
msgstr "確認編輯"
#: src/timeline/ChatBarComponent.qml:98
#: src/timeline/ChatBarComponent.qml:88
#, kde-format
msgctxt "@action:button"
msgid "Post message in thread"
msgstr "在對話串中張貼訊息"
#: src/timeline/CodeComponent.qml:164
#: src/timeline/CodeComponent.qml:159
#, kde-format
msgid "Copy to clipboard"
msgstr "複製到剪貼簿"
#: src/timeline/CodeComponent.qml:176
#: src/timeline/CodeComponent.qml:171
#, kde-format
msgctxt "@action:button"
msgid "Maximize"
msgstr "最大化"
#: src/timeline/EncryptedComponent.qml:21
#: src/timeline/EncryptedComponent.qml:18
#, kde-format
msgid ""
"This message is encrypted and the sender has not shared the key with this "
"device."
msgstr "這個訊息已加密而傳送者並未與本裝置分享金鑰。"
#: src/timeline/FetchButtonComponent.qml:41
#: src/timeline/FetchButtonComponent.qml:36
#, kde-format
msgctxt "@action:button"
msgid "Fetch More Events"
msgstr "取得更多事件"
#: src/timeline/FileComponent.qml:104 src/timeline/FileComponent.qml:187
#: src/timeline/FileComponent.qml:94 src/timeline/FileComponent.qml:177
#, kde-format
msgctxt ""
"tooltip for a button on a message; offers ability to download its file"
msgid "Download"
msgstr "下載"
#: src/timeline/FileComponent.qml:120 src/timeline/FileComponent.qml:177
#: src/timeline/FileComponent.qml:110 src/timeline/FileComponent.qml:167
#, kde-format
msgctxt ""
"tooltip for a button on a message; offers ability to open its downloaded "
@@ -5971,13 +5976,13 @@ msgctxt ""
msgid "Open File"
msgstr "開啟檔案"
#: src/timeline/FileComponent.qml:135
#: src/timeline/FileComponent.qml:125
#, kde-format
msgctxt "file download progress"
msgid "%1 / %2"
msgstr "%1 / %2"
#: src/timeline/FileComponent.qml:140
#: src/timeline/FileComponent.qml:130
#, kde-format
msgctxt ""
"tooltip for a button on a message; stops downloading the message's file"
@@ -6006,59 +6011,59 @@ msgstr "Check-in 時間:%1"
msgid "Check-out time: %1"
msgstr "Check-out 時間:%1"
#: src/timeline/ImageComponent.qml:140
#: src/timeline/ImageComponent.qml:120
#, kde-format
msgctxt "@action:button"
msgid "Show Image"
msgstr "設定影像"
#: src/timeline/ItineraryComponent.qml:57
#: src/timeline/ItineraryComponent.qml:54
#, kde-format
msgctxt "@action"
msgid "Send to KDE Itinerary"
msgstr "傳送到 KDE 旅程計劃"
#: src/timeline/LinkPreviewComponent.qml:136
#: src/timeline/LinkPreviewLoadComponent.qml:79
#: src/timeline/LinkPreviewComponent.qml:131
#: src/timeline/LinkPreviewLoadComponent.qml:76
#, kde-format
msgctxt "As in remove the link preview so it's no longer shown"
msgid "Remove preview"
msgstr "移除預覽"
#: src/timeline/LinkPreviewComponent.qml:154
#: src/timeline/LinkPreviewComponent.qml:149
#, kde-format
msgid "Shrink preview"
msgstr "收起預覽"
#: src/timeline/LinkPreviewComponent.qml:154
#: src/timeline/LinkPreviewComponent.qml:149
#, kde-format
msgid "Expand preview"
msgstr "展開預覽"
#: src/timeline/LinkPreviewLoadComponent.qml:68
#: src/timeline/LinkPreviewLoadComponent.qml:65
#, kde-format
msgid "Loading URL preview"
msgstr "正在載入網址預覽"
#: src/timeline/LocationComponent.qml:116
#: src/timeline/LocationComponent.qml:111
#, kde-format
msgctxt "@action:button Open the location in an external program"
msgid "Open Externally"
msgstr "在外部開啟"
#: src/timeline/PollComponent.qml:80
#: src/timeline/PollComponent.qml:70
#, kde-format
msgid "Based on votes by %1 user"
msgid_plural "Based on votes by %1 users"
msgstr[0] "基於 %1 個使用者的投票"
#: src/timeline/PollComponent.qml:80
#: src/timeline/PollComponent.qml:70
#, kde-format
msgctxt "as in 'this vote has ended'"
msgid "(Ended)"
msgstr "(已結束)"
#: src/timeline/ReactionComponent.qml:97
#: src/timeline/ReactionComponent.qml:89
#, kde-format
msgctxt "@button"
msgid "React"
@@ -6070,7 +6075,7 @@ msgctxt "Relative time since the room was last read"
msgid "Last read: %1"
msgstr "最後閱讀:%1"
#: src/timeline/ReplyButtonComponent.qml:44
#: src/timeline/ReplyButtonComponent.qml:34
#, kde-format
msgctxt "@action:button"
msgid "Reply"
@@ -6089,24 +6094,24 @@ msgstr "這是此聊天的開頭。沒有比這更早的歷史訊息。"
msgid "Pl. %1"
msgstr "第 %1 月台"
#: src/timeline/VideoComponent.qml:217
#: src/timeline/VideoComponent.qml:197
#, kde-format
msgid "Video"
msgstr "影片"
#: src/timeline/VideoComponent.qml:257
#: src/timeline/VideoComponent.qml:237
#, kde-format
msgctxt "@action:button"
msgid "Show Video"
msgstr "顯示影片"
#: src/timeline/VideoComponent.qml:298
#: src/timeline/VideoComponent.qml:278
#, kde-format
msgctxt "@action:button"
msgid "Volume"
msgstr "音量"
#: src/timeline/VideoComponent.qml:382
#: src/timeline/VideoComponent.qml:362
#, kde-format
msgid "Maximize"
msgstr "最大化"

View File

@@ -1,4 +1,4 @@
# SPDX-FileCopyrightText: 2024-2025 Scarlett Moore <sgmoore@kde.org>
# SPDX-FileCopyrightText: 2024 Scarlett Moore <sgmoore@kde.org>
#
# SPDX-License-Identifier: CC0-1.0
---
@@ -24,9 +24,6 @@ apps:
- network-manager-observe
- password-manager-service
- accounts-service
environment:
QT_PLUGIN_PATH: "$SNAP/usr/lib/$CRAFT_ARCH_TRIPLET/plugins/snap/kf6-core24/current/usr/lib/$CRAFT_ARCH_TRIPLET_BUILD_FOR/plugins"
QML_IMPORT_PATH: "$SNAP/usr/lib/$CRAFT_ARCH_TRIPLET_BUILD_FOR/qml:/snap/kf6-core24/current/usr/lib/$CRAFT_ARCH_TRIPLET_BUILD_FOR/qml"
compression: lzo
@@ -44,12 +41,11 @@ parts:
olm:
source: https://gitlab.matrix.org/matrix-org/olm.git
source-depth: 1
source-tag: '3.2.16'
source-tag: '3.2.12'
plugin: cmake
cmake-parameters:
- -DCMAKE_BUILD_TYPE=Release
- -DCMAKE_INSTALL_PREFIX=/usr
- -DCMAKE_POLICY_VERSION_MINIMUM=3.5
prime:
- -usr/include
- -usr/lib/*/pkgconfig
@@ -85,7 +81,8 @@ parts:
plugin: cmake
build-environment:
- PATH: /snap/bin:${PATH}
- PKG_CONFIG_PATH: "$CRAFT_STAGE/usr/lib/$CRAFT_ARCH_TRIPLET/pkgconfig:$PKG_CONFIG_PATH"
- PKG_CONFIG_PATH: "$CRAFT_STAGE/usr/lib/$CRAFT_ARCH_TRIPLET\
/pkgconfig:$PKG_CONFIG_PATH"
cmake-parameters:
- -DCMAKE_INSTALL_PREFIX=/usr
- -DCMAKE_BUILD_TYPE=Release
@@ -140,24 +137,11 @@ parts:
- -usr/lib/*/pkgconfig
- -usr/lib/*/cmake
kunifiedpush:
source: https://invent.kde.org/libraries/kunifiedpush.git
plugin: cmake
build-environment:
- PATH: /snap/bin:${PATH}
- PYTHONPATH: ${CRAFT_STAGE}/lib/python3.12/site-packages:${CRAFT_STAGE}/usr/lib/python3/dist-packages
- LD_LIBRARY_PATH: "/snap/mesa-2404/current/usr/lib/$CRAFT_ARCH_TRIPLET_BUILD_FOR:$CRAFT_STAGE/usr/lib/$CRAFT_ARCH_TRIPLET_BUILD_FOR:/snap/kde-qt6-core24-sdk/current/usr/lib/$CRAFT_ARCH_TRIPLET_BUILD_FOR/libproxy:$LD_LIBRARY_PATH"
cmake-parameters:
- -DCMAKE_INSTALL_PREFIX=/usr
- -DCMAKE_BUILD_TYPE=Release
- -DBUILD_TESTING=OFF
neochat:
after:
- qtkeychain
- libquotient
- kquickimageeditor
- kunifiedpush
parse-info:
- usr/share/metainfo/org.kde.neochat.appdata.xml
source: .

View File

@@ -196,6 +196,15 @@ add_library(neochat STATIC
models/pinnedmessagemodel.h
models/commonroomsmodel.cpp
models/commonroomsmodel.h
events/callencryptionkeysevent.h
events/callmemberevent.h
events/callnotifyevent.h
calls/callcontroller.cpp
calls/callcontroller.h
livekitlogmodel.cpp
livekitlogmodel.h
events/callmemberevent.cpp
events/callmemberevent.h
)
set_source_files_properties(qml/OsmLocationPlugin.qml PROPERTIES
@@ -296,6 +305,12 @@ ecm_add_qml_module(neochat URI org.kde.neochat GENERATE_PLUGIN_SOURCE
qml/HoverLinkIndicator.qml
qml/AvatarNotification.qml
qml/ReasonDialog.qml
qml/LivekitLogViewer.qml
qml/CallPage.qml
qml/IncomingCallDialog.qml
SOURCES
messageattached.cpp
messageattached.h
DEPENDENCIES
QtCore
QtQuick
@@ -404,7 +419,22 @@ else()
target_compile_definitions(neochat PUBLIC -DHAVE_X11=0)
endif()
target_include_directories(neochat PRIVATE ${CMAKE_BINARY_DIR} ${CMAKE_CURRENT_SOURCE_DIR}/models ${CMAKE_CURRENT_SOURCE_DIR}/enums)
qt_add_protobuf(neochat
GENERATE_PACKAGE_SUBFOLDERS
PROTO_FILES
protocols/ffi.proto
protocols/room.proto
protocols/e2ee.proto
protocols/audio_frame.proto
protocols/video_frame.proto
protocols/handle.proto
protocols/participant.proto
protocols/stats.proto
protocols/track.proto
protocols/rpc.proto
)
target_include_directories(neochat PRIVATE ${CMAKE_BINARY_DIR} ${CMAKE_CURRENT_SOURCE_DIR}/models ${CMAKE_CURRENT_SOURCE_DIR}/enums ${CMAKE_CURRENT_SOURCE_DIR}/calls)
target_link_libraries(neochat PRIVATE settingsplugin timelineplugin devtoolsplugin loginplugin chatbarplugin)
target_link_libraries(neochat PUBLIC
Qt::Core
@@ -414,6 +444,7 @@ target_link_libraries(neochat PUBLIC
Qt::Multimedia
Qt::Network
Qt::QuickControls2
Qt::Protobuf
KF6::I18n
KF6::Kirigami
KF6::Notifications
@@ -428,6 +459,7 @@ target_link_libraries(neochat PUBLIC
cmark::cmark
QCoro::Core
QCoro::Network
LiveKit
)
if (TARGET KF6::Crash)

0
src/calls/call.cpp Normal file
View File

74
src/calls/call.h Normal file
View File

@@ -0,0 +1,74 @@
// SPDX-FileCopyrightText: 2023 Tobias Fella <tobias.fella@kde.org>
// SPDX-License-Identifier: LGPL-2.0-or-later
#include <QAbstractListModel>
#include <QObject>
#include <QQmlEngine>
#include "neochatroom.h"
class Participant : public QObject
{
Q_OBJECT
void setVolume(float volume);
void muteLocally();
void unmuteLocally();
void ring(); // See MSC4075
// TODO: if these are possible; check livekit api
void muteGlobally();
void forceDisableCamera();
void forceDisableScreenShare();
void setPermissions();
void kick();
void ban();
Q_SIGNALS:
void muted();
void unmuted();
void cameraEnabled();
void cameraDisabled();
void screenShareEnabled();
void screenShareDisabled();
};
class Call : public QObject
{
Q_OBJECT
QML_ELEMENT
QML_UNCREATABLE("")
Q_PROPERTY(bool cameraEnabled READ cameraEnabled WRITE setCameraEnabled NOTIFY cameraEnabledChanged)
Q_PROPERTY(bool microphoneMuted READ microphoneMuted WRITE setMicrophoneMuted NOTIFY microphoneMutedChanged)
Q_PROPERTY(bool screenshareEnabled READ screenshareEnabled NOTIFY screenshareEnabledChanged)
Q_PROPERTY(NeoChatRoom *room READ room CONSTANT)
public:
explicit Call(NeoChatRoom *room, QObject *parent = nullptr);
Q_SIGNALS:
void participantJoined(const Participant &participant);
void participantLeft(const Participant &participant);
private:
QList<Participant *> m_participants;
};
class CallParticipantsModel : public QAbstractListModel
{
Q_OBJECT
public:
enum Roles {
NameRoleRole,
HasCameraRole,
HasScreenShareRole,
IsMutedRole,
};
Q_ENUM(Roles)
};

View File

@@ -0,0 +1,447 @@
// SPDX-FileCopyrightText: 2023 Tobias Fella <tobias.fella@kde.org>
// SPDX-License-Identifier: LGPL-2.0-or-later
#include "callcontroller.h"
#include <QAudioSink>
#include <QMediaDevices>
#include <QNetworkAccessManager>
#include <QNetworkReply>
#include <QProtobufSerializer>
#include <QVideoFrame>
#include <QVideoFrameFormat>
#include <QVideoSink>
#include <livekit_ffi.h>
#include <Quotient/csapi/openid.h>
#include "audio_frame.qpb.h"
#include "ffi.qpb.h"
#include "livekitlogmodel.h"
#include "neochatroom.h"
#include "track.qpb.h"
#include "video_frame.qpb.h"
using namespace livekit::proto;
using namespace Quotient;
extern "C" {
void livekit_ffi_initialize(void(ffiCallbackFn(const uint8_t *, size_t)), bool capture_logs, const char *, const char *);
}
void callback(const uint8_t *data, size_t length)
{
auto byteArrayData = QByteArray::fromRawData((const char *)data, length);
QProtobufSerializer serializer;
FfiEvent event;
event.deserialize(&serializer, byteArrayData);
CallController::instance().handleEvent(std::move(event));
}
CallController::CallController()
: QObject()
{
init();
}
void CallController::init()
{
// qRegisterProtobufTypes();
livekit_ffi_initialize(callback, true, "test", "1.0");
}
static void handleLog(const LogRecordRepeated &&logs)
{
for (const auto &log : logs) {
if (log.level() <= LogLevelGadget::LogLevel::LOG_WARN) {
qWarning() << log.message();
}
}
LivekitLogModel::instance().addMessages(logs);
}
void CallController::handleConnect(ConnectCallback &&callback)
{
qWarning() << "Connecting to" << callback.result().room().info().name() << "with id" << callback.asyncId();
if (!m_connectingRooms.contains(callback.asyncId()) || !m_connectingRooms[callback.asyncId()]
|| m_connectingRooms[callback.asyncId()]->id() != callback.result().room().info().name()) {
qWarning() << "Connecting to unexpected room";
return;
}
m_connectingRooms.remove(callback.asyncId());
m_rooms[callback.asyncId()] = callback.result().room();
localParticipant = callback.result().localParticipant().handle().id_proto();
Q_EMIT connected();
}
void CallController::handleDispose(DisposeCallback &&callback)
{
qWarning() << "Disposing" << callback.asyncId();
if (m_rooms.contains(callback.asyncId())) {
qWarning() << " room" << m_rooms[callback.asyncId()].info().name();
m_rooms.erase(callback.asyncId());
} else {
qWarning() << " unknown object";
}
}
void CallController::handleRoomEvent(livekit::proto::RoomEvent &&event)
{
if (event.hasParticipantConnected()) {
qWarning() << "Participant connected" << event.participantConnected().info().info().identity();
} else if (event.hasParticipantDisconnected()) {
qWarning() << "Participant connected" << event.participantDisconnected().participantIdentity();
} else if (event.hasLocalTrackPublished()) {
qWarning() << "Local track published";
m_localVideoTrackSid = event.localTrackPublished().trackSid();
} else if (event.hasLocalTrackUnpublished()) {
qWarning() << "Local track unpublished";
} else if (event.hasTrackPublished()) {
qWarning() << "Track published";
} else if (event.hasTrackUnpublished()) {
qWarning() << "Track unpublished";
} else if (event.hasTrackSubscribed()) {
qWarning() << "Track subscribed";
auto track = event.trackSubscribed().track();
if (track.info().kind() == TrackKindGadget::TrackKind::KIND_AUDIO) {
NewAudioStreamRequest audioStreamRequest;
audioStreamRequest.setTrackHandle(track.handle().id_proto());
FfiRequest request;
request.setNewAudioStream(audioStreamRequest);
QProtobufSerializer serializer;
auto data = request.serialize(&serializer);
const uint8_t *ret_data;
size_t size;
livekit_ffi_request((const uint8_t *)data.data(), data.length(), &ret_data, &size);
FfiResponse newResponse;
newResponse.deserialize(&serializer, QByteArray::fromRawData((const char *)ret_data, size));
} else if (track.info().kind() == TrackKindGadget::TrackKind::KIND_VIDEO) {
NewVideoStreamRequest videoStreamRequest;
videoStreamRequest.setTrackHandle((track.handle().id_proto()));
FfiRequest request;
request.setNewVideoStream(videoStreamRequest);
QProtobufSerializer serializer;
auto data = request.serialize(&serializer);
const uint8_t *ret_data;
size_t size;
livekit_ffi_request((const uint8_t *)data.data(), data.length(), &ret_data, &size);
FfiResponse newResponse;
newResponse.deserialize(&serializer, QByteArray::fromRawData((const char *)ret_data, size));
}
} else if (event.hasTrackUnsubscribed()) {
qWarning() << "Track unsubscribed";
} else if (event.hasTrackSubscriptionFailed()) {
qWarning() << "Track subscription failed";
} else if (event.hasTrackMuted()) {
qWarning() << "Track muted";
} else if (event.hasTrackUnmuted()) {
qWarning() << "Track unmuted";
} else if (event.hasActiveSpeakersChanged()) {
qWarning() << "Active speakers changed";
} else if (event.hasRoomMetadataChanged()) {
qWarning() << "room metadata changed";
} else if (event.hasParticipantMetadataChanged()) {
qWarning() << "participant metadata changed";
} else if (event.hasParticipantNameChanged()) {
qWarning() << "participant name changed";
} else if (event.hasConnectionQualityChanged()) {
qWarning() << "connection quality changed to" << event.connectionQualityChanged().quality();
} else if (event.hasDataPacketReceived()) {
qWarning() << "data received";
} else if (event.hasConnectionStateChanged()) {
qWarning() << "connection state changed";
} else if (event.hasDisconnected()) {
qWarning() << "disconnected";
} else if (event.hasReconnecting()) {
qWarning() << "reconnecting";
} else if (event.hasReconnected()) {
qWarning() << "Reconnected";
} else if (event.hasE2eeStateChanged()) {
qWarning() << "e2eeStateChanged";
} else if (event.hasEos()) {
qWarning() << "eos";
} else {
qWarning() << "Unknown room event";
}
}
void saveByteArray(const QByteArray &data, const QString &name)
{
QFile file(u"/home/tobias/"_s + name);
file.open(QFile::WriteOnly);
file.write(data);
file.close();
}
void CallController::handleEvent(FfiEvent &&event)
{
if (event.hasLogs()) {
handleLog(std::move(event.logs().records()));
} else if (event.hasRoomEvent()) {
handleRoomEvent(std::move(event.roomEvent()));
} else if (event.hasTrackEvent()) {
qWarning() << "track event";
} else if (event.hasVideoStreamEvent()) {
qWarning() << "video stream event";
auto video = event.videoStreamEvent();
auto info = video.frameReceived().buffer().info();
QByteArray data((const char *)info.dataPtr(), info.width() * info.height() * 1.5);
auto frame = QVideoFrame(QVideoFrameFormat(QSize(info.width(), info.height()), QVideoFrameFormat::Format_YUV420P));
frame.map(QVideoFrame::WriteOnly);
memcpy(frame.bits(0), data.constData(), data.size() / 3 * 2);
memcpy(frame.bits(1), data.constData() + data.size() / 3 * 2, data.size() / 6);
memcpy(frame.bits(2), data.constData() + data.size() / 3 * 2 + data.size() / 6, data.size() / 6);
qWarning() << frame.size() << data.toBase64();
frame.unmap();
m_sink->setVideoFrame(frame);
delete (char *)info.dataPtr();
} else if (event.hasAudioStreamEvent()) {
return; //TODO remove
static bool initialized = false;
if (!initialized) {
initialized = true;
QAudioFormat format;
format.setSampleRate(48000);
format.setChannelCount(2);
format.setSampleFormat(QAudioFormat::Int16);
QAudioDevice info(QMediaDevices::defaultAudioOutput());
if (!info.isFormatSupported(format)) {
qWarning() << "Audio format not supported";
Q_ASSERT(false);
return;
}
sink = new QAudioSink(format);
audioData = sink->start();
QProtobufSerializer serializer;
NewAudioResamplerRequest narr;
FfiRequest request;
request.setNewAudioResampler(narr);
auto data = request.serialize(&serializer);
const uint8_t *ret_data;
size_t size;
livekit_ffi_request((const uint8_t *)data.data(), data.length(), &ret_data, &size);
FfiResponse newResponse;
newResponse.deserialize(&serializer, QByteArray::fromRawData((const char *)ret_data, size));
resampler = newResponse.newAudioResampler().resampler().handle().id_proto();
}
if (event.audioStreamEvent().hasFrameReceived()) {
FfiRequest request;
RemixAndResampleRequest rarr;
rarr.setBuffer(event.audioStreamEvent().frameReceived().frame().info());
rarr.setNumChannels(2);
rarr.setSampleRate(48000);
rarr.setResamplerHandle(resampler);
request = FfiRequest();
request.setRemixAndResample(rarr);
static QProtobufSerializer serializer;
auto data = request.serialize(&serializer);
const uint8_t *ret_data;
size_t size;
livekit_ffi_request((const uint8_t *)data.data(), data.length(), &ret_data, &size);
FfiResponse response;
response.deserialize(&serializer, QByteArray::fromRawData((const char *)ret_data, size));
Q_ASSERT(response.hasRemixAndResample());
auto info = response.remixAndResample().buffer().info();
auto bytes = info.numChannels() * info.samplesPerChannel() * 2;
data = QByteArray::fromRawData((const char *)info.dataPtr(), bytes);
audioData->write(data);
}
} else if (event.hasConnect()) {
handleConnect(std::move(event.connect()));
} else if (event.hasDisconnect()) {
qWarning() << "disconnect";
} else if (event.hasDispose()) {
handleDispose(std::move(event.dispose()));
} else if (event.hasPublishTrack()) {
qWarning() << "publish track";
} else if (event.hasUnpublishTrack()) {
qWarning() << "unpublish track";
} else if (event.hasPublishData()) {
qWarning() << "publish data";
} else if (event.hasCaptureAudioFrame()) {
qWarning() << "audio frame";
} else if (event.hasGetStats()) {
qWarning() << "get stats";
} else if (event.hasGetSessionStats()) {
qWarning() << "get session stats";
} else if (event.hasPanic()) {
qWarning() << "panic";
} else {
qWarning() << event.messageField();
}
}
void CallController::handleCallMemberEvent(const Quotient::CallMemberEvent *event, NeoChatRoom *room)
{
qWarning() << event->fullJson();
Q_EMIT callStarted();
const auto connection = room->connection();
auto job = connection->callApi<RequestOpenIdTokenJob>(connection->userId());
connect(job, &BaseJob::finished, this, [this, room, job, connection, event]() {
auto nam = new QNetworkAccessManager;
auto json = QJsonDocument(QJsonObject{
{"room"_L1, room->id()},
{"openid_token"_L1,
QJsonObject{{"access_token"_L1, job->tokenData().accessToken},
{"token_type"_L1, job->tokenData().tokenType},
{"matrix_server_name"_L1, job->tokenData().matrixServerName}}},
{"device_id"_L1, connection->deviceId()},
})
.toJson();
// This is an old event!
if (!event->contentJson().contains("foci_preferred"_L1)) {
return;
}
QNetworkRequest request(QUrl((event->contentJson()["foci_preferred"_L1].toArray()[0]["livekit_service_url"_L1].toString() + "/sfu/get"_L1)));
request.setHeader(QNetworkRequest::ContentTypeHeader, "application/json"_L1);
auto reply = nam->post(request, json);
connect(reply, &QNetworkReply::finished, this, [reply, this, room]() {
auto json = QJsonDocument::fromJson(reply->readAll()).object();
FfiRequest message;
ConnectRequest connectRequest;
connectRequest.setUrl(json["url"_L1].toString());
connectRequest.setToken(json["jwt"_L1].toString());
message.setConnect(connectRequest);
QProtobufSerializer serializer;
auto data = message.serialize(&serializer);
size_t size;
const uint8_t *ret_data;
livekit_ffi_request((const uint8_t *)data.data(), data.length(), &ret_data, &size);
FfiResponse connectResponse;
connectResponse.deserialize(&serializer, QByteArray::fromRawData((const char *)ret_data, size));
if (!connectResponse.hasConnect()) {
qWarning() << "connectResponse has unexpected content" << connectResponse.messageField();
return;
}
m_connectingRooms[connectResponse.connect().asyncId()] = room;
});
});
}
FfiResponse request(FfiRequest &&request)
{
static QProtobufSerializer serializer;
auto data = request.serialize(&serializer);
size_t responseLength;
const char *responseData;
livekit_ffi_request((const uint8_t *)data.constData(), data.size(), (const uint8_t **)&responseData, &responseLength);
auto response = QByteArray::fromRawData(responseData, responseLength);
FfiResponse ffiResponse;
ffiResponse.deserialize(&serializer, response);
return ffiResponse;
}
void CallController::setCameraVideoSink(QVideoSink *videoSink)
{
m_cameraVideoSink = videoSink;
connect(videoSink, &QVideoSink::videoFrameChanged, this, [videoSink, this]() {
static bool initialized = false;
if (localParticipant == 100000) {
return; // TODO make less shitty
}
static QtProtobuf::uint64 handle;
if (!initialized) {
initialized = true;
NewVideoSourceRequest newVideoSourceRequest;
VideoSourceResolution resolution;
resolution.setHeight(videoSink->videoSize().height());
resolution.setWidth(videoSink->videoSize().width());
newVideoSourceRequest.setResolution(resolution);
newVideoSourceRequest.setType(VideoSourceTypeGadget::VideoSourceType::VIDEO_SOURCE_NATIVE);
FfiRequest ffiRequest;
ffiRequest.setNewVideoSource(newVideoSourceRequest);
auto response = request(std::move(ffiRequest));
handle = response.newVideoSource().source().handle().id_proto();
m_localVideoTrackHandle = handle;
CreateVideoTrackRequest createVideoTrackRequest;
createVideoTrackRequest.setName("Camera"_L1);
createVideoTrackRequest.setSourceHandle(handle);
FfiRequest request;
request.setCreateVideoTrack(createVideoTrackRequest);
auto createResponse = ::request(std::move(request));
m_localVideoTrackId = createResponse.createVideoTrack().track().handle().id_proto();
publishTrack(m_localVideoTrackId);
}
auto image = videoSink->videoFrame().toImage();
image.convertTo(QImage::Format_RGB888);
CaptureVideoFrameRequest request;
VideoBufferInfo buffer;
buffer.setType(VideoBufferTypeGadget::VideoBufferType::RGB24);
buffer.setWidth(image.width());
buffer.setHeight(image.height());
buffer.setDataPtr((QtProtobuf::uint64)image.bits());
buffer.setStride(image.bytesPerLine());
QList<VideoBufferInfo_QtProtobufNested::ComponentInfo> components;
VideoBufferInfo_QtProtobufNested::ComponentInfo componentInfo;
componentInfo.setStride(image.bytesPerLine());
componentInfo.setDataPtr((QtProtobuf::uint64)image.bits());
componentInfo.setSize(image.sizeInBytes());
components += componentInfo;
buffer.setComponents(components);
request.setBuffer(buffer);
request.setSourceHandle(handle);
request.setTimestampUs(QDateTime::currentMSecsSinceEpoch() * 1000);
request.setRotation(VideoRotationGadget::VideoRotation::VIDEO_ROTATION_0);
FfiRequest ffiRequest;
ffiRequest.setCaptureVideoFrame(request);
auto response = ::request(std::move(ffiRequest));
});
}
void CallController::setVideoSink(QObject *sink)
{
m_sink = dynamic_cast<QVideoSink *>(sink);
}
void LivekitVideoSink::setVideoSink(QVideoSink *videoSink)
{
m_videoSink = videoSink;
CallController::instance().setVideoSink(videoSink);
Q_EMIT videoSinkChanged();
}
QVideoSink *LivekitVideoSink::videoSink() const
{
return m_videoSink;
}
void CallController::toggleCamera()
{
if (m_localVideoTrackSid.isEmpty()) {
publishTrack(m_localVideoTrackId);
} else {
FfiRequest request;
UnpublishTrackRequest unpublishRequest;
unpublishRequest.setLocalParticipantHandle(localParticipant);
unpublishRequest.setTrackSid(m_localVideoTrackSid);
request.setUnpublishTrack(unpublishRequest);
auto response = ::request(std::move(request));
m_localVideoTrackSid = QString();
}
}
void CallController::publishTrack(uint64_t id)
{
PublishTrackRequest publishTrackRequest;
publishTrackRequest.setTrackHandle(id);
publishTrackRequest.setLocalParticipantHandle(localParticipant);
TrackPublishOptions options;
options.setSource(TrackSourceGadget::TrackSource::SOURCE_CAMERA);
options.setVideoCodec(VideoCodecGadget::VideoCodec::VP8);
publishTrackRequest.setOptions(options);
auto request = FfiRequest();
request.setPublishTrack(publishTrackRequest);
auto publishResponse = ::request(std::move(request));
}

View File

@@ -0,0 +1,97 @@
// SPDX-FileCopyrightText: 2023 Tobias Fella <tobias.fella@kde.org>
// SPDX-License-Identifier: LGPL-2.0-or-later
#pragma once
#include <QObject>
#include <QQmlEngine>
#include <QVideoSink>
#include "events/callmemberevent.h"
#include "room.qpb.h"
namespace livekit::proto
{
class FfiEvent;
class ConnectCallback;
class DisposeCallback;
class RoomEvent;
}
class LivekitMediaPlayer;
class NeoChatRoom;
class QAudioSink;
class CallController : public QObject
{
Q_OBJECT
QML_ELEMENT
QML_SINGLETON
public:
static CallController &instance()
{
static CallController _instance;
return _instance;
}
static CallController *create(QQmlEngine *, QJSEngine *)
{
QQmlEngine::setObjectOwnership(&instance(), QQmlEngine::CppOwnership);
return &instance();
}
void handleCallMemberEvent(const Quotient::CallMemberEvent *event, NeoChatRoom *room);
// Internal. Do not use.
void handleEvent(livekit::proto::FfiEvent &&event);
Q_INVOKABLE void setVideoSink(QObject *sink);
Q_INVOKABLE void setCameraVideoSink(QVideoSink *videoSink);
Q_INVOKABLE void toggleCamera();
Q_SIGNALS:
void callStarted();
void connected();
private:
CallController();
void init();
QMap<uint64_t, QPointer<NeoChatRoom>> m_connectingRooms;
std::map<uint64_t, livekit::proto::OwnedRoom> m_rooms;
void handleConnect(livekit::proto::ConnectCallback &&callback);
void handleDispose(livekit::proto::DisposeCallback &&callback);
void handleRoomEvent(livekit::proto::RoomEvent &&event);
void publishTrack(uint64_t id);
QIODevice *audioData = nullptr;
QAudioSink *sink;
QVideoSink *m_sink;
uint64_t resampler;
QVideoSink *m_cameraVideoSink = nullptr;
uint64_t localParticipant = 100000;
QString m_localVideoTrackSid;
uint64_t m_localVideoTrackId;
uint64_t m_localVideoTrackHandle;
};
class LivekitVideoSink : public QObject
{
Q_OBJECT
QML_ELEMENT
public:
Q_PROPERTY(QVideoSink *videoSink READ videoSink WRITE setVideoSink NOTIFY videoSinkChanged REQUIRED)
using QObject::QObject;
void setVideoSink(QVideoSink *videoSink);
QVideoSink *videoSink() const;
Q_SIGNALS:
void videoSinkChanged();
private:
QVideoSink *m_videoSink = nullptr;
};

View File

View File

View File

0
src/calls/participant.h Normal file
View File

View File

@@ -349,7 +349,7 @@ QQC2.Control {
replyEventId: _private.chatBarCache.replyId
replyAuthor: _private.chatBarCache.relationAuthor
replyContentModel: _private.chatBarCache.relationEventContentModel
maxContentWidth: paneLoader.item.width
Message.maxContentWidth: paneLoader.item.width
}
QQC2.Button {
id: cancelButton

View File

@@ -45,6 +45,8 @@ bool testMode = false;
using namespace Quotient;
Controller::Controller(QObject *parent)
: QObject(parent)
{
@@ -132,6 +134,7 @@ Controller::Controller(QObject *parent)
m_endpoint = connector->endpoint();
#endif
}
Controller &Controller::instance()

View File

@@ -7,5 +7,5 @@
using namespace Qt::StringLiterals;
QMultiHash<QString, QVariant> EmojiTones::_tones = {
#include "emojitones_data.h"
//#include "emojitones_data.h"
};

View File

@@ -0,0 +1,20 @@
// SPDX-FileCopyrightText: 2024 Tobias Fella <tobias.fella@kde.org>
// SPDX-License-Identifier: LGPL-2.1-or-later
#pragma once
#include <Quotient/events/roomevent.h>
namespace Quotient
{
class CallEncryptionKeysEvent : public RoomEvent
{
public:
QUO_EVENT(CallEncryptionKeysEvent, "io.element.call.encryption_keys");
explicit CallEncryptionKeysEvent(const QJsonObject &obj)
: RoomEvent(obj)
{
}
};
}

View File

@@ -0,0 +1,38 @@
// SPDX-FileCopyrightText: 2024 Tobias Fella <tobias.fella@kde.org>
// SPDX-License-Identifier: LGPL-2.0-or-later
#include "callmemberevent.h"
#include <QString>
using namespace Quotient;
using namespace Qt::Literals::StringLiterals;
CallMemberEventContent::CallMemberEventContent(const QJsonObject &json)
{
for (const auto &membership : json["memberships"_L1].toArray()) {
QList<Focus> foci;
for (const auto &focus : membership["foci_active"_L1].toArray()) {
foci.append(Focus{
.livekitAlias = focus["livekit_alias"_L1].toString(),
.livekitServiceUrl = focus["livekit_service_url"_L1].toString(),
.type = focus["livekit"_L1].toString(),
});
}
memberships.append(CallMembership{
.application = membership["application"_L1].toString(),
.callId = membership["call_id"_L1].toString(),
.deviceId = membership["device_id"_L1].toString(),
.expires = membership["expires"_L1].toInt(),
.expiresTs = membership["expires"_L1].toVariant().value<uint64_t>(),
.fociActive = foci,
.membershipId = membership["membershipID"_L1].toString(),
.scope = membership["scope"_L1].toString(),
});
}
}
QJsonObject CallMemberEventContent::toJson() const
{
return {};
}

View File

@@ -0,0 +1,59 @@
// SPDX-FileCopyrightText: 2024 Tobias Fella <tobias.fella@kde.org>
// SPDX-License-Identifier: LGPL-2.1-or-later
#pragma once
#include <Quotient/events/stateevent.h>
namespace Quotient
{
struct Focus {
QString livekitAlias;
QString livekitServiceUrl;
QString type;
};
struct CallMembership {
QString application;
QString callId;
QString deviceId;
int expires;
uint64_t expiresTs;
QList<Focus> fociActive;
QString membershipId;
QString scope;
};
class CallMemberEventContent
{
public:
explicit CallMemberEventContent(const QJsonObject &json);
QJsonObject toJson() const;
QList<CallMembership> memberships;
};
/**
* @class CallMemberEvent
*
* Class to define a call member event.
*
* @sa Quotient::StateEvent
*/
class CallMemberEvent : public KeyedStateEventBase<CallMemberEvent, CallMemberEventContent>
{
public:
QUO_EVENT(CallMemberEvent, "org.matrix.msc3401.call.member")
explicit CallMemberEvent(const QJsonObject &obj)
: KeyedStateEventBase(obj)
{
}
QJsonArray memberships() const
{
return contentJson()[u"memberships"_s].toArray();
}
};
}

View File

@@ -0,0 +1,16 @@
// SPDX-FileCopyrightText: 2024 Tobias Fella <tobias.fella@kde.org>
// SPDX-License-Identifier: LGPL-2.1-or-later
#pragma once
#include <Quotient/events/roomevent.h>
namespace Quotient
{
class CallNotifyEvent : public RoomEvent
{
public:
QUO_EVENT(CallNotifyEvent, "org.matrix.msc4075.call.notify");
explicit CallNotifyEvent(const QJsonObject &obj);
};

39
src/livekitlogmodel.cpp Normal file
View File

@@ -0,0 +1,39 @@
// SPDX-FileCopyrightText: 2023 Tobias Fella <tobias.fella@kde.org>
// SPDX-License-Identifier: LGPL-2.0-or-later
#include "livekitlogmodel.h"
using namespace livekit::proto;
QVariant LivekitLogModel::data(const QModelIndex &index, int role) const
{
const auto &message = m_messages[index.row()];
if (role == MessageRole) {
return message.message();
}
return {};
}
int LivekitLogModel::rowCount(const QModelIndex &parent) const
{
Q_UNUSED(parent);
return m_messages.size();
}
QHash<int, QByteArray> LivekitLogModel::roleNames() const
{
return {
{MessageRole, "message"},
};
}
void LivekitLogModel::addMessages(livekit::proto::LogRecordRepeated messages)
{
for (const auto &message : messages) {
// if (message.level() < 3) {
beginInsertRows({}, m_messages.size(), m_messages.size() + 1);
m_messages += message;
endInsertRows();
// }
}
}

61
src/livekitlogmodel.h Normal file
View File

@@ -0,0 +1,61 @@
// SPDX-FileCopyrightText: 2023 Tobias Fella <tobias.fella@kde.org>
// SPDX-License-Identifier: LGPL-2.0-or-later
#pragma once
#include <QAbstractListModel>
#include <QQmlEngine>
#include <QList>
#include "ffi.qpb.h"
class LivekitLogModel : public QAbstractListModel
{
Q_OBJECT
QML_ELEMENT
QML_SINGLETON
public:
static LivekitLogModel &instance() {
static LivekitLogModel _instance;
return _instance;
}
static LivekitLogModel *create(QQmlEngine *, QJSEngine *) {
QQmlEngine::setObjectOwnership(&instance(), QQmlEngine::CppOwnership);
return &instance();
}
/**
* @brief Defines the model roles.
*/
enum Roles {
MessageRole = Qt::DisplayRole,
};
/**
* @brief Get the given role value at the given index.
*
* @sa QAbstractItemModel::data
*/
[[nodiscard]] QVariant data(const QModelIndex &index, int role) 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 Roles, QAbstractItemModel::roleNames()
*/
[[nodiscard]] QHash<int, QByteArray> roleNames() const override;
void addMessages(livekit::proto::LogRecordRepeated messages);
private:
livekit::proto::LogRecordRepeated m_messages;
LivekitLogModel() = default;
};

View File

@@ -1,11 +1,141 @@
// SPDX-FileCopyrightText: 2023 Tobias Fella <tobias.fella@kde.org>
// SPDX-FileCopyrightText: 2024 Tobias Fella <tobias.fella@kde.org>
// SPDX-License-Identifier: LGPL-2.0-or-later
#include "mediamanager.h"
#include <QDirIterator>
#include <QMimeDatabase>
#include <Quotient/qt_connection_util.h>
#include "events/callmemberevent.h"
#include "neochatroom.h"
using namespace Qt::Literals::StringLiterals;
using namespace Quotient;
void MediaManager::startPlayback()
{
Q_EMIT playbackStarted();
}
#include "moc_mediamanager.cpp"
void MediaManager::ring(const QJsonObject &json, NeoChatRoom *room)
{
qWarning() << "start check ring";
// todo: check sender != us
if (json["content"_L1]["application"_L1].toString() != "m.call"_L1) {
qWarning() << "not m.call";
return;
}
qWarning() << json;
if (!json["content"_L1]["m.mentions"_L1]["room"_L1].toBool() || json[u"sender"_s].toString() == room->connection()->userId()) {
bool mentioned = false;
for (const auto &user : json["content"_L1]["m.mentions"_L1]["user_ids"_L1].toArray()) {
if (user.toString() == room->connection()->userId()) {
mentioned = true;
break;
}
}
if (!mentioned) {
qWarning() << "not mentioned";
return;
}
}
if (json["content"_L1]["notify_type"_L1].toString() != "ring"_L1) {
qWarning() << "not ring";
return;
}
if (room->pushNotificationState() == PushNotificationState::Mute) {
qWarning() << "mute";
return;
}
if (isRinging()) {
qWarning() << "already ringing";
return;
}
if (const auto &event = room->currentState().get<CallMemberEvent>(room->connection()->userId())) {
if (event) {
auto memberships = event->contentJson()["memberships"_L1].toArray();
for (const auto &m : memberships) {
const auto &membership = m.toObject();
if (membership["application"_L1] == "m.call"_L1 && membership["call_id"_L1].toString().isEmpty()) {
qWarning() << "already in a call";
return;
}
}
}
}
connectUntil(room, &NeoChatRoom::changed, this, [this, room]() {
if (const auto &event = room->currentState().get<CallMemberEvent>(room->connection()->userId())) {
if (event) {
auto memberships = event->contentJson()["memberships"_L1].toArray();
for (const auto &m : memberships) {
const auto &membership = m.toObject();
if (membership["application"_L1] == "m.call"_L1 && membership["call_id"_L1].toString().isEmpty()) {
qWarning() << "stopping";
stopRinging();
return true;
}
}
}
}
return false;
});
if (json["unsigned"_L1]["age"_L1].toInt() > 10000) {
qWarning() << "too old";
return;
}
ringUnchecked();
}
void MediaManager::ringUnchecked()
{
qWarning() << "ring";
static QString path;
if (path.isEmpty()) {
for (const auto &dir : QString::fromUtf8(qgetenv("XDG_DATA_DIRS")).split(u':')) {
if (QFileInfo(dir + QStringLiteral("/sounds/freedesktop/stereo/phone-incoming-call.oga")).exists()) {
path = dir + QStringLiteral("/sounds/freedesktop/stereo/phone-incoming-call.oga");
break;
}
}
}
if (path.isEmpty()) {
return;
}
m_player->setSource(QUrl::fromLocalFile(path));
m_player->play();
Q_EMIT showIncomingCallDialog();
}
MediaManager::MediaManager(QObject *parent)
: QObject(parent)
, m_player(new QMediaPlayer())
, m_output(new QAudioOutput())
, m_timer(new QTimer())
{
m_player->setAudioOutput(m_output);
m_timer->setInterval(1000);
m_timer->setSingleShot(true);
connect(m_timer, &QTimer::timeout, this, [this]() {
m_player->play();
});
connect(m_player, &QMediaPlayer::playbackStateChanged, this, [this]() {
if (m_player->playbackState() == QMediaPlayer::StoppedState) {
m_timer->start();
}
});
}
bool MediaManager::isRinging() const
{
return m_ringing;
}
void MediaManager::stopRinging()
{
m_ringing = false;
m_player->pause();
m_timer->stop();
//Q_EMIT stopRinging();
}

View File

@@ -3,8 +3,13 @@
#pragma once
#include <QAudioOutput>
#include <QMediaPlayer>
#include <QObject>
#include <QQmlEngine>
#include <QTimer>
class NeoChatRoom;
/**
* @class MediaManager
@@ -34,9 +39,29 @@ public:
*/
Q_INVOKABLE void startPlayback();
/**
* Starts ringing if the criteria (see MSC / spec) are met.
*/
void ring(const QJsonObject &json, NeoChatRoom *room);
bool isRinging() const;
Q_SIGNALS:
/**
* @brief Emitted when any media player starts playing. Other objects should stop / pause playback.
*/
void playbackStarted();
void showIncomingCallDialog();
void closeIncomingCallDialog();
private:
void ringUnchecked();
void stopRinging();
QMediaPlayer *m_player;
QAudioOutput *m_output;
QTimer *m_timer;
bool m_ringing = false;
explicit MediaManager(QObject *parent = nullptr);
};

126
src/messageattached.cpp Normal file
View File

@@ -0,0 +1,126 @@
// SPDX-FileCopyrightText: 2025 James Graham <james.h.graham@protonmail.com>
// SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL
#include "messageattached.h"
MessageAttached::MessageAttached(QObject *parent)
: QQuickAttachedPropertyPropagator(parent)
{
if (parent == nullptr) {
qWarning() << "Message must be attached to an Item" << parent;
return;
}
initialize();
}
MessageAttached *MessageAttached::qmlAttachedProperties(QObject *object)
{
return new MessageAttached(object);
}
NeoChatRoom *MessageAttached::room() const
{
return m_room;
}
void MessageAttached::setRoom(NeoChatRoom *room)
{
m_explicitRoom = true;
if (m_room == room) {
return;
}
m_room = room;
propagateMessage(this);
Q_EMIT roomChanged();
}
QQuickItem *MessageAttached::timeline() const
{
return m_timeline;
}
void MessageAttached::setTimeline(QQuickItem *timeline)
{
m_explicitTimeline = true;
if (m_timeline == timeline) {
return;
}
m_timeline = timeline;
propagateMessage(this);
Q_EMIT timelineChanged();
}
int MessageAttached::index() const
{
return m_index;
}
void MessageAttached::setIndex(int index)
{
m_explicitIndex = true;
if (m_index == index) {
return;
}
m_index = index;
propagateMessage(this);
Q_EMIT indexChanged();
}
qreal MessageAttached::maxContentWidth() const
{
return m_maxContentWidth;
}
void MessageAttached::setMaxContentWidth(qreal maxContentWidth)
{
m_explicitMaxContentWidth = true;
if (m_maxContentWidth == maxContentWidth) {
return;
}
m_maxContentWidth = maxContentWidth;
propagateMessage(this);
Q_EMIT maxContentWidthChanged();
}
void MessageAttached::propagateMessage(MessageAttached *message)
{
if (m_explicitRoom || m_room != message->room()) {
m_room = message->room();
Q_EMIT roomChanged();
}
if (m_explicitTimeline || m_timeline != message->timeline()) {
m_timeline = message->timeline();
Q_EMIT timelineChanged();
}
if (m_explicitIndex || m_index != message->index()) {
m_index = message->index();
Q_EMIT indexChanged();
}
if (m_explicitMaxContentWidth || m_maxContentWidth != message->maxContentWidth()) {
m_maxContentWidth = message->maxContentWidth();
Q_EMIT maxContentWidthChanged();
}
const auto styles = attachedChildren();
for (auto *child : attachedChildren()) {
MessageAttached *message = qobject_cast<MessageAttached *>(child);
if (message != nullptr) {
message->propagateMessage(this);
}
}
}
void MessageAttached::attachedParentChange(QQuickAttachedPropertyPropagator *newParent, QQuickAttachedPropertyPropagator *oldParent)
{
Q_UNUSED(oldParent);
MessageAttached *attachedParent = qobject_cast<MessageAttached *>(newParent);
if (attachedParent) {
propagateMessage(attachedParent);
}
}
#include "moc_messageattached.cpp"

78
src/messageattached.h Normal file
View File

@@ -0,0 +1,78 @@
// SPDX-FileCopyrightText: 2025 James Graham <james.h.graham@protonmail.com>
// SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL
#pragma once
#include <QQmlEngine>
#include <QQuickAttachedPropertyPropagator>
#include <QQuickItem>
#include "neochatroom.h"
class MessageAttached : public QQuickAttachedPropertyPropagator
{
Q_OBJECT
QML_NAMED_ELEMENT(Message)
QML_ATTACHED(MessageAttached)
QML_UNCREATABLE("")
/**
* @brief The room that the message comes from.
*/
Q_PROPERTY(NeoChatRoom *room READ room WRITE setRoom NOTIFY roomChanged FINAL)
/**
* @brief The timeline for the current message.
*/
Q_PROPERTY(QQuickItem *timeline READ timeline WRITE setTimeline NOTIFY timelineChanged FINAL)
/**
* @brief The index of the message in the timeline
*/
Q_PROPERTY(int index READ index WRITE setIndex NOTIFY indexChanged FINAL)
/**
* @brief The width available to the message content.
*/
Q_PROPERTY(qreal maxContentWidth READ maxContentWidth WRITE setMaxContentWidth NOTIFY maxContentWidthChanged FINAL)
public:
explicit MessageAttached(QObject *parent = nullptr);
static MessageAttached *qmlAttachedProperties(QObject *object);
NeoChatRoom *room() const;
void setRoom(NeoChatRoom *room);
QQuickItem *timeline() const;
void setTimeline(QQuickItem *timeline);
int index() const;
void setIndex(int index);
qreal maxContentWidth() const;
void setMaxContentWidth(qreal maxContentWidth);
Q_SIGNALS:
void roomChanged();
void timelineChanged();
void indexChanged();
void maxContentWidthChanged();
protected:
void propagateMessage(MessageAttached *message);
void attachedParentChange(QQuickAttachedPropertyPropagator *newParent, QQuickAttachedPropertyPropagator *oldParent) override;
private:
QPointer<NeoChatRoom> m_room;
bool m_explicitRoom = false;
QPointer<QQuickItem> m_timeline;
bool m_explicitTimeline = false;
int m_index;
bool m_explicitIndex = false;
qreal m_maxContentWidth = -1;
bool m_explicitMaxContentWidth = false;
};

View File

@@ -505,6 +505,19 @@ QList<ActionsModel::Action> actions{
kli18n("<user id> [<reason>]"),
kli18n("Removes the user from the room"),
},
Action{
QStringLiteral("endcall"),
[](const QString &text, NeoChatRoom *room, ChatBarCache *) {
auto events = room->currentState().eventsOfType(QStringLiteral("org.matrix.msc3401.call.member"));
for (auto event : events) {
room->setRoomState(QStringLiteral("org.matrix.msc3401.call.member"), event->stateKey(), {});
}
return QString();
},
std::nullopt,
kli18n(""),
kli18n("Forcibly end the call in this room"),
},
};
int ActionsModel::rowCount(const QModelIndex &parent) const

View File

@@ -20,7 +20,7 @@ EmojiModel::EmojiModel(QObject *parent)
, m_configGroup(KConfigGroup(m_config, u"Editor"_s))
{
if (_emojis.isEmpty()) {
#include "emojis.h"
//#include "emojis.h"
}
}

View File

@@ -13,13 +13,35 @@
using namespace Qt::StringLiterals;
ThreePIdModel::ThreePIdModel(NeoChatConnection *connection)
: QAbstractListModel(connection)
ThreePIdModel::ThreePIdModel(QObject *parent)
: QAbstractListModel(parent)
{
Q_ASSERT(connection);
connect(connection, &NeoChatConnection::stateChanged, this, [this]() {
}
NeoChatConnection *ThreePIdModel::connection() const
{
return m_connection;
}
void ThreePIdModel::setConnection(NeoChatConnection *connection)
{
if (m_connection == connection) {
return;
}
if (m_connection != nullptr) {
m_connection->disconnect(this);
}
m_connection = connection;
if (m_connection) {
connect(m_connection, &NeoChatConnection::stateChanged, this, [this]() {
refreshModel();
});
refreshModel();
});
}
Q_EMIT connectionChanged();
}
QVariant ThreePIdModel::data(const QModelIndex &index, int role) const
@@ -62,12 +84,14 @@ QHash<int, QByteArray> ThreePIdModel::roleNames() const
void ThreePIdModel::refreshModel()
{
const auto connection = dynamic_cast<NeoChatConnection *>(this->parent());
if (connection != nullptr && connection->isLoggedIn()) {
const auto threePIdJob = connection->callApi<Quotient::GetAccount3PIDsJob>();
connect(threePIdJob, &Quotient::BaseJob::success, this, [this, threePIdJob]() {
if (m_connection != nullptr && m_connection->isLoggedIn()) {
if (m_job.isRunning()) {
m_job.cancel();
}
m_job = m_connection->callApi<Quotient::GetAccount3PIDsJob>();
connect(m_job, &Quotient::BaseJob::success, this, [this]() {
beginResetModel();
m_threePIds = threePIdJob->threepids();
m_threePIds = m_job->threepids();
endResetModel();
refreshBindStatus();
@@ -77,25 +101,24 @@ void ThreePIdModel::refreshModel()
void ThreePIdModel::refreshBindStatus()
{
const auto connection = dynamic_cast<NeoChatConnection *>(this->parent());
if (connection == nullptr || !connection->hasIdentityServer()) {
if (m_connection == nullptr || !m_connection->hasIdentityServer()) {
return;
}
const auto openIdJob = connection->callApi<Quotient::RequestOpenIdTokenJob>(connection->userId());
connect(openIdJob, &Quotient::BaseJob::success, this, [this, connection, openIdJob]() {
const auto requestUrl = QUrl(connection->identityServer().toString() + u"/_matrix/identity/v2/account/register"_s);
const auto openIdJob = m_connection->callApi<Quotient::RequestOpenIdTokenJob>(m_connection->userId());
connect(openIdJob, &Quotient::BaseJob::success, this, [this, openIdJob]() {
const auto requestUrl = QUrl(m_connection->identityServer().toString() + u"/_matrix/identity/v2/account/register"_s);
if (!(requestUrl.scheme() == u"https"_s || requestUrl.scheme() == u"http"_s)) {
return;
}
QNetworkRequest request(requestUrl);
auto newRequest = Quotient::NetworkAccessManager::instance()->post(request, QJsonDocument(openIdJob->jsonData()).toJson());
connect(newRequest, &QNetworkReply::finished, this, [this, connection, newRequest]() {
connect(newRequest, &QNetworkReply::finished, this, [this, newRequest]() {
QJsonObject replyJson = QJsonDocument::fromJson(newRequest->readAll()).object();
const auto identityServerToken = replyJson["token"_L1].toString();
const auto requestUrl = QUrl(connection->identityServer().toString() + u"/_matrix/identity/v2/hash_details"_s);
const auto requestUrl = QUrl(m_connection->identityServer().toString() + u"/_matrix/identity/v2/hash_details"_s);
if (!(requestUrl.scheme() == u"https"_s || requestUrl.scheme() == u"http"_s)) {
return;
}
@@ -104,11 +127,11 @@ void ThreePIdModel::refreshBindStatus()
hashRequest.setRawHeader("Authorization", "Bearer " + identityServerToken.toLatin1());
auto hashReply = Quotient::NetworkAccessManager::instance()->get(hashRequest);
connect(hashReply, &QNetworkReply::finished, this, [this, connection, identityServerToken, hashReply]() {
connect(hashReply, &QNetworkReply::finished, this, [this, identityServerToken, hashReply]() {
QJsonObject replyJson = QJsonDocument::fromJson(hashReply->readAll()).object();
const auto lookupPepper = replyJson["lookup_pepper"_L1].toString();
const auto requestUrl = QUrl(connection->identityServer().toString() + u"/_matrix/identity/v2/lookup"_s);
const auto requestUrl = QUrl(m_connection->identityServer().toString() + u"/_matrix/identity/v2/lookup"_s);
if (!(requestUrl.scheme() == u"https"_s || requestUrl.scheme() == u"http"_s)) {
return;
}
@@ -127,13 +150,13 @@ void ThreePIdModel::refreshBindStatus()
requestData["addresses"_L1] = idLookups;
auto lookupReply = Quotient::NetworkAccessManager::instance()->post(lookupRequest, QJsonDocument(requestData).toJson(QJsonDocument::Compact));
connect(lookupReply, &QNetworkReply::finished, this, [this, connection, lookupReply]() {
connect(lookupReply, &QNetworkReply::finished, this, [this, lookupReply]() {
beginResetModel();
m_bindings.clear();
QJsonObject mappings = QJsonDocument::fromJson(lookupReply->readAll()).object()["mappings"_L1].toObject();
for (const auto &id : mappings.keys()) {
if (mappings[id] == connection->userId()) {
if (mappings[id] == m_connection->userId()) {
m_bindings += id.section(u' ', 0, 0);
}
}

View File

@@ -7,6 +7,7 @@
#include <QQmlEngine>
#include <Quotient/csapi/administrative_contact.h>
#include <Quotient/jobs/jobhandle.h>
class NeoChatConnection;
@@ -19,19 +20,27 @@ class ThreePIdModel : public QAbstractListModel
{
Q_OBJECT
QML_ELEMENT
QML_UNCREATABLE("")
/**
* @brief The current connection for the model to use.
*/
Q_PROPERTY(NeoChatConnection *connection READ connection WRITE setConnection NOTIFY connectionChanged)
public:
/**
* @brief Defines the model roles.
*/
enum EventRoles {
enum Roles {
AddressRole = Qt::DisplayRole, /**< The third-party identifier address. */
MediumRole, /**< The medium of the third-party identifier. One of: [email, msisdn]. */
IsBoundRole, /**< Whether the 3PID is bound to the current identity server. */
};
Q_ENUM(Roles)
explicit ThreePIdModel(NeoChatConnection *parent);
explicit ThreePIdModel(QObject *parent = nullptr);
[[nodiscard]] NeoChatConnection *connection() const;
void setConnection(NeoChatConnection *connection);
/**
* @brief Get the given role value at the given index.
@@ -56,9 +65,15 @@ public:
Q_INVOKABLE void refreshModel();
Q_SIGNALS:
void connectionChanged();
private:
QPointer<NeoChatConnection> m_connection;
QVector<Quotient::GetAccount3PIDsJob::ThirdPartyIdentifier> m_threePIds;
Quotient::JobHandle<Quotient::GetAccount3PIDsJob> m_job;
QList<QString> m_bindings;
void refreshBindStatus();

View File

@@ -290,7 +290,6 @@ Name[hu]=Megosztás
Name[ia]=Comparti
Name[it]=Condivisione
Name[ka]=გაზიარება
Name[ko]=공유
Name[lv]=Kopīgot
Name[nl]=Gedeelde
Name[nn]=Del
@@ -325,7 +324,6 @@ Comment[hu]=Tartalom megosztásának eredménye
Comment[ia]=Le exito de compartir un pecietta de contento
Comment[it]=Il risultato della condivisione di un contenuto
Comment[ka]=შემცველობის ნაწილის გაზიარების შედეგი
Comment[ko]=콘텐츠 공유 결과
Comment[lv]=Satura kopīgošanas rezultāts
Comment[nl]=Het resultaat van het delen van een stukje inhoud
Comment[nn]=Resultatet av deling av innhald

View File

@@ -37,7 +37,6 @@ using namespace Qt::StringLiterals;
NeoChatConnection::NeoChatConnection(QObject *parent)
: Connection(parent)
, m_threePIdModel(new ThreePIdModel(this))
{
m_linkPreviewers.setMaxCost(20);
connectSignals();
@@ -45,7 +44,6 @@ NeoChatConnection::NeoChatConnection(QObject *parent)
NeoChatConnection::NeoChatConnection(const QUrl &server, QObject *parent)
: Connection(server, parent)
, m_threePIdModel(new ThreePIdModel(this))
{
m_linkPreviewers.setMaxCost(20);
connectSignals();
@@ -299,11 +297,6 @@ void NeoChatConnection::deactivateAccount(const QString &password, const bool er
});
}
ThreePIdModel *NeoChatConnection::threePIdModel() const
{
return m_threePIdModel;
}
bool NeoChatConnection::hasIdentityServer() const
{
if (!hasAccountData(u"m.identity_server"_s)) {

View File

@@ -14,7 +14,6 @@
#include "enums/messagetype.h"
#include "linkpreviewer.h"
#include "models/threepidmodel.h"
class NeoChatConnection : public Quotient::Connection
{
@@ -37,11 +36,6 @@ class NeoChatConnection : public Quotient::Connection
*/
Q_PROPERTY(bool globalUrlPreviewEnabled READ globalUrlPreviewEnabled WRITE setGlobalUrlPreviewEnabled NOTIFY globalUrlPreviewEnabledChanged)
/**
* @brief The model with the account's 3PIDs.
*/
Q_PROPERTY(ThreePIdModel *threePIdModel READ threePIdModel CONSTANT)
/**
* @brief Whether an identity server is configured.
*/
@@ -144,8 +138,6 @@ public:
Q_INVOKABLE void deactivateAccount(const QString &password, bool erase);
ThreePIdModel *threePIdModel() const;
bool hasIdentityServer() const;
/**
@@ -234,8 +226,6 @@ private:
bool m_isOnline = true;
void setIsOnline(bool isOnline);
ThreePIdModel *m_threePIdModel;
void connectSignals();
int m_badgeNotificationCount = 0;

View File

@@ -8,6 +8,7 @@
#include <QMediaPlayer>
#include <QMimeDatabase>
#include <QTemporaryFile>
#include <QProtobufSerializer>
#include <Quotient/events/eventcontent.h>
#include <Quotient/events/eventrelation.h>
@@ -42,6 +43,7 @@
#include "eventhandler.h"
#include "events/pollevent.h"
#include "filetransferpseudojob.h"
#include "mediamanager.h"
#include "neochatconfig.h"
#include "neochatconnection.h"
#include "neochatroommember.h"
@@ -57,6 +59,10 @@
#include <KJobTrackerInterface>
#include <KLocalizedString>
#include "calls/callcontroller.h"
#include "events/callencryptionkeysevent.h"
#include "events/callmemberevent.h"
using namespace Quotient;
NeoChatRoom::NeoChatRoom(Connection *connection, QString roomId, JoinState joinState)
@@ -160,6 +166,26 @@ NeoChatRoom::NeoChatRoom(Connection *connection, QString roomId, JoinState joinS
const auto neochatconnection = static_cast<NeoChatConnection *>(connection);
Q_ASSERT(neochatconnection);
connect(neochatconnection, &NeoChatConnection::globalUrlPreviewEnabledChanged, this, &NeoChatRoom::urlPreviewEnabledChanged);
connect(this, &Room::aboutToAddNewMessages, this, [this](const auto &messages) {
for (const auto &message : messages) {
if (const auto &memberEvent = eventCast<const CallMemberEvent>(message.get())) {
CallController::instance().handleCallMemberEvent(memberEvent, this);
}
if (const auto &encryptionEvent = eventCast<const CallEncryptionKeysEvent>(message.get())) {
qWarning() << encryptionEvent->fullJson();
Q_ASSERT(false);
}
}
});
// connect(this, &NeoChatRoom::aboutToAddNewMessages, this, [this](const auto &events) {
// for (const auto &event : events) {
// qWarning() << event->fullJson();
// if (event->matrixType() == "org.matrix.msc4075.call.notify"_ls) {
// MediaManager::instance().ring(event->fullJson(), this);
// }
// }
// });
}
bool NeoChatRoom::visible() const

View File

@@ -0,0 +1,251 @@
// Copyright 2023 LiveKit, Inc.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
syntax = "proto2";
package livekit.proto;
option csharp_namespace = "LiveKit.Proto";
import "handle.proto";
import "track.proto";
// Create a new AudioStream
// AudioStream is used to receive audio frames from a track
message NewAudioStreamRequest {
required uint64 track_handle = 1;
required AudioStreamType type = 2;
optional uint32 sample_rate = 3;
optional uint32 num_channels = 4;
}
message NewAudioStreamResponse { required OwnedAudioStream stream = 1; }
message AudioStreamFromParticipantRequest {
required uint64 participant_handle = 1;
required AudioStreamType type = 2;
optional TrackSource track_source = 3;
optional uint32 sample_rate = 5;
optional uint32 num_channels = 6;
}
message AudioStreamFromParticipantResponse { required OwnedAudioStream stream = 1; }
// Create a new AudioSource
message NewAudioSourceRequest {
required AudioSourceType type = 1;
optional AudioSourceOptions options = 2;
required uint32 sample_rate = 3;
required uint32 num_channels = 4;
optional uint32 queue_size_ms = 5;
}
message NewAudioSourceResponse { required OwnedAudioSource source = 1; }
// Push a frame to an AudioSource
// The data provided must be available as long as the client receive the callback.
message CaptureAudioFrameRequest {
required uint64 source_handle = 1;
required AudioFrameBufferInfo buffer = 2;
}
message CaptureAudioFrameResponse {
required uint64 async_id = 1;
}
message CaptureAudioFrameCallback {
required uint64 async_id = 1;
optional string error = 2;
}
message ClearAudioBufferRequest {
required uint64 source_handle = 1;
}
message ClearAudioBufferResponse {}
// Create a new AudioResampler
message NewAudioResamplerRequest {}
message NewAudioResamplerResponse {
required OwnedAudioResampler resampler = 1;
}
// Remix and resample an audio frame
message RemixAndResampleRequest {
required uint64 resampler_handle = 1;
required AudioFrameBufferInfo buffer = 2;
required uint32 num_channels = 3;
required uint32 sample_rate = 4;
}
message RemixAndResampleResponse {
required OwnedAudioFrameBuffer buffer = 1;
}
// New resampler using SoX (much better quality)
message NewSoxResamplerRequest {
required double input_rate = 1;
required double output_rate = 2;
required uint32 num_channels = 3;
required SoxResamplerDataType input_data_type = 4;
required SoxResamplerDataType output_data_type = 5;
required SoxQualityRecipe quality_recipe = 6;
optional uint32 flags = 7;
}
message NewSoxResamplerResponse {
oneof message {
OwnedSoxResampler resampler = 1;
string error = 2;
}
}
message PushSoxResamplerRequest {
required uint64 resampler_handle = 1;
required uint64 data_ptr = 2; // *const i16
required uint32 size = 3; // in bytes
}
message PushSoxResamplerResponse {
required uint64 output_ptr = 1; // *const i16 (could be null)
required uint32 size = 2; // in bytes
optional string error = 3;
}
message FlushSoxResamplerRequest {
required uint64 resampler_handle = 1;
}
message FlushSoxResamplerResponse {
required uint64 output_ptr = 1; // *const i16 (could be null)
required uint32 size = 2; // in bytes
optional string error = 3;
}
enum SoxResamplerDataType {
// TODO(theomonnom): support other datatypes (shouldn't really be needed)
SOXR_DATATYPE_INT16I = 0;
SOXR_DATATYPE_INT16S = 1;
}
enum SoxQualityRecipe {
SOXR_QUALITY_QUICK = 0;
SOXR_QUALITY_LOW = 1;
SOXR_QUALITY_MEDIUM = 2;
SOXR_QUALITY_HIGH = 3;
SOXR_QUALITY_VERYHIGH = 4;
}
enum SoxFlagBits {
SOXR_ROLLOFF_SMALL = 0; // 1 << 0
SOXR_ROLLOFF_MEDIUM = 1; // 1 << 1
SOXR_ROLLOFF_NONE = 2; // 1 << 2
SOXR_HIGH_PREC_CLOCK = 3; // 1 << 3
SOXR_DOUBLE_PRECISION = 4; // 1 << 4
SOXR_VR = 5; // 1 << 5
}
//
// AudioFrame buffer
//
message AudioFrameBufferInfo {
required uint64 data_ptr = 1; // *const i16
required uint32 num_channels = 2;
required uint32 sample_rate = 3;
required uint32 samples_per_channel = 4;
}
message OwnedAudioFrameBuffer {
required FfiOwnedHandle handle = 1;
required AudioFrameBufferInfo info = 2;
}
//
// AudioStream
//
enum AudioStreamType {
AUDIO_STREAM_NATIVE = 0;
AUDIO_STREAM_HTML = 1;
}
message AudioStreamInfo {
required AudioStreamType type = 1;
}
message OwnedAudioStream {
required FfiOwnedHandle handle = 1;
required AudioStreamInfo info = 2;
}
message AudioStreamEvent {
required uint64 stream_handle = 1;
oneof message {
AudioFrameReceived frame_received = 2;
AudioStreamEOS eos = 3;
}
}
message AudioFrameReceived {
required OwnedAudioFrameBuffer frame = 1;
}
message AudioStreamEOS {}
//
// AudioSource
//
message AudioSourceOptions {
required bool echo_cancellation = 1;
required bool noise_suppression = 2;
required bool auto_gain_control = 3;
}
enum AudioSourceType {
AUDIO_SOURCE_NATIVE = 0;
}
message AudioSourceInfo {
required AudioSourceType type = 2;
}
message OwnedAudioSource {
required FfiOwnedHandle handle = 1;
required AudioSourceInfo info = 2;
}
//
// AudioResampler
//
message AudioResamplerInfo { }
message OwnedAudioResampler {
required FfiOwnedHandle handle = 1;
required AudioResamplerInfo info = 2;
}
//
// Sox AudioResampler
//
message SoxResamplerInfo {}
message OwnedSoxResampler {
required FfiOwnedHandle handle = 1;
required SoxResamplerInfo info = 2;
}

154
src/protocols/e2ee.proto Normal file
View File

@@ -0,0 +1,154 @@
// Copyright 2023 LiveKit, Inc.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
syntax = "proto2";
package livekit.proto;
option csharp_namespace = "LiveKit.Proto";
// TODO(theomonnom): Should FrameCryptor be stateful on the client side and have their own handle?
enum EncryptionType {
NONE = 0;
GCM = 1;
CUSTOM = 2;
}
message FrameCryptor {
required string participant_identity = 1;
required string track_sid = 2;
required int32 key_index = 3;
required bool enabled = 4;
}
message KeyProviderOptions {
// Only specify if you want to use a shared_key
optional bytes shared_key = 1;
required int32 ratchet_window_size = 2;
required bytes ratchet_salt = 3;
required int32 failure_tolerance = 4; // -1 = no tolerance
}
message E2eeOptions {
required EncryptionType encryption_type = 1;
required KeyProviderOptions key_provider_options = 2;
}
enum EncryptionState {
NEW = 0;
OK = 1;
ENCRYPTION_FAILED = 2;
DECRYPTION_FAILED = 3;
MISSING_KEY = 4;
KEY_RATCHETED = 5;
INTERNAL_ERROR = 6;
}
message E2eeManagerSetEnabledRequest {
required bool enabled = 1;
}
message E2eeManagerSetEnabledResponse {}
message E2eeManagerGetFrameCryptorsRequest {}
message E2eeManagerGetFrameCryptorsResponse {
repeated FrameCryptor frame_cryptors = 1;
}
message FrameCryptorSetEnabledRequest {
required string participant_identity = 1;
required string track_sid = 2;
required bool enabled = 3;
}
message FrameCryptorSetEnabledResponse {}
message FrameCryptorSetKeyIndexRequest {
required string participant_identity = 1;
required string track_sid = 2;
required int32 key_index = 3;
}
message FrameCryptorSetKeyIndexResponse {}
message SetSharedKeyRequest {
required bytes shared_key = 1;
required int32 key_index = 2;
}
message SetSharedKeyResponse {}
message RatchetSharedKeyRequest {
required int32 key_index = 1;
}
message RatchetSharedKeyResponse {
optional bytes new_key = 1;
}
message GetSharedKeyRequest {
required int32 key_index = 1;
}
message GetSharedKeyResponse {
optional bytes key = 1;
}
message SetKeyRequest {
required string participant_identity = 1;
required bytes key = 2;
required int32 key_index = 3;
}
message SetKeyResponse {}
message RatchetKeyRequest {
required string participant_identity = 1;
required int32 key_index = 2;
}
message RatchetKeyResponse {
optional bytes new_key = 1;
}
message GetKeyRequest {
required string participant_identity = 1;
required int32 key_index = 2;
}
message GetKeyResponse {
optional bytes key = 1;
}
message E2eeRequest {
required uint64 room_handle = 1;
oneof message {
E2eeManagerSetEnabledRequest manager_set_enabled = 2;
E2eeManagerGetFrameCryptorsRequest manager_get_frame_cryptors = 3;
FrameCryptorSetEnabledRequest cryptor_set_enabled = 4;
FrameCryptorSetKeyIndexRequest cryptor_set_key_index = 5;
SetSharedKeyRequest set_shared_key = 6;
RatchetSharedKeyRequest ratchet_shared_key = 7;
GetSharedKeyRequest get_shared_key = 8;
SetKeyRequest set_key = 9;
RatchetKeyRequest ratchet_key = 10;
GetKeyRequest get_key = 11;
}
}
message E2eeResponse {
oneof message {
E2eeManagerSetEnabledResponse manager_set_enabled = 1;
E2eeManagerGetFrameCryptorsResponse manager_get_frame_cryptors = 2;
FrameCryptorSetEnabledResponse cryptor_set_enabled = 3;
FrameCryptorSetKeyIndexResponse cryptor_set_key_index = 4;
SetSharedKeyResponse set_shared_key = 5;
RatchetSharedKeyResponse ratchet_shared_key = 6;
GetSharedKeyResponse get_shared_key = 7;
SetKeyResponse set_key = 8;
RatchetKeyResponse ratchet_key = 9;
GetKeyResponse get_key = 10;
}
}

239
src/protocols/ffi.proto Normal file
View File

@@ -0,0 +1,239 @@
// Copyright 2023 LiveKit, Inc.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
syntax = "proto2";
package livekit.proto;
option csharp_namespace = "LiveKit.Proto";
// import "handle.proto";
import "e2ee.proto";
import "track.proto";
import "room.proto";
import "video_frame.proto";
import "audio_frame.proto";
import "rpc.proto";
// **How is the livekit-ffi working:
// We refer as the ffi server the Rust server that is running the LiveKit client implementation, and we
// refer as the ffi client the foreign language that commumicates with the ffi server. (e.g Python SDK, Unity SDK, etc...)
//
// We expose the Rust client implementation of livekit using the protocol defined here.
// Everything starts with a FfiRequest, which is a oneof message that contains all the possible
// requests that can be made to the ffi server.
// The server will then respond with a FfiResponse, which is also a oneof message that contains
// all the possible responses.
// The first request sent to the server must be an InitializeRequest, which contains the a pointer
// to the callback function that will be used to send events and async responses to the ffi client.
// (e.g participant joined, track published, etc...)
//
// **Useful things know when collaborating on the protocol:**
// Everything is subject to discussion and change :-)
//
// - The ffi client implementation must never forget to correctly dispose all the owned handles
// that it receives from the server.
//
// Therefore, the ffi client is easier to implement if there is less handles to manage.
//
// - We are mainly using FfiHandle on info messages (e.g: RoomInfo, TrackInfo, etc...)
// For this reason, info are only sent once, at creation (We're not using them for updates, we can infer them from
// events on the client implementation).
// e.g: set speaking to true when we receive a ActiveSpeakerChanged event.
// This is the input of livekit_ffi_request function
// We always expect a response (FFIResponse, even if it's empty)
message FfiRequest {
oneof message {
DisposeRequest dispose = 2;
// Room
ConnectRequest connect = 3;
DisconnectRequest disconnect = 4;
PublishTrackRequest publish_track = 5;
UnpublishTrackRequest unpublish_track = 6;
PublishDataRequest publish_data = 7;
SetSubscribedRequest set_subscribed = 8;
SetLocalMetadataRequest set_local_metadata = 9;
SetLocalNameRequest set_local_name = 10;
SetLocalAttributesRequest set_local_attributes = 11;
GetSessionStatsRequest get_session_stats = 12;
PublishTranscriptionRequest publish_transcription = 13;
PublishSipDtmfRequest publish_sip_dtmf = 14;
// Track
CreateVideoTrackRequest create_video_track = 15;
CreateAudioTrackRequest create_audio_track = 16;
LocalTrackMuteRequest local_track_mute = 17;
EnableRemoteTrackRequest enable_remote_track = 18;
GetStatsRequest get_stats = 19;
// Video
NewVideoStreamRequest new_video_stream = 20;
NewVideoSourceRequest new_video_source = 21;
CaptureVideoFrameRequest capture_video_frame = 22;
VideoConvertRequest video_convert = 23;
VideoStreamFromParticipantRequest video_stream_from_participant = 24;
// Audio
NewAudioStreamRequest new_audio_stream = 25;
NewAudioSourceRequest new_audio_source = 26;
CaptureAudioFrameRequest capture_audio_frame = 27;
ClearAudioBufferRequest clear_audio_buffer = 28;
NewAudioResamplerRequest new_audio_resampler = 29;
RemixAndResampleRequest remix_and_resample = 30;
E2eeRequest e2ee = 31;
AudioStreamFromParticipantRequest audio_stream_from_participant = 32;
NewSoxResamplerRequest new_sox_resampler = 33;
PushSoxResamplerRequest push_sox_resampler = 34;
FlushSoxResamplerRequest flush_sox_resampler = 35;
SendChatMessageRequest send_chat_message = 36;
EditChatMessageRequest edit_chat_message = 37;
// RPC
PerformRpcRequest perform_rpc = 38;
RegisterRpcMethodRequest register_rpc_method = 39;
UnregisterRpcMethodRequest unregister_rpc_method = 40;
RpcMethodInvocationResponseRequest rpc_method_invocation_response = 41;
}
}
// This is the output of livekit_ffi_request function.
message FfiResponse {
oneof message {
DisposeResponse dispose = 2;
// Room
ConnectResponse connect = 3;
DisconnectResponse disconnect = 4;
PublishTrackResponse publish_track = 5;
UnpublishTrackResponse unpublish_track = 6;
PublishDataResponse publish_data = 7;
SetSubscribedResponse set_subscribed = 8;
SetLocalMetadataResponse set_local_metadata = 9;
SetLocalNameResponse set_local_name = 10;
SetLocalAttributesResponse set_local_attributes = 11;
GetSessionStatsResponse get_session_stats = 12;
PublishTranscriptionResponse publish_transcription = 13;
PublishSipDtmfResponse publish_sip_dtmf = 14;
// Track
CreateVideoTrackResponse create_video_track = 15;
CreateAudioTrackResponse create_audio_track = 16;
LocalTrackMuteResponse local_track_mute = 17;
EnableRemoteTrackResponse enable_remote_track = 18;
GetStatsResponse get_stats = 19;
// Video
NewVideoStreamResponse new_video_stream = 20;
NewVideoSourceResponse new_video_source = 21;
CaptureVideoFrameResponse capture_video_frame = 22;
VideoConvertResponse video_convert = 23;
VideoStreamFromParticipantResponse video_stream_from_participant = 24;
// Audio
NewAudioStreamResponse new_audio_stream = 25;
NewAudioSourceResponse new_audio_source = 26;
CaptureAudioFrameResponse capture_audio_frame = 27;
ClearAudioBufferResponse clear_audio_buffer = 28;
NewAudioResamplerResponse new_audio_resampler = 29;
RemixAndResampleResponse remix_and_resample = 30;
AudioStreamFromParticipantResponse audio_stream_from_participant = 31;
E2eeResponse e2ee = 32;
NewSoxResamplerResponse new_sox_resampler = 33;
PushSoxResamplerResponse push_sox_resampler = 34;
FlushSoxResamplerResponse flush_sox_resampler = 35;
SendChatMessageResponse send_chat_message = 36;
// RPC
PerformRpcResponse perform_rpc = 37;
RegisterRpcMethodResponse register_rpc_method = 38;
UnregisterRpcMethodResponse unregister_rpc_method = 39;
RpcMethodInvocationResponseResponse rpc_method_invocation_response = 40;
}
}
// To minimize complexity, participant events are not included in the protocol.
// It is easily deducible from the room events and it turned out that is is easier to implement
// on the ffi client side.
message FfiEvent {
oneof message {
RoomEvent room_event = 1;
TrackEvent track_event = 2;
VideoStreamEvent video_stream_event = 3;
AudioStreamEvent audio_stream_event = 4;
ConnectCallback connect = 5;
DisconnectCallback disconnect = 7;
DisposeCallback dispose = 8;
PublishTrackCallback publish_track = 9;
UnpublishTrackCallback unpublish_track = 10;
PublishDataCallback publish_data = 11;
PublishTranscriptionCallback publish_transcription = 12;
CaptureAudioFrameCallback capture_audio_frame = 13;
SetLocalMetadataCallback set_local_metadata = 14;
SetLocalNameCallback set_local_name = 15;
SetLocalAttributesCallback set_local_attributes = 16;
GetStatsCallback get_stats = 17;
LogBatch logs = 18;
GetSessionStatsCallback get_session_stats = 19;
Panic panic = 20;
PublishSipDtmfCallback publish_sip_dtmf = 21;
SendChatMessageCallback chat_message = 22;
PerformRpcCallback perform_rpc = 23;
RpcMethodInvocationEvent rpc_method_invocation = 24;
}
}
// Stop all rooms synchronously (Do we need async here?).
// e.g: This is used for the Unity Editor after each assemblies reload.
// TODO(theomonnom): Implement a debug mode where we can find all leaked handles?
message DisposeRequest {
required bool async = 1;
}
message DisposeResponse {
optional uint64 async_id = 1; // None if sync
}
message DisposeCallback {
required uint64 async_id = 1;
}
enum LogLevel {
LOG_ERROR = 0;
LOG_WARN = 1;
LOG_INFO = 2;
LOG_DEBUG = 3;
LOG_TRACE = 4;
}
message LogRecord {
required LogLevel level = 1;
required string target = 2; // e.g "livekit", "libwebrtc", "tokio-tungstenite", etc...
optional string module_path = 3;
optional string file = 4;
optional uint32 line = 5;
required string message = 6;
}
message LogBatch {
repeated LogRecord records = 1;
}
message Panic {
required string message = 1;
}
// TODO(theomonnom): Debug messages (Print handles).

View File

@@ -0,0 +1,31 @@
// Copyright 2023 LiveKit, Inc.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
syntax = "proto2";
package livekit.proto;
option csharp_namespace = "LiveKit.Proto";
// # Safety
// The foreign language is responsable for disposing handles
// Forgetting to dispose the handle may lead to memory leaks
//
// Dropping a handle doesn't necessarily mean that the object is destroyed if it is still used
// on the FfiServer (Atomic reference counting)
//
// When refering to a handle without owning it, we just use a uint32 without this message.
// (the variable name is suffixed with "_handle")
message FfiOwnedHandle {
required uint64 id = 1;
}

View File

@@ -0,0 +1,42 @@
// Copyright 2023 LiveKit, Inc.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
syntax = "proto2";
package livekit.proto;
option csharp_namespace = "LiveKit.Proto";
import "handle.proto";
message ParticipantInfo {
required string sid = 1;
required string name = 2;
required string identity = 3;
required string metadata = 4;
map<string, string> attributes = 5;
required ParticipantKind kind = 6;
}
message OwnedParticipant {
required FfiOwnedHandle handle = 1;
required ParticipantInfo info = 2;
}
enum ParticipantKind {
PARTICIPANT_KIND_STANDARD = 0;
PARTICIPANT_KIND_INGRESS = 1;
PARTICIPANT_KIND_EGRESS = 2;
PARTICIPANT_KIND_SIP = 3;
PARTICIPANT_KIND_AGENT = 4;
}

552
src/protocols/room.proto Normal file
View File

@@ -0,0 +1,552 @@
// Copyright 2023 LiveKit, Inc.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
syntax = "proto2";
package livekit.proto;
option csharp_namespace = "LiveKit.Proto";
import "e2ee.proto";
import "handle.proto";
import "participant.proto";
import "track.proto";
import "video_frame.proto";
import "stats.proto";
// Connect to a new LiveKit room
message ConnectRequest {
required string url = 1;
required string token = 2;
required RoomOptions options = 3;
}
message ConnectResponse {
required uint64 async_id = 1;
}
message ConnectCallback {
message ParticipantWithTracks {
required OwnedParticipant participant = 1;
// TrackInfo are not needed here, if we're subscribed to a track, the FfiServer will send
// a TrackSubscribed event
repeated OwnedTrackPublication publications = 2;
}
message Result {
required OwnedRoom room = 1;
required OwnedParticipant local_participant = 2;
repeated ParticipantWithTracks participants = 3;
}
required uint64 async_id = 1;
oneof message {
string error = 2;
Result result = 3;
}
}
// Disconnect from the a room
message DisconnectRequest { required uint64 room_handle = 1; }
message DisconnectResponse { required uint64 async_id = 1; }
message DisconnectCallback { required uint64 async_id = 1; }
// Publish a track to the room
message PublishTrackRequest {
required uint64 local_participant_handle = 1;
required uint64 track_handle = 2;
required TrackPublishOptions options = 3;
}
message PublishTrackResponse {
required uint64 async_id = 1;
}
message PublishTrackCallback {
required uint64 async_id = 1;
oneof message {
string error = 2;
OwnedTrackPublication publication = 3;
}
}
// Unpublish a track from the room
message UnpublishTrackRequest {
required uint64 local_participant_handle = 1;
required string track_sid = 2;
required bool stop_on_unpublish = 3;
}
message UnpublishTrackResponse {
required uint64 async_id = 1;
}
message UnpublishTrackCallback {
required uint64 async_id = 1;
optional string error = 2;
}
// Publish data to other participants
message PublishDataRequest {
required uint64 local_participant_handle = 1;
required uint64 data_ptr = 2;
required uint64 data_len = 3;
required bool reliable = 4;
repeated string destination_sids = 5 [deprecated=true];
optional string topic = 6;
repeated string destination_identities = 7;
}
message PublishDataResponse {
required uint64 async_id = 1;
}
message PublishDataCallback {
required uint64 async_id = 1;
optional string error = 2;
}
// Publish transcription messages to room
message PublishTranscriptionRequest {
required uint64 local_participant_handle = 1;
required string participant_identity = 2;
required string track_id = 3;
repeated TranscriptionSegment segments = 4;
}
message PublishTranscriptionResponse {
required uint64 async_id = 1;
}
message PublishTranscriptionCallback {
required uint64 async_id = 1;
optional string error = 2;
}
// Publish Sip DTMF messages to other participants
message PublishSipDtmfRequest {
required uint64 local_participant_handle = 1;
required uint32 code = 2;
required string digit = 3;
repeated string destination_identities = 4;
}
message PublishSipDtmfResponse {
required uint64 async_id = 1;
}
message PublishSipDtmfCallback {
required uint64 async_id = 1;
optional string error = 2;
}
// Change the local participant's metadata
message SetLocalMetadataRequest {
required uint64 local_participant_handle = 1;
required string metadata = 2;
}
message SetLocalMetadataResponse {
required uint64 async_id = 1;
}
message SetLocalMetadataCallback {
required uint64 async_id = 1;
optional string error = 2;
}
message SendChatMessageRequest {
required uint64 local_participant_handle = 1;
required string message = 2;
repeated string destination_identities = 3;
optional string sender_identity = 4;
}
message EditChatMessageRequest {
required uint64 local_participant_handle = 1;
required string edit_text = 2;
required ChatMessage original_message = 3;
repeated string destination_identities = 4;
optional string sender_identity = 5;
}
message SendChatMessageResponse {
required uint64 async_id = 1;
}
message SendChatMessageCallback {
required uint64 async_id = 1;
oneof message {
string error = 2;
ChatMessage chat_message = 3;
}
}
// Change the local participant's attributes
message SetLocalAttributesRequest {
required uint64 local_participant_handle = 1;
repeated AttributesEntry attributes = 2;
}
message AttributesEntry {
required string key = 1;
required string value = 2;
}
message SetLocalAttributesResponse {
required uint64 async_id = 1;
}
message SetLocalAttributesCallback {
required uint64 async_id = 1;
optional string error = 2;
}
// Change the local participant's name
message SetLocalNameRequest {
required uint64 local_participant_handle = 1;
required string name = 2;
}
message SetLocalNameResponse {
required uint64 async_id = 1;
}
message SetLocalNameCallback {
required uint64 async_id = 1;
optional string error = 2;
}
// Change the "desire" to subs2ribe to a track
message SetSubscribedRequest {
required bool subscribe = 1;
required uint64 publication_handle = 2;
}
message SetSubscribedResponse {}
message GetSessionStatsRequest {
required uint64 room_handle = 1;
}
message GetSessionStatsResponse {
required uint64 async_id = 1;
}
message GetSessionStatsCallback {
message Result {
repeated RtcStats publisher_stats = 1;
repeated RtcStats subscriber_stats = 2;
}
required uint64 async_id = 1;
oneof message {
string error = 2;
Result result = 3;
}
}
//
// Options
//
message VideoEncoding {
required uint64 max_bitrate = 1;
required double max_framerate = 2;
}
message AudioEncoding {
required uint64 max_bitrate = 1;
}
message TrackPublishOptions {
// encodings are optional
optional VideoEncoding video_encoding = 1;
optional AudioEncoding audio_encoding = 2;
optional VideoCodec video_codec = 3;
optional bool dtx = 4;
optional bool red = 5;
optional bool simulcast = 6;
optional TrackSource source = 7;
optional string stream = 8;
}
enum IceTransportType {
TRANSPORT_RELAY = 0;
TRANSPORT_NOHOST = 1;
TRANSPORT_ALL = 2;
}
enum ContinualGatheringPolicy {
GATHER_ONCE = 0;
GATHER_CONTINUALLY = 1;
}
message IceServer {
repeated string urls = 1;
optional string username = 2;
optional string password = 3;
}
message RtcConfig {
optional IceTransportType ice_transport_type = 1;
optional ContinualGatheringPolicy continual_gathering_policy = 2;
repeated IceServer ice_servers = 3; // empty fallback to default
}
message RoomOptions {
optional bool auto_subscribe = 1;
optional bool adaptive_stream = 2;
optional bool dynacast = 3;
optional E2eeOptions e2ee = 4;
optional RtcConfig rtc_config = 5; // allow to setup a custom RtcConfiguration
optional uint32 join_retries = 6;
}
//
// Room
//
enum ConnectionQuality {
QUALITY_POOR = 0;
QUALITY_GOOD = 1;
QUALITY_EXCELLENT = 2;
QUALITY_LOST = 3;
}
enum ConnectionState {
CONN_DISCONNECTED = 0;
CONN_CONNECTED = 1;
CONN_RECONNECTING = 2;
}
enum DataPacketKind {
KIND_LOSSY = 0;
KIND_RELIABLE = 1;
}
enum DisconnectReason {
UNKNOWN_REASON = 0;
// the client initiated the disconnect
CLIENT_INITIATED = 1;
// another participant with the same identity has joined the room
DUPLICATE_IDENTITY = 2;
// the server instance is shutting down
SERVER_SHUTDOWN = 3;
// RoomService.RemoveParticipant was called
PARTICIPANT_REMOVED = 4;
// RoomService.DeleteRoom was called
ROOM_DELETED = 5;
// the client is attempting to resume a session, but server is not aware of it
STATE_MISMATCH = 6;
// client was unable to connect fully
JOIN_FAILURE = 7;
// Cloud-only, the server requested Participant to migrate the connection elsewhere
MIGRATION = 8;
// the signal websocket was closed unexpectedly
SIGNAL_CLOSE = 9;
// the room was closed, due to all Standard and Ingress participants having left
ROOM_CLOSED = 10;
}
message TranscriptionSegment {
required string id = 1;
required string text = 2;
required uint64 start_time = 3;
required uint64 end_time = 4;
required bool final = 5;
required string language = 6;
}
message BufferInfo {
required uint64 data_ptr = 1;
required uint64 data_len = 2;
}
message OwnedBuffer {
required FfiOwnedHandle handle = 1;
required BufferInfo data = 2;
}
message RoomEvent {
required uint64 room_handle = 1;
oneof message {
ParticipantConnected participant_connected = 2;
ParticipantDisconnected participant_disconnected = 3;
LocalTrackPublished local_track_published = 4;
LocalTrackUnpublished local_track_unpublished = 5;
LocalTrackSubscribed local_track_subscribed = 6;
TrackPublished track_published = 7;
TrackUnpublished track_unpublished = 8;
TrackSubscribed track_subscribed = 9;
TrackUnsubscribed track_unsubscribed = 10;
TrackSubscriptionFailed track_subscription_failed = 11;
TrackMuted track_muted = 12;
TrackUnmuted track_unmuted = 13;
ActiveSpeakersChanged active_speakers_changed = 14;
RoomMetadataChanged room_metadata_changed = 15;
RoomSidChanged room_sid_changed = 16;
ParticipantMetadataChanged participant_metadata_changed = 17;
ParticipantNameChanged participant_name_changed = 18;
ParticipantAttributesChanged participant_attributes_changed = 19;
ConnectionQualityChanged connection_quality_changed = 20;
ConnectionStateChanged connection_state_changed = 21;
// Connected connected = 21;
Disconnected disconnected = 22;
Reconnecting reconnecting = 23;
Reconnected reconnected = 24;
E2eeStateChanged e2ee_state_changed = 25;
RoomEOS eos = 26; // The stream of room events has ended
DataPacketReceived data_packet_received = 27;
TranscriptionReceived transcription_received = 28;
ChatMessageReceived chat_message = 29;
}
}
message RoomInfo {
optional string sid = 1;
required string name = 2;
required string metadata = 3;
}
message OwnedRoom {
required FfiOwnedHandle handle = 1;
required RoomInfo info = 2;
}
message ParticipantConnected { required OwnedParticipant info = 1; }
message ParticipantDisconnected {
required string participant_identity = 1;
}
message LocalTrackPublished {
// The TrackPublicationInfo comes from the PublishTrack response
// and the FfiClient musts wait for it before firing this event
required string track_sid = 1;
}
message LocalTrackUnpublished {
required string publication_sid = 1;
}
message LocalTrackSubscribed {
required string track_sid = 2;
}
message TrackPublished {
required string participant_identity = 1;
required OwnedTrackPublication publication = 2;
}
message TrackUnpublished {
required string participant_identity = 1;
required string publication_sid = 2;
}
// Publication isn't needed for subscription events on the FFI
// The FFI will retrieve the publication using the Track sid
message TrackSubscribed {
required string participant_identity = 1;
required OwnedTrack track = 2;
}
message TrackUnsubscribed {
// The FFI language can dispose/remove the VideoSink here
required string participant_identity = 1;
required string track_sid = 2;
}
message TrackSubscriptionFailed {
required string participant_identity = 1;
required string track_sid = 2;
required string error = 3;
}
message TrackMuted {
required string participant_identity = 1;
required string track_sid = 2;
}
message TrackUnmuted {
required string participant_identity = 1;
required string track_sid = 2;
}
message E2eeStateChanged {
required string participant_identity = 1; // Using sid instead of identity for ffi communication
required EncryptionState state = 2;
}
message ActiveSpeakersChanged { repeated string participant_identities = 1; }
message RoomMetadataChanged {
required string metadata = 1;
}
message RoomSidChanged {
required string sid = 1;
}
message ParticipantMetadataChanged {
required string participant_identity = 1;
required string metadata = 2;
}
message ParticipantAttributesChanged {
required string participant_identity = 1;
repeated AttributesEntry attributes = 2;
repeated AttributesEntry changed_attributes = 3;
}
message ParticipantNameChanged {
required string participant_identity = 1;
required string name = 2;
}
message ConnectionQualityChanged {
required string participant_identity = 1;
required ConnectionQuality quality = 2;
}
message UserPacket {
required OwnedBuffer data = 1;
optional string topic = 2;
}
message ChatMessage {
required string id = 1;
required int64 timestamp = 2;
required string message = 3;
optional int64 edit_timestamp = 4;
optional bool deleted = 5;
optional bool generated = 6;
}
message ChatMessageReceived {
required ChatMessage message = 1;
required string participant_identity = 2;
}
message SipDTMF {
required uint32 code = 1;
optional string digit = 2;
}
message DataPacketReceived {
required DataPacketKind kind = 1;
required string participant_identity = 2; // Can be empty if the data is sent a server SDK
oneof value {
UserPacket user = 4;
SipDTMF sip_dtmf = 5;
}
}
message TranscriptionReceived {
optional string participant_identity = 1;
optional string track_sid = 2;
repeated TranscriptionSegment segments = 3;
}
message ConnectionStateChanged { required ConnectionState state = 1; }
message Connected {}
message Disconnected {
required DisconnectReason reason = 1;
}
message Reconnecting {}
message Reconnected {}
message RoomEOS {}

81
src/protocols/rpc.proto Normal file
View File

@@ -0,0 +1,81 @@
// Copyright 2023 LiveKit, Inc.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
syntax = "proto2";
package livekit.proto;
option csharp_namespace = "LiveKit.Proto";
message RpcError {
required uint32 code = 1;
required string message = 2;
optional string data = 3;
}
// FFI Requests
message PerformRpcRequest {
required uint64 local_participant_handle = 1;
required string destination_identity = 2;
required string method = 3;
required string payload = 4;
optional uint32 response_timeout_ms = 5;
}
message RegisterRpcMethodRequest {
required uint64 local_participant_handle = 1;
required string method = 2;
}
message UnregisterRpcMethodRequest {
required uint64 local_participant_handle = 1;
required string method = 2;
}
message RpcMethodInvocationResponseRequest {
required uint64 local_participant_handle = 1;
required uint64 invocation_id = 2;
optional string payload = 3;
optional RpcError error = 4;
}
// FFI Responses
message PerformRpcResponse {
required uint64 async_id = 1;
}
message RegisterRpcMethodResponse {}
message UnregisterRpcMethodResponse {}
message RpcMethodInvocationResponseResponse {
optional string error = 1;
}
// FFI Callbacks
message PerformRpcCallback {
required uint64 async_id = 1;
optional string payload = 2;
optional RpcError error = 3;
}
// FFI Events
message RpcMethodInvocationEvent {
required uint64 local_participant_handle = 1;
required uint64 invocation_id = 2;
required string method = 3;
required string request_id = 4;
required string caller_identity = 5;
required string payload = 6;
required uint32 response_timeout_ms = 7;
}

449
src/protocols/stats.proto Normal file
View File

@@ -0,0 +1,449 @@
// Copyright 2023 LiveKit, Inc.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
syntax = "proto2";
package livekit.proto;
option csharp_namespace = "LiveKit.Proto";
enum DataChannelState {
DC_CONNECTING = 0;
DC_OPEN = 1;
DC_CLOSING = 2;
DC_CLOSED = 3;
}
enum QualityLimitationReason {
LIMITATION_NONE = 0;
LIMITATION_CPU = 1;
LIMITATION_BANDWIDTH = 2;
LIMITATION_OTHER = 3;
}
enum IceRole {
ICE_UNKNOWN = 0;
ICE_CONTROLLING = 1;
ICE_CONTROLLED = 2;
}
enum DtlsTransportState {
DTLS_TRANSPORT_NEW = 0;
DTLS_TRANSPORT_CONNECTING = 1;
DTLS_TRANSPORT_CONNECTED = 2;
DTLS_TRANSPORT_CLOSED = 3;
DTLS_TRANSPORT_FAILED = 4;
}
enum IceTransportState {
ICE_TRANSPORT_NEW = 0;
ICE_TRANSPORT_CHECKING = 1;
ICE_TRANSPORT_CONNECTED = 2;
ICE_TRANSPORT_COMPLETED = 3;
ICE_TRANSPORT_DISCONNECTED = 4;
ICE_TRANSPORT_FAILED = 5;
ICE_TRANSPORT_CLOSED = 6;
}
enum DtlsRole {
DTLS_CLIENT = 0;
DTLS_SERVER = 1;
DTLS_UNKNOWN = 2;
}
enum IceCandidatePairState {
PAIR_FROZEN = 0;
PAIR_WAITING = 1;
PAIR_IN_PROGRESS = 2;
PAIR_FAILED = 3;
PAIR_SUCCEEDED = 4;
}
enum IceCandidateType {
HOST = 0;
SRFLX = 1;
PRFLX = 2;
RELAY = 3;
}
enum IceServerTransportProtocol {
TRANSPORT_UDP = 0;
TRANSPORT_TCP = 1;
TRANSPORT_TLS = 2;
}
enum IceTcpCandidateType {
CANDIDATE_ACTIVE = 0;
CANDIDATE_PASSIVE = 1;
CANDIDATE_SO = 2;
}
message RtcStats {
message Codec {
required RtcStatsData rtc = 1;
required CodecStats codec = 2;
}
message InboundRtp {
required RtcStatsData rtc = 1;
required RtpStreamStats stream = 2;
required ReceivedRtpStreamStats received = 3;
required InboundRtpStreamStats inbound = 4;
}
message OutboundRtp {
required RtcStatsData rtc = 1;
required RtpStreamStats stream = 2;
required SentRtpStreamStats sent = 3;
required OutboundRtpStreamStats outbound = 4;
}
message RemoteInboundRtp {
required RtcStatsData rtc = 1;
required RtpStreamStats stream = 2;
required ReceivedRtpStreamStats received = 3;
required RemoteInboundRtpStreamStats remote_inbound = 4;
}
message RemoteOutboundRtp {
required RtcStatsData rtc = 1;
required RtpStreamStats stream = 2;
required SentRtpStreamStats sent = 3;
required RemoteOutboundRtpStreamStats remote_outbound = 4;
}
message MediaSource {
required RtcStatsData rtc = 1;
required MediaSourceStats source = 2;
required AudioSourceStats audio = 3;
required VideoSourceStats video = 4;
}
message MediaPlayout {
required RtcStatsData rtc = 1;
required AudioPlayoutStats audio_playout = 2;
}
message PeerConnection {
required RtcStatsData rtc = 1;
required PeerConnectionStats pc = 2;
}
message DataChannel {
required RtcStatsData rtc = 1;
required DataChannelStats dc = 2;
}
message Transport {
required RtcStatsData rtc = 1;
required TransportStats transport = 2;
}
message CandidatePair {
required RtcStatsData rtc = 1;
required CandidatePairStats candidate_pair = 2;
}
message LocalCandidate {
required RtcStatsData rtc = 1;
required IceCandidateStats candidate = 2;
}
message RemoteCandidate {
required RtcStatsData rtc = 1;
required IceCandidateStats candidate = 2;
}
message Certificate {
required RtcStatsData rtc = 1;
required CertificateStats certificate = 2;
}
message Track {
// Deprecated
}
oneof stats {
Codec codec = 3;
InboundRtp inbound_rtp = 4;
OutboundRtp outbound_rtp = 5;
RemoteInboundRtp remote_inbound_rtp = 6;
RemoteOutboundRtp remote_outbound_rtp = 7;
MediaSource media_source = 8;
MediaPlayout media_playout = 9;
PeerConnection peer_connection = 10;
DataChannel data_channel = 11;
Transport transport = 12;
CandidatePair candidate_pair = 13;
LocalCandidate local_candidate = 14;
RemoteCandidate remote_candidate = 15;
Certificate certificate = 16;
Track track = 17;
}
}
message RtcStatsData {
required string id = 1;
required int64 timestamp = 2;
}
message CodecStats {
required uint32 payload_type = 1;
required string transport_id = 2;
required string mime_type = 3;
required uint32 clock_rate = 4;
required uint32 channels = 5;
required string sdp_fmtp_line = 6;
}
message RtpStreamStats {
required uint32 ssrc = 1;
required string kind = 2;
required string transport_id = 3;
required string codec_id = 4;
}
message ReceivedRtpStreamStats {
required uint64 packets_received = 1;
required int64 packets_lost = 2;
required double jitter = 3;
}
message InboundRtpStreamStats {
required string track_identifier = 1;
required string mid = 2;
required string remote_id = 3;
required uint32 frames_decoded = 4;
required uint32 key_frames_decoded = 5;
required uint32 frames_rendered = 6;
required uint32 frames_dropped = 7;
required uint32 frame_width = 8;
required uint32 frame_height = 9;
required double frames_per_second = 10;
required uint64 qp_sum = 11;
required double total_decode_time = 12;
required double total_inter_frame_delay = 13;
required double total_squared_inter_frame_delay = 14;
required uint32 pause_count = 15;
required double total_pause_duration = 16;
required uint32 freeze_count = 17;
required double total_freeze_duration = 18;
required double last_packet_received_timestamp = 19;
required uint64 header_bytes_received = 20;
required uint64 packets_discarded = 21;
required uint64 fec_bytes_received = 22;
required uint64 fec_packets_received = 23;
required uint64 fec_packets_discarded = 24;
required uint64 bytes_received = 25;
required uint32 nack_count = 26;
required uint32 fir_count = 27;
required uint32 pli_count = 28;
required double total_processing_delay = 29;
required double estimated_playout_timestamp = 30;
required double jitter_buffer_delay = 31;
required double jitter_buffer_target_delay = 32;
required uint64 jitter_buffer_emitted_count = 33;
required double jitter_buffer_minimum_delay = 34;
required uint64 total_samples_received = 35;
required uint64 concealed_samples = 36;
required uint64 silent_concealed_samples = 37;
required uint64 concealment_events = 38;
required uint64 inserted_samples_for_deceleration = 39;
required uint64 removed_samples_for_acceleration = 40;
required double audio_level = 41;
required double total_audio_energy = 42;
required double total_samples_duration = 43;
required uint64 frames_received = 44;
required string decoder_implementation = 45;
required string playout_id = 46;
required bool power_efficient_decoder = 47;
required uint64 frames_assembled_from_multiple_packets = 48;
required double total_assembly_time = 49;
required uint64 retransmitted_packets_received = 50;
required uint64 retransmitted_bytes_received = 51;
required uint32 rtx_ssrc = 52;
required uint32 fec_ssrc = 53;
}
message SentRtpStreamStats {
required uint64 packets_sent = 1;
required uint64 bytes_sent = 2;
}
message OutboundRtpStreamStats {
required string mid = 1;
required string media_source_id = 2;
required string remote_id = 3;
required string rid = 4;
required uint64 header_bytes_sent = 5;
required uint64 retransmitted_packets_sent = 6;
required uint64 retransmitted_bytes_sent = 7;
required uint32 rtx_ssrc = 8;
required double target_bitrate = 9;
required uint64 total_encoded_bytes_target = 10;
required uint32 frame_width = 11;
required uint32 frame_height = 12;
required double frames_per_second = 13;
required uint32 frames_sent = 14;
required uint32 huge_frames_sent = 15;
required uint32 frames_encoded = 16;
required uint32 key_frames_encoded = 17;
required uint64 qp_sum = 18;
required double total_encode_time = 19;
required double total_packet_send_delay = 20;
required QualityLimitationReason quality_limitation_reason = 21;
map<string, double> quality_limitation_durations = 22;
required uint32 quality_limitation_resolution_changes = 23;
required uint32 nack_count = 24;
required uint32 fir_count = 25;
required uint32 pli_count = 26;
required string encoder_implementation = 27;
required bool power_efficient_encoder = 28;
required bool active = 29;
required string scalability_mode = 30;
}
message RemoteInboundRtpStreamStats {
required string local_id = 1;
required double round_trip_time = 2;
required double total_round_trip_time = 3;
required double fraction_lost = 4;
required uint64 round_trip_time_measurements = 5;
}
message RemoteOutboundRtpStreamStats {
required string local_id = 1;
required double remote_timestamp = 2;
required uint64 reports_sent = 3;
required double round_trip_time = 4;
required double total_round_trip_time = 5;
required uint64 round_trip_time_measurements = 6;
}
message MediaSourceStats {
required string track_identifier = 1;
required string kind = 2;
}
message AudioSourceStats {
required double audio_level = 1;
required double total_audio_energy = 2;
required double total_samples_duration = 3;
required double echo_return_loss = 4;
required double echo_return_loss_enhancement = 5;
required double dropped_samples_duration = 6;
required uint32 dropped_samples_events = 7;
required double total_capture_delay = 8;
required uint64 total_samples_captured = 9;
}
message VideoSourceStats {
required uint32 width = 1;
required uint32 height = 2;
required uint32 frames = 3;
required double frames_per_second = 4;
}
message AudioPlayoutStats {
required string kind = 1;
required double synthesized_samples_duration = 2;
required uint32 synthesized_samples_events = 3;
required double total_samples_duration = 4;
required double total_playout_delay = 5;
required uint64 total_samples_count = 6;
}
message PeerConnectionStats {
required uint32 data_channels_opened = 1;
required uint32 data_channels_closed = 2;
}
message DataChannelStats {
required string label = 1;
required string protocol = 2;
required int32 data_channel_identifier = 3;
optional DataChannelState state = 4;
required uint32 messages_sent = 5;
required uint64 bytes_sent = 6;
required uint32 messages_received = 7;
required uint64 bytes_received = 8;
}
message TransportStats {
required uint64 packets_sent = 1;
required uint64 packets_received = 2;
required uint64 bytes_sent = 3;
required uint64 bytes_received = 4;
required IceRole ice_role = 5;
required string ice_local_username_fragment = 6;
optional DtlsTransportState dtls_state = 7;
optional IceTransportState ice_state = 8;
required string selected_candidate_pair_id = 9;
required string local_certificate_id = 10;
required string remote_certificate_id = 11;
required string tls_version = 12;
required string dtls_cipher = 13;
required DtlsRole dtls_role = 14;
required string srtp_cipher = 15;
required uint32 selected_candidate_pair_changes = 16;
}
message CandidatePairStats {
required string transport_id = 1;
required string local_candidate_id = 2;
required string remote_candidate_id = 3;
optional IceCandidatePairState state = 4;
required bool nominated = 5;
required uint64 packets_sent = 6;
required uint64 packets_received = 7;
required uint64 bytes_sent = 8;
required uint64 bytes_received = 9;
required double last_packet_sent_timestamp = 10;
required double last_packet_received_timestamp = 11;
required double total_round_trip_time = 12;
required double current_round_trip_time = 13;
required double available_outgoing_bitrate = 14;
required double available_incoming_bitrate = 15;
required uint64 requests_received = 16;
required uint64 requests_sent = 17;
required uint64 responses_received = 18;
required uint64 responses_sent = 19;
required uint64 consent_requests_sent = 20;
required uint32 packets_discarded_on_send = 21;
required uint64 bytes_discarded_on_send = 22;
}
message IceCandidateStats {
required string transport_id = 1;
required string address = 2;
required int32 port = 3;
required string protocol = 4;
optional IceCandidateType candidate_type = 5;
required int32 priority = 6;
required string url = 7;
optional IceServerTransportProtocol relay_protocol = 8;
required string foundation = 9;
required string related_address = 10;
required int32 related_port = 11;
required string username_fragment = 12;
optional IceTcpCandidateType tcp_type = 13;
}
message CertificateStats {
required string fingerprint = 1;
required string fingerprint_algorithm = 2;
required string base64_certificate = 3;
required string issuer_certificate_id = 4;
}

131
src/protocols/track.proto Normal file
View File

@@ -0,0 +1,131 @@
// Copyright 2023 LiveKit, Inc.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
syntax = "proto2";
package livekit.proto;
option csharp_namespace = "LiveKit.Proto";
import "e2ee.proto";
import "handle.proto";
import "stats.proto";
// Create a new VideoTrack from a VideoSource
message CreateVideoTrackRequest {
required string name = 1;
required uint64 source_handle = 2;
}
message CreateVideoTrackResponse {
required OwnedTrack track = 1;
}
// Create a new AudioTrack from a AudioSource
message CreateAudioTrackRequest {
required string name = 1;
required uint64 source_handle = 2;
}
message CreateAudioTrackResponse {
required OwnedTrack track = 1;
}
message GetStatsRequest {
required uint64 track_handle = 1;
}
message GetStatsResponse {
required uint64 async_id = 1;
}
message GetStatsCallback {
required uint64 async_id = 1;
optional string error = 2;
repeated RtcStats stats = 3;
}
//
// Track
//
message TrackEvent {}
enum TrackKind {
KIND_UNKNOWN = 0;
KIND_AUDIO = 1;
KIND_VIDEO = 2;
}
enum TrackSource {
SOURCE_UNKNOWN = 0;
SOURCE_CAMERA = 1;
SOURCE_MICROPHONE = 2;
SOURCE_SCREENSHARE = 3;
SOURCE_SCREENSHARE_AUDIO = 4;
}
enum StreamState {
STATE_UNKNOWN = 0;
STATE_ACTIVE = 1;
STATE_PAUSED = 2;
}
message TrackPublicationInfo {
required string sid = 1;
required string name = 2;
required TrackKind kind = 3;
required TrackSource source = 4;
required bool simulcasted = 5;
required uint32 width = 6;
required uint32 height = 7;
required string mime_type = 8;
required bool muted = 9;
required bool remote = 10;
required EncryptionType encryption_type = 11;
}
message OwnedTrackPublication {
required FfiOwnedHandle handle = 1;
required TrackPublicationInfo info = 2;
}
message TrackInfo {
required string sid = 1;
required string name = 2;
required TrackKind kind = 3;
required StreamState stream_state = 4;
required bool muted = 5;
required bool remote = 6;
}
message OwnedTrack {
required FfiOwnedHandle handle = 1;
required TrackInfo info = 2;
}
// Mute/UnMute a track
message LocalTrackMuteRequest {
required uint64 track_handle = 1;
required bool mute = 2;
}
message LocalTrackMuteResponse {
required bool muted = 1;
}
// Enable/Disable a remote track
message EnableRemoteTrackRequest {
required uint64 track_handle = 1;
required bool enabled = 2;
}
message EnableRemoteTrackResponse {
required bool enabled = 1;
}

View File

@@ -0,0 +1,189 @@
// Copyright 2023 LiveKit, Inc.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
syntax = "proto2";
package livekit.proto;
option csharp_namespace = "LiveKit.Proto";
import "handle.proto";
import "track.proto";
// Create a new VideoStream
// VideoStream is used to receive video frames from a track
message NewVideoStreamRequest {
required uint64 track_handle = 1;
required VideoStreamType type = 2;
// Get the frame on a specific format
optional VideoBufferType format = 3;
optional bool normalize_stride = 4; // if true, stride will be set to width/chroma_width
}
message NewVideoStreamResponse { required OwnedVideoStream stream = 1; }
// Request a video stream from a participant
message VideoStreamFromParticipantRequest {
required uint64 participant_handle = 1;
required VideoStreamType type = 2;
required TrackSource track_source = 3;
optional VideoBufferType format = 4;
optional bool normalize_stride = 5;
}
message VideoStreamFromParticipantResponse { required OwnedVideoStream stream = 1;}
// Create a new VideoSource
// VideoSource is used to send video frame to a track
message NewVideoSourceRequest {
required VideoSourceType type = 1;
// Used to determine which encodings to use + simulcast layers
// Most of the time it corresponds to the source resolution
required VideoSourceResolution resolution = 2;
}
message NewVideoSourceResponse { required OwnedVideoSource source = 1; }
// Push a frame to a VideoSource
message CaptureVideoFrameRequest {
required uint64 source_handle = 1;
required VideoBufferInfo buffer = 2;
required int64 timestamp_us = 3; // In microseconds
required VideoRotation rotation = 4;
}
message CaptureVideoFrameResponse {}
message VideoConvertRequest {
optional bool flip_y = 1;
required VideoBufferInfo buffer = 2;
required VideoBufferType dst_type = 3;
}
message VideoConvertResponse {
oneof message {
string error = 1;
OwnedVideoBuffer buffer = 2;
}
}
//
// VideoFrame buffers
//
message VideoResolution {
required uint32 width = 1;
required uint32 height = 2;
required double frame_rate = 3;
}
enum VideoCodec {
VP8 = 0;
H264 = 1;
AV1 = 2;
VP9 = 3;
}
enum VideoRotation {
VIDEO_ROTATION_0 = 0;
VIDEO_ROTATION_90 = 1;
VIDEO_ROTATION_180 = 2;
VIDEO_ROTATION_270 = 3;
}
enum VideoBufferType {
RGBA = 0;
ABGR = 1;
ARGB = 2;
BGRA = 3;
RGB24 = 4;
I420 = 5;
I420A = 6;
I422 = 7;
I444 = 8;
I010 = 9;
NV12 = 10;
}
message VideoBufferInfo {
message ComponentInfo {
required uint64 data_ptr = 1;
required uint32 stride = 2;
required uint32 size = 3;
}
required VideoBufferType type = 1;
required uint32 width = 2;
required uint32 height = 3;
required uint64 data_ptr = 4;
required uint32 stride = 6; // only for packed formats
repeated ComponentInfo components = 7;
}
message OwnedVideoBuffer {
required FfiOwnedHandle handle = 1;
required VideoBufferInfo info = 2;
}
//
// VideoStream
//
enum VideoStreamType {
VIDEO_STREAM_NATIVE = 0;
VIDEO_STREAM_WEBGL = 1;
VIDEO_STREAM_HTML = 2;
}
message VideoStreamInfo {
required VideoStreamType type = 1;
}
message OwnedVideoStream {
required FfiOwnedHandle handle = 1;
required VideoStreamInfo info = 2;
}
message VideoStreamEvent {
required uint64 stream_handle = 1;
oneof message {
VideoFrameReceived frame_received = 2;
VideoStreamEOS eos = 3;
}
}
message VideoFrameReceived {
required OwnedVideoBuffer buffer = 1;
required int64 timestamp_us = 2; // In microseconds
required VideoRotation rotation = 3;
}
message VideoStreamEOS {}
//
// VideoSource
//
message VideoSourceResolution {
required uint32 width = 1;
required uint32 height = 2;
}
enum VideoSourceType {
VIDEO_SOURCE_NATIVE = 0;
}
message VideoSourceInfo {
required VideoSourceType type = 1;
}
message OwnedVideoSource {
required FfiOwnedHandle handle = 1;
required VideoSourceInfo info = 2;
}

View File

@@ -22,7 +22,6 @@
"Name[ia]": "Tobias Fella",
"Name[it]": "Tobias Fella",
"Name[ka]": "Tobias Fella",
"Name[ko]": "Tobias Fella",
"Name[lv]": "Tobias Fella",
"Name[nl]": "Tobias Fella",
"Name[nn]": "Tobias Fella",
@@ -60,7 +59,6 @@
"Description[ia]": "Comparti via NeoChat",
"Description[it]": "Condividi tramite NeoChat",
"Description[ka]": "გააზიარეთ NeoChat-ით",
"Description[ko]": "NeoChat으로 공유",
"Description[lv]": "Kopīgot ar „NeoChat“",
"Description[nl]": "Delen via NeoChat",
"Description[nn]": "Del via NeoChat",
@@ -98,7 +96,6 @@
"Name[ia]": "Neochat",
"Name[it]": "NeoChat",
"Name[ka]": "NeoChat",
"Name[ko]": "NeoChat",
"Name[lv]": "NeoChat",
"Name[nl]": "NeoChat",
"Name[nn]": "NeoChat",

View File

@@ -101,7 +101,11 @@ KirigamiComponents.ConvergentContextMenu {
}
enabled: Controller.csSupported
}
// QQC2.MenuItem {
// text: i18n("Show livekit logs")
// icon.name: "dialog-xml-editor"
// onTriggered: livekitLogViewerComponent.createObject(applicationWindow().overlay)
// }
QQC2.Action {
text: i18n("Logout")
icon.name: "im-kick-user"
@@ -111,4 +115,9 @@ KirigamiComponents.ConvergentContextMenu {
readonly property Component confirmLogoutDialogComponent: ConfirmLogoutDialog {
connection: root.connection
}
// Component {
// id: livekitLogViewerComponent
// LivekitLogViewer {}
// }
}

65
src/qml/CallPage.qml Normal file
View File

@@ -0,0 +1,65 @@
import QtQuick
import QtQuick.Controls
import QtQuick.Layouts
import QtMultimedia
import org.kde.kirigami as Kirigami
import org.kde.neochat
Kirigami.Page {
id: callPage
title: i18nc("@title", "Call")
RowLayout {
anchors.fill: parent
VideoOutput {
id: viewFinder
Layout.fillWidth: parent.width / 2
Layout.preferredHeight: parent.height
Label {
text: "You"
}
}
VideoOutput {
id: otherViewFinder
Layout.fillWidth: parent.width / 2
Layout.preferredHeight: parent.height
Label {
text: "Them"
}
}
}
LivekitVideoSink {
videoSink: otherViewFinder.videoSink
}
Component.onCompleted: camera.start()
Connections {
target: CallController
function onConnected(): void {
CallController.setCameraVideoSink(viewFinder.videoSink)
CallController.toggleCamera()
}
}
CaptureSession {
camera: Camera {
id: camera
}
imageCapture: ImageCapture {
id: imageCapture
}
videoOutput: viewFinder
}
}

View File

@@ -0,0 +1,45 @@
// SPDX-FileCopyrightText: 2024 Tobias Fella <tobias.fella@kde.org>
// SPDX-License-Identifier: LGPL-2.0-or-later
import QtQuick
import QtQuick.Controls as QQC2
import QtQuick.Layouts
import org.kde.kirigami as Kirigami
import org.kde.kirigamiaddons.components as Components
import org.kde.neochat
Kirigami.Dialog {
id: root
title: i18nc("@title", "Incoming call")
width: Kirigami.Units.gridUnit * 16
height: Kirigami.Units.gridUnit * 8
standardButtons: QQC2.Dialog.NoButton
Connections {
target: MediaManager
function onCloseIncomingCallDialog() {
root.close()
}
}
contentItem: ColumnLayout {
Components.DoubleFloatingButton {
anchors.centerIn: parent
leadingAction: Kirigami.Action {
icon.name: "call-start"
text: i18nc("@action:button", "Accept Call")
tooltip: ""//text
}
trailingAction: Kirigami.Action {
icon.name: "call-stop"
text: i18nc("@action:button", "Decline Call")
tooltip: ""//text
}
}
}
}

View File

@@ -0,0 +1,36 @@
// SPDX-FileCopyrightText: 2023 Tobias Fella <tobias.fella@kde.org>
// SPDX-License-Identifier: LGPL-2.0-or-later
import QtQuick
import QtQuick.Controls as QQC2
import org.kde.kirigami as Kirigami
import org.kde.neochat
Kirigami.ApplicationWindow {
id: root
title: i18nc("@title", "Livekit logs")
pageStack.initialPage: Kirigami.ScrollablePage {
title: i18nc("@title", "Livekit logs")
TableView {
id: messageList
width: root.width
model: LivekitLogModel
alternatingRows: true
delegate: QQC2.ItemDelegate {
id: messageDelegate
required property string message
width: parent.width
contentItem: QQC2.Label {
text: messageDelegate.message
wrapMode: QQC2.Label.Wrap
}
}
}
}
}

View File

@@ -4,6 +4,7 @@
import QtQuick
import QtQuick.Controls as QQC2
import QtMultimedia
import org.kde.kirigami as Kirigami
import org.kde.config as KConfig
@@ -30,6 +31,18 @@ Kirigami.ApplicationWindow {
}
}
Connections {
target: CallController
function onCallStarted() {
root.pageStack.pushDialogLayer(callPageComponent)
}
}
Component {
id: callPageComponent
CallPage {}
}
minimumWidth: Kirigami.Units.gridUnit * 20
minimumHeight: Kirigami.Units.gridUnit * 15
@@ -197,6 +210,7 @@ Kirigami.ApplicationWindow {
visible = true;
}
}
Connections {
target: NeoChatConfig
function onBlurChanged() {
@@ -347,4 +361,15 @@ Kirigami.ApplicationWindow {
initialized = true;
}
Connections {
target: MediaManager
function onShowIncomingCallDialog(): void {
incomingCallDialog.createObject(applicationWindow().overlay).open();
}
}
Component {
id: incomingCallDialog
IncomingCallDialog {}
}
}

View File

@@ -28,7 +28,10 @@ ColumnLayout {
Repeater {
id: deviceRepeater
model: KSortFilterProxyModel {
sourceModel: root.connection.threePIdModel
sourceModel: ThreePIdModel {
id: threePIdModel
connection: root.connection
}
filterRoleName: "medium"
filterString: root.medium
}
@@ -110,6 +113,9 @@ ColumnLayout {
connection: root.connection
newId: threePIdDelegate.address
medium: threePIdDelegate.medium
onThreePIdBound: threePIdModel.refreshModel()
onThreePIdUnbound: threePIdModel.refreshModel()
}
}
@@ -130,7 +136,7 @@ ColumnLayout {
label: i18nc("@label:textbox", "Country Code for new phone number")
Connections {
target: root.connection.threePIdModel
target: threePIdModel
function onModelReset() {
newCountryCode.text = ""
@@ -170,7 +176,7 @@ ColumnLayout {
onAccepted: _private.openPasswordSheet()
Connections {
target: root.connection.threePIdModel
target: threePIdModel
function onModelReset() {
newId.text = ""
@@ -198,6 +204,10 @@ ColumnLayout {
connection: root.connection
medium: root.medium
newId: newId.text
onThreePIdAdded: threePIdModel.refreshModel()
onThreePIdRemoved: threePIdModel.refreshModel()
onThreePIdUnbound: threePIdModel.refreshModel()
}
QtObject {

View File

@@ -154,11 +154,11 @@ void ThreePIdAddHelper::finalizeNewIdAdd(const QString &password)
authData.authInfo["identifier"_L1] = QJsonObject{{"type"_L1, "m.id.user"_L1}, {"user"_L1, m_connection->userId()}};
const auto innerJob = m_connection->callApi<Add3PIDJob>(m_newIdSecret, m_newIdSid, authData);
connect(innerJob, &Quotient::BaseJob::success, this, [this]() {
m_connection->threePIdModel()->refreshModel();
m_newIdSecret.clear();
m_newIdSid.clear();
m_newIdStatus = Success;
Q_EMIT newIdStatusChanged();
Q_EMIT threePIdAdded();
});
connect(innerJob, &Quotient::BaseJob::failure, this, [innerJob, this]() {
if (innerJob->jsonData()["errcode"_L1] == "M_FORBIDDEN"_L1) {
@@ -180,7 +180,7 @@ void ThreePIdAddHelper::remove3PId(const QString &threePId, const QString &type)
{
const auto job = m_connection->callApi<Quotient::Delete3pidFromAccountJob>(type, threePId);
connect(job, &Quotient::BaseJob::success, this, [this]() {
m_connection->threePIdModel()->refreshModel();
Q_EMIT threePIdRemoved();
});
}
@@ -188,7 +188,7 @@ void ThreePIdAddHelper::unbind3PId(const QString &threePId, const QString &type)
{
const auto job = m_connection->callApi<Quotient::Unbind3pidFromAccountJob>(type, threePId);
connect(job, &Quotient::BaseJob::success, this, [this]() {
m_connection->threePIdModel()->refreshModel();
Q_EMIT threePIdUnbound();
});
}

Some files were not shown because too many files have changed in this diff Show More