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: { onDoubleClicked: {
if (messageListItem.chatReactions) { openReactions();
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);
}
} }
onPressAndHold: { onPressAndHold: {
@ -719,12 +711,50 @@ ListItem {
textFormat: Text.StyledText textFormat: Text.StyledText
maximumLineCount: 1 maximumLineCount: 1
elide: Text.ElideRight 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 id: reactionsColumn
width: parent.width - ( 2 * Theme.horizontalPageMargin ) width: parent.width - ( 2 * Theme.horizontalPageMargin )
anchors.top: messageTextRow.bottom anchors.top: messageTextRow.bottom
anchors.topMargin: Theme.paddingSmall anchors.topMargin: Theme.paddingMedium
anchors.horizontalCenter: parent.horizontalCenter anchors.horizontalCenter: parent.horizontalCenter
visible: messageListItem.messageReactions ? ( messageListItem.messageReactions.length > 0 ? true : false ) : false visible: messageListItem.messageReactions ? ( messageListItem.messageReactions.length > 0 ? true : false ) : false
opacity: messageListItem.messageReactions ? ( messageListItem.messageReactions.length > 0 ? 1 : 0 ) : 0 opacity: messageListItem.messageReactions ? ( messageListItem.messageReactions.length > 0 ? 1 : 0 ) : 0
@ -742,7 +772,7 @@ ListItem {
Flickable { Flickable {
width: parent.width width: parent.width
height: reactionsResultRow.height + Theme.paddingSmall height: reactionsResultRow.height + 2 * Theme.paddingMedium
anchors.horizontalCenter: parent.horizontalCenter anchors.horizontalCenter: parent.horizontalCenter
contentWidth: reactionsResultRow.width contentWidth: reactionsResultRow.width
clip: true clip: true
@ -758,13 +788,14 @@ ListItem {
Row { Row {
id: singleReactionRow id: singleReactionRow
spacing: Theme.paddingSmall spacing: Theme.paddingMedium
Image { Image {
id: emojiPicture id: emojiPicture
source: Emoji.getEmojiPath(modelData) 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 { MouseArea {
anchors.fill: parent anchors.fill: parent
onClicked: { onClicked: {
tdLibWrapper.setMessageReaction(messageListItem.chatId, messageListItem.messageId, modelData); for (var i = 0; i < reactions.length; i++) {
messageListItem.messageReactions = null; 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); handleTMeLink(link, tMePrefix);
} else if (link.indexOf(tMePrefixHttp) === 0) { } else if (link.indexOf(tMePrefixHttp) === 0) {
handleTMeLink(link, tMePrefixHttp); handleTMeLink(link, tMePrefixHttp);
} else {
Debug.log("Trying to open URL externally: " + link)
if (link.indexOf("://") === -1) {
Qt.openUrlExternally("https://" + link)
} else { } else {
Qt.openUrlExternally(link); Qt.openUrlExternally(link);
} }
} }
} }
}
function getVideoHeight(videoWidth, videoData) { function getVideoHeight(videoWidth, videoData) {
if (typeof videoData !== "undefined") { if (typeof videoData !== "undefined") {
@ -512,7 +517,7 @@ function handleErrorMessage(code, message) {
} }
function getMessagesNeededForwardPermissions(messages) { function getMessagesNeededForwardPermissions(messages) {
var neededPermissions = ["can_send_messages"] var neededPermissions = ["can_send_basic_messages"]
var mediaMessageTypes = ["messageAudio", "messageDocument", "messagePhoto", "messageVideo", "messageVideoNote", "messageVoiceNote"] var mediaMessageTypes = ["messageAudio", "messageDocument", "messagePhoto", "messageVideo", "messageVideoNote", "messageVoiceNote"]
var otherMessageTypes = ["messageAnimation", "messageGame", "messageSticker"] var otherMessageTypes = ["messageAnimation", "messageGame", "messageSticker"]

View file

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

View file

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

View file

@ -1464,9 +1464,8 @@ void TDLibWrapper::getPageSource(const QString &address)
connect(reply, SIGNAL(finished()), this, SLOT(handleGetPageSourceFinished())); 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; QVariantMap requestObject;
requestObject.insert(CHAT_ID, chatId); requestObject.insert(CHAT_ID, chatId);
requestObject.insert(MESSAGE_ID, messageId); requestObject.insert(MESSAGE_ID, messageId);
@ -1481,9 +1480,35 @@ void TDLibWrapper::setMessageReaction(qlonglong chatId, qlonglong messageId, con
reactionType.insert(EMOJI, reaction); reactionType.insert(EMOJI, reaction);
requestObject.insert(REACTION_TYPE, reactionType); requestObject.insert(REACTION_TYPE, reactionType);
requestObject.insert(_TYPE, "addMessageReaction"); requestObject.insert(_TYPE, "addMessageReaction");
LOG("Add message reaction" << chatId << messageId << reaction);
} else { } else {
requestObject.insert("reaction", reaction); requestObject.insert("reaction", reaction);
requestObject.insert(_TYPE, "setMessageReaction"); 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); this->sendRequest(requestObject);
} }
@ -2087,6 +2112,7 @@ void TDLibWrapper::handleActiveEmojiReactionsUpdated(const QStringList& emojis)
if (activeEmojiReactions != emojis) { if (activeEmojiReactions != emojis) {
activeEmojiReactions = emojis; activeEmojiReactions = emojis;
LOG(emojis.count() << "reaction(s) available"); 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 terminateSession(const QString &sessionId);
Q_INVOKABLE void getMessageAvailableReactions(qlonglong chatId, qlonglong messageId); Q_INVOKABLE void getMessageAvailableReactions(qlonglong chatId, qlonglong messageId);
Q_INVOKABLE void getPageSource(const QString &address); 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 setNetworkType(NetworkType networkType);
Q_INVOKABLE void setInactiveSessionTtl(int days); Q_INVOKABLE void setInactiveSessionTtl(int days);
@ -340,6 +341,7 @@ signals:
void chatUnreadMentionCountUpdated(qlonglong chatId, int unreadMentionCount); void chatUnreadMentionCountUpdated(qlonglong chatId, int unreadMentionCount);
void chatUnreadReactionCountUpdated(qlonglong chatId, int unreadReactionCount); void chatUnreadReactionCountUpdated(qlonglong chatId, int unreadReactionCount);
void tgUrlFound(const QString &tgUrl); void tgUrlFound(const QString &tgUrl);
void reactionsUpdated();
public slots: public slots:
void handleVersionDetected(const QString &version); void handleVersionDetected(const QString &version);

View file

@ -45,7 +45,7 @@
</message> </message>
<message> <message>
<source>About Telegram</source> <source>About Telegram</source>
<translation>Telegram</translation> <translation>Telegrama</translation>
</message> </message>
<message> <message>
<source>This product uses the Telegram API but is not endorsed or certified by Telegram.</source> <source>This product uses the Telegram API but is not endorsed or certified by Telegram.</source>
@ -173,7 +173,7 @@
</message> </message>
<message> <message>
<source>New Secret Chat</source> <source>New Secret Chat</source>
<translation>Crear conversación secreta</translation> <translation>Crear Charla Secreta</translation>
</message> </message>
<message> <message>
<source>Unmute Chat</source> <source>Unmute Chat</source>
@ -193,7 +193,7 @@
<message> <message>
<source>Loading common chats</source> <source>Loading common chats</source>
<comment>chats you have in common with a user</comment> <comment>chats you have in common with a user</comment>
<translation>Cargando conversaciones comunes</translation> <translation>Cargando charlas comunes</translation>
</message> </message>
<message> <message>
<source>Loading group members</source> <source>Loading group members</source>
@ -274,11 +274,11 @@
</message> </message>
<message> <message>
<source>Unpin chat</source> <source>Unpin chat</source>
<translation>Desanclar conversación</translation> <translation>Desanclar charla</translation>
</message> </message>
<message> <message>
<source>Pin chat</source> <source>Pin chat</source>
<translation>Anclar conversación</translation> <translation>Anclar charla</translation>
</message> </message>
<message> <message>
<source>Unmute chat</source> <source>Unmute chat</source>
@ -339,7 +339,7 @@
</message> </message>
<message> <message>
<source>This chat is empty.</source> <source>This chat is empty.</source>
<translation>Esta conversación está vacía.</translation> <translation>Esta charla está vacía.</translation>
</message> </message>
<message> <message>
<source>Leave Chat</source> <source>Leave Chat</source>
@ -351,7 +351,7 @@
</message> </message>
<message> <message>
<source>Leaving chat</source> <source>Leaving chat</source>
<translation>Saliendo de conversación</translation> <translation>Saliendo de charla</translation>
</message> </message>
<message> <message>
<source>You joined the chat %1</source> <source>You joined the chat %1</source>
@ -405,15 +405,19 @@
</message> </message>
<message> <message>
<source>This secret chat is not yet ready. Your chat partner needs to go online first.</source> <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 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>
<message> <message>
<source>Closing chat</source> <source>Closing chat</source>
<translation>Cerrando la conversación</translation> <translation>Cerrando charla</translation>
</message> </message>
<message> <message>
<source>Close Chat</source> <source>Close Chat</source>
<translation>Cerrar conversación</translation> <translation>Cerrar charla</translation>
</message> </message>
<message> <message>
<source>Search in Chat</source> <source>Search in Chat</source>
@ -473,11 +477,11 @@
</message> </message>
<message> <message>
<source>Deleting chat</source> <source>Deleting chat</source>
<translation>Borrando la conversación</translation> <translation>Borrando charla</translation>
</message> </message>
<message> <message>
<source>Delete Chat</source> <source>Delete Chat</source>
<translation>Borrar conversación</translation> <translation>Borrar Charla</translation>
</message> </message>
<message> <message>
<source>Deleted User</source> <source>Deleted User</source>
@ -492,11 +496,22 @@
<name>ChatSelectionPage</name> <name>ChatSelectionPage</name>
<message> <message>
<source>Select Chat</source> <source>Select Chat</source>
<translation>Seleccionar conversación</translation> <translation>Seleccionar Charla</translation>
</message> </message>
<message> <message>
<source>You don&apos;t have any chats yet.</source> <source>You don&apos;t have any chats yet.</source>
<<<<<<< HEAD
<translation>No hay conversaciones.</translation> <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> </message>
</context> </context>
<context> <context>
@ -529,7 +544,7 @@
<source>chats</source> <source>chats</source>
<translation> <translation>
<numerusform>conversación</numerusform> <numerusform>conversación</numerusform>
<numerusform>conversaciones</numerusform> <numerusform>charlas</numerusform>
</translation> </translation>
</message> </message>
<message numerus="yes"> <message numerus="yes">
@ -570,7 +585,7 @@
<message> <message>
<source>Change Chat Info</source> <source>Change Chat Info</source>
<comment>member permission</comment> <comment>member permission</comment>
<translation>Cambiar detalles de conversación</translation> <translation>Cambiar detalles de Charla</translation>
</message> </message>
<message> <message>
<source>Invite Users</source> <source>Invite Users</source>
@ -605,7 +620,7 @@
</message> </message>
<message> <message>
<source>Set how long every chat member has to wait between Messages</source> <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> </message>
</context> </context>
<context> <context>
@ -662,7 +677,11 @@
<message> <message>
<source>have registered with Telegram</source> <source>have registered with Telegram</source>
<comment>myself</comment> <comment>myself</comment>
<<<<<<< HEAD
<translation>registrado a Telegram</translation> <translation>registrado a Telegram</translation>
=======
<translation>registrado a Telegrama</translation>
>>>>>>> fix_ballons/master
</message> </message>
<message> <message>
<source>has registered with Telegram</source> <source>has registered with Telegram</source>
@ -689,11 +708,11 @@
<message> <message>
<source>left this chat</source> <source>left this chat</source>
<comment>myself</comment> <comment>myself</comment>
<translation>dejó esta conversación</translation> <translation>dejó esta charla</translation>
</message> </message>
<message> <message>
<source>left this chat</source> <source>left this chat</source>
<translation>dejó esta conversación</translation> <translation>dejó esta charla</translation>
</message> </message>
<message> <message>
<source>sent a voice note</source> <source>sent a voice note</source>
@ -748,7 +767,7 @@
<message> <message>
<source>changed the chat photo</source> <source>changed the chat photo</source>
<comment>myself</comment> <comment>myself</comment>
<translation>cambió la foto de la conversación</translation> <translation>cambió foto de charla</translation>
</message> </message>
<message> <message>
<source>changed the chat photo</source> <source>changed the chat photo</source>
@ -757,7 +776,11 @@
<message> <message>
<source>deleted the chat photo</source> <source>deleted the chat photo</source>
<comment>myself</comment> <comment>myself</comment>
<<<<<<< HEAD
<translation>borró foto de conversación</translation> <translation>borró foto de conversación</translation>
=======
<translation>borró foto de charla</translation>
>>>>>>> fix_ballons/master
</message> </message>
<message> <message>
<source>deleted the chat photo</source> <source>deleted the chat photo</source>
@ -766,11 +789,19 @@
<message> <message>
<source>changed the secret chat TTL setting</source> <source>changed the secret chat TTL setting</source>
<comment>myself</comment> <comment>myself</comment>
<<<<<<< HEAD
<translation>cambió ajustes TTL en conversación secreta</translation> <translation>cambió ajustes TTL en conversación secreta</translation>
</message> </message>
<message> <message>
<source>changed the secret chat TTL setting</source> <source>changed the secret chat TTL setting</source>
<translation>cambió ajustes TTL en conversación secreta</translation> <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>
<message> <message>
<source>upgraded this group to a supergroup</source> <source>upgraded this group to a supergroup</source>
@ -789,11 +820,19 @@
<message> <message>
<source>created a screenshot in this chat</source> <source>created a screenshot in this chat</source>
<comment>myself</comment> <comment>myself</comment>
<<<<<<< HEAD
<translation>creó pantallazo a esta conversación</translation> <translation>creó pantallazo a esta conversación</translation>
</message> </message>
<message> <message>
<source>created a screenshot in this chat</source> <source>created a screenshot in this chat</source>
<translation>creó pantallazo a esta conversación</translation> <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>
<message> <message>
<source>sent an unsupported message</source> <source>sent an unsupported message</source>
@ -846,21 +885,37 @@
</message> </message>
<message> <message>
<source>has added %1 to the chat</source> <source>has added %1 to the chat</source>
<<<<<<< HEAD
<translation>ha añadido %1 a conversación</translation> <translation>ha añadido %1 a conversación</translation>
</message> </message>
<message> <message>
<source>has removed %1 from the chat</source> <source>has removed %1 from the chat</source>
<translation>ha quitado %1 de conversación</translation> <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>
<message> <message>
<source>have added %1 to the chat</source> <source>have added %1 to the chat</source>
<comment>myself</comment> <comment>myself</comment>
<<<<<<< HEAD
<translation>ha añadido %1 a conversación</translation> <translation>ha añadido %1 a conversación</translation>
=======
<translation>ha añadido %1 a charla</translation>
>>>>>>> fix_ballons/master
</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>
<<<<<<< HEAD
<translation>ha quitado %1 de conversación</translation> <translation>ha quitado %1 de conversación</translation>
=======
<translation>ha quitado %1 de charla</translation>
>>>>>>> fix_ballons/master
</message> </message>
<message numerus="yes"> <message numerus="yes">
<source>scored %Ln points</source> <source>scored %Ln points</source>
@ -1204,7 +1259,11 @@
</message> </message>
<message> <message>
<source>Loading chat list...</source> <source>Loading chat list...</source>
<<<<<<< HEAD
<translation>cargando lista de conversación...</translation> <translation>cargando lista de conversación...</translation>
=======
<translation>cargando lista de charla...</translation>
>>>>>>> fix_ballons/master
</message> </message>
<message> <message>
<source>Settings</source> <source>Settings</source>
@ -1212,11 +1271,15 @@
</message> </message>
<message> <message>
<source>You don&apos;t have any chats yet.</source> <source>You don&apos;t have any chats yet.</source>
<<<<<<< HEAD
<translation>No hay conversaciones.</translation> <translation>No hay conversaciones.</translation>
=======
<translation>No hay charlas.</translation>
>>>>>>> fix_ballons/master
</message> </message>
<message> <message>
<source>New Chat</source> <source>New Chat</source>
<translation>Crear conversación</translation> <translation>Crear Charla</translation>
</message> </message>
<message> <message>
<source>Filter your chats...</source> <source>Filter your chats...</source>
@ -1482,7 +1545,7 @@
</message> </message>
<message> <message>
<source>Show stickers as emojis</source> <source>Show stickers as emojis</source>
<translation>Mostrar pegatinas como emoticonos</translation> <translation>Mostrar pegatinas como Emoticonos</translation>
</message> </message>
<message> <message>
<source>Only display emojis instead of the actual stickers</source> <source>Only display emojis instead of the actual stickers</source>
@ -1490,7 +1553,7 @@
</message> </message>
<message> <message>
<source>Show stickers as images</source> <source>Show stickers as images</source>
<translation>Mostrar pegatinas como imágenes</translation> <translation>Mostrar pegatinas como Imágenes</translation>
</message> </message>
<message> <message>
<source>Show background for stickers and align them centrally like images</source> <source>Show background for stickers and align them centrally like images</source>
@ -1498,7 +1561,7 @@
</message> </message>
<message> <message>
<source>Animate stickers</source> <source>Animate stickers</source>
<translation>Mostrar pegatinas animadas</translation> <translation>Mostrar pegatinas Animadas</translation>
</message> </message>
</context> </context>
<context> <context>
@ -1517,15 +1580,23 @@
</message> </message>
<message> <message>
<source>Focus text input on chat open</source> <source>Focus text input on chat open</source>
<<<<<<< HEAD
<translation>Enfocar entrada de texto a conversación</translation> <translation>Enfocar entrada de texto a conversación</translation>
</message> </message>
<message> <message>
<source>Focus the text input area when entering a chat</source> <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>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>
<message> <message>
<source>Focus text input area after send</source> <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>
<message> <message>
<source>Focus the text input area after sending a message</source> <source>Focus the text input area after sending a message</source>
@ -1533,11 +1604,15 @@
</message> </message>
<message> <message>
<source>Delay before marking messages as read</source> <source>Delay before marking messages as read</source>
<translation>Marcar mensajes como leídos</translation> <translation>Marcar mensajes como Leídos</translation>
</message> </message>
<message> <message>
<source>Fernschreiber will wait a bit before messages are marked as read</source> <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 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>
<message> <message>
<source>Open-with menu integration</source> <source>Open-with menu integration</source>
@ -1569,10 +1644,11 @@
</message> </message>
<message> <message>
<source>Notification turns on the display</source> <source>Notification turns on the display</source>
<translation>Mostrar notificación por pantalla</translation> <translation>Mostrar notificación por Monitor</translation>
</message> </message>
<message> <message>
<source>Enable notification sounds</source> <source>Enable notification sounds</source>
<<<<<<< HEAD
<translation>Habilitar sonidos notificación</translation> <translation>Habilitar sonidos notificación</translation>
</message> </message>
<message> <message>
@ -1582,6 +1658,17 @@
<message> <message>
<source>Always append message preview to notifications</source> <source>Always append message preview to notifications</source>
<translation>Agregar vista previa mensaje a notificaciones</translation> <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>
<message> <message>
<source>In addition to showing the number of unread messages, the latest message will also be appended to notifications.</source> <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>
<message> <message>
<source>Highlight unread messages</source> <source>Highlight unread messages</source>
<<<<<<< HEAD
<translation>Resaltar mensajes no leídos</translation> <translation>Resaltar mensajes no leídos</translation>
</message> </message>
<message> <message>
@ -1598,6 +1686,17 @@
<message> <message>
<source>Hide content in notifications</source> <source>Hide content in notifications</source>
<translation>Ocultar contenido a notificaciones</translation> <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>
<message> <message>
<source>Go to quoted message</source> <source>Go to quoted message</source>
@ -1623,7 +1722,7 @@
</message> </message>
<message> <message>
<source>Allow chat invites</source> <source>Allow chat invites</source>
<translation>Permitir invitaciones de grupo</translation> <translation>Permitir invitaciones de Grupo</translation>
</message> </message>
<message> <message>
<source>Privacy setting for managing whether you can be invited to chats.</source> <source>Privacy setting for managing whether you can be invited to chats.</source>
@ -1643,7 +1742,7 @@
</message> </message>
<message> <message>
<source>Allow finding by phone number</source> <source>Allow finding by phone number</source>
<translation>Permitir buscarme por número</translation> <translation>Permitir buscarme por Número</translation>
</message> </message>
<message> <message>
<source>Privacy setting for managing whether you can be found by your phone number.</source> <source>Privacy setting for managing whether you can be found by your phone number.</source>
@ -1651,7 +1750,11 @@
</message> </message>
<message> <message>
<source>Show link in forwarded messages</source> <source>Show link in forwarded messages</source>
<<<<<<< HEAD
<translation>Mostrar enlace a mensajes reenviados</translation> <translation>Mostrar enlace a mensajes reenviados</translation>
=======
<translation>Mostrar enlace a mensajes Reenviados</translation>
>>>>>>> fix_ballons/master
</message> </message>
<message> <message>
<source>Privacy setting for managing whether a link to your account is included in forwarded messages.</source> <source>Privacy setting for managing whether a link to your account is included in forwarded messages.</source>
@ -1659,7 +1762,7 @@
</message> </message>
<message> <message>
<source>Show phone number</source> <source>Show phone number</source>
<translation>Mostrar número telefónico</translation> <translation>Mostrar número Telefónico</translation>
</message> </message>
<message> <message>
<source>Privacy setting for managing whether your phone number is visible.</source> <source>Privacy setting for managing whether your phone number is visible.</source>
@ -1667,7 +1770,7 @@
</message> </message>
<message> <message>
<source>Show profile photo</source> <source>Show profile photo</source>
<translation>Mostrar foto de perfil</translation> <translation>Mostrar foto de Perfil</translation>
</message> </message>
<message> <message>
<source>Privacy setting for managing whether your profile photo is visible.</source> <source>Privacy setting for managing whether your profile photo is visible.</source>
@ -1675,7 +1778,7 @@
</message> </message>
<message> <message>
<source>Show status</source> <source>Show status</source>
<translation>Mostrar estado</translation> <translation>Mostrar Estado</translation>
</message> </message>
<message> <message>
<source>Privacy setting for managing whether your online status is visible.</source> <source>Privacy setting for managing whether your online status is visible.</source>
@ -1683,7 +1786,7 @@
</message> </message>
<message> <message>
<source>Allow sending Location to inline bots</source> <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>
<message> <message>
<source>Some inline bots request location data when using them</source> <source>Some inline bots request location data when using them</source>
@ -1760,15 +1863,23 @@
</message> </message>
<message> <message>
<source>Enable online-only mode</source> <source>Enable online-only mode</source>
<<<<<<< HEAD
<translation>Modo solo enlínea</translation> <translation>Modo solo enlínea</translation>
</message> </message>
<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> <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>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>
<message> <message>
<source>Enable storage optimizer</source> <source>Enable storage optimizer</source>
<translation>Optimizador de almacenamiento</translation> <translation>Optimizar Almacenamiento</translation>
</message> </message>
</context> </context>
<context> <context>
@ -1838,7 +1949,11 @@
</message> </message>
<message> <message>
<source>Synchronize Contacts with Telegram</source> <source>Synchronize Contacts with Telegram</source>
<<<<<<< HEAD
<translation>Sincronizar Telegram</translation> <translation>Sincronizar Telegram</translation>
=======
<translation>Sincronizar Telegrama</translation>
>>>>>>> fix_ballons/master
</message> </message>
</context> </context>
<context> <context>
@ -2219,12 +2334,20 @@
<message> <message>
<source>changed the secret chat TTL setting</source> <source>changed the secret chat TTL setting</source>
<comment>myself; TTL = Time To Live</comment> <comment>myself; TTL = Time To Live</comment>
<<<<<<< HEAD
<translation>cambió ajustes de TTL de conversación secreta</translation> <translation>cambió ajustes de TTL de conversación secreta</translation>
=======
<translation>cambió ajustes de TTL de charla secreta</translation>
>>>>>>> fix_ballons/master
</message> </message>
<message> <message>
<source>changed the secret chat TTL setting</source> <source>changed the secret chat TTL setting</source>
<comment>TTL = Time To Live</comment> <comment>TTL = Time To Live</comment>
<<<<<<< HEAD
<translation>cambió ajustes de TTL de conversación secreta</translation> <translation>cambió ajustes de TTL de conversación secreta</translation>
=======
<translation>cambió ajustes de TTL de charla secreta</translation>
>>>>>>> fix_ballons/master
</message> </message>
<message> <message>
<source>upgraded this group to a supergroup</source> <source>upgraded this group to a supergroup</source>
@ -2243,11 +2366,19 @@
<message> <message>
<source>created a screenshot in this chat</source> <source>created a screenshot in this chat</source>
<comment>myself</comment> <comment>myself</comment>
<<<<<<< HEAD
<translation>creó pantallazo a conversación</translation> <translation>creó pantallazo a conversación</translation>
</message> </message>
<message> <message>
<source>created a screenshot in this chat</source> <source>created a screenshot in this chat</source>
<translation>creó pantallazo a conversación</translation> <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>
<message> <message>
<source>sent an unsupported message</source> <source>sent an unsupported message</source>

View file

@ -495,7 +495,11 @@
</message> </message>
<message> <message>
<source>Double-tap on a message to choose a reaction</source> <source>Double-tap on a message to choose a reaction</source>
<<<<<<< HEAD
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
=======
<translation>Dvojitým klepnutím na správu vybrať reakciu</translation>
>>>>>>> fix_ballons/master
</message> </message>
</context> </context>
<context> <context>
@ -1580,7 +1584,7 @@
</message> </message>
<message> <message>
<source>Use non-graphical feedback (sound, vibration) for notifications</source> <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>
<message> <message>
<source>All events</source> <source>All events</source>
@ -1600,11 +1604,39 @@
</message> </message>
<message> <message>
<source>Enable notification sounds</source> <source>Enable notification sounds</source>
<translation>Povoliť zvukové upozornenia</translation> <translation>Povoliť zvukové oznamy</translation>
</message> </message>
<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> <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>
<message> <message>
<source>Always append message preview to notifications</source> <source>Always append message preview to notifications</source>
@ -1745,14 +1777,22 @@
</message> </message>
<message numerus="yes"> <message numerus="yes">
<source>%1 day(s)</source> <source>%1 day(s)</source>
<<<<<<< HEAD
<translation type="unfinished"> <translation type="unfinished">
<numerusform></numerusform> <numerusform></numerusform>
<numerusform></numerusform> <numerusform></numerusform>
<numerusform></numerusform> <numerusform></numerusform>
=======
<translation>
<numerusform>%1 deň</numerusform>
<numerusform>%1 dni</numerusform>
<numerusform>%1 dní</numerusform>
>>>>>>> fix_ballons/master
</translation> </translation>
</message> </message>
<message> <message>
<source>1 week</source> <source>1 week</source>
<<<<<<< HEAD
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
@ -1778,6 +1818,33 @@
<message> <message>
<source>Inactive sessions will be terminated after this timeframe</source> <source>Inactive sessions will be terminated after this timeframe</source>
<translation type="unfinished"></translation> <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> </message>
</context> </context>
<context> <context>

View file

@ -185,7 +185,7 @@
</message> </message>
<message> <message>
<source>ID has been copied to the clipboard.</source> <source>ID has been copied to the clipboard.</source>
<translation type="unfinished"></translation> <translation>ID har kopierats till urklipp.</translation>
</message> </message>
</context> </context>
<context> <context>
@ -485,7 +485,11 @@
</message> </message>
<message> <message>
<source>Double-tap on a message to choose a reaction</source> <source>Double-tap on a message to choose a reaction</source>
<<<<<<< HEAD
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
=======
<translation>Dubbeltryck ett meddelande för att välja en reaktion</translation>
>>>>>>> fix_ballons/master
</message> </message>
</context> </context>
<context> <context>
@ -1163,7 +1167,7 @@
</message> </message>
<message> <message>
<source>No contacts found.</source> <source>No contacts found.</source>
<translation type="unfinished"></translation> <translation>Inga kontakter hittades.</translation>
</message> </message>
</context> </context>
<context> <context>
@ -1581,6 +1585,7 @@
</message> </message>
<message> <message>
<source>Always append message preview to notifications</source> <source>Always append message preview to notifications</source>
<<<<<<< HEAD
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
@ -1606,6 +1611,33 @@
<message> <message>
<source>When tapping a quoted message, open it in chat instead of showing it in an overlay.</source> <source>When tapping a quoted message, open it in chat instead of showing it in an overlay.</source>
<translation type="unfinished"></translation> <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> </message>
</context> </context>
<context> <context>
@ -1718,13 +1750,20 @@
</message> </message>
<message numerus="yes"> <message numerus="yes">
<source>%1 day(s)</source> <source>%1 day(s)</source>
<<<<<<< HEAD
<translation type="unfinished"> <translation type="unfinished">
<numerusform></numerusform> <numerusform></numerusform>
<numerusform></numerusform> <numerusform></numerusform>
=======
<translation>
<numerusform>%1 dag</numerusform>
<numerusform>%1 dagar</numerusform>
>>>>>>> fix_ballons/master
</translation> </translation>
</message> </message>
<message> <message>
<source>1 week</source> <source>1 week</source>
<<<<<<< HEAD
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
@ -1750,6 +1789,33 @@
<message> <message>
<source>Inactive sessions will be terminated after this timeframe</source> <source>Inactive sessions will be terminated after this timeframe</source>
<translation type="unfinished"></translation> <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> </message>
</context> </context>
<context> <context>