Secret chats begin to work properly...
This commit is contained in:
parent
3b8d284b2b
commit
90f7535fda
17 changed files with 134 additions and 138 deletions
|
@ -13,7 +13,7 @@ PhotoTextsListItem {
|
||||||
property int ownUserId
|
property int ownUserId
|
||||||
|
|
||||||
// chat title
|
// chat title
|
||||||
primaryText.text: title ? Emoji.emojify(title + ( display.notification_settings.mute_for > 0 ? " 🔇" : "" ), Theme.fontSizeMedium) : qsTr("Unknown")
|
primaryText.text: title ? Emoji.emojify((listItem.isSecret ? "🔒 " : "" ) + title + ( display.notification_settings.mute_for > 0 ? " 🔇" : "" ), Theme.fontSizeMedium) : qsTr("Unknown")
|
||||||
// last user
|
// last user
|
||||||
prologSecondaryText.text: is_channel ? "" : ( last_message_sender_id ? ( last_message_sender_id !== ownUserId ? Emoji.emojify(Functions.getUserName(tdLibWrapper.getUserInformation(last_message_sender_id)), primaryText.font.pixelSize) : qsTr("You") ) : "" )
|
prologSecondaryText.text: is_channel ? "" : ( last_message_sender_id ? ( last_message_sender_id !== ownUserId ? Emoji.emojify(Functions.getUserName(tdLibWrapper.getUserInformation(last_message_sender_id)), primaryText.font.pixelSize) : qsTr("You") ) : "" )
|
||||||
// last message
|
// last message
|
||||||
|
|
|
@ -185,7 +185,7 @@ function getSecretChatStatus(secretChatDetails) {
|
||||||
case "secretChatStatePending":
|
case "secretChatStatePending":
|
||||||
return qsTr("Pending acknowledgement");
|
return qsTr("Pending acknowledgement");
|
||||||
case "secretChatStateReady":
|
case "secretChatStateReady":
|
||||||
return qsTr("Ready to use");
|
return "";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -40,6 +40,7 @@ Page {
|
||||||
property alias chatPicture: chatPictureThumbnail.photoData
|
property alias chatPicture: chatPictureThumbnail.photoData
|
||||||
property bool isPrivateChat: false;
|
property bool isPrivateChat: false;
|
||||||
property bool isSecretChat: false;
|
property bool isSecretChat: false;
|
||||||
|
property bool isSecretChatReady: false;
|
||||||
property bool isBasicGroup: false;
|
property bool isBasicGroup: false;
|
||||||
property bool isSuperGroup: false;
|
property bool isSuperGroup: false;
|
||||||
property bool isChannel: false;
|
property bool isChannel: false;
|
||||||
|
@ -48,7 +49,7 @@ Page {
|
||||||
property int chatOnlineMemberCount: 0;
|
property int chatOnlineMemberCount: 0;
|
||||||
property var emojiProposals;
|
property var emojiProposals;
|
||||||
property bool iterativeInitialization: false;
|
property bool iterativeInitialization: false;
|
||||||
readonly property bool userIsMember: (isPrivateChat && chatInformation["@type"]) || // should be optimized
|
readonly property bool userIsMember: ((isPrivateChat || isSecretChat) && chatInformation["@type"]) || // should be optimized
|
||||||
(isBasicGroup || isSuperGroup) && (
|
(isBasicGroup || isSuperGroup) && (
|
||||||
(chatGroupInformation.status["@type"] === "chatMemberStatusMember")
|
(chatGroupInformation.status["@type"] === "chatMemberStatusMember")
|
||||||
|| (chatGroupInformation.status["@type"] === "chatMemberStatusAdministrator")
|
|| (chatGroupInformation.status["@type"] === "chatMemberStatusAdministrator")
|
||||||
|
@ -111,10 +112,13 @@ Page {
|
||||||
}
|
}
|
||||||
var statusText = Functions.getChatPartnerStatusText(chatPartnerInformation.status['@type'], chatPartnerInformation.status.was_online);
|
var statusText = Functions.getChatPartnerStatusText(chatPartnerInformation.status['@type'], chatPartnerInformation.status.was_online);
|
||||||
if (chatPage.secretChatDetails) {
|
if (chatPage.secretChatDetails) {
|
||||||
if (statusText) {
|
var secretChatStatus = Functions.getSecretChatStatus(chatPage.secretChatDetails);
|
||||||
|
if (statusText && secretChatStatus) {
|
||||||
statusText += " - ";
|
statusText += " - ";
|
||||||
}
|
}
|
||||||
statusText += Functions.getSecretChatStatus(chatPage.secretChatDetails);
|
if (secretChatStatus) {
|
||||||
|
statusText += secretChatStatus;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (statusText) {
|
if (statusText) {
|
||||||
|
@ -147,11 +151,11 @@ Page {
|
||||||
chatView.currentIndex = -1;
|
chatView.currentIndex = -1;
|
||||||
chatView.lastReadSentIndex = 0;
|
chatView.lastReadSentIndex = 0;
|
||||||
var chatType = chatInformation.type['@type'];
|
var chatType = chatInformation.type['@type'];
|
||||||
isPrivateChat = ( chatType === "chatTypePrivate"|| chatType === "chatTypeSecret" );
|
isPrivateChat = chatType === "chatTypePrivate";
|
||||||
isSecretChat = chatType === "chatTypeSecret";
|
isSecretChat = chatType === "chatTypeSecret";
|
||||||
isBasicGroup = ( chatType === "chatTypeBasicGroup" );
|
isBasicGroup = ( chatType === "chatTypeBasicGroup" );
|
||||||
isSuperGroup = ( chatType === "chatTypeSupergroup" );
|
isSuperGroup = ( chatType === "chatTypeSupergroup" );
|
||||||
if (isPrivateChat) {
|
if (isPrivateChat || isSecretChat) {
|
||||||
chatPartnerInformation = tdLibWrapper.getUserInformation(chatInformation.type.user_id);
|
chatPartnerInformation = tdLibWrapper.getUserInformation(chatInformation.type.user_id);
|
||||||
updateChatPartnerStatusText();
|
updateChatPartnerStatusText();
|
||||||
if (isSecretChat) {
|
if (isSecretChat) {
|
||||||
|
@ -304,11 +308,12 @@ Page {
|
||||||
|| groupStatusType === "chatMemberStatusAdministrator"
|
|| groupStatusType === "chatMemberStatusAdministrator"
|
||||||
|| groupStatusType === "chatMemberStatusCreator"
|
|| groupStatusType === "chatMemberStatusCreator"
|
||||||
|| (groupStatusType === "chatMemberStatusRestricted" && groupStatus.permissions[privilege])
|
|| (groupStatusType === "chatMemberStatusRestricted" && groupStatus.permissions[privilege])
|
||||||
|
|| (chatPage.isSecretChat && chatPage.isSecretChatReady)
|
||||||
}
|
}
|
||||||
function canPinMessages() {
|
function canPinMessages() {
|
||||||
Debug.log("Can we pin messages?");
|
Debug.log("Can we pin messages?");
|
||||||
if (chatPage.isPrivateChat) {
|
if (chatPage.isPrivateChat || chatPage.isSecretChat) {
|
||||||
Debug.log("Private Chat: No!");
|
Debug.log("Private/Secret Chat: No!");
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
if (chatPage.chatGroupInformation.status["@type"] === "chatMemberStatusCreator") {
|
if (chatPage.chatGroupInformation.status["@type"] === "chatMemberStatusCreator") {
|
||||||
|
@ -380,7 +385,7 @@ Page {
|
||||||
Connections {
|
Connections {
|
||||||
target: tdLibWrapper
|
target: tdLibWrapper
|
||||||
onUserUpdated: {
|
onUserUpdated: {
|
||||||
if (isPrivateChat && chatPartnerInformation.id.toString() === userId ) {
|
if ((isPrivateChat || isSecretChat) && chatPartnerInformation.id.toString() === userId ) {
|
||||||
chatPartnerInformation = userInformation;
|
chatPartnerInformation = userInformation;
|
||||||
updateChatPartnerStatusText();
|
updateChatPartnerStatusText();
|
||||||
}
|
}
|
||||||
|
@ -428,6 +433,7 @@ Page {
|
||||||
Debug.log("[ChatPage] Received detailed information about this secret chat");
|
Debug.log("[ChatPage] Received detailed information about this secret chat");
|
||||||
chatPage.secretChatDetails = secretChat;
|
chatPage.secretChatDetails = secretChat;
|
||||||
updateChatPartnerStatusText();
|
updateChatPartnerStatusText();
|
||||||
|
chatPage.isSecretChatReady = chatPage.secretChatDetails.state["@type"] === "secretChatStateReady";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
onSecretChatUpdated: {
|
onSecretChatUpdated: {
|
||||||
|
@ -435,6 +441,7 @@ Page {
|
||||||
Debug.log("[ChatPage] Detailed information about this secret chat was updated");
|
Debug.log("[ChatPage] Detailed information about this secret chat was updated");
|
||||||
chatPage.secretChatDetails = secretChat;
|
chatPage.secretChatDetails = secretChat;
|
||||||
updateChatPartnerStatusText();
|
updateChatPartnerStatusText();
|
||||||
|
chatPage.isSecretChatReady = chatPage.secretChatDetails.state["@type"] === "secretChatStateReady";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -534,7 +541,7 @@ Page {
|
||||||
Timer {
|
Timer {
|
||||||
id: chatContactTimeUpdater
|
id: chatContactTimeUpdater
|
||||||
interval: 60000
|
interval: 60000
|
||||||
running: isPrivateChat
|
running: isPrivateChat || isSecretChat
|
||||||
repeat: true
|
repeat: true
|
||||||
onTriggered: {
|
onTriggered: {
|
||||||
updateChatPartnerStatusText();
|
updateChatPartnerStatusText();
|
||||||
|
@ -686,7 +693,7 @@ Page {
|
||||||
id: chatNameText
|
id: chatNameText
|
||||||
width: Math.min(implicitWidth, parent.width)
|
width: Math.min(implicitWidth, parent.width)
|
||||||
anchors.right: parent.right
|
anchors.right: parent.right
|
||||||
text: chatInformation.title !== "" ? Emoji.emojify(chatInformation.title, font.pixelSize) : qsTr("Unknown")
|
text: chatInformation.title !== "" ? Emoji.emojify((chatPage.isSecretChat ? "🔒 " : "" ) + chatInformation.title, font.pixelSize) : qsTr("Unknown")
|
||||||
textFormat: Text.StyledText
|
textFormat: Text.StyledText
|
||||||
font.pixelSize: chatPage.isPortrait ? Theme.fontSizeLarge : Theme.fontSizeMedium
|
font.pixelSize: chatPage.isPortrait ? Theme.fontSizeLarge : Theme.fontSizeMedium
|
||||||
font.family: Theme.fontFamilyHeading
|
font.family: Theme.fontFamilyHeading
|
||||||
|
@ -908,8 +915,9 @@ Page {
|
||||||
VerticalScrollDecorator {}
|
VerticalScrollDecorator {}
|
||||||
|
|
||||||
ViewPlaceholder {
|
ViewPlaceholder {
|
||||||
|
id: chatViewPlaceholder
|
||||||
enabled: chatView.count === 0
|
enabled: chatView.count === 0
|
||||||
text: qsTr("This chat is empty.")
|
text: (chatPage.isSecretChat && !chatPage.isSecretChatReady) ? qsTr("This secret chat is not yet ready. Your chat partner needs to go online first.") : qsTr("This chat is empty.")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1103,7 +1111,7 @@ Page {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
IconButton {
|
IconButton {
|
||||||
visible: !chatPage.isPrivateChat && chatPage.hasSendPrivilege("can_send_polls")
|
visible: !(chatPage.isPrivateChat || chatPage.isSecretChat) && chatPage.hasSendPrivilege("can_send_polls")
|
||||||
icon.source: "image://theme/icon-m-question"
|
icon.source: "image://theme/icon-m-question"
|
||||||
onClicked: {
|
onClicked: {
|
||||||
pageStack.push(Qt.resolvedUrl("../pages/PollCreationPage.qml"), { "chatId" : chatInformation.id, groupName: chatInformation.title});
|
pageStack.push(Qt.resolvedUrl("../pages/PollCreationPage.qml"), { "chatId" : chatInformation.id, groupName: chatInformation.title});
|
||||||
|
@ -1383,7 +1391,7 @@ Page {
|
||||||
verticalCenter: parent.verticalCenter
|
verticalCenter: parent.verticalCenter
|
||||||
}
|
}
|
||||||
visible: selectedMessages.every(function(message){
|
visible: selectedMessages.every(function(message){
|
||||||
return message.can_be_forwarded
|
return message.can_be_forwarded && !chatPage.isSecretChat
|
||||||
})
|
})
|
||||||
width: visible ? Theme.itemSizeMedium : 0
|
width: visible ? Theme.itemSizeMedium : 0
|
||||||
icon.source: "image://theme/icon-m-forward"
|
icon.source: "image://theme/icon-m-forward"
|
||||||
|
|
|
@ -69,7 +69,7 @@ Page {
|
||||||
SearchField {
|
SearchField {
|
||||||
id: contactsSearchField
|
id: contactsSearchField
|
||||||
width: parent.width
|
width: parent.width
|
||||||
placeholderText: qsTr("Search a contact")
|
placeholderText: qsTr("Search a contact...")
|
||||||
active: !newChatPage.isLoading
|
active: !newChatPage.isLoading
|
||||||
onTextChanged: contactsModel.applyFilter(text);
|
onTextChanged: contactsModel.applyFilter(text);
|
||||||
EnterKey.iconSource: "image://theme/icon-m-enter-close"
|
EnterKey.iconSource: "image://theme/icon-m-enter-close"
|
||||||
|
|
|
@ -46,6 +46,7 @@ namespace {
|
||||||
const QString IS_CHANNEL("is_channel");
|
const QString IS_CHANNEL("is_channel");
|
||||||
const QString PINNED_MESSAGE_ID("pinned_message_id");
|
const QString PINNED_MESSAGE_ID("pinned_message_id");
|
||||||
const QString _TYPE("@type");
|
const QString _TYPE("@type");
|
||||||
|
const QString SECRET_CHAT_ID("secret_chat_id");
|
||||||
}
|
}
|
||||||
|
|
||||||
class ChatListModel::ChatData
|
class ChatListModel::ChatData
|
||||||
|
@ -518,13 +519,16 @@ void ChatListModel::updateChatVisibility(const TDLibWrapper::Group *group)
|
||||||
|
|
||||||
void ChatListModel::updateSecretChatVisibility(const QVariantMap secretChatDetails)
|
void ChatListModel::updateSecretChatVisibility(const QVariantMap secretChatDetails)
|
||||||
{
|
{
|
||||||
LOG("Updating secret chat visibility" << secretChatDetails.value(ID));
|
LOG("Updating secret chat visibility" << secretChatDetails.value(ID).toString());
|
||||||
// See if any group has been removed from from view
|
// See if any secret chat has been closed
|
||||||
for (int i = 0; i < chatList.size(); i++) {
|
for (int i = 0; i < chatList.size(); i++) {
|
||||||
ChatData *chat = chatList.at(i);
|
ChatData *chat = chatList.at(i);
|
||||||
if (chat->chatType != TDLibWrapper::ChatTypeSecret) {
|
if (chat->chatType != TDLibWrapper::ChatTypeSecret) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
if (chat->chatData.value(TYPE).toMap().value(SECRET_CHAT_ID).toString() != secretChatDetails.value(ID).toString()) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
const QVector<int> changedRoles(chat->updateSecretChat(secretChatDetails));
|
const QVector<int> changedRoles(chat->updateSecretChat(secretChatDetails));
|
||||||
if (chat->isHidden() && !showHiddenChats) {
|
if (chat->isHidden() && !showHiddenChats) {
|
||||||
LOG("Hiding chat" << chat->chatId << "at" << i);
|
LOG("Hiding chat" << chat->chatId << "at" << i);
|
||||||
|
@ -543,21 +547,6 @@ void ChatListModel::updateSecretChatVisibility(const QVariantMap secretChatDetai
|
||||||
emit dataChanged(modelIndex, modelIndex, changedRoles);
|
emit dataChanged(modelIndex, modelIndex, changedRoles);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// And see if any group been added to the view
|
|
||||||
const QList<ChatData*> hiddenChatList = hiddenChats.values();
|
|
||||||
const int n = hiddenChatList.size();
|
|
||||||
for (int j = 0; j < n; j++) {
|
|
||||||
ChatData *chat = hiddenChatList.at(j);
|
|
||||||
if (chat->chatType != TDLibWrapper::ChatTypeSecret) {
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
chat->updateSecretChat(secretChatDetails);
|
|
||||||
if (!chat->isHidden() || showHiddenChats) {
|
|
||||||
hiddenChats.remove(chat->chatId);
|
|
||||||
addVisibleChat(chat);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
bool ChatListModel::showAllChats() const
|
bool ChatListModel::showAllChats() const
|
||||||
|
@ -584,7 +573,7 @@ void ChatListModel::handleChatDiscovered(const QString &, const QVariantMap &cha
|
||||||
}
|
}
|
||||||
|
|
||||||
if (chat->chatType == TDLibWrapper::ChatTypeSecret) {
|
if (chat->chatType == TDLibWrapper::ChatTypeSecret) {
|
||||||
QVariantMap secretChatDetails = tdLibWrapper->getSecretChatFromCache(chatToBeAdded.value(TYPE).toMap().value("secret_chat_id").toString());
|
QVariantMap secretChatDetails = tdLibWrapper->getSecretChatFromCache(chatToBeAdded.value(TYPE).toMap().value(SECRET_CHAT_ID).toString());
|
||||||
if (!secretChatDetails.isEmpty()) {
|
if (!secretChatDetails.isEmpty()) {
|
||||||
chat->updateSecretChat(secretChatDetails);
|
chat->updateSecretChat(secretChatDetails);
|
||||||
}
|
}
|
||||||
|
|
|
@ -530,8 +530,7 @@ void TDLibReceiver::nop(const QVariantMap &)
|
||||||
void TDLibReceiver::processSecretChat(const QVariantMap &receivedInformation)
|
void TDLibReceiver::processSecretChat(const QVariantMap &receivedInformation)
|
||||||
{
|
{
|
||||||
LOG("Received a secret chat");
|
LOG("Received a secret chat");
|
||||||
QVariantMap discoveredSecretChat = receivedInformation.value(SECRET_CHAT).toMap();
|
emit secretChat(receivedInformation.value(ID).toString(), receivedInformation);
|
||||||
emit secretChat(discoveredSecretChat.value(ID).toString(), discoveredSecretChat);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void TDLibReceiver::processUpdateSecretChat(const QVariantMap &receivedInformation)
|
void TDLibReceiver::processUpdateSecretChat(const QVariantMap &receivedInformation)
|
||||||
|
|
|
@ -379,6 +379,10 @@
|
||||||
<numerusform>%1 online</numerusform>
|
<numerusform>%1 online</numerusform>
|
||||||
</translation>
|
</translation>
|
||||||
</message>
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>This secret chat is not yet ready. Your chat partner needs to go online first.</source>
|
||||||
|
<translation>Dieser geheime Chat ist noch nicht bereit. Ihr Chatpartner muss erst noch online gehen.</translation>
|
||||||
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>ChatSelectionPage</name>
|
<name>ChatSelectionPage</name>
|
||||||
|
@ -921,8 +925,8 @@
|
||||||
<translation>Ende-zu-Ende-verschlüsselt, nur auf diesem Gerät zugreifbar</translation>
|
<translation>Ende-zu-Ende-verschlüsselt, nur auf diesem Gerät zugreifbar</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Search a contact</source>
|
<source>Search a contact...</source>
|
||||||
<translation>Suchen Sie einen Kontakt</translation>
|
<translation>Einen Kontakt suchen...</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Loading contacts...</source>
|
<source>Loading contacts...</source>
|
||||||
|
@ -1655,9 +1659,5 @@
|
||||||
<source>Pending acknowledgement</source>
|
<source>Pending acknowledgement</source>
|
||||||
<translation>Ausstehende Bestätigung</translation>
|
<translation>Ausstehende Bestätigung</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
|
||||||
<source>Ready to use</source>
|
|
||||||
<translation>Einsatzbereit</translation>
|
|
||||||
</message>
|
|
||||||
</context>
|
</context>
|
||||||
</TS>
|
</TS>
|
||||||
|
|
|
@ -262,7 +262,7 @@
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>No message in this chat.</source>
|
<source>No message in this chat.</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation>No message in this chat.</translation>
|
||||||
</message>
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
|
@ -379,6 +379,10 @@
|
||||||
<numerusform>%1 online</numerusform>
|
<numerusform>%1 online</numerusform>
|
||||||
</translation>
|
</translation>
|
||||||
</message>
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>This secret chat is not yet ready. Your chat partner needs to go online first.</source>
|
||||||
|
<translation>This secret chat is not yet ready. Your chat partner needs to go online first.</translation>
|
||||||
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>ChatSelectionPage</name>
|
<name>ChatSelectionPage</name>
|
||||||
|
@ -873,7 +877,7 @@
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Pin Message</source>
|
<source>Pin Message</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation>Pin Message</translation>
|
||||||
</message>
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
|
@ -887,46 +891,46 @@
|
||||||
<name>MessageOverlayFlickable</name>
|
<name>MessageOverlayFlickable</name>
|
||||||
<message>
|
<message>
|
||||||
<source>You</source>
|
<source>You</source>
|
||||||
<translation type="unfinished">You</translation>
|
<translation>You</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>This message was forwarded. Original author: %1</source>
|
<source>This message was forwarded. Original author: %1</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation>This message was forwarded. Original author: %1</translation>
|
||||||
</message>
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>NewChatPage</name>
|
<name>NewChatPage</name>
|
||||||
<message>
|
<message>
|
||||||
<source>Your Contacts</source>
|
<source>Your Contacts</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation>Your Contacts</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>You don't have any contacts.</source>
|
<source>You don't have any contacts.</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation>You don't have any contacts.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Private Chat</source>
|
<source>Private Chat</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation>Private Chat</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Secret Chat</source>
|
<source>Secret Chat</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation>Secret Chat</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>End-to-end-encrypted, accessible on this device only</source>
|
<source>End-to-end-encrypted, accessible on this device only</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation>End-to-end-encrypted, accessible on this device only</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Search a contact</source>
|
<source>Search a contact...</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation>Search a contact...</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Loading contacts...</source>
|
<source>Loading contacts...</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation>Loading contacts...</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Transport-encrypted, uses Telegram Cloud, sharable across devices</source>
|
<source>Transport-encrypted, uses Telegram Cloud, sharable across devices</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation>Transport-encrypted, uses Telegram Cloud, sharable across devices</translation>
|
||||||
</message>
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
|
@ -983,22 +987,22 @@
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>New Chat</source>
|
<source>New Chat</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation>New Chat</translation>
|
||||||
</message>
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>PinnedMessageItem</name>
|
<name>PinnedMessageItem</name>
|
||||||
<message>
|
<message>
|
||||||
<source>You</source>
|
<source>You</source>
|
||||||
<translation type="unfinished">You</translation>
|
<translation>You</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Pinned Message</source>
|
<source>Pinned Message</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation>Pinned Message</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Message unpinned</source>
|
<source>Message unpinned</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation>Message unpinned</translation>
|
||||||
</message>
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
|
@ -1243,7 +1247,7 @@
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Notification turns on the display</source>
|
<source>Notification turns on the display</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation>Notification turns on the display</translation>
|
||||||
</message>
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
|
@ -1649,15 +1653,11 @@
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Closed!</source>
|
<source>Closed!</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation>Closed!</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Pending acknowledgement</source>
|
<source>Pending acknowledgement</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation>Pending acknowledgement</translation>
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<source>Ready to use</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
</message>
|
||||||
</context>
|
</context>
|
||||||
</TS>
|
</TS>
|
||||||
|
|
|
@ -369,6 +369,10 @@
|
||||||
<numerusform>%1 en línea</numerusform>
|
<numerusform>%1 en línea</numerusform>
|
||||||
</translation>
|
</translation>
|
||||||
</message>
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>This secret chat is not yet ready. Your chat partner needs to go online first.</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>ChatSelectionPage</name>
|
<name>ChatSelectionPage</name>
|
||||||
|
@ -906,10 +910,6 @@
|
||||||
<source>End-to-end-encrypted, accessible on this device only</source>
|
<source>End-to-end-encrypted, accessible on this device only</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
|
||||||
<source>Search a contact</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
<message>
|
||||||
<source>Loading contacts...</source>
|
<source>Loading contacts...</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
|
@ -918,6 +918,10 @@
|
||||||
<source>Transport-encrypted, uses Telegram Cloud, sharable across devices</source>
|
<source>Transport-encrypted, uses Telegram Cloud, sharable across devices</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Search a contact...</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>NotificationManager</name>
|
<name>NotificationManager</name>
|
||||||
|
@ -1636,9 +1640,5 @@
|
||||||
<source>Pending acknowledgement</source>
|
<source>Pending acknowledgement</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
|
||||||
<source>Ready to use</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
</context>
|
</context>
|
||||||
</TS>
|
</TS>
|
||||||
|
|
|
@ -379,6 +379,10 @@
|
||||||
<numerusform>%1 paikalla</numerusform>
|
<numerusform>%1 paikalla</numerusform>
|
||||||
</translation>
|
</translation>
|
||||||
</message>
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>This secret chat is not yet ready. Your chat partner needs to go online first.</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>ChatSelectionPage</name>
|
<name>ChatSelectionPage</name>
|
||||||
|
@ -917,10 +921,6 @@
|
||||||
<source>End-to-end-encrypted, accessible on this device only</source>
|
<source>End-to-end-encrypted, accessible on this device only</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
|
||||||
<source>Search a contact</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
<message>
|
||||||
<source>Loading contacts...</source>
|
<source>Loading contacts...</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
|
@ -929,6 +929,10 @@
|
||||||
<source>Transport-encrypted, uses Telegram Cloud, sharable across devices</source>
|
<source>Transport-encrypted, uses Telegram Cloud, sharable across devices</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Search a contact...</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>NotificationManager</name>
|
<name>NotificationManager</name>
|
||||||
|
@ -1656,9 +1660,5 @@
|
||||||
<source>Pending acknowledgement</source>
|
<source>Pending acknowledgement</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
|
||||||
<source>Ready to use</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
</context>
|
</context>
|
||||||
</TS>
|
</TS>
|
||||||
|
|
|
@ -369,6 +369,10 @@
|
||||||
<numerusform></numerusform>
|
<numerusform></numerusform>
|
||||||
</translation>
|
</translation>
|
||||||
</message>
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>This secret chat is not yet ready. Your chat partner needs to go online first.</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>ChatSelectionPage</name>
|
<name>ChatSelectionPage</name>
|
||||||
|
@ -906,10 +910,6 @@
|
||||||
<source>End-to-end-encrypted, accessible on this device only</source>
|
<source>End-to-end-encrypted, accessible on this device only</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
|
||||||
<source>Search a contact</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
<message>
|
||||||
<source>Loading contacts...</source>
|
<source>Loading contacts...</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
|
@ -918,6 +918,10 @@
|
||||||
<source>Transport-encrypted, uses Telegram Cloud, sharable across devices</source>
|
<source>Transport-encrypted, uses Telegram Cloud, sharable across devices</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Search a contact...</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>NotificationManager</name>
|
<name>NotificationManager</name>
|
||||||
|
@ -1636,9 +1640,5 @@
|
||||||
<source>Pending acknowledgement</source>
|
<source>Pending acknowledgement</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
|
||||||
<source>Ready to use</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
</context>
|
</context>
|
||||||
</TS>
|
</TS>
|
||||||
|
|
|
@ -379,6 +379,10 @@
|
||||||
<numerusform>%1 online</numerusform>
|
<numerusform>%1 online</numerusform>
|
||||||
</translation>
|
</translation>
|
||||||
</message>
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>This secret chat is not yet ready. Your chat partner needs to go online first.</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>ChatSelectionPage</name>
|
<name>ChatSelectionPage</name>
|
||||||
|
@ -916,10 +920,6 @@
|
||||||
<source>End-to-end-encrypted, accessible on this device only</source>
|
<source>End-to-end-encrypted, accessible on this device only</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
|
||||||
<source>Search a contact</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
<message>
|
||||||
<source>Loading contacts...</source>
|
<source>Loading contacts...</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
|
@ -928,6 +928,10 @@
|
||||||
<source>Transport-encrypted, uses Telegram Cloud, sharable across devices</source>
|
<source>Transport-encrypted, uses Telegram Cloud, sharable across devices</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Search a contact...</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>NotificationManager</name>
|
<name>NotificationManager</name>
|
||||||
|
@ -1655,9 +1659,5 @@
|
||||||
<source>Pending acknowledgement</source>
|
<source>Pending acknowledgement</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
|
||||||
<source>Ready to use</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
</context>
|
</context>
|
||||||
</TS>
|
</TS>
|
||||||
|
|
|
@ -389,6 +389,10 @@
|
||||||
<numerusform>%1 online</numerusform>
|
<numerusform>%1 online</numerusform>
|
||||||
</translation>
|
</translation>
|
||||||
</message>
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>This secret chat is not yet ready. Your chat partner needs to go online first.</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>ChatSelectionPage</name>
|
<name>ChatSelectionPage</name>
|
||||||
|
@ -926,10 +930,6 @@
|
||||||
<source>End-to-end-encrypted, accessible on this device only</source>
|
<source>End-to-end-encrypted, accessible on this device only</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
|
||||||
<source>Search a contact</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
<message>
|
||||||
<source>Loading contacts...</source>
|
<source>Loading contacts...</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
|
@ -938,6 +938,10 @@
|
||||||
<source>Transport-encrypted, uses Telegram Cloud, sharable across devices</source>
|
<source>Transport-encrypted, uses Telegram Cloud, sharable across devices</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Search a contact...</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>NotificationManager</name>
|
<name>NotificationManager</name>
|
||||||
|
@ -1674,9 +1678,5 @@
|
||||||
<source>Pending acknowledgement</source>
|
<source>Pending acknowledgement</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
|
||||||
<source>Ready to use</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
</context>
|
</context>
|
||||||
</TS>
|
</TS>
|
||||||
|
|
|
@ -389,6 +389,10 @@
|
||||||
<numerusform></numerusform>
|
<numerusform></numerusform>
|
||||||
</translation>
|
</translation>
|
||||||
</message>
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>This secret chat is not yet ready. Your chat partner needs to go online first.</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>ChatSelectionPage</name>
|
<name>ChatSelectionPage</name>
|
||||||
|
@ -926,10 +930,6 @@
|
||||||
<source>End-to-end-encrypted, accessible on this device only</source>
|
<source>End-to-end-encrypted, accessible on this device only</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
|
||||||
<source>Search a contact</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
<message>
|
||||||
<source>Loading contacts...</source>
|
<source>Loading contacts...</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
|
@ -938,6 +938,10 @@
|
||||||
<source>Transport-encrypted, uses Telegram Cloud, sharable across devices</source>
|
<source>Transport-encrypted, uses Telegram Cloud, sharable across devices</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Search a contact...</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>NotificationManager</name>
|
<name>NotificationManager</name>
|
||||||
|
@ -1674,9 +1678,5 @@
|
||||||
<source>Pending acknowledgement</source>
|
<source>Pending acknowledgement</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
|
||||||
<source>Ready to use</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
</context>
|
</context>
|
||||||
</TS>
|
</TS>
|
||||||
|
|
|
@ -379,6 +379,10 @@
|
||||||
<numerusform>%1 online</numerusform>
|
<numerusform>%1 online</numerusform>
|
||||||
</translation>
|
</translation>
|
||||||
</message>
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>This secret chat is not yet ready. Your chat partner needs to go online first.</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>ChatSelectionPage</name>
|
<name>ChatSelectionPage</name>
|
||||||
|
@ -916,10 +920,6 @@
|
||||||
<source>End-to-end-encrypted, accessible on this device only</source>
|
<source>End-to-end-encrypted, accessible on this device only</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
|
||||||
<source>Search a contact</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
<message>
|
||||||
<source>Loading contacts...</source>
|
<source>Loading contacts...</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
|
@ -928,6 +928,10 @@
|
||||||
<source>Transport-encrypted, uses Telegram Cloud, sharable across devices</source>
|
<source>Transport-encrypted, uses Telegram Cloud, sharable across devices</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Search a contact...</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>NotificationManager</name>
|
<name>NotificationManager</name>
|
||||||
|
@ -1655,9 +1659,5 @@
|
||||||
<source>Pending acknowledgement</source>
|
<source>Pending acknowledgement</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
|
||||||
<source>Ready to use</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
</context>
|
</context>
|
||||||
</TS>
|
</TS>
|
||||||
|
|
|
@ -369,6 +369,10 @@
|
||||||
<numerusform>%1 位在线</numerusform>
|
<numerusform>%1 位在线</numerusform>
|
||||||
</translation>
|
</translation>
|
||||||
</message>
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>This secret chat is not yet ready. Your chat partner needs to go online first.</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>ChatSelectionPage</name>
|
<name>ChatSelectionPage</name>
|
||||||
|
@ -906,10 +910,6 @@
|
||||||
<source>End-to-end-encrypted, accessible on this device only</source>
|
<source>End-to-end-encrypted, accessible on this device only</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
|
||||||
<source>Search a contact</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
<message>
|
||||||
<source>Loading contacts...</source>
|
<source>Loading contacts...</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
|
@ -918,6 +918,10 @@
|
||||||
<source>Transport-encrypted, uses Telegram Cloud, sharable across devices</source>
|
<source>Transport-encrypted, uses Telegram Cloud, sharable across devices</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Search a contact...</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>NotificationManager</name>
|
<name>NotificationManager</name>
|
||||||
|
@ -1636,9 +1640,5 @@
|
||||||
<source>Pending acknowledgement</source>
|
<source>Pending acknowledgement</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
|
||||||
<source>Ready to use</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
</context>
|
</context>
|
||||||
</TS>
|
</TS>
|
||||||
|
|
|
@ -379,6 +379,10 @@
|
||||||
<numerusform>%1 online</numerusform>
|
<numerusform>%1 online</numerusform>
|
||||||
</translation>
|
</translation>
|
||||||
</message>
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>This secret chat is not yet ready. Your chat partner needs to go online first.</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>ChatSelectionPage</name>
|
<name>ChatSelectionPage</name>
|
||||||
|
@ -916,10 +920,6 @@
|
||||||
<source>End-to-end-encrypted, accessible on this device only</source>
|
<source>End-to-end-encrypted, accessible on this device only</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
|
||||||
<source>Search a contact</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
<message>
|
||||||
<source>Loading contacts...</source>
|
<source>Loading contacts...</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
|
@ -928,6 +928,10 @@
|
||||||
<source>Transport-encrypted, uses Telegram Cloud, sharable across devices</source>
|
<source>Transport-encrypted, uses Telegram Cloud, sharable across devices</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Search a contact...</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>NotificationManager</name>
|
<name>NotificationManager</name>
|
||||||
|
@ -1655,9 +1659,5 @@
|
||||||
<source>Pending acknowledgement</source>
|
<source>Pending acknowledgement</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
|
||||||
<source>Ready to use</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
</context>
|
</context>
|
||||||
</TS>
|
</TS>
|
||||||
|
|
Loading…
Reference in a new issue