Merge remote-tracking branch 'origin/master' into voicenotes

This commit is contained in:
Sebastian Wolf 2021-01-01 15:03:22 +01:00
commit fd0d188030
No known key found for this signature in database
GPG key ID: CEA9522B5F38A90A
17 changed files with 287 additions and 96 deletions

View file

@ -33,15 +33,14 @@ ListItem {
height: contentColumn.height height: contentColumn.height
spacing: Theme.paddingMedium spacing: Theme.paddingMedium
Column { ShaderEffectSource {
id: pictureColumn id: pictureItem
width: contentColumn.height - Theme.paddingSmall width: contentColumn.height - Theme.paddingSmall
height: contentColumn.height - Theme.paddingSmall height: contentColumn.height - Theme.paddingSmall
anchors.verticalCenter: parent.verticalCenter anchors.verticalCenter: parent.verticalCenter
sourceItem: Item {
Item { width: pictureItem.width
width: parent.width height: pictureItem.width
height: parent.width
ProfileThumbnail { ProfileThumbnail {
id: pictureThumbnail id: pictureThumbnail
@ -93,7 +92,7 @@ ListItem {
Column { Column {
id: contentColumn id: contentColumn
width: mainColumn.width - pictureColumn.width - mainRow.spacing width: mainColumn.width - pictureItem.width - mainRow.spacing
spacing: Theme.paddingSmall spacing: Theme.paddingSmall
Row { Row {

View file

@ -243,6 +243,10 @@ Page {
} else { } else {
tdLibWrapper.sendTextMessage(chatInformation.id, newMessageTextField.text, newMessageColumn.replyToMessageId); tdLibWrapper.sendTextMessage(chatInformation.id, newMessageTextField.text, newMessageColumn.replyToMessageId);
} }
if(appSettings.focusTextAreaAfterSend) {
lostFocusTimer.start();
}
} }
controlSendButton(); controlSendButton();
newMessageInReplyToRow.inReplyToMessage = null; newMessageInReplyToRow.inReplyToMessage = null;
@ -373,7 +377,9 @@ Page {
} }
Component.onDestruction: { Component.onDestruction: {
tdLibWrapper.setChatDraftMessage(chatInformation.id, 0, newMessageColumn.replyToMessageId, newMessageTextField.text); if (chatPage.canSendMessages) {
tdLibWrapper.setChatDraftMessage(chatInformation.id, 0, newMessageColumn.replyToMessageId, newMessageTextField.text);
}
tdLibWrapper.closeChat(chatInformation.id); tdLibWrapper.closeChat(chatInformation.id);
} }
@ -1528,7 +1534,9 @@ Page {
if (appSettings.sendByEnter) { if (appSettings.sendByEnter) {
sendMessage(); sendMessage();
newMessageTextField.text = ""; newMessageTextField.text = "";
newMessageTextField.focus = false; if(!appSettings.focusTextAreaAfterSend) {
newMessageTextField.focus = false;
}
} }
} }
@ -1568,7 +1576,9 @@ Page {
onClicked: { onClicked: {
sendMessage(); sendMessage();
newMessageTextField.text = ""; newMessageTextField.text = "";
newMessageTextField.focus = false; if(!appSettings.focusTextAreaAfterSend) {
newMessageTextField.focus = false;
}
} }
} }
} }

View file

@ -175,13 +175,13 @@ Page {
onBasicGroupFullInfoUpdated: { onBasicGroupFullInfoUpdated: {
if (foundChatListDelegate.isBasicGroup && groupId.toString() === foundChatListDelegate.foundChatInformation.type.basic_group_id.toString()) { if (foundChatListDelegate.isBasicGroup && groupId.toString() === foundChatListDelegate.foundChatInformation.type.basic_group_id.toString()) {
foundChatListItem.secondaryText.text = qsTr("%1 members").arg(Number(groupFullInfo.members.length).toLocaleString(Qt.locale(), "f", 0)); foundChatListItem.secondaryText.text = qsTr("%1 members", "", groupFullInfo.members.length).arg(Number(groupFullInfo.members.length).toLocaleString(Qt.locale(), "f", 0));
foundChatListItem.tertiaryText.text = Emoji.emojify(groupFullInfo.description, foundChatListItem.tertiaryText.font.pixelSize, "../js/emoji/"); foundChatListItem.tertiaryText.text = Emoji.emojify(groupFullInfo.description, foundChatListItem.tertiaryText.font.pixelSize, "../js/emoji/");
} }
} }
onBasicGroupFullInfoReceived: { onBasicGroupFullInfoReceived: {
if (foundChatListDelegate.isBasicGroup && groupId.toString() === foundChatListDelegate.foundChatInformation.type.basic_group_id.toString()) { if (foundChatListDelegate.isBasicGroup && groupId.toString() === foundChatListDelegate.foundChatInformation.type.basic_group_id.toString()) {
foundChatListItem.secondaryText.text = qsTr("%1 members").arg(Number(groupFullInfo.members.length).toLocaleString(Qt.locale(), "f", 0)); foundChatListItem.secondaryText.text = qsTr("%1 members", "", groupFullInfo.members.length).arg(Number(groupFullInfo.members.length).toLocaleString(Qt.locale(), "f", 0));
foundChatListItem.tertiaryText.text = Emoji.emojify(groupFullInfo.description, foundChatListItem.tertiaryText.font.pixelSize, "../js/emoji/"); foundChatListItem.tertiaryText.text = Emoji.emojify(groupFullInfo.description, foundChatListItem.tertiaryText.font.pixelSize, "../js/emoji/");
} }
} }
@ -189,9 +189,9 @@ Page {
onSupergroupFullInfoUpdated: { onSupergroupFullInfoUpdated: {
if (foundChatListDelegate.isSupergroup && groupId.toString() === foundChatListDelegate.foundChatInformation.type.supergroup_id.toString()) { if (foundChatListDelegate.isSupergroup && groupId.toString() === foundChatListDelegate.foundChatInformation.type.supergroup_id.toString()) {
if (foundChatListDelegate.relatedInformation.is_channel) { if (foundChatListDelegate.relatedInformation.is_channel) {
foundChatListItem.secondaryText.text = qsTr("%1 subscribers").arg(Number(groupFullInfo.member_count).toLocaleString(Qt.locale(), "f", 0)); foundChatListItem.secondaryText.text = qsTr("%1 subscribers", "", groupFullInfo.member_count).arg(Number(groupFullInfo.member_count).toLocaleString(Qt.locale(), "f", 0));
} else { } else {
foundChatListItem.secondaryText.text = qsTr("%1 members").arg(Number(groupFullInfo.member_count).toLocaleString(Qt.locale(), "f", 0)); foundChatListItem.secondaryText.text = qsTr("%1 members", "", groupFullInfo.member_count).arg(Number(groupFullInfo.member_count).toLocaleString(Qt.locale(), "f", 0));
} }
foundChatListItem.tertiaryText.text = Emoji.emojify(groupFullInfo.description, foundChatListItem.tertiaryText.font.pixelSize, "../js/emoji/"); foundChatListItem.tertiaryText.text = Emoji.emojify(groupFullInfo.description, foundChatListItem.tertiaryText.font.pixelSize, "../js/emoji/");
} }
@ -199,9 +199,9 @@ Page {
onSupergroupFullInfoReceived: { onSupergroupFullInfoReceived: {
if (foundChatListDelegate.isSupergroup && groupId.toString() === foundChatListDelegate.foundChatInformation.type.supergroup_id.toString()) { if (foundChatListDelegate.isSupergroup && groupId.toString() === foundChatListDelegate.foundChatInformation.type.supergroup_id.toString()) {
if (foundChatListDelegate.relatedInformation.is_channel) { if (foundChatListDelegate.relatedInformation.is_channel) {
foundChatListItem.secondaryText.text = qsTr("%1 subscribers").arg(Number(groupFullInfo.member_count).toLocaleString(Qt.locale(), "f", 0)); foundChatListItem.secondaryText.text = qsTr("%1 subscribers", "", groupFullInfo.member_count).arg(Number(groupFullInfo.member_count).toLocaleString(Qt.locale(), "f", 0));
} else { } else {
foundChatListItem.secondaryText.text = qsTr("%1 members").arg(Number(groupFullInfo.member_count).toLocaleString(Qt.locale(), "f", 0)); foundChatListItem.secondaryText.text = qsTr("%1 members", "", groupFullInfo.member_count).arg(Number(groupFullInfo.member_count).toLocaleString(Qt.locale(), "f", 0));
} }
foundChatListItem.tertiaryText.text = Emoji.emojify(groupFullInfo.description, foundChatListItem.tertiaryText.font.pixelSize, "../js/emoji/"); foundChatListItem.tertiaryText.text = Emoji.emojify(groupFullInfo.description, foundChatListItem.tertiaryText.font.pixelSize, "../js/emoji/");
} }

View file

@ -52,6 +52,16 @@ Page {
} }
} }
TextSwitch {
checked: appSettings.focusTextAreaAfterSend
text: qsTr("Focus text input area after send")
description: qsTr("Focus the text input area after sending a message")
automaticCheck: false
onClicked: {
appSettings.focusTextAreaAfterSend = !checked
}
}
TextSwitch { TextSwitch {
checked: appSettings.useOpenWith checked: appSettings.useOpenWith
text: qsTr("Open-with menu integration") text: qsTr("Open-with menu integration")

View file

@ -22,6 +22,7 @@
namespace { namespace {
const QString KEY_SEND_BY_ENTER("sendByEnter"); const QString KEY_SEND_BY_ENTER("sendByEnter");
const QString KEY_FOCUS_TEXTAREA_AFTER_SEND("focusTextAreaAfterSend");
const QString KEY_USE_OPEN_WITH("useOpenWith"); const QString KEY_USE_OPEN_WITH("useOpenWith");
const QString KEY_SHOW_STICKERS_AS_IMAGES("showStickersAsImages"); const QString KEY_SHOW_STICKERS_AS_IMAGES("showStickersAsImages");
const QString KEY_ANIMATE_STICKERS("animateStickers"); const QString KEY_ANIMATE_STICKERS("animateStickers");
@ -48,6 +49,20 @@ void AppSettings::setSendByEnter(bool sendByEnter)
} }
} }
bool AppSettings::getFocusTextAreaAfterSend() const
{
return settings.value(KEY_FOCUS_TEXTAREA_AFTER_SEND, false).toBool();
}
void AppSettings::setFocusTextAreaAfterSend(bool focusTextAreaAfterSend)
{
if (getFocusTextAreaAfterSend() != focusTextAreaAfterSend) {
LOG(KEY_FOCUS_TEXTAREA_AFTER_SEND << focusTextAreaAfterSend);
settings.setValue(KEY_FOCUS_TEXTAREA_AFTER_SEND, focusTextAreaAfterSend);
emit focusTextAreaAfterSendChanged();
}
}
bool AppSettings::getUseOpenWith() const bool AppSettings::getUseOpenWith() const
{ {
return settings.value(KEY_USE_OPEN_WITH, true).toBool(); return settings.value(KEY_USE_OPEN_WITH, true).toBool();

View file

@ -24,6 +24,7 @@
class AppSettings : public QObject { class AppSettings : public QObject {
Q_OBJECT Q_OBJECT
Q_PROPERTY(bool sendByEnter READ getSendByEnter WRITE setSendByEnter NOTIFY sendByEnterChanged) Q_PROPERTY(bool sendByEnter READ getSendByEnter WRITE setSendByEnter NOTIFY sendByEnterChanged)
Q_PROPERTY(bool focusTextAreaAfterSend READ getFocusTextAreaAfterSend WRITE setFocusTextAreaAfterSend NOTIFY focusTextAreaAfterSendChanged)
Q_PROPERTY(bool useOpenWith READ getUseOpenWith WRITE setUseOpenWith NOTIFY useOpenWithChanged) Q_PROPERTY(bool useOpenWith READ getUseOpenWith WRITE setUseOpenWith NOTIFY useOpenWithChanged)
Q_PROPERTY(bool showStickersAsImages READ showStickersAsImages WRITE setShowStickersAsImages NOTIFY showStickersAsImagesChanged) Q_PROPERTY(bool showStickersAsImages READ showStickersAsImages WRITE setShowStickersAsImages NOTIFY showStickersAsImagesChanged)
Q_PROPERTY(bool animateStickers READ animateStickers WRITE setAnimateStickers NOTIFY animateStickersChanged) Q_PROPERTY(bool animateStickers READ animateStickers WRITE setAnimateStickers NOTIFY animateStickersChanged)
@ -45,6 +46,9 @@ public:
bool getSendByEnter() const; bool getSendByEnter() const;
void setSendByEnter(bool sendByEnter); void setSendByEnter(bool sendByEnter);
bool getFocusTextAreaAfterSend() const;
void setFocusTextAreaAfterSend(bool focusTextAreaAfterSend);
bool getUseOpenWith() const; bool getUseOpenWith() const;
void setUseOpenWith(bool useOpenWith); void setUseOpenWith(bool useOpenWith);
@ -65,6 +69,7 @@ public:
signals: signals:
void sendByEnterChanged(); void sendByEnterChanged();
void focusTextAreaAfterSendChanged();
void useOpenWithChanged(); void useOpenWithChanged();
void showStickersAsImagesChanged(); void showStickersAsImagesChanged();
void animateStickersChanged(); void animateStickersChanged();

View file

@ -1296,13 +1296,19 @@
<source>Channel</source> <source>Channel</source>
<translation>Kanal</translation> <translation>Kanal</translation>
</message> </message>
<message> <message numerus="yes">
<source>%1 members</source> <source>%1 members</source>
<translation type="unfinished">%1 Mitglied</translation> <translation>
<numerusform>%1 Mitglied</numerusform>
<numerusform>%1 Mitglieder</numerusform>
</translation>
</message> </message>
<message> <message numerus="yes">
<source>%1 subscribers</source> <source>%1 subscribers</source>
<translation type="unfinished">%1 Abonnent</translation> <translation>
<numerusform>%1 Abonnent</numerusform>
<numerusform>%1 Abonnenten</numerusform>
</translation>
</message> </message>
<message> <message>
<source>Search Chats</source> <source>Search Chats</source>
@ -1391,6 +1397,14 @@
<source>Enable storage optimizer</source> <source>Enable storage optimizer</source>
<translation>Speicheroptimierer einschalten</translation> <translation>Speicheroptimierer einschalten</translation>
</message> </message>
<message>
<source>Focus text input area after send</source>
<translation>Texteingabe nach Senden fokussieren</translation>
</message>
<message>
<source>Focus the text input area after sending a message</source>
<translation>Fokussiert die Texteingabe nach Senden einer Nachricht</translation>
</message>
</context> </context>
<context> <context>
<name>StickerPicker</name> <name>StickerPicker</name>

View file

@ -1296,13 +1296,19 @@
<source>Channel</source> <source>Channel</source>
<translation>Channel</translation> <translation>Channel</translation>
</message> </message>
<message> <message numerus="yes">
<source>%1 members</source> <source>%1 members</source>
<translation type="unfinished">%1 member</translation> <translation>
<numerusform>%1 member</numerusform>
<numerusform>%1 members</numerusform>
</translation>
</message> </message>
<message> <message numerus="yes">
<source>%1 subscribers</source> <source>%1 subscribers</source>
<translation type="unfinished">%1 subscriber</translation> <translation>
<numerusform>%1 subscriber</numerusform>
<numerusform>%1 subscribers</numerusform>
</translation>
</message> </message>
<message> <message>
<source>Search Chats</source> <source>Search Chats</source>
@ -1391,6 +1397,14 @@
<source>Enable storage optimizer</source> <source>Enable storage optimizer</source>
<translation>Enable storage optimizer</translation> <translation>Enable storage optimizer</translation>
</message> </message>
<message>
<source>Focus text input area after send</source>
<translation>Focus text input area after send</translation>
</message>
<message>
<source>Focus the text input area after sending a message</source>
<translation>Focus the text input area after sending a message</translation>
</message>
</context> </context>
<context> <context>
<name>StickerPicker</name> <name>StickerPicker</name>
@ -1810,21 +1824,21 @@
</message> </message>
<message> <message>
<source>has added %1 to the chat</source> <source>has added %1 to the chat</source>
<translation type="unfinished">has added %1 to the chat</translation> <translation>has added %1 to the chat</translation>
</message> </message>
<message> <message>
<source>has removed %1 from the chat</source> <source>has removed %1 from the chat</source>
<translation type="unfinished">has removed %1 from the chat</translation> <translation>has removed %1 from the chat</translation>
</message> </message>
<message> <message>
<source>have added %1 to the chat</source> <source>have added %1 to the chat</source>
<comment>myself</comment> <comment>myself</comment>
<translation type="unfinished">have added %1 to the chat</translation> <translation>have added %1 to the chat</translation>
</message> </message>
<message> <message>
<source>have removed %1 from the chat</source> <source>have removed %1 from the chat</source>
<comment>myself</comment> <comment>myself</comment>
<translation type="unfinished">have removed %1 from the chat</translation> <translation>have removed %1 from the chat</translation>
</message> </message>
</context> </context>
</TS> </TS>

View file

@ -263,15 +263,15 @@
</message> </message>
<message> <message>
<source>Mark chat as unread</source> <source>Mark chat as unread</source>
<translation type="unfinished"></translation> <translation>Marcar como no leído</translation>
</message> </message>
<message> <message>
<source>Draft</source> <source>Draft</source>
<translation type="unfinished"></translation> <translation>Borrador</translation>
</message> </message>
<message> <message>
<source>Mark chat as read</source> <source>Mark chat as read</source>
<translation type="unfinished"></translation> <translation>Marcar como leído</translation>
</message> </message>
</context> </context>
<context> <context>
@ -395,11 +395,11 @@
</message> </message>
<message> <message>
<source>Search in Chat</source> <source>Search in Chat</source>
<translation type="unfinished"></translation> <translation>Buscar en charla</translation>
</message> </message>
<message> <message>
<source>Search in chat...</source> <source>Search in chat...</source>
<translation type="unfinished"></translation> <translation>Buscar</translation>
</message> </message>
</context> </context>
<context> <context>
@ -777,21 +777,21 @@
</message> </message>
<message> <message>
<source>has added %1 to the chat</source> <source>has added %1 to the chat</source>
<translation type="unfinished"></translation> <translation>ha añadido %1 a charla</translation>
</message> </message>
<message> <message>
<source>has removed %1 from the chat</source> <source>has removed %1 from the chat</source>
<translation type="unfinished"></translation> <translation>ha quitado %1 de charla</translation>
</message> </message>
<message> <message>
<source>have added %1 to the chat</source> <source>have added %1 to the chat</source>
<comment>myself</comment> <comment>myself</comment>
<translation type="unfinished"></translation> <translation>ha añadido %1 a la charla</translation>
</message> </message>
<message> <message>
<source>have removed %1 from the chat</source> <source>have removed %1 from the chat</source>
<comment>myself</comment> <comment>myself</comment>
<translation type="unfinished"></translation> <translation>ha quitado %1 de charla</translation>
</message> </message>
</context> </context>
<context> <context>
@ -828,7 +828,7 @@
</message> </message>
<message> <message>
<source>Please enter your phone number to continue.</source> <source>Please enter your phone number to continue.</source>
<translation>Marcar número de teléfono para continuar.</translation> <translation>Marcar el número de teléfono para continuar.</translation>
</message> </message>
<message> <message>
<source>Continue</source> <source>Continue</source>
@ -876,7 +876,7 @@
</message> </message>
<message> <message>
<source>Use the international format, e.g. %1</source> <source>Use the international format, e.g. %1</source>
<translation>Usar el formato internacional %1</translation> <translation>Usa el formato internacional %1</translation>
</message> </message>
<message> <message>
<source>About Fernschreiber</source> <source>About Fernschreiber</source>
@ -902,7 +902,7 @@
</message> </message>
<message> <message>
<source>Copy Message to Clipboard</source> <source>Copy Message to Clipboard</source>
<translation>Copiar mensaje</translation> <translation>Copiar</translation>
</message> </message>
<message> <message>
<source>Message deleted</source> <source>Message deleted</source>
@ -922,7 +922,7 @@
</message> </message>
<message> <message>
<source>Select Message</source> <source>Select Message</source>
<translation>Seleccionar mensaje</translation> <translation>Seleccionar</translation>
</message> </message>
<message> <message>
<source>Pin Message</source> <source>Pin Message</source>
@ -930,11 +930,11 @@
</message> </message>
<message> <message>
<source>Message unpinned</source> <source>Message unpinned</source>
<translation type="unfinished">Desanclar mensaje</translation> <translation>Mensaje desanclado</translation>
</message> </message>
<message> <message>
<source>Unpin Message</source> <source>Unpin Message</source>
<translation type="unfinished"></translation> <translation>Desanclar mensaje</translation>
</message> </message>
</context> </context>
<context> <context>
@ -1055,19 +1055,19 @@
</message> </message>
<message> <message>
<source>Filter your chats...</source> <source>Filter your chats...</source>
<translation type="unfinished"></translation> <translation>Filtrar las charlas...</translation>
</message> </message>
<message> <message>
<source>Search Chats</source> <source>Search Chats</source>
<translation type="unfinished"></translation> <translation>Buscar charlas</translation>
</message> </message>
<message> <message>
<source>Download of %1 successful.</source> <source>Download of %1 successful.</source>
<translation type="unfinished">Bajada de %1 exitosa.</translation> <translation>Bajada de %1 exitosa.</translation>
</message> </message>
<message> <message>
<source>Download failed.</source> <source>Download failed.</source>
<translation type="unfinished">Error al bajar</translation> <translation>Error al bajar</translation>
</message> </message>
</context> </context>
<context> <context>
@ -1082,7 +1082,7 @@
</message> </message>
<message> <message>
<source>Message unpinned</source> <source>Message unpinned</source>
<translation>Desanclar mensaje</translation> <translation>Mensaje desanclado</translation>
</message> </message>
</context> </context>
<context> <context>
@ -1259,43 +1259,47 @@
<name>SearchChatsPage</name> <name>SearchChatsPage</name>
<message> <message>
<source>No chats found.</source> <source>No chats found.</source>
<translation type="unfinished"></translation> <translation>No se han encontrado charlas.</translation>
</message> </message>
<message> <message>
<source>Searching chats...</source> <source>Searching chats...</source>
<translation type="unfinished"></translation> <translation>Buscando charlas...</translation>
</message> </message>
<message> <message>
<source>Private Chat</source> <source>Private Chat</source>
<translation type="unfinished">Privado</translation> <translation>Privado</translation>
</message> </message>
<message> <message>
<source>Group</source> <source>Group</source>
<translation type="unfinished"></translation> <translation>Grupo</translation>
</message> </message>
<message> <message>
<source>Channel</source> <source>Channel</source>
<translation type="unfinished"></translation> <translation>Canal</translation>
</message> </message>
<message> <message numerus="yes">
<source>%1 members</source> <source>%1 members</source>
<translation type="unfinished">%1 miembros</translation> <translation type="unfinished">
<numerusform>%1 miembros</numerusform>
</translation>
</message> </message>
<message> <message numerus="yes">
<source>%1 subscribers</source> <source>%1 subscribers</source>
<translation type="unfinished">%1 suscriptores</translation> <translation type="unfinished">
<numerusform>%1 suscriptores</numerusform>
</translation>
</message> </message>
<message> <message>
<source>Search Chats</source> <source>Search Chats</source>
<translation type="unfinished"></translation> <translation>Buscar charlas</translation>
</message> </message>
<message> <message>
<source>Search a chat...</source> <source>Search a chat...</source>
<translation type="unfinished"></translation> <translation>Buscar una charla...</translation>
</message> </message>
<message> <message>
<source>Enter your query to start searching (at least 5 characters needed)</source> <source>Enter your query to start searching (at least 5 characters needed)</source>
<translation type="unfinished"></translation> <translation>Introducir la consulta para iniciar la búsqueda (se necesitan al menos 5 caracteres)</translation>
</message> </message>
</context> </context>
<context> <context>
@ -1372,6 +1376,14 @@
<source>Enable storage optimizer</source> <source>Enable storage optimizer</source>
<translation>Optimizador de almacenamiento</translation> <translation>Optimizador de almacenamiento</translation>
</message> </message>
<message>
<source>Focus text input area after send</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Focus the text input area after sending a message</source>
<translation type="unfinished"></translation>
</message>
</context> </context>
<context> <context>
<name>StickerPicker</name> <name>StickerPicker</name>
@ -1791,21 +1803,21 @@
</message> </message>
<message> <message>
<source>has added %1 to the chat</source> <source>has added %1 to the chat</source>
<translation type="unfinished"></translation> <translation>ha añadido %1 a la charla</translation>
</message> </message>
<message> <message>
<source>has removed %1 from the chat</source> <source>has removed %1 from the chat</source>
<translation type="unfinished"></translation> <translation>ha quitado %1 de la charla</translation>
</message> </message>
<message> <message>
<source>have added %1 to the chat</source> <source>have added %1 to the chat</source>
<comment>myself</comment> <comment>myself</comment>
<translation type="unfinished"></translation> <translation>ha añadido %1 a la charla</translation>
</message> </message>
<message> <message>
<source>have removed %1 from the chat</source> <source>have removed %1 from the chat</source>
<comment>myself</comment> <comment>myself</comment>
<translation type="unfinished"></translation> <translation>ha añadido %1 de la charla</translation>
</message> </message>
</context> </context>
</TS> </TS>

View file

@ -1297,13 +1297,19 @@
<source>Channel</source> <source>Channel</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message numerus="yes">
<source>%1 members</source> <source>%1 members</source>
<translation type="unfinished">%1 jäsen</translation> <translation type="unfinished">
<numerusform>%1 jäsen</numerusform>
<numerusform></numerusform>
</translation>
</message> </message>
<message> <message numerus="yes">
<source>%1 subscribers</source> <source>%1 subscribers</source>
<translation type="unfinished">%1 tilaaja</translation> <translation type="unfinished">
<numerusform>%1 tilaaja</numerusform>
<numerusform></numerusform>
</translation>
</message> </message>
<message> <message>
<source>Search Chats</source> <source>Search Chats</source>
@ -1392,6 +1398,14 @@
<source>Enable storage optimizer</source> <source>Enable storage optimizer</source>
<translation>Käytä tallennustilan optimointia</translation> <translation>Käytä tallennustilan optimointia</translation>
</message> </message>
<message>
<source>Focus text input area after send</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Focus the text input area after sending a message</source>
<translation type="unfinished"></translation>
</message>
</context> </context>
<context> <context>
<name>StickerPicker</name> <name>StickerPicker</name>

View file

@ -1277,13 +1277,17 @@
<source>Channel</source> <source>Channel</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message numerus="yes">
<source>%1 members</source> <source>%1 members</source>
<translation type="unfinished">%1 tag</translation> <translation type="unfinished">
<numerusform>%1 tag</numerusform>
</translation>
</message> </message>
<message> <message numerus="yes">
<source>%1 subscribers</source> <source>%1 subscribers</source>
<translation type="unfinished">%1 feliratkozott</translation> <translation type="unfinished">
<numerusform>%1 feliratkozott</numerusform>
</translation>
</message> </message>
<message> <message>
<source>Search Chats</source> <source>Search Chats</source>
@ -1372,6 +1376,14 @@
<source>Enable storage optimizer</source> <source>Enable storage optimizer</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message>
<source>Focus text input area after send</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Focus the text input area after sending a message</source>
<translation type="unfinished"></translation>
</message>
</context> </context>
<context> <context>
<name>StickerPicker</name> <name>StickerPicker</name>

View file

@ -1296,13 +1296,19 @@
<source>Channel</source> <source>Channel</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message numerus="yes">
<source>%1 members</source> <source>%1 members</source>
<translation type="unfinished">%1 membro</translation> <translation type="unfinished">
<numerusform>%1 membro</numerusform>
<numerusform></numerusform>
</translation>
</message> </message>
<message> <message numerus="yes">
<source>%1 subscribers</source> <source>%1 subscribers</source>
<translation type="unfinished">%1 abbonato</translation> <translation type="unfinished">
<numerusform>%1 abbonato</numerusform>
<numerusform></numerusform>
</translation>
</message> </message>
<message> <message>
<source>Search Chats</source> <source>Search Chats</source>
@ -1391,6 +1397,14 @@
<source>Enable storage optimizer</source> <source>Enable storage optimizer</source>
<translation>Abilita ottimizzazione memoria</translation> <translation>Abilita ottimizzazione memoria</translation>
</message> </message>
<message>
<source>Focus text input area after send</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Focus the text input area after sending a message</source>
<translation type="unfinished"></translation>
</message>
</context> </context>
<context> <context>
<name>StickerPicker</name> <name>StickerPicker</name>

View file

@ -1315,13 +1315,21 @@
<source>Channel</source> <source>Channel</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message numerus="yes">
<source>%1 members</source> <source>%1 members</source>
<translation type="unfinished">%1 członek</translation> <translation type="unfinished">
<numerusform>%1 członek</numerusform>
<numerusform></numerusform>
<numerusform></numerusform>
</translation>
</message> </message>
<message> <message numerus="yes">
<source>%1 subscribers</source> <source>%1 subscribers</source>
<translation type="unfinished">%1 subskrybent</translation> <translation type="unfinished">
<numerusform>%1 subskrybent</numerusform>
<numerusform></numerusform>
<numerusform></numerusform>
</translation>
</message> </message>
<message> <message>
<source>Search Chats</source> <source>Search Chats</source>
@ -1410,6 +1418,14 @@
<source>Enable storage optimizer</source> <source>Enable storage optimizer</source>
<translation>Włącz optymalizację pamięci</translation> <translation>Włącz optymalizację pamięci</translation>
</message> </message>
<message>
<source>Focus text input area after send</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Focus the text input area after sending a message</source>
<translation type="unfinished"></translation>
</message>
</context> </context>
<context> <context>
<name>StickerPicker</name> <name>StickerPicker</name>

View file

@ -1315,13 +1315,21 @@
<source>Channel</source> <source>Channel</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message numerus="yes">
<source>%1 members</source> <source>%1 members</source>
<translation type="unfinished">%1 участников</translation> <translation type="unfinished">
<numerusform>%1 участников</numerusform>
<numerusform></numerusform>
<numerusform></numerusform>
</translation>
</message> </message>
<message> <message numerus="yes">
<source>%1 subscribers</source> <source>%1 subscribers</source>
<translation type="unfinished">%1 подписчиков</translation> <translation type="unfinished">
<numerusform>%1 подписчиков</numerusform>
<numerusform></numerusform>
<numerusform></numerusform>
</translation>
</message> </message>
<message> <message>
<source>Search Chats</source> <source>Search Chats</source>
@ -1410,6 +1418,14 @@
<source>Enable storage optimizer</source> <source>Enable storage optimizer</source>
<translation>Включить оптимизацию хранилища</translation> <translation>Включить оптимизацию хранилища</translation>
</message> </message>
<message>
<source>Focus text input area after send</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Focus the text input area after sending a message</source>
<translation type="unfinished"></translation>
</message>
</context> </context>
<context> <context>
<name>StickerPicker</name> <name>StickerPicker</name>

View file

@ -1296,13 +1296,19 @@
<source>Channel</source> <source>Channel</source>
<translation>Kanal</translation> <translation>Kanal</translation>
</message> </message>
<message> <message numerus="yes">
<source>%1 members</source> <source>%1 members</source>
<translation>%1 medlemmar</translation> <translation type="unfinished">
<numerusform>%1 medlemmar</numerusform>
<numerusform></numerusform>
</translation>
</message> </message>
<message> <message numerus="yes">
<source>%1 subscribers</source> <source>%1 subscribers</source>
<translation>%1 prenumeranter</translation> <translation type="unfinished">
<numerusform>%1 prenumeranter</numerusform>
<numerusform></numerusform>
</translation>
</message> </message>
<message> <message>
<source>Search Chats</source> <source>Search Chats</source>
@ -1391,6 +1397,14 @@
<source>Enable storage optimizer</source> <source>Enable storage optimizer</source>
<translation>Aktivera lagringsoptimering</translation> <translation>Aktivera lagringsoptimering</translation>
</message> </message>
<message>
<source>Focus text input area after send</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Focus the text input area after sending a message</source>
<translation type="unfinished"></translation>
</message>
</context> </context>
<context> <context>
<name>StickerPicker</name> <name>StickerPicker</name>

View file

@ -1277,13 +1277,17 @@
<source>Channel</source> <source>Channel</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message numerus="yes">
<source>%1 members</source> <source>%1 members</source>
<translation type="unfinished">%1 </translation> <translation type="unfinished">
<numerusform>%1 </numerusform>
</translation>
</message> </message>
<message> <message numerus="yes">
<source>%1 subscribers</source> <source>%1 subscribers</source>
<translation type="unfinished">%1 </translation> <translation type="unfinished">
<numerusform>%1 </numerusform>
</translation>
</message> </message>
<message> <message>
<source>Search Chats</source> <source>Search Chats</source>
@ -1372,6 +1376,14 @@
<source>Enable storage optimizer</source> <source>Enable storage optimizer</source>
<translation></translation> <translation></translation>
</message> </message>
<message>
<source>Focus text input area after send</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Focus the text input area after sending a message</source>
<translation type="unfinished"></translation>
</message>
</context> </context>
<context> <context>
<name>StickerPicker</name> <name>StickerPicker</name>

View file

@ -1296,13 +1296,19 @@
<source>Channel</source> <source>Channel</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message numerus="yes">
<source>%1 members</source> <source>%1 members</source>
<translation type="unfinished">%1 member</translation> <translation type="unfinished">
<numerusform>%1 member</numerusform>
<numerusform></numerusform>
</translation>
</message> </message>
<message> <message numerus="yes">
<source>%1 subscribers</source> <source>%1 subscribers</source>
<translation type="unfinished">%1 subscriber</translation> <translation type="unfinished">
<numerusform>%1 subscriber</numerusform>
<numerusform></numerusform>
</translation>
</message> </message>
<message> <message>
<source>Search Chats</source> <source>Search Chats</source>
@ -1391,6 +1397,14 @@
<source>Enable storage optimizer</source> <source>Enable storage optimizer</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message>
<source>Focus text input area after send</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Focus the text input area after sending a message</source>
<translation type="unfinished"></translation>
</message>
</context> </context>
<context> <context>
<name>StickerPicker</name> <name>StickerPicker</name>