1
0
mirror of https://github.com/qTox/qTox.git synced 2024-03-22 14:00:36 +08:00

feat(history): Add self join/part messages

Makes it so that looking back in chat history, you can see which users you were
connected to for any message. Otherwise self client restarts are unseen.
Follows showGroupJoinLeaveMessages setting which defaults to false, so only
users who opt in will see the messages.

Scrap generic numArg handling. It somewhat increases complexity and doesn't
reduce code either.
This commit is contained in:
Anthony Bilinski 2022-03-09 03:06:59 -08:00
parent be3e8997c4
commit e740859ef9
No known key found for this signature in database
GPG Key ID: 2AA8E0DA1B31FB3C
52 changed files with 414 additions and 43 deletions

View File

@ -133,6 +133,8 @@ ChatMessage::SystemMessageType getChatMessageType(const SystemMessage& systemMes
case SystemMessageType::outgoingCall:
case SystemMessageType::incomingCall:
case SystemMessageType::callEnd:
case SystemMessageType::selfJoinedGroup:
case SystemMessageType::selfLeftGroup:
return ChatMessage::INFO;
}

View File

@ -42,6 +42,8 @@ enum class SystemMessageType
incomingCall,
callEnd,
messageSendFailed,
selfJoinedGroup,
selfLeftGroup,
};
struct SystemMessage
@ -53,62 +55,36 @@ struct SystemMessage
QString toString() const
{
QString translated;
size_t numArgs = 0;
switch (messageType) {
case SystemMessageType::fileSendFailed:
translated = QObject::tr("Failed to send file \"%1\"");
numArgs = 1;
break;
return QObject::tr("Failed to send file \"%1\"").arg(args[0]);
case SystemMessageType::userJoinedGroup:
translated = QObject::tr("%1 has joined the group");
numArgs = 1;
break;
return QObject::tr("%1 has joined the group").arg(args[0]);
case SystemMessageType::userLeftGroup:
translated = QObject::tr("%1 has left the group");
numArgs = 1;
break;
return QObject::tr("%1 has left the group").arg(args[0]);
case SystemMessageType::peerNameChanged:
translated = QObject::tr("%1 is now known as %2");
numArgs = 2;
break;
return QObject::tr("%1 is now known as %2").arg(args[0]).arg(args[1]);
case SystemMessageType::titleChanged:
translated = QObject::tr("%1 has set the title to %2");
numArgs = 2;
break;
return QObject::tr("%1 has set the title to %2").arg(args[0]).arg(args[1]);
case SystemMessageType::cleared:
translated = QObject::tr("Cleared");
break;
return QObject::tr("Cleared");
case SystemMessageType::unexpectedCallEnd:
translated = QObject::tr("Call with %1 ended unexpectedly. %2");
numArgs = 2;
break;
return QObject::tr("Call with %1 ended unexpectedly. %2").arg(args[0]).arg(args[1]);
case SystemMessageType::callEnd:
translated = QObject::tr("Call with %1 ended. %2");
numArgs = 2;
break;
return QObject::tr("Call with %1 ended. %2").arg(args[0]).arg(args[1]);
case SystemMessageType::peerStateChange:
translated = QObject::tr("%1 is now %2", "e.g. \"Dubslow is now online\"");
numArgs = 2;
break;
return QObject::tr("%1 is now %2", "e.g. \"Dubslow is now online\"").arg(args[0]).arg(args[1]);
case SystemMessageType::outgoingCall:
translated = QObject::tr("Calling %1");
numArgs = 1;
break;
return QObject::tr("Calling %1").arg(args[0]);
case SystemMessageType::incomingCall:
translated = QObject::tr("%1 calling");
numArgs = 1;
break;
return QObject::tr("%1 calling").arg(args[0]);
case SystemMessageType::messageSendFailed:
translated = QObject::tr("Message failed to send");
break;
return QObject::tr("Message failed to send");
case SystemMessageType::selfJoinedGroup:
return QObject::tr("You have joined the group");
case SystemMessageType::selfLeftGroup:
return QObject::tr("You have left the group");
}
for (size_t i = 0; i < numArgs; ++i) {
translated = translated.arg(args[i]);
}
return translated;
return {};
}
};

View File

@ -325,6 +325,8 @@ QDateTime GenericChatForm::getLatestTime() const
case SystemMessageType::userJoinedGroup:
case SystemMessageType::fileSendFailed:
case SystemMessageType::messageSendFailed:
case SystemMessageType::selfJoinedGroup:
case SystemMessageType::selfLeftGroup:
return false;
}

