support for landscape view

This commit is contained in:
molan-git 2020-06-29 10:48:06 +02:00
parent 479bfd8f3e
commit 9e7d735a3b
33 changed files with 764 additions and 721 deletions

View file

@ -14,6 +14,7 @@ TARGET = harbour-tooter
CONFIG += sailfishapp
QT += network dbus sql
QT += multimedia
CONFIG += link_pkgconfig
PKGCONFIG += sailfishapp
PKGCONFIG += \
@ -58,16 +59,16 @@ DISTFILES += qml/harbour-tooter.qml \
qml/pages/SettingsPage.qml \
qml/pages/components/InfoBanner.qml \
qml/pages/components/MediaFullScreen.qml \
qml/pages/components/MyMedia.qml \
qml/pages/components/NavigationPanel.qml \
qml/pages/components/ProfileImage.qml \
qml/pages/components/VisualContainer.qml \
qml/pages/components/MiniStatus.qml \
qml/pages/components/MiniHeader.qml \
qml/pages/components/ItemUser.qml \
qml/pages/components/MyList.qml \
qml/pages/components/Navigation.qml \
qml/pages/components/ProfileHeader.qml \
qml/pages/components/MediaBlock.qml \
qml/pages/components/MyImage.qml \
qml/cover/CoverPage.qml \
qml/pages/MainPage.qml \
qml/pages/LoginPage.qml \

View file

@ -87,5 +87,4 @@ ApplicationWindow {
activate()
}
}
}

View file

