Merge remote-tracking branch 'origin/master' into searching
This commit is contained in:
commit
b4b1eb4bc0
23 changed files with 475 additions and 43 deletions
|
@ -37,7 +37,7 @@ Row {
|
|||
onInReplyToMessageChanged: {
|
||||
if (inReplyToMessage) {
|
||||
inReplyToUserText.text = (inReplyToMessage.sender["@type"] === "messageSenderChat" ? page.chatInformation.title : (inReplyToRow.inReplyToMessage.sender.user_id !== inReplyToRow.myUserId) ? Emoji.emojify(Functions.getUserName(tdLibWrapper.getUserInformation(inReplyToRow.inReplyToMessage.sender.user_id)), inReplyToUserText.font.pixelSize) : qsTr("You"));
|
||||
inReplyToMessageText.text = Emoji.emojify(Functions.getMessageText(inReplyToRow.inReplyToMessage, true, inReplyToRow.inReplyToMessage.sender.user_id === inReplyToRow.myUserId, false), inReplyToMessageText.font.pixelSize);
|
||||
inReplyToMessageText.text = Emoji.emojify(Functions.getMessageText(inReplyToRow.inReplyToMessage, true, inReplyToRow.myUserId, false), inReplyToMessageText.font.pixelSize);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -106,7 +106,7 @@ ListItem {
|
|||
}
|
||||
MenuItem {
|
||||
onClicked: {
|
||||
Clipboard.text = Functions.getMessageText(myMessage, true, false, true);
|
||||
Clipboard.text = Functions.getMessageText(myMessage, true, userInformation.id, true);
|
||||
}
|
||||
text: qsTr("Copy Message to Clipboard")
|
||||
}
|
||||
|
@ -163,7 +163,7 @@ ListItem {
|
|||
if (index === modelIndex) {
|
||||
Debug.log("[ChatModel] This message was updated, index ", index, ", updating content...");
|
||||
messageDateText.text = getMessageStatusText(myMessage, index, chatView.lastReadSentIndex, messageDateText.useElapsed);
|
||||
messageText.text = Emoji.emojify(Functions.getMessageText(myMessage, false, messageListItem.isOwnMessage. false), messageText.font.pixelSize);
|
||||
messageText.text = Emoji.emojify(Functions.getMessageText(myMessage, false, page.myUserId, false), messageText.font.pixelSize);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -392,7 +392,7 @@ ListItem {
|
|||
Text {
|
||||
id: messageText
|
||||
width: parent.width
|
||||
text: Emoji.emojify(Functions.getMessageText(myMessage, false, messageListItem.isOwnMessage, false), font.pixelSize)
|
||||
text: Emoji.emojify(Functions.getMessageText(myMessage, false, page.myUserId, false), font.pixelSize)
|
||||
font.pixelSize: Theme.fontSizeSmall
|
||||
color: messageListItem.textColor
|
||||
wrapMode: Text.Wrap
|
||||
|
|
|
@ -43,7 +43,7 @@ Item {
|
|||
color: Theme.highlightColor
|
||||
horizontalAlignment: Text.AlignHCenter
|
||||
font.pixelSize: Theme.fontSizeExtraSmall
|
||||
text: "<a style=\"text-decoration: none; font-weight: bold; color:"+Theme.primaryColor+"\" href=\"userId://" + messageListItem.userInformation.id + "\">" + (!messageListItem.isOwnMessage ? Emoji.emojify(Functions.getUserName(messageListItem.userInformation), font.pixelSize) : qsTr("You")) + "</a> " + Emoji.emojify(Functions.getMessageText(messageListItem.myMessage, false, messageListItem.isOwnMessage, false), font.pixelSize)
|
||||
text: "<a style=\"text-decoration: none; font-weight: bold; color:"+Theme.primaryColor+"\" href=\"userId://" + messageListItem.userInformation.id + "\">" + (!messageListItem.isOwnMessage ? Emoji.emojify(Functions.getUserName(messageListItem.userInformation), font.pixelSize) : qsTr("You")) + "</a> " + Emoji.emojify(Functions.getMessageText(messageListItem.myMessage, false, chatPage.myUserId, false), font.pixelSize)
|
||||
textFormat: Text.RichText
|
||||
wrapMode: Text.WrapAtWordBoundaryOrAnywhere
|
||||
onLinkActivated: {
|
||||
|
|
|
@ -139,7 +139,7 @@ Flickable {
|
|||
Text {
|
||||
id: overlayMessageText
|
||||
width: parent.width
|
||||
text: Emoji.emojify(Functions.getMessageText(overlayMessage, false, messageOverlayFlickable.isOwnMessage, false), font.pixelSize)
|
||||
text: Emoji.emojify(Functions.getMessageText(overlayMessage, false, tdLibWrapper.getUserInformation().id, false), font.pixelSize)
|
||||
font.pixelSize: Theme.fontSizeMedium
|
||||
color: Theme.primaryColor
|
||||
wrapMode: Text.Wrap
|
||||
|
|
|
@ -35,7 +35,7 @@ Item {
|
|||
Debug.log("[ChatPage] Activating pinned message");
|
||||
var messageUserText = (pinnedMessage.sender.user_id !== chatPage.myUserId) ? Emoji.emojify(Functions.getUserName(tdLibWrapper.getUserInformation(pinnedMessage.sender.user_id)), pinnedMessageUserText.font.pixelSize) : qsTr("You");
|
||||
pinnedMessageUserText.text = (messageUserText === "" ? qsTr("Pinned Message") : messageUserText );
|
||||
pinnedMessageText.text = Emoji.emojify(Functions.getMessageText(pinnedMessage, true, pinnedMessage.sender.user_id === chatPage.myUserId, false), pinnedMessageText.font.pixelSize);
|
||||
pinnedMessageText.text = Emoji.emojify(Functions.getMessageText(pinnedMessage, true, chatPage.myUserId, false), pinnedMessageText.font.pixelSize);
|
||||
pinnedMessageItem.visible = true;
|
||||
} else {
|
||||
pinnedMessageItem.visible = false;
|
||||
|
|
|
@ -32,7 +32,10 @@ function getUserName(userInformation) {
|
|||
return ((userInformation.first_name || "") + " " + (userInformation.last_name || "")).trim();
|
||||
}
|
||||
|
||||
function getMessageText(message, simple, myself, ignoreEntities) {
|
||||
function getMessageText(message, simple, currentUserId, ignoreEntities) {
|
||||
|
||||
var myself = ( message.sender['@type'] === "messageSenderUser" && message.sender.user_id.toString() === currentUserId.toString() );
|
||||
|
||||
switch(message.content['@type']) {
|
||||
case 'messageText':
|
||||
if (simple) {
|
||||
|
@ -89,9 +92,24 @@ function getMessageText(message, simple, myself, ignoreEntities) {
|
|||
case 'messageChatJoinByLink':
|
||||
return myself ? qsTr("joined this chat", "myself") : qsTr("joined this chat");
|
||||
case 'messageChatAddMembers':
|
||||
return myself ? qsTr("were added to this chat", "myself") : qsTr("was added to this chat");
|
||||
if (message.sender['@type'] === "messageSenderUser" && message.sender.user_id === message.content.member_user_ids[0]) {
|
||||
return myself ? qsTr("were added to this chat", "myself") : qsTr("was added to this chat");
|
||||
} else {
|
||||
var addedUserNames = "";
|
||||
for (var i = 0; i < message.content.member_user_ids.length; i++) {
|
||||
if (i > 0) {
|
||||
addedUserNames += ", ";
|
||||
}
|
||||
addedUserNames += getUserName(tdLibWrapper.getUserInformation(message.content.member_user_ids[i]));
|
||||
}
|
||||
return myself ? qsTr("have added %1 to the chat", "myself").arg(addedUserNames) : qsTr("has added %1 to the chat").arg(addedUserNames);
|
||||
}
|
||||
case 'messageChatDeleteMember':
|
||||
return myself ? qsTr("left this chat", "myself") : qsTr("left this chat");
|
||||
if (message.sender['@type'] === "messageSenderUser" && message.sender.user_id === message.content.user_id) {
|
||||
return myself ? qsTr("left this chat", "myself") : qsTr("left this chat");
|
||||
} else {
|
||||
return myself ? qsTr("have removed %1 from the chat", "myself").arg(getUserName(tdLibWrapper.getUserInformation(message.content.user_id))) : qsTr("has removed %1 from the chat").arg(getUserName(tdLibWrapper.getUserInformation(message.content.user_id)));
|
||||
}
|
||||
case 'messageChatChangeTitle':
|
||||
return myself ? qsTr("changed the chat title to %1", "myself").arg(message.content.title) : qsTr("changed the chat title to %1").arg(message.content.title);
|
||||
case 'messagePoll':
|
||||
|
@ -415,7 +433,7 @@ function getMessagesArrayText(messages) {
|
|||
lines.push(senderName);
|
||||
}
|
||||
lastSenderName = senderName;
|
||||
lines.push(getMessageText(messages[i], true, false));
|
||||
lines.push(getMessageText(messages[i], true, tdLibWrapper.getUserInformation().id, false));
|
||||
lines.push("");
|
||||
}
|
||||
return lines.join("\n");
|
||||
|
|
|
@ -1002,7 +1002,7 @@ Page {
|
|||
}
|
||||
onEditMessage: {
|
||||
newMessageColumn.editMessageId = messageId
|
||||
newMessageTextField.text = Functions.getMessageText(myMessage, false, false, true)
|
||||
newMessageTextField.text = Functions.getMessageText(myMessage, false, chatPage.myUserId, true)
|
||||
newMessageTextField.focus = true
|
||||
}
|
||||
}
|
||||
|
|
|
@ -55,7 +55,7 @@ class ChatListModel::ChatData
|
|||
{
|
||||
public:
|
||||
|
||||
ChatData(const QVariantMap &data, const QVariantMap &userInformation);
|
||||
ChatData(TDLibWrapper *tdLibWrapper, const QVariantMap &data);
|
||||
|
||||
int compareTo(const ChatData *chat) const;
|
||||
bool setOrder(const QString &order);
|
||||
|
@ -77,6 +77,7 @@ public:
|
|||
QVector<int> updateLastMessage(const QVariantMap &message);
|
||||
QVector<int> updateGroup(const TDLibWrapper::Group *group);
|
||||
QVector<int> updateSecretChat(const QVariantMap &secretChatDetails);
|
||||
TDLibWrapper *tdLibWrapper;
|
||||
|
||||
public:
|
||||
QVariantMap chatData;
|
||||
|
@ -90,7 +91,8 @@ public:
|
|||
QVariantMap userInformation;
|
||||
};
|
||||
|
||||
ChatListModel::ChatData::ChatData(const QVariantMap &data, const QVariantMap &userInfo) :
|
||||
ChatListModel::ChatData::ChatData(TDLibWrapper *tdLibWrapper, const QVariantMap &data) :
|
||||
tdLibWrapper(tdLibWrapper),
|
||||
chatData(data),
|
||||
chatId(data.value(ID).toLongLong()),
|
||||
order(data.value(ORDER).toLongLong()),
|
||||
|
@ -98,7 +100,7 @@ ChatListModel::ChatData::ChatData(const QVariantMap &data, const QVariantMap &us
|
|||
verified(false),
|
||||
memberStatus(TDLibWrapper::ChatMemberStatusUnknown),
|
||||
secretChatState(TDLibWrapper::SecretChatStateUnknown),
|
||||
userInformation(userInfo)
|
||||
userInformation(tdLibWrapper->getUserInformation())
|
||||
{
|
||||
const QVariantMap type(data.value(TYPE).toMap());
|
||||
switch (chatType = TDLibWrapper::chatTypeFromString(type.value(_TYPE).toString())) {
|
||||
|
@ -182,7 +184,7 @@ qlonglong ChatListModel::ChatData::senderMessageDate() const
|
|||
|
||||
QString ChatListModel::ChatData::senderMessageText() const
|
||||
{
|
||||
return FernschreiberUtils::getMessageShortText(lastMessage(CONTENT).toMap(), ( isChannel() ? false : this->userInformation.value(ID).toLongLong() == senderUserId() ) );
|
||||
return FernschreiberUtils::getMessageShortText(tdLibWrapper, lastMessage(CONTENT).toMap(), isChannel(), this->userInformation.value(ID).toLongLong(), lastMessage(SENDER).toMap() );
|
||||
}
|
||||
|
||||
QString ChatListModel::ChatData::senderMessageStatus() const
|
||||
|
@ -577,7 +579,7 @@ void ChatListModel::setShowAllChats(bool showAll)
|
|||
|
||||
void ChatListModel::handleChatDiscovered(const QString &, const QVariantMap &chatToBeAdded)
|
||||
{
|
||||
ChatData *chat = new ChatData(chatToBeAdded, tdLibWrapper->getUserInformation());
|
||||
ChatData *chat = new ChatData(tdLibWrapper, chatToBeAdded);
|
||||
|
||||
const TDLibWrapper::Group *group = tdLibWrapper->getGroup(chat->groupId);
|
||||
if (group) {
|
||||
|
|
|
@ -8,12 +8,14 @@ FernschreiberUtils::FernschreiberUtils(QObject *parent) : QObject(parent)
|
|||
|
||||
}
|
||||
|
||||
QString FernschreiberUtils::getMessageShortText(const QVariantMap &messageContent, const bool &myself)
|
||||
QString FernschreiberUtils::getMessageShortText(TDLibWrapper *tdLibWrapper, const QVariantMap &messageContent, const bool isChannel, const qlonglong currentUserId, const QVariantMap &messageSender)
|
||||
{
|
||||
if (messageContent.isEmpty()) {
|
||||
return QString();
|
||||
}
|
||||
|
||||
const bool myself = !isChannel && (messageSender.value("@type").toString() == "messageSenderUser" && messageSender.value("user_id").toLongLong() == currentUserId);
|
||||
|
||||
QString contentType = messageContent.value("@type").toString();
|
||||
|
||||
if (contentType == "messageText") {
|
||||
|
@ -53,10 +55,26 @@ QString FernschreiberUtils::getMessageShortText(const QVariantMap &messageConten
|
|||
return myself ? tr("joined this chat", "myself") : tr("joined this chat");
|
||||
}
|
||||
if (contentType == "messageChatAddMembers") {
|
||||
return myself ? tr("were added to this chat", "myself") : tr("was added to this chat");
|
||||
if (messageSender.value("@type").toString() == "messageSenderUser" && messageSender.value("user_id").toLongLong() == messageContent.value("member_user_ids").toList().at(0).toLongLong()) {
|
||||
return myself ? tr("were added to this chat", "myself") : tr("was added to this chat");
|
||||
} else {
|
||||
QVariantList memberUserIds = messageContent.value("member_user_ids").toList();
|
||||
QString addedUserNames;
|
||||
for (int i = 0; i < memberUserIds.size(); i++) {
|
||||
if (i > 0) {
|
||||
addedUserNames += ", ";
|
||||
}
|
||||
addedUserNames += getUserName(tdLibWrapper->getUserInformation(memberUserIds.at(i).toString()));
|
||||
}
|
||||
return myself ? tr("have added %1 to the chat", "myself").arg(addedUserNames) : tr("has added %1 to the chat").arg(addedUserNames);
|
||||
}
|
||||
}
|
||||
if (contentType == "messageChatDeleteMember") {
|
||||
return myself ? tr("left this chat", "myself") : tr("left this chat");
|
||||
if (messageSender.value("@type").toString() == "messageSenderUser" && messageSender.value("user_id").toLongLong() == messageContent.value("user_id").toLongLong()) {
|
||||
return myself ? tr("left this chat", "myself") : tr("left this chat");
|
||||
} else {
|
||||
return myself ? tr("have removed %1 from the chat", "myself").arg(getUserName(tdLibWrapper->getUserInformation(messageContent.value("user_id").toString()))) : tr("has removed %1 from the chat").arg(getUserName(tdLibWrapper->getUserInformation(messageContent.value("user_id").toString())));
|
||||
}
|
||||
}
|
||||
if (contentType == "messageChatChangeTitle") {
|
||||
return myself ? tr("changed the chat title", "myself") : tr("changed the chat title");
|
||||
|
@ -103,3 +121,10 @@ QString FernschreiberUtils::getMessageShortText(const QVariantMap &messageConten
|
|||
|
||||
return myself ? tr("sent an unsupported message: %1", "myself").arg(contentType.mid(7)) : tr("sent an unsupported message: %1").arg(contentType.mid(7));
|
||||
}
|
||||
|
||||
QString FernschreiberUtils::getUserName(const QVariantMap &userInformation)
|
||||
{
|
||||
const QString firstName = userInformation.value("first_name").toString();
|
||||
const QString lastName = userInformation.value("last_name").toString();
|
||||
return QString(firstName + " " + lastName).trimmed();
|
||||
}
|
||||
|
|
|
@ -2,6 +2,7 @@
|
|||
#define FERNSCHREIBERUTILS_H
|
||||
|
||||
#include <QObject>
|
||||
#include "tdlibwrapper.h"
|
||||
|
||||
class FernschreiberUtils : public QObject
|
||||
{
|
||||
|
@ -9,7 +10,8 @@ class FernschreiberUtils : public QObject
|
|||
public:
|
||||
explicit FernschreiberUtils(QObject *parent = nullptr);
|
||||
|
||||
static QString getMessageShortText(const QVariantMap &messageContent, const bool &myself);
|
||||
static QString getMessageShortText(TDLibWrapper *tdLibWrapper, const QVariantMap &messageContent, const bool isChannel, const qlonglong currentUserId, const QVariantMap &messageSender);
|
||||
static QString getUserName(const QVariantMap &userInformation);
|
||||
|
||||
signals:
|
||||
|
||||
|
|
|
@ -332,25 +332,22 @@ void NotificationManager::publishNotification(const NotificationGroup *notificat
|
|||
}
|
||||
|
||||
QString notificationBody;
|
||||
const QVariantMap senderInformation = messageMap.value(SENDER).toMap();
|
||||
if (notificationGroup->totalCount == 1 && !messageMap.isEmpty()) {
|
||||
LOG("Group" << notificationGroup->notificationGroupId << "has 1 notification");
|
||||
if (chatInformation && (chatInformation->type == TDLibWrapper::ChatTypeBasicGroup ||
|
||||
(chatInformation->type == TDLibWrapper::ChatTypeSupergroup && !chatInformation->isChannel))) {
|
||||
// Add author
|
||||
const QVariantMap senderInformation = messageMap.value(SENDER).toMap();
|
||||
QString fullName;
|
||||
if (senderInformation.value(_TYPE).toString() == "messageSenderChat") {
|
||||
fullName = tdLibWrapper->getChat(senderInformation.value(CHAT_ID).toString()).value(TITLE).toString();
|
||||
} else {
|
||||
const QVariantMap authorInformation = tdLibWrapper->getUserInformation(senderInformation.value(USER_ID).toString());
|
||||
const QString firstName = authorInformation.value(FIRST_NAME).toString();
|
||||
const QString lastName = authorInformation.value(LAST_NAME).toString();
|
||||
fullName = firstName + " " + lastName;
|
||||
fullName = FernschreiberUtils::getUserName(tdLibWrapper->getUserInformation(senderInformation.value(USER_ID).toString()));
|
||||
}
|
||||
|
||||
notificationBody = notificationBody + fullName.trimmed() + ": ";
|
||||
}
|
||||
notificationBody += getNotificationText(messageMap.value(CONTENT).toMap());
|
||||
notificationBody += FernschreiberUtils::getMessageShortText(tdLibWrapper, messageMap.value(CONTENT).toMap(), (chatInformation ? chatInformation->isChannel : false), tdLibWrapper->getUserInformation().value(ID).toLongLong(), senderInformation );
|
||||
nemoNotification->setBody(notificationBody);
|
||||
} else {
|
||||
// Either we have more than one notification or we have no content to display
|
||||
|
@ -380,13 +377,6 @@ void NotificationManager::publishNotification(const NotificationGroup *notificat
|
|||
nemoNotification->publish();
|
||||
}
|
||||
|
||||
QString NotificationManager::getNotificationText(const QVariantMap ¬ificationContent)
|
||||
{
|
||||
LOG("Getting notification text from content" << notificationContent);
|
||||
|
||||
return FernschreiberUtils::getMessageShortText(notificationContent, false);
|
||||
}
|
||||
|
||||
void NotificationManager::controlLedNotification(bool enabled)
|
||||
{
|
||||
static const QString PATTERN("PatternCommunicationIM");
|
||||
|
|
|
@ -50,7 +50,6 @@ public slots:
|
|||
private:
|
||||
|
||||
void publishNotification(const NotificationGroup *notificationGroup, bool needFeedback);
|
||||
QString getNotificationText(const QVariantMap ¬ificationContent);
|
||||
void controlLedNotification(bool enabled);
|
||||
void updateNotificationGroup(int groupId, qlonglong chatId, int totalCount,
|
||||
const QVariantList &addedNotifications,
|
||||
|
|
|
@ -773,6 +773,24 @@
|
|||
<source>sent an audio</source>
|
||||
<translation>hat eine Audiodatei gesendet</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>has added %1 to the chat</source>
|
||||
<translation>hat %1 zum Chat hinzugefügt</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>has removed %1 from the chat</source>
|
||||
<translation>hat %1 vom Chat entfernt</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>have added %1 to the chat</source>
|
||||
<comment>myself</comment>
|
||||
<translation>haben %1 zum Chat hinzugefügt</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>have removed %1 from the chat</source>
|
||||
<comment>myself</comment>
|
||||
<translation>haben %1 vom Chat entfernt</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ImagePage</name>
|
||||
|
@ -1044,11 +1062,11 @@
|
|||
</message>
|
||||
<message>
|
||||
<source>Download of %1 successful.</source>
|
||||
<translation type="unfinished">Download von %1 erfolgreich.</translation>
|
||||
<translation>Download von %1 erfolgreich.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Download failed.</source>
|
||||
<translation type="unfinished">Download fehlgeschlagen.</translation>
|
||||
<translation>Download fehlgeschlagen.</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
|
@ -1771,5 +1789,23 @@
|
|||
<source>Pending acknowledgement</source>
|
||||
<translation>Ausstehende Bestätigung</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>has added %1 to the chat</source>
|
||||
<translation>hat %1 zum Chat hinzugefügt</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>has removed %1 from the chat</source>
|
||||
<translation>hat %1 vom Chat entfernt</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>have added %1 to the chat</source>
|
||||
<comment>myself</comment>
|
||||
<translation>haben %1 zum Chat hinzugefügt</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>have removed %1 from the chat</source>
|
||||
<comment>myself</comment>
|
||||
<translation>haben %1 vom Chat entfernt</translation>
|
||||
</message>
|
||||
</context>
|
||||
</TS>
|
||||
|
|
|
@ -773,6 +773,24 @@
|
|||
<source>sent an audio</source>
|
||||
<translation>sent an audio</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>has added %1 to the chat</source>
|
||||
<translation>has added %1 to the chat</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>has removed %1 from the chat</source>
|
||||
<translation>has removed %1 from the chat</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>have added %1 to the chat</source>
|
||||
<comment>myself</comment>
|
||||
<translation>have added %1 to the chat</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>have removed %1 from the chat</source>
|
||||
<comment>myself</comment>
|
||||
<translation>have removed %1 from the chat</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ImagePage</name>
|
||||
|
@ -1044,11 +1062,11 @@
|
|||
</message>
|
||||
<message>
|
||||
<source>Download of %1 successful.</source>
|
||||
<translation type="unfinished">Download of %1 successful.</translation>
|
||||
<translation>Download of %1 successful.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Download failed.</source>
|
||||
<translation type="unfinished">Download failed.</translation>
|
||||
<translation>Download failed.</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
|
@ -1771,5 +1789,23 @@
|
|||
<source>Pending acknowledgement</source>
|
||||
<translation>Pending acknowledgement</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>has added %1 to the chat</source>
|
||||
<translation type="unfinished">has added %1 to the chat</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>has removed %1 from the chat</source>
|
||||
<translation type="unfinished">has removed %1 from the chat</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>have added %1 to the chat</source>
|
||||
<comment>myself</comment>
|
||||
<translation type="unfinished">have added %1 to the chat</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>have removed %1 from the chat</source>
|
||||
<comment>myself</comment>
|
||||
<translation type="unfinished">have removed %1 from the chat</translation>
|
||||
</message>
|
||||
</context>
|
||||
</TS>
|
||||
|
|
|
@ -763,6 +763,24 @@
|
|||
<source>sent an audio</source>
|
||||
<translation>envió un audio</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>has added %1 to the chat</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>has removed %1 from the chat</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>have added %1 to the chat</source>
|
||||
<comment>myself</comment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>have removed %1 from the chat</source>
|
||||
<comment>myself</comment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ImagePage</name>
|
||||
|
@ -1752,5 +1770,23 @@
|
|||
<source>Pending acknowledgement</source>
|
||||
<translation>Pendiente de reconocimiento</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>has added %1 to the chat</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>has removed %1 from the chat</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>have added %1 to the chat</source>
|
||||
<comment>myself</comment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>have removed %1 from the chat</source>
|
||||
<comment>myself</comment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
</TS>
|
||||
|
|
|
@ -774,6 +774,24 @@
|
|||
<source>sent an audio</source>
|
||||
<translation>lähetti äänitteen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>has added %1 to the chat</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>has removed %1 from the chat</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>have added %1 to the chat</source>
|
||||
<comment>myself</comment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>have removed %1 from the chat</source>
|
||||
<comment>myself</comment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ImagePage</name>
|
||||
|
@ -1772,5 +1790,23 @@
|
|||
<source>Pending acknowledgement</source>
|
||||
<translation>Odottaa hyväksyntää</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>has added %1 to the chat</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>has removed %1 from the chat</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>have added %1 to the chat</source>
|
||||
<comment>myself</comment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>have removed %1 from the chat</source>
|
||||
<comment>myself</comment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
</TS>
|
||||
|
|
|
@ -763,6 +763,24 @@
|
|||
<source>sent an audio</source>
|
||||
<translation type="unfinished">audiót küldött</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>has added %1 to the chat</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>has removed %1 from the chat</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>have added %1 to the chat</source>
|
||||
<comment>myself</comment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>have removed %1 from the chat</source>
|
||||
<comment>myself</comment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ImagePage</name>
|
||||
|
@ -1752,5 +1770,23 @@
|
|||
<source>Pending acknowledgement</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>has added %1 to the chat</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>has removed %1 from the chat</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>have added %1 to the chat</source>
|
||||
<comment>myself</comment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>have removed %1 from the chat</source>
|
||||
<comment>myself</comment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
</TS>
|
||||
|
|
|
@ -773,6 +773,24 @@
|
|||
<source>sent an audio</source>
|
||||
<translation>ha inviato un audio</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>has added %1 to the chat</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>has removed %1 from the chat</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>have added %1 to the chat</source>
|
||||
<comment>myself</comment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>have removed %1 from the chat</source>
|
||||
<comment>myself</comment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ImagePage</name>
|
||||
|
@ -1771,5 +1789,23 @@
|
|||
<source>Pending acknowledgement</source>
|
||||
<translation>In attesa di conferma</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>has added %1 to the chat</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>has removed %1 from the chat</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>have added %1 to the chat</source>
|
||||
<comment>myself</comment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>have removed %1 from the chat</source>
|
||||
<comment>myself</comment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
</TS>
|
||||
|
|
|
@ -783,6 +783,24 @@
|
|||
<source>sent an audio</source>
|
||||
<translation>wysłał plik dźwiękowy</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>has added %1 to the chat</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>has removed %1 from the chat</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>have added %1 to the chat</source>
|
||||
<comment>myself</comment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>have removed %1 from the chat</source>
|
||||
<comment>myself</comment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ImagePage</name>
|
||||
|
@ -1790,5 +1808,23 @@
|
|||
<source>Pending acknowledgement</source>
|
||||
<translation>Oczekujące na potwierdzenie</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>has added %1 to the chat</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>has removed %1 from the chat</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>have added %1 to the chat</source>
|
||||
<comment>myself</comment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>have removed %1 from the chat</source>
|
||||
<comment>myself</comment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
</TS>
|
||||
|
|
|
@ -783,6 +783,24 @@
|
|||
<source>sent an audio</source>
|
||||
<translation>отправил(а) аудио</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>has added %1 to the chat</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>has removed %1 from the chat</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>have added %1 to the chat</source>
|
||||
<comment>myself</comment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>have removed %1 from the chat</source>
|
||||
<comment>myself</comment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ImagePage</name>
|
||||
|
@ -1790,5 +1808,23 @@
|
|||
<source>Pending acknowledgement</source>
|
||||
<translation>Ожидание подтверждения</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>has added %1 to the chat</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>has removed %1 from the chat</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>have added %1 to the chat</source>
|
||||
<comment>myself</comment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>have removed %1 from the chat</source>
|
||||
<comment>myself</comment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
</TS>
|
||||
|
|
|
@ -773,6 +773,24 @@
|
|||
<source>sent an audio</source>
|
||||
<translation>skickade en ljudfil</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>has added %1 to the chat</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>has removed %1 from the chat</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>have added %1 to the chat</source>
|
||||
<comment>myself</comment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>have removed %1 from the chat</source>
|
||||
<comment>myself</comment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ImagePage</name>
|
||||
|
@ -1771,5 +1789,23 @@
|
|||
<source>Pending acknowledgement</source>
|
||||
<translation>Väntar på bekräftelse</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>has added %1 to the chat</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>has removed %1 from the chat</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>have added %1 to the chat</source>
|
||||
<comment>myself</comment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>have removed %1 from the chat</source>
|
||||
<comment>myself</comment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
</TS>
|
||||
|
|
|
@ -763,6 +763,24 @@
|
|||
<source>sent an audio</source>
|
||||
<translation>发送音频</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>has added %1 to the chat</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>has removed %1 from the chat</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>have added %1 to the chat</source>
|
||||
<comment>myself</comment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>have removed %1 from the chat</source>
|
||||
<comment>myself</comment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ImagePage</name>
|
||||
|
@ -900,11 +918,11 @@
|
|||
</message>
|
||||
<message>
|
||||
<source>Message unpinned</source>
|
||||
<translation type="unfinished">已取消置顶消息</translation>
|
||||
<translation>已取消消息置顶</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Unpin Message</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>取消置顶</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
|
@ -1033,11 +1051,11 @@
|
|||
</message>
|
||||
<message>
|
||||
<source>Download of %1 successful.</source>
|
||||
<translation type="unfinished">已成功下载 %1 。</translation>
|
||||
<translation>已成功下载 %1 。</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Download failed.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>下载失败。</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
|
@ -1752,5 +1770,23 @@
|
|||
<source>Pending acknowledgement</source>
|
||||
<translation>等待确认</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>has added %1 to the chat</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>has removed %1 from the chat</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>have added %1 to the chat</source>
|
||||
<comment>myself</comment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>have removed %1 from the chat</source>
|
||||
<comment>myself</comment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
</TS>
|
||||
|
|
|
@ -773,6 +773,24 @@
|
|||
<source>sent an audio</source>
|
||||
<translation type="unfinished">sent an audio</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>has added %1 to the chat</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>has removed %1 from the chat</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>have added %1 to the chat</source>
|
||||
<comment>myself</comment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>have removed %1 from the chat</source>
|
||||
<comment>myself</comment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ImagePage</name>
|
||||
|
@ -1771,5 +1789,23 @@
|
|||
<source>Pending acknowledgement</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>has added %1 to the chat</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>has removed %1 from the chat</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>have added %1 to the chat</source>
|
||||
<comment>myself</comment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>have removed %1 from the chat</source>
|
||||
<comment>myself</comment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
</TS>
|
||||
|
|
Loading…
Reference in a new issue