View File

@ -133,6 +133,10 @@ GroupChatForm::GroupChatForm(Core& _core, Group* chatGroup, IChatLog& chatLog, I
connect(group, &Group::numPeersChanged, this, &GroupChatForm::updateUserCount);
settings.connectTo_blackListChanged(this, [this](QStringList const&) { this->updateUserNames(); });
if (settings.getShowGroupJoinLeaveMessages()) {
addSystemInfoMessage(QDateTime::currentDateTime(), SystemMessageType::selfJoinedGroup, {});
}
updateUserNames();
setAcceptDrops(true);
Translator::registerHandler(std::bind(&GroupChatForm::retranslateUi, this), this);
@ -140,6 +144,9 @@ GroupChatForm::GroupChatForm(Core& _core, Group* chatGroup, IChatLog& chatLog, I
GroupChatForm::~GroupChatForm()
{
if (settings.getShowGroupJoinLeaveMessages()) {
addSystemInfoMessage(QDateTime::currentDateTime(), SystemMessageType::selfLeftGroup, {});
}
Translator::unregister(this);
}

8
translations/ar.ts vendored
View File

@ -2476,6 +2476,14 @@ This ID includes the NoSpam code (in blue), and the checksum (in gray).</source>
<source>Control</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>You have joined the group</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>You have left the group</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>RemoveFriendDialog</name>

8
translations/be.ts vendored
View File

@ -2472,6 +2472,14 @@ This ID includes the NoSpam code (in blue), and the checksum (in gray).</source>
<source>Control</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>You have joined the group</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>You have left the group</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>RemoveFriendDialog</name>

8
translations/bg.ts vendored
View File

@ -2473,6 +2473,14 @@ This ID includes the NoSpam code (in blue), and the checksum (in gray).</source>
<source>Control</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>You have joined the group</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>You have left the group</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>RemoveFriendDialog</name>

8
translations/cs.ts vendored
View File

@ -2476,6 +2476,14 @@ ID zahrnuje kód NoSpam (modře) a kontrolní součet (šedě).</translation>
<source>Control</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>You have joined the group</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>You have left the group</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>RemoveFriendDialog</name>

8
translations/da.ts vendored
View File

@ -2456,6 +2456,14 @@ This ID includes the NoSpam code (in blue), and the checksum (in gray).</source>
<source>Control</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>You have joined the group</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>You have left the group</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>RemoveFriendDialog</name>

8
translations/de.ts vendored
View File

@ -2481,6 +2481,14 @@ Diese ID enthält den NoSpam-Code (in blau) und die Prüfsumme (in grau).</trans
<source>Control</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>You have joined the group</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>You have left the group</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>RemoveFriendDialog</name>

8
translations/el.ts vendored
View File

@ -2460,6 +2460,14 @@ This ID includes the NoSpam code (in blue), and the checksum (in gray).</source>
<source>Control</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>You have joined the group</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>You have left the group</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>RemoveFriendDialog</name>

8
translations/eo.ts vendored
View File

@ -2448,6 +2448,14 @@ This ID includes the NoSpam code (in blue), and the checksum (in gray).</source>
<source>Control</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>You have joined the group</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>You have left the group</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>RemoveFriendDialog</name>

8
translations/es.ts vendored
View File

@ -2473,6 +2473,14 @@ Este ID incluye el código NoSpam (en azul), y la suma de comprobación (en gris
<source>Control</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>You have joined the group</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>You have left the group</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>RemoveFriendDialog</name>

8
translations/et.ts vendored
View File

@ -2475,6 +2475,14 @@ See ID sisaldab NoSpam koodi (sinine) ja kontrollsumma (hall).</translation>
<source>Control</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>You have joined the group</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>You have left the group</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>RemoveFriendDialog</name>

8
translations/fa.ts vendored
View File

@ -2464,6 +2464,14 @@ This ID includes the NoSpam code (in blue), and the checksum (in gray).</source>
<source>Control</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>You have joined the group</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>You have left the group</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>RemoveFriendDialog</name>

8
translations/fi.ts vendored
View File

@ -2472,6 +2472,14 @@ Tämä ID sisältää spammin estävän koodin(joka on sinisellä), ja tarkistus
<source>Control</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>You have joined the group</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>You have left the group</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>RemoveFriendDialog</name>

8
translations/fr.ts vendored
View File

@ -2472,6 +2472,14 @@ Cet identifiant comprend le code NoSpam (en bleu) et la somme de contrôle (en g
<source>Control</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>You have joined the group</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>You have left the group</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>RemoveFriendDialog</name>

8
translations/gl.ts vendored
View File

@ -2468,6 +2468,14 @@ This ID includes the NoSpam code (in blue), and the checksum (in gray).</source>
<source>Control</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>You have joined the group</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>You have left the group</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>RemoveFriendDialog</name>

8
translations/he.ts vendored
View File

@ -2456,6 +2456,14 @@ This ID includes the NoSpam code (in blue), and the checksum (in gray).</source>
<source>Control</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>You have joined the group</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>You have left the group</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>RemoveFriendDialog</name>

8
translations/hr.ts vendored
View File

@ -2464,6 +2464,14 @@ This ID includes the NoSpam code (in blue), and the checksum (in gray).</source>
<source>Control</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>You have joined the group</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>You have left the group</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>RemoveFriendDialog</name>

8
translations/hu.ts vendored
View File

@ -2456,6 +2456,14 @@ This ID includes the NoSpam code (in blue), and the checksum (in gray).</source>
<source>Control</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>You have joined the group</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>You have left the group</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>RemoveFriendDialog</name>

8
translations/is.ts vendored
View File

@ -2456,6 +2456,14 @@ This ID includes the NoSpam code (in blue), and the checksum (in gray).</source>
<source>Control</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>You have joined the group</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>You have left the group</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>RemoveFriendDialog</name>

8
translations/it.ts vendored
View File

@ -2469,6 +2469,14 @@ This ID includes the NoSpam code (in blue), and the checksum (in gray).</source>
<source>Control</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>You have joined the group</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>You have left the group</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>RemoveFriendDialog</name>

8
translations/ja.ts vendored
View File

@ -2455,6 +2455,14 @@ This ID includes the NoSpam code (in blue), and the checksum (in gray).</source>
<source>Control</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>You have joined the group</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>You have left the group</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>RemoveFriendDialog</name>

8
translations/kn.ts vendored
View File

@ -2456,6 +2456,14 @@ This ID includes the NoSpam code (in blue), and the checksum (in gray).</source>
<source>Control</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>You have joined the group</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>You have left the group</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>RemoveFriendDialog</name>

8
translations/ko.ts vendored
View File

@ -2454,6 +2454,14 @@ This ID includes the NoSpam code (in blue), and the checksum (in gray).</source>
<source>Control</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>You have joined the group</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>You have left the group</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>RemoveFriendDialog</name>

8
translations/lt.ts vendored
View File

@ -2478,6 +2478,14 @@ Pasidalinkite ja su draugais, kad pradėtumėte kalbėtis.
<source>Control</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>You have joined the group</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>You have left the group</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>RemoveFriendDialog</name>

8
translations/lv.ts vendored
View File

@ -2479,6 +2479,14 @@ This ID includes the NoSpam code (in blue), and the checksum (in gray).</source>
<source>Control</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>You have joined the group</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>You have left the group</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>RemoveFriendDialog</name>

8
translations/mk.ts vendored
View File

@ -2472,6 +2472,14 @@ This ID includes the NoSpam code (in blue), and the checksum (in gray).</source>
<source>Control</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>You have joined the group</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>You have left the group</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>RemoveFriendDialog</name>

8
translations/nl.ts vendored
View File

@ -2460,6 +2460,14 @@ This ID includes the NoSpam code (in blue), and the checksum (in gray).</source>
<source>Control</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>You have joined the group</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>You have left the group</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>RemoveFriendDialog</name>

View File

@ -2468,6 +2468,14 @@ This ID includes the NoSpam code (in blue), and the checksum (in gray).</source>
<source>Control</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>You have joined the group</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>You have left the group</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>RemoveFriendDialog</name>

View File

@ -2462,6 +2462,14 @@ This ID includes the NoSpam code (in blue), and the checksum (in gray).</source>
<source>Control</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>You have joined the group</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>You have left the group</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>RemoveFriendDialog</name>

8
translations/pl.ts vendored
View File

@ -2498,6 +2498,14 @@ This ID includes the NoSpam code (in blue), and the checksum (in gray).</source>
<source>Control</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>You have joined the group</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>You have left the group</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>RemoveFriendDialog</name>

8
translations/pt.ts vendored
View File

@ -2472,6 +2472,14 @@ Este ID inclui o código NoSpam (em azul) e o checkum (em cinzento).</translatio
<source>Control</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>You have joined the group</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>You have left the group</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>RemoveFriendDialog</name>

View File

@ -2480,6 +2480,14 @@ Este ID inclui o código NoSpam (em azul) e o checkum (em cinza).</translation>
<source>Control</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>You have joined the group</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>You have left the group</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>RemoveFriendDialog</name>

8
translations/ro.ts vendored
View File

@ -2484,6 +2484,14 @@ Acest ID include codul NoSpam (în albastru) și suma de control (în gri).</tra
<source>Control</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>You have joined the group</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>You have left the group</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>RemoveFriendDialog</name>

8
translations/ru.ts vendored
View File

@ -2482,6 +2482,14 @@ This ID includes the NoSpam code (in blue), and the checksum (in gray).</source>
<source>Control</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>You have joined the group</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>You have left the group</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>RemoveFriendDialog</name>

8
translations/si.ts vendored
View File

@ -2456,6 +2456,14 @@ This ID includes the NoSpam code (in blue), and the checksum (in gray).</source>
<source>Control</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>You have joined the group</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>You have left the group</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>RemoveFriendDialog</name>

8
translations/sk.ts vendored
View File

@ -2484,6 +2484,14 @@ Toto ID obsahuje kód NoSpam (modrou) a kontrolný súčet (šedou).</translatio
<source>Control</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>You have joined the group</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>You have left the group</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>RemoveFriendDialog</name>

8
translations/sl.ts vendored
View File

@ -2466,6 +2466,14 @@ This ID includes the NoSpam code (in blue), and the checksum (in gray).</source>
<source>Control</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>You have joined the group</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>You have left the group</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>RemoveFriendDialog</name>

8
translations/sq.ts vendored
View File

@ -2456,6 +2456,14 @@ This ID includes the NoSpam code (in blue), and the checksum (in gray).</source>
<source>Control</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>You have joined the group</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>You have left the group</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>RemoveFriendDialog</name>

8
translations/sr.ts vendored
View File

@ -2472,6 +2472,14 @@ This ID includes the NoSpam code (in blue), and the checksum (in gray).</source>
<source>Control</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>You have joined the group</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>You have left the group</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>RemoveFriendDialog</name>

View File

@ -2473,6 +2473,14 @@ This ID includes the NoSpam code (in blue), and the checksum (in gray).</source>
<source>Control</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>You have joined the group</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>You have left the group</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>RemoveFriendDialog</name>

8
translations/sv.ts vendored
View File

@ -2472,6 +2472,14 @@ ID:t innehåller NoSpam-koden (i blått) och kontrollsumman (i grått).</transla
<source>Control</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>You have joined the group</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>You have left the group</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>RemoveFriendDialog</name>

8
translations/sw.ts vendored
View File

@ -2456,6 +2456,14 @@ This ID includes the NoSpam code (in blue), and the checksum (in gray).</source>
<source>Control</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>You have joined the group</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>You have left the group</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>RemoveFriendDialog</name>

8
translations/ta.ts vendored
View File

@ -2462,6 +2462,14 @@ This ID includes the NoSpam code (in blue), and the checksum (in gray).</source>
<source>Control</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>You have joined the group</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>You have left the group</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>RemoveFriendDialog</name>

8
translations/tr.ts vendored
View File

@ -2472,6 +2472,14 @@ Bu kimlik NoSpam kodunu (mavi) ve sağlama toplamını (gri) içerir.</translati
<source>Control</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>You have joined the group</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>You have left the group</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>RemoveFriendDialog</name>

8
translations/ug.ts vendored
View File

@ -2468,6 +2468,14 @@ This ID includes the NoSpam code (in blue), and the checksum (in gray).</source>
<source>Control</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>You have joined the group</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>You have left the group</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>RemoveFriendDialog</name>

8
translations/uk.ts vendored
View File

@ -2472,6 +2472,14 @@ It&apos;s difficult to translate &quot;Tox me maybe&quot; because in Ukrainian n
<source>Control</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>You have joined the group</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>You have left the group</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>RemoveFriendDialog</name>

8
translations/ur.ts vendored
View File

@ -2464,6 +2464,14 @@ This ID includes the NoSpam code (in blue), and the checksum (in gray).</source>
<source>Control</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>You have joined the group</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>You have left the group</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>RemoveFriendDialog</name>

View File

@ -2468,6 +2468,14 @@ This ID includes the NoSpam code (in blue), and the checksum (in gray).</source>
<source>Control</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>You have joined the group</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>You have left the group</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>RemoveFriendDialog</name>

View File

@ -2456,6 +2456,14 @@ This ID includes the NoSpam code (in blue), and the checksum (in gray).</source>
<source>Control</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>You have joined the group</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>You have left the group</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>RemoveFriendDialog</name>