@ -242,18 +242,19 @@ Page {
id: toot
autoScrollEnabled: true
labelVisible: false
//: placeholderText in Toot text panel
placeholderText: qsTr("What's on your mind?")
font.pixelSize: Theme.fontSizeSmall
text: username !== "" && (username.charAt(0) === '@'
|| username.charAt(
0) === '#') ? username + ' ' : ''
height: if (type !== "reply") {
Math.max(conversationPage.height / 3, Math.min(conversationPage.height * 0.65, implicitHeight))
isPortrait ? Math.max(conversationPage.height / 3, Math.min(conversationPage.height * 0.65, implicitHeight)) : Math.max(conversationPage.height / 2, Math.min(conversationPage.height * 0.65, implicitHeight))
}
else {
Math.max(conversationPage.height / 4, Math.min(conversationPage.height * 0.65, implicitHeight))
isPortrait ? Math.max(conversationPage.height / 4, Math.min(conversationPage.height * 0.65, implicitHeight)) : Math.max(conversationPage.height / 2.5, Math.min(conversationPage.height * 0.65, implicitHeight))
}
horizontalAlignment: Text.AlignLeft
placeholderText: qsTr("What's on your mind?")
font.pixelSize: Theme.fontSizeSmall
anchors {
top: warningContent.bottom
topMargin: Theme.paddingMedium
@ -297,7 +298,7 @@ Page {
rightMargin: Theme.paddingSmall
}
onSelectionChanged: { console.log(selection) }
onClicked: pageStack.push(emojiSelect)
onClicked: pageStack.push(emojiDialog)
}
SilicaGridView {
@ -583,7 +584,7 @@ Page {
}
EmojiSelect {
id: emojiSelect
id: emojiDialog
}
InfoBanner {

View file

@ -50,10 +50,10 @@ Page {
conf.login = false;
/*conf['login'] = false;
conf['mastodon_client_id'] = data['mastodon_client_id'];
conf['mastodon_client_secret'] = data['mastodon_client_secret'];
conf['mastodon_client_redirect_uri'] = data['mastodon_client_redirect_uri'];
delete Logic.conf;*/
conf['mastodon_client_id'] = data['mastodon_client_id'];
conf['mastodon_client_secret'] = data['mastodon_client_secret'];
conf['mastodon_client_redirect_uri'] = data['mastodon_client_redirect_uri'];
delete Logic.conf;*/
Logic.conf = conf;
console.log(JSON.stringify(conf))
console.log(JSON.stringify(Logic.conf))
@ -72,7 +72,14 @@ Page {
);
}
}
Label {
id: serviceDescr
text: qsTr("Mastodon is a free, open-source social network. A decentralized alternative to commercial platforms, it avoids the risks of a single company monopolizing your communication. Pick a server that you trust — whichever you choose, you can interact with everyone else. Anyone can run their own Mastodon instance and participate in the social network seamlessly.")
font.pixelSize: Theme.fontSizeExtraSmall
color: Theme.highlightColor
wrapMode: Text.WordWrap
width: parent.width
anchors {
left: parent.left
right: parent.right
@ -80,30 +87,20 @@ Page {
leftMargin: Theme.horizontalPageMargin
rightMargin: Theme.horizontalPageMargin
}
width: parent.width
wrapMode: Text.WordWrap
color: Theme.highlightColor
font.pixelSize: Theme.fontSizeExtraSmall
text: qsTr("Mastodon is a free, open-source social network. A decentralized alternative to commercial platforms, it avoids the risks of a single company monopolizing your communication. Pick a server that you trust — whichever you choose, you can interact with everyone else. Anyone can run their own Mastodon instance and participate in the social network seamlessly.")
}
}
}
SilicaWebView {
id: webView
visible: false
opacity: 0
anchors {
top: parent.top
left: parent.left
right: parent.right
bottom: parent.bottom
}
opacity: 0
onLoadingChanged: {
console.log(url)
if (
@ -154,6 +151,7 @@ Page {
}
FadeAnimation on opacity {}
PullDownMenu {
MenuItem {
text: qsTr("Reload")

View file

@ -12,14 +12,15 @@ Page {
allowedOrientations: Orientation.All
// Docked Navigation panel
DockedPanel {
id: infoPanel
open: true
width: mainPage.isPortrait ? parent.width : Theme.itemSizeLarge
height: mainPage.isPortrait ? Theme.itemSizeLarge : parent.height
dock: mainPage.isPortrait ? Dock.Bottom : Dock.Right
width: isPortrait ? parent.width : Theme.itemSizeLarge
height: isPortrait ? Theme.itemSizeLarge : parent.height
dock: isPortrait ? Dock.Bottom : Dock.Right
Navigation {
NavigationPanel {
id: navigation
isPortrait: !mainPage.isPortrait
onSlideshowShow: {
@ -32,46 +33,46 @@ Page {
VisualItemModel {
id: visualModel
MyList{
MyList {
id: tlHome
title: qsTr("Home")
type: "timelines/home"
mdl: Logic.modelTLhome
width: parent.itemWidth
width: isPortrait ? parent.itemWidth : parent.itemWidth - Theme.itemSizeLarge
height: parent.itemHeight
onOpenDrawer: infoPanel.open = setDrawer
onOpenDrawer: isPortrait ? infoPanel.open = setDrawer : infoPanel.open = true
}
MyList{
MyList {
id: tlNotifications
title: qsTr("Notifications")
type: "notifications"
notifier: true
mdl: Logic.modelTLnotifications
width: parent.itemWidth
width: isPortrait ? parent.itemWidth : parent.itemWidth - Theme.itemSizeLarge
height: parent.itemHeight
onOpenDrawer: infoPanel.open = setDrawer
onOpenDrawer: isPortrait ? infoPanel.open = setDrawer : infoPanel.open = true
}
MyList{
MyList {
id: tlLocal
title: qsTr("Local")
type: "timelines/public?local=true"
//params: ["local", true]
mdl: Logic.modelTLlocal
width: parent.itemWidth
width: isPortrait ? parent.itemWidth : parent.itemWidth - Theme.itemSizeLarge
height: parent.itemHeight
onOpenDrawer: infoPanel.open = setDrawer
onOpenDrawer: isPortrait ? infoPanel.open = setDrawer : infoPanel.open = true
}
MyList{
MyList {
id: tlPublic
title: qsTr("Federated")
type: "timelines/public"
mdl: Logic.modelTLpublic
width: parent.itemWidth
width: isPortrait ? parent.itemWidth : parent.itemWidth - Theme.itemSizeLarge
height: parent.itemHeight
onOpenDrawer: infoPanel.open = setDrawer
onOpenDrawer: isPortrait ? infoPanel.open = setDrawer : infoPanel.open = true
}
Item {
@ -80,7 +81,7 @@ Page {
property ListModel mdl: ListModel {}
property string search
width: parent.itemWidth
width: isPortrait ? parent.itemWidth : parent.itemWidth - Theme.itemSizeLarge
height: parent.itemHeight
onSearchChanged: {
console.log(search)
@ -239,8 +240,8 @@ Page {
anchors {
fill: parent
top: parent.top
rightMargin: mainPage.isPortrait ? 0 : infoPanel.visibleSize
bottomMargin: mainPage.isPortrait ? infoPanel.visibleSize : 0
rightMargin: isPortrait ? 0 : infoPanel.visibleSize
bottomMargin: isPortrait ? infoPanel.visibleSize : 0
}
model: visualModel
Component.onCompleted: {
@ -255,7 +256,7 @@ Page {
icon.source: "image://theme/icon-l-add"
anchors {
right: (mainPage.isPortrait ? parent.right : infoPanel.left)
rightMargin: Theme.paddingLarge
rightMargin: isPortrait ? Theme.paddingLarge : Theme.paddingLarge * 0.8
bottom: (mainPage.isPortrait ? infoPanel.top : parent.bottom)
bottomMargin: Theme.paddingLarge
}

View file

@ -182,9 +182,9 @@ Page {
id: txtNote
text: note
textFormat: Text.StyledText
color: Theme.secondaryColor
color: Theme.highlightColor
font.pixelSize: Theme.fontSizeExtraSmall
linkColor: Theme.highlightColor
linkColor: Theme.secondaryColor
wrapMode: Text.Wrap
width: parent.width - ( 2 * Theme.horizontalPageMargin )
anchors.horizontalCenter: parent.horizontalCenter
@ -227,37 +227,43 @@ Page {
anchors.leftMargin: Theme.paddingLarge
anchors.rightMargin: Theme.paddingLarge
Text {
Label {
id: txtFollowers
visible: true //followers_count ? true : false
text: followers_count+" "+
//: Will show as: "35 Followers"
qsTr("Followers")
font.pixelSize: Theme.fontSizeExtraSmall
color: Theme.highlightColor
color: Theme.primaryColor
wrapMode: Text.Wrap
}
Text {
Label {
id: txtFollowing
visible: true //following_count ? true : false
text: following_count+" "+
//: Will show as: "23 Following"
qsTr("Following")
font.pixelSize: Theme.fontSizeExtraSmall
color: Theme.highlightColor
color: Theme.primaryColor
wrapMode: Text.Wrap
}
Text {
Label {
id: txtStatuses
visible: true //statuses_count ? true : false
text: statuses_count+" "+
//: Will show as: "115 Statuses"
qsTr("Statuses")
font.pixelSize: Theme.fontSizeExtraSmall
color: Theme.highlightColor
color: Theme.primaryColor
wrapMode: Text.Wrap
MouseArea {
anchors.fill: parent
onClicked: expandingSection1.expanded = false
}
}
}
@ -344,16 +350,6 @@ Page {
}
}
Button {
id: btnBrowser
text: qsTr("Open in Browser")
preferredWidth: Theme.buttonWidthMedium
anchors.horizontalCenter: parent.horizontalCenter
onClicked: {
Qt.openUrlExternally(url)
}
}
Rectangle { // dummy item for spacing
height: Theme.paddingSmall
width: parent.width

View file

@ -2,18 +2,23 @@ import QtQuick 2.0
import Sailfish.Silica 1.0
Component {
id: emojiComponent
Dialog {
id: emoticonsDialog
canAccept: false //selector.currentIndex >= 0
onAcceptPendingChanged: {
if (acceptPending) {
// Tell the destination page what the selected category is
// acceptDestinationInstance.category = selector.value
}
Dialog {
id: emojiDialog
anchors.top: parent.top
allowedOrientations: Orientation.All
canAccept: false //selector.currentIndex >= 0
onAcceptPendingChanged: {
if (acceptPending) {
// Tell the destination page what the selected category is
// acceptDestinationInstance.category = selector.value
}
}
Column {
id: emojiColumn
spacing: Theme.paddingLarge
width: parent.width
height: parent.height
SilicaGridView {
id: gridView
@ -21,9 +26,10 @@ Component {
title: qsTr("Emojis")
description: qsTr("Tap to insert")
}
cellWidth: gridView.width / 6
cellWidth: isPortrait ? gridView.width / 6 : gridView.width / 10
cellHeight: cellWidth
anchors.fill: parent
width: parent.width
height: parent.height
model: ListModel {
ListElement { section: "smileys"; glyph: "😁" }
ListElement { section: "smileys"; glyph: "😂" }
@ -137,6 +143,7 @@ Component {
ListElement { section: "Horoscope Signs"; glyph: "♒" }
ListElement { section: "Horoscope Signs"; glyph: "♓" }
}
delegate: BackgroundItem {
width: gridView.cellWidth
height: gridView.cellHeight
@ -153,12 +160,11 @@ Component {
0, cursorPosition) + model.glyph + toot.text.substring(
cursorPosition)
toot.cursorPosition = cursorPosition + model.glyph.length
emoticonsDialog.canAccept = true
emoticonsDialog.accept()
emojiDialog.canAccept = true
emojiDialog.accept()
}
}
VerticalScrollDecorator {flickable: listEmojis }
VerticalScrollDecorator { flickable: listEmojis }
}
}
}

View file

@ -79,7 +79,7 @@ Item {
}
}
MyImage {
MyMedia {
id: placeholder1
width: 2
height: 1
@ -98,7 +98,7 @@ Item {
}
}
MyImage {
MyMedia {
id: placeholder2
width: 2
height: 1
@ -117,7 +117,7 @@ Item {
}
}
MyImage {
MyMedia {
id: placeholder3
width: 2
height: 1
@ -136,7 +136,7 @@ Item {
}
}
MyImage {
MyMedia {
id: placeholder4
width: 2
height: 1

View file

@ -1,6 +1,6 @@
import QtQuick 2.0
import Sailfish.Silica 1.0
import QtMultimedia 5.0
import QtMultimedia 5.6
FullscreenContentPage {
@ -21,15 +21,17 @@ FullscreenContentPage {
} else {
video.source = mediaURL
video.fillMode = VideoOutput.PreserveAspectFit
video.play()
videoFlickable.visible = true
playerIcon.visible = true
playerProgress.visible = true
video.play()
hideTimer.start()
}
}
Flickable {
SilicaFlickable {
id: videoFlickable
visible: false
clip: true
contentWidth: imageContainer.width
contentHeight: imageContainer.height
anchors.fill: parent
@ -49,7 +51,7 @@ FullscreenContentPage {
}
onStatusChanged: {
console.log(status)
switch (status){
switch (status) {
case MediaPlayer.Loading:
console.log("loading")
return;
@ -84,49 +86,27 @@ FullscreenContentPage {
}
}
onStopped: function() {
if (type != 'video')
if (type == 'gifv') {
video.play()
else
} else {
video.stop()
}
IconButton {
id: playerIcon
icon.source: "image://theme/icon-m-play"
anchors {
left: parent.left
bottom: parent.bottom
leftMargin: Theme.horizontalPageMargin
bottomMargin: Theme.horizontalPageMargin
}
onClicked: function() {
if (video.playbackState === MediaPlayer.PlayingState)
video.pause()
else
video.play()
overlayIcons.active = true
hideTimer.stop()
}
}
ProgressBar {
id: playerProgress
indeterminate: true
width: 400
anchors {
verticalCenter: playerIcon.verticalCenter
left: playerIcon.right
right: parent.right
rightMargin: Theme.horizontalPageMargin + Theme.iconSizeMedium
bottomMargin: Theme.horizontalPageMargin
}
}
MouseArea {
anchors.fill: parent
onClicked: function() {
if (video.playbackState === MediaPlayer.PlayingState)
if (video.playbackState === MediaPlayer.PlayingState) {
video.pause()
else
overlayIcons.active = true
hideTimer.stop()
} else {
video.play()
hideTimer.start()
}
}
}
@ -155,12 +135,11 @@ FullscreenContentPage {
}
Flickable {
SilicaFlickable {
id: imageFlickable
visible: false
contentWidth: imageContainer.width
contentHeight: imageContainer.height
clip: true
anchors.fill: parent
onHeightChanged: if (imagePreview.status === Image.Ready) {
imagePreview.fitToScreen()
@ -224,7 +203,6 @@ FullscreenContentPage {
property real minScale: 1.0
property real maxScale: 3.0
opacity: 0.3
anchors.fill: parent
enabled: imagePreview.status === Image.Ready
pinch.target: imagePreview
@ -250,6 +228,11 @@ FullscreenContentPage {
property: "scale"
from: imagePreview.scale
}
MouseArea {
anchors.fill: parent
onClicked: overlayIcons.active = !overlayIcons.active
}
}
}
@ -292,32 +275,88 @@ FullscreenContentPage {
}
}
IconButton {
id: dismissBtn
icon.source: "image://theme/icon-m-dismiss"
anchors {
top: parent.top
topMargin: Theme.horizontalPageMargin
right: parent.right
rightMargin: Theme.horizontalPageMargin
}
onClicked: pageStack.pop()
}
Item {
id: overlayIcons
IconButton {
id: mediaDlBtn
anchors {
right: parent.right
rightMargin: Theme.horizontalPageMargin
bottom: parent.bottom
bottomMargin: Theme.horizontalPageMargin
property bool active: true
enabled: active
anchors.fill: parent
opacity: active ? 1.0 : 0.0
Behavior on opacity { FadeAnimator {}}
IconButton {
y: Theme.paddingLarge
anchors {
right: parent.right
rightMargin: Theme.horizontalPageMargin
}
icon.source: "image://theme/icon-m-dismiss"
onClicked: pageStack.pop()
}
icon.source: "image://theme/icon-m-cloud-download"
onClicked: {
var filename = mediaURL.split("/")
FileDownloader.downloadFile(mediaURL, filename[filename.length-1])
IconButton {
id: mediaDlBtn
anchors {
right: parent.right
rightMargin: Theme.horizontalPageMargin
bottom: parent.bottom
bottomMargin: Theme.horizontalPageMargin
}
icon.source: "image://theme/icon-m-cloud-download"
onClicked: {
var filename = mediaURL.split("/")
FileDownloader.downloadFile(mediaURL, filename[filename.length-1])
}
}
IconButton {
id: playerIcon
visible: false
icon.source: "image://theme/icon-m-play"
anchors {
left: parent.left
bottom: parent.bottom
leftMargin: Theme.horizontalPageMargin
bottomMargin: Theme.horizontalPageMargin
}
onClicked: function() {
if (video.playbackState === MediaPlayer.PlayingState) {
video.pause()
hideTimer.stop()
} else {
video.play()
hideTimer.start()
}
}
}
ProgressBar {
id: playerProgress
visible: false
indeterminate: true
width: 400
anchors {
verticalCenter: playerIcon.verticalCenter
left: playerIcon.right
right: parent.right
rightMargin: Theme.horizontalPageMargin + Theme.iconSizeMedium
bottomMargin: Theme.horizontalPageMargin
}
}
Timer {
id: hideTimer
running: false
interval: 2000
onTriggered: {
overlayIcons.active = !overlayIcons.active
}
}
}
VerticalScrollDecorator { flickable: imageFlickable }
}

View file

@ -9,8 +9,6 @@ SilicaListView {
property string type
property string title
property string vwPlaceholderText: qsTr("Loading")
property string vwPlaceholderHint: qsTr("please wait...")
property string description
property ListModel mdl: []
property variant params: []
@ -52,13 +50,16 @@ SilicaListView {
ViewPlaceholder {
id: viewPlaceHolder
enabled: model.count === 0
text: vwPlaceholderText
hintText: vwPlaceholderHint
text: qsTr("Loading")
hintText: qsTr("please wait...")
anchors.centerIn: parent
}
PullDownMenu {
MenuItem {
text: qsTr("Settings")
visible: !profilePage
onClicked: {
pageStack.push(Qt.resolvedUrl("../SettingsPage.qml"), {})
}
@ -66,6 +67,7 @@ SilicaListView {
MenuItem {
text: qsTr("New Toot")
visible: !profilePage
onClicked: {
pageStack.push(Qt.resolvedUrl("../ConversationPage.qml"), {
headerTitle: qsTr("New Toot"),
@ -74,6 +76,14 @@ SilicaListView {
}
}
MenuItem {
text: qsTr("Open in Browser")
visible: !mainPage
onClicked: {
Qt.openUrlExternally(url)
}
}
MenuItem {
text: qsTr("Reload")
onClicked: {

View file

@ -4,7 +4,7 @@ import QtMultimedia 5.0
Item {
id: myImage
id: myMedia
property string type : ""
property string previewURL: ""
@ -17,9 +17,26 @@ Item {
}
Image {
opacity: status !== Image.Ready ? 1.0 : 0.0
visible: type == 'image'
opacity: img.status === Image.Ready ? 0.0 : 1.0
Behavior on opacity { FadeAnimator {} }
source: "image://theme/icon-m-image"
source: "image://theme/icon-m-image?"
anchors.centerIn: parent
}
Image {
visible: type == 'video' || type == "gifv"
opacity: img.status === Image.Ready ? 0.0 : 1.0
Behavior on opacity { FadeAnimator {} }
source: "image://theme/icon-m-file-video?"
anchors.centerIn: parent
}
Image {
visible: type == 'audio'
opacity: img.status === Image.Ready ? 0.0 : 1.0
Behavior on opacity { FadeAnimator {} }
source: "image://theme/icon-m-file-audio?"
anchors.centerIn: parent
}
@ -33,6 +50,7 @@ Item {
Image {
id: img
visible: type != 'audio'
asynchronous: true
opacity: status === Image.Ready ? 1.0 : 0.0
Behavior on opacity { FadeAnimator {} }
@ -61,7 +79,7 @@ Item {
Image {
id: videoIcon
visible: type === "video" || type === "gifv"
source: "image://theme/icon-l-play"
source: "image://theme/icon-l-play?"
anchors.centerIn: parent
}

View file

@ -17,7 +17,7 @@ SilicaGridView {
ListModel {
id: listModel
ListElement {
icon: "image://theme/icon-m-home"
icon: "image://theme/icon-m-home?"
slug: "home"
name: "Home"
active: true
@ -25,14 +25,14 @@ SilicaGridView {
}
ListElement {
icon: "image://theme/icon-m-alarm"
icon: "image://theme/icon-m-alarm?"
slug: "notifications"
name: "Notifications"
active: false
}
ListElement {
icon: "image://theme/icon-m-whereami"
icon: "image://theme/icon-m-whereami?"
slug: "local"
name: "Local"
active: false
@ -40,7 +40,7 @@ SilicaGridView {
}
ListElement {
icon: "image://theme/icon-m-website"
icon: "image://theme/icon-m-website?"
slug: "federated"
name: "Federated"
active: false
@ -48,7 +48,7 @@ SilicaGridView {
}
ListElement {
icon: "image://theme/icon-m-search"
icon: "image://theme/icon-m-search?"
slug: "search"
name: "Search"
active: false
@ -100,54 +100,19 @@ SilicaGridView {
}
}
OpacityRampEffect {
sourceItem: label
offset: 0.5
}
ColorOverlay {
source: image
color: (highlighted ? Theme.highlightColor : (model.active ? Theme.primaryColor : Theme.secondaryHighlightColor))
anchors.fill: image
}
Image {
id: image
visible: false
source: model.icon // +'?'+ (highlighted ? Theme.highlightColor : (model.active ? Theme.primaryColor : Theme.secondaryHighlightColor))
source: model.icon
sourceSize.width: Theme.iconSizeMedium
sourceSize.height: Theme.iconSizeMedium
anchors.centerIn: parent
}
Text {
visible: false
text: model.name
font.pixelSize: Theme.fontSizeExtraSmall/2
color: (highlighted
? Theme.highlightColor
: (model.active ? Theme.primaryColor : Theme.secondaryHighlightColor))
horizontalAlignment: Text.AlignHCenter
anchors {
left: parent.left
right: parent.right
bottom: parent.bottom
bottomMargin: Theme.paddingSmall
}
}
Label {
id: label
visible: false
color: (highlighted ? Theme.highlightColor : Theme.secondaryHighlightColor)
text: {
return model.name.toUpperCase();
}
font.pixelSize: Theme.fontSizeExtraSmall
font.family: Theme.fontFamilyHeading
width: parent.width
horizontalAlignment : Text.AlignHCenter
anchors.bottom: parent.bottom
ColorOverlay {
source: image
color: (highlighted ? Theme.highlightColor : (model.active ? Theme.secondaryHighlightColor : Theme.primaryColor))
anchors.fill: image
}
onClicked: {

View file

@ -35,9 +35,7 @@ Item {
id: avatarImage
asynchronous: true
source: if (avatarImage.status === Image.Error)
source = "../../images/icon-l-profile.svg?" + (pressed
? Theme.highlightColor
: Theme.primaryColor)
source = "../../images/icon-l-profile.svg?" + Theme.primaryColor
else image
width: Theme.iconSizeLarge
height: width

View file

@ -9,7 +9,6 @@ BackgroundItem {
signal send (string notice)
signal navigateTo(string link)
width: parent.width
height: if (myList.type === "notifications" && ( model.type === "favourite" || model.type === "reblog" )) {
mnu.height + miniHeader.height + Theme.paddingLarge + lblContent.height + Theme.paddingLarge + (miniStatus.visible ? miniStatus.height : 0)
} else mnu.height + miniHeader.height + (typeof attachments !== "undefined" && attachments.count ? media.height + Theme.paddingLarge + Theme.paddingMedium: Theme.paddingLarge) + lblContent.height + Theme.paddingLarge + (miniStatus.visible ? miniStatus.height : 0) + (iconDirectMsg.visible ? iconDirectMsg.height : 0)
@ -58,9 +57,7 @@ BackgroundItem {
}
onStatusChanged: {
if (avatar.status === Image.Error)
source = "../../images/icon-m-profile.svg?" + (pressed
? Theme.highlightColor
: Theme.primaryColor)
source = "../../images/icon-m-profile.svg?" + Theme.primaryColor
}
MouseArea {
@ -97,7 +94,7 @@ BackgroundItem {
visible: status_visibility === "direct"
width: Theme.iconSizeMedium
height: width
source: "image://theme/icon-m-mail?"
source: "image://theme/icon-m-mail?" + Theme.primaryColor
color: Theme.primaryColor
anchors {
horizontalCenter: avatar.horizontalCenter
@ -266,7 +263,9 @@ BackgroundItem {
height: Theme.iconSizeExtraLarge * 2
anchors {
left: lblContent.left
leftMargin: isPortrait ? 0 : Theme.itemSizeSmall
right: lblContent.right
rightMargin: isPortrait ? 0 : Theme.itemSizeLarge
top: lblContent.bottom
topMargin: Theme.paddingMedium
bottomMargin: Theme.paddingLarge

View file

@ -25,7 +25,10 @@ BuildRequires: pkgconfig(sailfishapp) >= 1.0.2
BuildRequires: pkgconfig(Qt5Core)
BuildRequires: pkgconfig(Qt5Qml)
BuildRequires: pkgconfig(Qt5Quick)
BuildRequires: pkgconfig(Qt5DBus)
BuildRequires: pkgconfig(Qt5Multimedia)
BuildRequires: pkgconfig(nemonotifications-qt5)
BuildRequires: pkgconfig(openssl)
BuildRequires: desktop-file-utils
%description

View file

@ -25,12 +25,14 @@ PkgConfigBR:
- Qt5Core
- Qt5Qml
- Qt5Quick
- Qt5DBus
- Qt5Multimedia
- nemonotifications-qt5
- openssl
# Build dependencies without a pkgconfig setup can be listed here
# PkgBR:
# - package-needed-to-build
# PkgBR:
# - qt5-qtmultimedia-plugin-mediaservice-gstmediaplayer
# Runtime dependencies which are not automatically detected
Requires:

View file

@ -24,7 +24,7 @@ class FileDownloader : public QObject
{
Q_OBJECT
public:
explicit FileDownloader(QQmlEngine *engine, QObject *parent = 0);
explicit FileDownloader(QQmlEngine *engine, QObject *parent = nullptr);
Q_INVOKABLE void downloadFile(QUrl url, QString filename);
Q_INVOKABLE void open(QString filename);

View file

@ -8,7 +8,6 @@
#include <QtCore/QFile>
#include <QtCore/QFileInfo>
//static const QUrl IMGUR_UPLOAD_URL("https://httpbin.org/post");
//static const QUrl IMGUR_UPLOAD_URL();
ImageUploader::ImageUploader(QObject *parent) : QObject(parent), m_networkAccessManager(nullptr), m_reply(nullptr) {
@ -101,12 +100,8 @@ void ImageUploader::upload() {
//imagePart.setHeader(QNetworkRequest::ContentTypeHeader, QVariant(fileInfo));
//POST data
QNetworkRequest request(m_uploadUrl);
request.setRawHeader("Authorization", m_authorizationHeader);
m_reply = m_networkAccessManager->post(request, multiPart);
@ -114,8 +109,6 @@ void ImageUploader::upload() {
connect(m_reply, SIGNAL(uploadProgress(qint64,qint64)), this, SLOT(uploadProgress(qint64,qint64)));
connect(m_reply, SIGNAL(finished()), this, SLOT(replyFinished()));
//connect(m_reply, SIGNAL(uploadProgress(qint64,qint64)), this, SLOT(uploadProgress(qint64,qint64)));
//connect(m_reply, SIGNAL(finished()), this, SLOT(replyFinished()));*/
}

View file

@ -12,7 +12,7 @@ class ImageUploader : public QObject
Q_PROPERTY(qreal progress READ progress NOTIFY progressChanged)
public:
explicit ImageUploader(QObject *parent = 0);
explicit ImageUploader(QObject *parent = nullptr);
~ImageUploader();
Q_INVOKABLE void setFile(const QString &fileName);

View file

@ -33,6 +33,7 @@
</message>
<message>
<source>What&apos;s on your mind?</source>
<extracomment>placeholderText in Toot text panel</extracomment>
<translation>Was gibt&apos;s Neues?</translation>
</message>
<message>
@ -76,11 +77,11 @@
<name>EmojiSelect</name>
<message>
<source>Emojis</source>
<translation>Emojis</translation>
<translation type="unfinished"></translation>
</message>
<message>
<source>Tap to insert</source>
<translation>Tippen um einzufügen</translation>
<translation type="unfinished"></translation>
</message>
</context>
<context>
@ -117,38 +118,38 @@
<name>MainPage</name>
<message>
<source>Home</source>
<translation>Home</translation>
<translation type="unfinished"></translation>
</message>
<message>
<source>Notifications</source>
<translation>Benachrichtigungen</translation>
</message>
<message>
<source>New Toot</source>
<translation>Neuer Toot</translation>
</message>
<message>
<source>Search</source>
<translation>Suche</translation>
</message>
<message>
<source>@user or #term</source>
<translation>@Benutzer oder #Ausdruck</translation>
<translation type="unfinished"></translation>
</message>
<message>
<source>Local</source>
<translation>Lokal</translation>
<translation type="unfinished"></translation>
</message>
<message>
<source>Federated</source>
<translation>Föderation</translation>
<translation type="unfinished"></translation>
</message>
<message>
<source>Search</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>@user or #term</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>New Toot</source>
<translation type="unfinished">Neuer Toot</translation>
</message>
</context>
<context>
<name>MediaFullScreen</name>
<message>
<source>Error loading</source>
<translation>Ladefehler</translation>
<translation type="unfinished"></translation>
</message>
</context>
<context>
@ -188,6 +189,10 @@
<source>Reload</source>
<translation>Neu laden</translation>
</message>
<message>
<source>Open in Browser</source>
<translation type="unfinished">Im Browser öffnen</translation>
</message>
</context>
<context>
<name>ProfileHeader</name>
@ -209,65 +214,61 @@
<message>
<source>About</source>
<extracomment>If there&apos;s no good translation for &quot;About&quot;, use &quot;Details&quot; (in details about profile).</extracomment>
<translation>Details</translation>
<translation type="unfinished"></translation>
</message>
<message>
<source>Followers</source>
<extracomment>Will show as: &quot;35 Followers&quot;</extracomment>
<translation>Folgende</translation>
<translation type="unfinished"></translation>
</message>
<message>
<source>Following</source>
<extracomment>Will show as: &quot;23 Following&quot;</extracomment>
<translation>Folgt</translation>
<translation type="unfinished"></translation>
</message>
<message>
<source>Statuses</source>
<extracomment>Will show as: &quot;115 Statuses&quot;</extracomment>
<translation>Beiträge</translation>
<translation type="unfinished"></translation>
</message>
<message>
<source>Mention</source>
<translation type="unfinished">Erwähnen</translation>
</message>
<message>
<source>Unfollow</source>
<extracomment>Is a button. Keep it as short as possible.</extracomment>
<translation>Entfolgen</translation>
<translation type="unfinished"></translation>
</message>
<message>
<source>Requested</source>
<extracomment>Is a button. Keep it as short as possible.</extracomment>
<translation>Angefragt</translation>
<translation type="unfinished"></translation>
</message>
<message>
<source>Follow</source>
<extracomment>Is a button. Keep it as short as possible.</extracomment>
<translation>Folgen</translation>
<translation type="unfinished"></translation>
</message>
<message>
<source>Unmute</source>
<extracomment>Is a button. Keep it as short as possible.</extracomment>
<translation>Nicht stumm schalten</translation>
<translation type="unfinished"></translation>
</message>
<message>
<source>Mute</source>
<extracomment>Is a button. Keep it as short as possible.</extracomment>
<translation>Stumm schalten</translation>
<translation type="unfinished"></translation>
</message>
<message>
<source>Unblock</source>
<extracomment>Is a button. Keep it as short as possible.</extracomment>
<translation>Nicht blockieren</translation>
<translation type="unfinished"></translation>
</message>
<message>
<source>Block</source>
<extracomment>Is a button. Keep it as short as possible.</extracomment>
<translation>Blockieren</translation>
</message>
<message>
<source>Open in Browser</source>
<translation>Im Browser öffnen</translation>
</message>
<message>
<source>Mention</source>
<translation>Erwähnen</translation>
<translation type="unfinished"></translation>
</message>
</context>
<context>

View file

@ -33,6 +33,7 @@
</message>
<message>
<source>What&apos;s on your mind?</source>
<extracomment>placeholderText in Toot text panel</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
@ -76,11 +77,11 @@
<name>EmojiSelect</name>
<message>
<source>Emojis</source>
<translation>Emoji</translation>
<translation type="unfinished"></translation>
</message>
<message>
<source>Tap to insert</source>
<translation>Κτυπήστε για εισαγωγή</translation>
<translation type="unfinished"></translation>
</message>
</context>
<context>
@ -117,32 +118,32 @@
<name>MainPage</name>
<message>
<source>Home</source>
<translation>Οικοσελίδα</translation>
<translation type="unfinished"></translation>
</message>
<message>
<source>Notifications</source>
<translation>Ειδοποιήσεις</translation>
</message>
<message>
<source>New Toot</source>
<translation>Νέος</translation>
</message>
<message>
<source>Search</source>
<translation>Αναζήτηση</translation>
</message>
<message>
<source>@user or #term</source>
<translation>@χρήστη ή #όρος</translation>
<translation type="unfinished"></translation>
</message>
<message>
<source>Local</source>
<translation>Τοπικός</translation>
<translation type="unfinished"></translation>
</message>
<message>
<source>Federated</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Search</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>@user or #term</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>New Toot</source>
<translation type="unfinished">Νέος</translation>
</message>
</context>
<context>
<name>MediaFullScreen</name>
@ -188,6 +189,10 @@
<source>Reload</source>
<translation type="unfinished">Επαναφόρτωση</translation>
</message>
<message>
<source>Open in Browser</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>ProfileHeader</name>
@ -214,22 +219,26 @@
<message>
<source>Followers</source>
<extracomment>Will show as: &quot;35 Followers&quot;</extracomment>
<translation>Σας ακολουθούν</translation>
<translation type="unfinished"></translation>
</message>
<message>
<source>Following</source>
<extracomment>Will show as: &quot;23 Following&quot;</extracomment>
<translation>Σε παρακολούθηση</translation>
<translation type="unfinished"></translation>
</message>
<message>
<source>Statuses</source>
<extracomment>Will show as: &quot;115 Statuses&quot;</extracomment>
<translation>Κατάσταση</translation>
<translation type="unfinished"></translation>
</message>
<message>
<source>Mention</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Unfollow</source>
<extracomment>Is a button. Keep it as short as possible.</extracomment>
<translation>Αναίρεση παρακολούθησης</translation>
<translation type="unfinished"></translation>
</message>
<message>
<source>Requested</source>
@ -239,34 +248,26 @@
<message>
<source>Follow</source>
<extracomment>Is a button. Keep it as short as possible.</extracomment>
<translation>Παρακολούθηση</translation>
<translation type="unfinished"></translation>
</message>
<message>
<source>Unmute</source>
<extracomment>Is a button. Keep it as short as possible.</extracomment>
<translation>Αναίρεση σίγασης</translation>
<translation type="unfinished"></translation>
</message>
<message>
<source>Mute</source>
<extracomment>Is a button. Keep it as short as possible.</extracomment>
<translation>Σίγαση</translation>
<translation type="unfinished"></translation>
</message>
<message>
<source>Unblock</source>
<extracomment>Is a button. Keep it as short as possible.</extracomment>
<translation>Αναίρεση φραγής</translation>
<translation type="unfinished"></translation>
</message>
<message>
<source>Block</source>
<extracomment>Is a button. Keep it as short as possible.</extracomment>
<translation>Φραγή</translation>
</message>
<message>
<source>Open in Browser</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Mention</source>
<translation type="unfinished"></translation>
</message>
</context>

View file

@ -33,6 +33,7 @@
</message>
<message>
<source>What&apos;s on your mind?</source>
<extracomment>placeholderText in Toot text panel</extracomment>
<translation>¿En qué estás pensando?</translation>
</message>
<message>
@ -76,11 +77,11 @@
<name>EmojiSelect</name>
<message>
<source>Emojis</source>
<translation>Emoticonos</translation>
<translation type="unfinished"></translation>
</message>
<message>
<source>Tap to insert</source>
<translation>Toca para insertar</translation>
<translation type="unfinished"></translation>
</message>
</context>
<context>
@ -117,38 +118,38 @@
<name>MainPage</name>
<message>
<source>Home</source>
<translation>Inicio</translation>
<translation type="unfinished"></translation>
</message>
<message>
<source>Notifications</source>
<translation>Notificaciones</translation>
</message>
<message>
<source>New Toot</source>
<translation>Nuevo toot</translation>
</message>
<message>
<source>Search</source>
<translation>Buscar</translation>
</message>
<message>
<source>@user or #term</source>
<translation>@usuario o #término</translation>
<translation type="unfinished"></translation>
</message>
<message>
<source>Local</source>
<translation>Local</translation>
<translation type="unfinished"></translation>
</message>
<message>
<source>Federated</source>
<translation>Federada</translation>
<translation type="unfinished"></translation>
</message>
<message>
<source>Search</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>@user or #term</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>New Toot</source>
<translation type="unfinished">Nuevo toot</translation>
</message>
</context>
<context>
<name>MediaFullScreen</name>
<message>
<source>Error loading</source>
<translation>Error al cargar</translation>
<translation type="unfinished"></translation>
</message>
</context>
<context>
@ -188,6 +189,10 @@
<source>Reload</source>
<translation>Volver a cargar</translation>
</message>
<message>
<source>Open in Browser</source>
<translation type="unfinished">Abrir en el navegador</translation>
</message>
</context>
<context>
<name>ProfileHeader</name>
@ -209,65 +214,61 @@
<message>
<source>About</source>
<extracomment>If there&apos;s no good translation for &quot;About&quot;, use &quot;Details&quot; (in details about profile).</extracomment>
<translation>Detalles</translation>
<translation type="unfinished"></translation>
</message>
<message>
<source>Followers</source>
<extracomment>Will show as: &quot;35 Followers&quot;</extracomment>
<translation>Seguidores</translation>
<translation type="unfinished"></translation>
</message>
<message>
<source>Following</source>
<extracomment>Will show as: &quot;23 Following&quot;</extracomment>
<translation>Siguiendo</translation>
<translation type="unfinished"></translation>
</message>
<message>
<source>Statuses</source>
<extracomment>Will show as: &quot;115 Statuses&quot;</extracomment>
<translation>Estados</translation>
<translation type="unfinished"></translation>
</message>
<message>
<source>Mention</source>
<translation type="unfinished">Mencionar</translation>
</message>
<message>
<source>Unfollow</source>
<extracomment>Is a button. Keep it as short as possible.</extracomment>
<translation>Dejar de seguir</translation>
<translation type="unfinished"></translation>
</message>
<message>
<source>Requested</source>
<extracomment>Is a button. Keep it as short as possible.</extracomment>
<translation>Requerido</translation>
<translation type="unfinished"></translation>
</message>
<message>
<source>Follow</source>
<extracomment>Is a button. Keep it as short as possible.</extracomment>
<translation>Seguir</translation>
<translation type="unfinished"></translation>
</message>
<message>
<source>Unmute</source>
<extracomment>Is a button. Keep it as short as possible.</extracomment>
<translation>Dejar de silenciar</translation>
<translation type="unfinished"></translation>
</message>
<message>
<source>Mute</source>
<extracomment>Is a button. Keep it as short as possible.</extracomment>
<translation>Silenciar</translation>
<translation type="unfinished"></translation>
</message>
<message>
<source>Unblock</source>
<extracomment>Is a button. Keep it as short as possible.</extracomment>
<translation>Desbloquear</translation>
<translation type="unfinished"></translation>
</message>
<message>
<source>Block</source>
<extracomment>Is a button. Keep it as short as possible.</extracomment>
<translation>Bloquear</translation>
</message>
<message>
<source>Open in Browser</source>
<translation>Abrir en el navegador</translation>
</message>
<message>
<source>Mention</source>
<translation>Mencionar</translation>
<translation type="unfinished"></translation>
</message>
</context>
<context>

View file

@ -33,6 +33,7 @@
</message>
<message>
<source>What&apos;s on your mind?</source>
<extracomment>placeholderText in Toot text panel</extracomment>
<translation>Qu&apos;avez-vous en tête?</translation>
</message>
<message>
@ -76,11 +77,11 @@
<name>EmojiSelect</name>
<message>
<source>Emojis</source>
<translation>Emojis</translation>
<translation type="unfinished"></translation>
</message>
<message>
<source>Tap to insert</source>
<translation>Appuyez pour insérer</translation>
<translation type="unfinished"></translation>
</message>
</context>
<context>
@ -117,38 +118,38 @@
<name>MainPage</name>
<message>
<source>Home</source>
<translation>Accueil</translation>
<translation type="unfinished"></translation>
</message>
<message>
<source>Notifications</source>
<translation>Notifications</translation>
<translation type="unfinished"></translation>
</message>
<message>
<source>Local</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Federated</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Search</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>@user or #term</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>New Toot</source>
<translation>Nouveau pouet</translation>
</message>
<message>
<source>Search</source>
<translation>Rechercher</translation>
</message>
<message>
<source>@user or #term</source>
<translation>@personne ou #terme</translation>
</message>
<message>
<source>Local</source>
<translation>Fil public local</translation>
</message>
<message>
<source>Federated</source>
<translation>Fil public global</translation>
</message>
</context>
<context>
<name>MediaFullScreen</name>
<message>
<source>Error loading</source>
<translation>Erreur au chargement</translation>
<translation type="unfinished"></translation>
</message>
</context>
<context>
@ -188,6 +189,10 @@
<source>Reload</source>
<translation>Recharger</translation>
</message>
<message>
<source>Open in Browser</source>
<translation type="unfinished">Ouvrir dans le navigateur</translation>
</message>
</context>
<context>
<name>ProfileHeader</name>
@ -209,65 +214,61 @@
<message>
<source>About</source>
<extracomment>If there&apos;s no good translation for &quot;About&quot;, use &quot;Details&quot; (in details about profile).</extracomment>
<translation>Détails</translation>
<translation type="unfinished"></translation>
</message>
<message>
<source>Followers</source>
<extracomment>Will show as: &quot;35 Followers&quot;</extracomment>
<translation>Abonné(e)s</translation>
<translation type="unfinished"></translation>
</message>
<message>
<source>Following</source>
<extracomment>Will show as: &quot;23 Following&quot;</extracomment>
<translation>Abonnements</translation>
<translation type="unfinished"></translation>
</message>
<message>
<source>Statuses</source>
<extracomment>Will show as: &quot;115 Statuses&quot;</extracomment>
<translation>Pouets</translation>
<translation type="unfinished"></translation>
</message>
<message>
<source>Mention</source>
<translation type="unfinished">Mentionner</translation>
</message>
<message>
<source>Unfollow</source>
<extracomment>Is a button. Keep it as short as possible.</extracomment>
<translation>Ne plus suivre</translation>
<translation type="unfinished"></translation>
</message>
<message>
<source>Requested</source>
<extracomment>Is a button. Keep it as short as possible.</extracomment>
<translation>Demandé</translation>
<translation type="unfinished"></translation>
</message>
<message>
<source>Follow</source>
<extracomment>Is a button. Keep it as short as possible.</extracomment>
<translation>Suivre</translation>
<translation type="unfinished"></translation>
</message>
<message>
<source>Unmute</source>
<extracomment>Is a button. Keep it as short as possible.</extracomment>
<translation>Démasquer</translation>
<translation type="unfinished"></translation>
</message>
<message>
<source>Mute</source>
<extracomment>Is a button. Keep it as short as possible.</extracomment>
<translation>Masquer</translation>
<translation type="unfinished"></translation>
</message>
<message>
<source>Unblock</source>
<extracomment>Is a button. Keep it as short as possible.</extracomment>
<translation>Débloquer</translation>
<translation type="unfinished"></translation>
</message>
<message>
<source>Block</source>
<extracomment>Is a button. Keep it as short as possible.</extracomment>
<translation>Bloquer</translation>
</message>
<message>
<source>Open in Browser</source>
<translation>Ouvrir dans le navigateur</translation>
</message>
<message>
<source>Mention</source>
<translation>Mentionner</translation>
<translation type="unfinished"></translation>
</message>
</context>
<context>

View file

@ -33,6 +33,7 @@
</message>
<message>
<source>What&apos;s on your mind?</source>
<extracomment>placeholderText in Toot text panel</extracomment>
<translation>A cosa stai pensando?</translation>
</message>
<message>
@ -76,11 +77,11 @@
<name>EmojiSelect</name>
<message>
<source>Emojis</source>
<translation>Emojis</translation>
<translation type="unfinished"></translation>
</message>
<message>
<source>Tap to insert</source>
<translation>Tap per inserire</translation>
<translation type="unfinished"></translation>
</message>
</context>
<context>
@ -117,38 +118,38 @@
<name>MainPage</name>
<message>
<source>Home</source>
<translation>Home</translation>
<translation type="unfinished"></translation>
</message>
<message>
<source>Notifications</source>
<translation>Notifiche</translation>
</message>
<message>
<source>New Toot</source>
<translation>Nuovo Toot</translation>
</message>
<message>
<source>Search</source>
<translation>Cerca</translation>
</message>
<message>
<source>@user or #term</source>
<translation>@utente o #terme</translation>
<translation type="unfinished"></translation>
</message>
<message>
<source>Local</source>
<translation>Locale</translation>
<translation type="unfinished"></translation>
</message>
<message>
<source>Federated</source>
<translation>Federazione</translation>
<translation type="unfinished"></translation>
</message>
<message>
<source>Search</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>@user or #term</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>New Toot</source>
<translation type="unfinished">Nuovo Toot</translation>
</message>
</context>
<context>
<name>MediaFullScreen</name>
<message>
<source>Error loading</source>
<translation>Errore durante caricamento</translation>
<translation type="unfinished"></translation>
</message>
</context>
<context>
@ -188,6 +189,10 @@
<source>Reload</source>
<translation>Ricarica</translation>
</message>
<message>
<source>Open in Browser</source>
<translation type="unfinished">Aprire nel browser</translation>
</message>
</context>
<context>
<name>ProfileHeader</name>
@ -209,65 +214,61 @@
<message>
<source>About</source>
<extracomment>If there&apos;s no good translation for &quot;About&quot;, use &quot;Details&quot; (in details about profile).</extracomment>
<translation>Dettagli</translation>
<translation type="unfinished"></translation>
</message>
<message>
<source>Followers</source>
<extracomment>Will show as: &quot;35 Followers&quot;</extracomment>
<translation>Seguaci</translation>
<translation type="unfinished"></translation>
</message>
<message>
<source>Following</source>
<extracomment>Will show as: &quot;23 Following&quot;</extracomment>
<translation>Segue</translation>
<translation type="unfinished"></translation>
</message>
<message>
<source>Statuses</source>
<extracomment>Will show as: &quot;115 Statuses&quot;</extracomment>
<translation>Toots</translation>
<translation type="unfinished"></translation>
</message>
<message>
<source>Mention</source>
<translation type="unfinished">Menzionare</translation>
</message>
<message>
<source>Unfollow</source>
<extracomment>Is a button. Keep it as short as possible.</extracomment>
<translation>Smetti di seguire</translation>
<translation type="unfinished"></translation>
</message>
<message>
<source>Requested</source>
<extracomment>Is a button. Keep it as short as possible.</extracomment>
<translation>Richiesto</translation>
<translation type="unfinished"></translation>
</message>
<message>
<source>Follow</source>
<extracomment>Is a button. Keep it as short as possible.</extracomment>
<translation>Segui</translation>
<translation type="unfinished"></translation>
</message>
<message>
<source>Unmute</source>
<extracomment>Is a button. Keep it as short as possible.</extracomment>
<translation>Non silenziare</translation>
<translation type="unfinished"></translation>
</message>
<message>
<source>Mute</source>
<extracomment>Is a button. Keep it as short as possible.</extracomment>
<translation>Silenzia</translation>
<translation type="unfinished"></translation>
</message>
<message>
<source>Unblock</source>
<extracomment>Is a button. Keep it as short as possible.</extracomment>
<translation>Sblocca</translation>
<translation type="unfinished"></translation>
</message>
<message>
<source>Block</source>
<extracomment>Is a button. Keep it as short as possible.</extracomment>
<translation>Blocca</translation>
</message>
<message>
<source>Open in Browser</source>
<translation>Aprire nel browser</translation>
</message>
<message>
<source>Mention</source>
<translation>Menzionare</translation>
<translation type="unfinished"></translation>
</message>
</context>
<context>

View file

@ -33,6 +33,7 @@
</message>
<message>
<source>What&apos;s on your mind?</source>
<extracomment>placeholderText in Toot text panel</extracomment>
<translation>Wat wil je kwijt?</translation>
</message>
<message>
@ -76,11 +77,11 @@
<name>EmojiSelect</name>
<message>
<source>Emojis</source>
<translation>Emojis</translation>
<translation type="unfinished"></translation>
</message>
<message>
<source>Tap to insert</source>
<translation>Tikken om in te voegen</translation>
<translation type="unfinished"></translation>
</message>
</context>
<context>
@ -117,31 +118,31 @@
<name>MainPage</name>
<message>
<source>Home</source>
<translation>Thuis</translation>
<translation type="unfinished"></translation>
</message>
<message>
<source>Notifications</source>
<translation>Meldingen</translation>
</message>
<message>
<source>New Toot</source>
<translation>Nieuwe Toot</translation>
</message>
<message>
<source>Search</source>
<translation>Zoeken</translation>
</message>
<message>
<source>@user or #term</source>
<translation>@user of #term</translation>
<translation type="unfinished"></translation>
</message>
<message>
<source>Local</source>
<translation>Lokaal</translation>
<translation type="unfinished"></translation>
</message>
<message>
<source>Federated</source>
<translation>Gefedereerd</translation>
<translation type="unfinished"></translation>
</message>
<message>
<source>Search</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>@user or #term</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>New Toot</source>
<translation type="unfinished">Nieuwe Toot</translation>
</message>
</context>
<context>
@ -188,6 +189,10 @@
<source>Reload</source>
<translation>Herladen</translation>
</message>
<message>
<source>Open in Browser</source>
<translation type="unfinished">Open een Browser</translation>
</message>
</context>
<context>
<name>ProfileHeader</name>
@ -209,65 +214,61 @@
<message>
<source>About</source>
<extracomment>If there&apos;s no good translation for &quot;About&quot;, use &quot;Details&quot; (in details about profile).</extracomment>
<translation>Gegevens</translation>
<translation type="unfinished"></translation>
</message>
<message>
<source>Followers</source>
<extracomment>Will show as: &quot;35 Followers&quot;</extracomment>
<translation>Volgers</translation>
<translation type="unfinished"></translation>
</message>
<message>
<source>Following</source>
<extracomment>Will show as: &quot;23 Following&quot;</extracomment>
<translation>Volgend</translation>
<translation type="unfinished"></translation>
</message>
<message>
<source>Statuses</source>
<extracomment>Will show as: &quot;115 Statuses&quot;</extracomment>
<translation>Statussen</translation>
<translation type="unfinished"></translation>
</message>
<message>
<source>Mention</source>
<translation type="unfinished">Vermelden</translation>
</message>
<message>
<source>Unfollow</source>
<extracomment>Is a button. Keep it as short as possible.</extracomment>
<translation>Ontvolgen</translation>
<translation type="unfinished"></translation>
</message>
<message>
<source>Requested</source>
<extracomment>Is a button. Keep it as short as possible.</extracomment>
<translation>Gevraagd</translation>
<translation type="unfinished"></translation>
</message>
<message>
<source>Follow</source>
<extracomment>Is a button. Keep it as short as possible.</extracomment>
<translation>Volgen</translation>
<translation type="unfinished"></translation>
</message>
<message>
<source>Unmute</source>
<extracomment>Is a button. Keep it as short as possible.</extracomment>
<translation>Ontdempen</translation>
<translation type="unfinished"></translation>
</message>
<message>
<source>Mute</source>
<extracomment>Is a button. Keep it as short as possible.</extracomment>
<translation>Dempen</translation>
<translation type="unfinished"></translation>
</message>
<message>
<source>Unblock</source>
<extracomment>Is a button. Keep it as short as possible.</extracomment>
<translation>Deblokkeren</translation>
<translation type="unfinished"></translation>
</message>
<message>
<source>Block</source>
<extracomment>Is a button. Keep it as short as possible.</extracomment>
<translation>Blokkeren</translation>
</message>
<message>
<source>Open in Browser</source>
<translation>Open een Browser</translation>
</message>
<message>
<source>Mention</source>
<translation>Vermelden</translation>
<translation type="unfinished"></translation>
</message>
</context>
<context>

View file

@ -33,6 +33,7 @@
</message>
<message>
<source>What&apos;s on your mind?</source>
<extracomment>placeholderText in Toot text panel</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
@ -76,11 +77,11 @@
<name>EmojiSelect</name>
<message>
<source>Emojis</source>
<translation>Emojis</translation>
<translation type="unfinished"></translation>
</message>
<message>
<source>Tap to insert</source>
<translation>Tikt voor in te voegen</translation>
<translation type="unfinished"></translation>
</message>
</context>
<context>
@ -117,31 +118,31 @@
<name>MainPage</name>
<message>
<source>Home</source>
<translation>Thuis</translation>
<translation type="unfinished"></translation>
</message>
<message>
<source>Notifications</source>
<translation>Meldingen</translation>
</message>
<message>
<source>New Toot</source>
<translation>Nieuwen toot</translation>
</message>
<message>
<source>Search</source>
<translation>Zoeken</translation>
</message>
<message>
<source>@user or #term</source>
<translation>@gebruiker of #term</translation>
<translation type="unfinished"></translation>
</message>
<message>
<source>Local</source>
<translation>Lokaal</translation>
<translation type="unfinished"></translation>
</message>
<message>
<source>Federated</source>
<translation>Gefedereerd</translation>
<translation type="unfinished"></translation>
</message>
<message>
<source>Search</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>@user or #term</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>New Toot</source>
<translation type="unfinished">Nieuwen toot</translation>
</message>
</context>
<context>
@ -188,6 +189,10 @@
<source>Reload</source>
<translation>Herladen</translation>
</message>
<message>
<source>Open in Browser</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>ProfileHeader</name>
@ -214,22 +219,26 @@
<message>
<source>Followers</source>
<extracomment>Will show as: &quot;35 Followers&quot;</extracomment>
<translation>Volgers</translation>
<translation type="unfinished"></translation>
</message>
<message>
<source>Following</source>
<extracomment>Will show as: &quot;23 Following&quot;</extracomment>
<translation>Volgend</translation>
<translation type="unfinished"></translation>
</message>
<message>
<source>Statuses</source>
<extracomment>Will show as: &quot;115 Statuses&quot;</extracomment>
<translation>Statussen</translation>
<translation type="unfinished"></translation>
</message>
<message>
<source>Mention</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Unfollow</source>
<extracomment>Is a button. Keep it as short as possible.</extracomment>
<translation>Ontvolgen</translation>
<translation type="unfinished"></translation>
</message>
<message>
<source>Requested</source>
@ -239,34 +248,26 @@
<message>
<source>Follow</source>
<extracomment>Is a button. Keep it as short as possible.</extracomment>
<translation>Volgen</translation>
<translation type="unfinished"></translation>
</message>
<message>
<source>Unmute</source>
<extracomment>Is a button. Keep it as short as possible.</extracomment>
<translation>Ontdempen</translation>
<translation type="unfinished"></translation>
</message>
<message>
<source>Mute</source>
<extracomment>Is a button. Keep it as short as possible.</extracomment>
<translation>Dempen</translation>
<translation type="unfinished"></translation>
</message>
<message>
<source>Unblock</source>
<extracomment>Is a button. Keep it as short as possible.</extracomment>
<translation>Deblokkeren</translation>
<translation type="unfinished"></translation>
</message>
<message>
<source>Block</source>
<extracomment>Is a button. Keep it as short as possible.</extracomment>
<translation>Blokkeren</translation>
</message>
<message>
<source>Open in Browser</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Mention</source>
<translation type="unfinished"></translation>
</message>
</context>

View file

@ -33,6 +33,7 @@
</message>
<message>
<source>What&apos;s on your mind?</source>
<extracomment>placeholderText in Toot text panel</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
@ -76,11 +77,11 @@
<name>EmojiSelect</name>
<message>
<source>Emojis</source>
<translation>Emojis</translation>
<translation type="unfinished"></translation>
</message>
<message>
<source>Tap to insert</source>
<translation>Tustejar per inserir</translation>
<translation type="unfinished"></translation>
</message>
</context>
<context>
@ -117,31 +118,31 @@
<name>MainPage</name>
<message>
<source>Home</source>
<translation>Acuèlh</translation>
<translation type="unfinished"></translation>
</message>
<message>
<source>Notifications</source>
<translation>Notificacions</translation>
</message>
<message>
<source>New Toot</source>
<translation>Nòu Tut</translation>
</message>
<message>
<source>Search</source>
<translation>Cercar</translation>
</message>
<message>
<source>@user or #term</source>
<translation>@utilizaire o #tèrm</translation>
<translation type="unfinished"></translation>
</message>
<message>
<source>Local</source>
<translation>Local</translation>
<translation type="unfinished"></translation>
</message>
<message>
<source>Federated</source>
<translation>Federat</translation>
<translation type="unfinished"></translation>
</message>
<message>
<source>Search</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>@user or #term</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>New Toot</source>
<translation type="unfinished">Nòu Tut</translation>
</message>
</context>
<context>
@ -188,6 +189,10 @@
<source>Reload</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Open in Browser</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>ProfileHeader</name>
@ -214,22 +219,26 @@
<message>
<source>Followers</source>
<extracomment>Will show as: &quot;35 Followers&quot;</extracomment>
<translation>Seguidors</translation>
<translation type="unfinished"></translation>
</message>
<message>
<source>Following</source>
<extracomment>Will show as: &quot;23 Following&quot;</extracomment>
<translation>Abonaments</translation>
<translation type="unfinished"></translation>
</message>
<message>
<source>Statuses</source>
<extracomment>Will show as: &quot;115 Statuses&quot;</extracomment>
<translation>Estatuts</translation>
<translation type="unfinished"></translation>
</message>
<message>
<source>Mention</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Unfollow</source>
<extracomment>Is a button. Keep it as short as possible.</extracomment>
<translation>Quitar de seguir</translation>
<translation type="unfinished"></translation>
</message>
<message>
<source>Requested</source>
@ -239,34 +248,26 @@
<message>
<source>Follow</source>
<extracomment>Is a button. Keep it as short as possible.</extracomment>
<translation>Seguir</translation>
<translation type="unfinished"></translation>
</message>
<message>
<source>Unmute</source>
<extracomment>Is a button. Keep it as short as possible.</extracomment>
<translation>Mostrar</translation>
<translation type="unfinished"></translation>
</message>
<message>
<source>Mute</source>
<extracomment>Is a button. Keep it as short as possible.</extracomment>
<translation>Amagar</translation>
<translation type="unfinished"></translation>
</message>
<message>
<source>Unblock</source>
<extracomment>Is a button. Keep it as short as possible.</extracomment>
<translation>Desblocar</translation>
<translation type="unfinished"></translation>
</message>
<message>
<source>Block</source>
<extracomment>Is a button. Keep it as short as possible.</extracomment>
<translation>Blocar</translation>
</message>
<message>
<source>Open in Browser</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Mention</source>
<translation type="unfinished"></translation>
</message>
</context>

View file

@ -33,6 +33,7 @@
</message>
<message>
<source>What&apos;s on your mind?</source>
<extracomment>placeholderText in Toot text panel</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
@ -76,11 +77,11 @@
<name>EmojiSelect</name>
<message>
<source>Emojis</source>
<translation>Emoji</translation>
<translation type="unfinished"></translation>
</message>
<message>
<source>Tap to insert</source>
<translation>Dotknij aby wstawić</translation>
<translation type="unfinished"></translation>
</message>
</context>
<context>
@ -117,31 +118,31 @@
<name>MainPage</name>
<message>
<source>Home</source>
<translation>Strona główna</translation>
<translation type="unfinished"></translation>
</message>
<message>
<source>Notifications</source>
<translation>Powiadomienia</translation>
</message>
<message>
<source>New Toot</source>
<translation>Nowy wpis</translation>
</message>
<message>
<source>Search</source>
<translation>Szukaj</translation>
</message>
<message>
<source>@user or #term</source>
<translation>@użytkownik lub #tag</translation>
<translation type="unfinished"></translation>
</message>
<message>
<source>Local</source>
<translation>Lokalne</translation>
<translation type="unfinished"></translation>
</message>
<message>
<source>Federated</source>
<translation>Globalne</translation>
<translation type="unfinished"></translation>
</message>
<message>
<source>Search</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>@user or #term</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>New Toot</source>
<translation type="unfinished">Nowy wpis</translation>
</message>
</context>
<context>
@ -188,6 +189,10 @@
<source>Reload</source>
<translation>Załaduj ponownie</translation>
</message>
<message>
<source>Open in Browser</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>ProfileHeader</name>
@ -219,17 +224,21 @@
<message>
<source>Following</source>
<extracomment>Will show as: &quot;23 Following&quot;</extracomment>
<translation>Śledzisz</translation>
<translation type="unfinished"></translation>
</message>
<message>
<source>Statuses</source>
<extracomment>Will show as: &quot;115 Statuses&quot;</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<source>Mention</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Unfollow</source>
<extracomment>Is a button. Keep it as short as possible.</extracomment>
<translation>Przestań śledzić</translation>
<translation type="unfinished"></translation>
</message>
<message>
<source>Requested</source>
@ -249,7 +258,7 @@
<message>
<source>Mute</source>
<extracomment>Is a button. Keep it as short as possible.</extracomment>
<translation>Wycisz</translation>
<translation type="unfinished"></translation>
</message>
<message>
<source>Unblock</source>
@ -261,14 +270,6 @@
<extracomment>Is a button. Keep it as short as possible.</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<source>Open in Browser</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Mention</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>SettingsPage</name>

View file

@ -33,6 +33,7 @@
</message>
<message>
<source>What&apos;s on your mind?</source>
<extracomment>placeholderText in Toot text panel</extracomment>
<translation>О чём думаете?</translation>
</message>
<message>
@ -76,11 +77,11 @@
<name>EmojiSelect</name>
<message>
<source>Emojis</source>
<translation>айликов</translation>
<translation type="unfinished"></translation>
</message>
<message>
<source>Tap to insert</source>
<translation>Нажмите, чтобы вставить</translation>
<translation type="unfinished"></translation>
</message>
</context>
<context>
@ -117,38 +118,38 @@
<name>MainPage</name>
<message>
<source>Home</source>
<translation>Главная</translation>
<translation type="unfinished"></translation>
</message>
<message>
<source>Notifications</source>
<translation>Уведомления</translation>
</message>
<message>
<source>New Toot</source>
<translation>Новый</translation>
</message>
<message>
<source>Search</source>
<translation>Поиск</translation>
</message>
<message>
<source>@user or #term</source>
<translation>@пользователь или #срок</translation>
<translation type="unfinished"></translation>
</message>
<message>
<source>Local</source>
<translation>Локальный</translation>
<translation type="unfinished"></translation>
</message>
<message>
<source>Federated</source>
<translation>Федеративные</translation>
<translation type="unfinished"></translation>
</message>
<message>
<source>Search</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>@user or #term</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>New Toot</source>
<translation type="unfinished">Новый</translation>
</message>
</context>
<context>
<name>MediaFullScreen</name>
<message>
<source>Error loading</source>
<translation>Ошибка загрузки</translation>
<translation type="unfinished"></translation>
</message>
</context>
<context>
@ -188,6 +189,10 @@
<source>Reload</source>
<translation>Перезагрузить</translation>
</message>
<message>
<source>Open in Browser</source>
<translation type="unfinished">Открыть в браузере</translation>
</message>
</context>
<context>
<name>ProfileHeader</name>
@ -209,65 +214,61 @@
<message>
<source>About</source>
<extracomment>If there&apos;s no good translation for &quot;About&quot;, use &quot;Details&quot; (in details about profile).</extracomment>
<translation>О профиль</translation>
<translation type="unfinished"></translation>
</message>
<message>
<source>Followers</source>
<extracomment>Will show as: &quot;35 Followers&quot;</extracomment>
<translation>Читают</translation>
<translation type="unfinished"></translation>
</message>
<message>
<source>Following</source>
<extracomment>Will show as: &quot;23 Following&quot;</extracomment>
<translation>Следующий</translation>
<translation type="unfinished"></translation>
</message>
<message>
<source>Statuses</source>
<extracomment>Will show as: &quot;115 Statuses&quot;</extracomment>
<translation>Статусы</translation>
<translation type="unfinished"></translation>
</message>
<message>
<source>Mention</source>
<translation type="unfinished">Упоминание</translation>
</message>
<message>
<source>Unfollow</source>
<extracomment>Is a button. Keep it as short as possible.</extracomment>
<translation>Отписаться</translation>
<translation type="unfinished"></translation>
</message>
<message>
<source>Requested</source>
<extracomment>Is a button. Keep it as short as possible.</extracomment>
<translation>Запрошенный</translation>
<translation type="unfinished"></translation>
</message>
<message>
<source>Follow</source>
<extracomment>Is a button. Keep it as short as possible.</extracomment>
<translation>Следить</translation>
<translation type="unfinished"></translation>
</message>
<message>
<source>Unmute</source>
<extracomment>Is a button. Keep it as short as possible.</extracomment>
<translation>Нет безгласный</translation>
<translation type="unfinished"></translation>
</message>
<message>
<source>Mute</source>
<extracomment>Is a button. Keep it as short as possible.</extracomment>
<translation>Безгласный</translation>
<translation type="unfinished"></translation>
</message>
<message>
<source>Unblock</source>
<extracomment>Is a button. Keep it as short as possible.</extracomment>
<translation>Открыть</translation>
<translation type="unfinished"></translation>
</message>
<message>
<source>Block</source>
<extracomment>Is a button. Keep it as short as possible.</extracomment>
<translation>Блокировать</translation>
</message>
<message>
<source>Open in Browser</source>
<translation>Открыть в браузере</translation>
</message>
<message>
<source>Mention</source>
<translation>Упоминание</translation>
<translation type="unfinished"></translation>
</message>
</context>
<context>

View file

@ -33,6 +33,7 @@
</message>
<message>
<source>What&apos;s on your mind?</source>
<extracomment>placeholderText in Toot text panel</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
@ -76,11 +77,11 @@
<name>EmojiSelect</name>
<message>
<source>Emojis</source>
<translation>Емотикони</translation>
<translation type="unfinished"></translation>
</message>
<message>
<source>Tap to insert</source>
<translation>Тапни за убацивање</translation>
<translation type="unfinished"></translation>
</message>
</context>
<context>
@ -117,31 +118,31 @@
<name>MainPage</name>
<message>
<source>Home</source>
<translation>Почетна</translation>
<translation type="unfinished"></translation>
</message>
<message>
<source>Notifications</source>
<translation>Обавјештење</translation>
</message>
<message>
<source>New Toot</source>
<translation>Novi toot</translation>
</message>
<message>
<source>Search</source>
<translation>Претрага</translation>
</message>
<message>
<source>@user or #term</source>
<translation>@korisnik ili #pojam</translation>
<translation type="unfinished"></translation>
</message>
<message>
<source>Local</source>
<translation>Локална</translation>
<translation type="unfinished"></translation>
</message>
<message>
<source>Federated</source>
<translation>Федеративна</translation>
<translation type="unfinished"></translation>
</message>
<message>
<source>Search</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>@user or #term</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>New Toot</source>
<translation type="unfinished">Novi toot</translation>
</message>
</context>
<context>
@ -188,6 +189,10 @@
<source>Reload</source>
<translation>учитај још</translation>
</message>
<message>
<source>Open in Browser</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>ProfileHeader</name>
@ -214,22 +219,26 @@
<message>
<source>Followers</source>
<extracomment>Will show as: &quot;35 Followers&quot;</extracomment>
<translation>Пратиоци</translation>
<translation type="unfinished"></translation>
</message>
<message>
<source>Following</source>
<extracomment>Will show as: &quot;23 Following&quot;</extracomment>
<translation>Пратите</translation>
<translation type="unfinished"></translation>
</message>
<message>
<source>Statuses</source>
<extracomment>Will show as: &quot;115 Statuses&quot;</extracomment>
<translation>Статуси</translation>
<translation type="unfinished"></translation>
</message>
<message>
<source>Mention</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Unfollow</source>
<extracomment>Is a button. Keep it as short as possible.</extracomment>
<translation>Одпрати</translation>
<translation type="unfinished"></translation>
</message>
<message>
<source>Requested</source>
@ -239,34 +248,26 @@
<message>
<source>Follow</source>
<extracomment>Is a button. Keep it as short as possible.</extracomment>
<translation>Прати</translation>
<translation type="unfinished"></translation>
</message>
<message>
<source>Unmute</source>
<extracomment>Is a button. Keep it as short as possible.</extracomment>
<translation>Укини утишање</translation>
<translation type="unfinished"></translation>
</message>
<message>
<source>Mute</source>
<extracomment>Is a button. Keep it as short as possible.</extracomment>
<translation>Утишај</translation>
<translation type="unfinished"></translation>
</message>
<message>
<source>Unblock</source>
<extracomment>Is a button. Keep it as short as possible.</extracomment>
<translation>Одблокирати</translation>
<translation type="unfinished"></translation>
</message>
<message>
<source>Block</source>
<extracomment>Is a button. Keep it as short as possible.</extracomment>
<translation>Блокирати</translation>
</message>
<message>
<source>Open in Browser</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Mention</source>
<translation type="unfinished"></translation>
</message>
</context>

View file

@ -33,6 +33,7 @@
</message>
<message>
<source>What&apos;s on your mind?</source>
<extracomment>placeholderText in Toot text panel</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
@ -76,11 +77,11 @@
<name>EmojiSelect</name>
<message>
<source>Emojis</source>
<translation>Emojis</translation>
<translation type="unfinished"></translation>
</message>
<message>
<source>Tap to insert</source>
<translation>Tryck för att infoga</translation>
<translation type="unfinished"></translation>
</message>
</context>
<context>
@ -117,31 +118,31 @@
<name>MainPage</name>
<message>
<source>Home</source>
<translation>Hem</translation>
<translation type="unfinished"></translation>
</message>
<message>
<source>Notifications</source>
<translation>Notifieringar</translation>
</message>
<message>
<source>New Toot</source>
<translation>Ny toot</translation>
</message>
<message>
<source>Search</source>
<translation>Sök</translation>
</message>
<message>
<source>@user or #term</source>
<translation>@user eller #term</translation>
<translation type="unfinished"></translation>
</message>
<message>
<source>Local</source>
<translation>Lokalt</translation>
<translation type="unfinished"></translation>
</message>
<message>
<source>Federated</source>
<translation>Förenade</translation>
<translation type="unfinished"></translation>
</message>
<message>
<source>Search</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>@user or #term</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>New Toot</source>
<translation type="unfinished">Ny toot</translation>
</message>
</context>
<context>
@ -188,6 +189,10 @@
<source>Reload</source>
<translation>Ladda mer</translation>
</message>
<message>
<source>Open in Browser</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>ProfileHeader</name>
@ -214,22 +219,26 @@
<message>
<source>Followers</source>
<extracomment>Will show as: &quot;35 Followers&quot;</extracomment>
<translation>Följare</translation>
<translation type="unfinished"></translation>
</message>
<message>
<source>Following</source>
<extracomment>Will show as: &quot;23 Following&quot;</extracomment>
<translation>Följer</translation>
<translation type="unfinished"></translation>
</message>
<message>
<source>Statuses</source>
<extracomment>Will show as: &quot;115 Statuses&quot;</extracomment>
<translation>Statusar</translation>
<translation type="unfinished"></translation>
</message>
<message>
<source>Mention</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Unfollow</source>
<extracomment>Is a button. Keep it as short as possible.</extracomment>
<translation>Sluta följa</translation>
<translation type="unfinished"></translation>
</message>
<message>
<source>Requested</source>
@ -239,34 +248,26 @@
<message>
<source>Follow</source>
<extracomment>Is a button. Keep it as short as possible.</extracomment>
<translation>Följ</translation>
<translation type="unfinished"></translation>
</message>
<message>
<source>Unmute</source>
<extracomment>Is a button. Keep it as short as possible.</extracomment>
<translation>Avtysta</translation>
<translation type="unfinished"></translation>
</message>
<message>
<source>Mute</source>
<extracomment>Is a button. Keep it as short as possible.</extracomment>
<translation>Tysta</translation>
<translation type="unfinished"></translation>
</message>
<message>
<source>Unblock</source>
<extracomment>Is a button. Keep it as short as possible.</extracomment>
<translation>Avblockera</translation>
<translation type="unfinished"></translation>
</message>
<message>
<source>Block</source>
<extracomment>Is a button. Keep it as short as possible.</extracomment>
<translation>Blockera</translation>
</message>
<message>
<source>Open in Browser</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Mention</source>
<translation type="unfinished"></translation>
</message>
</context>

View file

@ -33,6 +33,7 @@
</message>
<message>
<source>What&apos;s on your mind?</source>
<extracomment>placeholderText in Toot text panel</extracomment>
<translation>?</translation>
</message>
<message>
@ -76,11 +77,11 @@
<name>EmojiSelect</name>
<message>
<source>Emojis</source>
<translation></translation>
<translation type="unfinished"></translation>
</message>
<message>
<source>Tap to insert</source>
<translation></translation>
<translation type="unfinished"></translation>
</message>
</context>
<context>
@ -117,38 +118,38 @@
<name>MainPage</name>
<message>
<source>Home</source>
<translation></translation>
<translation type="unfinished"></translation>
</message>
<message>
<source>Notifications</source>
<translation></translation>
</message>
<message>
<source>New Toot</source>
<translation></translation>
</message>
<message>
<source>Search</source>
<translation></translation>
</message>
<message>
<source>@user or #term</source>
<translation>@用户或#</translation>
<translation type="unfinished"></translation>
</message>
<message>
<source>Local</source>
<translation></translation>
<translation type="unfinished"></translation>
</message>
<message>
<source>Federated</source>
<translation></translation>
<translation type="unfinished"></translation>
</message>
<message>
<source>Search</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>@user or #term</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>New Toot</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>MediaFullScreen</name>
<message>
<source>Error loading</source>
<translation></translation>
<translation type="unfinished"></translation>
</message>
</context>
<context>
@ -188,6 +189,10 @@
<source>Reload</source>
<translation></translation>
</message>
<message>
<source>Open in Browser</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>ProfileHeader</name>
@ -209,65 +214,61 @@
<message>
<source>About</source>
<extracomment>If there&apos;s no good translation for &quot;About&quot;, use &quot;Details&quot; (in details about profile).</extracomment>
<translation></translation>
<translation type="unfinished"></translation>
</message>
<message>
<source>Followers</source>
<extracomment>Will show as: &quot;35 Followers&quot;</extracomment>
<translation></translation>
<translation type="unfinished"></translation>
</message>
<message>
<source>Following</source>
<extracomment>Will show as: &quot;23 Following&quot;</extracomment>
<translation></translation>
<translation type="unfinished"></translation>
</message>
<message>
<source>Statuses</source>
<extracomment>Will show as: &quot;115 Statuses&quot;</extracomment>
<translation></translation>
<translation type="unfinished"></translation>
</message>
<message>
<source>Mention</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Unfollow</source>
<extracomment>Is a button. Keep it as short as possible.</extracomment>
<translation></translation>
<translation type="unfinished"></translation>
</message>
<message>
<source>Requested</source>
<extracomment>Is a button. Keep it as short as possible.</extracomment>
<translation></translation>
<translation type="unfinished"></translation>
</message>
<message>
<source>Follow</source>
<extracomment>Is a button. Keep it as short as possible.</extracomment>
<translation></translation>
<translation type="unfinished"></translation>
</message>
<message>
<source>Unmute</source>
<extracomment>Is a button. Keep it as short as possible.</extracomment>
<translation></translation>
<translation type="unfinished"></translation>
</message>
<message>
<source>Mute</source>
<extracomment>Is a button. Keep it as short as possible.</extracomment>
<translation></translation>
<translation type="unfinished"></translation>
</message>
<message>
<source>Unblock</source>
<extracomment>Is a button. Keep it as short as possible.</extracomment>
<translation></translation>
<translation type="unfinished"></translation>
</message>
<message>
<source>Block</source>
<extracomment>Is a button. Keep it as short as possible.</extracomment>
<translation></translation>
</message>
<message>
<source>Open in Browser</source>
<translation></translation>
</message>
<message>
<source>Mention</source>
<translation></translation>
<translation type="unfinished"></translation>
</message>
</context>
<context>

View file

@ -33,6 +33,7 @@
</message>
<message>
<source>What&apos;s on your mind?</source>
<extracomment>placeholderText in Toot text panel</extracomment>
<translation>What&apos;s on your mind?</translation>
</message>
<message>
@ -76,11 +77,11 @@
<name>EmojiSelect</name>
<message>
<source>Emojis</source>
<translation>Emojis</translation>
<translation type="unfinished"></translation>
</message>
<message>
<source>Tap to insert</source>
<translation>Tap to insert</translation>
<translation type="unfinished"></translation>
</message>
</context>
<context>
@ -117,38 +118,38 @@
<name>MainPage</name>
<message>
<source>Home</source>
<translation></translation>
<translation type="unfinished"></translation>
</message>
<message>
<source>Notifications</source>
<translation></translation>
</message>
<message>
<source>New Toot</source>
<translation></translation>
</message>
<message>
<source>Search</source>
<translation></translation>
</message>
<message>
<source>@user or #term</source>
<translation></translation>
<translation type="unfinished"></translation>
</message>
<message>
<source>Local</source>
<translation></translation>
<translation type="unfinished"></translation>
</message>
<message>
<source>Federated</source>
<translation></translation>
<translation type="unfinished"></translation>
</message>
<message>
<source>Search</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>@user or #term</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>New Toot</source>
<translation type="unfinished">New Toot</translation>
</message>
</context>
<context>
<name>MediaFullScreen</name>
<message>
<source>Error loading</source>
<translation>Error loading</translation>
<translation type="unfinished"></translation>
</message>
</context>
<context>
@ -188,6 +189,10 @@
<source>Reload</source>
<translation type="unfinished">Reload</translation>
</message>
<message>
<source>Open in Browser</source>
<translation type="unfinished">Open in Browser</translation>
</message>
</context>
<context>
<name>ProfileHeader</name>
@ -209,65 +214,61 @@
<message>
<source>About</source>
<extracomment>If there&apos;s no good translation for &quot;About&quot;, use &quot;Details&quot; (in details about profile).</extracomment>
<translation>About</translation>
<translation type="unfinished"></translation>
</message>
<message>
<source>Followers</source>
<extracomment>Will show as: &quot;35 Followers&quot;</extracomment>
<translation>Followers</translation>
<translation type="unfinished"></translation>
</message>
<message>
<source>Following</source>
<extracomment>Will show as: &quot;23 Following&quot;</extracomment>
<translation>Following</translation>
<translation type="unfinished"></translation>
</message>
<message>
<source>Statuses</source>
<extracomment>Will show as: &quot;115 Statuses&quot;</extracomment>
<translation>Statuses</translation>
<translation type="unfinished"></translation>
</message>
<message>
<source>Mention</source>
<translation type="unfinished">Mention</translation>
</message>
<message>
<source>Unfollow</source>
<extracomment>Is a button. Keep it as short as possible.</extracomment>
<translation>Unfollow</translation>
<translation type="unfinished"></translation>
</message>
<message>
<source>Requested</source>
<extracomment>Is a button. Keep it as short as possible.</extracomment>
<translation>Requested</translation>
<translation type="unfinished"></translation>
</message>
<message>
<source>Follow</source>
<extracomment>Is a button. Keep it as short as possible.</extracomment>
<translation>Follow</translation>
<translation type="unfinished"></translation>
</message>
<message>
<source>Unmute</source>
<extracomment>Is a button. Keep it as short as possible.</extracomment>
<translation>Unmute</translation>
<translation type="unfinished"></translation>
</message>
<message>
<source>Mute</source>
<extracomment>Is a button. Keep it as short as possible.</extracomment>
<translation>Mute</translation>
<translation type="unfinished"></translation>
</message>
<message>
<source>Unblock</source>
<extracomment>Is a button. Keep it as short as possible.</extracomment>
<translation>Unblock</translation>
<translation type="unfinished"></translation>
</message>
<message>
<source>Block</source>
<extracomment>Is a button. Keep it as short as possible.</extracomment>
<translation>Block</translation>
</message>
<message>
<source>Open in Browser</source>
<translation>Open in Browser</translation>
</message>
<message>
<source>Mention</source>
<translation>Mention</translation>
<translation type="unfinished"></translation>
</message>
</context>
<context>