diff --git a/qml/components/InReplyToRow.qml b/qml/components/InReplyToRow.qml
index 3c4fb9b..ed9448b 100644
--- a/qml/components/InReplyToRow.qml
+++ b/qml/components/InReplyToRow.qml
@@ -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);
}
}
diff --git a/qml/components/MessageListViewItem.qml b/qml/components/MessageListViewItem.qml
index a3aafdb..e39c0e9 100644
--- a/qml/components/MessageListViewItem.qml
+++ b/qml/components/MessageListViewItem.qml
@@ -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
diff --git a/qml/components/MessageListViewItemSimple.qml b/qml/components/MessageListViewItemSimple.qml
index b3c75f9..3925028 100644
--- a/qml/components/MessageListViewItemSimple.qml
+++ b/qml/components/MessageListViewItemSimple.qml
@@ -43,7 +43,7 @@ Item {
color: Theme.highlightColor
horizontalAlignment: Text.AlignHCenter
font.pixelSize: Theme.fontSizeExtraSmall
- text: "" + (!messageListItem.isOwnMessage ? Emoji.emojify(Functions.getUserName(messageListItem.userInformation), font.pixelSize) : qsTr("You")) + " " + Emoji.emojify(Functions.getMessageText(messageListItem.myMessage, false, messageListItem.isOwnMessage, false), font.pixelSize)
+ text: "" + (!messageListItem.isOwnMessage ? Emoji.emojify(Functions.getUserName(messageListItem.userInformation), font.pixelSize) : qsTr("You")) + " " + Emoji.emojify(Functions.getMessageText(messageListItem.myMessage, false, chatPage.myUserId, false), font.pixelSize)
textFormat: Text.RichText
wrapMode: Text.WrapAtWordBoundaryOrAnywhere
onLinkActivated: {
diff --git a/qml/components/MessageOverlayFlickable.qml b/qml/components/MessageOverlayFlickable.qml
index b6e996d..b3db83d 100644
--- a/qml/components/MessageOverlayFlickable.qml
+++ b/qml/components/MessageOverlayFlickable.qml
@@ -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
diff --git a/qml/components/PinnedMessageItem.qml b/qml/components/PinnedMessageItem.qml
index 93b6c92..8d048dc 100644
--- a/qml/components/PinnedMessageItem.qml
+++ b/qml/components/PinnedMessageItem.qml
@@ -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;
diff --git a/qml/js/functions.js b/qml/js/functions.js
index 3b4d180..923f068 100644
--- a/qml/js/functions.js
+++ b/qml/js/functions.js
@@ -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");
diff --git a/qml/pages/ChatPage.qml b/qml/pages/ChatPage.qml
index ddc59a4..29747e6 100644
--- a/qml/pages/ChatPage.qml
+++ b/qml/pages/ChatPage.qml
@@ -935,7 +935,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
}
}
diff --git a/src/chatlistmodel.cpp b/src/chatlistmodel.cpp
index a998b91..d51fff7 100644
--- a/src/chatlistmodel.cpp
+++ b/src/chatlistmodel.cpp
@@ -72,7 +72,7 @@ public:
RoleIsChannel
};
- ChatData(const QVariantMap &data, const QVariantMap &userInformation);
+ ChatData(TDLibWrapper *tdLibWrapper, const QVariantMap &data);
int compareTo(const ChatData *chat) const;
bool setOrder(const QString &order);
@@ -94,6 +94,7 @@ public:
QVector updateLastMessage(const QVariantMap &message);
QVector updateGroup(const TDLibWrapper::Group *group);
QVector updateSecretChat(const QVariantMap &secretChatDetails);
+ TDLibWrapper *tdLibWrapper;
public:
QVariantMap chatData;
@@ -107,7 +108,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()),
@@ -115,7 +117,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())) {
@@ -199,7 +201,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
@@ -592,7 +594,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) {
diff --git a/src/fernschreiberutils.cpp b/src/fernschreiberutils.cpp
index e2e8631..b75734a 100644
--- a/src/fernschreiberutils.cpp
+++ b/src/fernschreiberutils.cpp
@@ -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();
+}
diff --git a/src/fernschreiberutils.h b/src/fernschreiberutils.h
index 10858f1..35fc8a0 100644
--- a/src/fernschreiberutils.h
+++ b/src/fernschreiberutils.h
@@ -2,6 +2,7 @@
#define FERNSCHREIBERUTILS_H
#include
+#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:
diff --git a/src/notificationmanager.cpp b/src/notificationmanager.cpp
index 43eed89..dbeb1bf 100644
--- a/src/notificationmanager.cpp
+++ b/src/notificationmanager.cpp
@@ -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");
diff --git a/src/notificationmanager.h b/src/notificationmanager.h
index 57c66eb..1fef892 100644
--- a/src/notificationmanager.h
+++ b/src/notificationmanager.h
@@ -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,
diff --git a/translations/harbour-fernschreiber-de.ts b/translations/harbour-fernschreiber-de.ts
index a1e9739..29f8c68 100644
--- a/translations/harbour-fernschreiber-de.ts
+++ b/translations/harbour-fernschreiber-de.ts
@@ -765,6 +765,24 @@
hat eine Audiodatei gesendet
+
+
+ hat %1 zum Chat hinzugefügt
+
+
+
+ hat %1 vom Chat entfernt
+
+
+
+ myself
+ haben %1 zum Chat hinzugefügt
+
+
+
+ myself
+ haben %1 vom Chat entfernt
+
ImagePage
@@ -1028,11 +1046,11 @@
- Download von %1 erfolgreich.
+ Download von %1 erfolgreich.
- Download fehlgeschlagen.
+ Download fehlgeschlagen.
@@ -1712,5 +1730,23 @@
Ausstehende Bestätigung
+
+
+ hat %1 zum Chat hinzugefügt
+
+
+
+ hat %1 vom Chat entfernt
+
+
+
+ myself
+ haben %1 zum Chat hinzugefügt
+
+
+
+ myself
+ haben %1 vom Chat entfernt
+
diff --git a/translations/harbour-fernschreiber-en.ts b/translations/harbour-fernschreiber-en.ts
index 41caf9e..9db2c96 100644
--- a/translations/harbour-fernschreiber-en.ts
+++ b/translations/harbour-fernschreiber-en.ts
@@ -765,6 +765,24 @@
sent an audio
+
+
+ has added %1 to the chat
+
+
+
+ has removed %1 from the chat
+
+
+
+ myself
+ have added %1 to the chat
+
+
+
+ myself
+ have removed %1 from the chat
+
ImagePage
@@ -1028,11 +1046,11 @@
- Download of %1 successful.
+ Download of %1 successful.
- Download failed.
+ Download failed.
@@ -1712,5 +1730,23 @@
Pending acknowledgement
+
+
+ has added %1 to the chat
+
+
+
+ has removed %1 from the chat
+
+
+
+ myself
+ have added %1 to the chat
+
+
+
+ myself
+ have removed %1 from the chat
+
diff --git a/translations/harbour-fernschreiber-es.ts b/translations/harbour-fernschreiber-es.ts
index 35ed61b..af19a0f 100644
--- a/translations/harbour-fernschreiber-es.ts
+++ b/translations/harbour-fernschreiber-es.ts
@@ -755,6 +755,24 @@
envió un audio
+
+
+
+
+
+
+
+
+
+
+ myself
+
+
+
+
+ myself
+
+
ImagePage
@@ -1693,5 +1711,23 @@
Pendiente de reconocimiento
+
+
+
+
+
+
+
+
+
+
+ myself
+
+
+
+
+ myself
+
+
diff --git a/translations/harbour-fernschreiber-fi.ts b/translations/harbour-fernschreiber-fi.ts
index 1419cd6..d940597 100644
--- a/translations/harbour-fernschreiber-fi.ts
+++ b/translations/harbour-fernschreiber-fi.ts
@@ -766,6 +766,24 @@
lähetti äänitteen
+
+
+
+
+
+
+
+
+
+
+ myself
+
+
+
+
+ myself
+
+
ImagePage
@@ -1713,5 +1731,23 @@
Odottaa hyväksyntää
+
+
+
+
+
+
+
+
+
+
+ myself
+
+
+
+
+ myself
+
+
diff --git a/translations/harbour-fernschreiber-hu.ts b/translations/harbour-fernschreiber-hu.ts
index f24ffa0..1d6a27d 100644
--- a/translations/harbour-fernschreiber-hu.ts
+++ b/translations/harbour-fernschreiber-hu.ts
@@ -755,6 +755,24 @@
audiót küldött
+
+
+
+
+
+
+
+
+
+
+ myself
+
+
+
+
+ myself
+
+
ImagePage
@@ -1693,5 +1711,23 @@
+
+
+
+
+
+
+
+
+
+
+ myself
+
+
+
+
+ myself
+
+
diff --git a/translations/harbour-fernschreiber-it.ts b/translations/harbour-fernschreiber-it.ts
index c33a2a1..3f6c8e0 100644
--- a/translations/harbour-fernschreiber-it.ts
+++ b/translations/harbour-fernschreiber-it.ts
@@ -765,6 +765,24 @@
ha inviato un audio
+
+
+
+
+
+
+
+
+
+
+ myself
+
+
+
+
+ myself
+
+
ImagePage
@@ -1712,5 +1730,23 @@
In attesa di conferma
+
+
+
+
+
+
+
+
+
+
+ myself
+
+
+
+
+ myself
+
+
diff --git a/translations/harbour-fernschreiber-pl.ts b/translations/harbour-fernschreiber-pl.ts
index 4f6b1ae..e8ad7cf 100644
--- a/translations/harbour-fernschreiber-pl.ts
+++ b/translations/harbour-fernschreiber-pl.ts
@@ -775,6 +775,24 @@
wysłał plik dźwiękowy
+
+
+
+
+
+
+
+
+
+
+ myself
+
+
+
+
+ myself
+
+
ImagePage
@@ -1731,5 +1749,23 @@
Oczekujące na potwierdzenie
+
+
+
+
+
+
+
+
+
+
+ myself
+
+
+
+
+ myself
+
+
diff --git a/translations/harbour-fernschreiber-ru.ts b/translations/harbour-fernschreiber-ru.ts
index a8a0405..ce981da 100644
--- a/translations/harbour-fernschreiber-ru.ts
+++ b/translations/harbour-fernschreiber-ru.ts
@@ -775,6 +775,24 @@
отправил(а) аудио
+
+
+
+
+
+
+
+
+
+
+ myself
+
+
+
+
+ myself
+
+
ImagePage
@@ -1731,5 +1749,23 @@
Ожидание подтверждения
+
+
+
+
+
+
+
+
+
+
+ myself
+
+
+
+
+ myself
+
+
diff --git a/translations/harbour-fernschreiber-sv.ts b/translations/harbour-fernschreiber-sv.ts
index 4cede85..0aa1fbc 100644
--- a/translations/harbour-fernschreiber-sv.ts
+++ b/translations/harbour-fernschreiber-sv.ts
@@ -765,6 +765,24 @@
skickade en ljudfil
+
+
+
+
+
+
+
+
+
+
+ myself
+
+
+
+
+ myself
+
+
ImagePage
@@ -1712,5 +1730,23 @@
Väntar på bekräftelse
+
+
+
+
+
+
+
+
+
+
+ myself
+
+
+
+
+ myself
+
+
diff --git a/translations/harbour-fernschreiber-zh_CN.ts b/translations/harbour-fernschreiber-zh_CN.ts
index ec605f6..3557b00 100644
--- a/translations/harbour-fernschreiber-zh_CN.ts
+++ b/translations/harbour-fernschreiber-zh_CN.ts
@@ -755,6 +755,24 @@
发送音频
+
+
+
+
+
+
+
+
+
+
+ myself
+
+
+
+
+ myself
+
+
ImagePage
@@ -1693,5 +1711,23 @@
等待确认
+
+
+
+
+
+
+
+
+
+
+ myself
+
+
+
+
+ myself
+
+
diff --git a/translations/harbour-fernschreiber.ts b/translations/harbour-fernschreiber.ts
index a0687d8..b3969bf 100644
--- a/translations/harbour-fernschreiber.ts
+++ b/translations/harbour-fernschreiber.ts
@@ -765,6 +765,24 @@
sent an audio
+
+
+
+
+
+
+
+
+
+
+ myself
+
+
+
+
+ myself
+
+
ImagePage
@@ -1712,5 +1730,23 @@
+
+
+
+
+
+
+
+
+
+
+ myself
+
+
+
+
+ myself
+
+