This commit is contained in:
Nikolay Sinyov 2024-05-04 17:23:27 +03:00
commit 7847a22a3e
11 changed files with 465 additions and 62 deletions

View file

@ -159,15 +159,7 @@ ListItem {
}
onDoubleClicked: {
if (messageListItem.chatReactions) {
Debug.log("Using chat reactions")
messageListItem.messageReactions = chatReactions
showItemCompletelyTimer.requestedIndex = index;
showItemCompletelyTimer.start();
} else {
Debug.log("Obtaining message reactions")
tdLibWrapper.getMessageAvailableReactions(messageListItem.chatId, messageListItem.messageId);
}
openReactions();
}
onPressAndHold: {
@ -719,12 +711,50 @@ ListItem {
textFormat: Text.StyledText
maximumLineCount: 1
elide: Text.ElideRight
MouseArea {
anchors.fill: parent
onClicked: {
if (messageListItem.messageReactions) {
messageListItem.messageReactions = null;
selectReactionBubble.visible = false;
} else {
openReactions();
}
}
}
}
}
}
}
Rectangle {
id: selectReactionBubble
visible: false
opacity: visible ? 0.5 : 0.0
Behavior on opacity { NumberAnimation {} }
anchors {
horizontalCenter: messageListItem.isOwnMessage ? messageBackground.left : messageBackground.right
verticalCenter: messageBackground.verticalCenter
}
height: Theme.itemSizeExtraSmall
width: Theme.itemSizeExtraSmall
color: Theme.primaryColor
radius: parent.width / 2
}
IconButton {
id: selectReactionButton
visible: selectReactionBubble.visible
opacity: visible ? 1.0 : 0.0
Behavior on opacity { NumberAnimation {} }
icon.source: "image://theme/icon-s-favorite"
anchors.centerIn: selectReactionBubble
onClicked: {
openReactions();
}
}
}
}
@ -733,7 +763,7 @@ ListItem {
id: reactionsColumn
width: parent.width - ( 2 * Theme.horizontalPageMargin )
anchors.top: messageTextRow.bottom
anchors.topMargin: Theme.paddingSmall
anchors.topMargin: Theme.paddingMedium
anchors.horizontalCenter: parent.horizontalCenter
visible: messageListItem.messageReactions ? ( messageListItem.messageReactions.length > 0 ? true : false ) : false
opacity: messageListItem.messageReactions ? ( messageListItem.messageReactions.length > 0 ? 1 : 0 ) : 0
@ -742,7 +772,7 @@ ListItem {
Flickable {
width: parent.width
height: reactionsResultRow.height + Theme.paddingSmall
height: reactionsResultRow.height + 2 * Theme.paddingMedium
anchors.horizontalCenter: parent.horizontalCenter
contentWidth: reactionsResultRow.width
clip: true
@ -758,13 +788,14 @@ ListItem {
Row {
id: singleReactionRow
spacing: Theme.paddingSmall
spacing: Theme.paddingMedium
Image {
id: emojiPicture
source: Emoji.getEmojiPath(modelData)
width: status === Image.Ready ? Theme.fontSizeLarge : 0
height: Theme.fontSizeLarge
width: status === Image.Ready ? Theme.fontSizeExtraLarge : 0
height: Theme.fontSizeExtraLarge
}
}
@ -772,12 +803,26 @@ ListItem {
MouseArea {
anchors.fill: parent
onClicked: {
tdLibWrapper.setMessageReaction(messageListItem.chatId, messageListItem.messageId, modelData);
messageListItem.messageReactions = null;
for (var i = 0; i < reactions.length; i++) {
var reaction = reactions[i]
var reactionText = reaction.reaction ? reaction.reaction : (reaction.type && reaction.type.emoji) ? reaction.type.emoji : ""
if (reactionText === modelData) {
if (reaction.is_chosen) {
// Reaction is already selected
tdLibWrapper.removeMessageReaction(chatId, messageId, reactionText)
messageReactions = null
return
}
break
}
}
// Reaction is not yet selected
tdLibWrapper.addMessageReaction(chatId, messageId, modelData)
messageReactions = null
selectReactionBubble.visible = false
}
}
}
}
}
}

View file

@ -447,11 +447,16 @@ function handleLink(link) {
handleTMeLink(link, tMePrefix);
} else if (link.indexOf(tMePrefixHttp) === 0) {
handleTMeLink(link, tMePrefixHttp);
} else {
Debug.log("Trying to open URL externally: " + link)
if (link.indexOf("://") === -1) {
Qt.openUrlExternally("https://" + link)
} else {
Qt.openUrlExternally(link);
}
}
}
}
function getVideoHeight(videoWidth, videoData) {
if (typeof videoData !== "undefined") {
@ -512,7 +517,7 @@ function handleErrorMessage(code, message) {
}
function getMessagesNeededForwardPermissions(messages) {
var neededPermissions = ["can_send_messages"]
var neededPermissions = ["can_send_basic_messages"]
var mediaMessageTypes = ["messageAudio", "messageDocument", "messagePhoto", "messageVideo", "messageVideoNote", "messageVoiceNote"]
var otherMessageTypes = ["messageAnimation", "messageGame", "messageSticker"]

View file

@ -601,6 +601,9 @@ Page {
onSponsoredMessageReceived: {
chatPage.containsSponsoredMessages = true;
}
onReactionsUpdated: {
availableReactions = tdLibWrapper.getChatReactions(chatInformation.id);
}
}
Connections {
@ -635,6 +638,8 @@ Page {
chatViewCooldownTimer.restart();
chatViewStartupReadTimer.restart();
/*
// Double-tap for reactions is currently disabled, let's see if we'll ever need it again
var remainingDoubleTapHints = appSettings.remainingDoubleTapHints;
Debug.log("Remaining double tap hints: " + remainingDoubleTapHints);
if (remainingDoubleTapHints > 0) {
@ -643,6 +648,7 @@ Page {
tapHintLabel.visible = true;
appSettings.remainingDoubleTapHints = remainingDoubleTapHints - 1;
}
*/
}
onNewMessageReceived: {
if (( chatView.manuallyScrolledToBottom && Qt.application.state === Qt.ApplicationActive ) || message.sender_id.user_id === chatPage.myUserId) {

View file

@ -6,9 +6,9 @@
Name: harbour-fernschreiber
# >> macros
# << macros
%define __provides_exclude_from ^%{_datadir}/.*$
%define __requires_exclude ^lib(tdjson|ssl|crypto).*$
# << macros
Summary: Fernschreiber is a Telegram client for Aurora OS
Version: 0.17
@ -70,7 +70,7 @@ desktop-file-install --delete-original \
%files
%defattr(-,root,root,-)
%{_bindir}
%{_bindir}/%{name}
%{_datadir}/%{name}
%{_datadir}/applications/%{name}.desktop
%{_datadir}/icons/hicolor/*/apps/%{name}.png

View file

@ -0,0 +1,55 @@
Name: harbour-fernschreiber
Summary: Fernschreiber is a Telegram client for Sailfish OS
Version: 0.17
Release: 12
# The contents of the Group field should be one of the groups listed here:
# https://github.com/mer-tools/spectacle/blob/master/data/GROUPS
Group: Qt/Qt
URL: http://werkwolf.eu/
License: LICENSE
# This must be generated before uploading a package to a remote build service.
# Usually this line does not need to be modified.
Sources:
- '%{name}-%{version}.tar.bz2'
Description: |
Fernschreiber is a Telegram client for Sailfish OS
Configure: none
Builder: qmake5
# This section specifies build dependencies that are resolved using pkgconfig.
# This is the preferred way of specifying build dependencies for your package.
PkgConfigBR:
- sailfishapp >= 1.0.2
- Qt5Core
- Qt5Qml
- Qt5Quick
- Qt5DBus
- Qt5Sql
- Qt5Multimedia
- Qt5Positioning
- nemonotifications-qt5
- openssl
# NB: spectacle has a bug where it will remove custom "#<< macros" lines, so define them here:
Macros:
- '__provides_exclude_from;^%{_datadir}/.*$'
- '__requires_exclude;^libtdjson.*$'
# Build dependencies without a pkgconfig setup can be listed here
PkgBR:
- gperf
# Runtime dependencies which are not automatically detected
Requires:
- sailfishsilica-qt5 >= 0.10.9
- nemo-qml-plugin-contacts-qt5
# All installed files
Files:
- '%{_bindir}/%{name}'
- '%{_datadir}/%{name}'
- '%{_datadir}/applications/%{name}.desktop'
- '%{_datadir}/icons/hicolor/*/apps/%{name}.png'
# For more information about yaml and what's supported in Sailfish OS
# build system, please see https://wiki.merproject.org/wiki/Spectacle

View file

@ -303,7 +303,7 @@ void AppSettings::setDelayMessageRead(bool enable)
bool AppSettings::highlightUnreadConversations() const
{
return settings.value(KEY_HIGHLIGHT_UNREADCONVS, true).toBool();
return settings.value(KEY_HIGHLIGHT_UNREADCONVS, false).toBool();
}
void AppSettings::setHighlightUnreadConversations(bool enable)

View file

@ -1464,9 +1464,8 @@ void TDLibWrapper::getPageSource(const QString &address)
connect(reply, SIGNAL(finished()), this, SLOT(handleGetPageSourceFinished()));
}
void TDLibWrapper::setMessageReaction(qlonglong chatId, qlonglong messageId, const QString &reaction)
void TDLibWrapper::addMessageReaction(qlonglong chatId, qlonglong messageId, const QString &reaction)
{
LOG("Set message reaction" << chatId << messageId << reaction);
QVariantMap requestObject;
requestObject.insert(CHAT_ID, chatId);
requestObject.insert(MESSAGE_ID, messageId);
@ -1481,9 +1480,35 @@ void TDLibWrapper::setMessageReaction(qlonglong chatId, qlonglong messageId, con
reactionType.insert(EMOJI, reaction);
requestObject.insert(REACTION_TYPE, reactionType);
requestObject.insert(_TYPE, "addMessageReaction");
LOG("Add message reaction" << chatId << messageId << reaction);
} else {
requestObject.insert("reaction", reaction);
requestObject.insert(_TYPE, "setMessageReaction");
LOG("Toggle message reaction" << chatId << messageId << reaction);
}
this->sendRequest(requestObject);
}
void TDLibWrapper::removeMessageReaction(qlonglong chatId, qlonglong messageId, const QString &reaction)
{
QVariantMap requestObject;
requestObject.insert(CHAT_ID, chatId);
requestObject.insert(MESSAGE_ID, messageId);
if (versionNumber > VERSION_NUMBER(1,8,5)) {
// "reaction_type": {
// "@type": "reactionTypeEmoji",
// "emoji": "..."
// }
QVariantMap reactionType;
reactionType.insert(_TYPE, REACTION_TYPE_EMOJI);
reactionType.insert(EMOJI, reaction);
requestObject.insert(REACTION_TYPE, reactionType);
requestObject.insert(_TYPE, "removeMessageReaction");
LOG("Remove message reaction" << chatId << messageId << reaction);
} else {
requestObject.insert("reaction", reaction);
requestObject.insert(_TYPE, "setMessageReaction");
LOG("Toggle message reaction" << chatId << messageId << reaction);
}
this->sendRequest(requestObject);
}
@ -2087,6 +2112,7 @@ void TDLibWrapper::handleActiveEmojiReactionsUpdated(const QStringList& emojis)
if (activeEmojiReactions != emojis) {
activeEmojiReactions = emojis;
LOG(emojis.count() << "reaction(s) available");
emit reactionsUpdated();
}
}

View file

@ -249,7 +249,8 @@ public:
Q_INVOKABLE void terminateSession(const QString &sessionId);
Q_INVOKABLE void getMessageAvailableReactions(qlonglong chatId, qlonglong messageId);
Q_INVOKABLE void getPageSource(const QString &address);
Q_INVOKABLE void setMessageReaction(qlonglong chatId, qlonglong messageId, const QString &reaction);
Q_INVOKABLE void addMessageReaction(qlonglong chatId, qlonglong messageId, const QString &reaction);
Q_INVOKABLE void removeMessageReaction(qlonglong chatId, qlonglong messageId, const QString &reaction);
Q_INVOKABLE void setNetworkType(NetworkType networkType);
Q_INVOKABLE void setInactiveSessionTtl(int days);
@ -340,6 +341,7 @@ signals:
void chatUnreadMentionCountUpdated(qlonglong chatId, int unreadMentionCount);
void chatUnreadReactionCountUpdated(qlonglong chatId, int unreadReactionCount);
void tgUrlFound(const QString &tgUrl);
void reactionsUpdated();
public slots:
void handleVersionDetected(const QString &version);

View file

@ -45,7 +45,7 @@
</message>
<message>
<source>About Telegram</source>
<translation>Telegram</translation>
<translation>Telegrama</translation>
</message>
<message>
<source>This product uses the Telegram API but is not endorsed or certified by Telegram.</source>
@ -173,7 +173,7 @@
</message>
<message>
<source>New Secret Chat</source>
<translation>Crear conversación secreta</translation>
<translation>Crear Charla Secreta</translation>
</message>
<message>
<source>Unmute Chat</source>
@ -193,7 +193,7 @@
<message>
<source>Loading common chats</source>
<comment>chats you have in common with a user</comment>
<translation>Cargando conversaciones comunes</translation>
<translation>Cargando charlas comunes</translation>
</message>
<message>
<source>Loading group members</source>
@ -274,11 +274,11 @@
</message>
<message>
<source>Unpin chat</source>
<translation>Desanclar conversación</translation>
<translation>Desanclar charla</translation>
</message>
<message>
<source>Pin chat</source>
<translation>Anclar conversación</translation>
<translation>Anclar charla</translation>
</message>
<message>
<source>Unmute chat</source>
@ -339,7 +339,7 @@
</message>
<message>
<source>This chat is empty.</source>
<translation>Esta conversación está vacía.</translation>
<translation>Esta charla está vacía.</translation>
</message>
<message>
<source>Leave Chat</source>
@ -351,7 +351,7 @@
</message>
<message>
<source>Leaving chat</source>
<translation>Saliendo de conversación</translation>
<translation>Saliendo de charla</translation>
</message>
<message>
<source>You joined the chat %1</source>
@ -405,15 +405,19 @@
</message>
<message>
<source>This secret chat is not yet ready. Your chat partner needs to go online first.</source>
<<<<<<< HEAD
<translation>Esta conversación secreta no está lista. El contacto no está conectado.</translation>
=======
<translation>Esta charla secreta no está lista. El contacto no está conectado.</translation>
>>>>>>> fix_ballons/master
</message>
<message>
<source>Closing chat</source>
<translation>Cerrando la conversación</translation>
<translation>Cerrando charla</translation>
</message>
<message>
<source>Close Chat</source>
<translation>Cerrar conversación</translation>
<translation>Cerrar charla</translation>
</message>
<message>
<source>Search in Chat</source>
@ -473,11 +477,11 @@
</message>
<message>
<source>Deleting chat</source>
<translation>Borrando la conversación</translation>
<translation>Borrando charla</translation>
</message>
<message>
<source>Delete Chat</source>
<translation>Borrar conversación</translation>
<translation>Borrar Charla</translation>
</message>
<message>
<source>Deleted User</source>
@ -492,11 +496,22 @@
<name>ChatSelectionPage</name>
<message>
<source>Select Chat</source>
<translation>Seleccionar conversación</translation>
<translation>Seleccionar Charla</translation>
</message>
<message>
<source>You don&apos;t have any chats yet.</source>
<<<<<<< HEAD
<translation>No hay conversaciones.</translation>
=======
<translation>No hay charlas.</translation>
</message>
</context>
<context>
<name>ContactSync</name>
<message>
<source>Could not synchronize your contacts with Telegram.</source>
<translation>No se puede sincronizar los contactos con Telegrama.</translation>
>>>>>>> fix_ballons/master
</message>
</context>
<context>
@ -529,7 +544,7 @@
<source>chats</source>
<translation>
<numerusform>conversación</numerusform>
<numerusform>conversaciones</numerusform>
<numerusform>charlas</numerusform>
</translation>
</message>
<message numerus="yes">
@ -570,7 +585,7 @@
<message>
<source>Change Chat Info</source>
<comment>member permission</comment>
<translation>Cambiar detalles de conversación</translation>
<translation>Cambiar detalles de Charla</translation>
</message>
<message>
<source>Invite Users</source>
@ -605,7 +620,7 @@
</message>
<message>
<source>Set how long every chat member has to wait between Messages</source>
<translation>Establecer cuánto tiempo debe esperar cada miembro de conversación entre mensajes</translation>
<translation>Establecer cuánto tiempo debe esperar cada miembro de charla entre Mensajes</translation>
</message>
</context>
<context>
@ -662,7 +677,11 @@
<message>
<source>have registered with Telegram</source>
<comment>myself</comment>
<<<<<<< HEAD
<translation>registrado a Telegram</translation>
=======
<translation>registrado a Telegrama</translation>
>>>>>>> fix_ballons/master
</message>
<message>
<source>has registered with Telegram</source>
@ -689,11 +708,11 @@
<message>
<source>left this chat</source>
<comment>myself</comment>
<translation>dejó esta conversación</translation>
<translation>dejó esta charla</translation>
</message>
<message>
<source>left this chat</source>
<translation>dejó esta conversación</translation>
<translation>dejó esta charla</translation>
</message>
<message>
<source>sent a voice note</source>
@ -748,7 +767,7 @@
<message>
<source>changed the chat photo</source>
<comment>myself</comment>
<translation>cambió la foto de la conversación</translation>
<translation>cambió foto de charla</translation>
</message>
<message>
<source>changed the chat photo</source>
@ -757,7 +776,11 @@
<message>
<source>deleted the chat photo</source>
<comment>myself</comment>
<<<<<<< HEAD
<translation>borró foto de conversación</translation>
=======
<translation>borró foto de charla</translation>
>>>>>>> fix_ballons/master
</message>
<message>
<source>deleted the chat photo</source>
@ -766,11 +789,19 @@
<message>
<source>changed the secret chat TTL setting</source>
<comment>myself</comment>
<<<<<<< HEAD
<translation>cambió ajustes TTL en conversación secreta</translation>
</message>
<message>
<source>changed the secret chat TTL setting</source>
<translation>cambió ajustes TTL en conversación secreta</translation>
=======
<translation>cambió ajustes TTL en charla secreta</translation>
</message>
<message>
<source>changed the secret chat TTL setting</source>
<translation>cambió ajustes TTL en charla secreta</translation>
>>>>>>> fix_ballons/master
</message>
<message>
<source>upgraded this group to a supergroup</source>
@ -789,11 +820,19 @@
<message>
<source>created a screenshot in this chat</source>
<comment>myself</comment>
<<<<<<< HEAD
<translation>creó pantallazo a esta conversación</translation>
</message>
<message>
<source>created a screenshot in this chat</source>
<translation>creó pantallazo a esta conversación</translation>
=======
<translation>creó pantallazo a esta charla</translation>
</message>
<message>
<source>created a screenshot in this chat</source>
<translation>creó pantallazo a esta charla</translation>
>>>>>>> fix_ballons/master
</message>
<message>
<source>sent an unsupported message</source>
@ -846,21 +885,37 @@
</message>
<message>
<source>has added %1 to the chat</source>
<<<<<<< HEAD
<translation>ha añadido %1 a conversación</translation>
</message>
<message>
<source>has removed %1 from the chat</source>
<translation>ha quitado %1 de conversación</translation>
=======
<translation>ha añadido %1 a charla</translation>
</message>
<message>
<source>has removed %1 from the chat</source>
<translation>ha quitado %1 de charla</translation>
>>>>>>> fix_ballons/master
</message>
<message>
<source>have added %1 to the chat</source>
<comment>myself</comment>
<<<<<<< HEAD
<translation>ha añadido %1 a conversación</translation>
=======
<translation>ha añadido %1 a charla</translation>
>>>>>>> fix_ballons/master
</message>
<message>
<source>have removed %1 from the chat</source>
<comment>myself</comment>
<<<<<<< HEAD
<translation>ha quitado %1 de conversación</translation>
=======
<translation>ha quitado %1 de charla</translation>
>>>>>>> fix_ballons/master
</message>
<message numerus="yes">
<source>scored %Ln points</source>
@ -1204,7 +1259,11 @@
</message>
<message>
<source>Loading chat list...</source>
<<<<<<< HEAD
<translation>cargando lista de conversación...</translation>
=======
<translation>cargando lista de charla...</translation>
>>>>>>> fix_ballons/master
</message>
<message>
<source>Settings</source>
@ -1212,11 +1271,15 @@
</message>
<message>
<source>You don&apos;t have any chats yet.</source>
<<<<<<< HEAD
<translation>No hay conversaciones.</translation>
=======
<translation>No hay charlas.</translation>
>>>>>>> fix_ballons/master
</message>
<message>
<source>New Chat</source>
<translation>Crear conversación</translation>
<translation>Crear Charla</translation>
</message>
<message>
<source>Filter your chats...</source>
@ -1482,7 +1545,7 @@
</message>
<message>
<source>Show stickers as emojis</source>
<translation>Mostrar pegatinas como emoticonos</translation>
<translation>Mostrar pegatinas como Emoticonos</translation>
</message>
<message>
<source>Only display emojis instead of the actual stickers</source>
@ -1490,7 +1553,7 @@
</message>
<message>
<source>Show stickers as images</source>
<translation>Mostrar pegatinas como imágenes</translation>
<translation>Mostrar pegatinas como Imágenes</translation>
</message>
<message>
<source>Show background for stickers and align them centrally like images</source>
@ -1498,7 +1561,7 @@
</message>
<message>
<source>Animate stickers</source>
<translation>Mostrar pegatinas animadas</translation>
<translation>Mostrar pegatinas Animadas</translation>
</message>
</context>
<context>
@ -1517,15 +1580,23 @@
</message>
<message>
<source>Focus text input on chat open</source>
<<<<<<< HEAD
<translation>Enfocar entrada de texto a conversación</translation>
</message>
<message>
<source>Focus the text input area when entering a chat</source>
<translation>Enfoca área de entrada de texto al ingresar a conversación</translation>
=======
<translation>Enfocar entrada de texto de Charla</translation>
</message>
<message>
<source>Focus the text input area when entering a chat</source>
<translation>Enfoca área de entrada de texto al ingresar a charla</translation>
>>>>>>> fix_ballons/master
</message>
<message>
<source>Focus text input area after send</source>
<translation>Enfocar área de entrada de texto</translation>
<translation>Enfocar área de entrada de Texto</translation>
</message>
<message>
<source>Focus the text input area after sending a message</source>
@ -1533,11 +1604,15 @@
</message>
<message>
<source>Delay before marking messages as read</source>
<translation>Marcar mensajes como leídos</translation>
<translation>Marcar mensajes como Leídos</translation>
</message>
<message>
<source>Fernschreiber will wait a bit before messages are marked as read</source>
<<<<<<< HEAD
<translation>Si esta habilitado, apl espera un segundo hasta que mensaje que está en pantalla se marque como leído. Si deshabilita esta función, mensajes se marcarán inmediatamente como leído una vez que esté en pantalla sin desplazarse a mensaje</translation>
=======
<translation>Si esta habilitado, Apl espera un segundo hasta que mensaje que está en monitor se marque como leído. Si deshabilita esta función, mensajes se marcarán inmediatamente como leído una vez que esté en monitor sin desplazarse a mensaje</translation>
>>>>>>> fix_ballons/master
</message>
<message>
<source>Open-with menu integration</source>
@ -1569,10 +1644,11 @@
</message>
<message>
<source>Notification turns on the display</source>
<translation>Mostrar notificación por pantalla</translation>
<translation>Mostrar notificación por Monitor</translation>
</message>
<message>
<source>Enable notification sounds</source>
<<<<<<< HEAD
<translation>Habilitar sonidos notificación</translation>
</message>
<message>
@ -1582,6 +1658,17 @@
<message>
<source>Always append message preview to notifications</source>
<translation>Agregar vista previa mensaje a notificaciones</translation>
=======
<translation>Habilitar sonidos de Notificación</translation>
</message>
<message>
<source>When sounds are enabled, Fernschreiber will use the current Sailfish OS notification sound for chats, which can be configured in the system settings.</source>
<translation>Cuando los sonidos están habilitados, Ferni utilizará sonido de notificación actual de Sailfish OS para los grupos, que se puede ajustar a configuración del sistema.</translation>
</message>
<message>
<source>Always append message preview to notifications</source>
<translation>Vista previa de mensaje en Notificaciones</translation>
>>>>>>> fix_ballons/master
</message>
<message>
<source>In addition to showing the number of unread messages, the latest message will also be appended to notifications.</source>
@ -1589,6 +1676,7 @@
</message>
<message>
<source>Highlight unread messages</source>
<<<<<<< HEAD
<translation>Resaltar mensajes no leídos</translation>
</message>
<message>
@ -1598,6 +1686,17 @@
<message>
<source>Hide content in notifications</source>
<translation>Ocultar contenido a notificaciones</translation>
=======
<translation>Resaltar mensajes no Leídos</translation>
</message>
<message>
<source>Highlight Conversations with unread messages</source>
<translation>Resalta la charla en mensajes no leídos</translation>
</message>
<message>
<source>Hide content in notifications</source>
<translation>Ocultar contenido de notificaciones</translation>
>>>>>>> fix_ballons/master
</message>
<message>
<source>Go to quoted message</source>
@ -1623,7 +1722,7 @@
</message>
<message>
<source>Allow chat invites</source>
<translation>Permitir invitaciones de grupo</translation>
<translation>Permitir invitaciones de Grupo</translation>
</message>
<message>
<source>Privacy setting for managing whether you can be invited to chats.</source>
@ -1643,7 +1742,7 @@
</message>
<message>
<source>Allow finding by phone number</source>
<translation>Permitir buscarme por número</translation>
<translation>Permitir buscarme por Número</translation>
</message>
<message>
<source>Privacy setting for managing whether you can be found by your phone number.</source>
@ -1651,7 +1750,11 @@
</message>
<message>
<source>Show link in forwarded messages</source>
<<<<<<< HEAD
<translation>Mostrar enlace a mensajes reenviados</translation>
=======
<translation>Mostrar enlace a mensajes Reenviados</translation>
>>>>>>> fix_ballons/master
</message>
<message>
<source>Privacy setting for managing whether a link to your account is included in forwarded messages.</source>
@ -1659,7 +1762,7 @@
</message>
<message>
<source>Show phone number</source>
<translation>Mostrar número telefónico</translation>
<translation>Mostrar número Telefónico</translation>
</message>
<message>
<source>Privacy setting for managing whether your phone number is visible.</source>
@ -1667,7 +1770,7 @@
</message>
<message>
<source>Show profile photo</source>
<translation>Mostrar foto de perfil</translation>
<translation>Mostrar foto de Perfil</translation>
</message>
<message>
<source>Privacy setting for managing whether your profile photo is visible.</source>
@ -1675,7 +1778,7 @@
</message>
<message>
<source>Show status</source>
<translation>Mostrar estado</translation>
<translation>Mostrar Estado</translation>
</message>
<message>
<source>Privacy setting for managing whether your online status is visible.</source>
@ -1683,7 +1786,7 @@
</message>
<message>
<source>Allow sending Location to inline bots</source>
<translation>Enviar ubicación de Robot enlínea</translation>
<translation>Enviar ubicación de Robot Enlínea</translation>
</message>
<message>
<source>Some inline bots request location data when using them</source>
@ -1760,15 +1863,23 @@
</message>
<message>
<source>Enable online-only mode</source>
<<<<<<< HEAD
<translation>Modo solo enlínea</translation>
</message>
<message>
<source>Disables offline caching. Certain features may be limited or missing in this mode. Changes require a restart of Fernschreiber to take effect.</source>
<translation>Deshabilita almacenamiento en caché sin conexión. Algunas funciones pueden estar limitadas o ausentes en este modo. Se requiere reiniciar Ferni para efecto.</translation>
=======
<translation>Modo solo Enlínea</translation>
</message>
<message>
<source>Disables offline caching. Certain features may be limited or missing in this mode. Changes require a restart of Fernschreiber to take effect.</source>
<translation>Deshabilita el almacenamiento en caché sin conexión. Algunas funciones pueden estar limitadas o ausentes en este modo. Se requiere reiniciar Ferni para efecto.</translation>
>>>>>>> fix_ballons/master
</message>
<message>
<source>Enable storage optimizer</source>
<translation>Optimizador de almacenamiento</translation>
<translation>Optimizar Almacenamiento</translation>
</message>
</context>
<context>
@ -1838,7 +1949,11 @@
</message>
<message>
<source>Synchronize Contacts with Telegram</source>
<<<<<<< HEAD
<translation>Sincronizar Telegram</translation>
=======
<translation>Sincronizar Telegrama</translation>
>>>>>>> fix_ballons/master
</message>
</context>
<context>
@ -2219,12 +2334,20 @@
<message>
<source>changed the secret chat TTL setting</source>
<comment>myself; TTL = Time To Live</comment>
<<<<<<< HEAD
<translation>cambió ajustes de TTL de conversación secreta</translation>
=======
<translation>cambió ajustes de TTL de charla secreta</translation>
>>>>>>> fix_ballons/master
</message>
<message>
<source>changed the secret chat TTL setting</source>
<comment>TTL = Time To Live</comment>
<<<<<<< HEAD
<translation>cambió ajustes de TTL de conversación secreta</translation>
=======
<translation>cambió ajustes de TTL de charla secreta</translation>
>>>>>>> fix_ballons/master
</message>
<message>
<source>upgraded this group to a supergroup</source>
@ -2243,11 +2366,19 @@
<message>
<source>created a screenshot in this chat</source>
<comment>myself</comment>
<<<<<<< HEAD
<translation>creó pantallazo a conversación</translation>
</message>
<message>
<source>created a screenshot in this chat</source>
<translation>creó pantallazo a conversación</translation>
=======
<translation>creó pantallazo de charla</translation>
</message>
<message>
<source>created a screenshot in this chat</source>
<translation>creó pantallazo a charla</translation>
>>>>>>> fix_ballons/master
</message>
<message>
<source>sent an unsupported message</source>

View file

@ -495,7 +495,11 @@
</message>
<message>
<source>Double-tap on a message to choose a reaction</source>
<<<<<<< HEAD
<translation type="unfinished"></translation>
=======
<translation>Dvojitým klepnutím na správu vybrať reakciu</translation>
>>>>>>> fix_ballons/master
</message>
</context>
<context>
@ -1580,7 +1584,7 @@
</message>
<message>
<source>Use non-graphical feedback (sound, vibration) for notifications</source>
<translation>Pre upozornenia použiť negrafickú reakciu (zvuk, vibrovanie)</translation>
<translation>Pre oznamy použiť negrafickú reakciu (zvuk, vibrovanie)</translation>
</message>
<message>
<source>All events</source>
@ -1600,11 +1604,39 @@
</message>
<message>
<source>Enable notification sounds</source>
<translation>Povoliť zvukové upozornenia</translation>
<translation>Povoliť zvukové oznamy</translation>
</message>
<message>
<source>When sounds are enabled, Fernschreiber will use the current Sailfish OS notification sound for chats, which can be configured in the system settings.</source>
<translation>Keď povolené zvukové upozornenia, Fernschreiber použije aktuálne zvukové upozornenia Sailfish OS pre čety, ktoré môžu byť upravené v nastaveniach systému.</translation>
<translation>Keď povolené zvukové oznamy, Fernschreiber použije aktuálne zvukové oznamy Sailfish OS pre čety, ktoré môžu byť upravené v nastaveniach systému.</translation>
</message>
<message>
<source>Always append message preview to notifications</source>
<translation>K upozorneniam vždy pripojiť ukážku správy</translation>
</message>
<message>
<source>In addition to showing the number of unread messages, the latest message will also be appended to notifications.</source>
<translation>Okrem zobrazenia počtu neprečítaných správ pripojiť k upozorneniam aj najnovšiu správu.</translation>
</message>
<message>
<source>Highlight unread messages</source>
<translation>Zvýrazniť neprečítané správy</translation>
</message>
<message>
<source>Highlight Conversations with unread messages</source>
<translation>Zvýrazniť konverzácie s neprečítanými správami</translation>
</message>
<message>
<source>Hide content in notifications</source>
<translation>V upozorneniach skryť obsah</translation>
</message>
<message>
<source>Go to quoted message</source>
<translation>Prejsť na citovanú správu</translation>
</message>
<message>
<source>When tapping a quoted message, open it in chat instead of showing it in an overlay.</source>
<translation>Citovanú správu otvoriť v čete namiesto v náhľade.</translation>
</message>
<message>
<source>Always append message preview to notifications</source>
@ -1745,14 +1777,22 @@
</message>
<message numerus="yes">
<source>%1 day(s)</source>
<<<<<<< HEAD
<translation type="unfinished">
<numerusform></numerusform>
<numerusform></numerusform>
<numerusform></numerusform>
=======
<translation>
<numerusform>%1 deň</numerusform>
<numerusform>%1 dni</numerusform>
<numerusform>%1 dní</numerusform>
>>>>>>> fix_ballons/master
</translation>
</message>
<message>
<source>1 week</source>
<<<<<<< HEAD
<translation type="unfinished"></translation>
</message>
<message>
@ -1778,6 +1818,33 @@
<message>
<source>Inactive sessions will be terminated after this timeframe</source>
<translation type="unfinished"></translation>
=======
<translation>1 týždeň</translation>
</message>
<message>
<source>1 month</source>
<translation>1 mesiac</translation>
</message>
<message>
<source>3 months</source>
<translation>3 mesiace</translation>
</message>
<message>
<source>6 months</source>
<translation>6 mesiacov</translation>
</message>
<message>
<source>1 year</source>
<translation>1 rok</translation>
</message>
<message>
<source>Session Timeout</source>
<translation>Časový limit relácie</translation>
</message>
<message>
<source>Inactive sessions will be terminated after this timeframe</source>
<translation>Neaktívne relácie budú po tomto časovom rámci ukončené</translation>
>>>>>>> fix_ballons/master
</message>
</context>
<context>

View file

@ -185,7 +185,7 @@
</message>
<message>
<source>ID has been copied to the clipboard.</source>
<translation type="unfinished"></translation>
<translation>ID har kopierats till urklipp.</translation>
</message>
</context>
<context>
@ -485,7 +485,11 @@
</message>
<message>
<source>Double-tap on a message to choose a reaction</source>
<<<<<<< HEAD
<translation type="unfinished"></translation>
=======
<translation>Dubbeltryck ett meddelande för att välja en reaktion</translation>
>>>>>>> fix_ballons/master
</message>
</context>
<context>
@ -1163,7 +1167,7 @@
</message>
<message>
<source>No contacts found.</source>
<translation type="unfinished"></translation>
<translation>Inga kontakter hittades.</translation>
</message>
</context>
<context>
@ -1581,6 +1585,7 @@
</message>
<message>
<source>Always append message preview to notifications</source>
<<<<<<< HEAD
<translation type="unfinished"></translation>
</message>
<message>
@ -1606,6 +1611,33 @@
<message>
<source>When tapping a quoted message, open it in chat instead of showing it in an overlay.</source>
<translation type="unfinished"></translation>
=======
<translation>Visa alltid förhandsgranskning av meddelanden i aviseringar</translation>
</message>
<message>
<source>In addition to showing the number of unread messages, the latest message will also be appended to notifications.</source>
<translation>Förutom att visa antalet olästa meddelanden kommer det senaste meddelandet också att visas i aviseringarna.</translation>
</message>
<message>
<source>Highlight unread messages</source>
<translation>Färgmarkera olästa meddelanden</translation>
</message>
<message>
<source>Highlight Conversations with unread messages</source>
<translation>Färgmarkera konversationer med olästa meddelanden</translation>
</message>
<message>
<source>Hide content in notifications</source>
<translation>Dölj innehåll i aviseringar</translation>
</message>
<message>
<source>Go to quoted message</source>
<translation> till citerat meddelande</translation>
</message>
<message>
<source>When tapping a quoted message, open it in chat instead of showing it in an overlay.</source>
<translation>Vid tryck ett citerat meddelande öppnas det i chatten istället för att visas i ett överlägg.</translation>
>>>>>>> fix_ballons/master
</message>
</context>
<context>
@ -1718,13 +1750,20 @@
</message>
<message numerus="yes">
<source>%1 day(s)</source>
<<<<<<< HEAD
<translation type="unfinished">
<numerusform></numerusform>
<numerusform></numerusform>
=======
<translation>
<numerusform>%1 dag</numerusform>
<numerusform>%1 dagar</numerusform>
>>>>>>> fix_ballons/master
</translation>
</message>
<message>
<source>1 week</source>
<<<<<<< HEAD
<translation type="unfinished"></translation>
</message>
<message>
@ -1750,6 +1789,33 @@
<message>
<source>Inactive sessions will be terminated after this timeframe</source>
<translation type="unfinished"></translation>
=======
<translation>1 vecka</translation>
</message>
<message>
<source>1 month</source>
<translation>1 månad</translation>
</message>
<message>
<source>3 months</source>
<translation>3 månader</translation>
</message>
<message>
<source>6 months</source>
<translation>6 månader</translation>
</message>
<message>
<source>1 year</source>
<translation>1 år</translation>
</message>
<message>
<source>Session Timeout</source>
<translation>Tidsgräns för session</translation>
</message>
<message>
<source>Inactive sessions will be terminated after this timeframe</source>
<translation>Inaktiva sessioner avslutas efter den här tidsramen</translation>
>>>>>>> fix_ballons/master
</message>
</context>
<context>