From 39e8a9f796d58bdf155b3ba806c5ae34da843146 Mon Sep 17 00:00:00 2001 From: Ales Katona Date: Thu, 25 Jul 2019 21:07:49 -0600 Subject: [PATCH 001/110] do not crash on status: null --- qml/lib/Worker.js | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/qml/lib/Worker.js b/qml/lib/Worker.js index ff34e44..a5cc849 100644 --- a/qml/lib/Worker.js +++ b/qml/lib/Worker.js @@ -60,6 +60,7 @@ WorkerScript.onMessage = function(msg) { } else if(msg.action === "notifications") { // notification //console.log("Is notification... parsing...") + console.log(JSON.stringify(data[i])) item = parseNotification(data[i]); items.push(item) @@ -148,12 +149,20 @@ function parseNotification(data){ }; switch (item['type']){ case "mention": + if (!data.status) { + break; + } + item = parseToot(data.status) item['typeIcon'] = "image://theme/icon-s-retweet" item['typeIcon'] = "image://theme/icon-s-alarm" item['type'] = "mention"; break; case "reblog": + if (!data.status) { + break; + } + item = parseToot(data.status) item = parseAccounts(item, "reblog_", data["account"]) item = parseAccounts(item, "", data["status"]["account"]) @@ -162,6 +171,10 @@ function parseNotification(data){ item['typeIcon'] = "image://theme/icon-s-retweet" break; case "favourite": + if (!data.status) { + break; + } + item = parseToot(data.status) item = parseAccounts(item, "reblog_", data["account"]) item = parseAccounts(item, "", data["status"]["account"]) From da529f81d6792f33b48ccd4c94d505c6bdfec13e Mon Sep 17 00:00:00 2001 From: dashinfantry <45334556+dashinfantry@users.noreply.github.com> Date: Wed, 1 Jan 2020 16:38:45 +0800 Subject: [PATCH 002/110] Update and rename harbour-tooter-zh.ts to harbour-tooter-zh_CN.ts --- ...r-tooter-zh.ts => harbour-tooter-zh_CN.ts} | 50 +++++++++---------- 1 file changed, 25 insertions(+), 25 deletions(-) rename translations/{harbour-tooter-zh.ts => harbour-tooter-zh_CN.ts} (81%) diff --git a/translations/harbour-tooter-zh.ts b/translations/harbour-tooter-zh_CN.ts similarity index 81% rename from translations/harbour-tooter-zh.ts rename to translations/harbour-tooter-zh_CN.ts index f9bedda..a75407e 100644 --- a/translations/harbour-tooter-zh.ts +++ b/translations/harbour-tooter-zh_CN.ts @@ -1,6 +1,6 @@ - + API @@ -13,7 +13,7 @@ boosted - 推出的 + 推起的 said @@ -47,7 +47,7 @@ Content warning! - 内容警告 + 内容警告! public @@ -89,30 +89,30 @@ ImageUploader The file %1 does not exists - 文件%1 不存在 + 文件 %1 不存在 LoginPage Login - + 登录 Instance - + 实例 Enter an Mastodon instance URL - + 输入一个 Mastodon 实例链接 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. - + ​Mastodon 是一个自由且开源的社交网络。一个去中心的商业平台的替代品。它能够避免某个公司垄断你的通讯方式的风险。选择一个你所信任的服务器——无论你选择什么,你都可以和其他人进行互动。任何人都能运行他们自己的 Mastodon 实例,然后无缝加入社交网站。 Reload - + 重新加载 @@ -150,7 +150,7 @@ MiniStatus boosted - 推出的 + 推起的 favourited @@ -188,7 +188,7 @@ Follow request sent! - 关注请求已寄出 + 关注请求已寄出! Following @@ -235,54 +235,54 @@ Settings Settings - 设置 + 设置 Remove Account - + 移除账户 Add Account - + 添加账户 Deauthorize this app and remove your account - + 取消对此软件的授权并移除你的账户 Authorize this app to use your Mastodon account in your behalf - + 授权此软件使用你的 Mastodon 账户 Load images in toots - + 在嘟嘟加载图片 Disable this option if you want to preserve your data connection - + 如果你想保护你的数据连接 请禁用此操作 Translate - + 翻译 Use Transifex to help with app translation to your language - + 使用 Transifex 帮助翻译此软件到你所使用的语言。 Credits - + 信誉 UI/UX design and development - + UI/UX 设计及开发 Toot boosted - 推出的 + 推起的 favourited @@ -297,11 +297,11 @@ VisualContainer Unboost - 取消推出 + 取消推起 Boost - 推出 + 推起 Unfavorite From 7e02a35e86c61bf2efe27e3e1fc95b4ab5255ce5 Mon Sep 17 00:00:00 2001 From: carlosgonz <45316884+GNUuser@users.noreply.github.com> Date: Mon, 3 Feb 2020 16:52:28 -0500 Subject: [PATCH 003/110] Update Settings.qml --- qml/pages/Settings.qml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/qml/pages/Settings.qml b/qml/pages/Settings.qml index ef0ce22..39fcf10 100644 --- a/qml/pages/Settings.qml +++ b/qml/pages/Settings.qml @@ -150,10 +150,10 @@ Page { mail: "https://twitter.com/meneer" } ListElement { - name: "Carlos Gonzalez / Caballlero" + name: "CarmenFdez" desc: qsTr("Spanish translation") mastodon: "" - mail: "carlosgonz@protonmail.com" + mail: "" } ListElement { name: "Mohamed-Touhami MAHDI" From da3d9aa359695311b057097db97a3353ef2298a9 Mon Sep 17 00:00:00 2001 From: molan-git <59296158+molan-git@users.noreply.github.com> Date: Tue, 4 Feb 2020 13:02:50 +0100 Subject: [PATCH 004/110] 1.0.3-8 --- rpm/harbour-tooter.changes | 6 +++++- rpm/harbour-tooter.spec | 2 +- rpm/harbour-tooter.yaml | 2 +- 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/rpm/harbour-tooter.changes b/rpm/harbour-tooter.changes index 1c662cd..5886521 100644 --- a/rpm/harbour-tooter.changes +++ b/rpm/harbour-tooter.changes @@ -1,4 +1,8 @@ -* Thu Feb 03 2020 molan 1.0.3-7 +* Tue Feb 04 2020 molan 1.0.3-8 +- Fix for broken translations +- Updated Spanish translation + +* Mon Feb 03 2020 molan 1.0.3-7 - Updated translations for new language strings * Thu Jan 30 2020 molan 1.0.3-6 diff --git a/rpm/harbour-tooter.spec b/rpm/harbour-tooter.spec index f37454f..6bd72e7 100644 --- a/rpm/harbour-tooter.spec +++ b/rpm/harbour-tooter.spec @@ -14,7 +14,7 @@ Name: harbour-tooter %{?qtc_builddir:%define _builddir %qtc_builddir} Summary: Tooter Version: 1.0.3 -Release: 7 +Release: 8 Group: Qt/Qt License: LICENSE URL: http://example.org/ diff --git a/rpm/harbour-tooter.yaml b/rpm/harbour-tooter.yaml index af717af..01802db 100644 --- a/rpm/harbour-tooter.yaml +++ b/rpm/harbour-tooter.yaml @@ -1,7 +1,7 @@ Name: harbour-tooter Summary: Tooter Version: 1.0.3 -Release: 7 +Release: 8 # 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 From 00e2b8dfb19c6020ce0741ce7883c5742da355a2 Mon Sep 17 00:00:00 2001 From: molan-git <59296158+molan-git@users.noreply.github.com> Date: Tue, 4 Feb 2020 13:03:44 +0100 Subject: [PATCH 005/110] 1.0.3-8 --- translations/harbour-tooter-de.ts | 2 +- translations/harbour-tooter-fr.ts | 10 +++++++--- translations/harbour-tooter-zh_CN.ts | 2 +- translations/harbour-tooter.ts | 4 ++++ 4 files changed, 13 insertions(+), 5 deletions(-) diff --git a/translations/harbour-tooter-de.ts b/translations/harbour-tooter-de.ts index 62f0a6e..4ef1a9d 100644 --- a/translations/harbour-tooter-de.ts +++ b/translations/harbour-tooter-de.ts @@ -276,7 +276,7 @@ Visual identity - Visuelle Identität + Visuelle Identität Occitan & French translation diff --git a/translations/harbour-tooter-fr.ts b/translations/harbour-tooter-fr.ts index b1d54b0..89708bd 100644 --- a/translations/harbour-tooter-fr.ts +++ b/translations/harbour-tooter-fr.ts @@ -276,7 +276,7 @@ Visual identity - Identité visuelle + Identité visuelle Occitan & French translation @@ -294,6 +294,10 @@ Chinese translation Traduction chinoise + + Added README file + + Toot @@ -322,11 +326,11 @@ Unfavorite - + Defavoriser Favorite - + Favoriser diff --git a/translations/harbour-tooter-zh_CN.ts b/translations/harbour-tooter-zh_CN.ts index af3aa97..bbc65ba 100644 --- a/translations/harbour-tooter-zh_CN.ts +++ b/translations/harbour-tooter-zh_CN.ts @@ -268,7 +268,7 @@ Load Images in Toots - + 在嘟嘟加载图片 Maintainer of this release diff --git a/translations/harbour-tooter.ts b/translations/harbour-tooter.ts index ef79c6a..b6bec4d 100644 --- a/translations/harbour-tooter.ts +++ b/translations/harbour-tooter.ts @@ -294,6 +294,10 @@ Added README file + + Chinese translation + + Toot From a649f04894413e6b2405256bd7fe696de9a5558d Mon Sep 17 00:00:00 2001 From: molan-git <59296158+molan-git@users.noreply.github.com> Date: Tue, 4 Feb 2020 13:04:03 +0100 Subject: [PATCH 006/110] 1.0.3-8 From ab4c5be7bd4931a00d0e971350c1ea8d9ddea377 Mon Sep 17 00:00:00 2001 From: molan-git <59296158+molan-git@users.noreply.github.com> Date: Tue, 4 Feb 2020 13:20:09 +0100 Subject: [PATCH 007/110] Update README.md --- README.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/README.md b/README.md index 8a6da21..60f78f2 100644 --- a/README.md +++ b/README.md @@ -8,6 +8,9 @@ This is a fork of dysk0/harbour-tooter. The app can by downloaded here: https:// ## Build Clone / download this repository and import it in your SailfishOS IDE using the harbour-tooter.pro project file. No additional configuration needed. +## Contributions +Contributions to this project are very welcome, since I don't have the resources and time to implement and fix everything Tooter still misses or lacks. Thank you! + ## Screenshots From f94f7adbe5d88ec2d14d79519e76f0f0895d2c46 Mon Sep 17 00:00:00 2001 From: dashinfantry <45334556+dashinfantry@users.noreply.github.com> Date: Thu, 6 Feb 2020 19:42:07 +0800 Subject: [PATCH 008/110] Update harbour-tooter-zh_CN.ts a small improvement to make it better --- translations/harbour-tooter-zh_CN.ts | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/translations/harbour-tooter-zh_CN.ts b/translations/harbour-tooter-zh_CN.ts index bbc65ba..2479c2a 100644 --- a/translations/harbour-tooter-zh_CN.ts +++ b/translations/harbour-tooter-zh_CN.ts @@ -89,7 +89,7 @@ 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. - ​Mastodon 是一个自由且开源的社交网络。一个去中心的商业平台的替代品。它能够避免某个公司垄断你的通讯方式的风险。选择一个你所信任的服务器——无论你选择什么,你都可以和其他人进行互动。任何人都能运行他们自己的 Mastodon 实例,然后无缝加入社交网站。 + ​Mastodon 是一个自由且开源的社交网络。一个去中心化的商业平台的替代品。它能够避免某个公司垄断你的通讯方式的风险。选择一个你所信任的服务器——无论你选择什么,你都可以和其他人进行互动。任何人都能运行他们自己的 Mastodon 实例,然后无缝加入社交网站。 Reload @@ -169,7 +169,7 @@ Profile Unfollow - 未关注 + 取消关注 Follow request sent! @@ -217,7 +217,7 @@ Bio - Bio + 简介 Open Profile in Browser @@ -292,7 +292,7 @@ Added README file - 已添加 README 文件 + 添加 README 文件 Chinese translation From 15653a90a3e8ed18b6a4c3dff00b136f0d41ffde Mon Sep 17 00:00:00 2001 From: Dusko Angirevic Date: Wed, 15 Apr 2020 23:58:07 +0200 Subject: [PATCH 009/110] 1.0.4 - Login bugfix merge request - Updated translations --- rpm/harbour-tooter.changes | 4 + rpm/harbour-tooter.spec | 2 +- rpm/harbour-tooter.yaml | 2 +- translations/harbour-tooter-de.ts | 28 +++---- translations/harbour-tooter-el.ts | 24 +++--- translations/harbour-tooter-es.ts | 32 ++++---- translations/harbour-tooter-fr.ts | 32 ++++---- translations/harbour-tooter-nl.ts | 32 ++++---- translations/harbour-tooter-nl_BE.ts | 32 ++++---- translations/harbour-tooter-oc.ts | 28 +++---- translations/harbour-tooter-pl.ts | 108 +++++++++++++-------------- translations/harbour-tooter-ru.ts | 28 +++---- translations/harbour-tooter-sr.ts | 32 ++++---- translations/harbour-tooter-sv.ts | 28 +++---- translations/harbour-tooter-zh.ts | 28 +++---- 15 files changed, 222 insertions(+), 218 deletions(-) diff --git a/rpm/harbour-tooter.changes b/rpm/harbour-tooter.changes index d7a4d66..ff8550c 100644 --- a/rpm/harbour-tooter.changes +++ b/rpm/harbour-tooter.changes @@ -1,3 +1,7 @@ +* Wed Apr 15 2020 Dusko Angirevic 1.0.4-0 +- Login bugfix merge request +- Updated translations + * Sun Jan 27 2019 Dusko Angirevic 1.0.3-0 - Remorse popup added for account removal - Updated translations diff --git a/rpm/harbour-tooter.spec b/rpm/harbour-tooter.spec index 520b70c..3e9ea00 100644 --- a/rpm/harbour-tooter.spec +++ b/rpm/harbour-tooter.spec @@ -13,7 +13,7 @@ Name: harbour-tooter %{!?qtc_make:%define qtc_make make} %{?qtc_builddir:%define _builddir %qtc_builddir} Summary: Tooter -Version: 1.0.3 +Version: 1.0.4 Release: 0 Group: Qt/Qt License: LICENSE diff --git a/rpm/harbour-tooter.yaml b/rpm/harbour-tooter.yaml index edf95f4..e0531cf 100644 --- a/rpm/harbour-tooter.yaml +++ b/rpm/harbour-tooter.yaml @@ -1,6 +1,6 @@ Name: harbour-tooter Summary: Tooter -Version: 1.0.3 +Version: 1.0.4 Release: 0 # The contents of the Group field should be one of the groups listed here: # https://github.com/mer-tools/spectacle/blob/master/data/GROUPS diff --git a/translations/harbour-tooter-de.ts b/translations/harbour-tooter-de.ts index 51c1f01..ce57760 100644 --- a/translations/harbour-tooter-de.ts +++ b/translations/harbour-tooter-de.ts @@ -96,7 +96,7 @@ LoginPage Login - + Login Instance @@ -104,11 +104,11 @@ Enter an Mastodon instance URL - + Gib eine Mastadon Instance URL ein 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. - + Mastodon ist ein freies, auf OpenSource begründetes Soziales Netzwerk. Es bietet eine dezentralisierte Alternative zu den kommerziellen Plattformen, vermeidet aber das Risiko, dass ein einzelnes Unternehmen das Monopol auf deine gesamte Kommunikation erhält. Wähle selbst einen Server (Instanz) der du vertraust - egal welche du wählst, du kannst mit allen kommunizieren. Oder du betreibst deine eigene Mastodon Instanz und verbindest dich nahtlos mit dem Mastodon Netzwerk. Reload @@ -235,47 +235,47 @@ Settings Settings - Einstellungen + Einstellungen Remove Account - + Account löschen Add Account - + Account hinzufügen Deauthorize this app and remove your account - + Der App Autorisierung entziehen und Account entfernen Authorize this app to use your Mastodon account in your behalf - + Autorisiere diese App deinen Mastodon Account in deinem Namen zu nutzen Load images in toots - + Lade Bilder in den Toots Disable this option if you want to preserve your data connection - + Deaktiviere diese Option um deinen Datenverbindung zu schonen Translate - + Übersetzen Use Transifex to help with app translation to your language - + Nutze Transifex um bei der Übersetzung in deine Sprache zu helfen Credits - + Credits UI/UX design and development - + UI/UX Design und Implementierung diff --git a/translations/harbour-tooter-el.ts b/translations/harbour-tooter-el.ts index 9be4361..cfb00c7 100644 --- a/translations/harbour-tooter-el.ts +++ b/translations/harbour-tooter-el.ts @@ -96,7 +96,7 @@ LoginPage Login - + Σύνδεση Instance @@ -235,47 +235,47 @@ Settings Settings - Ρυθμίσεις + Ρυθμίσεις Remove Account - + Αφαίρεση λογαριασμού Add Account - + Προσθήκη λογαριασμού Deauthorize this app and remove your account - + Άρση της αδειοδότησης της εφαρμογής και αφαίρεση του λογαριασμού σας Authorize this app to use your Mastodon account in your behalf - + Να επιτρέπεται στην εφαρμογή να χρησιμοποιεί τον λογαριασμό σας στο Mastodon εκ μέρους σας Load images in toots - + Φόρτωση των εικόνων στα toot Disable this option if you want to preserve your data connection - + Απενεργοποιήστε αυτήν την επιλογή αν θέλετε να διατηρήσετε την σύνδεση των δεδομένων σας Translate - + Μετάφραση Use Transifex to help with app translation to your language - + Χρησιμοποιήστε το Transifex για να βοηθήσετε την μετάφραση της εφαρμογής στην γλώσσα σας Credits - + Ευχαριστίες UI/UX design and development - + UI/UX σχεδιασμός και ανάπτυξη diff --git a/translations/harbour-tooter-es.ts b/translations/harbour-tooter-es.ts index 8bbcec9..acbe287 100644 --- a/translations/harbour-tooter-es.ts +++ b/translations/harbour-tooter-es.ts @@ -96,23 +96,23 @@ LoginPage Login - + Acceso Instance - + Instancia Enter an Mastodon instance URL - + Introduce URL de una instancia de Mastodon 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. - + Mastodon es una red social gratuita y de código abierto. Una alternativa descentralizada a las plataformas comerciales, evita los riesgos de una única compañía que monopolice tu comunicación. Elije un servidor en el que confíes — cualquiera que elijas, puede interactuar con todos los demás. Cualquiera puede ejecutar su propia instancia de Mastodon y participar en la red social sin problemas. Reload - + Volver a cargar @@ -235,47 +235,47 @@ Settings Settings - Ajustes + Ajustes Remove Account - + Eliminar cuenta Add Account - + Añadir cuenta Deauthorize this app and remove your account - + Retira la autorización a esta aplicación y elimina tu cuenta Authorize this app to use your Mastodon account in your behalf - + Autoriza a esta aplicación a usar tu cuenta de Mastodon en tu nombre Load images in toots - + Cargar imágenes en toots Disable this option if you want to preserve your data connection - + Deshabilita esta opción si quieres ahorrar en tu conexión de datos Translate - + Traducir Use Transifex to help with app translation to your language - + Usa Transifex para ayudar en la traducción a tu idioma de esta aplicación Credits - + Créditos UI/UX design and development - + Diseño UI/UX y desarrollo diff --git a/translations/harbour-tooter-fr.ts b/translations/harbour-tooter-fr.ts index dc04704..3c7ddec 100644 --- a/translations/harbour-tooter-fr.ts +++ b/translations/harbour-tooter-fr.ts @@ -96,23 +96,23 @@ LoginPage Login - + Login Instance - + Instance Enter an Mastodon instance URL - + Saisissez l’URL d’une instance Mastodon 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. - + Mastodon est un réseau libre et open source. Il s’agit d'une alternative aux plateformes commerciales, pour éviter qu'une seule entreprise monopolise vos communications. Choisissez un serveur dans lequel vous avez confiance - quelque que soit votre choix vous pourrez interagir avec d’autres personnes. Tout le monde peut monter sa propre instance Mastodon et participer rendre le réseau plus robuste. Reload - + Recharger @@ -235,47 +235,47 @@ Settings Settings - Paramètres + Préférences Remove Account - + Supprimer le compte Add Account - + Ajouter un compte Deauthorize this app and remove your account - + Supprimer votre compte de l'application Authorize this app to use your Mastodon account in your behalf - + Autoriser cette application à utiliser votre compte Mastodon en votre nom Load images in toots - + Charger les images des pouets Disable this option if you want to preserve your data connection - + Désactivez cette option si vous souhaitez économiser votre consommation de données Translate - + Traduire Use Transifex to help with app translation to your language - + Utilisez Transifex pour aider à la traduction de l'application dans votre langue Credits - + Crédits UI/UX design and development - + design et développement de l'interface diff --git a/translations/harbour-tooter-nl.ts b/translations/harbour-tooter-nl.ts index 115d648..2779c3c 100644 --- a/translations/harbour-tooter-nl.ts +++ b/translations/harbour-tooter-nl.ts @@ -96,23 +96,23 @@ LoginPage Login - + Inloggen Instance - + Instantie Enter an Mastodon instance URL - + Voer de URL van een Mastodon-instantie in 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. - + Mastodon is een vrij sociaal netwerk. Als gedecentraliseerd alternatief voor commerciële platformen, vermijdt het de risico’s van een enkel bedrijf dat je communicatie monopoliseert. Kies een server die je vertrouwt — welke je ook kiest, je kunt met iedereen communiceren. Iedereen kan zelf een Mastodon-instantie hebben en naadloos deelnemen aan het sociale netwerk. Reload - + Herladen @@ -235,47 +235,47 @@ Settings Settings - Instellingen + Instellingen Remove Account - + Verwijderen account Add Account - + Toevoegen account Deauthorize this app and remove your account - + Trek autorisaties van deze app in en verwijder je account Authorize this app to use your Mastodon account in your behalf - + Autoriseer deze app om je Mastodon namens jou te gebruiken Load images in toots - + Laden afbeeldingen in toots Disable this option if you want to preserve your data connection - + Schakel deze optie uit als je je dataverbinding wilt behouden Translate - + Vertalen Use Transifex to help with app translation to your language - + Gebruik Transifex om deze app te helpen vertalen in jouw taal Credits - + Credits UI/UX design and development - + UI/UX ontwerp en ontwikkeling diff --git a/translations/harbour-tooter-nl_BE.ts b/translations/harbour-tooter-nl_BE.ts index 385fa6c..4772b6d 100644 --- a/translations/harbour-tooter-nl_BE.ts +++ b/translations/harbour-tooter-nl_BE.ts @@ -96,23 +96,23 @@ LoginPage Login - + Inloggen Instance - + Instantie Enter an Mastodon instance URL - + Voert den URL van een Mastodon-instantie in 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. - + Mastodon is e vrij sociaal netwerk. Als gedecentraliseerd alternatief voor commerciële platformen, vermijdt het de risico’s van één enkel bedrijf dat uw communicatie monopoliseert. Kiest ne server die ge vertrouwt — dewelken dat ge ook kiest, ge kunt met iedereen communiceren. Iedereen kan zelf een Mastodon-instantie hebben en naadloos deelnemen aan het sociaal netwerk. Reload - + Herladen @@ -235,47 +235,47 @@ Settings Settings - Instellingen + Instellingen Remove Account - + Account verwijderen Add Account - + Account toevoegen Deauthorize this app and remove your account - + Trekt autorisaties van dezen app in en verwijdert uwen account Authorize this app to use your Mastodon account in your behalf - + Autoriseert dezen app voor uwe Mastodon-account namens u te gebruiken Load images in toots - + Afbeeldingen in toots laden Disable this option if you want to preserve your data connection - + Schakelt dees optie uit als ge uw verbinding wilt behouden Translate - + Vertalen Use Transifex to help with app translation to your language - + Gebruikt Transifex voor te helpen met dezen app in uw taal te vertalen Credits - + Credits UI/UX design and development - + UI/UX-ontwerp en -ontwikkeling diff --git a/translations/harbour-tooter-oc.ts b/translations/harbour-tooter-oc.ts index 0f43a2a..9e310a2 100644 --- a/translations/harbour-tooter-oc.ts +++ b/translations/harbour-tooter-oc.ts @@ -96,7 +96,7 @@ LoginPage Login - + Connexion Instance @@ -104,11 +104,11 @@ Enter an Mastodon instance URL - + Picatz l’URL d’una instància Mastodon 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. - + Mastodon es un malhum liure e open source. Es una alternativa descentralizada a las plataformas comercialas, per empachar qu'una sola entrepresa monopolize vòstras comunicacions. Causissètz un servidor que vos fisatz - qualque siá vòstre causida poiretz interagir amb los autres. Tot lo monde pòt montar sa pròpria instància Mastodon e atal participar a construire un malhum mai solid. Reload @@ -235,47 +235,47 @@ Settings Settings - Parmètres + Paramètres Remove Account - + Levar un compte Add Account - + Ajustar un compte Deauthorize this app and remove your account - + Revocar l’aplicacion e levar vòstre compte Authorize this app to use your Mastodon account in your behalf - + Autorizar aquesta aplicacion a utilizar vòstre compte Mastodon per vos Load images in toots - + Cargar los imatges dels tuts Disable this option if you want to preserve your data connection - + Desactivar aquesta opcion per estalviar vòstra connexion de donadas Translate - + Traduire Use Transifex to help with app translation to your language - + Utilizar Transifex per ajudar a traduire l’aplicacion dins vòstra lenga Credits - + Crèdits UI/UX design and development - + UI/UX design e desvlopament diff --git a/translations/harbour-tooter-pl.ts b/translations/harbour-tooter-pl.ts index 60c7451..b2f84d9 100644 --- a/translations/harbour-tooter-pl.ts +++ b/translations/harbour-tooter-pl.ts @@ -1,95 +1,95 @@ - + API favourited - dodał(a) do ulubionych + followed you - zaczął(-ęła) Cię śledzić + boosted - podbił(a) + said - napisał(a) + Browser Open in Browser - Otwórz w przeglądarce + Web mode - Tryb sieci + Reading mode - Tryb czytania + Copy URL - Kopiuj URL + Conversation Conversation - Konwersacja + Content warning! - Ostrzeżenie o zawartości! + public - publiczny + unlisted - niewidoczny + followers only - tylko dla śledzących + direct - bezpośredni + Delete - Usuń + Emojis - Emoji + Tap to insert - Dotknij aby wstawić + ImageFullScreen Error loading - Błąd ładowania + ImageUploader The file %1 does not exists - Plik %1 nie istnieje + @@ -119,123 +119,123 @@ MainPage Home - Strona główna + Notifications - Powiadomienia + New Toot - Nowy wpis + Search - Szukaj + @user or #term - @użytkownik lub #tag + Local - Lokalne + Federated - Globalne + MiniStatus boosted - podbił(a) + favourited - dodał(a) do ulubionych + followed you - zaczął(-ęła) Cię śledzić + MyList Load more - Załaduj więcej + Settings - Ustawienia + Loading - Ładowanie + please wait... - proszę czekać… + Profile Unfollow - Przestań śledzić + Follow request sent! - Wysłano prośbę o możliwość śledzenia! + Following - Śledzisz + Mute - Wycisz + Unmute - Unmute + Unblock - Unblock + Block - Block + Statuses - Statuses + Favourites - Favourites + Follow - Follow + Summary - Summary + Followers - Followers + Settings Settings - Ustawienia + Remove Account @@ -282,34 +282,34 @@ Toot boosted - podbił(a) + favourited - dodał(a) do ulubionych + followed you - zaczął(-ęła Cię śledzić) + VisualContainer Unboost - Cofnij podbicie + Boost - Podbij + Unfavorite - Usuń z ulubionych + Favorite - Dodaj do ulubionych + diff --git a/translations/harbour-tooter-ru.ts b/translations/harbour-tooter-ru.ts index ee37bee..a49da69 100644 --- a/translations/harbour-tooter-ru.ts +++ b/translations/harbour-tooter-ru.ts @@ -96,7 +96,7 @@ LoginPage Login - + Авторизоваться Instance @@ -104,11 +104,11 @@ Enter an Mastodon instance URL - + Введите URL-адрес экземпляра Mastodon 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. - + Mastodon - бесплатная социальная сеть с открытым исходным кодом. Децентрализованная альтернатива коммерческим платформам позволяет избежать рисков, связанных с тем, что одна компания монополизирует ваше общение. Выберите сервер, которому вы доверяете - в зависимости от того, что вы выберете, вы можете взаимодействовать со всеми остальными. Любой может запустить свой собственный экземпляр Mastodon и беспрепятственно участвовать в социальной сети. Reload @@ -235,47 +235,47 @@ Settings Settings - Настройки + Настройки Remove Account - + Удалить учетную запись Add Account - + Добавить аккаунт Deauthorize this app and remove your account - + удалить учетную запись с устройства Authorize this app to use your Mastodon account in your behalf - + Уполномочить это приложение использовать свою учетную запись Mastodon от вашего имени Load images in toots - + Загружать изображения Disable this option if you want to preserve your data connection - + Отключите эту опцию, если вы хотите сохранить подключение к данным Translate - + Переведите Use Transifex to help with app translation to your language - + Используйте Transifex, чтобы помочь с переводом приложения на ваш язык Credits - + Зачет UI/UX design and development - + Дизайн и разработка UI / UX diff --git a/translations/harbour-tooter-sr.ts b/translations/harbour-tooter-sr.ts index 48ef2cb..694c51b 100644 --- a/translations/harbour-tooter-sr.ts +++ b/translations/harbour-tooter-sr.ts @@ -96,23 +96,23 @@ LoginPage Login - + Пријава Instance - + Инстанца Enter an Mastodon instance URL - + Унесите URL ваше Мастодон инстанце 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. - + Mastodon је бесплатна, open-source друштвена мрежа. Децентрализована алтернатива комерцијалним платформама која избегава ризике једне компаније која монополизује вашу комуникацију. Одаберите сервер у који имате поверења и без обзира на ваш избор - комуницирајте с осталим корисницима других мрежа. Свако може водити сопствену инстанцу Mastodon мреже и учестовати у комуникацији с другим инстанцама. Reload - + освежи @@ -235,47 +235,47 @@ Settings Settings - Подешавања + Подешавања Remove Account - + Уклони налог Add Account - + Додај налог Deauthorize this app and remove your account - + Укините дозволе за кориштење и уклоните налог с телефона Authorize this app to use your Mastodon account in your behalf - + Дозволите овој апликацији да користи ваш Mastodon налог Load images in toots - + Прикажи слике у објавама Disable this option if you want to preserve your data connection - + Искључите ову опцију уколико желите да уштедите на преносу података Translate - + Преведи Use Transifex to help with app translation to your language - + Користите Transifex и помозите у преводу апликације на други језик Credits - + Спомен плоча UI/UX design and development - + интерфејс дизајн и развој diff --git a/translations/harbour-tooter-sv.ts b/translations/harbour-tooter-sv.ts index 16be25c..35bc745 100644 --- a/translations/harbour-tooter-sv.ts +++ b/translations/harbour-tooter-sv.ts @@ -96,7 +96,7 @@ LoginPage Login - + Logga in Instance @@ -104,11 +104,11 @@ Enter an Mastodon instance URL - + Fyll i URL till Mastodoninstans 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. - + Mastodon är ett fritt och öppet socialt nätverk byggt på öppen källkod. Ett decentraliserat alternativ till kommersiella plattformar, vilket undviker att ett ensamt företag monopoliserar din kommunikation. Välj en server du litar på --- beroende på vilken du väljer, kan du interagera med alla andra. Vem som helst kan köra deras egen Mastodoninstans och delta i nätverket. Även du! Reload @@ -235,47 +235,47 @@ Settings Settings - Inställningar + Inställningar Remove Account - + Radera konto Add Account - + Lägg till konto Deauthorize this app and remove your account - + Avauktorisera denna app och radera ditt konto Authorize this app to use your Mastodon account in your behalf - + Godkänn denna app att använda ditt Mastodon-konto på dina vägnar Load images in toots - + Ladda bilder i toots Disable this option if you want to preserve your data connection - + Inaktivera det här alternativet om du vill behålla din dataanslutning Translate - + Översätt Use Transifex to help with app translation to your language - + Använd Transifex för att hjälpa med app-översättningar till ditt språk Credits - + Erkännanden UI/UX design and development - + UI/UX design och utveckling diff --git a/translations/harbour-tooter-zh.ts b/translations/harbour-tooter-zh.ts index f9bedda..62ac87d 100644 --- a/translations/harbour-tooter-zh.ts +++ b/translations/harbour-tooter-zh.ts @@ -96,7 +96,7 @@ LoginPage Login - + 登录 Instance @@ -104,11 +104,11 @@ Enter an Mastodon instance URL - + 输入一个Mastodon链接实例 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. - + Mastodon 是一个免费且开源的社交网络。一个去中心化的商业平台的替代品,帮助你避免某个公司垄断你的通讯方式的风险。选取一个你信任的服务器,无论你选择什么,你都可以和其它任何人互动。任何人都能运行他们的Mastodon 实例并且无缝加入此社交网络。 Reload @@ -235,47 +235,47 @@ Settings Settings - 设置 + 设置 Remove Account - + 删除账户 Add Account - + 添加账户 Deauthorize this app and remove your account - + 取消授权此应用并且移除你的账户 Authorize this app to use your Mastodon account in your behalf - + 授权应用使用你信任的Mastodon账户 Load images in toots - + 加载嘟嘟的图片 Disable this option if you want to preserve your data connection - + 如果想要保护你的数据连接,取消此操作 Translate - + 翻译 Use Transifex to help with app translation to your language - + 使用Transifex 以帮助翻译成你使用的语言 Credits - + 信用 UI/UX design and development - + UI/UX 设计和开发 From 45ba33825903f1e285888d2856867270ce7b9678 Mon Sep 17 00:00:00 2001 From: Dusko Angirevic Date: Thu, 16 Apr 2020 00:37:11 +0200 Subject: [PATCH 010/110] 1.0.4-1 Merge Co-Authored-By: molan-git --- harbour-tooter.pro | 2 +- qml/images/emojiselect.svg | 14 + qml/images/federated.svg | 19 - qml/images/home.svg | 37 - qml/images/local.svg | 39 - qml/images/public.svg | 15 - qml/images/search.svg | 39 - qml/lib/Worker.js | 15 +- qml/pages/Browser.qml | 284 ----- qml/pages/Conversation.qml | 1126 +++++++++-------- qml/pages/MainPage.qml | 27 +- qml/pages/Profile.qml | 78 +- qml/pages/Settings.qml | 20 +- qml/pages/components/ItemUser.qml | 4 +- qml/pages/components/Navigation.qml | 21 +- qml/pages/components/ProfileHeader.qml | 6 +- qml/pages/components/Toot.qml | 6 +- qml/pages/components/VisualContainer.qml | 13 +- rpm/harbour-tooter.changes | 39 +- rpm/harbour-tooter.spec | 2 +- rpm/harbour-tooter.yaml | 2 +- translations/harbour-tooter-de.ts | 95 +- translations/harbour-tooter-el.ts | 95 +- translations/harbour-tooter-es.ts | 95 +- translations/harbour-tooter-fi.ts | 95 +- translations/harbour-tooter-fr.ts | 95 +- translations/harbour-tooter-nl.ts | 95 +- translations/harbour-tooter-nl_BE.ts | 95 +- translations/harbour-tooter-oc.ts | 95 +- translations/harbour-tooter-pl.ts | 95 +- translations/harbour-tooter-ru.ts | 95 +- translations/harbour-tooter-sr.ts | 95 +- translations/harbour-tooter-sv.ts | 95 +- ...r-tooter-zh.ts => harbour-tooter-zh_CN.ts} | 173 +-- translations/harbour-tooter.ts | 95 +- 35 files changed, 1590 insertions(+), 1626 deletions(-) create mode 100644 qml/images/emojiselect.svg delete mode 100644 qml/images/federated.svg delete mode 100644 qml/images/home.svg delete mode 100644 qml/images/local.svg delete mode 100644 qml/images/public.svg delete mode 100644 qml/images/search.svg delete mode 100644 qml/pages/Browser.qml rename translations/{harbour-tooter-zh.ts => harbour-tooter-zh_CN.ts} (69%) diff --git a/harbour-tooter.pro b/harbour-tooter.pro index eb7ed40..8b1cb5f 100644 --- a/harbour-tooter.pro +++ b/harbour-tooter.pro @@ -114,4 +114,4 @@ TRANSLATIONS += translations/harbour-tooter-pl.ts TRANSLATIONS += translations/harbour-tooter-ru.ts TRANSLATIONS += translations/harbour-tooter-sr.ts TRANSLATIONS += translations/harbour-tooter-sv.ts -TRANSLATIONS += translations/harbour-tooter-zh.ts +TRANSLATIONS += translations/harbour-tooter-zh_CN.ts diff --git a/qml/images/emojiselect.svg b/qml/images/emojiselect.svg new file mode 100644 index 0000000..ffef849 --- /dev/null +++ b/qml/images/emojiselect.svg @@ -0,0 +1,14 @@ + + Artboard 1 + + + + + + + + + + + + diff --git a/qml/images/federated.svg b/qml/images/federated.svg deleted file mode 100644 index 5511f58..0000000 --- a/qml/images/federated.svg +++ /dev/null @@ -1,19 +0,0 @@ - - - - - - - - - - - - - - - - diff --git a/qml/images/home.svg b/qml/images/home.svg deleted file mode 100644 index be54abc..0000000 --- a/qml/images/home.svg +++ /dev/null @@ -1,37 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/qml/images/local.svg b/qml/images/local.svg deleted file mode 100644 index 1ae1e7f..0000000 --- a/qml/images/local.svg +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/qml/images/public.svg b/qml/images/public.svg deleted file mode 100644 index bb92391..0000000 --- a/qml/images/public.svg +++ /dev/null @@ -1,15 +0,0 @@ - - - - - - - - - - - diff --git a/qml/images/search.svg b/qml/images/search.svg deleted file mode 100644 index 53514ed..0000000 --- a/qml/images/search.svg +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/qml/lib/Worker.js b/qml/lib/Worker.js index ff34e44..bbd6a6b 100644 --- a/qml/lib/Worker.js +++ b/qml/lib/Worker.js @@ -60,6 +60,7 @@ WorkerScript.onMessage = function(msg) { } else if(msg.action === "notifications") { // notification //console.log("Is notification... parsing...") + console.log(JSON.stringify(data[i])) item = parseNotification(data[i]); items.push(item) @@ -81,7 +82,7 @@ WorkerScript.onMessage = function(msg) { console.log("descendants") for (var j = 0; j < data[i].length; j ++) { item = parseToot(data[i][j]); - item['id'] = item['status_id'] + item['id'] = item['status_id']; if (typeof item['attachments'] === "undefined") item['attachments'] = []; items.push(item) @@ -148,12 +149,20 @@ function parseNotification(data){ }; switch (item['type']){ case "mention": + if (!data.status) { + break; + } + item = parseToot(data.status) item['typeIcon'] = "image://theme/icon-s-retweet" item['typeIcon'] = "image://theme/icon-s-alarm" item['type'] = "mention"; break; case "reblog": + if (!data.status) { + break; + } + item = parseToot(data.status) item = parseAccounts(item, "reblog_", data["account"]) item = parseAccounts(item, "", data["status"]["account"]) @@ -162,6 +171,10 @@ function parseNotification(data){ item['typeIcon'] = "image://theme/icon-s-retweet" break; case "favourite": + if (!data.status) { + break; + } + item = parseToot(data.status) item = parseAccounts(item, "reblog_", data["account"]) item = parseAccounts(item, "", data["status"]["account"]) diff --git a/qml/pages/Browser.qml b/qml/pages/Browser.qml deleted file mode 100644 index 4143575..0000000 --- a/qml/pages/Browser.qml +++ /dev/null @@ -1,284 +0,0 @@ -/**************************************************************************************** -** -** Copyright (C) 2013 Jolla Ltd. -** Contact: Raine Makelainen -** All rights reserved. -** -** This file is part of Sailfish Silica UI component package. -** -** You may use this file under the terms of BSD license as follows: -** -** Redistribution and use in source and binary forms, with or without -** modification, are permitted provided that the following conditions are met: -** * Redistributions of source code must retain the above copyright -** notice, this list of conditions and the following disclaimer. -** * Redistributions in binary form must reproduce the above copyright -** notice, this list of conditions and the following disclaimer in the -** documentation and/or other materials provided with the distribution. -** * Neither the name of the Jolla Ltd nor the -** names of its contributors may be used to endorse or promote products -** derived from this software without specific prior written permission. -** -** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -** ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -** WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -** DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR -** ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -** (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -** LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND -** ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -** SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -** -****************************************************************************************/ - -import QtQuick 2.0 -import QtWebKit 3.0 -import Sailfish.Silica 1.0 - -Page { - id: browser - property string href; - property bool screenReaderMode: true - property bool loaded: false - property string articleContent: "" - property string articleTitle: "" - property string articleDate: "" - property string articleImage: "" - onLoadedChanged: { - pullDownMenu.busy = pullDownMenu2.busy = !loaded - } - onStatusChanged: { - if (status === PageStatus.Active) { - fetchData(); - } - - } - onScreenReaderModeChanged: { - loaded = false; - fetchData(); - } - - allowedOrientations: Orientation.All - function fetchData(){ - var xhr = new XMLHttpRequest(); - xhr.open("GET", "https://mercury.postlight.com/parser?url="+href, true); - xhr.onreadystatechange = function() { - if ( xhr.readyState === xhr.DONE ) { - if ( xhr.status === 200 ) { - console.log(xhr.responseText) - var response = JSON.parse(xhr.responseText); - //if (response.date_published) - //articleDate = new Date(response.date_published.replace(/^(\w+) (\w+) (\d+) ([\d:]+) \+0000 (\d+)$/,"$1, $2 $3 $5 $4 GMT")); - if (response.title) - articleTitle = response.title; - if (response.lead_image_url) - articleImage = response.lead_image_url - if (response.content) - articleContent = response.content; - if (response.content && response.lead_image_url) - articleContent = articleContent.replace(articleImage, "") - } else { - - } - loaded = true; - } - } - xhr.setRequestHeader("Content-Type", 'application/json'); - xhr.setRequestHeader("x-api-key", 'uakC11NlSubREs1r5NjkOCS1NJEkwti6DnDutcYC'); - - if (screenReaderMode) - xhr.send(); - else - webView.url = 'https://mercury.postlight.com/amp?url='+href - } - - - - BusyIndicator { - id: loading - size: BusyIndicatorSize.Large - anchors.centerIn: parent - running: !loaded - } - - SilicaWebView { - enabled: !screenReaderMode - visible: !screenReaderMode - id: webView - anchors { - fill: parent - } - - PullDownMenu { - id: pullDownMenu - MenuItem { - text: qsTr("Open in Browser") - onClicked: { - Qt.openUrlExternally(href); - } - } - MenuItem { - text: screenReaderMode ? qsTr("Web mode") : qsTr("Reading mode") - onClicked: { - screenReaderMode = !screenReaderMode - } - } - } - - opacity: 0 - onLoadingChanged: { - switch (loadRequest.status) - { - case WebView.LoadSucceededStatus: - opacity = 1 - loaded = true; - break - case WebView.LoadFailedStatus: - opacity = 0 - loaded = true; - viewPlaceHolder.errorString = loadRequest.errorString - break - default: - opacity = 0 - loaded = false; - break - } - } - FadeAnimation on opacity {} - } - ViewPlaceholder { - id: viewPlaceHolder - property string errorString - enabled: webView.opacity === 0 && loaded && !screenReaderMode - text: errorString - hintText: "Check network connectivity and pull down to reload" - } - - - - SilicaFlickable { - visible: screenReaderMode - enabled: screenReaderMode - anchors { - fill: parent - } - contentHeight: article.height - VerticalScrollDecorator {} - PullDownMenu { - id: pullDownMenu2 - MenuItem { - text: qsTr("Copy URL") - onClicked: Clipboard.text = href - } - MenuItem { - text: qsTr("Open in Browser") - onClicked: Qt.openUrlExternally(href); - } - MenuItem { - text: screenReaderMode ? qsTr("Web mode") : qsTr("Reading mode") - onClicked: { - screenReaderMode = !screenReaderMode - } - } - } - Column { - - id: article - width: parent.width - - Rectangle { - height: Theme.itemSizeExtraSmall/3 - width: parent.width - opacity: 0 - } - - Label { - id: title - text: articleTitle - font.pixelSize: Theme.fontSizeLarge - color: Theme.highlightColor - textFormat: Text.StyledText - wrapMode: Text.WordWrap - font.bold: true - anchors { - left: parent.left - right: parent.right - leftMargin: Theme.paddingLarge - rightMargin: Theme.paddingLarge - } - } - Label { - id: date - visible: articleDate !== "" - text: articleDate - font.pixelSize: Theme.fontSizeExtraSmall - color: Theme.secondaryColor - anchors { - left: parent.left - right: parent.right - topMargin: Theme.paddingSmall - bottomMargin: Theme.paddingSmall - leftMargin: Theme.paddingLarge - rightMargin: Theme.paddingLarge - } - } - Rectangle { - height: image.visible ? Theme.itemSizeExtraSmall/3 : 0 - width: parent.width - opacity: 0 - } - Image { - id: image - visible: articleImage !== "" ? true : false - source: articleImage - width: parent.width - height: Theme.itemSizeExtraLarge - fillMode: Image.PreserveAspectCrop - anchors { - left: parent.left - right: parent.right - } - BusyIndicator { - size: BusyIndicatorSize.Small - anchors.centerIn: parent - running: parent.status != Image.Ready - } - - onStatusChanged: if (image.status === Image.Ready) { - var ratio = image.sourceSize.width/image.sourceSize.height - height = width / ratio - } - } - Rectangle { - height: image.visible ? Theme.itemSizeExtraSmall/3 : 0 - width: parent.width - opacity: 0 - } - Label { - id: content - readonly property string _linkStyle: "" - textFormat: Text.RichText - text: _linkStyle + articleContent; - font.pixelSize: Theme.fontSizeSmall - color: Theme.secondaryColor - wrapMode: Text.WordWrap - anchors { - left: parent.left - right: parent.right - topMargin: image.visible ? Theme.paddingSmall : Theme.paddingLarge - leftMargin: Theme.paddingLarge - rightMargin: Theme.paddingLarge - bottomMargin: Theme.paddingLarge - } - - } - Rectangle { - height: Theme.itemSizeExtraSmall/3 - width: parent.width - opacity: 0 - } - - } - } -} diff --git a/qml/pages/Conversation.qml b/qml/pages/Conversation.qml index fbfc551..fce4817 100644 --- a/qml/pages/Conversation.qml +++ b/qml/pages/Conversation.qml @@ -5,587 +5,621 @@ import "../lib/API.js" as Logic import "./components/" Page { - id: conversationPage - property string type; - property alias title: header.title - property alias description: header.description - property alias avatar: header.image - property string suggestedUser: "" - property ListModel suggestedModel; - property string toot_id: "" + id: conversationPage + property string type + property alias title: header.title + property alias description: header.description + property alias avatar: header.image + property string suggestedUser: "" + property ListModel suggestedModel + property string toot_id: "" property int tootMaxChar: 500; - property ListModel mdl; - allowedOrientations: Orientation.All - onSuggestedUserChanged: { - console.log(suggestedUser) - suggestedModel = Qt.createQmlObject('import QtQuick 2.0; ListModel { }', Qt.application, 'InternalQmlObject'); - predictionList.visible = false; - if (suggestedUser.length > 0) { - var msg = { - 'action' : 'accounts/search', - 'method' : 'GET', - 'model' : suggestedModel, - 'mode' : "append", - 'params' : [ {name: "q", data: suggestedUser} ], + property ListModel mdl + allowedOrientations: Orientation.All + onSuggestedUserChanged: { + console.log(suggestedUser) + suggestedModel = Qt.createQmlObject( + 'import QtQuick 2.0; ListModel { }', + Qt.application, 'InternalQmlObject' + ) + predictionList.visible = false + if (suggestedUser.length > 0) { + var msg = { + "action": 'accounts/search', + "method": 'GET', + "model": suggestedModel, + "mode": "append", + "params": [{ + "name": "q", + "data": suggestedUser + }], + "conf": Logic.conf + } + worker.sendMessage(msg) + predictionList.visible = true + } + } - 'conf' : Logic.conf - }; - worker.sendMessage(msg); - predictionList.visible = true; - } - } + ListModel { + id: mediaModel + onCountChanged: { + btnAddImage.enabled = mediaModel.count < 4 + } + } - ListModel { - id: mediaModel - onCountChanged: { - btnAddImage.enabled = mediaModel.count < 4 - } - } + WorkerScript { + id: worker + source: "../lib/Worker.js" + onMessage: { + console.log(JSON.stringify(messageObject)) + } + } - WorkerScript { - id: worker - source: "../lib/Worker.js" - onMessage: { - console.log(JSON.stringify(messageObject)) - } - } + ProfileHeader { + id: header + visible: false + } + SilicaListView { + id: conversationList + header: PageHeader { + title: qsTr("Conversation") + } + clip: true + anchors { + top: parent.top + bottom: panel.top + left: parent.left + right: parent.right + } + model: mdl + section { + property: 'section' + delegate: SectionHeader { + height: Theme.itemSizeExtraSmall + text: Format.formatDate(section, Formatter.DateMedium) + } + } + delegate: VisualContainer { + } + onCountChanged: { + if (mdl) + for (var i = 0; i < mdl.count; i++) { + if (mdl.get(i).status_id === toot_id) { + console.log(mdl.get(i).status_id) + positionViewAtIndex(i, ListView.Center) + } + } + } + } + Rectangle { + id: predictionList + visible: false + anchors.bottom: panel.top + anchors.left: parent.left + anchors.right: panel.right + height: suggestedModel.count > 6 ? Theme.itemSizeMedium * 6 : Theme.itemSizeMedium * suggestedModel.count + color: Theme.highlightDimmerColor - ProfileHeader { - id: header - visible: false - } - SilicaListView { - id: conversationList - header: PageHeader { - title: qsTr("Conversation") - } - clip: true; - anchors { - top: parent.top - bottom: panel.top - left: parent.left - right: parent.right - } - model: mdl - section { - property: 'section' - delegate: SectionHeader { - height: Theme.itemSizeExtraSmall - text: Format.formatDate(section, Formatter.DateMedium) - } - } - delegate: VisualContainer {} - onCountChanged: { - if (mdl) - for (var i = 0; i < mdl.count; i++){ - if (mdl.get(i).status_id === toot_id) { - console.log(mdl.get(i).status_id) - positionViewAtIndex(i, ListView.Center ) - } - } - } + SilicaListView { + anchors.fill: parent + model: suggestedModel + clip: true - } - Rectangle { - id: predictionList - visible: false; - anchors.bottom: panel.top - anchors.left: parent.left - anchors.right: panel.right - height: suggestedModel.count > 6 ? Theme.itemSizeMedium * 6 : Theme.itemSizeMedium * suggestedModel.count - color: Theme.highlightDimmerColor + delegate: ItemUser { + onClicked: { + var start = toot.cursorPosition + while (toot.text[start] !== "@" && start > 0) { + start-- + } + textOperations.text = toot.text + textOperations.cursorPosition = toot.cursorPosition + textOperations.moveCursorSelection(start - 1, TextInput.SelectWords) + toot.text = textOperations.text.substring(0, textOperations.selectionStart) + + ' @' + + model.account_acct + + ' ' + + textOperations.text.substring(textOperations.selectionEnd).trim() - SilicaListView { - anchors.fill: parent - model: suggestedModel - clip: true + toot.cursorPosition = toot.text.indexOf('@' + model.account_acct) + } + } + onCountChanged: { + positionViewAtIndex(suggestedModel.count - 1, ListView.End) + } + } + } - delegate: ItemUser { - onClicked: { - var start = toot.cursorPosition; - while(toot.text[start] !== "@" && start > 0){ - start--; - } - textOperations.text = toot.text - textOperations.cursorPosition = toot.cursorPosition - textOperations.moveCursorSelection(start-1,TextInput.SelectWords) - toot.text = textOperations.text.substring(0, textOperations.selectionStart) + ' @'+model.account_acct + ' ' + textOperations.text.substring(textOperations.selectionEnd).trim() + DockedPanel { + id: panel + open: true + onExpandedChanged: { + if (!expanded) { + show() + } + } - toot.cursorPosition = toot.text.indexOf('@'+model.account_acct) - } - } - onCountChanged: { - positionViewAtIndex(suggestedModel.count-1, ListView.End ) - } - } - } + width: parent.width + height: progressBar.height + toot.height + (mediaModel.count ? uploadedImages.height : 0) + + btnContentWarning.height + Theme.paddingMedium + + (warningContent.visible ? warningContent.height : 0) + dock: Dock.Bottom + Rectangle { + width: parent.width + height: progressBar.height + color: Theme.highlightBackgroundColor + opacity: 0.2 + anchors { + left: parent.left + right: parent.right + top: parent.top + } + } + Rectangle { + id: progressBar + width: toot.text.length ? panel.width * (toot.text.length / tootMaxChar) : 0 - DockedPanel { - id: panel - open: true - onExpandedChanged: { - if (!expanded) { - show() - } - } + height: Theme.itemSizeSmall * 0.05 + color: Theme.highlightBackgroundColor + opacity: 0.7 + anchors { + left: parent.left + top: parent.top + } + } - width: parent.width - height: progressBar.height + toot.height + (mediaModel.count ? uploadedImages.height : 0) + btnContentWarning.height + Theme.paddingMedium + (warningContent.visible ? warningContent.height : 0) - dock: Dock.Bottom - Rectangle { - width: parent.width - height: progressBar.height - color: Theme.highlightBackgroundColor - opacity: 0.2 - anchors { - left: parent.left - right: parent.right - top: parent.top - } - } - Rectangle { - id: progressBar - width: toot.text.length ? panel.width*(toot.text.length/tootMaxChar) : 0; + TextField { + id: warningContent + visible: false + height: visible ? implicitHeight : 0 + anchors { + top: parent.top + topMargin: Theme.paddingMedium + left: parent.left + right: parent.right + } + autoScrollEnabled: true + labelVisible: false + placeholderText: qsTr("Write your warning here") + placeholderColor: palette.highlightColor + color: palette.highlightColor + horizontalAlignment: Text.AlignLeft + EnterKey.onClicked: { + //tweet() + } + } + TextInput { + id: textOperations + visible: false + } - height: Theme.itemSizeSmall * 0.05 - color: Theme.highlightBackgroundColor - opacity: 0.7 - anchors { - left: parent.left - top: parent.top - } - } + TextArea { + id: toot + anchors { + top: warningContent.bottom + topMargin: Theme.paddingMedium + left: parent.left + right: parent.right + rightMargin: Theme.paddingMedium + } + autoScrollEnabled: true + labelVisible: false + //focus: true + text: description !== "" && (description.charAt(0) == '@' + || description.charAt( + 0) == '#') ? description + ' ' : '' + height: Math.max(270, Math.min(900, implicitHeight)) + //height: implicitHeight + horizontalAlignment: Text.AlignLeft + placeholderText: qsTr("What's on your mind?") + EnterKey.onClicked: { + //tweet() + } + onTextChanged: { + textOperations.text = toot.text + textOperations.cursorPosition = toot.cursorPosition + textOperations.selectWord() + textOperations.select( + textOperations.selectionStart ? textOperations.selectionStart - 1 : 0, + textOperations.selectionEnd) + //console.log(textOperations.text.substr(textOperations.selectionStart, textOperations.selectionEnd)) + console.log(toot.text.length) + suggestedUser = "" + if (textOperations.selectedText.charAt(0) === "@") { + suggestedUser = textOperations.selectedText.trim().substring(1) + } + } + } + IconButton { + id: btnSmileys + property string selection + onSelectionChanged: { + console.log(selection) + } - TextField { - id: warningContent - visible: false - height: visible ? implicitHeight : 0; - anchors { - top: parent.top - topMargin: Theme.paddingMedium - left: parent.left - right: parent.right - } - autoScrollEnabled: true - labelVisible: false - placeholderText: qsTr("Content warning!") - horizontalAlignment: Text.AlignLeft - EnterKey.onClicked: { - //tweet() - } - } - TextInput { - id: textOperations - visible: false - } - - TextArea { - id: toot - anchors { + anchors { top: warningContent.bottom - topMargin: Theme.paddingMedium - left: parent.left - right: parent.right - rightMargin: Theme.paddingMedium - } - autoScrollEnabled: true - labelVisible: false - //focus: true - text: description !== "" && (description.charAt(0) == '@' || description.charAt(0) == '#') ? description+' ' : '' - height: implicitHeight - horizontalAlignment: Text.AlignLeft - EnterKey.onClicked: { - //tweet() - } - onTextChanged: { - textOperations.text = toot.text - textOperations.cursorPosition = toot.cursorPosition - textOperations.selectWord() - textOperations.select(textOperations.selectionStart ? textOperations.selectionStart-1 : 0, textOperations.selectionEnd) - //console.log(textOperations.text.substr(textOperations.selectionStart, textOperations.selectionEnd)) - console.log(toot.text.length) - suggestedUser = "" - if (textOperations.selectedText.charAt(0) === "@") { - suggestedUser = textOperations.selectedText.trim().substring(1); - } - } - } - IconButton { - id: btnSmileys - property string selection - onSelectionChanged: { - console.log(selection) - } - - anchors { - bottom: bottom.top - right: parent.right - rightMargin: Theme.paddingSmall - } - icon.source: "image://theme/icon-s-mms?" + (pressed - ? Theme.highlightColor - : (warningContent.visible ? Theme.secondaryHighlightColor : Theme.primaryColor)) - onClicked: pageStack.push(firstWizardPage) - } - SilicaGridView { - id: uploadedImages - width: parent.width - anchors.bottom: parent.bottom + bottom: bottom.top + right: parent.right + rightMargin: Theme.paddingSmall + } + icon.source: "../../qml/images/emojiselect.svg" + (pressed ? Theme.highlightColor : (warningContent.visible ? Theme.secondaryHighlightColor : Theme.primaryColor)) + onClicked: pageStack.push(firstWizardPage) + } + SilicaGridView { + id: uploadedImages + width: parent.width + anchors.top: bottom.toot + anchors.bottom: parent.bottom height: mediaModel.count ? Theme.itemSizeSmall : 0 - model: mediaModel - cellWidth: uploadedImages.width / 4 + model: mediaModel + cellWidth: uploadedImages.width / 4 cellHeight: Theme.itemSizeSmall - delegate: BackgroundItem { - id: myDelegate - width: uploadedImages.cellWidth - height: uploadedImages.cellHeight - RemorseItem { id: remorse } - Image { - anchors.fill: parent - fillMode: Image.PreserveAspectCrop - source: model.preview_url - } + delegate: BackgroundItem { + id: myDelegate + width: uploadedImages.cellWidth + height: uploadedImages.cellHeight + RemorseItem { + id: remorse + } + Image { + anchors.fill: parent + fillMode: Image.PreserveAspectCrop + source: model.preview_url + } - onClicked: { - var idx = index - console.log(idx) - //mediaModel.remove(idx) - remorse.execute(myDelegate, qsTr("Delete"), function() { mediaModel.remove(idx) } ) - } - } - add: Transition { - NumberAnimation { property: "opacity"; from: 0; to: 1.0; duration: 800 } - } + onClicked: { + var idx = index + console.log(idx) + //mediaModel.remove(idx) + remorse.execute(myDelegate, qsTr("Delete"), function () { + mediaModel.remove(idx) + }) + } + } + add: Transition { + NumberAnimation { + property: "opacity" + from: 0 + to: 1.0 + duration: 800 + } + } - remove: Transition { - NumberAnimation { property: "opacity"; from: 1.0; to: 0; duration: 800 } - } - displaced: Transition { - NumberAnimation { properties: "x,y"; duration: 800; easing.type: Easing.InOutBack } - } - } - IconButton { + remove: Transition { + NumberAnimation { + property: "opacity" + from: 1.0 + to: 0 + duration: 800 + } + } + displaced: Transition { + NumberAnimation { + properties: "x,y" + duration: 800 + easing.type: Easing.InOutBack + } + } + } + IconButton { - id: btnContentWarning - anchors { - verticalCenter: privacy.verticalCenter - left: parent.left - leftMargin: Theme.paddingMedium - } - icon.source: "image://theme/icon-s-high-importance?" + (pressed - ? Theme.highlightColor - : (warningContent.visible ? Theme.secondaryHighlightColor : Theme.primaryColor)) - onClicked: warningContent.visible = !warningContent.visible - } - IconButton { - id: btnAddImage - enabled: mediaModel.count < 4 - anchors { - verticalCenter: privacy.verticalCenter - left: btnContentWarning.right - leftMargin: Theme.paddingSmall - } - icon.source: "image://theme/icon-s-attach?" + (pressed - ? Theme.highlightColor - : (warningContent.visible ? Theme.secondaryHighlightColor : Theme.primaryColor)) - onClicked: { - btnAddImage.enabled = false; - var once = true; - var imagePicker = pageStack.push("Sailfish.Pickers.ImagePickerPage", { "allowedOrientations" : Orientation.All }); - imagePicker.selectedContentChanged.connect(function () { - var imagePath = imagePicker.selectedContent; - console.log(imagePath) - imageUploader.setUploadUrl(Logic.conf.instance + "/api/v1/media") - imageUploader.setFile(imagePath); - imageUploader.setAuthorizationHeader(Logic.conf.api_user_token); - imageUploader.upload(); - }); - } - } - ImageUploader { - id: imageUploader + id: btnContentWarning + anchors { + verticalCenter: privacy.verticalCenter + left: parent.left + leftMargin: Theme.paddingMedium + } + icon.source: "image://theme/icon-s-warning?" + + (pressed ? Theme.highlightColor : (warningContent.visible ? Theme.secondaryHighlightColor : Theme.primaryColor)) + onClicked: warningContent.visible = !warningContent.visible + } + IconButton { + id: btnAddImage + enabled: mediaModel.count < 4 + anchors { + verticalCenter: privacy.verticalCenter + left: btnContentWarning.right + leftMargin: Theme.paddingSmall + } + icon.source: "image://theme/icon-s-attach?" + + (pressed ? Theme.highlightColor : (warningContent.visible ? Theme.secondaryHighlightColor : Theme.primaryColor)) + onClicked: { + btnAddImage.enabled = false + var once = true + var imagePicker = pageStack.push("Sailfish.Pickers.ImagePickerPage", {"allowedOrientations": Orientation.All}) + imagePicker.selectedContentChanged.connect(function () { + var imagePath = imagePicker.selectedContent + console.log(imagePath) + imageUploader.setUploadUrl(Logic.conf.instance + "/api/v1/media") + imageUploader.setFile(imagePath) + imageUploader.setAuthorizationHeader(Logic.conf.api_user_token) + imageUploader.upload() + }) + } + } + ImageUploader { + id: imageUploader - onProgressChanged: { - console.log("progress "+progress) - uploadProgress.width = parent.width*progress - } + onProgressChanged: { + console.log("progress " + progress) + uploadProgress.width = parent.width * progress + } - onSuccess: { - uploadProgress.width =0 - console.log(replyData); + onSuccess: { + uploadProgress.width = 0 + console.log(replyData) - mediaModel.append(JSON.parse(replyData)) + mediaModel.append(JSON.parse(replyData)) + } - - } - - onFailure: { - uploadProgress.width =0 - btnAddImage.enabled = true; - console.log(status) - console.log(statusText) - - } - - } - ComboBox { - id: privacy - anchors { + onFailure: { + uploadProgress.width = 0 + btnAddImage.enabled = true + console.log(status) + console.log(statusText) + } + } + ComboBox { + id: privacy + anchors { top: toot.bottom - topMargin: -Theme.paddingSmall*2 - left: btnAddImage.right - right: btnSend.left - } - menu: ContextMenu { - MenuItem { text: qsTr("public") } - MenuItem { text: qsTr("unlisted") } - MenuItem { text: qsTr("followers only") } - MenuItem { text: qsTr("direct") } - } - } - IconButton { - id: btnSend - icon.source: "image://theme/icon-m-enter?" + (pressed - ? Theme.highlightColor - : Theme.primaryColor) - anchors { + topMargin: -Theme.paddingSmall * 2 + left: btnAddImage.right + right: btnSend.left + } + menu: ContextMenu { + MenuItem { + text: qsTr("Public") + } + MenuItem { + text: qsTr("Unlisted") + } + MenuItem { + text: qsTr("Followers-only") + } + MenuItem { + text: qsTr("Direct") + } + } + } + + IconButton { + id: btnSend + icon.source: "image://theme/icon-m-send?" + + (pressed ? Theme.highlightColor : Theme.primaryColor) + anchors { top: toot.bottom - right: parent.right - rightMargin: Theme.paddingLarge - } - enabled: toot.text !== "" && toot.text.length < tootMaxChar - onClicked: { - var visibility = [ "public", "unlisted", "private", "direct"]; - var media_ids = []; - for(var k = 0; k < mediaModel.count; k++){ - console.log(mediaModel.get(k).id) - media_ids.push(mediaModel.get(k).id) - } + right: parent.right + rightMargin: Theme.paddingSmall + } + enabled: toot.text !== "" && toot.text.length < tootMaxChar && uploadProgress.width == 0 + onClicked: { + var visibility = ["public", "unlisted", "private", "direct"] + var media_ids = [] + for (var k = 0; k < mediaModel.count; k++) { + console.log(mediaModel.get(k).id) + media_ids.push(mediaModel.get(k).id) + } - var msg = { - 'action' : 'statuses', - 'method' : 'POST', - 'model' : mdl, - 'mode' : "append", - 'params' : { - "status": toot.text, - "visibility": visibility[privacy.currentIndex], - "media_ids": media_ids - }, - 'conf' : Logic.conf - }; - if (toot_id) - msg.params['in_reply_to_id'] = (toot_id)+"" + var msg = { + "action": 'statuses', + "method": 'POST', + "model": mdl, + "mode": "append", + "params": { + "status": toot.text, + "visibility": visibility[privacy.currentIndex], + "media_ids": media_ids + }, + "conf": Logic.conf + } + if (toot_id) + msg.params['in_reply_to_id'] = (toot_id) + "" - if (warningContent.visible && warningContent.text.length > 0){ - msg.params['sensitive'] = 1 - msg.params['spoiler_text'] = warningContent.text - } + if (warningContent.visible && warningContent.text.length > 0) { + msg.params['sensitive'] = 1 + msg.params['spoiler_text'] = warningContent.text + } - worker.sendMessage(msg); - warningContent.text = "" - toot.text = "" - mediaModel.clear() - } - } + worker.sendMessage(msg) + warningContent.text = "" + toot.text = "" + mediaModel.clear() + pageStack.pop() + } + } + Rectangle { + id: uploadProgress + color: Theme.highlightBackgroundColor + anchors.bottom: parent.bottom + anchors.left: parent.left + height: 3 + } + } + Component.onCompleted: { + toot.cursorPosition = toot.text.length + if (mdl.count > 0) { + var setIndex = 0 + switch (mdl.get(0).status_visibility) { + case "unlisted": + setIndex = 1 + break + case "private": + setIndex = 2 + break + case "direct": + privacy.enabled = false + setIndex = 3 + break + default: + privacy.enabled = true + setIndex = 0 + } + privacy.currentIndex = setIndex + } + console.log(JSON.stringify()) - Rectangle { - id: uploadProgress - color: Theme.highlightBackgroundColor - anchors.bottom: parent.bottom - anchors.left: parent.left - height: 3 - } - } - Component.onCompleted: { - toot.cursorPosition = toot.text.length - if (mdl.count > 0) { - var setIndex = 0; - switch (mdl.get(0).status_visibility){ - case "unlisted": - setIndex = 1; - break; - case "private": - setIndex = 2; - break; - case "direct": - privacy.enabled = false; - setIndex = 3; - break; - default: - privacy.enabled = true; - setIndex = 0; - } - privacy.currentIndex = setIndex; - } + worker.sendMessage({ + "action": 'statuses/' + mdl.get(0).status_id + '/context', + "method": 'GET', + "model": mdl, + "params": { }, + "conf": Logic.conf + }) + } + Component { + id: firstWizardPage - console.log(JSON.stringify()) + Dialog { + id: emoticonsDialog + canAccept: false //selector.currentIndex >= 0 - worker.sendMessage({ - 'action' : 'statuses/'+mdl.get(0).status_id+'/context', - 'method' : 'GET', - 'model' : mdl, - 'params' : { }, - 'conf' : Logic.conf - }); - } - Component { - id: firstWizardPage + //acceptDestination: conversationPage + onAcceptPendingChanged: { + if (acceptPending) { - Dialog { - id: emoticonsDialog - canAccept: false; //selector.currentIndex >= 0 - //acceptDestination: conversationPage + // Tell the destination page what the selected category is + // acceptDestinationInstance.category = selector.value + } + } - onAcceptPendingChanged: { - if (acceptPending) { - // Tell the destination page what the selected category is - // acceptDestinationInstance.category = selector.value - } - } + SilicaGridView { + id: gridView + anchors.fill: parent + cellWidth: gridView.width / 6 + cellHeight: cellWidth + header: PageHeader { + title: qsTr("Emojis") + description: qsTr("Tap to insert") + } + model: ListModel { + ListElement { section: "smileys"; glyph: "😁" } + ListElement { section: "smileys"; glyph: "😂" } + ListElement { section: "smileys"; glyph: "😃" } + ListElement { section: "smileys"; glyph: "😄" } + ListElement { section: "smileys"; glyph: "😅" } + ListElement { section: "smileys"; glyph: "😆" } + ListElement { section: "smileys"; glyph: "😉" } + ListElement { section: "smileys"; glyph: "😊" } + ListElement { section: "smileys"; glyph: "😋" } + ListElement { section: "smileys"; glyph: "😌" } + ListElement { section: "smileys"; glyph: "😍" } + ListElement { section: "smileys"; glyph: "😏" } + ListElement { section: "smileys"; glyph: "😒" } + ListElement { section: "smileys"; glyph: "😓" } + ListElement { section: "smileys"; glyph: "😔" } + ListElement { section: "smileys"; glyph: "😖" } + ListElement { section: "smileys"; glyph: "😘" } + ListElement { section: "smileys"; glyph: "😚" } + ListElement { section: "smileys"; glyph: "😜" } + ListElement { section: "smileys"; glyph: "😝" } + ListElement { section: "smileys"; glyph: "😞" } + ListElement { section: "smileys"; glyph: "😠" } + ListElement { section: "smileys"; glyph: "😡" } + ListElement { section: "smileys"; glyph: "😢" } + ListElement { section: "smileys"; glyph: "😣" } + ListElement { section: "smileys"; glyph: "😤" } + ListElement { section: "smileys"; glyph: "😥" } + ListElement { section: "smileys"; glyph: "😨" } + ListElement { section: "smileys"; glyph: "😩" } + ListElement { section: "smileys"; glyph: "😪" } + ListElement { section: "smileys"; glyph: "😫" } + ListElement { section: "smileys"; glyph: "😭" } + ListElement { section: "smileys"; glyph: "😰" } + ListElement { section: "smileys"; glyph: "😱" } + ListElement { section: "smileys"; glyph: "😲" } + ListElement { section: "smileys"; glyph: "😳" } + ListElement { section: "smileys"; glyph: "😵" } + ListElement { section: "smileys"; glyph: "😷" } + ListElement { section: "smileys"; glyph: "😸" } + ListElement { section: "smileys"; glyph: "😹" } + ListElement { section: "smileys"; glyph: "😺" } + ListElement { section: "smileys"; glyph: "😻" } + ListElement { section: "smileys"; glyph: "😼" } + ListElement { section: "smileys"; glyph: "😽" } + ListElement { section: "smileys"; glyph: "😾" } + ListElement { section: "smileys"; glyph: "😿" } + ListElement { section: "smileys"; glyph: "🙀" } + ListElement { section: "smileys"; glyph: "🙅" } + ListElement { section: "smileys"; glyph: "🙆" } + ListElement { section: "smileys"; glyph: "🙇" } + ListElement { section: "smileys"; glyph: "🙈" } + ListElement { section: "smileys"; glyph: "🙉" } + ListElement { section: "smileys"; glyph: "🙊" } + ListElement { section: "smileys"; glyph: "🙋" } + ListElement { section: "smileys"; glyph: "🙌" } + ListElement { section: "smileys"; glyph: "🙍" } + ListElement { section: "smileys"; glyph: "🙎" } + ListElement { section: "smileys"; glyph: "🙏" } - SilicaGridView { - id: gridView - anchors.fill: parent - cellWidth: gridView.width / 6 - cellHeight: cellWidth - header: PageHeader { - title: qsTr("Emojis") - description: qsTr("Tap to insert") - } - model: ListModel { - ListElement { section: "smileys"; glyph: "😁" } - ListElement { section: "smileys"; glyph: "😂" } - ListElement { section: "smileys"; glyph: "😃" } - ListElement { section: "smileys"; glyph: "😄" } - ListElement { section: "smileys"; glyph: "😅" } - ListElement { section: "smileys"; glyph: "😆" } - ListElement { section: "smileys"; glyph: "😉" } - ListElement { section: "smileys"; glyph: "😊" } - ListElement { section: "smileys"; glyph: "😋" } - ListElement { section: "smileys"; glyph: "😌" } - ListElement { section: "smileys"; glyph: "😍" } - ListElement { section: "smileys"; glyph: "😏" } - ListElement { section: "smileys"; glyph: "😒" } - ListElement { section: "smileys"; glyph: "😓" } - ListElement { section: "smileys"; glyph: "😔" } - ListElement { section: "smileys"; glyph: "😖" } - ListElement { section: "smileys"; glyph: "😘" } - ListElement { section: "smileys"; glyph: "😚" } - ListElement { section: "smileys"; glyph: "😜" } - ListElement { section: "smileys"; glyph: "😝" } - ListElement { section: "smileys"; glyph: "😞" } - ListElement { section: "smileys"; glyph: "😠" } - ListElement { section: "smileys"; glyph: "😡" } - ListElement { section: "smileys"; glyph: "😢" } - ListElement { section: "smileys"; glyph: "😣" } - ListElement { section: "smileys"; glyph: "😤" } - ListElement { section: "smileys"; glyph: "😥" } - ListElement { section: "smileys"; glyph: "😨" } - ListElement { section: "smileys"; glyph: "😩" } - ListElement { section: "smileys"; glyph: "😪" } - ListElement { section: "smileys"; glyph: "😫" } - ListElement { section: "smileys"; glyph: "😭" } - ListElement { section: "smileys"; glyph: "😰" } - ListElement { section: "smileys"; glyph: "😱" } - ListElement { section: "smileys"; glyph: "😲" } - ListElement { section: "smileys"; glyph: "😳" } - ListElement { section: "smileys"; glyph: "😵" } - ListElement { section: "smileys"; glyph: "😷" } - ListElement { section: "smileys"; glyph: "😸" } - ListElement { section: "smileys"; glyph: "😹" } - ListElement { section: "smileys"; glyph: "😺" } - ListElement { section: "smileys"; glyph: "😻" } - ListElement { section: "smileys"; glyph: "😼" } - ListElement { section: "smileys"; glyph: "😽" } - ListElement { section: "smileys"; glyph: "😾" } - ListElement { section: "smileys"; glyph: "😿" } - ListElement { section: "smileys"; glyph: "🙀" } - ListElement { section: "smileys"; glyph: "🙅" } - ListElement { section: "smileys"; glyph: "🙆" } - ListElement { section: "smileys"; glyph: "🙇" } - ListElement { section: "smileys"; glyph: "🙈" } - ListElement { section: "smileys"; glyph: "🙉" } - ListElement { section: "smileys"; glyph: "🙊" } - ListElement { section: "smileys"; glyph: "🙋" } - ListElement { section: "smileys"; glyph: "🙌" } - ListElement { section: "smileys"; glyph: "🙍" } - ListElement { section: "smileys"; glyph: "🙎" } - ListElement { section: "smileys"; glyph: "🙏" } + ListElement { section: "Transport and map"; glyph: "🚀" } + ListElement { section: "Transport and map"; glyph: "🚃" } + ListElement { section: "Transport and map"; glyph: "🚀" } + ListElement { section: "Transport and map"; glyph: "🚄" } + ListElement { section: "Transport and map"; glyph: "🚅" } + ListElement { section: "Transport and map"; glyph: "🚇" } + ListElement { section: "Transport and map"; glyph: "🚉" } + ListElement { section: "Transport and map"; glyph: "🚌" } + ListElement { section: "Transport and map"; glyph: "🚏" } + ListElement { section: "Transport and map"; glyph: "🚑" } + ListElement { section: "Transport and map"; glyph: "🚒" } + ListElement { section: "Transport and map"; glyph: "🚓" } + ListElement { section: "Transport and map"; glyph: "🚕" } + ListElement { section: "Transport and map"; glyph: "🚗" } + ListElement { section: "Transport and map"; glyph: "🚙" } + ListElement { section: "Transport and map"; glyph: "🚚" } + ListElement { section: "Transport and map"; glyph: "🚢" } + ListElement { section: "Transport and map"; glyph: "🚨" } + ListElement { section: "Transport and map"; glyph: "🚩" } + ListElement { section: "Transport and map"; glyph: "🚪" } + ListElement { section: "Transport and map"; glyph: "🚫" } + ListElement { section: "Transport and map"; glyph: "🚬" } + ListElement { section: "Transport and map"; glyph: "🚭" } + ListElement { section: "Transport and map"; glyph: "🚲" } + ListElement { section: "Transport and map"; glyph: "🚶" } + ListElement { section: "Transport and map"; glyph: "🚹" } + ListElement { section: "Transport and map"; glyph: "🚺" } + ListElement { section: "Transport and map"; glyph: "🚻" } + ListElement { section: "Transport and map"; glyph: "🚼" } + ListElement { section: "Transport and map"; glyph: "🚽" } + ListElement { section: "Transport and map"; glyph: "🚾" } + ListElement { section: "Transport and map"; glyph: "🛀" } - - ListElement { section: "Transport and map"; glyph: "🚀" } - ListElement { section: "Transport and map"; glyph: "🚃" } - ListElement { section: "Transport and map"; glyph: "🚀" } - ListElement { section: "Transport and map"; glyph: "🚄" } - ListElement { section: "Transport and map"; glyph: "🚅" } - ListElement { section: "Transport and map"; glyph: "🚇" } - ListElement { section: "Transport and map"; glyph: "🚉" } - ListElement { section: "Transport and map"; glyph: "🚌" } - ListElement { section: "Transport and map"; glyph: "🚏" } - ListElement { section: "Transport and map"; glyph: "🚑" } - ListElement { section: "Transport and map"; glyph: "🚒" } - ListElement { section: "Transport and map"; glyph: "🚓" } - ListElement { section: "Transport and map"; glyph: "🚕" } - ListElement { section: "Transport and map"; glyph: "🚗" } - ListElement { section: "Transport and map"; glyph: "🚙" } - ListElement { section: "Transport and map"; glyph: "🚚" } - ListElement { section: "Transport and map"; glyph: "🚢" } - ListElement { section: "Transport and map"; glyph: "🚨" } - ListElement { section: "Transport and map"; glyph: "🚩" } - ListElement { section: "Transport and map"; glyph: "🚪" } - ListElement { section: "Transport and map"; glyph: "🚫" } - ListElement { section: "Transport and map"; glyph: "🚬" } - ListElement { section: "Transport and map"; glyph: "🚭" } - ListElement { section: "Transport and map"; glyph: "🚲" } - ListElement { section: "Transport and map"; glyph: "🚶" } - ListElement { section: "Transport and map"; glyph: "🚹" } - ListElement { section: "Transport and map"; glyph: "🚺" } - ListElement { section: "Transport and map"; glyph: "🚻" } - ListElement { section: "Transport and map"; glyph: "🚼" } - ListElement { section: "Transport and map"; glyph: "🚽" } - ListElement { section: "Transport and map"; glyph: "🚾" } - ListElement { section: "Transport and map"; glyph: "🛀" } - - ListElement { section: "Horoscope Signs"; glyph: "♈" } - ListElement { section: "Horoscope Signs"; glyph: "♉" } - ListElement { section: "Horoscope Signs"; glyph: "♊" } - ListElement { section: "Horoscope Signs"; glyph: "♋" } - ListElement { section: "Horoscope Signs"; glyph: "♌" } - ListElement { section: "Horoscope Signs"; glyph: "♍" } - ListElement { section: "Horoscope Signs"; glyph: "♎" } - ListElement { section: "Horoscope Signs"; glyph: "♏" } - ListElement { section: "Horoscope Signs"; glyph: "♐" } - ListElement { section: "Horoscope Signs"; glyph: "♑" } - ListElement { section: "Horoscope Signs"; glyph: "♒" } - ListElement { section: "Horoscope Signs"; glyph: "♓" } - - - - - - } - delegate: BackgroundItem { - width: gridView.cellWidth - height: gridView.cellHeight - Label { - anchors.centerIn: parent - color: (highlighted ? Theme.secondaryHighlightColor : Theme.secondaryColor) - font.pixelSize: Theme.fontSizeLarge - text: glyph - } - onClicked: { - var cursorPosition = toot.cursorPosition - toot.text = toot.text.substring(0, cursorPosition) + model.glyph + toot.text.substring(cursorPosition) - toot.cursorPosition = cursorPosition+model.glyph.length - emoticonsDialog.canAccept = true; - emoticonsDialog.accept() - - } - } - } - } - } + ListElement { section: "Horoscope Signs"; glyph: "♈" } + ListElement { section: "Horoscope Signs"; glyph: "♉" } + ListElement { section: "Horoscope Signs"; glyph: "♊" } + ListElement { section: "Horoscope Signs"; glyph: "♋" } + ListElement { section: "Horoscope Signs"; glyph: "♌" } + ListElement { section: "Horoscope Signs"; glyph: "♍" } + ListElement { section: "Horoscope Signs"; glyph: "♎" } + ListElement { section: "Horoscope Signs"; glyph: "♏" } + ListElement { section: "Horoscope Signs"; glyph: "♐" } + ListElement { section: "Horoscope Signs"; glyph: "♑" } + ListElement { section: "Horoscope Signs"; glyph: "♒" } + ListElement { section: "Horoscope Signs"; glyph: "♓" } + } + delegate: BackgroundItem { + width: gridView.cellWidth + height: gridView.cellHeight + Label { + anchors.centerIn: parent + color: (highlighted ? Theme.secondaryHighlightColor : Theme.secondaryColor) + font.pixelSize: Theme.fontSizeLarge + text: glyph + } + onClicked: { + var cursorPosition = toot.cursorPosition + toot.text = toot.text.substring( + 0, cursorPosition) + model.glyph + toot.text.substring( + cursorPosition) + toot.cursorPosition = cursorPosition + model.glyph.length + emoticonsDialog.canAccept = true + emoticonsDialog.accept() + } + } + } + } + } } diff --git a/qml/pages/MainPage.qml b/qml/pages/MainPage.qml index 3745cc7..e676870 100644 --- a/qml/pages/MainPage.qml +++ b/qml/pages/MainPage.qml @@ -69,10 +69,11 @@ Page { onOpenDrawer: infoPanel.open = setDrawer } MyList{ - id: tlPublic; - title: qsTr("Federated") - type: "timelines/public" - mdl: Logic.modelTLpublic + id: tlNotifications; + title: qsTr("Notifications") + type: "notifications" + notifier: true + mdl: Logic.modelTLnotifications width: parent.itemWidth height: parent.itemHeight onOpenDrawer: infoPanel.open = setDrawer @@ -88,11 +89,10 @@ Page { onOpenDrawer: infoPanel.open = setDrawer } MyList{ - id: tlNotifications; - title: qsTr("Notifications") - type: "notifications" - notifier: true - mdl: Logic.modelTLnotifications + id: tlPublic; + title: qsTr("Federated") + type: "timelines/public" + mdl: Logic.modelTLpublic width: parent.itemWidth height: parent.itemHeight onOpenDrawer: infoPanel.open = setDrawer @@ -185,7 +185,7 @@ Page { delegate: ItemUser { onClicked: { pageStack.push(Qt.resolvedUrl("Profile.qml"), { - "displayname": model.account_username, + "display_name": model.account_display_name, "username": model.account_acct, "user_id": model.account_id, "profileImage": model.account_avatar @@ -260,8 +260,13 @@ Page { slideshow.positionViewAtIndex(4, ListView.SnapToItem) navigation.navigateTo('search') + } else if (test.length === 4 && test[3][0] === "@" ) { + tlSearch.search = decodeURIComponent("@"+test[3].substring(1)+"@"+test[2]) + slideshow.positionViewAtIndex(4, ListView.SnapToItem) + navigation.navigateTo('search') + } else { - pageStack.push(Qt.resolvedUrl("Browser.qml"), {"href" : href}) + Qt.openUrlExternally(href); } } Component.onCompleted: { diff --git a/qml/pages/Profile.qml b/qml/pages/Profile.qml index c432b04..c26c7ed 100644 --- a/qml/pages/Profile.qml +++ b/qml/pages/Profile.qml @@ -6,7 +6,7 @@ import QtGraphicalEffects 1.0 Page { property ListModel tweets; - property string displayname : ""; + property string display_name : ""; property string username : ""; property string profileImage : ""; property int user_id; @@ -16,8 +16,9 @@ Page { property int favourites_count; property int reblogs_count; property int count_moments; - property string profile_background : ""; + property string profile_background: ""; property string note: ""; + property string url: ""; property bool locked : false; property date created_at; @@ -39,7 +40,7 @@ Page { followers_count = messageObject.data.followers_count following_count = messageObject.data.following_count username = messageObject.data.acct - displayname = messageObject.data.display_name + display_name = messageObject.data.display_name profileImage = messageObject.data.avatar_static var msg = { @@ -68,9 +69,10 @@ Page { following_count = messageObject.data break; case 'acct': - //username = messageObject.data + // line below was commented out, reason unknown + // username = messageObject.data break; - case 'locked': + case 'locked':m locked = messageObject.data break; case 'created_at': @@ -82,6 +84,9 @@ Page { case 'note': note = messageObject.data break; + case 'url': + url = messageObject.data + break; case 'following': following = messageObject.data followers_count = followers_count + (following ? 1 : - 1) @@ -135,7 +140,7 @@ Page { id: list header: ProfileHeader { id: header - title: displayname + title: display_name description: '@'+username image: profileImage } @@ -238,10 +243,65 @@ Page { } } - /*ExpandingSection { - title: "Tweets" + ExpandingSection { + title: qsTr("Bio") + content.sourceComponent: Column { + spacing: Theme.paddingMedium + anchors.bottomMargin: Theme.paddingLarge + Text { + x: Theme.horizontalPageMargin + width: parent.width - ( 2 * Theme.horizontalPageMargin ) + id: txtnote + text: note + font.pixelSize: Theme.fontSizeExtraSmall + color: Theme.secondaryColor + linkColor: Theme.secondaryHighlightColor + wrapMode: Text.Wrap + anchors { + horizontalCenter: parent.horizontalCenter + } + onLinkActivated: { + var test = link.split("/") + console.log(link) + console.log(JSON.stringify(test)) + console.log(JSON.stringify(test.length)) - }*/ + if (test.length === 5 && (test[3] === "tags" || test[3] === "tag") ) { + pageStack.pop(pageStack.find(function(page) { + var check = page.isFirstPage === true; + if (check) + page.onLinkActivated(link) + return check; + })); + send(link) + + } else if (test.length === 4 && test[3][0] === "@" ) { + tlSearch.search = decodeURIComponent("@"+test[3].substring(1)+"@"+test[2]) + slideshow.positionViewAtIndex(4, ListView.SnapToItem) + navigation.navigateTo('search') + + } else { + Qt.openUrlExternally(link); + } + } + + } + Column { + spacing: Theme.paddingMedium + anchors.horizontalCenter: parent.horizontalCenter + Button { + id: btnUrl + text: qsTr("Open Profile in Browser") + onClicked: { + Qt.openUrlExternally(url); + } + } + } + Label { + text: " " + } + } + } } diff --git a/qml/pages/Settings.qml b/qml/pages/Settings.qml index 0dbc847..637cf94 100644 --- a/qml/pages/Settings.qml +++ b/qml/pages/Settings.qml @@ -102,32 +102,38 @@ Page { } ListElement { name: "Miodrag Nikolić" - desc: "visual identity" + desc: qsTr("Visual identity") mastodon: "" mail: "micotakis@gmail.com" } + ListElement { + name: "molan" + desc: qsTr("Development and maintenence") + mastodon: "" + mail: "mol_an@sunrise.ch" + } ListElement { name: "Quentin PAGÈS / Quenti ♏" - desc: "Occitan & French translation" + desc: qsTr("Occitan & French translation") mastodon: "Quenti@framapiaf.org" mail: "" } ListElement { name: "André Koot" - desc: "Dutch translation" + desc: qsTr("Dutch translation") mastodon: "meneer@mastodon.social" mail: "https://twitter.com/meneer" } ListElement { - name: "Carlos Gonzalez / Caballlero" - desc: "Español translation" + name: "CarmenFdez" + desc: qsTr("Spanish translation") mastodon: "" - mail: "carlosgonz@protonmail.com" + mail: "" } ListElement { name: "Mohamed-Touhami MAHDI" - desc: "Added README file" + desc: qsTr("Added README file") mastodon: "dragnucs@touha.me" mail: "touhami@touha.me" } diff --git a/qml/pages/components/ItemUser.qml b/qml/pages/components/ItemUser.qml index ffebb63..809c97e 100644 --- a/qml/pages/components/ItemUser.qml +++ b/qml/pages/components/ItemUser.qml @@ -33,7 +33,7 @@ BackgroundItem { MouseArea { anchors.fill: parent onClicked: pageStack.push(Qt.resolvedUrl("./../Profile.qml"), { - "displayname": model.account_username, + "display_name": model.account_display_name, "username": model.account_acct, "user_id": model.account_id, "profileImage": model.account_avatar @@ -60,7 +60,7 @@ BackgroundItem { } } onClicked: openUser({ - "displayname": model.account_username, + "display_name": model.account_display_name, "username": model.account_acct, "user_id": model.account_id, "profileImage": model.account_avatar diff --git a/qml/pages/components/Navigation.qml b/qml/pages/components/Navigation.qml index d2e3c35..30e5e81 100644 --- a/qml/pages/components/Navigation.qml +++ b/qml/pages/components/Navigation.qml @@ -15,38 +15,33 @@ SilicaGridView { id: listModel ListElement { icon: "image://theme/icon-m-home" - //icon: "../../images/home.svg" slug: "home" name: "Home" active: true unread: false } ListElement { - //icon: "image://theme/icon-m-region" - icon: "../../images/federated.svg" - slug: "federated" - name: "Federated" + icon: "image://theme/icon-m-alarm" + slug: "notifications" + name: "Notifications" active: false - unread: false } ListElement { - //icon: "image://theme/icon-m-sailfish" - icon: "../../images/local.svg" + icon: "image://theme/icon-m-whereami" slug: "local" name: "Local" active: false unread: false } ListElement { - icon: "image://theme/icon-m-alarm" - //icon: "../../images/notification.svg" - slug: "notifications" - name: "Notifications" + icon: "image://theme/icon-m-website" + slug: "federated" + name: "Federated" active: false + unread: false } ListElement { icon: "image://theme/icon-m-search" - //icon: "../../images/search.svg" slug: "search" name: "Search" active: false diff --git a/qml/pages/components/ProfileHeader.qml b/qml/pages/components/ProfileHeader.qml index e557bcb..8dd369c 100644 --- a/qml/pages/components/ProfileHeader.qml +++ b/qml/pages/components/ProfileHeader.qml @@ -19,7 +19,7 @@ Item { }*/ Rectangle { anchors.fill: parent - opacity: 0.1 + opacity: 0.2 gradient: Gradient { GradientStop { position: 0.0; color: Theme.highlightBackgroundColor } GradientStop { position: 1.0; color: Theme.highlightBackgroundColor } @@ -51,7 +51,7 @@ Item { id: ttl text: title height: contentHeight - color: Theme.highlightColor + color: Theme.primaryColor font.pixelSize: Theme.fontSizeLarge font.family: Theme.fontFamilyHeading horizontalAlignment: Text.AlignRight @@ -61,7 +61,7 @@ Item { Label { height: description === "" ? 0 : contentHeight text: description - color: Theme.secondaryHighlightColor + color: Theme.primaryColor font.pixelSize: Theme.fontSizeSmall font.family: Theme.fontFamilyHeading horizontalAlignment: Text.AlignRight diff --git a/qml/pages/components/Toot.qml b/qml/pages/components/Toot.qml index fb9b9ab..7809e7a 100644 --- a/qml/pages/components/Toot.qml +++ b/qml/pages/components/Toot.qml @@ -63,7 +63,7 @@ BackgroundItem { anchors.fill: parent onClicked: { pageStack.push(Qt.resolvedUrl("../Profile.qml"), { - "displayname": account_display_name, + "display_name": account_display_name, "username": account_username, "profileImage": account_avatar }) @@ -142,7 +142,7 @@ BackgroundItem { right: parent.right top: lblScreenName.bottom topMargin: Theme.paddingSmall - rightMargin: Theme.paddingLarge + rightMargin: Theme.paddingLarge } height: content.length ? paintedHeight : 0 onLinkActivated: { @@ -164,7 +164,7 @@ BackgroundItem { send(link) } else { - pageStack.push(Qt.resolvedUrl("../Browser.qml"), {"href" : link}) + Qt.openUrlExternally(link); } diff --git a/qml/pages/components/VisualContainer.qml b/qml/pages/components/VisualContainer.qml index 9f649d9..2d42d6c 100644 --- a/qml/pages/components/VisualContainer.qml +++ b/qml/pages/components/VisualContainer.qml @@ -55,7 +55,7 @@ BackgroundItem { anchors.fill: parent onClicked: { pageStack.push(Qt.resolvedUrl("../Profile.qml"), { - "displayname": model.account_username, + "display_name": model.account_display_name, "username": model.account_acct, "user_id": model.account_id, "profileImage": model.account_avatar @@ -134,13 +134,12 @@ BackgroundItem { })); send(link) } else if (test.length === 4 && test[3][0] === "@" ) { - pageStack.push(Qt.resolvedUrl("../Profile.qml"), { - "name": "", - "username": test[3].substring(1)+"@"+test[2], - "profileImage": "" - }) + tlSearch.search = decodeURIComponent("@"+test[3].substring(1)+"@"+test[2]) + slideshow.positionViewAtIndex(4, ListView.SnapToItem) + navigation.navigateTo('search') + } else { - pageStack.push(Qt.resolvedUrl("../Browser.qml"), {"href" : link}) + Qt.openUrlExternally(link); } } text: content.replace(new RegExp(" 1.0.4-0 -- Login bugfix merge request -- Updated translations +* Thu Apr 16 2020 Dusko Angirevic 1.0.4-1 +- Merge with molan code + +* Tue Feb 04 2020 molan 1.0.3-8 +- Fix for broken translations +- Updated Spanish translation + +* Mon Feb 03 2020 molan 1.0.3-7 +- Updated translations for new language strings + +* Thu Jan 30 2020 molan 1.0.3-6 +- Workaround for opening user profiles in toots +- Show profile descriptions (Bio) with option to open them in Browser +- Updated and improved UI for Conversation page +- Indication for sending toot (move back to previous page) +- New arrangement of main pages (like used in Mastodon websites and other apps) +- Small UI and text/label changes + +* Thu Jan 16 2020 molan 1.0.3-5 [fork of Tooter 1.0.3] +- Fix for broken profile pages when clicking on usernames in toots +- Fixed navigation icons for inverted ambiences +- Updated Chinese translation (thanks to dashinfantry) + +* Wed Jan 15 2020 molan 1.0.3-4 [fork of Tooter 1.0.3] +- Website links in toots now open directly in browser since the web scraper service which was used before is discontinued +- Profile page now shows full display name in title instead of user name +- Changed send, content warning and add emoji icon in Conversation page for clarification +- Small update to Chinese translation (thanks to dashinfantry) +- Completed German and French translations + +* Mon Jan 06 2020 molan 1.0.3-3 [fork of Tooter 1.0.3] +- Update and rename harbour-tooter-zh.ts to harbour-tooter-zh_CN.ts (thanks to dashinfantry) + +* Sat Dec 28 2019 molan 1.0.3-1 [fork of Tooter 1.0.3] +- Fixed broken Mastodon login (app built with Sailfish SDK 2.4) +- Fixed crash on certain notifications * Sun Jan 27 2019 Dusko Angirevic 1.0.3-0 - Remorse popup added for account removal diff --git a/rpm/harbour-tooter.spec b/rpm/harbour-tooter.spec index 3e9ea00..4c576ba 100644 --- a/rpm/harbour-tooter.spec +++ b/rpm/harbour-tooter.spec @@ -14,7 +14,7 @@ Name: harbour-tooter %{?qtc_builddir:%define _builddir %qtc_builddir} Summary: Tooter Version: 1.0.4 -Release: 0 +Release: 1 Group: Qt/Qt License: LICENSE URL: http://example.org/ diff --git a/rpm/harbour-tooter.yaml b/rpm/harbour-tooter.yaml index e0531cf..093166c 100644 --- a/rpm/harbour-tooter.yaml +++ b/rpm/harbour-tooter.yaml @@ -1,7 +1,7 @@ Name: harbour-tooter Summary: Tooter Version: 1.0.4 -Release: 0 +Release: 1 # 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 diff --git a/translations/harbour-tooter-de.ts b/translations/harbour-tooter-de.ts index ce57760..e6f310d 100644 --- a/translations/harbour-tooter-de.ts +++ b/translations/harbour-tooter-de.ts @@ -20,51 +20,12 @@ hat gesagt - - Browser - - Open in Browser - Öffne in Browser - - - Web mode - Web-Modus - - - Reading mode - Lese-Modus - - - Copy URL - Kopiere URL - - Conversation Conversation Konversation - - Content warning! - Inhaltswarnung! - - - public - öffentlich - - - unlisted - nicht aufgeführt - - - followers only - nur Follower - - - direct - direkt - Delete Löschen @@ -77,6 +38,30 @@ Tap to insert Tippen um einzufügen + + Write your warning here + + + + What's on your mind? + + + + Public + + + + Unlisted + + + + Followers-only + + + + Direct + + ImageFullScreen @@ -230,6 +215,14 @@ Followers Anhänger + + Bio + + + + Open Profile in Browser + + Settings @@ -277,6 +270,30 @@ UI/UX design and development UI/UX Design und Implementierung + + Visual identity + + + + Occitan & French translation + + + + Dutch translation + + + + Spanish translation + + + + Added README file + + + + Development and maintenence + + Toot diff --git a/translations/harbour-tooter-el.ts b/translations/harbour-tooter-el.ts index cfb00c7..c3f464a 100644 --- a/translations/harbour-tooter-el.ts +++ b/translations/harbour-tooter-el.ts @@ -20,51 +20,12 @@ είπε - - Browser - - Open in Browser - Άνοιγμα στον φυλλομετρητή - - - Web mode - Λειτουργία ιστού - - - Reading mode - Λειτουργία ανάγνωσης - - - Copy URL - Αντιγραφή διεύθυνσης URL - - Conversation Conversation Συνομιλία - - Content warning! - Προειδοποίηση περιεχομένου! - - - public - δημόσιο - - - unlisted - μη καταχωρημένο - - - followers only - μόνο αυτοί που σας ακολουθούν - - - direct - απευθείας - Delete Διαγραφή @@ -77,6 +38,30 @@ Tap to insert Κτυπήστε για εισαγωγή + + Write your warning here + + + + What's on your mind? + + + + Public + + + + Unlisted + + + + Followers-only + + + + Direct + + ImageFullScreen @@ -230,6 +215,14 @@ Followers Σας ακολουθούν + + Bio + + + + Open Profile in Browser + + Settings @@ -277,6 +270,30 @@ UI/UX design and development UI/UX σχεδιασμός και ανάπτυξη + + Visual identity + + + + Occitan & French translation + + + + Dutch translation + + + + Spanish translation + + + + Added README file + + + + Development and maintenence + + Toot diff --git a/translations/harbour-tooter-es.ts b/translations/harbour-tooter-es.ts index acbe287..7f6acfd 100644 --- a/translations/harbour-tooter-es.ts +++ b/translations/harbour-tooter-es.ts @@ -20,51 +20,12 @@ dijo - - Browser - - Open in Browser - Abrir en navegador - - - Web mode - Modo Web - - - Reading mode - Modo lectura - - - Copy URL - Copiar URL - - Conversation Conversation Conversación - - Content warning! - Advertencia de contenido - - - public - público - - - unlisted - sin federar - - - followers only - sólo seguidores - - - direct - directo - Delete Borrar @@ -77,6 +38,30 @@ Tap to insert Toca para insertar + + Write your warning here + + + + What's on your mind? + + + + Public + + + + Unlisted + + + + Followers-only + + + + Direct + + ImageFullScreen @@ -230,6 +215,14 @@ Followers Seguidores + + Bio + + + + Open Profile in Browser + + Settings @@ -277,6 +270,30 @@ UI/UX design and development Diseño UI/UX y desarrollo + + Visual identity + + + + Occitan & French translation + + + + Dutch translation + + + + Spanish translation + + + + Added README file + + + + Development and maintenence + + Toot diff --git a/translations/harbour-tooter-fi.ts b/translations/harbour-tooter-fi.ts index 8a9fe60..daf06a7 100644 --- a/translations/harbour-tooter-fi.ts +++ b/translations/harbour-tooter-fi.ts @@ -20,51 +20,12 @@ - - Browser - - Open in Browser - - - - Web mode - - - - Reading mode - - - - Copy URL - - - Conversation Conversation - - Content warning! - - - - public - - - - unlisted - - - - followers only - - - - direct - - Delete @@ -77,6 +38,30 @@ Tap to insert + + Write your warning here + + + + What's on your mind? + + + + Public + + + + Unlisted + + + + Followers-only + + + + Direct + + ImageFullScreen @@ -230,6 +215,14 @@ Followers + + Bio + + + + Open Profile in Browser + + Settings @@ -277,6 +270,30 @@ UI/UX design and development + + Visual identity + + + + Occitan & French translation + + + + Dutch translation + + + + Spanish translation + + + + Added README file + + + + Development and maintenence + + Toot diff --git a/translations/harbour-tooter-fr.ts b/translations/harbour-tooter-fr.ts index 3c7ddec..d41d682 100644 --- a/translations/harbour-tooter-fr.ts +++ b/translations/harbour-tooter-fr.ts @@ -20,51 +20,12 @@ a dit - - Browser - - Open in Browser - Ouvrir dans le navigateur - - - Web mode - Vue internet - - - Reading mode - Mode lecture - - - Copy URL - Copier l'URL - - Conversation Conversation Conversation - - Content warning! - Contenu sensible ! - - - public - public - - - unlisted - non listé - - - followers only - abonnés seulement - - - direct - direct - Delete Supprimer @@ -77,6 +38,30 @@ Tap to insert Appuyez pour insérer + + Write your warning here + + + + What's on your mind? + + + + Public + + + + Unlisted + + + + Followers-only + + + + Direct + + ImageFullScreen @@ -230,6 +215,14 @@ Followers Abonnés + + Bio + + + + Open Profile in Browser + + Settings @@ -277,6 +270,30 @@ UI/UX design and development design et développement de l'interface + + Visual identity + + + + Occitan & French translation + + + + Dutch translation + + + + Spanish translation + + + + Added README file + + + + Development and maintenence + + Toot diff --git a/translations/harbour-tooter-nl.ts b/translations/harbour-tooter-nl.ts index 2779c3c..ef0f5d3 100644 --- a/translations/harbour-tooter-nl.ts +++ b/translations/harbour-tooter-nl.ts @@ -20,51 +20,12 @@ zei - - Browser - - Open in Browser - Openen in browser - - - Web mode - Webmodus - - - Reading mode - Leesmodus - - - Copy URL - Kopieer URL - - Conversation Conversation Gesprek - - Content warning! - Gevoelige inhoud! - - - public - openbaar - - - unlisted - niet op lijst - - - followers only - alleen volgers - - - direct - direct - Delete Verwijderen @@ -77,6 +38,30 @@ Tap to insert Tikken om in te voegen + + Write your warning here + + + + What's on your mind? + + + + Public + + + + Unlisted + + + + Followers-only + + + + Direct + + ImageFullScreen @@ -230,6 +215,14 @@ Followers Volgers + + Bio + + + + Open Profile in Browser + + Settings @@ -277,6 +270,30 @@ UI/UX design and development UI/UX ontwerp en ontwikkeling + + Visual identity + + + + Occitan & French translation + + + + Dutch translation + + + + Spanish translation + + + + Added README file + + + + Development and maintenence + + Toot diff --git a/translations/harbour-tooter-nl_BE.ts b/translations/harbour-tooter-nl_BE.ts index 4772b6d..878cbfc 100644 --- a/translations/harbour-tooter-nl_BE.ts +++ b/translations/harbour-tooter-nl_BE.ts @@ -20,51 +20,12 @@ zei - - Browser - - Open in Browser - Openen in browser - - - Web mode - Webmodus - - - Reading mode - Leesmodus - - - Copy URL - URL kopiëren - - Conversation Conversation Gesprek - - Content warning! - Gevoeligen inhoud! - - - public - openbaar - - - unlisted - niet op lijst - - - followers only - alleen volgers - - - direct - direct - Delete Verwijderen @@ -77,6 +38,30 @@ Tap to insert Tikt voor in te voegen + + Write your warning here + + + + What's on your mind? + + + + Public + + + + Unlisted + + + + Followers-only + + + + Direct + + ImageFullScreen @@ -230,6 +215,14 @@ Followers Volgers + + Bio + + + + Open Profile in Browser + + Settings @@ -277,6 +270,30 @@ UI/UX design and development UI/UX-ontwerp en -ontwikkeling + + Visual identity + + + + Occitan & French translation + + + + Dutch translation + + + + Spanish translation + + + + Added README file + + + + Development and maintenence + + Toot diff --git a/translations/harbour-tooter-oc.ts b/translations/harbour-tooter-oc.ts index 9e310a2..2b226a0 100644 --- a/translations/harbour-tooter-oc.ts +++ b/translations/harbour-tooter-oc.ts @@ -20,51 +20,12 @@ a dich - - Browser - - Open in Browser - Dobrir dins lo navigator - - - Web mode - Mòde Web - - - Reading mode - Mòde lectura - - - Copy URL - Copiar l'URL - - Conversation Conversation Discutida - - Content warning! - Contengut sensible ! - - - public - public - - - unlisted - pas listat - - - followers only - seguidors solament - - - direct - dirècte - Delete Escafar @@ -77,6 +38,30 @@ Tap to insert Tustejar per inserir + + Write your warning here + + + + What's on your mind? + + + + Public + + + + Unlisted + + + + Followers-only + + + + Direct + + ImageFullScreen @@ -230,6 +215,14 @@ Followers Seguidors + + Bio + + + + Open Profile in Browser + + Settings @@ -277,6 +270,30 @@ UI/UX design and development UI/UX design e desvlopament + + Visual identity + + + + Occitan & French translation + + + + Dutch translation + + + + Spanish translation + + + + Added README file + + + + Development and maintenence + + Toot diff --git a/translations/harbour-tooter-pl.ts b/translations/harbour-tooter-pl.ts index b2f84d9..6efba16 100644 --- a/translations/harbour-tooter-pl.ts +++ b/translations/harbour-tooter-pl.ts @@ -20,51 +20,12 @@ - - Browser - - Open in Browser - - - - Web mode - - - - Reading mode - - - - Copy URL - - - Conversation Conversation - - Content warning! - - - - public - - - - unlisted - - - - followers only - - - - direct - - Delete @@ -77,6 +38,30 @@ Tap to insert + + Write your warning here + + + + What's on your mind? + + + + Public + + + + Unlisted + + + + Followers-only + + + + Direct + + ImageFullScreen @@ -230,6 +215,14 @@ Followers + + Bio + + + + Open Profile in Browser + + Settings @@ -277,6 +270,30 @@ UI/UX design and development + + Visual identity + + + + Occitan & French translation + + + + Dutch translation + + + + Spanish translation + + + + Added README file + + + + Development and maintenence + + Toot diff --git a/translations/harbour-tooter-ru.ts b/translations/harbour-tooter-ru.ts index a49da69..21152ef 100644 --- a/translations/harbour-tooter-ru.ts +++ b/translations/harbour-tooter-ru.ts @@ -20,51 +20,12 @@ сказал - - Browser - - Open in Browser - Открыть в браузере - - - Web mode - Веб-режим - - - Reading mode - Режим чтения - - - Copy URL - Копировать URL - - Conversation Conversation Беседа - - Content warning! - Предупреждение о содержании! - - - public - публика - - - unlisted - не указан - - - followers only - только последователи - - - direct - непосредственный - Delete Удалить @@ -77,6 +38,30 @@ Tap to insert Нажмите, чтобы вставить + + Write your warning here + + + + What's on your mind? + + + + Public + + + + Unlisted + + + + Followers-only + + + + Direct + + ImageFullScreen @@ -230,6 +215,14 @@ Followers Читают + + Bio + + + + Open Profile in Browser + + Settings @@ -277,6 +270,30 @@ UI/UX design and development Дизайн и разработка UI / UX + + Visual identity + + + + Occitan & French translation + + + + Dutch translation + + + + Spanish translation + + + + Added README file + + + + Development and maintenence + + Toot diff --git a/translations/harbour-tooter-sr.ts b/translations/harbour-tooter-sr.ts index 694c51b..f4006bb 100644 --- a/translations/harbour-tooter-sr.ts +++ b/translations/harbour-tooter-sr.ts @@ -20,51 +20,12 @@ каже - - Browser - - Open in Browser - Отвори у прегледнику веба - - - Web mode - Прегледник веба - - - Reading mode - Мод за читање - - - Copy URL - Kopiraj link - - Conversation Conversation Разговор - - Content warning! - Упозорење на садржај - - - public - јавно - - - unlisted - не приказано - - - followers only - само за пратиоце - - - direct - директна порука - Delete Обриши @@ -77,6 +38,30 @@ Tap to insert Тапни за убацивање + + Write your warning here + + + + What's on your mind? + + + + Public + + + + Unlisted + + + + Followers-only + + + + Direct + + ImageFullScreen @@ -230,6 +215,14 @@ Followers Пратиоци + + Bio + + + + Open Profile in Browser + + Settings @@ -277,6 +270,30 @@ UI/UX design and development интерфејс дизајн и развој + + Visual identity + + + + Occitan & French translation + + + + Dutch translation + + + + Spanish translation + + + + Added README file + + + + Development and maintenence + + Toot diff --git a/translations/harbour-tooter-sv.ts b/translations/harbour-tooter-sv.ts index 35bc745..e91a9cf 100644 --- a/translations/harbour-tooter-sv.ts +++ b/translations/harbour-tooter-sv.ts @@ -20,51 +20,12 @@ sade - - Browser - - Open in Browser - Öppna i webbläsare - - - Web mode - Webbläge - - - Reading mode - Läsläge - - - Copy URL - Kopiera URL - - Conversation Conversation Konversation - - Content warning! - Innehållsvarning! - - - public - publik - - - unlisted - olistad - - - followers only - endast följare - - - direct - direkt - Delete Radera @@ -77,6 +38,30 @@ Tap to insert Tryck för att infoga + + Write your warning here + + + + What's on your mind? + + + + Public + + + + Unlisted + + + + Followers-only + + + + Direct + + ImageFullScreen @@ -230,6 +215,14 @@ Followers Följare + + Bio + + + + Open Profile in Browser + + Settings @@ -277,6 +270,30 @@ UI/UX design and development UI/UX design och utveckling + + Visual identity + + + + Occitan & French translation + + + + Dutch translation + + + + Spanish translation + + + + Added README file + + + + Development and maintenence + + Toot diff --git a/translations/harbour-tooter-zh.ts b/translations/harbour-tooter-zh_CN.ts similarity index 69% rename from translations/harbour-tooter-zh.ts rename to translations/harbour-tooter-zh_CN.ts index 62ac87d..8e8d00f 100644 --- a/translations/harbour-tooter-zh.ts +++ b/translations/harbour-tooter-zh_CN.ts @@ -1,6 +1,6 @@ - + API @@ -13,30 +13,11 @@ boosted - 推出的 + 推起的 said - 说的 - - - - Browser - - Open in Browser - 在浏览器打开 - - - Web mode - 网页模式 - - - Reading mode - 阅读模式 - - - Copy URL - 复制链接 + 说过 @@ -45,26 +26,6 @@ Conversation 对话 - - Content warning! - 内容警告 - - - public - 公共区域 - - - unlisted - 未列的 - - - followers only - 仅关注者 - - - direct - 直接 - Delete 删除 @@ -75,7 +36,31 @@ Tap to insert - 点击插入 + 点击以插入 + + + Write your warning here + 在此编写你的警告信息 + + + Public + 公共区域 + + + Unlisted + 不公开 + + + Followers-only + 仅关注者 + + + Direct + 私信 + + + What's on your mind? + 有何想法? @@ -89,7 +74,7 @@ ImageUploader The file %1 does not exists - 文件%1 不存在 + 文件 %1 不存在 @@ -100,18 +85,18 @@ Instance - - - - Enter an Mastodon instance URL - 输入一个Mastodon链接实例 + 实例 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. - Mastodon 是一个免费且开源的社交网络。一个去中心化的商业平台的替代品,帮助你避免某个公司垄断你的通讯方式的风险。选取一个你信任的服务器,无论你选择什么,你都可以和其它任何人互动。任何人都能运行他们的Mastodon 实例并且无缝加入此社交网络。 + ​Mastodon 是一个自由且开源的社交网络。一个去中心化的商业平台的替代品。它能够避免某个公司垄断你的通讯方式的风险。选择一个你所信任的服务器——无论你选择什么,你都可以和其他人进行互动。任何人都能运行他们自己的 Mastodon 实例,然后无缝加入社交网站。 Reload + 重新加载 + + + Enter an Mastodon instance URL @@ -150,7 +135,7 @@ MiniStatus boosted - 推出的 + 推起的 favourited @@ -177,18 +162,18 @@ please wait... - 请等候...... + 稍等片刻...... Profile Unfollow - 未关注 + 取消关注 Follow request sent! - 关注请求已寄出 + 已寄出关注请求! Following @@ -230,6 +215,14 @@ Followers 关注者 + + Bio + 简介 + + + Open Profile in Browser + 在浏览器打开个人简介 + Settings @@ -239,50 +232,74 @@ Remove Account - 删除账户 + 移除账号 Add Account - 添加账户 + 添加账号 Deauthorize this app and remove your account - 取消授权此应用并且移除你的账户 + 取消授权此软件并移除你的账号 Authorize this app to use your Mastodon account in your behalf - 授权应用使用你信任的Mastodon账户 - - - Load images in toots - 加载嘟嘟的图片 + 授权此软件使用你的 Mastodon 账号 Disable this option if you want to preserve your data connection - 如果想要保护你的数据连接,取消此操作 - - - Translate - 翻译 - - - Use Transifex to help with app translation to your language - 使用Transifex 以帮助翻译成你使用的语言 + 如果你想保护你的数据连接,请禁用此选项 Credits - 信用 + 信誉 UI/UX design and development - UI/UX 设计和开发 + UI/UX设计及开发 + + + Visual identity + 视觉识别 + + + Occitan & French translation + 奥克西坦语及法语翻译 + + + Dutch translation + 尼德兰语翻译 + + + Spanish translation + 西班牙语翻译 + + + Added README file + 添加 README 文件 + + + Load images in toots + + + + Translate + + + + Use Transifex to help with app translation to your language + + + + Development and maintenence + Toot boosted - 推出的 + 推起的 favourited @@ -297,19 +314,19 @@ VisualContainer Unboost - 取消推出 + 取消推起 Boost - 推出 + 推起 Unfavorite - 取消收藏 + 取消关注 Favorite - 收藏 + 关注 diff --git a/translations/harbour-tooter.ts b/translations/harbour-tooter.ts index c580d4b..03bddc9 100644 --- a/translations/harbour-tooter.ts +++ b/translations/harbour-tooter.ts @@ -20,51 +20,12 @@ said - - Browser - - Open in Browser - Open in Browser - - - Web mode - Web mode - - - Reading mode - Reading mode - - - Copy URL - Copy URL - - Conversation Conversation Conversation - - Content warning! - Content warning! - - - public - public - - - unlisted - unlisted - - - followers only - followers only - - - direct - direct - Delete Delete @@ -77,6 +38,30 @@ Tap to insert Tap to insert + + Write your warning here + + + + What's on your mind? + + + + Public + + + + Unlisted + + + + Followers-only + + + + Direct + + ImageFullScreen @@ -230,6 +215,14 @@ Followers Followers + + Bio + + + + Open Profile in Browser + + Settings @@ -277,6 +270,30 @@ UI/UX design and development + + Visual identity + + + + Occitan & French translation + + + + Dutch translation + + + + Spanish translation + + + + Added README file + + + + Development and maintenence + + Toot From 220deae6d5360e75ff8d5f72ee382f55b0978245 Mon Sep 17 00:00:00 2001 From: molan-git <59296158+molan-git@users.noreply.github.com> Date: Mon, 27 Apr 2020 16:53:48 +0200 Subject: [PATCH 011/110] Merge branch 'master' into crash-fix --- qml/lib/Worker.js | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/qml/lib/Worker.js b/qml/lib/Worker.js index bbd6a6b..15c13fd 100644 --- a/qml/lib/Worker.js +++ b/qml/lib/Worker.js @@ -150,8 +150,8 @@ function parseNotification(data){ switch (item['type']){ case "mention": if (!data.status) { - break; - } + break; + } item = parseToot(data.status) item['typeIcon'] = "image://theme/icon-s-retweet" @@ -160,8 +160,8 @@ function parseNotification(data){ break; case "reblog": if (!data.status) { - break; - } + break; + } item = parseToot(data.status) item = parseAccounts(item, "reblog_", data["account"]) From 3078cef1a2be8df2e6575888ecdd894fa61f7623 Mon Sep 17 00:00:00 2001 From: molan-git <59296158+molan-git@users.noreply.github.com> Date: Mon, 27 Apr 2020 17:11:34 +0200 Subject: [PATCH 012/110] Writing mistake fix Fixed 'Development and maintenance' --- qml/pages/Settings.qml | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/qml/pages/Settings.qml b/qml/pages/Settings.qml index e254de5..aafccae 100644 --- a/qml/pages/Settings.qml +++ b/qml/pages/Settings.qml @@ -113,12 +113,6 @@ Page { } Repeater { model: ListModel { - ListElement { - name: "molan" - desc: qsTr("Maintainer of this release") - mastodon: "" - mail: "mol_an@sunrise.ch" - } ListElement { name: "Duško Angirević" desc: qsTr("UI/UX design and development") @@ -132,8 +126,8 @@ Page { mail: "micotakis@gmail.com" } ListElement { - name: "molan" - desc: qsTr("Development and maintenence") + name: "Molan" + desc: qsTr("Development and maintenance") mastodon: "" mail: "mol_an@sunrise.ch" } From 25ef712cba05f777a1bf2086826fd0716249893a Mon Sep 17 00:00:00 2001 From: molan-git <59296158+molan-git@users.noreply.github.com> Date: Mon, 27 Apr 2020 17:14:03 +0200 Subject: [PATCH 013/110] Added contributor and fixes Writing fix in "Development and maintenance" and added translation contributors for Chinese and Spanish. --- qml/pages/Settings.qml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/qml/pages/Settings.qml b/qml/pages/Settings.qml index aafccae..0123e0d 100644 --- a/qml/pages/Settings.qml +++ b/qml/pages/Settings.qml @@ -29,7 +29,7 @@ Page { icon.source: Logic.conf['login'] ? "image://theme/icon-m-people" : "image://theme/icon-m-add" - onCheckedChanged: { + onCheckedChanged: { remorsePopup.execute(removeAccount.text, function() { busy = true; checked = false; From 91b63bfef5601fa63ed00574651fbc47cb017734 Mon Sep 17 00:00:00 2001 From: molan-git <59296158+molan-git@users.noreply.github.com> Date: Mon, 27 Apr 2020 17:24:01 +0200 Subject: [PATCH 014/110] Sync to upstream --- qml/harbour-tooter.qml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/qml/harbour-tooter.qml b/qml/harbour-tooter.qml index 60fe3f6..7b23d5e 100644 --- a/qml/harbour-tooter.qml +++ b/qml/harbour-tooter.qml @@ -36,6 +36,7 @@ import "./lib/API.js" as Logic ApplicationWindow { id: appWindow + //initialPage: Component { FirstPage { } } cover: Qt.resolvedUrl("cover/CoverPage.qml") allowedOrientations: defaultAllowedOrientations Component.onCompleted: { @@ -58,6 +59,9 @@ ApplicationWindow pageStack.push(Qt.resolvedUrl("./pages/MainPage.qml"), {}) }); + // + // + //pageStack.push(Qt.resolvedUrl("./pages/Conversation.qml"), {}) } else { pageStack.push(Qt.resolvedUrl("./pages/LoginPage.qml"), {}) } From a87c27e58edbb112c01dd609174ded2bb4491c23 Mon Sep 17 00:00:00 2001 From: molan-git <59296158+molan-git@users.noreply.github.com> Date: Mon, 27 Apr 2020 17:25:01 +0200 Subject: [PATCH 015/110] Sync to upstream --- qml/lib/Worker.js | 1 - 1 file changed, 1 deletion(-) diff --git a/qml/lib/Worker.js b/qml/lib/Worker.js index cd42e1d..15c13fd 100644 --- a/qml/lib/Worker.js +++ b/qml/lib/Worker.js @@ -163,7 +163,6 @@ function parseNotification(data){ break; } - item = parseToot(data.status) item = parseAccounts(item, "reblog_", data["account"]) item = parseAccounts(item, "", data["status"]["account"]) From 977f8b2fc072e75e6daaf9941a77b7794ad48d7e Mon Sep 17 00:00:00 2001 From: molan-git <59296158+molan-git@users.noreply.github.com> Date: Mon, 27 Apr 2020 17:26:05 +0200 Subject: [PATCH 016/110] Sync to upstream --- qml/pages/Profile.qml | 24 +----------------------- 1 file changed, 1 insertion(+), 23 deletions(-) diff --git a/qml/pages/Profile.qml b/qml/pages/Profile.qml index aaca520..c26c7ed 100644 --- a/qml/pages/Profile.qml +++ b/qml/pages/Profile.qml @@ -29,6 +29,7 @@ Page { property bool muting : false; property bool domain_blocking : false; + WorkerScript { id: worker source: "../lib/Worker.js" @@ -264,7 +265,6 @@ Page { console.log(link) console.log(JSON.stringify(test)) console.log(JSON.stringify(test.length)) -<<<<<<< HEAD if (test.length === 5 && (test[3] === "tags" || test[3] === "tag") ) { pageStack.pop(pageStack.find(function(page) { @@ -285,28 +285,6 @@ Page { } } -======= - - if (test.length === 5 && (test[3] === "tags" || test[3] === "tag") ) { - pageStack.pop(pageStack.find(function(page) { - var check = page.isFirstPage === true; - if (check) - page.onLinkActivated(link) - return check; - })); - send(link) - - } else if (test.length === 4 && test[3][0] === "@" ) { - tlSearch.search = decodeURIComponent("@"+test[3].substring(1)+"@"+test[2]) - slideshow.positionViewAtIndex(4, ListView.SnapToItem) - navigation.navigateTo('search') - - } else { - Qt.openUrlExternally(link); - } - } - ->>>>>>> 33d54bdda818c7a41c3a8cc8c5f09cb682584d8e } Column { spacing: Theme.paddingMedium From 8c31138a50c4ae7e63bc4179227bc5a5459c0359 Mon Sep 17 00:00:00 2001 From: molan-git Date: Mon, 27 Apr 2020 17:28:59 +0200 Subject: [PATCH 017/110] Sync to upstream Merge with upstream release 1.0.4-1 --- harbour-tooter.pro | 113 ------------------ qml/harbour-tooter.qml | 4 + qml/images/boosted.svg | 16 +++ qml/lib/Worker.js | 1 - qml/pages/LoginPage.qml | 3 +- qml/pages/Profile.qml | 24 +--- qml/pages/Settings.qml | 66 +++-------- qml/pages/components/Toot.qml | 1 + rpm/harbour-tooter.changes | 3 - rpm/harbour-tooter.spec | 5 - rpm/harbour-tooter.yaml | 5 - translations/harbour-tooter-de.ts | 130 ++------------------- translations/harbour-tooter-el.ts | 78 ++----------- translations/harbour-tooter-es.ts | 113 ------------------ translations/harbour-tooter-fi.ts | 82 +++---------- translations/harbour-tooter-fr.ts | 132 +-------------------- translations/harbour-tooter-nl.ts | 83 +------------ translations/harbour-tooter-nl_BE.ts | 83 +------------ translations/harbour-tooter-oc.ts | 82 +------------ translations/harbour-tooter-pl.ts | 98 +++------------- translations/harbour-tooter-ru.ts | 82 +------------ translations/harbour-tooter-sr.ts | 83 +------------ translations/harbour-tooter-sv.ts | 82 +------------ translations/harbour-tooter-zh_CN.ts | 168 +++++++-------------------- translations/harbour-tooter.ts | 92 +++------------ 25 files changed, 176 insertions(+), 1453 deletions(-) create mode 100644 qml/images/boosted.svg diff --git a/harbour-tooter.pro b/harbour-tooter.pro index 9fed95f..8b1cb5f 100644 --- a/harbour-tooter.pro +++ b/harbour-tooter.pro @@ -1,115 +1,3 @@ -<<<<<<< HEAD -# NOTICE: -# -# Application name defined in TARGET has a corresponding QML filename. -# If name defined in TARGET is changed, the following needs to be done -# to match new name: -# - corresponding QML filename must be changed -# - desktop icon filename must be changed -# - desktop filename must be changed -# - icon definition filename in desktop file must be changed -# - translation filenames have to be changed - -# The name of your application -TARGET = harbour-tooter - -CONFIG += sailfishapp - -QT += network dbus sql -CONFIG += link_pkgconfig -PKGCONFIG += sailfishapp -PKGCONFIG += \ - nemonotifications-qt5 - -DEFINES += "APPVERSION=\\\"$${SPECVERSION}\\\"" -DEFINES += "APPNAME=\\\"$${TARGET}\\\"" - -!exists( src/dbusAdaptor.h ) { - system(qdbusxml2cpp config/ba.dysko.harbour.tooter.xml -i dbus.h -a src/dbusAdaptor) -} - -config.path = /usr/share/$${TARGET}/config/ -config.files = config/icon-lock-harbour-tooter.png - -notification_categories.path = /usr/share/lipstick/notificationcategories -notification_categories.files = config/x-harbour.tooter.activity.* - -dbus_services.path = /usr/share/dbus-1/services/ -dbus_services.files = config/ba.dysko.harbour.tooter.service - -interfaces.path = /usr/share/dbus-1/interfaces/ -interfaces.files = config/ba.dysko.harbour.tooter.xml - -SOURCES += src/harbour-tooter.cpp -SOURCES += src/imageuploader.cpp -SOURCES += src/filedownloader.cpp -SOURCES += src/notifications.cpp -SOURCES += src/dbusAdaptor.cpp -SOURCES += src/dbus.cpp - -HEADERS += src/imageuploader.h -HEADERS += src/filedownloader.h -HEADERS += src/notifications.h -HEADERS += src/dbusAdaptor.h -HEADERS += src/dbus.h - -DISTFILES += qml/harbour-tooter.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/pages/components/ImageFullScreen.qml \ - qml/cover/CoverPage.qml \ - qml/pages/MainPage.qml \ - qml/pages/LoginPage.qml \ - qml/pages/Conversation.qml \ - qml/pages/components/Toot.qml \ - qml/pages/Profile.qml \ - qml/pages/Settings.qml \ - qml/lib/API.js \ - qml/images/notification.svg \ - qml/images/verified.svg \ - qml/images/tooter.svg \ - qml/lib/Mastodon.js \ - qml/lib/Worker.js \ - config/icon-lock-harbour-tooter.png \ - config/x-harbour.tooter.activity.conf \ - qml/pages/components/VisualContainer.qml \ - rpm/harbour-tooter.changes \ - rpm/harbour-tooter.changes.run.in \ - rpm/harbour-tooter.spec \ - rpm/harbour-tooter.yaml \ - translations/*.ts \ - harbour-tooter.desktop - -SAILFISHAPP_ICONS = 86x86 108x108 128x128 172x172 - -# to disable building translations every time, comment out the -# following CONFIG line -CONFIG += sailfishapp_i18n - -# German translation is enabled as an example. If you aren't -# planning to localize your app, remember to comment out the -# following TRANSLATIONS line. And also do not forget to -# modify the localized app name in the the .desktop file. -TRANSLATIONS += translations/harbour-tooter-de.ts -TRANSLATIONS += translations/harbour-tooter-el.ts -TRANSLATIONS += translations/harbour-tooter-es.ts -TRANSLATIONS += translations/harbour-tooter-fi.ts -TRANSLATIONS += translations/harbour-tooter-fr.ts -TRANSLATIONS += translations/harbour-tooter-nl.ts -TRANSLATIONS += translations/harbour-tooter-nl_BE.ts -TRANSLATIONS += translations/harbour-tooter-oc.ts -TRANSLATIONS += translations/harbour-tooter-pl.ts -TRANSLATIONS += translations/harbour-tooter-ru.ts -TRANSLATIONS += translations/harbour-tooter-sr.ts -TRANSLATIONS += translations/harbour-tooter-sv.ts -TRANSLATIONS += translations/harbour-tooter-zh_CN.ts -======= # NOTICE: # # Application name defined in TARGET has a corresponding QML filename. @@ -227,4 +115,3 @@ TRANSLATIONS += translations/harbour-tooter-ru.ts TRANSLATIONS += translations/harbour-tooter-sr.ts TRANSLATIONS += translations/harbour-tooter-sv.ts TRANSLATIONS += translations/harbour-tooter-zh_CN.ts ->>>>>>> 33d54bdda818c7a41c3a8cc8c5f09cb682584d8e diff --git a/qml/harbour-tooter.qml b/qml/harbour-tooter.qml index 60fe3f6..7b23d5e 100644 --- a/qml/harbour-tooter.qml +++ b/qml/harbour-tooter.qml @@ -36,6 +36,7 @@ import "./lib/API.js" as Logic ApplicationWindow { id: appWindow + //initialPage: Component { FirstPage { } } cover: Qt.resolvedUrl("cover/CoverPage.qml") allowedOrientations: defaultAllowedOrientations Component.onCompleted: { @@ -58,6 +59,9 @@ ApplicationWindow pageStack.push(Qt.resolvedUrl("./pages/MainPage.qml"), {}) }); + // + // + //pageStack.push(Qt.resolvedUrl("./pages/Conversation.qml"), {}) } else { pageStack.push(Qt.resolvedUrl("./pages/LoginPage.qml"), {}) } diff --git a/qml/images/boosted.svg b/qml/images/boosted.svg new file mode 100644 index 0000000..468e2da --- /dev/null +++ b/qml/images/boosted.svg @@ -0,0 +1,16 @@ + + + + + + + + + + diff --git a/qml/lib/Worker.js b/qml/lib/Worker.js index cd42e1d..15c13fd 100644 --- a/qml/lib/Worker.js +++ b/qml/lib/Worker.js @@ -163,7 +163,6 @@ function parseNotification(data){ break; } - item = parseToot(data.status) item = parseAccounts(item, "reblog_", data["account"]) item = parseAccounts(item, "", data["status"]["account"]) diff --git a/qml/pages/LoginPage.qml b/qml/pages/LoginPage.qml index 8549e62..19f0948 100644 --- a/qml/pages/LoginPage.qml +++ b/qml/pages/LoginPage.qml @@ -37,6 +37,7 @@ import "../lib/API.js" as Logic Page { id: loginPage + // The effective value will be restricted by ApplicationWindow.allowedOrientations allowedOrientations: Orientation.All @@ -61,7 +62,7 @@ Page { TextField { id: instance focus: true - label: qsTr("Enter a valid Mastodon instance URL") + label: qsTr("Enter an Mastodon instance URL") text: "https://" placeholderText: "https://mastodon.social" width: parent.width diff --git a/qml/pages/Profile.qml b/qml/pages/Profile.qml index aaca520..c26c7ed 100644 --- a/qml/pages/Profile.qml +++ b/qml/pages/Profile.qml @@ -29,6 +29,7 @@ Page { property bool muting : false; property bool domain_blocking : false; + WorkerScript { id: worker source: "../lib/Worker.js" @@ -264,7 +265,6 @@ Page { console.log(link) console.log(JSON.stringify(test)) console.log(JSON.stringify(test.length)) -<<<<<<< HEAD if (test.length === 5 && (test[3] === "tags" || test[3] === "tag") ) { pageStack.pop(pageStack.find(function(page) { @@ -285,28 +285,6 @@ Page { } } -======= - - if (test.length === 5 && (test[3] === "tags" || test[3] === "tag") ) { - pageStack.pop(pageStack.find(function(page) { - var check = page.isFirstPage === true; - if (check) - page.onLinkActivated(link) - return check; - })); - send(link) - - } else if (test.length === 4 && test[3][0] === "@" ) { - tlSearch.search = decodeURIComponent("@"+test[3].substring(1)+"@"+test[2]) - slideshow.positionViewAtIndex(4, ListView.SnapToItem) - navigation.navigateTo('search') - - } else { - Qt.openUrlExternally(link); - } - } - ->>>>>>> 33d54bdda818c7a41c3a8cc8c5f09cb682584d8e } Column { spacing: Theme.paddingMedium diff --git a/qml/pages/Settings.qml b/qml/pages/Settings.qml index e254de5..637cf94 100644 --- a/qml/pages/Settings.qml +++ b/qml/pages/Settings.qml @@ -57,49 +57,30 @@ Page { IconTextSwitch { //enabled: false checked: typeof Logic.conf['loadImages'] !== "undefined" && Logic.conf['loadImages'] - text: qsTr("Load Images in Toots") + text: qsTr("Load images in toots") description: qsTr("Disable this option if you want to preserve your data connection") icon.source: "image://theme/icon-m-mobile-network" onClicked: { Logic.conf['loadImages'] = checked } } -// IconTextSwitch { -// text: qsTr("Translate") -// description: qsTr("Use Transifex to help with app translation to your language") -// icon.source: "image://theme/icon-m-presence" -// onCheckedChanged: { -// busy = true; -// checked = false; -// Qt.openUrlExternally("https://www.transifex.com/dysko/tooter/"); -// timer2.start() -// } -// Timer { -// id: timer2 -// interval: 4700 -// onTriggered: parent.busy = false -// } -// } + IconTextSwitch { + text: qsTr("Translate") + description: qsTr("Use Transifex to help with app translation to your language") + icon.source: "image://theme/icon-m-presence" + onCheckedChanged: { + busy = true; + checked = false; + Qt.openUrlExternally("https://www.transifex.com/dysko/tooter/"); + timer2.start() + } + Timer { + id: timer2 + interval: 4700 + onTriggered: parent.busy = false + } + } } - - SectionHeader { - text: qsTr("About") - } - - Text { - x: Theme.horizontalPageMargin - width: parent.width - ( 2 * Theme.horizontalPageMargin ) - text: qsTr("This application is a forked version of the Mastodon client Tooter, originally developed by Duško Angirević, which fixes various bugs. Source code on GitHub.") - font.pixelSize: Theme.fontSizeExtraSmall - color: Theme.secondaryColor - linkColor: Theme.secondaryHighlightColor - wrapMode: Text.Wrap - anchors { - horizontalCenter: parent.horizontalCenter - } - onLinkActivated: Qt.openUrlExternally(link) - } - SectionHeader { text: qsTr("Credits") } @@ -113,12 +94,6 @@ Page { } Repeater { model: ListModel { - ListElement { - name: "molan" - desc: qsTr("Maintainer of this release") - mastodon: "" - mail: "mol_an@sunrise.ch" - } ListElement { name: "Duško Angirević" desc: qsTr("UI/UX design and development") @@ -143,12 +118,6 @@ Page { mastodon: "Quenti@framapiaf.org" mail: "" } - ListElement { - name: "Luchy Kon / dashinfantry" - desc: qsTr("Chinese translation") - mastodon: "" - mail: "dashinfantry@gmail.com" - } ListElement { name: "André Koot" desc: qsTr("Dutch translation") @@ -161,6 +130,7 @@ Page { mastodon: "" mail: "" } + ListElement { name: "Mohamed-Touhami MAHDI" desc: qsTr("Added README file") diff --git a/qml/pages/components/Toot.qml b/qml/pages/components/Toot.qml index 05d235c..7809e7a 100644 --- a/qml/pages/components/Toot.qml +++ b/qml/pages/components/Toot.qml @@ -4,6 +4,7 @@ import QtGraphicalEffects 1.0 BackgroundItem { signal send (string notice) + id: delegate //property string text: "0" width: parent.width diff --git a/rpm/harbour-tooter.changes b/rpm/harbour-tooter.changes index 3643173..c708a4b 100644 --- a/rpm/harbour-tooter.changes +++ b/rpm/harbour-tooter.changes @@ -1,9 +1,6 @@ -<<<<<<< HEAD -======= * Thu Apr 16 2020 Dusko Angirevic 1.0.4-1 - Merge with molan code ->>>>>>> 33d54bdda818c7a41c3a8cc8c5f09cb682584d8e * Tue Feb 04 2020 molan 1.0.3-8 - Fix for broken translations - Updated Spanish translation diff --git a/rpm/harbour-tooter.spec b/rpm/harbour-tooter.spec index f6d6428..4c576ba 100644 --- a/rpm/harbour-tooter.spec +++ b/rpm/harbour-tooter.spec @@ -13,13 +13,8 @@ Name: harbour-tooter %{!?qtc_make:%define qtc_make make} %{?qtc_builddir:%define _builddir %qtc_builddir} Summary: Tooter -<<<<<<< HEAD -Version: 1.0.3 -Release: 8 -======= Version: 1.0.4 Release: 1 ->>>>>>> 33d54bdda818c7a41c3a8cc8c5f09cb682584d8e Group: Qt/Qt License: LICENSE URL: http://example.org/ diff --git a/rpm/harbour-tooter.yaml b/rpm/harbour-tooter.yaml index 790f1fe..093166c 100644 --- a/rpm/harbour-tooter.yaml +++ b/rpm/harbour-tooter.yaml @@ -1,12 +1,7 @@ Name: harbour-tooter Summary: Tooter -<<<<<<< HEAD -Version: 1.0.3 -Release: 8 -======= Version: 1.0.4 Release: 1 ->>>>>>> 33d54bdda818c7a41c3a8cc8c5f09cb682584d8e # 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 diff --git a/translations/harbour-tooter-de.ts b/translations/harbour-tooter-de.ts index 6b9304b..e6f310d 100644 --- a/translations/harbour-tooter-de.ts +++ b/translations/harbour-tooter-de.ts @@ -13,7 +13,7 @@ boosted - geboostet + verstärkt said @@ -40,29 +40,6 @@ Write your warning here -<<<<<<< HEAD - Füge eine Inhaltswarnung hinzu - - - Public - Öffentlich - - - Unlisted - Nicht gelistet - - - Followers-only - Nur Follower - - - Direct - Direkt - - - What's on your mind? - Was möchtest du mitteilen? -======= @@ -84,7 +61,6 @@ Direct ->>>>>>> 33d54bdda818c7a41c3a8cc8c5f09cb682584d8e @@ -109,13 +85,6 @@ Instance -<<<<<<< HEAD - Instanz - - - 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. - Mastodon ist ein freies, quelloffenes soziales Netzwerk. Im Gegensatz zu kommerziellen Plattformen, ist Mastodon als dezentrales Netzwerk konzipiert. Somit wird das Risiko vermieden, dass ein einziges Unternehmen die volle Kontrolle über die Kommunikation der Benutzer hat. Benutzer können einer beliebigen Instanz beitreten oder selbst eine eigene betreiben. -======= @@ -125,15 +94,10 @@ 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. Mastodon ist ein freies, auf OpenSource begründetes Soziales Netzwerk. Es bietet eine dezentralisierte Alternative zu den kommerziellen Plattformen, vermeidet aber das Risiko, dass ein einzelnes Unternehmen das Monopol auf deine gesamte Kommunikation erhält. Wähle selbst einen Server (Instanz) der du vertraust - egal welche du wählst, du kannst mit allen kommunizieren. Oder du betreibst deine eigene Mastodon Instanz und verbindest dich nahtlos mit dem Mastodon Netzwerk. ->>>>>>> 33d54bdda818c7a41c3a8cc8c5f09cb682584d8e Reload - Neu laden - - - Enter a valid Mastodon instance URL - Eine gültige Mastodon-Instanz URL eingeben + @@ -164,14 +128,14 @@ Federated - Föderiert + Vereinigt MiniStatus boosted - geboostet + verstärkt favourited @@ -253,19 +217,11 @@ Bio -<<<<<<< HEAD - Bio - - - Open Profile in Browser - Profil in Browser öffnen -======= Open Profile in Browser ->>>>>>> 33d54bdda818c7a41c3a8cc8c5f09cb682584d8e @@ -276,73 +232,6 @@ Remove Account -<<<<<<< HEAD - Konto entfernen - - - Add Account - Konto hinzufügen - - - Deauthorize this app and remove your account - Konto entfernen und für diese Anwendung deaktivieren - - - Authorize this app to use your Mastodon account in your behalf - Zugriff durch diese Anwendung auf eigenes Mastodon-Konto erlauben - - - Disable this option if you want to preserve your data connection - Diese Option deaktivieren um Datenvolumen zu sparen - - - About - Über - - - Credits - Entwickler - - - UI/UX design and development - UI/UX-Gestaltung und Entwicklung - - - This application is a forked version of the Mastodon client Tooter, originally developed by Duško Angirević, which fixes various bugs. Source code on <a href='https://github.com/molan-git/harbour-tooter'>GitHub</a>. - Dies ist ein Fork und Weiterentwicklung der Mastodon-Anwendung Tooter, welche urpsrünglich von Duško Angirević entwickelt wurde. Quellcode auf <a href='https://github.com/molan-git/harbour-tooter'>GitHub</a>. - - - Load Images in Toots - Bilder in Toots laden - - - Maintainer of this release - Entwicklung dieser Version - - - Visual identity - Visuelle Identität - - - Occitan & French translation - Franzözische Übersetzung - - - Dutch translation - Niederländische Übersetzung - - - Spanish translation - Spanische Übersetzung - - - Added README file - README-Datei erstellt - - - Chinese translation - Chinesische Übersetzung -======= Account löschen @@ -404,14 +293,13 @@ Development and maintenence ->>>>>>> 33d54bdda818c7a41c3a8cc8c5f09cb682584d8e Toot boosted - geboostet + verstärkt favourited @@ -426,19 +314,19 @@ VisualContainer Unboost - Nicht boosten + Schwäche Boost - Boosten + Verstärke Unfavorite - + Aus Favoriten entfernen Favorite - + Zu Favoriten diff --git a/translations/harbour-tooter-el.ts b/translations/harbour-tooter-el.ts index 2b73dd5..c3f464a 100644 --- a/translations/harbour-tooter-el.ts +++ b/translations/harbour-tooter-el.ts @@ -29,21 +29,12 @@ Delete Διαγραφή -<<<<<<< HEAD Emojis Emoji -======= - - - Emojis - Emoji - - ->>>>>>> 33d54bdda818c7a41c3a8cc8c5f09cb682584d8e Tap to insert Κτυπήστε για εισαγωγή @@ -52,25 +43,6 @@ -<<<<<<< HEAD - Public - - - - Unlisted - - - - Followers-only - - - - Direct - - - - What's on your mind? -======= What's on your mind? @@ -88,7 +60,6 @@ Direct ->>>>>>> 33d54bdda818c7a41c3a8cc8c5f09cb682584d8e @@ -116,6 +87,10 @@ Instance + + Enter an Mastodon instance URL + + 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. @@ -124,10 +99,6 @@ Reload - - Enter a valid Mastodon instance URL - - MainPage @@ -276,34 +247,6 @@ Να επιτρέπεται στην εφαρμογή να χρησιμοποιεί τον λογαριασμό σας στο Mastodon εκ μέρους σας -<<<<<<< HEAD - Disable this option if you want to preserve your data connection - - - - About - - - - Credits - - - - UI/UX design and development - - - - This application is a forked version of the Mastodon client Tooter, originally developed by Duško Angirević, which fixes various bugs. Source code on <a href='https://github.com/molan-git/harbour-tooter'>GitHub</a>. - - - - Load Images in Toots - - - - Maintainer of this release - -======= Load images in toots Φόρτωση των εικόνων στα toot @@ -326,7 +269,6 @@ UI/UX design and development UI/UX σχεδιασμός και ανάπτυξη ->>>>>>> 33d54bdda818c7a41c3a8cc8c5f09cb682584d8e Visual identity @@ -349,11 +291,7 @@ -<<<<<<< HEAD - Chinese translation -======= Development and maintenence ->>>>>>> 33d54bdda818c7a41c3a8cc8c5f09cb682584d8e @@ -376,19 +314,19 @@ VisualContainer Unboost - + Αναίρεση προώθησης Boost - + Προώθηση Unfavorite - + Αφαίρεση από τους σελιδοδείκτες Favorite - + Σελιδοδείκτης diff --git a/translations/harbour-tooter-es.ts b/translations/harbour-tooter-es.ts index 22b42dd..7f6acfd 100644 --- a/translations/harbour-tooter-es.ts +++ b/translations/harbour-tooter-es.ts @@ -29,40 +29,6 @@ Delete Borrar -<<<<<<< HEAD - - - Emojis - Emoticonos - - - Tap to insert - Toca para insertar - - - Write your warning here - Escribe aquí tu aviso - - - Public - Público - - - Unlisted - Sin federar - - - Followers-only - Sólo seguidores - - - Direct - Directo - - - What's on your mind? - ¿Qué tienes en mente? -======= Emojis @@ -95,7 +61,6 @@ Direct ->>>>>>> 33d54bdda818c7a41c3a8cc8c5f09cb682584d8e @@ -121,12 +86,6 @@ Instance Instancia -<<<<<<< HEAD - - - 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. - Mastodon es una red social libre y de código abierto. Una alternativa descentralizada a las plataformas comerciales, evita los riesgos de una única compañía que monopolice tu comunicación. Elije un servidor en el que confíes — cualquiera que elijas, puede interactuar con todos los demás. Cualquiera puede ejecutar su propia instancia de Mastodon y participar en la red social sin problemas. -======= Enter an Mastodon instance URL @@ -135,18 +94,10 @@ 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. Mastodon es una red social gratuita y de código abierto. Una alternativa descentralizada a las plataformas comerciales, evita los riesgos de una única compañía que monopolice tu comunicación. Elije un servidor en el que confíes — cualquiera que elijas, puede interactuar con todos los demás. Cualquiera puede ejecutar su propia instancia de Mastodon y participar en la red social sin problemas. ->>>>>>> 33d54bdda818c7a41c3a8cc8c5f09cb682584d8e Reload Volver a cargar -<<<<<<< HEAD - - - Enter a valid Mastodon instance URL - Introduce una URL de instancia de Mastodon válida -======= ->>>>>>> 33d54bdda818c7a41c3a8cc8c5f09cb682584d8e @@ -266,19 +217,11 @@ Bio -<<<<<<< HEAD - Bio - - - Open Profile in Browser - Abrir perfil en navegador -======= Open Profile in Browser ->>>>>>> 33d54bdda818c7a41c3a8cc8c5f09cb682584d8e @@ -301,61 +244,6 @@ Authorize this app to use your Mastodon account in your behalf -<<<<<<< HEAD - Autoriza a esta aplicación para usar tu cuenta de Mastodon en tu nombre - - - Disable this option if you want to preserve your data connection - Deshabilita esta opción si quieres ahorrar en tu conexión de datos - - - About - Acerca de - - - Credits - Créditos - - - UI/UX design and development - Diseño UI/UX y desarrollo - - - This application is a forked version of the Mastodon client Tooter, originally developed by Duško Angirević, which fixes various bugs. Source code on <a href='https://github.com/molan-git/harbour-tooter'>GitHub</a>. - Esta aplicación es una versión bifurcada del cliente de Mastodon Tooter, desarrollada originalmente por Duško Angirević, que corrige varios errores. Código fuente en <a href='https://github.com/molan-git/harbour-tooter'>GitHub</a>. - - - Load Images in Toots - Cargar imágenes en toots - - - Maintainer of this release - Mantenedor de esta publicación - - - Visual identity - Identidad visual - - - Occitan & French translation - Traducción al occitano y francés - - - Dutch translation - Traducción al holandés - - - Spanish translation - Traducción al español - - - Added README file - Añadido archivo README - - - Chinese translation - Traducción al chino -======= Autoriza a esta aplicación a usar tu cuenta de Mastodon en tu nombre @@ -405,7 +293,6 @@ Development and maintenence ->>>>>>> 33d54bdda818c7a41c3a8cc8c5f09cb682584d8e diff --git a/translations/harbour-tooter-fi.ts b/translations/harbour-tooter-fi.ts index 7fdeb5d..daf06a7 100644 --- a/translations/harbour-tooter-fi.ts +++ b/translations/harbour-tooter-fi.ts @@ -22,19 +22,11 @@ Conversation -<<<<<<< HEAD Conversation -======= - - Conversation - - - ->>>>>>> 33d54bdda818c7a41c3a8cc8c5f09cb682584d8e Delete @@ -51,25 +43,6 @@ -<<<<<<< HEAD - Public - - - - Unlisted - - - - Followers-only - - - - Direct - - - - What's on your mind? -======= What's on your mind? @@ -87,7 +60,6 @@ Direct ->>>>>>> 33d54bdda818c7a41c3a8cc8c5f09cb682584d8e @@ -115,6 +87,10 @@ Instance + + Enter an Mastodon instance URL + + 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. @@ -123,10 +99,6 @@ Reload - - Enter a valid Mastodon instance URL - - MainPage @@ -274,12 +246,20 @@ Authorize this app to use your Mastodon account in your behalf + + Load images in toots + + Disable this option if you want to preserve your data connection - About + Translate + + + + Use Transifex to help with app translation to your language @@ -290,42 +270,6 @@ UI/UX design and development - - This application is a forked version of the Mastodon client Tooter, originally developed by Duško Angirević, which fixes various bugs. Source code on <a href='https://github.com/molan-git/harbour-tooter'>GitHub</a>. - - - - Load Images in Toots - - - - Maintainer of this release - - - - Visual identity - - - - Occitan & French translation - - - - Dutch translation - - - - Spanish translation - - - - Added README file - - - - Chinese translation - - Visual identity diff --git a/translations/harbour-tooter-fr.ts b/translations/harbour-tooter-fr.ts index 1d49720..d41d682 100644 --- a/translations/harbour-tooter-fr.ts +++ b/translations/harbour-tooter-fr.ts @@ -29,40 +29,6 @@ Delete Supprimer -<<<<<<< HEAD - - - Emojis - Emojis - - - Tap to insert - Appuyez pour insérer - - - Write your warning here - Avertissement du contenu - - - Public - Public - - - Unlisted - Non coté - - - Followers-only - Que Followers - - - Direct - Direct - - - What's on your mind? - A quoi penses-tu? -======= Emojis @@ -95,7 +61,6 @@ Direct ->>>>>>> 33d54bdda818c7a41c3a8cc8c5f09cb682584d8e @@ -121,12 +86,6 @@ Instance Instance -<<<<<<< HEAD - - - 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. - Mastodon est un réseau social et logiciel à source ouverte de microblog auto-hébergé, libre, distribué et acentré. Il permet de partager des messages, images et autres contenus. Mastodon peut être fédéré à un réseau d'instances capables de communiquer entre elles. -======= Enter an Mastodon instance URL @@ -135,18 +94,10 @@ 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. Mastodon est un réseau libre et open source. Il s’agit d'une alternative aux plateformes commerciales, pour éviter qu'une seule entreprise monopolise vos communications. Choisissez un serveur dans lequel vous avez confiance - quelque que soit votre choix vous pourrez interagir avec d’autres personnes. Tout le monde peut monter sa propre instance Mastodon et participer rendre le réseau plus robuste. ->>>>>>> 33d54bdda818c7a41c3a8cc8c5f09cb682584d8e Reload Recharger -<<<<<<< HEAD - - - Enter a valid Mastodon instance URL - Entrer l'URL d'une instance de Mastodon -======= ->>>>>>> 33d54bdda818c7a41c3a8cc8c5f09cb682584d8e @@ -270,87 +221,13 @@ Open Profile in Browser -<<<<<<< HEAD - Ouvrir dans le navigateur -======= ->>>>>>> 33d54bdda818c7a41c3a8cc8c5f09cb682584d8e Settings Settings -<<<<<<< HEAD - Paramètres - - - Remove Account - Enlever compte - - - Add Account - Ajouter compte - - - Deauthorize this app and remove your account - Désautoriser cette application et enlever votre compte - - - Authorize this app to use your Mastodon account in your behalf - Autoriser cette application d'utiliser votre compte - - - Disable this option if you want to preserve your data connection - Désactiver cette option pour économiser des données mobiles - - - About - À propos - - - Credits - Développement - - - UI/UX design and development - Design UI/UX et développement - - - This application is a forked version of the Mastodon client Tooter, originally developed by Duško Angirević, which fixes various bugs. Source code on <a href='https://github.com/molan-git/harbour-tooter'>GitHub</a>. - Cette application est un fork de Tooter (développée par Duško Angirević). Cette version continue le développement et corrige plusieurs bugs trouvés. - - - Load Images in Toots - Charger images dans pouets - - - Maintainer of this release - Développement de cette version - - - Visual identity - Identité visuelle - - - Occitan & French translation - Traduction français - - - Dutch translation - Traduction néerlandaise - - - Spanish translation - Traduction espagnole - - - Chinese translation - Traduction chinoise - - - Added README file -======= Préférences @@ -415,7 +292,6 @@ Development and maintenence ->>>>>>> 33d54bdda818c7a41c3a8cc8c5f09cb682584d8e @@ -438,19 +314,19 @@ VisualContainer Unboost - + ne plus partager Boost - + partager Unfavorite - Defavoriser + supprimer de ses favoris Favorite - Favoriser + ajouter aux favoris diff --git a/translations/harbour-tooter-nl.ts b/translations/harbour-tooter-nl.ts index ba5d6a3..ef0f5d3 100644 --- a/translations/harbour-tooter-nl.ts +++ b/translations/harbour-tooter-nl.ts @@ -29,21 +29,12 @@ Delete Verwijderen -<<<<<<< HEAD Emojis Emojis -======= - - - Emojis - Emojis - - ->>>>>>> 33d54bdda818c7a41c3a8cc8c5f09cb682584d8e Tap to insert Tikken om in te voegen @@ -52,25 +43,6 @@ -<<<<<<< HEAD - Public - - - - Unlisted - - - - Followers-only - - - - Direct - - - - What's on your mind? -======= What's on your mind? @@ -88,7 +60,6 @@ Direct ->>>>>>> 33d54bdda818c7a41c3a8cc8c5f09cb682584d8e @@ -117,18 +88,6 @@ Instantie -<<<<<<< HEAD - 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. - - - - Reload - - - - Enter a valid Mastodon instance URL - -======= Enter an Mastodon instance URL Voer de URL van een Mastodon-instantie in @@ -139,7 +98,6 @@ Reload Herladen ->>>>>>> 33d54bdda818c7a41c3a8cc8c5f09cb682584d8e @@ -289,34 +247,6 @@ Autoriseer deze app om je Mastodon namens jou te gebruiken -<<<<<<< HEAD - Disable this option if you want to preserve your data connection - - - - About - - - - Credits - - - - UI/UX design and development - - - - This application is a forked version of the Mastodon client Tooter, originally developed by Duško Angirević, which fixes various bugs. Source code on <a href='https://github.com/molan-git/harbour-tooter'>GitHub</a>. - - - - Load Images in Toots - - - - Maintainer of this release - -======= Load images in toots Laden afbeeldingen in toots @@ -339,7 +269,6 @@ UI/UX design and development UI/UX ontwerp en ontwikkeling ->>>>>>> 33d54bdda818c7a41c3a8cc8c5f09cb682584d8e Visual identity @@ -362,11 +291,7 @@ -<<<<<<< HEAD - Chinese translation -======= Development and maintenence ->>>>>>> 33d54bdda818c7a41c3a8cc8c5f09cb682584d8e @@ -389,19 +314,19 @@ VisualContainer Unboost - + Unboost Boost - + Boost Unfavorite - + Demarkeren als favoriet Favorite - + Markeren als favoriet diff --git a/translations/harbour-tooter-nl_BE.ts b/translations/harbour-tooter-nl_BE.ts index 271b33f..878cbfc 100644 --- a/translations/harbour-tooter-nl_BE.ts +++ b/translations/harbour-tooter-nl_BE.ts @@ -29,21 +29,12 @@ Delete Verwijderen -<<<<<<< HEAD Emojis Emoji’s -======= - - - Emojis - Emoji’s - - ->>>>>>> 33d54bdda818c7a41c3a8cc8c5f09cb682584d8e Tap to insert Tikt voor in te voegen @@ -52,25 +43,6 @@ -<<<<<<< HEAD - Public - - - - Unlisted - - - - Followers-only - - - - Direct - - - - What's on your mind? -======= What's on your mind? @@ -88,7 +60,6 @@ Direct ->>>>>>> 33d54bdda818c7a41c3a8cc8c5f09cb682584d8e @@ -117,18 +88,6 @@ Instantie -<<<<<<< HEAD - 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. - - - - Reload - - - - Enter a valid Mastodon instance URL - -======= Enter an Mastodon instance URL Voert den URL van een Mastodon-instantie in @@ -139,7 +98,6 @@ Reload Herladen ->>>>>>> 33d54bdda818c7a41c3a8cc8c5f09cb682584d8e @@ -289,34 +247,6 @@ Autoriseert dezen app voor uwe Mastodon-account namens u te gebruiken -<<<<<<< HEAD - Disable this option if you want to preserve your data connection - - - - About - - - - Credits - - - - UI/UX design and development - - - - This application is a forked version of the Mastodon client Tooter, originally developed by Duško Angirević, which fixes various bugs. Source code on <a href='https://github.com/molan-git/harbour-tooter'>GitHub</a>. - - - - Load Images in Toots - - - - Maintainer of this release - -======= Load images in toots Afbeeldingen in toots laden @@ -339,7 +269,6 @@ UI/UX design and development UI/UX-ontwerp en -ontwikkeling ->>>>>>> 33d54bdda818c7a41c3a8cc8c5f09cb682584d8e Visual identity @@ -362,11 +291,7 @@ -<<<<<<< HEAD - Chinese translation -======= Development and maintenence ->>>>>>> 33d54bdda818c7a41c3a8cc8c5f09cb682584d8e @@ -389,19 +314,19 @@ VisualContainer Unboost - + Ontboosten Boost - + Boosten Unfavorite - + Duim verwijderen Favorite - + Duim toevoegen diff --git a/translations/harbour-tooter-oc.ts b/translations/harbour-tooter-oc.ts index a071ef1..2b226a0 100644 --- a/translations/harbour-tooter-oc.ts +++ b/translations/harbour-tooter-oc.ts @@ -33,35 +33,6 @@ Emojis Emojis -<<<<<<< HEAD - - - Tap to insert - Tustejar per inserir - - - Write your warning here - - - - Public - - - - Unlisted - - - - Followers-only - - - - Direct - - - - What's on your mind? -======= Tap to insert @@ -89,7 +60,6 @@ Direct ->>>>>>> 33d54bdda818c7a41c3a8cc8c5f09cb682584d8e @@ -118,24 +88,15 @@ -<<<<<<< HEAD - 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. - - - - Reload - -======= Enter an Mastodon instance URL Picatz l’URL d’una instància Mastodon 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. Mastodon es un malhum liure e open source. Es una alternativa descentralizada a las plataformas comercialas, per empachar qu'una sola entrepresa monopolize vòstras comunicacions. Causissètz un servidor que vos fisatz - qualque siá vòstre causida poiretz interagir amb los autres. Tot lo monde pòt montar sa pròpria instància Mastodon e atal participar a construire un malhum mai solid. ->>>>>>> 33d54bdda818c7a41c3a8cc8c5f09cb682584d8e - Enter a valid Mastodon instance URL + Reload @@ -286,34 +247,6 @@ Autorizar aquesta aplicacion a utilizar vòstre compte Mastodon per vos -<<<<<<< HEAD - Disable this option if you want to preserve your data connection - - - - About - - - - Credits - - - - UI/UX design and development - - - - This application is a forked version of the Mastodon client Tooter, originally developed by Duško Angirević, which fixes various bugs. Source code on <a href='https://github.com/molan-git/harbour-tooter'>GitHub</a>. - - - - Load Images in Toots - - - - Maintainer of this release - -======= Load images in toots Cargar los imatges dels tuts @@ -336,7 +269,6 @@ UI/UX design and development UI/UX design e desvlopament ->>>>>>> 33d54bdda818c7a41c3a8cc8c5f09cb682584d8e Visual identity @@ -359,11 +291,7 @@ -<<<<<<< HEAD - Chinese translation -======= Development and maintenence ->>>>>>> 33d54bdda818c7a41c3a8cc8c5f09cb682584d8e @@ -386,19 +314,19 @@ VisualContainer Unboost - + Partejar pas mai Boost - + Partejar Unfavorite - + Levar dels favorits Favorite - + Ajustar als favorits diff --git a/translations/harbour-tooter-pl.ts b/translations/harbour-tooter-pl.ts index 7069f91..6efba16 100644 --- a/translations/harbour-tooter-pl.ts +++ b/translations/harbour-tooter-pl.ts @@ -17,11 +17,7 @@ said -<<<<<<< HEAD - napisał(a) -======= ->>>>>>> 33d54bdda818c7a41c3a8cc8c5f09cb682584d8e @@ -32,17 +28,6 @@ Delete -<<<<<<< HEAD - Usuń - - - Emojis - Emoji - - - Tap to insert - Dotknij aby wstawić -======= @@ -52,32 +37,12 @@ Tap to insert ->>>>>>> 33d54bdda818c7a41c3a8cc8c5f09cb682584d8e Write your warning here -<<<<<<< HEAD - Public - - - - Unlisted - - - - Followers-only - - - - Direct - - - - What's on your mind? -======= What's on your mind? @@ -95,7 +60,6 @@ Direct ->>>>>>> 33d54bdda818c7a41c3a8cc8c5f09cb682584d8e @@ -123,6 +87,10 @@ Instance + + Enter an Mastodon instance URL + + 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. @@ -131,10 +99,6 @@ Reload - - Enter a valid Mastodon instance URL - - MainPage @@ -259,14 +223,6 @@ Open Profile in Browser - - Bio - - - - Open Profile in Browser - - Settings @@ -290,12 +246,20 @@ Authorize this app to use your Mastodon account in your behalf + + Load images in toots + + Disable this option if you want to preserve your data connection - About + Translate + + + + Use Transifex to help with app translation to your language @@ -306,42 +270,6 @@ UI/UX design and development - - This application is a forked version of the Mastodon client Tooter, originally developed by Duško Angirević, which fixes various bugs. Source code on <a href='https://github.com/molan-git/harbour-tooter'>GitHub</a>. - - - - Load Images in Toots - - - - Maintainer of this release - - - - Visual identity - - - - Occitan & French translation - - - - Dutch translation - - - - Spanish translation - - - - Added README file - - - - Chinese translation - - Visual identity diff --git a/translations/harbour-tooter-ru.ts b/translations/harbour-tooter-ru.ts index e3e2bb6..21152ef 100644 --- a/translations/harbour-tooter-ru.ts +++ b/translations/harbour-tooter-ru.ts @@ -33,35 +33,6 @@ Emojis Cмайликов -<<<<<<< HEAD - - - Tap to insert - Нажмите, чтобы вставить - - - Write your warning here - - - - Public - - - - Unlisted - - - - Followers-only - - - - Direct - - - - What's on your mind? -======= Tap to insert @@ -89,7 +60,6 @@ Direct ->>>>>>> 33d54bdda818c7a41c3a8cc8c5f09cb682584d8e @@ -118,24 +88,15 @@ -<<<<<<< HEAD - 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. - - - - Reload - -======= Enter an Mastodon instance URL Введите URL-адрес экземпляра Mastodon 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. Mastodon - бесплатная социальная сеть с открытым исходным кодом. Децентрализованная альтернатива коммерческим платформам позволяет избежать рисков, связанных с тем, что одна компания монополизирует ваше общение. Выберите сервер, которому вы доверяете - в зависимости от того, что вы выберете, вы можете взаимодействовать со всеми остальными. Любой может запустить свой собственный экземпляр Mastodon и беспрепятственно участвовать в социальной сети. ->>>>>>> 33d54bdda818c7a41c3a8cc8c5f09cb682584d8e - Enter a valid Mastodon instance URL + Reload @@ -286,34 +247,6 @@ Уполномочить это приложение использовать свою учетную запись Mastodon от вашего имени -<<<<<<< HEAD - Disable this option if you want to preserve your data connection - - - - About - - - - Credits - - - - UI/UX design and development - - - - This application is a forked version of the Mastodon client Tooter, originally developed by Duško Angirević, which fixes various bugs. Source code on <a href='https://github.com/molan-git/harbour-tooter'>GitHub</a>. - - - - Load Images in Toots - - - - Maintainer of this release - -======= Load images in toots Загружать изображения @@ -336,7 +269,6 @@ UI/UX design and development Дизайн и разработка UI / UX ->>>>>>> 33d54bdda818c7a41c3a8cc8c5f09cb682584d8e Visual identity @@ -359,11 +291,7 @@ -<<<<<<< HEAD - Chinese translation -======= Development and maintenence ->>>>>>> 33d54bdda818c7a41c3a8cc8c5f09cb682584d8e @@ -386,19 +314,19 @@ VisualContainer Unboost - + Нет росту Boost - + Росту Unfavorite - + Избранные нет Favorite - + Избранные diff --git a/translations/harbour-tooter-sr.ts b/translations/harbour-tooter-sr.ts index f567f12..f4006bb 100644 --- a/translations/harbour-tooter-sr.ts +++ b/translations/harbour-tooter-sr.ts @@ -29,21 +29,12 @@ Delete Обриши -<<<<<<< HEAD Emojis Емотикони -======= - - - Emojis - Емотикони - - ->>>>>>> 33d54bdda818c7a41c3a8cc8c5f09cb682584d8e Tap to insert Тапни за убацивање @@ -52,25 +43,6 @@ -<<<<<<< HEAD - Public - - - - Unlisted - - - - Followers-only - - - - Direct - - - - What's on your mind? -======= What's on your mind? @@ -88,7 +60,6 @@ Direct ->>>>>>> 33d54bdda818c7a41c3a8cc8c5f09cb682584d8e @@ -117,18 +88,6 @@ Инстанца -<<<<<<< HEAD - 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. - - - - Reload - - - - Enter a valid Mastodon instance URL - -======= Enter an Mastodon instance URL Унесите URL ваше Мастодон инстанце @@ -139,7 +98,6 @@ Reload освежи ->>>>>>> 33d54bdda818c7a41c3a8cc8c5f09cb682584d8e @@ -289,34 +247,6 @@ Дозволите овој апликацији да користи ваш Mastodon налог -<<<<<<< HEAD - Disable this option if you want to preserve your data connection - - - - About - - - - Credits - - - - UI/UX design and development - - - - This application is a forked version of the Mastodon client Tooter, originally developed by Duško Angirević, which fixes various bugs. Source code on <a href='https://github.com/molan-git/harbour-tooter'>GitHub</a>. - - - - Load Images in Toots - - - - Maintainer of this release - -======= Load images in toots Прикажи слике у објавама @@ -339,7 +269,6 @@ UI/UX design and development интерфејс дизајн и развој ->>>>>>> 33d54bdda818c7a41c3a8cc8c5f09cb682584d8e Visual identity @@ -362,11 +291,7 @@ -<<<<<<< HEAD - Chinese translation -======= Development and maintenence ->>>>>>> 33d54bdda818c7a41c3a8cc8c5f09cb682584d8e @@ -389,19 +314,19 @@ VisualContainer Unboost - + Уклони разглас Boost - + Разгласи Unfavorite - + Уклони из омиљених Favorite - + Омиљено diff --git a/translations/harbour-tooter-sv.ts b/translations/harbour-tooter-sv.ts index ba0e6ad..e91a9cf 100644 --- a/translations/harbour-tooter-sv.ts +++ b/translations/harbour-tooter-sv.ts @@ -33,35 +33,6 @@ Emojis Emojis -<<<<<<< HEAD - - - Tap to insert - Tryck för att infoga - - - Write your warning here - - - - Public - - - - Unlisted - - - - Followers-only - - - - Direct - - - - What's on your mind? -======= Tap to insert @@ -89,7 +60,6 @@ Direct ->>>>>>> 33d54bdda818c7a41c3a8cc8c5f09cb682584d8e @@ -118,24 +88,15 @@ -<<<<<<< HEAD - 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. - - - - Reload - -======= Enter an Mastodon instance URL Fyll i URL till Mastodoninstans 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. Mastodon är ett fritt och öppet socialt nätverk byggt på öppen källkod. Ett decentraliserat alternativ till kommersiella plattformar, vilket undviker att ett ensamt företag monopoliserar din kommunikation. Välj en server du litar på --- beroende på vilken du väljer, kan du interagera med alla andra. Vem som helst kan köra deras egen Mastodoninstans och delta i nätverket. Även du! ->>>>>>> 33d54bdda818c7a41c3a8cc8c5f09cb682584d8e - Enter a valid Mastodon instance URL + Reload @@ -286,34 +247,6 @@ Godkänn denna app att använda ditt Mastodon-konto på dina vägnar -<<<<<<< HEAD - Disable this option if you want to preserve your data connection - - - - About - - - - Credits - - - - UI/UX design and development - - - - This application is a forked version of the Mastodon client Tooter, originally developed by Duško Angirević, which fixes various bugs. Source code on <a href='https://github.com/molan-git/harbour-tooter'>GitHub</a>. - - - - Load Images in Toots - - - - Maintainer of this release - -======= Load images in toots Ladda bilder i toots @@ -336,7 +269,6 @@ UI/UX design and development UI/UX design och utveckling ->>>>>>> 33d54bdda818c7a41c3a8cc8c5f09cb682584d8e Visual identity @@ -359,11 +291,7 @@ -<<<<<<< HEAD - Chinese translation -======= Development and maintenence ->>>>>>> 33d54bdda818c7a41c3a8cc8c5f09cb682584d8e @@ -386,19 +314,19 @@ VisualContainer Unboost - + Avpuffa Boost - + Puffa Unfavorite - + Avfavorisera Favorite - + Favorisera diff --git a/translations/harbour-tooter-zh_CN.ts b/translations/harbour-tooter-zh_CN.ts index 70ac5a9..417161c 100644 --- a/translations/harbour-tooter-zh_CN.ts +++ b/translations/harbour-tooter-zh_CN.ts @@ -17,7 +17,26 @@ said - 说过 + 说的 + + + + Browser + + Open in Browser + 在浏览器打开 + + + Web mode + 网页模式 + + + Reading mode + 阅读模式 + + + Copy URL + 复制链接 @@ -26,6 +45,26 @@ Conversation 对话 + + Content warning! + 内容警告! + + + public + 公共区域 + + + unlisted + 未列的 + + + followers only + 仅关注者 + + + direct + 直接 + Delete 删除 @@ -36,36 +75,7 @@ Tap to insert - 点击以插入 - - -<<<<<<< HEAD:translations/harbour-tooter-zh_CN.ts - Write your warning here - 在此编写你的警告信息 -======= - Content warning! - 内容警告! ->>>>>>> 33d54bdda818c7a41c3a8cc8c5f09cb682584d8e:translations/harbour-tooter-zh.ts - - - Public - 公共区域 - - - Unlisted - 不公开 - - - Followers-only - 仅关注者 - - - Direct - 私信 - - - What's on your mind? - 有何想法? + 点击插入 @@ -91,12 +101,6 @@ Instance 实例 -<<<<<<< HEAD:translations/harbour-tooter-zh_CN.ts - - - 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. - ​Mastodon 是一个自由且开源的社交网络。一个去中心化的商业平台的替代品。它能够避免某个公司垄断你的通讯方式的风险。选择一个你所信任的服务器——无论你选择什么,你都可以和其他人进行互动。任何人都能运行他们自己的 Mastodon 实例,然后无缝加入社交网站。 -======= Enter an Mastodon instance URL @@ -106,20 +110,14 @@ 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. ​Mastodon 是一个自由且开源的社交网络。一个去中心的商业平台的替代品。它能够避免某个公司垄断你的通讯方式的风险。选择一个你所信任的服务器——无论你选择什么,你都可以和其他人进行互动。任何人都能运行他们自己的 Mastodon 实例,然后无缝加入社交网站。 ->>>>>>> 33d54bdda818c7a41c3a8cc8c5f09cb682584d8e:translations/harbour-tooter-zh.ts Reload 重新加载 -<<<<<<< HEAD:translations/harbour-tooter-zh_CN.ts - Enter a valid Mastodon instance URL - 输入一个有效的 Mastodon 实例 URL -======= Enter an Mastodon instance URL ->>>>>>> 33d54bdda818c7a41c3a8cc8c5f09cb682584d8e:translations/harbour-tooter-zh.ts @@ -184,27 +182,19 @@ please wait... - 稍等片刻...... + 请等候...... Profile Unfollow -<<<<<<< HEAD:translations/harbour-tooter-zh_CN.ts - 取消关注 - - - Follow request sent! - 已寄出关注请求! -======= 未关注 Follow request sent! 关注请求已寄出! ->>>>>>> 33d54bdda818c7a41c3a8cc8c5f09cb682584d8e:translations/harbour-tooter-zh.ts Following @@ -263,73 +253,6 @@ Remove Account -<<<<<<< HEAD:translations/harbour-tooter-zh_CN.ts - 移除账号 - - - Add Account - 添加账号 - - - Deauthorize this app and remove your account - 取消授权此软件并移除你的账号 - - - Authorize this app to use your Mastodon account in your behalf - 授权此软件使用你的 Mastodon 账号 - - - Disable this option if you want to preserve your data connection - 如果你想保护你的数据连接,请禁用此选项 - - - About - 关于 - - - Credits - 信誉 - - - UI/UX design and development - UI/UX设计及开发 - - - This application is a forked version of the Mastodon client Tooter, originally developed by Duško Angirević, which fixes various bugs. Source code on <a href='https://github.com/molan-git/harbour-tooter'>GitHub</a>. - 此软件是一个 Mastodon 客户端 Tooter,原作者为 Duško Angirević。该分支修复了大量缺陷,你可以在此处找到源代码 <a href='https://github.com/molan-git/harbour-tooter'>GitHub</a> 。 - - - Load Images in Toots - 在嘟嘟加载图片 - - - Maintainer of this release - 该发布的维护者 - - - Visual identity - 视觉识别 - - - Occitan & French translation - 奥克西坦语及法语翻译 - - - Dutch translation - 尼德兰语翻译 - - - Spanish translation - 西班牙语翻译 - - - Added README file - 添加 README 文件 - - - Chinese translation - 汉语翻译 -======= 移除账户 @@ -367,7 +290,6 @@ UI/UX design and development UI/UX 设计及开发 ->>>>>>> 33d54bdda818c7a41c3a8cc8c5f09cb682584d8e:translations/harbour-tooter-zh.ts @@ -397,16 +319,12 @@ Unfavorite -<<<<<<< HEAD:translations/harbour-tooter-zh_CN.ts - 取消关注 -======= 取消收藏 ->>>>>>> 33d54bdda818c7a41c3a8cc8c5f09cb682584d8e:translations/harbour-tooter-zh.ts Favorite - 关注 + 收藏 diff --git a/translations/harbour-tooter.ts b/translations/harbour-tooter.ts index b2825fa..03bddc9 100644 --- a/translations/harbour-tooter.ts +++ b/translations/harbour-tooter.ts @@ -33,35 +33,6 @@ Emojis Emojis -<<<<<<< HEAD - - - Tap to insert - Tap to insert - - - Write your warning here - - - - Public - - - - Unlisted - - - - Followers-only - - - - Direct - - - - What's on your mind? -======= Tap to insert @@ -89,7 +60,6 @@ Direct ->>>>>>> 33d54bdda818c7a41c3a8cc8c5f09cb682584d8e @@ -117,6 +87,10 @@ Instance + + Enter an Mastodon instance URL + + 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. @@ -125,10 +99,6 @@ Reload - - Enter a valid Mastodon instance URL - - MainPage @@ -276,12 +246,20 @@ Authorize this app to use your Mastodon account in your behalf + + Load images in toots + + Disable this option if you want to preserve your data connection - About + Translate + + + + Use Transifex to help with app translation to your language @@ -292,42 +270,6 @@ UI/UX design and development - - This application is a forked version of the Mastodon client Tooter, originally developed by Duško Angirević, which fixes various bugs. Source code on <a href='https://github.com/molan-git/harbour-tooter'>GitHub</a>. - - - - Load Images in Toots - - - - Maintainer of this release - - - - Visual identity - - - - Occitan & French translation - - - - Dutch translation - - - - Spanish translation - - - - Added README file - - - - Chinese translation - - Visual identity @@ -372,19 +314,19 @@ VisualContainer Unboost - + Unboost Boost - + Boost Unfavorite - + Unfavorite Favorite - + Favorite From b392d5b12c467d951fe4b0e5a629b245185ca26e Mon Sep 17 00:00:00 2001 From: molan-git <59296158+molan-git@users.noreply.github.com> Date: Mon, 27 Apr 2020 17:31:25 +0200 Subject: [PATCH 018/110] Update Settings.qml --- qml/pages/Settings.qml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/qml/pages/Settings.qml b/qml/pages/Settings.qml index e61e9c5..cc06281 100644 --- a/qml/pages/Settings.qml +++ b/qml/pages/Settings.qml @@ -29,7 +29,7 @@ Page { icon.source: Logic.conf['login'] ? "image://theme/icon-m-people" : "image://theme/icon-m-add" - onCheckedChanged: { + onCheckedChanged: { remorsePopup.execute(removeAccount.text, function() { busy = true; checked = false; From 33c2f867f9597e8a399c3b74bc45b8c7e04755d5 Mon Sep 17 00:00:00 2001 From: molan-git <59296158+molan-git@users.noreply.github.com> Date: Mon, 27 Apr 2020 17:34:58 +0200 Subject: [PATCH 019/110] Update Settings.qml --- qml/pages/Settings.qml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/qml/pages/Settings.qml b/qml/pages/Settings.qml index 39fcf10..aafccae 100644 --- a/qml/pages/Settings.qml +++ b/qml/pages/Settings.qml @@ -113,12 +113,6 @@ Page { } Repeater { model: ListModel { - ListElement { - name: "molan" - desc: qsTr("Maintainer of this release") - mastodon: "" - mail: "mol_an@sunrise.ch" - } ListElement { name: "Duško Angirević" desc: qsTr("UI/UX design and development") @@ -131,6 +125,12 @@ Page { mastodon: "" mail: "micotakis@gmail.com" } + ListElement { + name: "Molan" + desc: qsTr("Development and maintenance") + mastodon: "" + mail: "mol_an@sunrise.ch" + } ListElement { name: "Quentin PAGÈS / Quenti ♏" desc: qsTr("Occitan & French translation") From d196727d23fd57a351d35cfe97bfb8900c92a1e1 Mon Sep 17 00:00:00 2001 From: molan-git <59296158+molan-git@users.noreply.github.com> Date: Mon, 27 Apr 2020 17:40:16 +0200 Subject: [PATCH 020/110] Added Chinsese contributor --- qml/pages/Settings.qml | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/qml/pages/Settings.qml b/qml/pages/Settings.qml index cc06281..05c3398 100644 --- a/qml/pages/Settings.qml +++ b/qml/pages/Settings.qml @@ -118,6 +118,12 @@ Page { mastodon: "Quenti@framapiaf.org" mail: "" } + ListElement { + name: "Luchy Kon / dashinfantry" + desc: qsTr("Chinese translation") + mastodon: "" + mail: "dashinfantry@gmail.com" + } ListElement { name: "André Koot" desc: qsTr("Dutch translation") @@ -130,7 +136,6 @@ Page { mastodon: "" mail: "" } - ListElement { name: "Mohamed-Touhami MAHDI" desc: qsTr("Added README file") From 2ff6742d7f4dd8fff204cf5c33cf8ecfc355c6b8 Mon Sep 17 00:00:00 2001 From: molan-git <59296158+molan-git@users.noreply.github.com> Date: Mon, 27 Apr 2020 17:41:09 +0200 Subject: [PATCH 021/110] Added Chinese contributor From 64af509c2f9e4899188cad8df95c7bfffde70392 Mon Sep 17 00:00:00 2001 From: molan-git <59296158+molan-git@users.noreply.github.com> Date: Mon, 27 Apr 2020 17:42:04 +0200 Subject: [PATCH 022/110] Added Chinese contributor From bef74d3857268f448c2aa77e4b7e4a22627d5bb0 Mon Sep 17 00:00:00 2001 From: molan-git <59296158+molan-git@users.noreply.github.com> Date: Mon, 27 Apr 2020 17:42:59 +0200 Subject: [PATCH 023/110] Added Chinese contributor --- qml/pages/Settings.qml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/qml/pages/Settings.qml b/qml/pages/Settings.qml index 05c3398..19786f5 100644 --- a/qml/pages/Settings.qml +++ b/qml/pages/Settings.qml @@ -12,7 +12,7 @@ Page { VerticalScrollDecorator {} - Column { + Column {a id: column spacing: Theme.paddingSmall width: parent.width From 222c112f6f5aa5db0c91c35f7a14b753753f1d20 Mon Sep 17 00:00:00 2001 From: molan-git <59296158+molan-git@users.noreply.github.com> Date: Mon, 27 Apr 2020 17:43:10 +0200 Subject: [PATCH 024/110] Added Chinese contributor --- qml/pages/Settings.qml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/qml/pages/Settings.qml b/qml/pages/Settings.qml index 19786f5..05c3398 100644 --- a/qml/pages/Settings.qml +++ b/qml/pages/Settings.qml @@ -12,7 +12,7 @@ Page { VerticalScrollDecorator {} - Column {a + Column { id: column spacing: Theme.paddingSmall width: parent.width From d067dd0807be7c623d5ecc63d73d749fc78d409d Mon Sep 17 00:00:00 2001 From: molan-git <59296158+molan-git@users.noreply.github.com> Date: Tue, 28 Apr 2020 07:24:51 +0200 Subject: [PATCH 025/110] Fix writing mistake --- qml/pages/LoginPage.qml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/qml/pages/LoginPage.qml b/qml/pages/LoginPage.qml index 19f0948..235315c 100644 --- a/qml/pages/LoginPage.qml +++ b/qml/pages/LoginPage.qml @@ -62,7 +62,7 @@ Page { TextField { id: instance focus: true - label: qsTr("Enter an Mastodon instance URL") + label: qsTr("Enter a valid Mastodon instance URL") text: "https://" placeholderText: "https://mastodon.social" width: parent.width From cdfd67b907a4eab7097a505e1e68a578280189c8 Mon Sep 17 00:00:00 2001 From: molan-git <59296158+molan-git@users.noreply.github.com> Date: Tue, 28 Apr 2020 07:30:37 +0200 Subject: [PATCH 026/110] Add files via upload --- README.md | 16 ++++------------ 1 file changed, 4 insertions(+), 12 deletions(-) diff --git a/README.md b/README.md index 60f78f2..f1631d5 100644 --- a/README.md +++ b/README.md @@ -1,18 +1,10 @@ -# Tooter [Fork] +# Tooter -## About Tooter is Mastodon client for Sailfish OS. It is a free, open-source social network. A decentralized alternative to commercial platforms, it avoids the risks of a single company monopolizing your communication. -This is a fork of dysk0/harbour-tooter. The app can by downloaded here: https://openrepos.net/content/molan/tooter-fork. +## Screenshot + -## Build -Clone / download this repository and import it in your SailfishOS IDE using the harbour-tooter.pro project file. No additional configuration needed. - -## Contributions -Contributions to this project are very welcome, since I don't have the resources and time to implement and fix everything Tooter still misses or lacks. Thank you! - -## Screenshots - ## License -Licensed under GNU GPLv3 +`// TODO` From ff72652adc8985985bb204cf631b884676b9cc30 Mon Sep 17 00:00:00 2001 From: molan-git <59296158+molan-git@users.noreply.github.com> Date: Tue, 28 Apr 2020 08:48:33 +0200 Subject: [PATCH 027/110] Updated translations --- translations/harbour-tooter-de.ts | 104 ++++++++++--------- translations/harbour-tooter-el.ts | 68 ++++++------ translations/harbour-tooter-es.ts | 72 +++++++------ translations/harbour-tooter-fi.ts | 40 +++---- translations/harbour-tooter-fr.ts | 94 +++++++++-------- translations/harbour-tooter-nl.ts | 74 ++++++------- translations/harbour-tooter-nl_BE.ts | 74 ++++++------- translations/harbour-tooter-oc.ts | 70 +++++++------ translations/harbour-tooter-pl.ts | 122 +++++++++++----------- translations/harbour-tooter-ru.ts | 70 +++++++------ translations/harbour-tooter-sr.ts | 74 ++++++------- translations/harbour-tooter-sv.ts | 70 +++++++------ translations/harbour-tooter-zh_CN.ts | 150 ++++++++++++++------------- translations/harbour-tooter.ts | 48 +++++---- 14 files changed, 594 insertions(+), 536 deletions(-) diff --git a/translations/harbour-tooter-de.ts b/translations/harbour-tooter-de.ts index e6f310d..4ef1a9d 100644 --- a/translations/harbour-tooter-de.ts +++ b/translations/harbour-tooter-de.ts @@ -13,7 +13,7 @@ boosted - verstärkt + geboostet said @@ -40,27 +40,27 @@ Write your warning here - - - - What's on your mind? - + Füge eine Inhaltswarnung hinzu Public - + Öffentlich Unlisted - + Nicht gelistet Followers-only - + Nur Follower Direct - + Direkt + + + What's on your mind? + Was möchtest du mitteilen? @@ -85,19 +85,19 @@ Instance - - - - Enter an Mastodon instance URL - Gib eine Mastadon Instance URL ein + Instanz 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. - Mastodon ist ein freies, auf OpenSource begründetes Soziales Netzwerk. Es bietet eine dezentralisierte Alternative zu den kommerziellen Plattformen, vermeidet aber das Risiko, dass ein einzelnes Unternehmen das Monopol auf deine gesamte Kommunikation erhält. Wähle selbst einen Server (Instanz) der du vertraust - egal welche du wählst, du kannst mit allen kommunizieren. Oder du betreibst deine eigene Mastodon Instanz und verbindest dich nahtlos mit dem Mastodon Netzwerk. + Mastodon ist ein freies, quelloffenes soziales Netzwerk. Im Gegensatz zu kommerziellen Plattformen, ist Mastodon als dezentrales Netzwerk konzipiert. Somit wird das Risiko vermieden, dass ein einziges Unternehmen die volle Kontrolle über die Kommunikation der Benutzer hat. Benutzer können einer beliebigen Instanz beitreten oder selbst eine eigene betreiben. Reload - + Neu laden + + + Enter a valid Mastodon instance URL + Eine gültige Mastodon-Instanz URL eingeben @@ -128,14 +128,14 @@ Federated - Vereinigt + Föderiert MiniStatus boosted - verstärkt + geboostet favourited @@ -217,11 +217,11 @@ Bio - + Bio Open Profile in Browser - + Profil in Browser öffnen @@ -232,74 +232,78 @@ Remove Account - Account löschen + Konto entfernen Add Account - Account hinzufügen + Konto hinzufügen Deauthorize this app and remove your account - Der App Autorisierung entziehen und Account entfernen + Konto entfernen und für diese Anwendung deaktivieren Authorize this app to use your Mastodon account in your behalf - Autorisiere diese App deinen Mastodon Account in deinem Namen zu nutzen - - - Load images in toots - Lade Bilder in den Toots + Zugriff durch diese Anwendung auf eigenes Mastodon-Konto erlauben Disable this option if you want to preserve your data connection - Deaktiviere diese Option um deinen Datenverbindung zu schonen + Diese Option deaktivieren um Datenvolumen zu sparen - Translate - Übersetzen - - - Use Transifex to help with app translation to your language - Nutze Transifex um bei der Übersetzung in deine Sprache zu helfen + About + Über Credits - Credits + Entwickler UI/UX design and development - UI/UX Design und Implementierung + UI/UX-Gestaltung und Entwicklung + + + This application is a forked version of the Mastodon client Tooter, originally developed by Duško Angirević, which fixes various bugs. Source code on <a href='https://github.com/molan-git/harbour-tooter'>GitHub</a>. + Dies ist ein Fork und Weiterentwicklung der Mastodon-Anwendung Tooter, welche urpsrünglich von Duško Angirević entwickelt wurde. Quellcode auf <a href='https://github.com/molan-git/harbour-tooter'>GitHub</a>. + + + Load Images in Toots + Bilder in Toots laden + + + Maintainer of this release + Entwicklung dieser Version Visual identity - + Visuelle Identität Occitan & French translation - + Franzözische Übersetzung Dutch translation - + Niederländische Übersetzung Spanish translation - + Spanische Übersetzung Added README file - + README-Datei erstellt - Development and maintenence - + Chinese translation + Chinesische Übersetzung Toot boosted - verstärkt + geboostet favourited @@ -314,19 +318,19 @@ VisualContainer Unboost - Schwäche + Nicht boosten Boost - Verstärke + Boosten Unfavorite - Aus Favoriten entfernen + Favorite - Zu Favoriten + diff --git a/translations/harbour-tooter-el.ts b/translations/harbour-tooter-el.ts index c3f464a..b4edd31 100644 --- a/translations/harbour-tooter-el.ts +++ b/translations/harbour-tooter-el.ts @@ -42,10 +42,6 @@ Write your warning here - - What's on your mind? - - Public @@ -62,6 +58,10 @@ Direct + + What's on your mind? + + ImageFullScreen @@ -81,14 +81,10 @@ LoginPage Login - Σύνδεση - - - Instance - Enter an Mastodon instance URL + Instance @@ -99,6 +95,10 @@ Reload + + Enter a valid Mastodon instance URL + + MainPage @@ -228,47 +228,51 @@ Settings Settings - Ρυθμίσεις + Ρυθμίσεις Remove Account - Αφαίρεση λογαριασμού + Add Account - Προσθήκη λογαριασμού + Deauthorize this app and remove your account - Άρση της αδειοδότησης της εφαρμογής και αφαίρεση του λογαριασμού σας + Authorize this app to use your Mastodon account in your behalf - Να επιτρέπεται στην εφαρμογή να χρησιμοποιεί τον λογαριασμό σας στο Mastodon εκ μέρους σας - - - Load images in toots - Φόρτωση των εικόνων στα toot + Disable this option if you want to preserve your data connection - Απενεργοποιήστε αυτήν την επιλογή αν θέλετε να διατηρήσετε την σύνδεση των δεδομένων σας + - Translate - Μετάφραση - - - Use Transifex to help with app translation to your language - Χρησιμοποιήστε το Transifex για να βοηθήσετε την μετάφραση της εφαρμογής στην γλώσσα σας + About + Credits - Ευχαριστίες + UI/UX design and development - UI/UX σχεδιασμός και ανάπτυξη + + + + This application is a forked version of the Mastodon client Tooter, originally developed by Duško Angirević, which fixes various bugs. Source code on <a href='https://github.com/molan-git/harbour-tooter'>GitHub</a>. + + + + Load Images in Toots + + + + Maintainer of this release + Visual identity @@ -291,7 +295,7 @@ - Development and maintenence + Chinese translation @@ -314,19 +318,19 @@ VisualContainer Unboost - Αναίρεση προώθησης + Boost - Προώθηση + Unfavorite - Αφαίρεση από τους σελιδοδείκτες + Favorite - Σελιδοδείκτης + diff --git a/translations/harbour-tooter-es.ts b/translations/harbour-tooter-es.ts index 7f6acfd..3d7aeae 100644 --- a/translations/harbour-tooter-es.ts +++ b/translations/harbour-tooter-es.ts @@ -40,27 +40,27 @@ Write your warning here - - - - What's on your mind? - + Escribe aquí tu aviso Public - + Público Unlisted - + Sin federar Followers-only - + Sólo seguidores Direct - + Directo + + + What's on your mind? + ¿Qué tienes en mente? @@ -87,18 +87,18 @@ Instance Instancia - - Enter an Mastodon instance URL - Introduce URL de una instancia de Mastodon - 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. - Mastodon es una red social gratuita y de código abierto. Una alternativa descentralizada a las plataformas comerciales, evita los riesgos de una única compañía que monopolice tu comunicación. Elije un servidor en el que confíes — cualquiera que elijas, puede interactuar con todos los demás. Cualquiera puede ejecutar su propia instancia de Mastodon y participar en la red social sin problemas. + Mastodon es una red social libre y de código abierto. Una alternativa descentralizada a las plataformas comerciales, evita los riesgos de una única compañía que monopolice tu comunicación. Elije un servidor en el que confíes — cualquiera que elijas, puede interactuar con todos los demás. Cualquiera puede ejecutar su propia instancia de Mastodon y participar en la red social sin problemas. Reload Volver a cargar + + Enter a valid Mastodon instance URL + Introduce una URL de instancia de Mastodon válida + MainPage @@ -217,11 +217,11 @@ Bio - + Bio Open Profile in Browser - + Abrir perfil en navegador @@ -244,23 +244,15 @@ Authorize this app to use your Mastodon account in your behalf - Autoriza a esta aplicación a usar tu cuenta de Mastodon en tu nombre - - - Load images in toots - Cargar imágenes en toots + Autoriza a esta aplicación para usar tu cuenta de Mastodon en tu nombre Disable this option if you want to preserve your data connection Deshabilita esta opción si quieres ahorrar en tu conexión de datos - Translate - Traducir - - - Use Transifex to help with app translation to your language - Usa Transifex para ayudar en la traducción a tu idioma de esta aplicación + About + Acerca de Credits @@ -270,29 +262,41 @@ UI/UX design and development Diseño UI/UX y desarrollo + + This application is a forked version of the Mastodon client Tooter, originally developed by Duško Angirević, which fixes various bugs. Source code on <a href='https://github.com/molan-git/harbour-tooter'>GitHub</a>. + Esta aplicación es una versión bifurcada del cliente de Mastodon Tooter, desarrollada originalmente por Duško Angirević, que corrige varios errores. Código fuente en <a href='https://github.com/molan-git/harbour-tooter'>GitHub</a>. + + + Load Images in Toots + Cargar imágenes en toots + + + Maintainer of this release + Mantenedor de esta publicación + Visual identity - + Identidad visual Occitan & French translation - + Traducción al occitano y francés Dutch translation - + Traducción al holandés Spanish translation - + Traducción al español Added README file - + Añadido archivo README - Development and maintenence - + Chinese translation + Traducción al chino diff --git a/translations/harbour-tooter-fi.ts b/translations/harbour-tooter-fi.ts index daf06a7..d15d70b 100644 --- a/translations/harbour-tooter-fi.ts +++ b/translations/harbour-tooter-fi.ts @@ -42,10 +42,6 @@ Write your warning here - - What's on your mind? - - Public @@ -62,6 +58,10 @@ Direct + + What's on your mind? + + ImageFullScreen @@ -87,10 +87,6 @@ Instance - - Enter an Mastodon instance URL - - 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. @@ -99,6 +95,10 @@ Reload + + Enter a valid Mastodon instance URL + + MainPage @@ -246,20 +246,12 @@ Authorize this app to use your Mastodon account in your behalf - - Load images in toots - - Disable this option if you want to preserve your data connection - Translate - - - - Use Transifex to help with app translation to your language + About @@ -270,6 +262,18 @@ UI/UX design and development + + This application is a forked version of the Mastodon client Tooter, originally developed by Duško Angirević, which fixes various bugs. Source code on <a href='https://github.com/molan-git/harbour-tooter'>GitHub</a>. + + + + Load Images in Toots + + + + Maintainer of this release + + Visual identity @@ -291,7 +295,7 @@ - Development and maintenence + Chinese translation diff --git a/translations/harbour-tooter-fr.ts b/translations/harbour-tooter-fr.ts index d41d682..89708bd 100644 --- a/translations/harbour-tooter-fr.ts +++ b/translations/harbour-tooter-fr.ts @@ -40,27 +40,27 @@ Write your warning here - - - - What's on your mind? - + Avertissement du contenu Public - + Public Unlisted - + Non coté Followers-only - + Que Followers Direct - + Direct + + + What's on your mind? + A quoi penses-tu? @@ -87,18 +87,18 @@ Instance Instance - - Enter an Mastodon instance URL - Saisissez l’URL d’une instance Mastodon - 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. - Mastodon est un réseau libre et open source. Il s’agit d'une alternative aux plateformes commerciales, pour éviter qu'une seule entreprise monopolise vos communications. Choisissez un serveur dans lequel vous avez confiance - quelque que soit votre choix vous pourrez interagir avec d’autres personnes. Tout le monde peut monter sa propre instance Mastodon et participer rendre le réseau plus robuste. + Mastodon est un réseau social et logiciel à source ouverte de microblog auto-hébergé, libre, distribué et acentré. Il permet de partager des messages, images et autres contenus. Mastodon peut être fédéré à un réseau d'instances capables de communiquer entre elles. Reload Recharger + + Enter a valid Mastodon instance URL + Entrer l'URL d'une instance de Mastodon + MainPage @@ -221,79 +221,83 @@ Open Profile in Browser - + Ouvrir dans le navigateur Settings Settings - Préférences + Paramètres Remove Account - Supprimer le compte + Enlever compte Add Account - Ajouter un compte + Ajouter compte Deauthorize this app and remove your account - Supprimer votre compte de l'application + Désautoriser cette application et enlever votre compte Authorize this app to use your Mastodon account in your behalf - Autoriser cette application à utiliser votre compte Mastodon en votre nom - - - Load images in toots - Charger les images des pouets + Autoriser cette application d'utiliser votre compte Disable this option if you want to preserve your data connection - Désactivez cette option si vous souhaitez économiser votre consommation de données + Désactiver cette option pour économiser des données mobiles - Translate - Traduire - - - Use Transifex to help with app translation to your language - Utilisez Transifex pour aider à la traduction de l'application dans votre langue + About + À propos Credits - Crédits + Développement UI/UX design and development - design et développement de l'interface + Design UI/UX et développement + + + This application is a forked version of the Mastodon client Tooter, originally developed by Duško Angirević, which fixes various bugs. Source code on <a href='https://github.com/molan-git/harbour-tooter'>GitHub</a>. + Cette application est un fork de Tooter (développée par Duško Angirević). Cette version continue le développement et corrige plusieurs bugs trouvés. + + + Load Images in Toots + Charger images dans pouets + + + Maintainer of this release + Développement de cette version Visual identity - + Identité visuelle Occitan & French translation - + Traduction français Dutch translation - + Traduction néerlandaise Spanish translation - + Traduction espagnole + + + Chinese translation + Traduction chinoise Added README file - - Development and maintenence - - Toot @@ -314,19 +318,19 @@ VisualContainer Unboost - ne plus partager + Boost - partager + Unfavorite - supprimer de ses favoris + Defavoriser Favorite - ajouter aux favoris + Favoriser diff --git a/translations/harbour-tooter-nl.ts b/translations/harbour-tooter-nl.ts index ef0f5d3..896915a 100644 --- a/translations/harbour-tooter-nl.ts +++ b/translations/harbour-tooter-nl.ts @@ -42,10 +42,6 @@ Write your warning here - - What's on your mind? - - Public @@ -62,6 +58,10 @@ Direct + + What's on your mind? + + ImageFullScreen @@ -81,23 +81,23 @@ LoginPage Login - Inloggen + Instance - Instantie - - - Enter an Mastodon instance URL - Voer de URL van een Mastodon-instantie in + 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. - Mastodon is een vrij sociaal netwerk. Als gedecentraliseerd alternatief voor commerciële platformen, vermijdt het de risico’s van een enkel bedrijf dat je communicatie monopoliseert. Kies een server die je vertrouwt — welke je ook kiest, je kunt met iedereen communiceren. Iedereen kan zelf een Mastodon-instantie hebben en naadloos deelnemen aan het sociale netwerk. + Reload - Herladen + + + + Enter a valid Mastodon instance URL + @@ -228,47 +228,51 @@ Settings Settings - Instellingen + Instellingen Remove Account - Verwijderen account + Add Account - Toevoegen account + Deauthorize this app and remove your account - Trek autorisaties van deze app in en verwijder je account + Authorize this app to use your Mastodon account in your behalf - Autoriseer deze app om je Mastodon namens jou te gebruiken - - - Load images in toots - Laden afbeeldingen in toots + Disable this option if you want to preserve your data connection - Schakel deze optie uit als je je dataverbinding wilt behouden + - Translate - Vertalen - - - Use Transifex to help with app translation to your language - Gebruik Transifex om deze app te helpen vertalen in jouw taal + About + Credits - Credits + UI/UX design and development - UI/UX ontwerp en ontwikkeling + + + + This application is a forked version of the Mastodon client Tooter, originally developed by Duško Angirević, which fixes various bugs. Source code on <a href='https://github.com/molan-git/harbour-tooter'>GitHub</a>. + + + + Load Images in Toots + + + + Maintainer of this release + Visual identity @@ -291,7 +295,7 @@ - Development and maintenence + Chinese translation @@ -314,19 +318,19 @@ VisualContainer Unboost - Unboost + Boost - Boost + Unfavorite - Demarkeren als favoriet + Favorite - Markeren als favoriet + diff --git a/translations/harbour-tooter-nl_BE.ts b/translations/harbour-tooter-nl_BE.ts index 878cbfc..b246e6c 100644 --- a/translations/harbour-tooter-nl_BE.ts +++ b/translations/harbour-tooter-nl_BE.ts @@ -42,10 +42,6 @@ Write your warning here - - What's on your mind? - - Public @@ -62,6 +58,10 @@ Direct + + What's on your mind? + + ImageFullScreen @@ -81,23 +81,23 @@ LoginPage Login - Inloggen + Instance - Instantie - - - Enter an Mastodon instance URL - Voert den URL van een Mastodon-instantie in + 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. - Mastodon is e vrij sociaal netwerk. Als gedecentraliseerd alternatief voor commerciële platformen, vermijdt het de risico’s van één enkel bedrijf dat uw communicatie monopoliseert. Kiest ne server die ge vertrouwt — dewelken dat ge ook kiest, ge kunt met iedereen communiceren. Iedereen kan zelf een Mastodon-instantie hebben en naadloos deelnemen aan het sociaal netwerk. + Reload - Herladen + + + + Enter a valid Mastodon instance URL + @@ -228,47 +228,51 @@ Settings Settings - Instellingen + Instellingen Remove Account - Account verwijderen + Add Account - Account toevoegen + Deauthorize this app and remove your account - Trekt autorisaties van dezen app in en verwijdert uwen account + Authorize this app to use your Mastodon account in your behalf - Autoriseert dezen app voor uwe Mastodon-account namens u te gebruiken - - - Load images in toots - Afbeeldingen in toots laden + Disable this option if you want to preserve your data connection - Schakelt dees optie uit als ge uw verbinding wilt behouden + - Translate - Vertalen - - - Use Transifex to help with app translation to your language - Gebruikt Transifex voor te helpen met dezen app in uw taal te vertalen + About + Credits - Credits + UI/UX design and development - UI/UX-ontwerp en -ontwikkeling + + + + This application is a forked version of the Mastodon client Tooter, originally developed by Duško Angirević, which fixes various bugs. Source code on <a href='https://github.com/molan-git/harbour-tooter'>GitHub</a>. + + + + Load Images in Toots + + + + Maintainer of this release + Visual identity @@ -291,7 +295,7 @@ - Development and maintenence + Chinese translation @@ -314,19 +318,19 @@ VisualContainer Unboost - Ontboosten + Boost - Boosten + Unfavorite - Duim verwijderen + Favorite - Duim toevoegen + diff --git a/translations/harbour-tooter-oc.ts b/translations/harbour-tooter-oc.ts index 2b226a0..4969598 100644 --- a/translations/harbour-tooter-oc.ts +++ b/translations/harbour-tooter-oc.ts @@ -42,10 +42,6 @@ Write your warning here - - What's on your mind? - - Public @@ -62,6 +58,10 @@ Direct + + What's on your mind? + + ImageFullScreen @@ -81,24 +81,24 @@ LoginPage Login - Connexion + Instance - - Enter an Mastodon instance URL - Picatz l’URL d’una instància Mastodon - 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. - Mastodon es un malhum liure e open source. Es una alternativa descentralizada a las plataformas comercialas, per empachar qu'una sola entrepresa monopolize vòstras comunicacions. Causissètz un servidor que vos fisatz - qualque siá vòstre causida poiretz interagir amb los autres. Tot lo monde pòt montar sa pròpria instància Mastodon e atal participar a construire un malhum mai solid. + Reload + + Enter a valid Mastodon instance URL + + MainPage @@ -228,47 +228,51 @@ Settings Settings - Paramètres + Parmètres Remove Account - Levar un compte + Add Account - Ajustar un compte + Deauthorize this app and remove your account - Revocar l’aplicacion e levar vòstre compte + Authorize this app to use your Mastodon account in your behalf - Autorizar aquesta aplicacion a utilizar vòstre compte Mastodon per vos - - - Load images in toots - Cargar los imatges dels tuts + Disable this option if you want to preserve your data connection - Desactivar aquesta opcion per estalviar vòstra connexion de donadas + - Translate - Traduire - - - Use Transifex to help with app translation to your language - Utilizar Transifex per ajudar a traduire l’aplicacion dins vòstra lenga + About + Credits - Crèdits + UI/UX design and development - UI/UX design e desvlopament + + + + This application is a forked version of the Mastodon client Tooter, originally developed by Duško Angirević, which fixes various bugs. Source code on <a href='https://github.com/molan-git/harbour-tooter'>GitHub</a>. + + + + Load Images in Toots + + + + Maintainer of this release + Visual identity @@ -291,7 +295,7 @@ - Development and maintenence + Chinese translation @@ -314,19 +318,19 @@ VisualContainer Unboost - Partejar pas mai + Boost - Partejar + Unfavorite - Levar dels favorits + Favorite - Ajustar als favorits + diff --git a/translations/harbour-tooter-pl.ts b/translations/harbour-tooter-pl.ts index 6efba16..458d9cc 100644 --- a/translations/harbour-tooter-pl.ts +++ b/translations/harbour-tooter-pl.ts @@ -1,51 +1,47 @@ - + API favourited - + dodał(a) do ulubionych followed you - + zaczął(-ęła) Cię śledzić boosted - + podbił(a) said - + napisał(a) Conversation Conversation - + Konwersacja Delete - + Usuń Emojis - + Emoji Tap to insert - + Dotknij aby wstawić Write your warning here - - What's on your mind? - - Public @@ -62,19 +58,23 @@ Direct + + What's on your mind? + + ImageFullScreen Error loading - + Błąd ładowania ImageUploader The file %1 does not exists - + Plik %1 nie istnieje @@ -87,10 +87,6 @@ Instance - - Enter an Mastodon instance URL - - 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. @@ -99,121 +95,125 @@ Reload + + Enter a valid Mastodon instance URL + + MainPage Home - + Strona główna Notifications - + Powiadomienia New Toot - + Nowy wpis Search - + Szukaj @user or #term - + @użytkownik lub #tag Local - + Lokalne Federated - + Globalne MiniStatus boosted - + podbił(a) favourited - + dodał(a) do ulubionych followed you - + zaczął(-ęła) Cię śledzić MyList Load more - + Załaduj więcej Settings - + Ustawienia Loading - + Ładowanie please wait... - + proszę czekać… Profile Unfollow - + Przestań śledzić Follow request sent! - + Wysłano prośbę o możliwość śledzenia! Following - + Śledzisz Mute - + Wycisz Unmute - + Unmute Unblock - + Unblock Block - + Block Statuses - + Statuses Favourites - + Favourites Follow - + Follow Summary - + Summary Followers - + Followers Bio @@ -228,7 +228,7 @@ Settings Settings - + Ustawienia Remove Account @@ -246,20 +246,12 @@ Authorize this app to use your Mastodon account in your behalf - - Load images in toots - - Disable this option if you want to preserve your data connection - Translate - - - - Use Transifex to help with app translation to your language + About @@ -270,6 +262,18 @@ UI/UX design and development + + This application is a forked version of the Mastodon client Tooter, originally developed by Duško Angirević, which fixes various bugs. Source code on <a href='https://github.com/molan-git/harbour-tooter'>GitHub</a>. + + + + Load Images in Toots + + + + Maintainer of this release + + Visual identity @@ -291,7 +295,7 @@ - Development and maintenence + Chinese translation @@ -299,15 +303,15 @@ Toot boosted - + podbił(a) favourited - + dodał(a) do ulubionych followed you - + zaczął(-ęła Cię śledzić) diff --git a/translations/harbour-tooter-ru.ts b/translations/harbour-tooter-ru.ts index 21152ef..eadd6e9 100644 --- a/translations/harbour-tooter-ru.ts +++ b/translations/harbour-tooter-ru.ts @@ -42,10 +42,6 @@ Write your warning here - - What's on your mind? - - Public @@ -62,6 +58,10 @@ Direct + + What's on your mind? + + ImageFullScreen @@ -81,24 +81,24 @@ LoginPage Login - Авторизоваться + Instance - - Enter an Mastodon instance URL - Введите URL-адрес экземпляра Mastodon - 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. - Mastodon - бесплатная социальная сеть с открытым исходным кодом. Децентрализованная альтернатива коммерческим платформам позволяет избежать рисков, связанных с тем, что одна компания монополизирует ваше общение. Выберите сервер, которому вы доверяете - в зависимости от того, что вы выберете, вы можете взаимодействовать со всеми остальными. Любой может запустить свой собственный экземпляр Mastodon и беспрепятственно участвовать в социальной сети. + Reload + + Enter a valid Mastodon instance URL + + MainPage @@ -228,47 +228,51 @@ Settings Settings - Настройки + Настройки Remove Account - Удалить учетную запись + Add Account - Добавить аккаунт + Deauthorize this app and remove your account - удалить учетную запись с устройства + Authorize this app to use your Mastodon account in your behalf - Уполномочить это приложение использовать свою учетную запись Mastodon от вашего имени - - - Load images in toots - Загружать изображения + Disable this option if you want to preserve your data connection - Отключите эту опцию, если вы хотите сохранить подключение к данным + - Translate - Переведите - - - Use Transifex to help with app translation to your language - Используйте Transifex, чтобы помочь с переводом приложения на ваш язык + About + Credits - Зачет + UI/UX design and development - Дизайн и разработка UI / UX + + + + This application is a forked version of the Mastodon client Tooter, originally developed by Duško Angirević, which fixes various bugs. Source code on <a href='https://github.com/molan-git/harbour-tooter'>GitHub</a>. + + + + Load Images in Toots + + + + Maintainer of this release + Visual identity @@ -291,7 +295,7 @@ - Development and maintenence + Chinese translation @@ -314,19 +318,19 @@ VisualContainer Unboost - Нет росту + Boost - Росту + Unfavorite - Избранные нет + Favorite - Избранные + diff --git a/translations/harbour-tooter-sr.ts b/translations/harbour-tooter-sr.ts index f4006bb..4d4bb43 100644 --- a/translations/harbour-tooter-sr.ts +++ b/translations/harbour-tooter-sr.ts @@ -42,10 +42,6 @@ Write your warning here - - What's on your mind? - - Public @@ -62,6 +58,10 @@ Direct + + What's on your mind? + + ImageFullScreen @@ -81,23 +81,23 @@ LoginPage Login - Пријава + Instance - Инстанца - - - Enter an Mastodon instance URL - Унесите URL ваше Мастодон инстанце + 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. - Mastodon је бесплатна, open-source друштвена мрежа. Децентрализована алтернатива комерцијалним платформама која избегава ризике једне компаније која монополизује вашу комуникацију. Одаберите сервер у који имате поверења и без обзира на ваш избор - комуницирајте с осталим корисницима других мрежа. Свако може водити сопствену инстанцу Mastodon мреже и учестовати у комуникацији с другим инстанцама. + Reload - освежи + + + + Enter a valid Mastodon instance URL + @@ -228,47 +228,51 @@ Settings Settings - Подешавања + Подешавања Remove Account - Уклони налог + Add Account - Додај налог + Deauthorize this app and remove your account - Укините дозволе за кориштење и уклоните налог с телефона + Authorize this app to use your Mastodon account in your behalf - Дозволите овој апликацији да користи ваш Mastodon налог - - - Load images in toots - Прикажи слике у објавама + Disable this option if you want to preserve your data connection - Искључите ову опцију уколико желите да уштедите на преносу података + - Translate - Преведи - - - Use Transifex to help with app translation to your language - Користите Transifex и помозите у преводу апликације на други језик + About + Credits - Спомен плоча + UI/UX design and development - интерфејс дизајн и развој + + + + This application is a forked version of the Mastodon client Tooter, originally developed by Duško Angirević, which fixes various bugs. Source code on <a href='https://github.com/molan-git/harbour-tooter'>GitHub</a>. + + + + Load Images in Toots + + + + Maintainer of this release + Visual identity @@ -291,7 +295,7 @@ - Development and maintenence + Chinese translation @@ -314,19 +318,19 @@ VisualContainer Unboost - Уклони разглас + Boost - Разгласи + Unfavorite - Уклони из омиљених + Favorite - Омиљено + diff --git a/translations/harbour-tooter-sv.ts b/translations/harbour-tooter-sv.ts index e91a9cf..7dfde30 100644 --- a/translations/harbour-tooter-sv.ts +++ b/translations/harbour-tooter-sv.ts @@ -42,10 +42,6 @@ Write your warning here - - What's on your mind? - - Public @@ -62,6 +58,10 @@ Direct + + What's on your mind? + + ImageFullScreen @@ -81,24 +81,24 @@ LoginPage Login - Logga in + Instance - - Enter an Mastodon instance URL - Fyll i URL till Mastodoninstans - 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. - Mastodon är ett fritt och öppet socialt nätverk byggt på öppen källkod. Ett decentraliserat alternativ till kommersiella plattformar, vilket undviker att ett ensamt företag monopoliserar din kommunikation. Välj en server du litar på --- beroende på vilken du väljer, kan du interagera med alla andra. Vem som helst kan köra deras egen Mastodoninstans och delta i nätverket. Även du! + Reload + + Enter a valid Mastodon instance URL + + MainPage @@ -228,47 +228,51 @@ Settings Settings - Inställningar + Inställningar Remove Account - Radera konto + Add Account - Lägg till konto + Deauthorize this app and remove your account - Avauktorisera denna app och radera ditt konto + Authorize this app to use your Mastodon account in your behalf - Godkänn denna app att använda ditt Mastodon-konto på dina vägnar - - - Load images in toots - Ladda bilder i toots + Disable this option if you want to preserve your data connection - Inaktivera det här alternativet om du vill behålla din dataanslutning + - Translate - Översätt - - - Use Transifex to help with app translation to your language - Använd Transifex för att hjälpa med app-översättningar till ditt språk + About + Credits - Erkännanden + UI/UX design and development - UI/UX design och utveckling + + + + This application is a forked version of the Mastodon client Tooter, originally developed by Duško Angirević, which fixes various bugs. Source code on <a href='https://github.com/molan-git/harbour-tooter'>GitHub</a>. + + + + Load Images in Toots + + + + Maintainer of this release + Visual identity @@ -291,7 +295,7 @@ - Development and maintenence + Chinese translation @@ -314,19 +318,19 @@ VisualContainer Unboost - Avpuffa + Boost - Puffa + Unfavorite - Avfavorisera + Favorite - Favorisera + diff --git a/translations/harbour-tooter-zh_CN.ts b/translations/harbour-tooter-zh_CN.ts index 417161c..2479c2a 100644 --- a/translations/harbour-tooter-zh_CN.ts +++ b/translations/harbour-tooter-zh_CN.ts @@ -17,26 +17,7 @@ said - 说的 - - - - Browser - - Open in Browser - 在浏览器打开 - - - Web mode - 网页模式 - - - Reading mode - 阅读模式 - - - Copy URL - 复制链接 + 说过 @@ -45,26 +26,6 @@ Conversation 对话 - - Content warning! - 内容警告! - - - public - 公共区域 - - - unlisted - 未列的 - - - followers only - 仅关注者 - - - direct - 直接 - Delete 删除 @@ -75,7 +36,31 @@ Tap to insert - 点击插入 + 点击以插入 + + + Write your warning here + 在此编写你的警告信息 + + + Public + 公共区域 + + + Unlisted + 不公开 + + + Followers-only + 仅关注者 + + + Direct + 私信 + + + What's on your mind? + 有何想法? @@ -102,22 +87,17 @@ Instance 实例 - - Enter an Mastodon instance URL - 输入一个 Mastodon 实例链接 - 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. - ​Mastodon 是一个自由且开源的社交网络。一个去中心的商业平台的替代品。它能够避免某个公司垄断你的通讯方式的风险。选择一个你所信任的服务器——无论你选择什么,你都可以和其他人进行互动。任何人都能运行他们自己的 Mastodon 实例,然后无缝加入社交网站。 - + ​Mastodon 是一个自由且开源的社交网络。一个去中心化的商业平台的替代品。它能够避免某个公司垄断你的通讯方式的风险。选择一个你所信任的服务器——无论你选择什么,你都可以和其他人进行互动。任何人都能运行他们自己的 Mastodon 实例,然后无缝加入社交网站。 Reload 重新加载 - Enter an Mastodon instance URL - + Enter a valid Mastodon instance URL + 输入一个有效的 Mastodon 实例 URL @@ -182,19 +162,18 @@ please wait... - 请等候...... + 稍等片刻...... Profile Unfollow - - 未关注 + 取消关注 Follow request sent! - 关注请求已寄出! + 已寄出关注请求! Following @@ -253,35 +232,27 @@ Remove Account - 移除账户 + 移除账号 Add Account - 添加账户 + 添加账号 Deauthorize this app and remove your account - 取消对此软件的授权并移除你的账户 + 取消授权此软件并移除你的账号 Authorize this app to use your Mastodon account in your behalf - 授权此软件使用你的 Mastodon 账户 - - - Load images in toots - 在嘟嘟加载图片 + 授权此软件使用你的 Mastodon 账号 Disable this option if you want to preserve your data connection - 如果你想保护你的数据连接 请禁用此操作 + 如果你想保护你的数据连接,请禁用此选项 - Translate - 翻译 - - - Use Transifex to help with app translation to your language - 使用 Transifex 帮助翻译此软件到你所使用的语言。 + About + 关于 Credits @@ -289,7 +260,43 @@ UI/UX design and development - UI/UX 设计及开发 + UI/UX设计及开发 + + + This application is a forked version of the Mastodon client Tooter, originally developed by Duško Angirević, which fixes various bugs. Source code on <a href='https://github.com/molan-git/harbour-tooter'>GitHub</a>. + 此软件是一个 Mastodon 客户端 Tooter,原作者为 Duško Angirević。该分支修复了大量缺陷,你可以在此处找到源代码 <a href='https://github.com/molan-git/harbour-tooter'>GitHub</a> 。 + + + Load Images in Toots + 在嘟嘟加载图片 + + + Maintainer of this release + 该发布的维护者 + + + Visual identity + 视觉识别 + + + Occitan & French translation + 奥克西坦语及法语翻译 + + + Dutch translation + 尼德兰语翻译 + + + Spanish translation + 西班牙语翻译 + + + Added README file + 添加 README 文件 + + + Chinese translation + 汉语翻译 @@ -319,12 +326,11 @@ Unfavorite - - 取消收藏 + 取消关注 Favorite - 收藏 + 关注 diff --git a/translations/harbour-tooter.ts b/translations/harbour-tooter.ts index 03bddc9..b6bec4d 100644 --- a/translations/harbour-tooter.ts +++ b/translations/harbour-tooter.ts @@ -42,10 +42,6 @@ Write your warning here - - What's on your mind? - - Public @@ -62,6 +58,10 @@ Direct + + What's on your mind? + + ImageFullScreen @@ -87,10 +87,6 @@ Instance - - Enter an Mastodon instance URL - - 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. @@ -99,6 +95,10 @@ Reload + + Enter a valid Mastodon instance URL + + MainPage @@ -246,20 +246,12 @@ Authorize this app to use your Mastodon account in your behalf - - Load images in toots - - Disable this option if you want to preserve your data connection - Translate - - - - Use Transifex to help with app translation to your language + About @@ -270,6 +262,18 @@ UI/UX design and development + + This application is a forked version of the Mastodon client Tooter, originally developed by Duško Angirević, which fixes various bugs. Source code on <a href='https://github.com/molan-git/harbour-tooter'>GitHub</a>. + + + + Load Images in Toots + + + + Maintainer of this release + + Visual identity @@ -291,7 +295,7 @@ - Development and maintenence + Chinese translation @@ -314,19 +318,19 @@ VisualContainer Unboost - Unboost + Boost - Boost + Unfavorite - Unfavorite + Favorite - Favorite + From 633bccacac37f60f1daec6adeb5a1e6b5e7a159e Mon Sep 17 00:00:00 2001 From: molan-git <59296158+molan-git@users.noreply.github.com> Date: Tue, 28 Apr 2020 08:49:31 +0200 Subject: [PATCH 028/110] Updated translations --- translations/harbour-tooter-de.ts | 104 ++++++++++--------- translations/harbour-tooter-el.ts | 68 ++++++------ translations/harbour-tooter-es.ts | 72 +++++++------ translations/harbour-tooter-fi.ts | 40 +++---- translations/harbour-tooter-fr.ts | 94 +++++++++-------- translations/harbour-tooter-nl.ts | 74 ++++++------- translations/harbour-tooter-nl_BE.ts | 74 ++++++------- translations/harbour-tooter-oc.ts | 70 +++++++------ translations/harbour-tooter-pl.ts | 122 +++++++++++----------- translations/harbour-tooter-ru.ts | 70 +++++++------ translations/harbour-tooter-sr.ts | 74 ++++++------- translations/harbour-tooter-sv.ts | 70 +++++++------ translations/harbour-tooter-zh_CN.ts | 150 ++++++++++++++------------- translations/harbour-tooter.ts | 48 +++++---- 14 files changed, 594 insertions(+), 536 deletions(-) diff --git a/translations/harbour-tooter-de.ts b/translations/harbour-tooter-de.ts index e6f310d..4ef1a9d 100644 --- a/translations/harbour-tooter-de.ts +++ b/translations/harbour-tooter-de.ts @@ -13,7 +13,7 @@ boosted - verstärkt + geboostet said @@ -40,27 +40,27 @@ Write your warning here - - - - What's on your mind? - + Füge eine Inhaltswarnung hinzu Public - + Öffentlich Unlisted - + Nicht gelistet Followers-only - + Nur Follower Direct - + Direkt + + + What's on your mind? + Was möchtest du mitteilen? @@ -85,19 +85,19 @@ Instance - - - - Enter an Mastodon instance URL - Gib eine Mastadon Instance URL ein + Instanz 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. - Mastodon ist ein freies, auf OpenSource begründetes Soziales Netzwerk. Es bietet eine dezentralisierte Alternative zu den kommerziellen Plattformen, vermeidet aber das Risiko, dass ein einzelnes Unternehmen das Monopol auf deine gesamte Kommunikation erhält. Wähle selbst einen Server (Instanz) der du vertraust - egal welche du wählst, du kannst mit allen kommunizieren. Oder du betreibst deine eigene Mastodon Instanz und verbindest dich nahtlos mit dem Mastodon Netzwerk. + Mastodon ist ein freies, quelloffenes soziales Netzwerk. Im Gegensatz zu kommerziellen Plattformen, ist Mastodon als dezentrales Netzwerk konzipiert. Somit wird das Risiko vermieden, dass ein einziges Unternehmen die volle Kontrolle über die Kommunikation der Benutzer hat. Benutzer können einer beliebigen Instanz beitreten oder selbst eine eigene betreiben. Reload - + Neu laden + + + Enter a valid Mastodon instance URL + Eine gültige Mastodon-Instanz URL eingeben @@ -128,14 +128,14 @@ Federated - Vereinigt + Föderiert MiniStatus boosted - verstärkt + geboostet favourited @@ -217,11 +217,11 @@ Bio - + Bio Open Profile in Browser - + Profil in Browser öffnen @@ -232,74 +232,78 @@ Remove Account - Account löschen + Konto entfernen Add Account - Account hinzufügen + Konto hinzufügen Deauthorize this app and remove your account - Der App Autorisierung entziehen und Account entfernen + Konto entfernen und für diese Anwendung deaktivieren Authorize this app to use your Mastodon account in your behalf - Autorisiere diese App deinen Mastodon Account in deinem Namen zu nutzen - - - Load images in toots - Lade Bilder in den Toots + Zugriff durch diese Anwendung auf eigenes Mastodon-Konto erlauben Disable this option if you want to preserve your data connection - Deaktiviere diese Option um deinen Datenverbindung zu schonen + Diese Option deaktivieren um Datenvolumen zu sparen - Translate - Übersetzen - - - Use Transifex to help with app translation to your language - Nutze Transifex um bei der Übersetzung in deine Sprache zu helfen + About + Über Credits - Credits + Entwickler UI/UX design and development - UI/UX Design und Implementierung + UI/UX-Gestaltung und Entwicklung + + + This application is a forked version of the Mastodon client Tooter, originally developed by Duško Angirević, which fixes various bugs. Source code on <a href='https://github.com/molan-git/harbour-tooter'>GitHub</a>. + Dies ist ein Fork und Weiterentwicklung der Mastodon-Anwendung Tooter, welche urpsrünglich von Duško Angirević entwickelt wurde. Quellcode auf <a href='https://github.com/molan-git/harbour-tooter'>GitHub</a>. + + + Load Images in Toots + Bilder in Toots laden + + + Maintainer of this release + Entwicklung dieser Version Visual identity - + Visuelle Identität Occitan & French translation - + Franzözische Übersetzung Dutch translation - + Niederländische Übersetzung Spanish translation - + Spanische Übersetzung Added README file - + README-Datei erstellt - Development and maintenence - + Chinese translation + Chinesische Übersetzung Toot boosted - verstärkt + geboostet favourited @@ -314,19 +318,19 @@ VisualContainer Unboost - Schwäche + Nicht boosten Boost - Verstärke + Boosten Unfavorite - Aus Favoriten entfernen + Favorite - Zu Favoriten + diff --git a/translations/harbour-tooter-el.ts b/translations/harbour-tooter-el.ts index c3f464a..b4edd31 100644 --- a/translations/harbour-tooter-el.ts +++ b/translations/harbour-tooter-el.ts @@ -42,10 +42,6 @@ Write your warning here - - What's on your mind? - - Public @@ -62,6 +58,10 @@ Direct + + What's on your mind? + + ImageFullScreen @@ -81,14 +81,10 @@ LoginPage Login - Σύνδεση - - - Instance - Enter an Mastodon instance URL + Instance @@ -99,6 +95,10 @@ Reload + + Enter a valid Mastodon instance URL + + MainPage @@ -228,47 +228,51 @@ Settings Settings - Ρυθμίσεις + Ρυθμίσεις Remove Account - Αφαίρεση λογαριασμού + Add Account - Προσθήκη λογαριασμού + Deauthorize this app and remove your account - Άρση της αδειοδότησης της εφαρμογής και αφαίρεση του λογαριασμού σας + Authorize this app to use your Mastodon account in your behalf - Να επιτρέπεται στην εφαρμογή να χρησιμοποιεί τον λογαριασμό σας στο Mastodon εκ μέρους σας - - - Load images in toots - Φόρτωση των εικόνων στα toot + Disable this option if you want to preserve your data connection - Απενεργοποιήστε αυτήν την επιλογή αν θέλετε να διατηρήσετε την σύνδεση των δεδομένων σας + - Translate - Μετάφραση - - - Use Transifex to help with app translation to your language - Χρησιμοποιήστε το Transifex για να βοηθήσετε την μετάφραση της εφαρμογής στην γλώσσα σας + About + Credits - Ευχαριστίες + UI/UX design and development - UI/UX σχεδιασμός και ανάπτυξη + + + + This application is a forked version of the Mastodon client Tooter, originally developed by Duško Angirević, which fixes various bugs. Source code on <a href='https://github.com/molan-git/harbour-tooter'>GitHub</a>. + + + + Load Images in Toots + + + + Maintainer of this release + Visual identity @@ -291,7 +295,7 @@ - Development and maintenence + Chinese translation @@ -314,19 +318,19 @@ VisualContainer Unboost - Αναίρεση προώθησης + Boost - Προώθηση + Unfavorite - Αφαίρεση από τους σελιδοδείκτες + Favorite - Σελιδοδείκτης + diff --git a/translations/harbour-tooter-es.ts b/translations/harbour-tooter-es.ts index 7f6acfd..3d7aeae 100644 --- a/translations/harbour-tooter-es.ts +++ b/translations/harbour-tooter-es.ts @@ -40,27 +40,27 @@ Write your warning here - - - - What's on your mind? - + Escribe aquí tu aviso Public - + Público Unlisted - + Sin federar Followers-only - + Sólo seguidores Direct - + Directo + + + What's on your mind? + ¿Qué tienes en mente? @@ -87,18 +87,18 @@ Instance Instancia - - Enter an Mastodon instance URL - Introduce URL de una instancia de Mastodon - 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. - Mastodon es una red social gratuita y de código abierto. Una alternativa descentralizada a las plataformas comerciales, evita los riesgos de una única compañía que monopolice tu comunicación. Elije un servidor en el que confíes — cualquiera que elijas, puede interactuar con todos los demás. Cualquiera puede ejecutar su propia instancia de Mastodon y participar en la red social sin problemas. + Mastodon es una red social libre y de código abierto. Una alternativa descentralizada a las plataformas comerciales, evita los riesgos de una única compañía que monopolice tu comunicación. Elije un servidor en el que confíes — cualquiera que elijas, puede interactuar con todos los demás. Cualquiera puede ejecutar su propia instancia de Mastodon y participar en la red social sin problemas. Reload Volver a cargar + + Enter a valid Mastodon instance URL + Introduce una URL de instancia de Mastodon válida + MainPage @@ -217,11 +217,11 @@ Bio - + Bio Open Profile in Browser - + Abrir perfil en navegador @@ -244,23 +244,15 @@ Authorize this app to use your Mastodon account in your behalf - Autoriza a esta aplicación a usar tu cuenta de Mastodon en tu nombre - - - Load images in toots - Cargar imágenes en toots + Autoriza a esta aplicación para usar tu cuenta de Mastodon en tu nombre Disable this option if you want to preserve your data connection Deshabilita esta opción si quieres ahorrar en tu conexión de datos - Translate - Traducir - - - Use Transifex to help with app translation to your language - Usa Transifex para ayudar en la traducción a tu idioma de esta aplicación + About + Acerca de Credits @@ -270,29 +262,41 @@ UI/UX design and development Diseño UI/UX y desarrollo + + This application is a forked version of the Mastodon client Tooter, originally developed by Duško Angirević, which fixes various bugs. Source code on <a href='https://github.com/molan-git/harbour-tooter'>GitHub</a>. + Esta aplicación es una versión bifurcada del cliente de Mastodon Tooter, desarrollada originalmente por Duško Angirević, que corrige varios errores. Código fuente en <a href='https://github.com/molan-git/harbour-tooter'>GitHub</a>. + + + Load Images in Toots + Cargar imágenes en toots + + + Maintainer of this release + Mantenedor de esta publicación + Visual identity - + Identidad visual Occitan & French translation - + Traducción al occitano y francés Dutch translation - + Traducción al holandés Spanish translation - + Traducción al español Added README file - + Añadido archivo README - Development and maintenence - + Chinese translation + Traducción al chino diff --git a/translations/harbour-tooter-fi.ts b/translations/harbour-tooter-fi.ts index daf06a7..d15d70b 100644 --- a/translations/harbour-tooter-fi.ts +++ b/translations/harbour-tooter-fi.ts @@ -42,10 +42,6 @@ Write your warning here - - What's on your mind? - - Public @@ -62,6 +58,10 @@ Direct + + What's on your mind? + + ImageFullScreen @@ -87,10 +87,6 @@ Instance - - Enter an Mastodon instance URL - - 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. @@ -99,6 +95,10 @@ Reload + + Enter a valid Mastodon instance URL + + MainPage @@ -246,20 +246,12 @@ Authorize this app to use your Mastodon account in your behalf - - Load images in toots - - Disable this option if you want to preserve your data connection - Translate - - - - Use Transifex to help with app translation to your language + About @@ -270,6 +262,18 @@ UI/UX design and development + + This application is a forked version of the Mastodon client Tooter, originally developed by Duško Angirević, which fixes various bugs. Source code on <a href='https://github.com/molan-git/harbour-tooter'>GitHub</a>. + + + + Load Images in Toots + + + + Maintainer of this release + + Visual identity @@ -291,7 +295,7 @@ - Development and maintenence + Chinese translation diff --git a/translations/harbour-tooter-fr.ts b/translations/harbour-tooter-fr.ts index d41d682..89708bd 100644 --- a/translations/harbour-tooter-fr.ts +++ b/translations/harbour-tooter-fr.ts @@ -40,27 +40,27 @@ Write your warning here - - - - What's on your mind? - + Avertissement du contenu Public - + Public Unlisted - + Non coté Followers-only - + Que Followers Direct - + Direct + + + What's on your mind? + A quoi penses-tu? @@ -87,18 +87,18 @@ Instance Instance - - Enter an Mastodon instance URL - Saisissez l’URL d’une instance Mastodon - 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. - Mastodon est un réseau libre et open source. Il s’agit d'une alternative aux plateformes commerciales, pour éviter qu'une seule entreprise monopolise vos communications. Choisissez un serveur dans lequel vous avez confiance - quelque que soit votre choix vous pourrez interagir avec d’autres personnes. Tout le monde peut monter sa propre instance Mastodon et participer rendre le réseau plus robuste. + Mastodon est un réseau social et logiciel à source ouverte de microblog auto-hébergé, libre, distribué et acentré. Il permet de partager des messages, images et autres contenus. Mastodon peut être fédéré à un réseau d'instances capables de communiquer entre elles. Reload Recharger + + Enter a valid Mastodon instance URL + Entrer l'URL d'une instance de Mastodon + MainPage @@ -221,79 +221,83 @@ Open Profile in Browser - + Ouvrir dans le navigateur Settings Settings - Préférences + Paramètres Remove Account - Supprimer le compte + Enlever compte Add Account - Ajouter un compte + Ajouter compte Deauthorize this app and remove your account - Supprimer votre compte de l'application + Désautoriser cette application et enlever votre compte Authorize this app to use your Mastodon account in your behalf - Autoriser cette application à utiliser votre compte Mastodon en votre nom - - - Load images in toots - Charger les images des pouets + Autoriser cette application d'utiliser votre compte Disable this option if you want to preserve your data connection - Désactivez cette option si vous souhaitez économiser votre consommation de données + Désactiver cette option pour économiser des données mobiles - Translate - Traduire - - - Use Transifex to help with app translation to your language - Utilisez Transifex pour aider à la traduction de l'application dans votre langue + About + À propos Credits - Crédits + Développement UI/UX design and development - design et développement de l'interface + Design UI/UX et développement + + + This application is a forked version of the Mastodon client Tooter, originally developed by Duško Angirević, which fixes various bugs. Source code on <a href='https://github.com/molan-git/harbour-tooter'>GitHub</a>. + Cette application est un fork de Tooter (développée par Duško Angirević). Cette version continue le développement et corrige plusieurs bugs trouvés. + + + Load Images in Toots + Charger images dans pouets + + + Maintainer of this release + Développement de cette version Visual identity - + Identité visuelle Occitan & French translation - + Traduction français Dutch translation - + Traduction néerlandaise Spanish translation - + Traduction espagnole + + + Chinese translation + Traduction chinoise Added README file - - Development and maintenence - - Toot @@ -314,19 +318,19 @@ VisualContainer Unboost - ne plus partager + Boost - partager + Unfavorite - supprimer de ses favoris + Defavoriser Favorite - ajouter aux favoris + Favoriser diff --git a/translations/harbour-tooter-nl.ts b/translations/harbour-tooter-nl.ts index ef0f5d3..896915a 100644 --- a/translations/harbour-tooter-nl.ts +++ b/translations/harbour-tooter-nl.ts @@ -42,10 +42,6 @@ Write your warning here - - What's on your mind? - - Public @@ -62,6 +58,10 @@ Direct + + What's on your mind? + + ImageFullScreen @@ -81,23 +81,23 @@ LoginPage Login - Inloggen + Instance - Instantie - - - Enter an Mastodon instance URL - Voer de URL van een Mastodon-instantie in + 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. - Mastodon is een vrij sociaal netwerk. Als gedecentraliseerd alternatief voor commerciële platformen, vermijdt het de risico’s van een enkel bedrijf dat je communicatie monopoliseert. Kies een server die je vertrouwt — welke je ook kiest, je kunt met iedereen communiceren. Iedereen kan zelf een Mastodon-instantie hebben en naadloos deelnemen aan het sociale netwerk. + Reload - Herladen + + + + Enter a valid Mastodon instance URL + @@ -228,47 +228,51 @@ Settings Settings - Instellingen + Instellingen Remove Account - Verwijderen account + Add Account - Toevoegen account + Deauthorize this app and remove your account - Trek autorisaties van deze app in en verwijder je account + Authorize this app to use your Mastodon account in your behalf - Autoriseer deze app om je Mastodon namens jou te gebruiken - - - Load images in toots - Laden afbeeldingen in toots + Disable this option if you want to preserve your data connection - Schakel deze optie uit als je je dataverbinding wilt behouden + - Translate - Vertalen - - - Use Transifex to help with app translation to your language - Gebruik Transifex om deze app te helpen vertalen in jouw taal + About + Credits - Credits + UI/UX design and development - UI/UX ontwerp en ontwikkeling + + + + This application is a forked version of the Mastodon client Tooter, originally developed by Duško Angirević, which fixes various bugs. Source code on <a href='https://github.com/molan-git/harbour-tooter'>GitHub</a>. + + + + Load Images in Toots + + + + Maintainer of this release + Visual identity @@ -291,7 +295,7 @@ - Development and maintenence + Chinese translation @@ -314,19 +318,19 @@ VisualContainer Unboost - Unboost + Boost - Boost + Unfavorite - Demarkeren als favoriet + Favorite - Markeren als favoriet + diff --git a/translations/harbour-tooter-nl_BE.ts b/translations/harbour-tooter-nl_BE.ts index 878cbfc..b246e6c 100644 --- a/translations/harbour-tooter-nl_BE.ts +++ b/translations/harbour-tooter-nl_BE.ts @@ -42,10 +42,6 @@ Write your warning here - - What's on your mind? - - Public @@ -62,6 +58,10 @@ Direct + + What's on your mind? + + ImageFullScreen @@ -81,23 +81,23 @@ LoginPage Login - Inloggen + Instance - Instantie - - - Enter an Mastodon instance URL - Voert den URL van een Mastodon-instantie in + 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. - Mastodon is e vrij sociaal netwerk. Als gedecentraliseerd alternatief voor commerciële platformen, vermijdt het de risico’s van één enkel bedrijf dat uw communicatie monopoliseert. Kiest ne server die ge vertrouwt — dewelken dat ge ook kiest, ge kunt met iedereen communiceren. Iedereen kan zelf een Mastodon-instantie hebben en naadloos deelnemen aan het sociaal netwerk. + Reload - Herladen + + + + Enter a valid Mastodon instance URL + @@ -228,47 +228,51 @@ Settings Settings - Instellingen + Instellingen Remove Account - Account verwijderen + Add Account - Account toevoegen + Deauthorize this app and remove your account - Trekt autorisaties van dezen app in en verwijdert uwen account + Authorize this app to use your Mastodon account in your behalf - Autoriseert dezen app voor uwe Mastodon-account namens u te gebruiken - - - Load images in toots - Afbeeldingen in toots laden + Disable this option if you want to preserve your data connection - Schakelt dees optie uit als ge uw verbinding wilt behouden + - Translate - Vertalen - - - Use Transifex to help with app translation to your language - Gebruikt Transifex voor te helpen met dezen app in uw taal te vertalen + About + Credits - Credits + UI/UX design and development - UI/UX-ontwerp en -ontwikkeling + + + + This application is a forked version of the Mastodon client Tooter, originally developed by Duško Angirević, which fixes various bugs. Source code on <a href='https://github.com/molan-git/harbour-tooter'>GitHub</a>. + + + + Load Images in Toots + + + + Maintainer of this release + Visual identity @@ -291,7 +295,7 @@ - Development and maintenence + Chinese translation @@ -314,19 +318,19 @@ VisualContainer Unboost - Ontboosten + Boost - Boosten + Unfavorite - Duim verwijderen + Favorite - Duim toevoegen + diff --git a/translations/harbour-tooter-oc.ts b/translations/harbour-tooter-oc.ts index 2b226a0..4969598 100644 --- a/translations/harbour-tooter-oc.ts +++ b/translations/harbour-tooter-oc.ts @@ -42,10 +42,6 @@ Write your warning here - - What's on your mind? - - Public @@ -62,6 +58,10 @@ Direct + + What's on your mind? + + ImageFullScreen @@ -81,24 +81,24 @@ LoginPage Login - Connexion + Instance - - Enter an Mastodon instance URL - Picatz l’URL d’una instància Mastodon - 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. - Mastodon es un malhum liure e open source. Es una alternativa descentralizada a las plataformas comercialas, per empachar qu'una sola entrepresa monopolize vòstras comunicacions. Causissètz un servidor que vos fisatz - qualque siá vòstre causida poiretz interagir amb los autres. Tot lo monde pòt montar sa pròpria instància Mastodon e atal participar a construire un malhum mai solid. + Reload + + Enter a valid Mastodon instance URL + + MainPage @@ -228,47 +228,51 @@ Settings Settings - Paramètres + Parmètres Remove Account - Levar un compte + Add Account - Ajustar un compte + Deauthorize this app and remove your account - Revocar l’aplicacion e levar vòstre compte + Authorize this app to use your Mastodon account in your behalf - Autorizar aquesta aplicacion a utilizar vòstre compte Mastodon per vos - - - Load images in toots - Cargar los imatges dels tuts + Disable this option if you want to preserve your data connection - Desactivar aquesta opcion per estalviar vòstra connexion de donadas + - Translate - Traduire - - - Use Transifex to help with app translation to your language - Utilizar Transifex per ajudar a traduire l’aplicacion dins vòstra lenga + About + Credits - Crèdits + UI/UX design and development - UI/UX design e desvlopament + + + + This application is a forked version of the Mastodon client Tooter, originally developed by Duško Angirević, which fixes various bugs. Source code on <a href='https://github.com/molan-git/harbour-tooter'>GitHub</a>. + + + + Load Images in Toots + + + + Maintainer of this release + Visual identity @@ -291,7 +295,7 @@ - Development and maintenence + Chinese translation @@ -314,19 +318,19 @@ VisualContainer Unboost - Partejar pas mai + Boost - Partejar + Unfavorite - Levar dels favorits + Favorite - Ajustar als favorits + diff --git a/translations/harbour-tooter-pl.ts b/translations/harbour-tooter-pl.ts index 6efba16..458d9cc 100644 --- a/translations/harbour-tooter-pl.ts +++ b/translations/harbour-tooter-pl.ts @@ -1,51 +1,47 @@ - + API favourited - + dodał(a) do ulubionych followed you - + zaczął(-ęła) Cię śledzić boosted - + podbił(a) said - + napisał(a) Conversation Conversation - + Konwersacja Delete - + Usuń Emojis - + Emoji Tap to insert - + Dotknij aby wstawić Write your warning here - - What's on your mind? - - Public @@ -62,19 +58,23 @@ Direct + + What's on your mind? + + ImageFullScreen Error loading - + Błąd ładowania ImageUploader The file %1 does not exists - + Plik %1 nie istnieje @@ -87,10 +87,6 @@ Instance - - Enter an Mastodon instance URL - - 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. @@ -99,121 +95,125 @@ Reload + + Enter a valid Mastodon instance URL + + MainPage Home - + Strona główna Notifications - + Powiadomienia New Toot - + Nowy wpis Search - + Szukaj @user or #term - + @użytkownik lub #tag Local - + Lokalne Federated - + Globalne MiniStatus boosted - + podbił(a) favourited - + dodał(a) do ulubionych followed you - + zaczął(-ęła) Cię śledzić MyList Load more - + Załaduj więcej Settings - + Ustawienia Loading - + Ładowanie please wait... - + proszę czekać… Profile Unfollow - + Przestań śledzić Follow request sent! - + Wysłano prośbę o możliwość śledzenia! Following - + Śledzisz Mute - + Wycisz Unmute - + Unmute Unblock - + Unblock Block - + Block Statuses - + Statuses Favourites - + Favourites Follow - + Follow Summary - + Summary Followers - + Followers Bio @@ -228,7 +228,7 @@ Settings Settings - + Ustawienia Remove Account @@ -246,20 +246,12 @@ Authorize this app to use your Mastodon account in your behalf - - Load images in toots - - Disable this option if you want to preserve your data connection - Translate - - - - Use Transifex to help with app translation to your language + About @@ -270,6 +262,18 @@ UI/UX design and development + + This application is a forked version of the Mastodon client Tooter, originally developed by Duško Angirević, which fixes various bugs. Source code on <a href='https://github.com/molan-git/harbour-tooter'>GitHub</a>. + + + + Load Images in Toots + + + + Maintainer of this release + + Visual identity @@ -291,7 +295,7 @@ - Development and maintenence + Chinese translation @@ -299,15 +303,15 @@ Toot boosted - + podbił(a) favourited - + dodał(a) do ulubionych followed you - + zaczął(-ęła Cię śledzić) diff --git a/translations/harbour-tooter-ru.ts b/translations/harbour-tooter-ru.ts index 21152ef..eadd6e9 100644 --- a/translations/harbour-tooter-ru.ts +++ b/translations/harbour-tooter-ru.ts @@ -42,10 +42,6 @@ Write your warning here - - What's on your mind? - - Public @@ -62,6 +58,10 @@ Direct + + What's on your mind? + + ImageFullScreen @@ -81,24 +81,24 @@ LoginPage Login - Авторизоваться + Instance - - Enter an Mastodon instance URL - Введите URL-адрес экземпляра Mastodon - 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. - Mastodon - бесплатная социальная сеть с открытым исходным кодом. Децентрализованная альтернатива коммерческим платформам позволяет избежать рисков, связанных с тем, что одна компания монополизирует ваше общение. Выберите сервер, которому вы доверяете - в зависимости от того, что вы выберете, вы можете взаимодействовать со всеми остальными. Любой может запустить свой собственный экземпляр Mastodon и беспрепятственно участвовать в социальной сети. + Reload + + Enter a valid Mastodon instance URL + + MainPage @@ -228,47 +228,51 @@ Settings Settings - Настройки + Настройки Remove Account - Удалить учетную запись + Add Account - Добавить аккаунт + Deauthorize this app and remove your account - удалить учетную запись с устройства + Authorize this app to use your Mastodon account in your behalf - Уполномочить это приложение использовать свою учетную запись Mastodon от вашего имени - - - Load images in toots - Загружать изображения + Disable this option if you want to preserve your data connection - Отключите эту опцию, если вы хотите сохранить подключение к данным + - Translate - Переведите - - - Use Transifex to help with app translation to your language - Используйте Transifex, чтобы помочь с переводом приложения на ваш язык + About + Credits - Зачет + UI/UX design and development - Дизайн и разработка UI / UX + + + + This application is a forked version of the Mastodon client Tooter, originally developed by Duško Angirević, which fixes various bugs. Source code on <a href='https://github.com/molan-git/harbour-tooter'>GitHub</a>. + + + + Load Images in Toots + + + + Maintainer of this release + Visual identity @@ -291,7 +295,7 @@ - Development and maintenence + Chinese translation @@ -314,19 +318,19 @@ VisualContainer Unboost - Нет росту + Boost - Росту + Unfavorite - Избранные нет + Favorite - Избранные + diff --git a/translations/harbour-tooter-sr.ts b/translations/harbour-tooter-sr.ts index f4006bb..4d4bb43 100644 --- a/translations/harbour-tooter-sr.ts +++ b/translations/harbour-tooter-sr.ts @@ -42,10 +42,6 @@ Write your warning here - - What's on your mind? - - Public @@ -62,6 +58,10 @@ Direct + + What's on your mind? + + ImageFullScreen @@ -81,23 +81,23 @@ LoginPage Login - Пријава + Instance - Инстанца - - - Enter an Mastodon instance URL - Унесите URL ваше Мастодон инстанце + 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. - Mastodon је бесплатна, open-source друштвена мрежа. Децентрализована алтернатива комерцијалним платформама која избегава ризике једне компаније која монополизује вашу комуникацију. Одаберите сервер у који имате поверења и без обзира на ваш избор - комуницирајте с осталим корисницима других мрежа. Свако може водити сопствену инстанцу Mastodon мреже и учестовати у комуникацији с другим инстанцама. + Reload - освежи + + + + Enter a valid Mastodon instance URL + @@ -228,47 +228,51 @@ Settings Settings - Подешавања + Подешавања Remove Account - Уклони налог + Add Account - Додај налог + Deauthorize this app and remove your account - Укините дозволе за кориштење и уклоните налог с телефона + Authorize this app to use your Mastodon account in your behalf - Дозволите овој апликацији да користи ваш Mastodon налог - - - Load images in toots - Прикажи слике у објавама + Disable this option if you want to preserve your data connection - Искључите ову опцију уколико желите да уштедите на преносу података + - Translate - Преведи - - - Use Transifex to help with app translation to your language - Користите Transifex и помозите у преводу апликације на други језик + About + Credits - Спомен плоча + UI/UX design and development - интерфејс дизајн и развој + + + + This application is a forked version of the Mastodon client Tooter, originally developed by Duško Angirević, which fixes various bugs. Source code on <a href='https://github.com/molan-git/harbour-tooter'>GitHub</a>. + + + + Load Images in Toots + + + + Maintainer of this release + Visual identity @@ -291,7 +295,7 @@ - Development and maintenence + Chinese translation @@ -314,19 +318,19 @@ VisualContainer Unboost - Уклони разглас + Boost - Разгласи + Unfavorite - Уклони из омиљених + Favorite - Омиљено + diff --git a/translations/harbour-tooter-sv.ts b/translations/harbour-tooter-sv.ts index e91a9cf..7dfde30 100644 --- a/translations/harbour-tooter-sv.ts +++ b/translations/harbour-tooter-sv.ts @@ -42,10 +42,6 @@ Write your warning here - - What's on your mind? - - Public @@ -62,6 +58,10 @@ Direct + + What's on your mind? + + ImageFullScreen @@ -81,24 +81,24 @@ LoginPage Login - Logga in + Instance - - Enter an Mastodon instance URL - Fyll i URL till Mastodoninstans - 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. - Mastodon är ett fritt och öppet socialt nätverk byggt på öppen källkod. Ett decentraliserat alternativ till kommersiella plattformar, vilket undviker att ett ensamt företag monopoliserar din kommunikation. Välj en server du litar på --- beroende på vilken du väljer, kan du interagera med alla andra. Vem som helst kan köra deras egen Mastodoninstans och delta i nätverket. Även du! + Reload + + Enter a valid Mastodon instance URL + + MainPage @@ -228,47 +228,51 @@ Settings Settings - Inställningar + Inställningar Remove Account - Radera konto + Add Account - Lägg till konto + Deauthorize this app and remove your account - Avauktorisera denna app och radera ditt konto + Authorize this app to use your Mastodon account in your behalf - Godkänn denna app att använda ditt Mastodon-konto på dina vägnar - - - Load images in toots - Ladda bilder i toots + Disable this option if you want to preserve your data connection - Inaktivera det här alternativet om du vill behålla din dataanslutning + - Translate - Översätt - - - Use Transifex to help with app translation to your language - Använd Transifex för att hjälpa med app-översättningar till ditt språk + About + Credits - Erkännanden + UI/UX design and development - UI/UX design och utveckling + + + + This application is a forked version of the Mastodon client Tooter, originally developed by Duško Angirević, which fixes various bugs. Source code on <a href='https://github.com/molan-git/harbour-tooter'>GitHub</a>. + + + + Load Images in Toots + + + + Maintainer of this release + Visual identity @@ -291,7 +295,7 @@ - Development and maintenence + Chinese translation @@ -314,19 +318,19 @@ VisualContainer Unboost - Avpuffa + Boost - Puffa + Unfavorite - Avfavorisera + Favorite - Favorisera + diff --git a/translations/harbour-tooter-zh_CN.ts b/translations/harbour-tooter-zh_CN.ts index 417161c..2479c2a 100644 --- a/translations/harbour-tooter-zh_CN.ts +++ b/translations/harbour-tooter-zh_CN.ts @@ -17,26 +17,7 @@ said - 说的 - - - - Browser - - Open in Browser - 在浏览器打开 - - - Web mode - 网页模式 - - - Reading mode - 阅读模式 - - - Copy URL - 复制链接 + 说过 @@ -45,26 +26,6 @@ Conversation 对话 - - Content warning! - 内容警告! - - - public - 公共区域 - - - unlisted - 未列的 - - - followers only - 仅关注者 - - - direct - 直接 - Delete 删除 @@ -75,7 +36,31 @@ Tap to insert - 点击插入 + 点击以插入 + + + Write your warning here + 在此编写你的警告信息 + + + Public + 公共区域 + + + Unlisted + 不公开 + + + Followers-only + 仅关注者 + + + Direct + 私信 + + + What's on your mind? + 有何想法? @@ -102,22 +87,17 @@ Instance 实例 - - Enter an Mastodon instance URL - 输入一个 Mastodon 实例链接 - 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. - ​Mastodon 是一个自由且开源的社交网络。一个去中心的商业平台的替代品。它能够避免某个公司垄断你的通讯方式的风险。选择一个你所信任的服务器——无论你选择什么,你都可以和其他人进行互动。任何人都能运行他们自己的 Mastodon 实例,然后无缝加入社交网站。 - + ​Mastodon 是一个自由且开源的社交网络。一个去中心化的商业平台的替代品。它能够避免某个公司垄断你的通讯方式的风险。选择一个你所信任的服务器——无论你选择什么,你都可以和其他人进行互动。任何人都能运行他们自己的 Mastodon 实例,然后无缝加入社交网站。 Reload 重新加载 - Enter an Mastodon instance URL - + Enter a valid Mastodon instance URL + 输入一个有效的 Mastodon 实例 URL @@ -182,19 +162,18 @@ please wait... - 请等候...... + 稍等片刻...... Profile Unfollow - - 未关注 + 取消关注 Follow request sent! - 关注请求已寄出! + 已寄出关注请求! Following @@ -253,35 +232,27 @@ Remove Account - 移除账户 + 移除账号 Add Account - 添加账户 + 添加账号 Deauthorize this app and remove your account - 取消对此软件的授权并移除你的账户 + 取消授权此软件并移除你的账号 Authorize this app to use your Mastodon account in your behalf - 授权此软件使用你的 Mastodon 账户 - - - Load images in toots - 在嘟嘟加载图片 + 授权此软件使用你的 Mastodon 账号 Disable this option if you want to preserve your data connection - 如果你想保护你的数据连接 请禁用此操作 + 如果你想保护你的数据连接,请禁用此选项 - Translate - 翻译 - - - Use Transifex to help with app translation to your language - 使用 Transifex 帮助翻译此软件到你所使用的语言。 + About + 关于 Credits @@ -289,7 +260,43 @@ UI/UX design and development - UI/UX 设计及开发 + UI/UX设计及开发 + + + This application is a forked version of the Mastodon client Tooter, originally developed by Duško Angirević, which fixes various bugs. Source code on <a href='https://github.com/molan-git/harbour-tooter'>GitHub</a>. + 此软件是一个 Mastodon 客户端 Tooter,原作者为 Duško Angirević。该分支修复了大量缺陷,你可以在此处找到源代码 <a href='https://github.com/molan-git/harbour-tooter'>GitHub</a> 。 + + + Load Images in Toots + 在嘟嘟加载图片 + + + Maintainer of this release + 该发布的维护者 + + + Visual identity + 视觉识别 + + + Occitan & French translation + 奥克西坦语及法语翻译 + + + Dutch translation + 尼德兰语翻译 + + + Spanish translation + 西班牙语翻译 + + + Added README file + 添加 README 文件 + + + Chinese translation + 汉语翻译 @@ -319,12 +326,11 @@ Unfavorite - - 取消收藏 + 取消关注 Favorite - 收藏 + 关注 diff --git a/translations/harbour-tooter.ts b/translations/harbour-tooter.ts index 03bddc9..b6bec4d 100644 --- a/translations/harbour-tooter.ts +++ b/translations/harbour-tooter.ts @@ -42,10 +42,6 @@ Write your warning here - - What's on your mind? - - Public @@ -62,6 +58,10 @@ Direct + + What's on your mind? + + ImageFullScreen @@ -87,10 +87,6 @@ Instance - - Enter an Mastodon instance URL - - 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. @@ -99,6 +95,10 @@ Reload + + Enter a valid Mastodon instance URL + + MainPage @@ -246,20 +246,12 @@ Authorize this app to use your Mastodon account in your behalf - - Load images in toots - - Disable this option if you want to preserve your data connection - Translate - - - - Use Transifex to help with app translation to your language + About @@ -270,6 +262,18 @@ UI/UX design and development + + This application is a forked version of the Mastodon client Tooter, originally developed by Duško Angirević, which fixes various bugs. Source code on <a href='https://github.com/molan-git/harbour-tooter'>GitHub</a>. + + + + Load Images in Toots + + + + Maintainer of this release + + Visual identity @@ -291,7 +295,7 @@ - Development and maintenence + Chinese translation @@ -314,19 +318,19 @@ VisualContainer Unboost - Unboost + Boost - Boost + Unfavorite - Unfavorite + Favorite - Favorite + From 017cca76a38ed9b6a845a25ce63d0327f4d8af92 Mon Sep 17 00:00:00 2001 From: molan-git <59296158+molan-git@users.noreply.github.com> Date: Tue, 28 Apr 2020 08:53:15 +0200 Subject: [PATCH 029/110] Fix writing mistakes and add missing contributors --- qml/pages/Settings.qml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/qml/pages/Settings.qml b/qml/pages/Settings.qml index 05c3398..8d44329 100644 --- a/qml/pages/Settings.qml +++ b/qml/pages/Settings.qml @@ -108,7 +108,7 @@ Page { } ListElement { name: "Molan" - desc: qsTr("Development and maintenance") + desc: qsTr("Development, maintenance and translations") mastodon: "" mail: "mol_an@sunrise.ch" } From d2c275bb938ef07cbfe2647aca9b93ef7cba7e25 Mon Sep 17 00:00:00 2001 From: molan-git <59296158+molan-git@users.noreply.github.com> Date: Tue, 28 Apr 2020 11:41:30 +0200 Subject: [PATCH 030/110] Updated translations Added Italian translation file --- harbour-tooter.pro | 1 + 1 file changed, 1 insertion(+) diff --git a/harbour-tooter.pro b/harbour-tooter.pro index 8b1cb5f..60f24c5 100644 --- a/harbour-tooter.pro +++ b/harbour-tooter.pro @@ -115,3 +115,4 @@ TRANSLATIONS += translations/harbour-tooter-ru.ts TRANSLATIONS += translations/harbour-tooter-sr.ts TRANSLATIONS += translations/harbour-tooter-sv.ts TRANSLATIONS += translations/harbour-tooter-zh_CN.ts +TRANSLATIONS += translations/harbour-tooter-it.ts From 0fcd83507cfbbe1fc8ea1999e9c4197a4f114627 Mon Sep 17 00:00:00 2001 From: molan-git <59296158+molan-git@users.noreply.github.com> Date: Tue, 28 Apr 2020 11:43:21 +0200 Subject: [PATCH 031/110] Updated translation files - Changed translation strings in Settings page - Completed translations for German and French - Added Italian translation file --- translations/harbour-tooter-de.ts | 42 +-- translations/harbour-tooter-el.ts | 32 +-- translations/harbour-tooter-es.ts | 32 +-- translations/harbour-tooter-fi.ts | 32 +-- translations/harbour-tooter-fr.ts | 40 +-- translations/harbour-tooter-it.ts | 411 +++++++++++++++++++++++++++ translations/harbour-tooter-nl.ts | 32 +-- translations/harbour-tooter-nl_BE.ts | 32 +-- translations/harbour-tooter-oc.ts | 32 +-- translations/harbour-tooter-pl.ts | 32 +-- translations/harbour-tooter-ru.ts | 32 +-- translations/harbour-tooter-sr.ts | 32 +-- translations/harbour-tooter-sv.ts | 32 +-- translations/harbour-tooter-zh_CN.ts | 32 +-- translations/harbour-tooter.ts | 32 +-- 15 files changed, 644 insertions(+), 233 deletions(-) create mode 100644 translations/harbour-tooter-it.ts diff --git a/translations/harbour-tooter-de.ts b/translations/harbour-tooter-de.ts index 4ef1a9d..5faac3b 100644 --- a/translations/harbour-tooter-de.ts +++ b/translations/harbour-tooter-de.ts @@ -158,7 +158,7 @@ Loading - Lädt... + Wird geladen please wait... @@ -250,37 +250,21 @@ Disable this option if you want to preserve your data connection Diese Option deaktivieren um Datenvolumen zu sparen - - About - Über - Credits - Entwickler + Über UI/UX design and development UI/UX-Gestaltung und Entwicklung - - This application is a forked version of the Mastodon client Tooter, originally developed by Duško Angirević, which fixes various bugs. Source code on <a href='https://github.com/molan-git/harbour-tooter'>GitHub</a>. - Dies ist ein Fork und Weiterentwicklung der Mastodon-Anwendung Tooter, welche urpsrünglich von Duško Angirević entwickelt wurde. Quellcode auf <a href='https://github.com/molan-git/harbour-tooter'>GitHub</a>. - - - Load Images in Toots - Bilder in Toots laden - - - Maintainer of this release - Entwicklung dieser Version - Visual identity Visuelle Identität Occitan & French translation - Franzözische Übersetzung + Französische Übersetzung Dutch translation @@ -298,6 +282,22 @@ Chinese translation Chinesische Übersetzung + + Load images in toots + Bilder in Toots laden + + + Translate + Übersetzungen + + + Use Transifex to help with app translation to your language + Transifex benutzen um bei den Übersetzungen mitzuhelfen + + + Development and translations + Entwicklung und Übersetzungen + Toot @@ -326,11 +326,11 @@ Unfavorite - + Nicht favorisieren Favorite - + Favorisieren diff --git a/translations/harbour-tooter-el.ts b/translations/harbour-tooter-el.ts index b4edd31..cdc4ec3 100644 --- a/translations/harbour-tooter-el.ts +++ b/translations/harbour-tooter-el.ts @@ -250,10 +250,6 @@ Disable this option if you want to preserve your data connection - - About - - Credits @@ -262,18 +258,6 @@ UI/UX design and development - - This application is a forked version of the Mastodon client Tooter, originally developed by Duško Angirević, which fixes various bugs. Source code on <a href='https://github.com/molan-git/harbour-tooter'>GitHub</a>. - - - - Load Images in Toots - - - - Maintainer of this release - - Visual identity @@ -298,6 +282,22 @@ Chinese translation + + Load images in toots + + + + Translate + + + + Use Transifex to help with app translation to your language + + + + Development and translations + + Toot diff --git a/translations/harbour-tooter-es.ts b/translations/harbour-tooter-es.ts index 3d7aeae..1abb309 100644 --- a/translations/harbour-tooter-es.ts +++ b/translations/harbour-tooter-es.ts @@ -250,10 +250,6 @@ Disable this option if you want to preserve your data connection Deshabilita esta opción si quieres ahorrar en tu conexión de datos - - About - Acerca de - Credits Créditos @@ -262,18 +258,6 @@ UI/UX design and development Diseño UI/UX y desarrollo - - This application is a forked version of the Mastodon client Tooter, originally developed by Duško Angirević, which fixes various bugs. Source code on <a href='https://github.com/molan-git/harbour-tooter'>GitHub</a>. - Esta aplicación es una versión bifurcada del cliente de Mastodon Tooter, desarrollada originalmente por Duško Angirević, que corrige varios errores. Código fuente en <a href='https://github.com/molan-git/harbour-tooter'>GitHub</a>. - - - Load Images in Toots - Cargar imágenes en toots - - - Maintainer of this release - Mantenedor de esta publicación - Visual identity Identidad visual @@ -298,6 +282,22 @@ Chinese translation Traducción al chino + + Load images in toots + + + + Translate + + + + Use Transifex to help with app translation to your language + + + + Development and translations + + Toot diff --git a/translations/harbour-tooter-fi.ts b/translations/harbour-tooter-fi.ts index d15d70b..86879b5 100644 --- a/translations/harbour-tooter-fi.ts +++ b/translations/harbour-tooter-fi.ts @@ -250,10 +250,6 @@ Disable this option if you want to preserve your data connection - - About - - Credits @@ -262,18 +258,6 @@ UI/UX design and development - - This application is a forked version of the Mastodon client Tooter, originally developed by Duško Angirević, which fixes various bugs. Source code on <a href='https://github.com/molan-git/harbour-tooter'>GitHub</a>. - - - - Load Images in Toots - - - - Maintainer of this release - - Visual identity @@ -298,6 +282,22 @@ Chinese translation + + Load images in toots + + + + Translate + + + + Use Transifex to help with app translation to your language + + + + Development and translations + + Toot diff --git a/translations/harbour-tooter-fr.ts b/translations/harbour-tooter-fr.ts index 89708bd..c802da7 100644 --- a/translations/harbour-tooter-fr.ts +++ b/translations/harbour-tooter-fr.ts @@ -250,10 +250,6 @@ Disable this option if you want to preserve your data connection Désactiver cette option pour économiser des données mobiles - - About - À propos - Credits Développement @@ -262,18 +258,6 @@ UI/UX design and development Design UI/UX et développement - - This application is a forked version of the Mastodon client Tooter, originally developed by Duško Angirević, which fixes various bugs. Source code on <a href='https://github.com/molan-git/harbour-tooter'>GitHub</a>. - Cette application est un fork de Tooter (développée par Duško Angirević). Cette version continue le développement et corrige plusieurs bugs trouvés. - - - Load Images in Toots - Charger images dans pouets - - - Maintainer of this release - Développement de cette version - Visual identity Identité visuelle @@ -296,7 +280,23 @@ Added README file - + Ajouté fichier README + + + Load images in toots + Charger images dans les pouets + + + Translate + Traduire + + + Use Transifex to help with app translation to your language + Utiliser Transifex pour aider avec les traductions de l'application + + + Development and translations + Développement et traductions @@ -318,15 +318,15 @@ VisualContainer Unboost - + Pas booster Boost - + Booster Unfavorite - Defavoriser + Défavoriser Favorite diff --git a/translations/harbour-tooter-it.ts b/translations/harbour-tooter-it.ts new file mode 100644 index 0000000..c1cbeba --- /dev/null +++ b/translations/harbour-tooter-it.ts @@ -0,0 +1,411 @@ + + + + + API + + + favourited + + + + + followed you + + + + + boosted + + + + + + said + + + + + Conversation + + + Conversation + + + + + Write your warning here + + + + + What's on your mind? + + + + + Delete + + + + + Public + + + + + Unlisted + + + + + Followers-only + + + + + Direct + + + + + Emojis + + + + + Tap to insert + + + + + ImageFullScreen + + + Error loading + + + + + ImageUploader + + + The file %1 does not exists + + + + + LoginPage + + + Login + + + + + Instance + + + + + Enter a valid Mastodon instance URL + + + + + 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. + + + + + Reload + + + + + MainPage + + + Home + + + + + Notifications + + + + + Local + + + + + Federated + + + + + Search + + + + + @user or #term + + + + + New Toot + + + + + MiniStatus + + + boosted + + + + + favourited + + + + + followed you + + + + + MyList + + + Loading + + + + + please wait... + + + + + Settings + + + + + Load more + + + + + Profile + + + Summary + + + + + Followers + + + + + Following + + + + + Statuses + + + + + Favourites + + + + + Unfollow + + + + + Follow request sent! + + + + + Follow + + + + + Unmute + + + + + Mute + + + + + Unblock + + + + + Block + + + + + Bio + + + + + Open Profile in Browser + + + + + Settings + + + Settings + + + + + Remove Account + + + + + Add Account + + + + + Deauthorize this app and remove your account + + + + + Authorize this app to use your Mastodon account in your behalf + + + + + Load images in toots + + + + + Disable this option if you want to preserve your data connection + + + + + Translate + + + + + Use Transifex to help with app translation to your language + + + + + Credits + + + + + UI/UX design and development + + + + + Visual identity + + + + + Development and translations + + + + + Occitan & French translation + + + + + Chinese translation + + + + + Dutch translation + + + + + Spanish translation + + + + + Added README file + + + + + Toot + + + boosted + + + + + favourited + + + + + followed you + + + + + VisualContainer + + + Unboost + + + + + Boost + + + + + Unfavorite + + + + + Favorite + + + + diff --git a/translations/harbour-tooter-nl.ts b/translations/harbour-tooter-nl.ts index 896915a..8fa6cab 100644 --- a/translations/harbour-tooter-nl.ts +++ b/translations/harbour-tooter-nl.ts @@ -250,10 +250,6 @@ Disable this option if you want to preserve your data connection - - About - - Credits @@ -262,18 +258,6 @@ UI/UX design and development - - This application is a forked version of the Mastodon client Tooter, originally developed by Duško Angirević, which fixes various bugs. Source code on <a href='https://github.com/molan-git/harbour-tooter'>GitHub</a>. - - - - Load Images in Toots - - - - Maintainer of this release - - Visual identity @@ -298,6 +282,22 @@ Chinese translation + + Load images in toots + + + + Translate + + + + Use Transifex to help with app translation to your language + + + + Development and translations + + Toot diff --git a/translations/harbour-tooter-nl_BE.ts b/translations/harbour-tooter-nl_BE.ts index b246e6c..44a6431 100644 --- a/translations/harbour-tooter-nl_BE.ts +++ b/translations/harbour-tooter-nl_BE.ts @@ -250,10 +250,6 @@ Disable this option if you want to preserve your data connection - - About - - Credits @@ -262,18 +258,6 @@ UI/UX design and development - - This application is a forked version of the Mastodon client Tooter, originally developed by Duško Angirević, which fixes various bugs. Source code on <a href='https://github.com/molan-git/harbour-tooter'>GitHub</a>. - - - - Load Images in Toots - - - - Maintainer of this release - - Visual identity @@ -298,6 +282,22 @@ Chinese translation + + Load images in toots + + + + Translate + + + + Use Transifex to help with app translation to your language + + + + Development and translations + + Toot diff --git a/translations/harbour-tooter-oc.ts b/translations/harbour-tooter-oc.ts index 4969598..04416ad 100644 --- a/translations/harbour-tooter-oc.ts +++ b/translations/harbour-tooter-oc.ts @@ -250,10 +250,6 @@ Disable this option if you want to preserve your data connection - - About - - Credits @@ -262,18 +258,6 @@ UI/UX design and development - - This application is a forked version of the Mastodon client Tooter, originally developed by Duško Angirević, which fixes various bugs. Source code on <a href='https://github.com/molan-git/harbour-tooter'>GitHub</a>. - - - - Load Images in Toots - - - - Maintainer of this release - - Visual identity @@ -298,6 +282,22 @@ Chinese translation + + Load images in toots + + + + Translate + + + + Use Transifex to help with app translation to your language + + + + Development and translations + + Toot diff --git a/translations/harbour-tooter-pl.ts b/translations/harbour-tooter-pl.ts index 458d9cc..baf74e3 100644 --- a/translations/harbour-tooter-pl.ts +++ b/translations/harbour-tooter-pl.ts @@ -250,10 +250,6 @@ Disable this option if you want to preserve your data connection - - About - - Credits @@ -262,18 +258,6 @@ UI/UX design and development - - This application is a forked version of the Mastodon client Tooter, originally developed by Duško Angirević, which fixes various bugs. Source code on <a href='https://github.com/molan-git/harbour-tooter'>GitHub</a>. - - - - Load Images in Toots - - - - Maintainer of this release - - Visual identity @@ -298,6 +282,22 @@ Chinese translation + + Load images in toots + + + + Translate + + + + Use Transifex to help with app translation to your language + + + + Development and translations + + Toot diff --git a/translations/harbour-tooter-ru.ts b/translations/harbour-tooter-ru.ts index eadd6e9..5f29604 100644 --- a/translations/harbour-tooter-ru.ts +++ b/translations/harbour-tooter-ru.ts @@ -250,10 +250,6 @@ Disable this option if you want to preserve your data connection - - About - - Credits @@ -262,18 +258,6 @@ UI/UX design and development - - This application is a forked version of the Mastodon client Tooter, originally developed by Duško Angirević, which fixes various bugs. Source code on <a href='https://github.com/molan-git/harbour-tooter'>GitHub</a>. - - - - Load Images in Toots - - - - Maintainer of this release - - Visual identity @@ -298,6 +282,22 @@ Chinese translation + + Load images in toots + + + + Translate + + + + Use Transifex to help with app translation to your language + + + + Development and translations + + Toot diff --git a/translations/harbour-tooter-sr.ts b/translations/harbour-tooter-sr.ts index 4d4bb43..78274c1 100644 --- a/translations/harbour-tooter-sr.ts +++ b/translations/harbour-tooter-sr.ts @@ -250,10 +250,6 @@ Disable this option if you want to preserve your data connection - - About - - Credits @@ -262,18 +258,6 @@ UI/UX design and development - - This application is a forked version of the Mastodon client Tooter, originally developed by Duško Angirević, which fixes various bugs. Source code on <a href='https://github.com/molan-git/harbour-tooter'>GitHub</a>. - - - - Load Images in Toots - - - - Maintainer of this release - - Visual identity @@ -298,6 +282,22 @@ Chinese translation + + Load images in toots + + + + Translate + + + + Use Transifex to help with app translation to your language + + + + Development and translations + + Toot diff --git a/translations/harbour-tooter-sv.ts b/translations/harbour-tooter-sv.ts index 7dfde30..06214ee 100644 --- a/translations/harbour-tooter-sv.ts +++ b/translations/harbour-tooter-sv.ts @@ -250,10 +250,6 @@ Disable this option if you want to preserve your data connection - - About - - Credits @@ -262,18 +258,6 @@ UI/UX design and development - - This application is a forked version of the Mastodon client Tooter, originally developed by Duško Angirević, which fixes various bugs. Source code on <a href='https://github.com/molan-git/harbour-tooter'>GitHub</a>. - - - - Load Images in Toots - - - - Maintainer of this release - - Visual identity @@ -298,6 +282,22 @@ Chinese translation + + Load images in toots + + + + Translate + + + + Use Transifex to help with app translation to your language + + + + Development and translations + + Toot diff --git a/translations/harbour-tooter-zh_CN.ts b/translations/harbour-tooter-zh_CN.ts index 2479c2a..d21a02e 100644 --- a/translations/harbour-tooter-zh_CN.ts +++ b/translations/harbour-tooter-zh_CN.ts @@ -250,10 +250,6 @@ Disable this option if you want to preserve your data connection 如果你想保护你的数据连接,请禁用此选项 - - About - 关于 - Credits 信誉 @@ -262,18 +258,6 @@ UI/UX design and development UI/UX设计及开发 - - This application is a forked version of the Mastodon client Tooter, originally developed by Duško Angirević, which fixes various bugs. Source code on <a href='https://github.com/molan-git/harbour-tooter'>GitHub</a>. - 此软件是一个 Mastodon 客户端 Tooter,原作者为 Duško Angirević。该分支修复了大量缺陷,你可以在此处找到源代码 <a href='https://github.com/molan-git/harbour-tooter'>GitHub</a> 。 - - - Load Images in Toots - 在嘟嘟加载图片 - - - Maintainer of this release - 该发布的维护者 - Visual identity 视觉识别 @@ -298,6 +282,22 @@ Chinese translation 汉语翻译 + + Load images in toots + + + + Translate + + + + Use Transifex to help with app translation to your language + + + + Development and translations + + Toot diff --git a/translations/harbour-tooter.ts b/translations/harbour-tooter.ts index b6bec4d..42090a4 100644 --- a/translations/harbour-tooter.ts +++ b/translations/harbour-tooter.ts @@ -250,10 +250,6 @@ Disable this option if you want to preserve your data connection - - About - - Credits @@ -262,18 +258,6 @@ UI/UX design and development - - This application is a forked version of the Mastodon client Tooter, originally developed by Duško Angirević, which fixes various bugs. Source code on <a href='https://github.com/molan-git/harbour-tooter'>GitHub</a>. - - - - Load Images in Toots - - - - Maintainer of this release - - Visual identity @@ -298,6 +282,22 @@ Chinese translation + + Load images in toots + + + + Translate + + + + Use Transifex to help with app translation to your language + + + + Development and translations + + Toot From 7dc858d4c74f46ed2e55fb2a81e66ed076dc8805 Mon Sep 17 00:00:00 2001 From: molan-git <59296158+molan-git@users.noreply.github.com> Date: Tue, 28 Apr 2020 11:43:57 +0200 Subject: [PATCH 032/110] Added information to Credits --- qml/pages/Settings.qml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/qml/pages/Settings.qml b/qml/pages/Settings.qml index 8d44329..5a447b0 100644 --- a/qml/pages/Settings.qml +++ b/qml/pages/Settings.qml @@ -108,7 +108,7 @@ Page { } ListElement { name: "Molan" - desc: qsTr("Development, maintenance and translations") + desc: qsTr("Development and translations") mastodon: "" mail: "mol_an@sunrise.ch" } From 428dca31f8b2dd75c75f2844fff8b571ed143291 Mon Sep 17 00:00:00 2001 From: molan-git <59296158+molan-git@users.noreply.github.com> Date: Tue, 28 Apr 2020 14:53:39 +0200 Subject: [PATCH 033/110] Update languages Added missing language strings --- translations/harbour-tooter-el.ts | 34 +++++++++++------------ translations/harbour-tooter-es.ts | 8 +++--- translations/harbour-tooter-nl.ts | 40 ++++++++++++++-------------- translations/harbour-tooter-nl_BE.ts | 40 ++++++++++++++-------------- translations/harbour-tooter-oc.ts | 36 ++++++++++++------------- translations/harbour-tooter-pl.ts | 2 +- translations/harbour-tooter-ru.ts | 36 ++++++++++++------------- translations/harbour-tooter-sr.ts | 38 +++++++++++++------------- translations/harbour-tooter-sv.ts | 36 ++++++++++++------------- 9 files changed, 135 insertions(+), 135 deletions(-) diff --git a/translations/harbour-tooter-el.ts b/translations/harbour-tooter-el.ts index cdc4ec3..b14cd6c 100644 --- a/translations/harbour-tooter-el.ts +++ b/translations/harbour-tooter-el.ts @@ -81,11 +81,11 @@ LoginPage Login - + Σύνδεση Instance - + Παράδειγμα 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. @@ -93,7 +93,7 @@ Reload - + Φορτώνω πάλι Enter a valid Mastodon instance URL @@ -228,35 +228,35 @@ Settings Settings - Ρυθμίσεις + Ρυθμίσεις Remove Account - + Αφαίρεση λογαριασμού Add Account - + Προσθήκη λογαριασμού Deauthorize this app and remove your account - + Άρση της αδειοδότησης της εφαρμογής και αφαίρεση του λογαριασμού σας Authorize this app to use your Mastodon account in your behalf - + Να επιτρέπεται στην εφαρμογή να χρησιμοποιεί τον λογαριασμό σας στο Mastodon εκ μέρους σας Disable this option if you want to preserve your data connection - + Απενεργοποιήστε αυτήν την επιλογή αν θέλετε να διατηρήσετε την σύνδεση των δεδομένων σας Credits - + Ευχαριστίες UI/UX design and development - + UI/UX σχεδιασμός και ανάπτυξη Visual identity @@ -288,11 +288,11 @@ Translate - + Μετάφραση Use Transifex to help with app translation to your language - + Χρησιμοποιήστε το Transifex για να βοηθήσετε την μετάφραση της εφαρμογής στην γλώσσα σας Development and translations @@ -318,19 +318,19 @@ VisualContainer Unboost - + Αναίρεση προώθησης Boost - + Προώθηση Unfavorite - + Αφαίρεση από τους σελιδοδείκτες Favorite - + Σελιδοδείκτης diff --git a/translations/harbour-tooter-es.ts b/translations/harbour-tooter-es.ts index 1abb309..7ccdc28 100644 --- a/translations/harbour-tooter-es.ts +++ b/translations/harbour-tooter-es.ts @@ -284,19 +284,19 @@ Load images in toots - + Cargar imágenes en messages Translate - + Traducir Use Transifex to help with app translation to your language - + Usar Transifex para ayudar con traducciones Development and translations - + Desarrollo y traducciones diff --git a/translations/harbour-tooter-nl.ts b/translations/harbour-tooter-nl.ts index 8fa6cab..5744cb4 100644 --- a/translations/harbour-tooter-nl.ts +++ b/translations/harbour-tooter-nl.ts @@ -81,19 +81,19 @@ LoginPage Login - + Inloggen Instance - + Instantie 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. - + Mastodon is een vrij sociaal netwerk. Als gedecentraliseerd alternatief voor commerciële platformen, vermijdt het de risico’s van een enkel bedrijf dat je communicatie monopoliseert. Kies een server die je vertrouwt — welke je ook kiest, je kunt met iedereen communiceren. Iedereen kan zelf een Mastodon-instantie hebben en naadloos deelnemen aan het sociale netwerk. Reload - + Herladen Enter a valid Mastodon instance URL @@ -228,35 +228,35 @@ Settings Settings - Instellingen + Instellingen Remove Account - + Verwijderen account Add Account - + Toevoegen account Deauthorize this app and remove your account - + Trek autorisaties van deze app in en verwijder je account Authorize this app to use your Mastodon account in your behalf - + Autoriseer deze app om je Mastodon namens jou te gebruiken Disable this option if you want to preserve your data connection - + Schakel deze optie uit als je je dataverbinding wilt behouden Credits - + Credits UI/UX design and development - + UI/UX ontwerp en ontwikkeling Visual identity @@ -284,19 +284,19 @@ Load images in toots - + Laden afbeeldingen in toots Translate - + Vertalen Use Transifex to help with app translation to your language - + Gebruik Transifex om deze app te helpen vertalen in jouw taal Development and translations - + Ontwikkeling en vertalingen @@ -318,19 +318,19 @@ VisualContainer Unboost - + Unboost Boost - + Boost Unfavorite - + Demarkeren als favoriet Favorite - + Markeren als favoriet diff --git a/translations/harbour-tooter-nl_BE.ts b/translations/harbour-tooter-nl_BE.ts index 44a6431..c332f31 100644 --- a/translations/harbour-tooter-nl_BE.ts +++ b/translations/harbour-tooter-nl_BE.ts @@ -81,23 +81,23 @@ LoginPage Login - + Inloggen Instance - + Instantie 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. - + Mastodon is e vrij sociaal netwerk. Als gedecentraliseerd alternatief voor commerciële platformen, vermijdt het de risico’s van één enkel bedrijf dat uw communicatie monopoliseert. Kiest ne server die ge vertrouwt — dewelken dat ge ook kiest, ge kunt met iedereen communiceren. Iedereen kan zelf een Mastodon-instantie hebben en naadloos deelnemen aan het sociaal netwerk. Reload - + Herladen Enter a valid Mastodon instance URL - + Voert den URL van een Mastodon-instantie in @@ -228,35 +228,35 @@ Settings Settings - Instellingen + Instellingen Remove Account - + Account verwijderen Add Account - + Account toevoegen Deauthorize this app and remove your account - + Trekt autorisaties van dezen app in en verwijdert uwen account Authorize this app to use your Mastodon account in your behalf - + Autoriseert dezen app voor uwe Mastodon-account namens u te gebruiken Disable this option if you want to preserve your data connection - + Schakelt dees optie uit als ge uw verbinding wilt behouden Credits - + Credits UI/UX design and development - + UI/UX-ontwerp en -ontwikkeling Visual identity @@ -284,15 +284,15 @@ Load images in toots - + Afbeeldingen in toots laden Translate - + Vertalen Use Transifex to help with app translation to your language - + Gebruikt Transifex voor te helpen met dezen app in uw taal te vertalen Development and translations @@ -318,19 +318,19 @@ VisualContainer Unboost - + Ontboosten Boost - + Boosten Unfavorite - + Duim verwijderen Favorite - + Duim toevoegen diff --git a/translations/harbour-tooter-oc.ts b/translations/harbour-tooter-oc.ts index 04416ad..ad54301 100644 --- a/translations/harbour-tooter-oc.ts +++ b/translations/harbour-tooter-oc.ts @@ -81,7 +81,7 @@ LoginPage Login - + Connexion Instance @@ -89,7 +89,7 @@ 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. - + Mastodon es un malhum liure e open source. Es una alternativa descentralizada a las plataformas comercialas, per empachar qu'una sola entrepresa monopolize vòstras comunicacions. Causissètz un servidor que vos fisatz - qualque siá vòstre causida poiretz interagir amb los autres. Tot lo monde pòt montar sa pròpria instància Mastodon e atal participar a construire un malhum mai solid. Reload @@ -97,7 +97,7 @@ Enter a valid Mastodon instance URL - + Picatz l’URL d’una instància Mastodon @@ -228,35 +228,35 @@ Settings Settings - Parmètres + Parmètres Remove Account - + Levar un compte Add Account - + Ajustar un compte Deauthorize this app and remove your account - + Revocar l’aplicacion e levar vòstre compte Authorize this app to use your Mastodon account in your behalf - + Autorizar aquesta aplicacion a utilizar vòstre compte Mastodon per vos Disable this option if you want to preserve your data connection - + Desactivar aquesta opcion per estalviar vòstra connexion de donadas Credits - + Crèdits UI/UX design and development - + UI/UX design e desvlopament Visual identity @@ -284,15 +284,15 @@ Load images in toots - + Cargar los imatges dels tuts Translate - + Traduire Use Transifex to help with app translation to your language - + Utilizar Transifex per ajudar a traduire l’aplicacion dins vòstra lenga Development and translations @@ -318,19 +318,19 @@ VisualContainer Unboost - + Partejar pas mai Boost - + Partejar Unfavorite - + Levar dels favorits Favorite - + Ajustar als favorits diff --git a/translations/harbour-tooter-pl.ts b/translations/harbour-tooter-pl.ts index baf74e3..b603437 100644 --- a/translations/harbour-tooter-pl.ts +++ b/translations/harbour-tooter-pl.ts @@ -1,6 +1,6 @@ - + API diff --git a/translations/harbour-tooter-ru.ts b/translations/harbour-tooter-ru.ts index 5f29604..6ded1d6 100644 --- a/translations/harbour-tooter-ru.ts +++ b/translations/harbour-tooter-ru.ts @@ -81,7 +81,7 @@ LoginPage Login - + Авторизоваться Instance @@ -89,7 +89,7 @@ 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. - + Mastodon - бесплатная социальная сеть с открытым исходным кодом. Децентрализованная альтернатива коммерческим платформам позволяет избежать рисков, связанных с тем, что одна компания монополизирует ваше общение. Выберите сервер, которому вы доверяете - в зависимости от того, что вы выберете, вы можете взаимодействовать со всеми остальными. Любой может запустить свой собственный экземпляр Mastodon и беспрепятственно участвовать в социальной сети. Reload @@ -97,7 +97,7 @@ Enter a valid Mastodon instance URL - + Введите URL-адрес экземпляра Mastodon @@ -228,35 +228,35 @@ Settings Settings - Настройки + Настройки Remove Account - + Удалить учетную запись Add Account - + Добавить аккаунт Deauthorize this app and remove your account - + удалить учетную запись с устройства Authorize this app to use your Mastodon account in your behalf - + Уполномочить это приложение использовать свою учетную запись Mastodon от вашего имени Disable this option if you want to preserve your data connection - + Отключите эту опцию, если вы хотите сохранить подключение к данным Credits - + Зачет UI/UX design and development - + Дизайн и разработка UI / UX Visual identity @@ -284,15 +284,15 @@ Load images in toots - + Загружать изображения Translate - + Переведите Use Transifex to help with app translation to your language - + Используйте Transifex, чтобы помочь с переводом приложения на ваш язык Development and translations @@ -318,19 +318,19 @@ VisualContainer Unboost - + Нет росту Boost - + Росту Unfavorite - + Избранные нет Favorite - + Избранные diff --git a/translations/harbour-tooter-sr.ts b/translations/harbour-tooter-sr.ts index 78274c1..2b12759 100644 --- a/translations/harbour-tooter-sr.ts +++ b/translations/harbour-tooter-sr.ts @@ -81,23 +81,23 @@ LoginPage Login - + Пријава Instance - + Инстанца 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. - + Mastodon је бесплатна, open-source друштвена мрежа. Децентрализована алтернатива комерцијалним платформама која избегава ризике једне компаније која монополизује вашу комуникацију. Одаберите сервер у који имате поверења и без обзира на ваш избор - комуницирајте с осталим корисницима других мрежа. Свако може водити сопствену инстанцу Mastodon мреже и учестовати у комуникацији с другим инстанцама. Reload - + освежи Enter a valid Mastodon instance URL - + Унесите URL ваше Мастодон инстанце @@ -228,35 +228,35 @@ Settings Settings - Подешавања + Подешавања Remove Account - + Уклони налог Add Account - + Додај налог Deauthorize this app and remove your account - + Укините дозволе за кориштење и уклоните налог с телефона Authorize this app to use your Mastodon account in your behalf - + Дозволите овој апликацији да користи ваш Mastodon налог Disable this option if you want to preserve your data connection - + Искључите ову опцију уколико желите да уштедите на преносу података Credits - + Спомен плоча UI/UX design and development - + интерфејс дизајн и развој Visual identity @@ -284,15 +284,15 @@ Load images in toots - + Прикажи слике у објавама Translate - + Преведи Use Transifex to help with app translation to your language - + Користите Transifex и помозите у преводу апликације на други језик Development and translations @@ -318,15 +318,15 @@ VisualContainer Unboost - + Уклони разглас Boost - + Разгласи Unfavorite - + Уклони из омиљених Favorite diff --git a/translations/harbour-tooter-sv.ts b/translations/harbour-tooter-sv.ts index 06214ee..355bb33 100644 --- a/translations/harbour-tooter-sv.ts +++ b/translations/harbour-tooter-sv.ts @@ -81,7 +81,7 @@ LoginPage Login - + Logga in Instance @@ -89,7 +89,7 @@ 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. - + Mastodon är ett fritt och öppet socialt nätverk byggt på öppen källkod. Ett decentraliserat alternativ till kommersiella plattformar, vilket undviker att ett ensamt företag monopoliserar din kommunikation. Välj en server du litar på --- beroende på vilken du väljer, kan du interagera med alla andra. Vem som helst kan köra deras egen Mastodoninstans och delta i nätverket. Även du! Reload @@ -97,7 +97,7 @@ Enter a valid Mastodon instance URL - + Fyll i URL till Mastodoninstans @@ -228,35 +228,35 @@ Settings Settings - Inställningar + Inställningar Remove Account - + Radera konto Add Account - + Lägg till konto Deauthorize this app and remove your account - + Avauktorisera denna app och radera ditt konto Authorize this app to use your Mastodon account in your behalf - + Godkänn denna app att använda ditt Mastodon-konto på dina vägnar Disable this option if you want to preserve your data connection - + Inaktivera det här alternativet om du vill behålla din dataanslutning Credits - + Erkännanden UI/UX design and development - + UI/UX design och utveckling Visual identity @@ -284,11 +284,11 @@ Load images in toots - + Ladda bilder i toots Translate - + Översätt Use Transifex to help with app translation to your language @@ -296,7 +296,7 @@ Development and translations - + Använd Transifex för att hjälpa med app-översättningar till ditt språk @@ -318,19 +318,19 @@ VisualContainer Unboost - + Avpuffa Boost - + Puffa Unfavorite - + Avfavorisera Favorite - + Favorisera From 038f0a37fb987e9cee0678960e48224ea95d9f88 Mon Sep 17 00:00:00 2001 From: molan-git <59296158+molan-git@users.noreply.github.com> Date: Tue, 28 Apr 2020 15:44:08 +0200 Subject: [PATCH 034/110] Added Italian translation Still misses some language strings --- translations/harbour-tooter-it.ts | 130 +++++++++++++++--------------- 1 file changed, 65 insertions(+), 65 deletions(-) diff --git a/translations/harbour-tooter-it.ts b/translations/harbour-tooter-it.ts index c1cbeba..513f55b 100644 --- a/translations/harbour-tooter-it.ts +++ b/translations/harbour-tooter-it.ts @@ -1,28 +1,28 @@ - + API favourited - + ha apprezzato il tuo post followed you - + ha iniziato a seguirti boosted - + ha condiviso il tuo post said - + ha detto @@ -30,52 +30,52 @@ Conversation - + Conversazione Write your warning here - + Contenuto avviso What's on your mind? - + A cosa stai pensando? Delete - + Elimina Public - + Pubblico Unlisted - + Non elencato Followers-only - + Solo ai seguaci Direct - + Diretto Emojis - + Emojis Tap to insert - + Tap per inserire @@ -83,7 +83,7 @@ Error loading - + Errore caricamento @@ -91,7 +91,7 @@ The file %1 does not exists - + Il file %1 non esiste @@ -99,27 +99,27 @@ Login - + Accesso Instance - + Istanza Enter a valid Mastodon instance URL - + Inserire URL di una istanza Mastodon valida 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. - + Mastodon è un servizio di rete sociale in software libero, costituito in una federazione d'istanze. Mastodon fa parte del più ampio Fediverso, permettendo ai suoi utenti di interagire anche con utenti su diverse piattaforme aperte che supportano lo stesso protocollo. Reload - + Ricarica @@ -127,37 +127,37 @@ Home - + Home Notifications - + Notifiche Local - + Locale Federated - + Federazione Search - + Cerca @user or #term - + @utente o #termine New Toot - + Nuovo toot @@ -165,17 +165,17 @@ boosted - + ha condiviso il tuo post favourited - + ha apprezzato il tuo post followed you - + ha iniziato a seguirti @@ -183,22 +183,22 @@ Loading - + Caricamento please wait... - + Attendere un momento... Settings - + Impostazioni Load more - + Caricare altri @@ -206,72 +206,72 @@ Summary - + Sintesi Followers - + Seguaci Following - + Segue Statuses - + Toots Favourites - + Apprezzati Unfollow - + Smetti di seguire Follow request sent! - + Richiesta di seguito inviata Follow - + Segui Unmute - + Non silenziare Mute - + Silenzia Unblock - + Sblocca Block - + Blocca Bio - + Biografia Open Profile in Browser - + Aprire profile nel browser @@ -279,32 +279,32 @@ Settings - + Impostazione Remove Account - + Rimozione del account Add Account - + Aggiungi account Deauthorize this app and remove your account - + Annullare l'autorizzazione dell'app e rimuovere l'account Authorize this app to use your Mastodon account in your behalf - + Autorizzare l'app all'utilizzo del conto Mastodon Load images in toots - + Caricare immagini nei toots @@ -314,12 +314,12 @@ Translate - + Tradurre Use Transifex to help with app translation to your language - + Utilizzare Transifex per aiutare nella traduzione dell'app @@ -372,17 +372,17 @@ boosted - + ha condiviso il tuo post favourited - + ha apprezzato il tuo post followed you - + ha iniziato a seguirti @@ -390,22 +390,22 @@ Unboost - + Annulla condivisione Boost - + Condividi Unfavorite - + Annulla apprezzamento Favorite - + Apprezzato From 2511cd8797623d5ee5ff7f0b75a5cb749641e9b0 Mon Sep 17 00:00:00 2001 From: molan-git <59296158+molan-git@users.noreply.github.com> Date: Tue, 28 Apr 2020 22:10:29 +0200 Subject: [PATCH 035/110] Updated translations --- translations/harbour-tooter-de.ts | 2 +- translations/harbour-tooter-el.ts | 2 +- translations/harbour-tooter-es.ts | 2 +- translations/harbour-tooter-fi.ts | 2 +- translations/harbour-tooter-fr.ts | 2 +- translations/harbour-tooter-it.ts | 38 ++++++++++++++-------------- translations/harbour-tooter-nl.ts | 2 +- translations/harbour-tooter-nl_BE.ts | 2 +- translations/harbour-tooter-oc.ts | 2 +- translations/harbour-tooter-pl.ts | 2 +- translations/harbour-tooter-ru.ts | 2 +- translations/harbour-tooter-sr.ts | 2 +- translations/harbour-tooter-sv.ts | 2 +- translations/harbour-tooter-zh_CN.ts | 2 +- translations/harbour-tooter.ts | 2 +- 15 files changed, 33 insertions(+), 33 deletions(-) diff --git a/translations/harbour-tooter-de.ts b/translations/harbour-tooter-de.ts index 5faac3b..dbb8d1e 100644 --- a/translations/harbour-tooter-de.ts +++ b/translations/harbour-tooter-de.ts @@ -243,7 +243,7 @@ Konto entfernen und für diese Anwendung deaktivieren - Authorize this app to use your Mastodon account in your behalf + Authorize this app to access your Mastodon account Zugriff durch diese Anwendung auf eigenes Mastodon-Konto erlauben diff --git a/translations/harbour-tooter-el.ts b/translations/harbour-tooter-el.ts index b14cd6c..7485578 100644 --- a/translations/harbour-tooter-el.ts +++ b/translations/harbour-tooter-el.ts @@ -243,7 +243,7 @@ Άρση της αδειοδότησης της εφαρμογής και αφαίρεση του λογαριασμού σας - Authorize this app to use your Mastodon account in your behalf + Authorize this app to access your Mastodon account Να επιτρέπεται στην εφαρμογή να χρησιμοποιεί τον λογαριασμό σας στο Mastodon εκ μέρους σας diff --git a/translations/harbour-tooter-es.ts b/translations/harbour-tooter-es.ts index 7ccdc28..3f72e80 100644 --- a/translations/harbour-tooter-es.ts +++ b/translations/harbour-tooter-es.ts @@ -243,7 +243,7 @@ Retira la autorización a esta aplicación y elimina tu cuenta - Authorize this app to use your Mastodon account in your behalf + Authorize this app to access your Mastodon account Autoriza a esta aplicación para usar tu cuenta de Mastodon en tu nombre diff --git a/translations/harbour-tooter-fi.ts b/translations/harbour-tooter-fi.ts index 86879b5..6fa55cb 100644 --- a/translations/harbour-tooter-fi.ts +++ b/translations/harbour-tooter-fi.ts @@ -243,7 +243,7 @@ - Authorize this app to use your Mastodon account in your behalf + Authorize this app to access your Mastodon account diff --git a/translations/harbour-tooter-fr.ts b/translations/harbour-tooter-fr.ts index c802da7..4a1b391 100644 --- a/translations/harbour-tooter-fr.ts +++ b/translations/harbour-tooter-fr.ts @@ -243,7 +243,7 @@ Désautoriser cette application et enlever votre compte - Authorize this app to use your Mastodon account in your behalf + Authorize this app to access your Mastodon account Autoriser cette application d'utiliser votre compte diff --git a/translations/harbour-tooter-it.ts b/translations/harbour-tooter-it.ts index 513f55b..f2df398 100644 --- a/translations/harbour-tooter-it.ts +++ b/translations/harbour-tooter-it.ts @@ -114,7 +114,7 @@ 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. - Mastodon è un servizio di rete sociale in software libero, costituito in una federazione d'istanze. Mastodon fa parte del più ampio Fediverso, permettendo ai suoi utenti di interagire anche con utenti su diverse piattaforme aperte che supportano lo stesso protocollo. + Mastodon è un servizio di rete sociale in software libero, costituito in una federazione d'istanze. Mastodon fa parte del più ampio Fediverso, permettendo ai suoi utenti di interagire anche con utenti su diverse piattaforme aperte che supportano lo stesso protocollo. @@ -204,72 +204,72 @@ Profile - + Summary Sintesi - + Followers Seguaci - + Following Segue - + Statuses Toots - + Favourites Apprezzati - + Unfollow Smetti di seguire - + Follow request sent! Richiesta di seguito inviata - + Follow Segui - + Unmute Non silenziare - + Mute Silenzia - + Unblock Sblocca - + Block Blocca - + Bio Biografia - + Open Profile in Browser Aprire profile nel browser @@ -294,12 +294,12 @@ Deauthorize this app and remove your account - Annullare l'autorizzazione dell'app e rimuovere l'account + Annullare l'autorizzazione dell'app e rimuovere l'account - Authorize this app to use your Mastodon account in your behalf - Autorizzare l'app all'utilizzo del conto Mastodon + Authorize this app to access your Mastodon account + Autorizzare l'app all'utilizzo del conto Mastodon @@ -319,7 +319,7 @@ Use Transifex to help with app translation to your language - Utilizzare Transifex per aiutare nella traduzione dell'app + Utilizzare Transifex per aiutare nella traduzione dell'app diff --git a/translations/harbour-tooter-nl.ts b/translations/harbour-tooter-nl.ts index 5744cb4..ab1c881 100644 --- a/translations/harbour-tooter-nl.ts +++ b/translations/harbour-tooter-nl.ts @@ -243,7 +243,7 @@ Trek autorisaties van deze app in en verwijder je account - Authorize this app to use your Mastodon account in your behalf + Authorize this app to access your Mastodon account Autoriseer deze app om je Mastodon namens jou te gebruiken diff --git a/translations/harbour-tooter-nl_BE.ts b/translations/harbour-tooter-nl_BE.ts index c332f31..0574a30 100644 --- a/translations/harbour-tooter-nl_BE.ts +++ b/translations/harbour-tooter-nl_BE.ts @@ -243,7 +243,7 @@ Trekt autorisaties van dezen app in en verwijdert uwen account - Authorize this app to use your Mastodon account in your behalf + Authorize this app to access your Mastodon account Autoriseert dezen app voor uwe Mastodon-account namens u te gebruiken diff --git a/translations/harbour-tooter-oc.ts b/translations/harbour-tooter-oc.ts index ad54301..93d6391 100644 --- a/translations/harbour-tooter-oc.ts +++ b/translations/harbour-tooter-oc.ts @@ -243,7 +243,7 @@ Revocar l’aplicacion e levar vòstre compte - Authorize this app to use your Mastodon account in your behalf + Authorize this app to access your Mastodon account Autorizar aquesta aplicacion a utilizar vòstre compte Mastodon per vos diff --git a/translations/harbour-tooter-pl.ts b/translations/harbour-tooter-pl.ts index b603437..121352a 100644 --- a/translations/harbour-tooter-pl.ts +++ b/translations/harbour-tooter-pl.ts @@ -243,7 +243,7 @@ - Authorize this app to use your Mastodon account in your behalf + Authorize this app to access your Mastodon account diff --git a/translations/harbour-tooter-ru.ts b/translations/harbour-tooter-ru.ts index 6ded1d6..256b798 100644 --- a/translations/harbour-tooter-ru.ts +++ b/translations/harbour-tooter-ru.ts @@ -243,7 +243,7 @@ удалить учетную запись с устройства - Authorize this app to use your Mastodon account in your behalf + Authorize this app to access your Mastodon account Уполномочить это приложение использовать свою учетную запись Mastodon от вашего имени diff --git a/translations/harbour-tooter-sr.ts b/translations/harbour-tooter-sr.ts index 2b12759..52fc514 100644 --- a/translations/harbour-tooter-sr.ts +++ b/translations/harbour-tooter-sr.ts @@ -243,7 +243,7 @@ Укините дозволе за кориштење и уклоните налог с телефона - Authorize this app to use your Mastodon account in your behalf + Authorize this app to access your Mastodon account Дозволите овој апликацији да користи ваш Mastodon налог diff --git a/translations/harbour-tooter-sv.ts b/translations/harbour-tooter-sv.ts index 355bb33..ea39d51 100644 --- a/translations/harbour-tooter-sv.ts +++ b/translations/harbour-tooter-sv.ts @@ -243,7 +243,7 @@ Avauktorisera denna app och radera ditt konto - Authorize this app to use your Mastodon account in your behalf + Authorize this app to access your Mastodon account Godkänn denna app att använda ditt Mastodon-konto på dina vägnar diff --git a/translations/harbour-tooter-zh_CN.ts b/translations/harbour-tooter-zh_CN.ts index d21a02e..98f420b 100644 --- a/translations/harbour-tooter-zh_CN.ts +++ b/translations/harbour-tooter-zh_CN.ts @@ -243,7 +243,7 @@ 取消授权此软件并移除你的账号 - Authorize this app to use your Mastodon account in your behalf + Authorize this app to access your Mastodon account 授权此软件使用你的 Mastodon 账号 diff --git a/translations/harbour-tooter.ts b/translations/harbour-tooter.ts index 42090a4..a199f9e 100644 --- a/translations/harbour-tooter.ts +++ b/translations/harbour-tooter.ts @@ -243,7 +243,7 @@ - Authorize this app to use your Mastodon account in your behalf + Authorize this app to access your Mastodon account From e2a52205f3e0545c9b26d9b68739cd0f13b0eb07 Mon Sep 17 00:00:00 2001 From: molan-git <59296158+molan-git@users.noreply.github.com> Date: Tue, 28 Apr 2020 22:11:07 +0200 Subject: [PATCH 036/110] Improved label text --- qml/pages/Settings.qml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/qml/pages/Settings.qml b/qml/pages/Settings.qml index 5a447b0..e4c68de 100644 --- a/qml/pages/Settings.qml +++ b/qml/pages/Settings.qml @@ -25,7 +25,7 @@ Page { IconTextSwitch { id: removeAccount text: Logic.conf['login'] ? qsTr("Remove Account") : qsTr("Add Account") - description: Logic.conf['login'] ? qsTr("Deauthorize this app and remove your account") : qsTr("Authorize this app to use your Mastodon account in your behalf") + description: Logic.conf['login'] ? qsTr("Deauthorize this app and remove your account") : qsTr("Authorize this app to access your Mastodon account") icon.source: Logic.conf['login'] ? "image://theme/icon-m-people" : "image://theme/icon-m-add" From ded87711f4da16d05eef958501499bab5b4ff034 Mon Sep 17 00:00:00 2001 From: molan-git <59296158+molan-git@users.noreply.github.com> Date: Tue, 28 Apr 2020 22:24:35 +0200 Subject: [PATCH 037/110] Fixed ReferenceError Fixed ReferenceError: m is not defined --- qml/pages/Profile.qml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/qml/pages/Profile.qml b/qml/pages/Profile.qml index c26c7ed..d7b8e42 100644 --- a/qml/pages/Profile.qml +++ b/qml/pages/Profile.qml @@ -72,7 +72,7 @@ Page { // line below was commented out, reason unknown // username = messageObject.data break; - case 'locked':m + case 'locked': locked = messageObject.data break; case 'created_at': From 217b44749124374d16f58c311e9cf1c41802bb9e Mon Sep 17 00:00:00 2001 From: molan-git <59296158+molan-git@users.noreply.github.com> Date: Wed, 29 Apr 2020 14:05:36 +0200 Subject: [PATCH 038/110] Updated translations --- translations/harbour-tooter-de.ts | 72 ++++++++++++++-------------- translations/harbour-tooter-el.ts | 12 ++--- translations/harbour-tooter-es.ts | 22 ++++----- translations/harbour-tooter-fi.ts | 8 ++-- translations/harbour-tooter-fr.ts | 52 ++++++++++---------- translations/harbour-tooter-it.ts | 68 +++++++++++++------------- translations/harbour-tooter-nl.ts | 20 ++++---- translations/harbour-tooter-nl_BE.ts | 22 ++++----- translations/harbour-tooter-oc.ts | 12 ++--- translations/harbour-tooter-pl.ts | 8 ++-- translations/harbour-tooter-ru.ts | 12 ++--- translations/harbour-tooter-sr.ts | 22 ++++----- translations/harbour-tooter-sv.ts | 12 ++--- translations/harbour-tooter-zh_CN.ts | 22 ++++----- translations/harbour-tooter.ts | 8 ++-- 15 files changed, 186 insertions(+), 186 deletions(-) diff --git a/translations/harbour-tooter-de.ts b/translations/harbour-tooter-de.ts index dbb8d1e..8f35ce9 100644 --- a/translations/harbour-tooter-de.ts +++ b/translations/harbour-tooter-de.ts @@ -5,15 +5,15 @@ API favourited - favorisiert + hat deinen Beitrag favorisiert followed you - sind dir gefolgt + folgt dir boosted - geboostet + hat deinen Beitrag geteilt said @@ -40,7 +40,7 @@ Write your warning here - Füge eine Inhaltswarnung hinzu + Inhaltswarnung Public @@ -52,15 +52,15 @@ Followers-only - Nur Follower + Nur für Folgende Direct - Direkt + Direktnachricht What's on your mind? - Was möchtest du mitteilen? + Was gibt's Neues? @@ -81,23 +81,23 @@ LoginPage Login - Login + Instance - Instanz - - - 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. - Mastodon ist ein freies, quelloffenes soziales Netzwerk. Im Gegensatz zu kommerziellen Plattformen, ist Mastodon als dezentrales Netzwerk konzipiert. Somit wird das Risiko vermieden, dass ein einziges Unternehmen die volle Kontrolle über die Kommunikation der Benutzer hat. Benutzer können einer beliebigen Instanz beitreten oder selbst eine eigene betreiben. - - - Reload - Neu laden + Enter a valid Mastodon instance URL - Eine gültige Mastodon-Instanz URL eingeben + + + + 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. + + + + Reload + @@ -120,7 +120,7 @@ @user or #term - @User oder #Ausdruck + @Benutzer oder #Ausdruck Local @@ -128,22 +128,22 @@ Federated - Föderiert + Föderation MiniStatus boosted - geboostet + hat deinen Beitrag geteilt favourited - favorisiert + hat deinen Beitrag favorisiert followed you - sind dir gefolgt + folgt dir @@ -169,7 +169,7 @@ Profile Unfollow - Nicht mehr folgen + Entfolgen Follow request sent! @@ -177,15 +177,15 @@ Following - Folgend + Folgt Mute - Stumm + Stummschalten Unmute - Nicht stumm + Nicht stummschalten Unblock @@ -197,7 +197,7 @@ Statuses - Status + Beiträge Favourites @@ -205,7 +205,7 @@ Follow - Folge + Folgen Summary @@ -213,7 +213,7 @@ Followers - Anhänger + Folgende Bio @@ -221,7 +221,7 @@ Open Profile in Browser - Profil in Browser öffnen + Profil im Browser öffnen @@ -276,7 +276,7 @@ Added README file - README-Datei erstellt + Erstellung README-Datei Chinese translation @@ -303,11 +303,11 @@ Toot boosted - geboostet + hat deinen Beitrag geteilt favourited - favorisiert + hat deinen Beitrag favorisiert followed you @@ -318,11 +318,11 @@ VisualContainer Unboost - Nicht boosten + Nicht mehr teilen Boost - Boosten + Teilen Unfavorite diff --git a/translations/harbour-tooter-el.ts b/translations/harbour-tooter-el.ts index 7485578..23deefe 100644 --- a/translations/harbour-tooter-el.ts +++ b/translations/harbour-tooter-el.ts @@ -81,11 +81,15 @@ LoginPage Login - Σύνδεση + Instance - Παράδειγμα + + + + Enter a valid Mastodon instance URL + 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. @@ -93,10 +97,6 @@ Reload - Φορτώνω πάλι - - - Enter a valid Mastodon instance URL diff --git a/translations/harbour-tooter-es.ts b/translations/harbour-tooter-es.ts index 3f72e80..c25cc2d 100644 --- a/translations/harbour-tooter-es.ts +++ b/translations/harbour-tooter-es.ts @@ -81,23 +81,23 @@ LoginPage Login - Acceso + Instance - Instancia - - - 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. - Mastodon es una red social libre y de código abierto. Una alternativa descentralizada a las plataformas comerciales, evita los riesgos de una única compañía que monopolice tu comunicación. Elije un servidor en el que confíes — cualquiera que elijas, puede interactuar con todos los demás. Cualquiera puede ejecutar su propia instancia de Mastodon y participar en la red social sin problemas. - - - Reload - Volver a cargar + Enter a valid Mastodon instance URL - Introduce una URL de instancia de Mastodon válida + + + + 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. + + + + Reload + diff --git a/translations/harbour-tooter-fi.ts b/translations/harbour-tooter-fi.ts index 6fa55cb..f1444ea 100644 --- a/translations/harbour-tooter-fi.ts +++ b/translations/harbour-tooter-fi.ts @@ -87,6 +87,10 @@ Instance + + Enter a valid Mastodon instance URL + + 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. @@ -95,10 +99,6 @@ Reload - - Enter a valid Mastodon instance URL - - MainPage diff --git a/translations/harbour-tooter-fr.ts b/translations/harbour-tooter-fr.ts index 4a1b391..0643fca 100644 --- a/translations/harbour-tooter-fr.ts +++ b/translations/harbour-tooter-fr.ts @@ -48,11 +48,11 @@ Unlisted - Non coté + Non listé Followers-only - Que Followers + Abonné(e)s uniquement Direct @@ -60,7 +60,7 @@ What's on your mind? - A quoi penses-tu? + Qu'avez-vous en tête? @@ -81,23 +81,23 @@ LoginPage Login - Login + Instance - Instance - - - 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. - Mastodon est un réseau social et logiciel à source ouverte de microblog auto-hébergé, libre, distribué et acentré. Il permet de partager des messages, images et autres contenus. Mastodon peut être fédéré à un réseau d'instances capables de communiquer entre elles. - - - Reload - Recharger + Enter a valid Mastodon instance URL - Entrer l'URL d'une instance de Mastodon + + + + 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. + + + + Reload + @@ -116,7 +116,7 @@ Search - Recherche + Chercher @user or #term @@ -124,18 +124,18 @@ Local - Local + Fil public local Federated - Fédéré + Fil public global MiniStatus boosted - a partagé + a partagé votre statut favourited @@ -143,7 +143,7 @@ followed you - vous a suivi + vous suit @@ -197,7 +197,7 @@ Statuses - Status + Pouets Favourites @@ -213,11 +213,11 @@ Followers - Abonnés + Abonné(e)s Bio - + Bio Open Profile in Browser @@ -303,7 +303,7 @@ Toot boosted - boosté + a partagé votre statut favourited @@ -318,11 +318,11 @@ VisualContainer Unboost - Pas booster + Annuler le partage Boost - Booster + Partager Unfavorite @@ -330,7 +330,7 @@ Favorite - Favoriser + Ajouter au favoris diff --git a/translations/harbour-tooter-it.ts b/translations/harbour-tooter-it.ts index f2df398..2f00c08 100644 --- a/translations/harbour-tooter-it.ts +++ b/translations/harbour-tooter-it.ts @@ -99,27 +99,27 @@ Login - Accesso + Instance - Istanza + Enter a valid Mastodon instance URL - Inserire URL di una istanza Mastodon valida + - + 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. - Mastodon è un servizio di rete sociale in software libero, costituito in una federazione d'istanze. Mastodon fa parte del più ampio Fediverso, permettendo ai suoi utenti di interagire anche con utenti su diverse piattaforme aperte che supportano lo stesso protocollo. + - + Reload - Ricarica + @@ -204,72 +204,72 @@ Profile - + Summary Sintesi - + Followers Seguaci - + Following Segue - + Statuses Toots - + Favourites Apprezzati - + Unfollow Smetti di seguire - + Follow request sent! - Richiesta di seguito inviata + Richiesta di seguito inviata! - + Follow Segui - + Unmute Non silenziare - + Mute Silenzia - + Unblock Sblocca - + Block Blocca - + Bio Biografia - + Open Profile in Browser Aprire profile nel browser @@ -284,7 +284,7 @@ Remove Account - Rimozione del account + Rimozione del account @@ -294,7 +294,7 @@ Deauthorize this app and remove your account - Annullare l'autorizzazione dell'app e rimuovere l'account + Annullare l'autorizzazione dell'app e rimuovere l'account @@ -309,7 +309,7 @@ Disable this option if you want to preserve your data connection - + Disabilitare questa opzione per conservare connessione dati @@ -324,47 +324,47 @@ Credits - + Sviluppo UI/UX design and development - + Design UI/UX e sviluppo Visual identity - + Identità visiva Development and translations - + Sviluppo e traduzioni Occitan & French translation - + Traduzione francese e occitanica Chinese translation - + Traduzione cinese Dutch translation - + Traduzione olandese Spanish translation - + Traduzione spagnola Added README file - + Aggiunto file README diff --git a/translations/harbour-tooter-nl.ts b/translations/harbour-tooter-nl.ts index ab1c881..e24d35a 100644 --- a/translations/harbour-tooter-nl.ts +++ b/translations/harbour-tooter-nl.ts @@ -81,24 +81,24 @@ LoginPage Login - Inloggen + Instance - Instantie - - - 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. - Mastodon is een vrij sociaal netwerk. Als gedecentraliseerd alternatief voor commerciële platformen, vermijdt het de risico’s van een enkel bedrijf dat je communicatie monopoliseert. Kies een server die je vertrouwt — welke je ook kiest, je kunt met iedereen communiceren. Iedereen kan zelf een Mastodon-instantie hebben en naadloos deelnemen aan het sociale netwerk. - - - Reload - Herladen + Enter a valid Mastodon instance URL + + 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. + + + + Reload + + MainPage diff --git a/translations/harbour-tooter-nl_BE.ts b/translations/harbour-tooter-nl_BE.ts index 0574a30..ca187ab 100644 --- a/translations/harbour-tooter-nl_BE.ts +++ b/translations/harbour-tooter-nl_BE.ts @@ -81,23 +81,23 @@ LoginPage Login - Inloggen + Instance - Instantie - - - 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. - Mastodon is e vrij sociaal netwerk. Als gedecentraliseerd alternatief voor commerciële platformen, vermijdt het de risico’s van één enkel bedrijf dat uw communicatie monopoliseert. Kiest ne server die ge vertrouwt — dewelken dat ge ook kiest, ge kunt met iedereen communiceren. Iedereen kan zelf een Mastodon-instantie hebben en naadloos deelnemen aan het sociaal netwerk. - - - Reload - Herladen + Enter a valid Mastodon instance URL - Voert den URL van een Mastodon-instantie in + + + + 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. + + + + Reload + diff --git a/translations/harbour-tooter-oc.ts b/translations/harbour-tooter-oc.ts index 93d6391..895e50d 100644 --- a/translations/harbour-tooter-oc.ts +++ b/translations/harbour-tooter-oc.ts @@ -81,24 +81,24 @@ LoginPage Login - Connexion + Instance + + Enter a valid Mastodon instance URL + + 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. - Mastodon es un malhum liure e open source. Es una alternativa descentralizada a las plataformas comercialas, per empachar qu'una sola entrepresa monopolize vòstras comunicacions. Causissètz un servidor que vos fisatz - qualque siá vòstre causida poiretz interagir amb los autres. Tot lo monde pòt montar sa pròpria instància Mastodon e atal participar a construire un malhum mai solid. + Reload - - Enter a valid Mastodon instance URL - Picatz l’URL d’una instància Mastodon - MainPage diff --git a/translations/harbour-tooter-pl.ts b/translations/harbour-tooter-pl.ts index 121352a..952b1b2 100644 --- a/translations/harbour-tooter-pl.ts +++ b/translations/harbour-tooter-pl.ts @@ -87,6 +87,10 @@ Instance + + Enter a valid Mastodon instance URL + + 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. @@ -95,10 +99,6 @@ Reload - - Enter a valid Mastodon instance URL - - MainPage diff --git a/translations/harbour-tooter-ru.ts b/translations/harbour-tooter-ru.ts index 256b798..20d151c 100644 --- a/translations/harbour-tooter-ru.ts +++ b/translations/harbour-tooter-ru.ts @@ -81,24 +81,24 @@ LoginPage Login - Авторизоваться + Instance + + Enter a valid Mastodon instance URL + + 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. - Mastodon - бесплатная социальная сеть с открытым исходным кодом. Децентрализованная альтернатива коммерческим платформам позволяет избежать рисков, связанных с тем, что одна компания монополизирует ваше общение. Выберите сервер, которому вы доверяете - в зависимости от того, что вы выберете, вы можете взаимодействовать со всеми остальными. Любой может запустить свой собственный экземпляр Mastodon и беспрепятственно участвовать в социальной сети. + Reload - - Enter a valid Mastodon instance URL - Введите URL-адрес экземпляра Mastodon - MainPage diff --git a/translations/harbour-tooter-sr.ts b/translations/harbour-tooter-sr.ts index 52fc514..3091e3e 100644 --- a/translations/harbour-tooter-sr.ts +++ b/translations/harbour-tooter-sr.ts @@ -81,23 +81,23 @@ LoginPage Login - Пријава + Instance - Инстанца - - - 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. - Mastodon је бесплатна, open-source друштвена мрежа. Децентрализована алтернатива комерцијалним платформама која избегава ризике једне компаније која монополизује вашу комуникацију. Одаберите сервер у који имате поверења и без обзира на ваш избор - комуницирајте с осталим корисницима других мрежа. Свако може водити сопствену инстанцу Mastodon мреже и учестовати у комуникацији с другим инстанцама. - - - Reload - освежи + Enter a valid Mastodon instance URL - Унесите URL ваше Мастодон инстанце + + + + 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. + + + + Reload + diff --git a/translations/harbour-tooter-sv.ts b/translations/harbour-tooter-sv.ts index ea39d51..02cc1cd 100644 --- a/translations/harbour-tooter-sv.ts +++ b/translations/harbour-tooter-sv.ts @@ -81,24 +81,24 @@ LoginPage Login - Logga in + Instance + + Enter a valid Mastodon instance URL + + 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. - Mastodon är ett fritt och öppet socialt nätverk byggt på öppen källkod. Ett decentraliserat alternativ till kommersiella plattformar, vilket undviker att ett ensamt företag monopoliserar din kommunikation. Välj en server du litar på --- beroende på vilken du väljer, kan du interagera med alla andra. Vem som helst kan köra deras egen Mastodoninstans och delta i nätverket. Även du! + Reload - - Enter a valid Mastodon instance URL - Fyll i URL till Mastodoninstans - MainPage diff --git a/translations/harbour-tooter-zh_CN.ts b/translations/harbour-tooter-zh_CN.ts index 98f420b..5b4b447 100644 --- a/translations/harbour-tooter-zh_CN.ts +++ b/translations/harbour-tooter-zh_CN.ts @@ -81,23 +81,23 @@ LoginPage Login - 登录 + Instance - 实例 - - - 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. - ​Mastodon 是一个自由且开源的社交网络。一个去中心化的商业平台的替代品。它能够避免某个公司垄断你的通讯方式的风险。选择一个你所信任的服务器——无论你选择什么,你都可以和其他人进行互动。任何人都能运行他们自己的 Mastodon 实例,然后无缝加入社交网站。 - - - Reload - 重新加载 + Enter a valid Mastodon instance URL - 输入一个有效的 Mastodon 实例 URL + + + + 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. + + + + Reload + diff --git a/translations/harbour-tooter.ts b/translations/harbour-tooter.ts index a199f9e..b119e7e 100644 --- a/translations/harbour-tooter.ts +++ b/translations/harbour-tooter.ts @@ -87,6 +87,10 @@ Instance + + Enter a valid Mastodon instance URL + + 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. @@ -95,10 +99,6 @@ Reload - - Enter a valid Mastodon instance URL - - MainPage From c321a76f75396175ea0c2f5d7cac4b72e11032e7 Mon Sep 17 00:00:00 2001 From: molan-git <59296158+molan-git@users.noreply.github.com> Date: Wed, 29 Apr 2020 14:08:20 +0200 Subject: [PATCH 039/110] Fixed margins and text colour - new top margin for better separation between text labels - fixed wrong label alignment with Theme.horizontalPageMargin - Changed colour of Mastodon description to Theme.highlightColor --- qml/pages/LoginPage.qml | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/qml/pages/LoginPage.qml b/qml/pages/LoginPage.qml index 235315c..c3874fb 100644 --- a/qml/pages/LoginPage.qml +++ b/qml/pages/LoginPage.qml @@ -68,7 +68,8 @@ Page { width: parent.width validator: RegExpValidator { regExp: /^(ftp|http|https):\/\/[^ "]+$/ } EnterKey.enabled: instance.acceptableInput; - EnterKey.iconSource: "image://theme/icon-m-enter-next" + EnterKey.highlighted: instance.acceptableInput; + EnterKey.iconSource: "image://theme/icon-m-accept" EnterKey.onClicked: { Logic.api = new Logic.MastodonAPI({ instance: instance.text, api_user_token: "" }); Logic.api.registerApplication("Tooter", @@ -110,13 +111,14 @@ Page { anchors { left: parent.left right: parent.right - leftMargin: Theme.paddingLarge - rightMargin: Theme.paddingLarge + topMargin: Theme.paddingMedium + leftMargin: Theme.horizontalPageMargin + rightMargin: Theme.horizontalPageMargin } width: parent.width wrapMode: Text.WordWrap - color: Theme.secondaryHighlightColor + 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.") } From 28cd0629b6a9e7ea436bb4a0665203e8b2c81318 Mon Sep 17 00:00:00 2001 From: molan-git <59296158+molan-git@users.noreply.github.com> Date: Wed, 29 Apr 2020 14:27:54 +0200 Subject: [PATCH 040/110] Replaced icons Use better matching icons --- qml/pages/Settings.qml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/qml/pages/Settings.qml b/qml/pages/Settings.qml index e4c68de..00d6874 100644 --- a/qml/pages/Settings.qml +++ b/qml/pages/Settings.qml @@ -26,7 +26,7 @@ Page { id: removeAccount text: Logic.conf['login'] ? qsTr("Remove Account") : qsTr("Add Account") description: Logic.conf['login'] ? qsTr("Deauthorize this app and remove your account") : qsTr("Authorize this app to access your Mastodon account") - icon.source: Logic.conf['login'] ? "image://theme/icon-m-people" : "image://theme/icon-m-add" + icon.source: Logic.conf['login'] ? "image://theme/icon-m-contact" : "image://theme/icon-m-add" onCheckedChanged: { @@ -59,7 +59,7 @@ Page { checked: typeof Logic.conf['loadImages'] !== "undefined" && Logic.conf['loadImages'] text: qsTr("Load images in toots") description: qsTr("Disable this option if you want to preserve your data connection") - icon.source: "image://theme/icon-m-mobile-network" + icon.source: "image://theme/icon-m-image" onClicked: { Logic.conf['loadImages'] = checked } @@ -67,7 +67,7 @@ Page { IconTextSwitch { text: qsTr("Translate") description: qsTr("Use Transifex to help with app translation to your language") - icon.source: "image://theme/icon-m-presence" + icon.source: "image://theme/icon-m-font-size" onCheckedChanged: { busy = true; checked = false; @@ -153,7 +153,7 @@ Page { verticalCenter: parent.verticalCenter right: parent.right } - icon.source: "image://theme/" + (model.mastodon !== "" ? "icon-m-person" : "icon-m-mail") + "?" + (pressed + icon.source: "image://theme/" + (model.mastodon !== "" ? "icon-m-contact" : "icon-m-mail") + "?" + (pressed ? Theme.highlightColor : Theme.primaryColor) onClicked: { From a09b00c92f338366086642cbb22720527f3d65de Mon Sep 17 00:00:00 2001 From: molan-git <59296158+molan-git@users.noreply.github.com> Date: Wed, 29 Apr 2020 15:24:16 +0200 Subject: [PATCH 041/110] Added new icons - Added new icons for empty profile avatars - Removed unused entries --- harbour-tooter.pro | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/harbour-tooter.pro b/harbour-tooter.pro index 60f24c5..6a1b13c 100644 --- a/harbour-tooter.pro +++ b/harbour-tooter.pro @@ -73,16 +73,14 @@ DISTFILES += qml/harbour-tooter.qml \ qml/pages/Settings.qml \ qml/lib/API.js \ qml/images/notification.svg \ - qml/images/home.svg \ - qml/images/mesagess.svg \ - qml/images/search.svg \ qml/images/verified.svg \ - qml/images/local.svg \ - qml/images/federated.svg \ + qml/images/boosted.svg \ qml/images/tooter.svg \ + qml/images/emojiselect.svg \ + qml/images/icon-m-profile.svg \ + qml/images/icon-l-profile.svg \ qml/lib/Mastodon.js \ qml/lib/Worker.js \ - qml/images/boosted.svg \ config/icon-lock-harbour-tooter.png \ config/x-harbour.tooter.activity.conf \ rpm/harbour-tooter.changes \ From e3e4a1fac01d0c9d283037845876895404bd912b Mon Sep 17 00:00:00 2001 From: molan-git <59296158+molan-git@users.noreply.github.com> Date: Wed, 29 Apr 2020 15:25:47 +0200 Subject: [PATCH 042/110] Add icon for profiles For profiles without own avatar --- qml/images/icon-l-profile.svg | 17 +++++++++++++++++ qml/images/icon-m-profile.svg | 25 +++++++++++++++++++++++++ 2 files changed, 42 insertions(+) create mode 100644 qml/images/icon-l-profile.svg create mode 100644 qml/images/icon-m-profile.svg diff --git a/qml/images/icon-l-profile.svg b/qml/images/icon-l-profile.svg new file mode 100644 index 0000000..f4445c4 --- /dev/null +++ b/qml/images/icon-l-profile.svg @@ -0,0 +1,17 @@ + + + + + + + + + + diff --git a/qml/images/icon-m-profile.svg b/qml/images/icon-m-profile.svg new file mode 100644 index 0000000..896129e --- /dev/null +++ b/qml/images/icon-m-profile.svg @@ -0,0 +1,25 @@ + + + + + + + + + + + + + + + + + From 314b335ef0710569536297ede5a942f75392a206 Mon Sep 17 00:00:00 2001 From: molan-git <59296158+molan-git@users.noreply.github.com> Date: Wed, 29 Apr 2020 15:26:51 +0200 Subject: [PATCH 043/110] Fixed reference error From 9d1846ec1965d1ee875a6119d4f8a2a1da1fb959 Mon Sep 17 00:00:00 2001 From: molan-git <59296158+molan-git@users.noreply.github.com> Date: Wed, 29 Apr 2020 15:28:19 +0200 Subject: [PATCH 044/110] Added avatar placeholder icon-m-profile.svg being used if no avatar image can be loaded --- qml/pages/components/VisualContainer.qml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/qml/pages/components/VisualContainer.qml b/qml/pages/components/VisualContainer.qml index 2d42d6c..a7bc245 100644 --- a/qml/pages/components/VisualContainer.qml +++ b/qml/pages/components/VisualContainer.qml @@ -46,7 +46,7 @@ BackgroundItem { visible: true onStatusChanged: { if (avatar.status === Image.Error) - source = "image://theme/icon-m-person?" + (pressed + source = "../../images/icon-m-profile.svg?" + (pressed ? Theme.highlightColor : Theme.primaryColor) } From c1372109a7ee2129b69196100e715a45bee80291 Mon Sep 17 00:00:00 2001 From: molan-git <59296158+molan-git@users.noreply.github.com> Date: Wed, 29 Apr 2020 15:29:35 +0200 Subject: [PATCH 045/110] Placeholder for missing avatars icon-l-profile.svg being used if no avatar image can be loaded From fac72217e8e9554e26c90b63a0e1991b0951efb4 Mon Sep 17 00:00:00 2001 From: molan-git <59296158+molan-git@users.noreply.github.com> Date: Wed, 29 Apr 2020 15:30:47 +0200 Subject: [PATCH 046/110] Added avatar placeholder icon-l-profile.svg being used if no avatar image can be loaded --- qml/pages/components/ProfileHeader.qml | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/qml/pages/components/ProfileHeader.qml b/qml/pages/components/ProfileHeader.qml index 8dd369c..edba5c7 100644 --- a/qml/pages/components/ProfileHeader.qml +++ b/qml/pages/components/ProfileHeader.qml @@ -37,7 +37,12 @@ Item { asynchronous: true width: description === "" ? Theme.iconSizeMedium : Theme.iconSizeLarge height: width - source: image + source: + if (icon.status === Image.Error) + source = "../../images/icon-l-profile.svg?" + (pressed + ? Theme.highlightColor + : Theme.primaryColor) + else image } Column { anchors { From 5257b6e7bc511244892943699fbdf9539fb631fb Mon Sep 17 00:00:00 2001 From: molan-git <59296158+molan-git@users.noreply.github.com> Date: Thu, 30 Apr 2020 11:08:42 +0200 Subject: [PATCH 047/110] Update harbour-tooter-de.ts --- translations/harbour-tooter-de.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/translations/harbour-tooter-de.ts b/translations/harbour-tooter-de.ts index 8f35ce9..febcb24 100644 --- a/translations/harbour-tooter-de.ts +++ b/translations/harbour-tooter-de.ts @@ -135,11 +135,11 @@ MiniStatus boosted - hat deinen Beitrag geteilt + hat den Beitrag geteilt favourited - hat deinen Beitrag favorisiert + hat den Beitrag favorisiert followed you From df233bdf136ad26f4add9ce1b12f73841b441b9a Mon Sep 17 00:00:00 2001 From: molan-git <59296158+molan-git@users.noreply.github.com> Date: Thu, 30 Apr 2020 11:09:27 +0200 Subject: [PATCH 048/110] Update harbour-tooter-fr.ts --- translations/harbour-tooter-fr.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/translations/harbour-tooter-fr.ts b/translations/harbour-tooter-fr.ts index 0643fca..3f509ea 100644 --- a/translations/harbour-tooter-fr.ts +++ b/translations/harbour-tooter-fr.ts @@ -135,7 +135,7 @@ MiniStatus boosted - a partagé votre statut + a partagé ce statut favourited From d0237fb037f1b98114f48ff98562ab92273ae315 Mon Sep 17 00:00:00 2001 From: molan-git <59296158+molan-git@users.noreply.github.com> Date: Thu, 30 Apr 2020 11:19:45 +0200 Subject: [PATCH 049/110] Update harbour-tooter-it.ts --- translations/harbour-tooter-it.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/translations/harbour-tooter-it.ts b/translations/harbour-tooter-it.ts index 2f00c08..7a08ddb 100644 --- a/translations/harbour-tooter-it.ts +++ b/translations/harbour-tooter-it.ts @@ -165,12 +165,12 @@ boosted - ha condiviso il tuo post + ha condiviso il post favourited - ha apprezzato il tuo post + ha apprezzato il post From f51018a54033ba9a519a1e920566aa96ba7166dd Mon Sep 17 00:00:00 2001 From: molan-git <59296158+molan-git@users.noreply.github.com> Date: Thu, 30 Apr 2020 11:32:35 +0200 Subject: [PATCH 050/110] Update harbour-tooter-it.ts --- translations/harbour-tooter-it.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/translations/harbour-tooter-it.ts b/translations/harbour-tooter-it.ts index 7a08ddb..41d2a6e 100644 --- a/translations/harbour-tooter-it.ts +++ b/translations/harbour-tooter-it.ts @@ -6,7 +6,7 @@ favourited - ha apprezzato il tuo post + ha apprezzato il post @@ -16,7 +16,7 @@ boosted - ha condiviso il tuo post + ha condiviso il post From e5324d03c66c8042e47c29484837262e8b1f6030 Mon Sep 17 00:00:00 2001 From: molan-git <59296158+molan-git@users.noreply.github.com> Date: Thu, 30 Apr 2020 11:36:56 +0200 Subject: [PATCH 051/110] Update harbour-tooter-fr.ts --- translations/harbour-tooter-fr.ts | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/translations/harbour-tooter-fr.ts b/translations/harbour-tooter-fr.ts index 3f509ea..da66113 100644 --- a/translations/harbour-tooter-fr.ts +++ b/translations/harbour-tooter-fr.ts @@ -81,23 +81,23 @@ LoginPage Login - + Login Instance - + Instance Enter a valid Mastodon instance URL - + Saisissez l’URL d’une instance Mastodon 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. - + Mastodon est un réseau libre et open source. Il s’agit d'une alternative aux plateformes commerciales, pour éviter qu'une seule entreprise monopolise vos communications. Choisissez un serveur dans lequel vous avez confiance - quelque que soit votre choix vous pourrez interagir avec d’autres personnes. Tout le monde peut monter sa propre instance Mastodon et participer rendre le réseau plus robuste. Reload - + Recharger From f22463ed9d6aca4fd1ed37881e250640f3dff774 Mon Sep 17 00:00:00 2001 From: molan-git <59296158+molan-git@users.noreply.github.com> Date: Thu, 30 Apr 2020 11:42:26 +0200 Subject: [PATCH 052/110] Update harbour-tooter-de.ts --- translations/harbour-tooter-de.ts | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/translations/harbour-tooter-de.ts b/translations/harbour-tooter-de.ts index febcb24..0d7c292 100644 --- a/translations/harbour-tooter-de.ts +++ b/translations/harbour-tooter-de.ts @@ -5,7 +5,7 @@ API favourited - hat deinen Beitrag favorisiert + hat den Beitrag favorisiert followed you @@ -13,7 +13,7 @@ boosted - hat deinen Beitrag geteilt + hat den Beitrag geteilt said @@ -81,23 +81,23 @@ LoginPage Login - + Login Instance - + Instanz Enter a valid Mastodon instance URL - + Eine gültige Mastodon-Instanz URL eingeben 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. - + Mastodon ist ein freies, quelloffenes soziales Netzwerk. Im Gegensatz zu kommerziellen Plattformen, ist Mastodon als dezentrales Netzwerk konzipiert. Somit wird das Risiko vermieden, dass ein einziges Unternehmen die volle Kontrolle über die Kommunikation der Benutzer hat. Benutzer können einer beliebigen Instanz beitreten oder selbst eine eigene betreiben. Reload - + Neu laden From e76758b3de7c347d738b7c3cc583bf361aca1968 Mon Sep 17 00:00:00 2001 From: molan-git <59296158+molan-git@users.noreply.github.com> Date: Thu, 30 Apr 2020 11:43:27 +0200 Subject: [PATCH 053/110] Update harbour-tooter-el.ts --- translations/harbour-tooter-el.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/translations/harbour-tooter-el.ts b/translations/harbour-tooter-el.ts index 23deefe..6f47211 100644 --- a/translations/harbour-tooter-el.ts +++ b/translations/harbour-tooter-el.ts @@ -81,11 +81,11 @@ LoginPage Login - + Σύνδεση Instance - + Παράδειγμα Enter a valid Mastodon instance URL From 9e14ae07f48fa25f6e01615fd6b4b9ed7dee04c2 Mon Sep 17 00:00:00 2001 From: molan-git <59296158+molan-git@users.noreply.github.com> Date: Thu, 30 Apr 2020 11:44:56 +0200 Subject: [PATCH 054/110] Update harbour-tooter-es.ts --- translations/harbour-tooter-es.ts | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/translations/harbour-tooter-es.ts b/translations/harbour-tooter-es.ts index c25cc2d..a226c0c 100644 --- a/translations/harbour-tooter-es.ts +++ b/translations/harbour-tooter-es.ts @@ -81,23 +81,23 @@ LoginPage Login - + Acceso Instance - + Instancia> Enter a valid Mastodon instance URL - + Introduce una URL de instancia de Mastodon válida 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. - + Mastodon es una red social libre y de código abierto. Una alternativa descentralizada a las plataformas comerciales, evita los riesgos de una única compañía que monopolice tu comunicación. Elije un servidor en el que confíes — cualquiera que elijas, puede interactuar con todos los demás. Cualquiera puede ejecutar su propia instancia de Mastodon y participar en la red social sin problemas. Reload - + Volver a cargar From 7cc486ce8bd628207935bf0fd633df48f0e20471 Mon Sep 17 00:00:00 2001 From: molan-git <59296158+molan-git@users.noreply.github.com> Date: Thu, 30 Apr 2020 11:47:50 +0200 Subject: [PATCH 055/110] Update harbour-tooter-it.ts --- translations/harbour-tooter-it.ts | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/translations/harbour-tooter-it.ts b/translations/harbour-tooter-it.ts index 41d2a6e..9f31bc8 100644 --- a/translations/harbour-tooter-it.ts +++ b/translations/harbour-tooter-it.ts @@ -99,27 +99,27 @@ Login - + Accesso Instance - + Istanza Enter a valid Mastodon instance URL - + Inserire URL di una istanza Mastodon valida 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. - + Mastodon è un servizio di rete sociale in software libero, costituito in una federazione d'istanze. Mastodon fa parte del più ampio Fediverso, permettendo ai suoi utenti di interagire anche con utenti su diverse piattaforme aperte che supportano lo stesso protocollo. Reload - + Ricarica From 45964086bb0e3491c8b2990ed9187e413509a23f Mon Sep 17 00:00:00 2001 From: molan-git <59296158+molan-git@users.noreply.github.com> Date: Thu, 30 Apr 2020 11:48:51 +0200 Subject: [PATCH 056/110] Update harbour-tooter-nl.ts --- translations/harbour-tooter-nl.ts | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/translations/harbour-tooter-nl.ts b/translations/harbour-tooter-nl.ts index e24d35a..6ff67ed 100644 --- a/translations/harbour-tooter-nl.ts +++ b/translations/harbour-tooter-nl.ts @@ -81,11 +81,11 @@ LoginPage Login - + Inloggen Instance - + Instantie Enter a valid Mastodon instance URL @@ -93,11 +93,11 @@ 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. - + Mastodon is een vrij sociaal netwerk. Als gedecentraliseerd alternatief voor commerciële platformen, vermijdt het de risico’s van een enkel bedrijf dat je communicatie monopoliseert. Kies een server die je vertrouwt — welke je ook kiest, je kunt met iedereen communiceren. Iedereen kan zelf een Mastodon-instantie hebben en naadloos deelnemen aan het sociale netwerk. Reload - + Herladen From ea97b3277d8f5a338c7dad5484c6c4aadb360c77 Mon Sep 17 00:00:00 2001 From: molan-git <59296158+molan-git@users.noreply.github.com> Date: Thu, 30 Apr 2020 11:49:59 +0200 Subject: [PATCH 057/110] Update harbour-tooter-nl_BE.ts --- translations/harbour-tooter-nl_BE.ts | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/translations/harbour-tooter-nl_BE.ts b/translations/harbour-tooter-nl_BE.ts index ca187ab..cf8d937 100644 --- a/translations/harbour-tooter-nl_BE.ts +++ b/translations/harbour-tooter-nl_BE.ts @@ -81,23 +81,23 @@ LoginPage Login - + Inloggen Instance - + Instantie Enter a valid Mastodon instance URL - + Voert den URL van een Mastodon-instantie in 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. - + Mastodon is e vrij sociaal netwerk. Als gedecentraliseerd alternatief voor commerciële platformen, vermijdt het de risico’s van één enkel bedrijf dat uw communicatie monopoliseert. Kiest ne server die ge vertrouwt — dewelken dat ge ook kiest, ge kunt met iedereen communiceren. Iedereen kan zelf een Mastodon-instantie hebben en naadloos deelnemen aan het sociaal netwerk. Reload - + Herladen From e35f75ec4449f142c11910cbc689e88e71972fb9 Mon Sep 17 00:00:00 2001 From: molan-git <59296158+molan-git@users.noreply.github.com> Date: Thu, 30 Apr 2020 11:51:11 +0200 Subject: [PATCH 058/110] Update harbour-tooter-oc.ts --- translations/harbour-tooter-oc.ts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/translations/harbour-tooter-oc.ts b/translations/harbour-tooter-oc.ts index 895e50d..2bb86d9 100644 --- a/translations/harbour-tooter-oc.ts +++ b/translations/harbour-tooter-oc.ts @@ -81,7 +81,7 @@ LoginPage Login - + Connexion Instance @@ -89,11 +89,11 @@ Enter a valid Mastodon instance URL - + Picatz l’URL d’una instància Mastodon 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. - + Mastodon es un malhum liure e open source. Es una alternativa descentralizada a las plataformas comercialas, per empachar qu'una sola entrepresa monopolize vòstras comunicacions. Causissètz un servidor que vos fisatz - qualque siá vòstre causida poiretz interagir amb los autres. Tot lo monde pòt montar sa pròpria instància Mastodon e atal participar a construire un malhum mai solid. Reload From c8e9049bd081afc95d5c95aaa8dfd554688d8615 Mon Sep 17 00:00:00 2001 From: molan-git <59296158+molan-git@users.noreply.github.com> Date: Thu, 30 Apr 2020 11:53:08 +0200 Subject: [PATCH 059/110] Update harbour-tooter-ru.ts --- translations/harbour-tooter-ru.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/translations/harbour-tooter-ru.ts b/translations/harbour-tooter-ru.ts index 20d151c..277a582 100644 --- a/translations/harbour-tooter-ru.ts +++ b/translations/harbour-tooter-ru.ts @@ -89,11 +89,11 @@ Enter a valid Mastodon instance URL - + Введите URL-адрес экземпляра Mastodon 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. - + Mastodon - бесплатная социальная сеть с открытым исходным кодом. Децентрализованная альтернатива коммерческим платформам позволяет избежать рисков, связанных с тем, что одна компания монополизирует ваше общение. Выберите сервер, которому вы доверяете - в зависимости от того, что вы выберете, вы можете взаимодействовать со всеми остальными. Любой может запустить свой собственный экземпляр Mastodon и беспрепятственно участвовать в социальной сети. Reload From 9736f09820ba0038bf104bb38e60f054c085ff4e Mon Sep 17 00:00:00 2001 From: molan-git <59296158+molan-git@users.noreply.github.com> Date: Thu, 30 Apr 2020 14:22:00 +0200 Subject: [PATCH 060/110] Update harbour-tooter-sv.ts --- translations/harbour-tooter-sv.ts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/translations/harbour-tooter-sv.ts b/translations/harbour-tooter-sv.ts index 02cc1cd..43b1866 100644 --- a/translations/harbour-tooter-sv.ts +++ b/translations/harbour-tooter-sv.ts @@ -81,7 +81,7 @@ LoginPage Login - + Logga in Instance @@ -89,11 +89,11 @@ Enter a valid Mastodon instance URL - + Fyll i URL till Mastodoninstans 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. - + Mastodon är ett fritt och öppet socialt nätverk byggt på öppen källkod. Ett decentraliserat alternativ till kommersiella plattformar, vilket undviker att ett ensamt företag monopoliserar din kommunikation. Välj en server du litar på --- beroende på vilken du väljer, kan du interagera med alla andra. Vem som helst kan köra deras egen Mastodoninstans och delta i nätverket. Även du! Reload From 30bedbe1d06e91213606d3b0733940c7a6b247dc Mon Sep 17 00:00:00 2001 From: molan-git <59296158+molan-git@users.noreply.github.com> Date: Thu, 30 Apr 2020 14:24:32 +0200 Subject: [PATCH 061/110] Update harbour-tooter-zh_CN.ts --- translations/harbour-tooter-zh_CN.ts | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/translations/harbour-tooter-zh_CN.ts b/translations/harbour-tooter-zh_CN.ts index 5b4b447..04ddc89 100644 --- a/translations/harbour-tooter-zh_CN.ts +++ b/translations/harbour-tooter-zh_CN.ts @@ -81,23 +81,23 @@ LoginPage Login - + 登录 Instance - + 实例 Enter a valid Mastodon instance URL - + 输入一个有效的 Mastodon 实例 URL 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. - + Mastodon 是一个自由且开源的社交网络。一个去中心化的商业平台的替代品。它能够避免某个公司垄断你的通讯方式的风险。选择一个你所信任的服务器——无论你选择什么,你都可以和其他人进行互动。任何人都能运行他们自己的 Mastodon 实例,然后无缝加入社交网站。 Reload - + 重新加载 From 17dbf74bf5c24633df4bf81e5bef57178ed3688e Mon Sep 17 00:00:00 2001 From: molan-git <59296158+molan-git@users.noreply.github.com> Date: Thu, 30 Apr 2020 14:28:54 +0200 Subject: [PATCH 062/110] Text colour change --- qml/pages/ProfileHeader.qml | 78 +++++++++++++++++++++++++++++++++++++ 1 file changed, 78 insertions(+) create mode 100644 qml/pages/ProfileHeader.qml diff --git a/qml/pages/ProfileHeader.qml b/qml/pages/ProfileHeader.qml new file mode 100644 index 0000000..54b9874 --- /dev/null +++ b/qml/pages/ProfileHeader.qml @@ -0,0 +1,78 @@ +import QtQuick 2.0 +import Sailfish.Silica 1.0 + +Item { + id: header + property int value: 0; + property string title: ""; + property string description: ""; + property string image: ""; + property string bg: ""; + width: parent.width + height: icon.height + Theme.paddingLarge*2 + /*Image { + anchors.fill: parent + asynchronous: true + fillMode: Image.PreserveAspectCrop + source: bg + opacity: 0.3 + }*/ + Rectangle { + anchors.fill: parent + opacity: 0.2 + gradient: Gradient { + GradientStop { position: 0.0; color: Theme.highlightBackgroundColor } + GradientStop { position: 1.0; color: Theme.highlightBackgroundColor } + } + + } + Image { + id: icon + anchors { + left: parent.left + leftMargin: Theme.paddingLarge + top: parent.top + topMargin: Theme.paddingLarge + } + asynchronous: true + width: description === "" ? Theme.iconSizeMedium : Theme.iconSizeLarge + height: width + source: + if (icon.status === Image.Error) + source = "../../images/icon-l-profile.svg?" + (pressed + ? Theme.highlightColor + : Theme.primaryColor) + else image + } + Column { + anchors { + left: icon.right + leftMargin: Theme.paddingLarge + right: parent.right + rightMargin: Theme.paddingLarge + verticalCenter: parent.verticalCenter + } + Label { + id: ttl + text: title + height: contentHeight + color: Theme.primaryColor + font.pixelSize: Theme.fontSizeLarge + font.family: Theme.fontFamilyHeading + horizontalAlignment: Text.AlignRight + truncationMode: TruncationMode.Fade + width: parent.width + } + Label { + height: description === "" ? 0 : contentHeight + text: description + color: Theme.secondaryColor + font.pixelSize: Theme.fontSizeSmall + font.family: Theme.fontFamilyHeading + horizontalAlignment: Text.AlignRight + truncationMode: TruncationMode.Fade + width: parent.width + } + } + +} From d6897db2d5d85313804f382d8c1d38867a60bda0 Mon Sep 17 00:00:00 2001 From: molan-git <59296158+molan-git@users.noreply.github.com> Date: Thu, 30 Apr 2020 14:30:01 +0200 Subject: [PATCH 063/110] Delete ProfileHeader.qml --- qml/pages/ProfileHeader.qml | 78 ------------------------------------- 1 file changed, 78 deletions(-) delete mode 100644 qml/pages/ProfileHeader.qml diff --git a/qml/pages/ProfileHeader.qml b/qml/pages/ProfileHeader.qml deleted file mode 100644 index 54b9874..0000000 --- a/qml/pages/ProfileHeader.qml +++ /dev/null @@ -1,78 +0,0 @@ -import QtQuick 2.0 -import Sailfish.Silica 1.0 - -Item { - id: header - property int value: 0; - property string title: ""; - property string description: ""; - property string image: ""; - property string bg: ""; - width: parent.width - height: icon.height + Theme.paddingLarge*2 - /*Image { - anchors.fill: parent - asynchronous: true - fillMode: Image.PreserveAspectCrop - source: bg - opacity: 0.3 - }*/ - Rectangle { - anchors.fill: parent - opacity: 0.2 - gradient: Gradient { - GradientStop { position: 0.0; color: Theme.highlightBackgroundColor } - GradientStop { position: 1.0; color: Theme.highlightBackgroundColor } - } - - } - Image { - id: icon - anchors { - left: parent.left - leftMargin: Theme.paddingLarge - top: parent.top - topMargin: Theme.paddingLarge - } - asynchronous: true - width: description === "" ? Theme.iconSizeMedium : Theme.iconSizeLarge - height: width - source: - if (icon.status === Image.Error) - source = "../../images/icon-l-profile.svg?" + (pressed - ? Theme.highlightColor - : Theme.primaryColor) - else image - } - Column { - anchors { - left: icon.right - leftMargin: Theme.paddingLarge - right: parent.right - rightMargin: Theme.paddingLarge - verticalCenter: parent.verticalCenter - } - Label { - id: ttl - text: title - height: contentHeight - color: Theme.primaryColor - font.pixelSize: Theme.fontSizeLarge - font.family: Theme.fontFamilyHeading - horizontalAlignment: Text.AlignRight - truncationMode: TruncationMode.Fade - width: parent.width - } - Label { - height: description === "" ? 0 : contentHeight - text: description - color: Theme.secondaryColor - font.pixelSize: Theme.fontSizeSmall - font.family: Theme.fontFamilyHeading - horizontalAlignment: Text.AlignRight - truncationMode: TruncationMode.Fade - width: parent.width - } - } - -} From 8db104ae720cebbdc775351856e04c677b439dce Mon Sep 17 00:00:00 2001 From: molan-git <59296158+molan-git@users.noreply.github.com> Date: Thu, 30 Apr 2020 14:30:36 +0200 Subject: [PATCH 064/110] Label colour change --- qml/pages/components/ProfileHeader.qml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/qml/pages/components/ProfileHeader.qml b/qml/pages/components/ProfileHeader.qml index edba5c7..54b9874 100644 --- a/qml/pages/components/ProfileHeader.qml +++ b/qml/pages/components/ProfileHeader.qml @@ -66,7 +66,7 @@ Item { Label { height: description === "" ? 0 : contentHeight text: description - color: Theme.primaryColor + color: Theme.secondaryColor font.pixelSize: Theme.fontSizeSmall font.family: Theme.fontFamilyHeading horizontalAlignment: Text.AlignRight From 9c19e237229b92169c11c18c6755a15bbf9fd1b7 Mon Sep 17 00:00:00 2001 From: molan-git <59296158+molan-git@users.noreply.github.com> Date: Thu, 30 Apr 2020 15:18:04 +0200 Subject: [PATCH 065/110] Replaced README From 054238561d33ddd8cbdb1f964f10153f3505cb3f Mon Sep 17 00:00:00 2001 From: molan-git <59296158+molan-git@users.noreply.github.com> Date: Thu, 30 Apr 2020 15:18:25 +0200 Subject: [PATCH 066/110] Add files via upload --- README.md | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index f1631d5..60f78f2 100644 --- a/README.md +++ b/README.md @@ -1,10 +1,18 @@ -# Tooter +# Tooter [Fork] +## About Tooter is Mastodon client for Sailfish OS. It is a free, open-source social network. A decentralized alternative to commercial platforms, it avoids the risks of a single company monopolizing your communication. -## Screenshot - +This is a fork of dysk0/harbour-tooter. The app can by downloaded here: https://openrepos.net/content/molan/tooter-fork. +## Build +Clone / download this repository and import it in your SailfishOS IDE using the harbour-tooter.pro project file. No additional configuration needed. + +## Contributions +Contributions to this project are very welcome, since I don't have the resources and time to implement and fix everything Tooter still misses or lacks. Thank you! + +## Screenshots + ## License -`// TODO` +Licensed under GNU GPLv3 From 8f2273f514d99b840a7e2e99bbad3e9edceb5bdf Mon Sep 17 00:00:00 2001 From: molan-git <59296158+molan-git@users.noreply.github.com> Date: Thu, 30 Apr 2020 15:30:39 +0200 Subject: [PATCH 067/110] Update README.md --- README.md | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 60f78f2..b8d3cb3 100644 --- a/README.md +++ b/README.md @@ -3,11 +3,18 @@ ## About Tooter is Mastodon client for Sailfish OS. It is a free, open-source social network. A decentralized alternative to commercial platforms, it avoids the risks of a single company monopolizing your communication. -This is a fork of dysk0/harbour-tooter. The app can by downloaded here: https://openrepos.net/content/molan/tooter-fork. +This fork is being used to further develop and maintain the Tooter app by dysk0 (https://github.com/dysk0/harbour-tooter). The development branch 'upstream' is being used to create pull requests from this fork. Releases by dysk0 can be found on the Jolla store and on https://openrepos.net/content/dysko/tooter + +Releases from this forked repository can be found here: https://openrepos.net/content/molan/tooter-fork. ## Build Clone / download this repository and import it in your SailfishOS IDE using the harbour-tooter.pro project file. No additional configuration needed. +## Repository branches: +- master: default +- develop: commits WIP +- upstream: commits for Tooter release + ## Contributions Contributions to this project are very welcome, since I don't have the resources and time to implement and fix everything Tooter still misses or lacks. Thank you! From b9fe70a778ea044223a014e945c8d63c5ef84304 Mon Sep 17 00:00:00 2001 From: molan-git <59296158+molan-git@users.noreply.github.com> Date: Thu, 30 Apr 2020 15:34:28 +0200 Subject: [PATCH 068/110] Updated translations --- translations/harbour-tooter-de.ts | 102 +++---- translations/harbour-tooter-el.ts | 68 ++--- translations/harbour-tooter-es.ts | 44 +-- translations/harbour-tooter-fi.ts | 42 +-- translations/harbour-tooter-fr.ts | 78 ++--- translations/harbour-tooter-it.ts | 411 +++++++++++++++++++++++++++ translations/harbour-tooter-nl.ts | 78 ++--- translations/harbour-tooter-nl_BE.ts | 80 +++--- translations/harbour-tooter-oc.ts | 70 ++--- translations/harbour-tooter-pl.ts | 44 +-- translations/harbour-tooter-ru.ts | 68 ++--- translations/harbour-tooter-sr.ts | 64 ++--- translations/harbour-tooter-sv.ts | 70 ++--- translations/harbour-tooter-zh_CN.ts | 44 +-- translations/harbour-tooter.ts | 42 +-- 15 files changed, 858 insertions(+), 447 deletions(-) create mode 100644 translations/harbour-tooter-it.ts diff --git a/translations/harbour-tooter-de.ts b/translations/harbour-tooter-de.ts index 4ef1a9d..0d7c292 100644 --- a/translations/harbour-tooter-de.ts +++ b/translations/harbour-tooter-de.ts @@ -5,15 +5,15 @@ API favourited - favorisiert + hat den Beitrag favorisiert followed you - sind dir gefolgt + folgt dir boosted - geboostet + hat den Beitrag geteilt said @@ -40,7 +40,7 @@ Write your warning here - Füge eine Inhaltswarnung hinzu + Inhaltswarnung Public @@ -52,15 +52,15 @@ Followers-only - Nur Follower + Nur für Folgende Direct - Direkt + Direktnachricht What's on your mind? - Was möchtest du mitteilen? + Was gibt's Neues? @@ -87,6 +87,10 @@ Instance Instanz + + Enter a valid Mastodon instance URL + Eine gültige Mastodon-Instanz URL eingeben + 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. Mastodon ist ein freies, quelloffenes soziales Netzwerk. Im Gegensatz zu kommerziellen Plattformen, ist Mastodon als dezentrales Netzwerk konzipiert. Somit wird das Risiko vermieden, dass ein einziges Unternehmen die volle Kontrolle über die Kommunikation der Benutzer hat. Benutzer können einer beliebigen Instanz beitreten oder selbst eine eigene betreiben. @@ -95,10 +99,6 @@ Reload Neu laden - - Enter a valid Mastodon instance URL - Eine gültige Mastodon-Instanz URL eingeben - MainPage @@ -120,7 +120,7 @@ @user or #term - @User oder #Ausdruck + @Benutzer oder #Ausdruck Local @@ -128,22 +128,22 @@ Federated - Föderiert + Föderation MiniStatus boosted - geboostet + hat den Beitrag geteilt favourited - favorisiert + hat den Beitrag favorisiert followed you - sind dir gefolgt + folgt dir @@ -158,7 +158,7 @@ Loading - Lädt... + Wird geladen please wait... @@ -169,7 +169,7 @@ Profile Unfollow - Nicht mehr folgen + Entfolgen Follow request sent! @@ -177,15 +177,15 @@ Following - Folgend + Folgt Mute - Stumm + Stummschalten Unmute - Nicht stumm + Nicht stummschalten Unblock @@ -197,7 +197,7 @@ Statuses - Status + Beiträge Favourites @@ -205,7 +205,7 @@ Follow - Folge + Folgen Summary @@ -213,7 +213,7 @@ Followers - Anhänger + Folgende Bio @@ -221,7 +221,7 @@ Open Profile in Browser - Profil in Browser öffnen + Profil im Browser öffnen @@ -243,44 +243,28 @@ Konto entfernen und für diese Anwendung deaktivieren - Authorize this app to use your Mastodon account in your behalf + Authorize this app to access your Mastodon account Zugriff durch diese Anwendung auf eigenes Mastodon-Konto erlauben Disable this option if you want to preserve your data connection Diese Option deaktivieren um Datenvolumen zu sparen - - About - Über - Credits - Entwickler + Über UI/UX design and development UI/UX-Gestaltung und Entwicklung - - This application is a forked version of the Mastodon client Tooter, originally developed by Duško Angirević, which fixes various bugs. Source code on <a href='https://github.com/molan-git/harbour-tooter'>GitHub</a>. - Dies ist ein Fork und Weiterentwicklung der Mastodon-Anwendung Tooter, welche urpsrünglich von Duško Angirević entwickelt wurde. Quellcode auf <a href='https://github.com/molan-git/harbour-tooter'>GitHub</a>. - - - Load Images in Toots - Bilder in Toots laden - - - Maintainer of this release - Entwicklung dieser Version - Visual identity Visuelle Identität Occitan & French translation - Franzözische Übersetzung + Französische Übersetzung Dutch translation @@ -292,22 +276,38 @@ Added README file - README-Datei erstellt + Erstellung README-Datei Chinese translation Chinesische Übersetzung + + Load images in toots + Bilder in Toots laden + + + Translate + Übersetzungen + + + Use Transifex to help with app translation to your language + Transifex benutzen um bei den Übersetzungen mitzuhelfen + + + Development and translations + Entwicklung und Übersetzungen + Toot boosted - geboostet + hat deinen Beitrag geteilt favourited - favorisiert + hat deinen Beitrag favorisiert followed you @@ -318,19 +318,19 @@ VisualContainer Unboost - Nicht boosten + Nicht mehr teilen Boost - Boosten + Teilen Unfavorite - + Nicht favorisieren Favorite - + Favorisieren diff --git a/translations/harbour-tooter-el.ts b/translations/harbour-tooter-el.ts index b4edd31..6f47211 100644 --- a/translations/harbour-tooter-el.ts +++ b/translations/harbour-tooter-el.ts @@ -81,10 +81,14 @@ LoginPage Login - + Σύνδεση Instance + Παράδειγμα + + + Enter a valid Mastodon instance URL @@ -95,10 +99,6 @@ Reload - - Enter a valid Mastodon instance URL - - MainPage @@ -228,51 +228,35 @@ Settings Settings - Ρυθμίσεις + Ρυθμίσεις Remove Account - + Αφαίρεση λογαριασμού Add Account - + Προσθήκη λογαριασμού Deauthorize this app and remove your account - + Άρση της αδειοδότησης της εφαρμογής και αφαίρεση του λογαριασμού σας - Authorize this app to use your Mastodon account in your behalf - + Authorize this app to access your Mastodon account + Να επιτρέπεται στην εφαρμογή να χρησιμοποιεί τον λογαριασμό σας στο Mastodon εκ μέρους σας Disable this option if you want to preserve your data connection - - - - About - + Απενεργοποιήστε αυτήν την επιλογή αν θέλετε να διατηρήσετε την σύνδεση των δεδομένων σας Credits - + Ευχαριστίες UI/UX design and development - - - - This application is a forked version of the Mastodon client Tooter, originally developed by Duško Angirević, which fixes various bugs. Source code on <a href='https://github.com/molan-git/harbour-tooter'>GitHub</a>. - - - - Load Images in Toots - - - - Maintainer of this release - + UI/UX σχεδιασμός και ανάπτυξη Visual identity @@ -298,6 +282,22 @@ Chinese translation + + Load images in toots + + + + Translate + Μετάφραση + + + Use Transifex to help with app translation to your language + Χρησιμοποιήστε το Transifex για να βοηθήσετε την μετάφραση της εφαρμογής στην γλώσσα σας + + + Development and translations + + Toot @@ -318,19 +318,19 @@ VisualContainer Unboost - + Αναίρεση προώθησης Boost - + Προώθηση Unfavorite - + Αφαίρεση από τους σελιδοδείκτες Favorite - + Σελιδοδείκτης diff --git a/translations/harbour-tooter-es.ts b/translations/harbour-tooter-es.ts index 3d7aeae..a226c0c 100644 --- a/translations/harbour-tooter-es.ts +++ b/translations/harbour-tooter-es.ts @@ -85,7 +85,11 @@ Instance - Instancia + Instancia> + + + Enter a valid Mastodon instance URL + Introduce una URL de instancia de Mastodon válida 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. @@ -95,10 +99,6 @@ Reload Volver a cargar - - Enter a valid Mastodon instance URL - Introduce una URL de instancia de Mastodon válida - MainPage @@ -243,17 +243,13 @@ Retira la autorización a esta aplicación y elimina tu cuenta - Authorize this app to use your Mastodon account in your behalf + Authorize this app to access your Mastodon account Autoriza a esta aplicación para usar tu cuenta de Mastodon en tu nombre Disable this option if you want to preserve your data connection Deshabilita esta opción si quieres ahorrar en tu conexión de datos - - About - Acerca de - Credits Créditos @@ -262,18 +258,6 @@ UI/UX design and development Diseño UI/UX y desarrollo - - This application is a forked version of the Mastodon client Tooter, originally developed by Duško Angirević, which fixes various bugs. Source code on <a href='https://github.com/molan-git/harbour-tooter'>GitHub</a>. - Esta aplicación es una versión bifurcada del cliente de Mastodon Tooter, desarrollada originalmente por Duško Angirević, que corrige varios errores. Código fuente en <a href='https://github.com/molan-git/harbour-tooter'>GitHub</a>. - - - Load Images in Toots - Cargar imágenes en toots - - - Maintainer of this release - Mantenedor de esta publicación - Visual identity Identidad visual @@ -298,6 +282,22 @@ Chinese translation Traducción al chino + + Load images in toots + Cargar imágenes en messages + + + Translate + Traducir + + + Use Transifex to help with app translation to your language + Usar Transifex para ayudar con traducciones + + + Development and translations + Desarrollo y traducciones + Toot diff --git a/translations/harbour-tooter-fi.ts b/translations/harbour-tooter-fi.ts index d15d70b..f1444ea 100644 --- a/translations/harbour-tooter-fi.ts +++ b/translations/harbour-tooter-fi.ts @@ -87,6 +87,10 @@ Instance + + Enter a valid Mastodon instance URL + + 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. @@ -95,10 +99,6 @@ Reload - - Enter a valid Mastodon instance URL - - MainPage @@ -243,17 +243,13 @@ - Authorize this app to use your Mastodon account in your behalf + Authorize this app to access your Mastodon account Disable this option if you want to preserve your data connection - - About - - Credits @@ -262,18 +258,6 @@ UI/UX design and development - - This application is a forked version of the Mastodon client Tooter, originally developed by Duško Angirević, which fixes various bugs. Source code on <a href='https://github.com/molan-git/harbour-tooter'>GitHub</a>. - - - - Load Images in Toots - - - - Maintainer of this release - - Visual identity @@ -298,6 +282,22 @@ Chinese translation + + Load images in toots + + + + Translate + + + + Use Transifex to help with app translation to your language + + + + Development and translations + + Toot diff --git a/translations/harbour-tooter-fr.ts b/translations/harbour-tooter-fr.ts index 89708bd..da66113 100644 --- a/translations/harbour-tooter-fr.ts +++ b/translations/harbour-tooter-fr.ts @@ -48,11 +48,11 @@ Unlisted - Non coté + Non listé Followers-only - Que Followers + Abonné(e)s uniquement Direct @@ -60,7 +60,7 @@ What's on your mind? - A quoi penses-tu? + Qu'avez-vous en tête? @@ -87,18 +87,18 @@ Instance Instance + + Enter a valid Mastodon instance URL + Saisissez l’URL d’une instance Mastodon + 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. - Mastodon est un réseau social et logiciel à source ouverte de microblog auto-hébergé, libre, distribué et acentré. Il permet de partager des messages, images et autres contenus. Mastodon peut être fédéré à un réseau d'instances capables de communiquer entre elles. + Mastodon est un réseau libre et open source. Il s’agit d'une alternative aux plateformes commerciales, pour éviter qu'une seule entreprise monopolise vos communications. Choisissez un serveur dans lequel vous avez confiance - quelque que soit votre choix vous pourrez interagir avec d’autres personnes. Tout le monde peut monter sa propre instance Mastodon et participer rendre le réseau plus robuste. Reload Recharger - - Enter a valid Mastodon instance URL - Entrer l'URL d'une instance de Mastodon - MainPage @@ -116,7 +116,7 @@ Search - Recherche + Chercher @user or #term @@ -124,18 +124,18 @@ Local - Local + Fil public local Federated - Fédéré + Fil public global MiniStatus boosted - a partagé + a partagé ce statut favourited @@ -143,7 +143,7 @@ followed you - vous a suivi + vous suit @@ -197,7 +197,7 @@ Statuses - Status + Pouets Favourites @@ -213,11 +213,11 @@ Followers - Abonnés + Abonné(e)s Bio - + Bio Open Profile in Browser @@ -243,17 +243,13 @@ Désautoriser cette application et enlever votre compte - Authorize this app to use your Mastodon account in your behalf + Authorize this app to access your Mastodon account Autoriser cette application d'utiliser votre compte Disable this option if you want to preserve your data connection Désactiver cette option pour économiser des données mobiles - - About - À propos - Credits Développement @@ -262,18 +258,6 @@ UI/UX design and development Design UI/UX et développement - - This application is a forked version of the Mastodon client Tooter, originally developed by Duško Angirević, which fixes various bugs. Source code on <a href='https://github.com/molan-git/harbour-tooter'>GitHub</a>. - Cette application est un fork de Tooter (développée par Duško Angirević). Cette version continue le développement et corrige plusieurs bugs trouvés. - - - Load Images in Toots - Charger images dans pouets - - - Maintainer of this release - Développement de cette version - Visual identity Identité visuelle @@ -296,14 +280,30 @@ Added README file - + Ajouté fichier README + + + Load images in toots + Charger images dans les pouets + + + Translate + Traduire + + + Use Transifex to help with app translation to your language + Utiliser Transifex pour aider avec les traductions de l'application + + + Development and translations + Développement et traductions Toot boosted - boosté + a partagé votre statut favourited @@ -318,19 +318,19 @@ VisualContainer Unboost - + Annuler le partage Boost - + Partager Unfavorite - Defavoriser + Défavoriser Favorite - Favoriser + Ajouter au favoris diff --git a/translations/harbour-tooter-it.ts b/translations/harbour-tooter-it.ts new file mode 100644 index 0000000..9f31bc8 --- /dev/null +++ b/translations/harbour-tooter-it.ts @@ -0,0 +1,411 @@ + + + + + API + + + favourited + ha apprezzato il post + + + + followed you + ha iniziato a seguirti + + + + boosted + ha condiviso il post + + + + + said + ha detto + + + + Conversation + + + Conversation + Conversazione + + + + Write your warning here + Contenuto avviso + + + + What's on your mind? + A cosa stai pensando? + + + + Delete + Elimina + + + + Public + Pubblico + + + + Unlisted + Non elencato + + + + Followers-only + Solo ai seguaci + + + + Direct + Diretto + + + + Emojis + Emojis + + + + Tap to insert + Tap per inserire + + + + ImageFullScreen + + + Error loading + Errore caricamento + + + + ImageUploader + + + The file %1 does not exists + Il file %1 non esiste + + + + LoginPage + + + Login + Accesso + + + + Instance + Istanza + + + + Enter a valid Mastodon instance URL + Inserire URL di una istanza Mastodon valida + + + + 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. + Mastodon è un servizio di rete sociale in software libero, costituito in una federazione d'istanze. Mastodon fa parte del più ampio Fediverso, permettendo ai suoi utenti di interagire anche con utenti su diverse piattaforme aperte che supportano lo stesso protocollo. + + + + Reload + Ricarica + + + + MainPage + + + Home + Home + + + + Notifications + Notifiche + + + + Local + Locale + + + + Federated + Federazione + + + + Search + Cerca + + + + @user or #term + @utente o #termine + + + + New Toot + Nuovo toot + + + + MiniStatus + + + boosted + ha condiviso il post + + + + favourited + ha apprezzato il post + + + + followed you + ha iniziato a seguirti + + + + MyList + + + Loading + Caricamento + + + + please wait... + Attendere un momento... + + + + Settings + Impostazioni + + + + Load more + Caricare altri + + + + Profile + + + Summary + Sintesi + + + + Followers + Seguaci + + + + Following + Segue + + + + Statuses + Toots + + + + Favourites + Apprezzati + + + + Unfollow + Smetti di seguire + + + + Follow request sent! + Richiesta di seguito inviata! + + + + Follow + Segui + + + + Unmute + Non silenziare + + + + Mute + Silenzia + + + + Unblock + Sblocca + + + + Block + Blocca + + + + Bio + Biografia + + + + Open Profile in Browser + Aprire profile nel browser + + + + Settings + + + Settings + Impostazione + + + + Remove Account + Rimozione del account + + + + Add Account + Aggiungi account + + + + Deauthorize this app and remove your account + Annullare l'autorizzazione dell'app e rimuovere l'account + + + + Authorize this app to access your Mastodon account + Autorizzare l'app all'utilizzo del conto Mastodon + + + + Load images in toots + Caricare immagini nei toots + + + + Disable this option if you want to preserve your data connection + Disabilitare questa opzione per conservare connessione dati + + + + Translate + Tradurre + + + + Use Transifex to help with app translation to your language + Utilizzare Transifex per aiutare nella traduzione dell'app + + + + Credits + Sviluppo + + + + UI/UX design and development + Design UI/UX e sviluppo + + + + Visual identity + Identità visiva + + + + Development and translations + Sviluppo e traduzioni + + + + Occitan & French translation + Traduzione francese e occitanica + + + + Chinese translation + Traduzione cinese + + + + Dutch translation + Traduzione olandese + + + + Spanish translation + Traduzione spagnola + + + + Added README file + Aggiunto file README + + + + Toot + + + boosted + ha condiviso il tuo post + + + + favourited + ha apprezzato il tuo post + + + + followed you + ha iniziato a seguirti + + + + VisualContainer + + + Unboost + Annulla condivisione + + + + Boost + Condividi + + + + Unfavorite + Annulla apprezzamento + + + + Favorite + Apprezzato + + + diff --git a/translations/harbour-tooter-nl.ts b/translations/harbour-tooter-nl.ts index 896915a..6ff67ed 100644 --- a/translations/harbour-tooter-nl.ts +++ b/translations/harbour-tooter-nl.ts @@ -81,24 +81,24 @@ LoginPage Login - + Inloggen Instance - - - - 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. - - - - Reload - + Instantie Enter a valid Mastodon instance URL + + 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. + Mastodon is een vrij sociaal netwerk. Als gedecentraliseerd alternatief voor commerciële platformen, vermijdt het de risico’s van een enkel bedrijf dat je communicatie monopoliseert. Kies een server die je vertrouwt — welke je ook kiest, je kunt met iedereen communiceren. Iedereen kan zelf een Mastodon-instantie hebben en naadloos deelnemen aan het sociale netwerk. + + + Reload + Herladen + MainPage @@ -228,51 +228,35 @@ Settings Settings - Instellingen + Instellingen Remove Account - + Verwijderen account Add Account - + Toevoegen account Deauthorize this app and remove your account - + Trek autorisaties van deze app in en verwijder je account - Authorize this app to use your Mastodon account in your behalf - + Authorize this app to access your Mastodon account + Autoriseer deze app om je Mastodon namens jou te gebruiken Disable this option if you want to preserve your data connection - - - - About - + Schakel deze optie uit als je je dataverbinding wilt behouden Credits - + Credits UI/UX design and development - - - - This application is a forked version of the Mastodon client Tooter, originally developed by Duško Angirević, which fixes various bugs. Source code on <a href='https://github.com/molan-git/harbour-tooter'>GitHub</a>. - - - - Load Images in Toots - - - - Maintainer of this release - + UI/UX ontwerp en ontwikkeling Visual identity @@ -298,6 +282,22 @@ Chinese translation + + Load images in toots + Laden afbeeldingen in toots + + + Translate + Vertalen + + + Use Transifex to help with app translation to your language + Gebruik Transifex om deze app te helpen vertalen in jouw taal + + + Development and translations + Ontwikkeling en vertalingen + Toot @@ -318,19 +318,19 @@ VisualContainer Unboost - + Unboost Boost - + Boost Unfavorite - + Demarkeren als favoriet Favorite - + Markeren als favoriet diff --git a/translations/harbour-tooter-nl_BE.ts b/translations/harbour-tooter-nl_BE.ts index b246e6c..cf8d937 100644 --- a/translations/harbour-tooter-nl_BE.ts +++ b/translations/harbour-tooter-nl_BE.ts @@ -81,23 +81,23 @@ LoginPage Login - + Inloggen Instance - - - - 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. - - - - Reload - + Instantie Enter a valid Mastodon instance URL - + Voert den URL van een Mastodon-instantie in + + + 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. + Mastodon is e vrij sociaal netwerk. Als gedecentraliseerd alternatief voor commerciële platformen, vermijdt het de risico’s van één enkel bedrijf dat uw communicatie monopoliseert. Kiest ne server die ge vertrouwt — dewelken dat ge ook kiest, ge kunt met iedereen communiceren. Iedereen kan zelf een Mastodon-instantie hebben en naadloos deelnemen aan het sociaal netwerk. + + + Reload + Herladen @@ -228,51 +228,35 @@ Settings Settings - Instellingen + Instellingen Remove Account - + Account verwijderen Add Account - + Account toevoegen Deauthorize this app and remove your account - + Trekt autorisaties van dezen app in en verwijdert uwen account - Authorize this app to use your Mastodon account in your behalf - + Authorize this app to access your Mastodon account + Autoriseert dezen app voor uwe Mastodon-account namens u te gebruiken Disable this option if you want to preserve your data connection - - - - About - + Schakelt dees optie uit als ge uw verbinding wilt behouden Credits - + Credits UI/UX design and development - - - - This application is a forked version of the Mastodon client Tooter, originally developed by Duško Angirević, which fixes various bugs. Source code on <a href='https://github.com/molan-git/harbour-tooter'>GitHub</a>. - - - - Load Images in Toots - - - - Maintainer of this release - + UI/UX-ontwerp en -ontwikkeling Visual identity @@ -298,6 +282,22 @@ Chinese translation + + Load images in toots + Afbeeldingen in toots laden + + + Translate + Vertalen + + + Use Transifex to help with app translation to your language + Gebruikt Transifex voor te helpen met dezen app in uw taal te vertalen + + + Development and translations + + Toot @@ -318,19 +318,19 @@ VisualContainer Unboost - + Ontboosten Boost - + Boosten Unfavorite - + Duim verwijderen Favorite - + Duim toevoegen diff --git a/translations/harbour-tooter-oc.ts b/translations/harbour-tooter-oc.ts index 4969598..2bb86d9 100644 --- a/translations/harbour-tooter-oc.ts +++ b/translations/harbour-tooter-oc.ts @@ -81,24 +81,24 @@ LoginPage Login - + Connexion Instance + + Enter a valid Mastodon instance URL + Picatz l’URL d’una instància Mastodon + 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. - + Mastodon es un malhum liure e open source. Es una alternativa descentralizada a las plataformas comercialas, per empachar qu'una sola entrepresa monopolize vòstras comunicacions. Causissètz un servidor que vos fisatz - qualque siá vòstre causida poiretz interagir amb los autres. Tot lo monde pòt montar sa pròpria instància Mastodon e atal participar a construire un malhum mai solid. Reload - - Enter a valid Mastodon instance URL - - MainPage @@ -228,51 +228,35 @@ Settings Settings - Parmètres + Parmètres Remove Account - + Levar un compte Add Account - + Ajustar un compte Deauthorize this app and remove your account - + Revocar l’aplicacion e levar vòstre compte - Authorize this app to use your Mastodon account in your behalf - + Authorize this app to access your Mastodon account + Autorizar aquesta aplicacion a utilizar vòstre compte Mastodon per vos Disable this option if you want to preserve your data connection - - - - About - + Desactivar aquesta opcion per estalviar vòstra connexion de donadas Credits - + Crèdits UI/UX design and development - - - - This application is a forked version of the Mastodon client Tooter, originally developed by Duško Angirević, which fixes various bugs. Source code on <a href='https://github.com/molan-git/harbour-tooter'>GitHub</a>. - - - - Load Images in Toots - - - - Maintainer of this release - + UI/UX design e desvlopament Visual identity @@ -298,6 +282,22 @@ Chinese translation + + Load images in toots + Cargar los imatges dels tuts + + + Translate + Traduire + + + Use Transifex to help with app translation to your language + Utilizar Transifex per ajudar a traduire l’aplicacion dins vòstra lenga + + + Development and translations + + Toot @@ -318,19 +318,19 @@ VisualContainer Unboost - + Partejar pas mai Boost - + Partejar Unfavorite - + Levar dels favorits Favorite - + Ajustar als favorits diff --git a/translations/harbour-tooter-pl.ts b/translations/harbour-tooter-pl.ts index 458d9cc..952b1b2 100644 --- a/translations/harbour-tooter-pl.ts +++ b/translations/harbour-tooter-pl.ts @@ -1,6 +1,6 @@ - + API @@ -87,6 +87,10 @@ Instance + + Enter a valid Mastodon instance URL + + 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. @@ -95,10 +99,6 @@ Reload - - Enter a valid Mastodon instance URL - - MainPage @@ -243,17 +243,13 @@ - Authorize this app to use your Mastodon account in your behalf + Authorize this app to access your Mastodon account Disable this option if you want to preserve your data connection - - About - - Credits @@ -262,18 +258,6 @@ UI/UX design and development - - This application is a forked version of the Mastodon client Tooter, originally developed by Duško Angirević, which fixes various bugs. Source code on <a href='https://github.com/molan-git/harbour-tooter'>GitHub</a>. - - - - Load Images in Toots - - - - Maintainer of this release - - Visual identity @@ -298,6 +282,22 @@ Chinese translation + + Load images in toots + + + + Translate + + + + Use Transifex to help with app translation to your language + + + + Development and translations + + Toot diff --git a/translations/harbour-tooter-ru.ts b/translations/harbour-tooter-ru.ts index eadd6e9..277a582 100644 --- a/translations/harbour-tooter-ru.ts +++ b/translations/harbour-tooter-ru.ts @@ -87,18 +87,18 @@ Instance + + Enter a valid Mastodon instance URL + Введите URL-адрес экземпляра Mastodon + 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. - + Mastodon - бесплатная социальная сеть с открытым исходным кодом. Децентрализованная альтернатива коммерческим платформам позволяет избежать рисков, связанных с тем, что одна компания монополизирует ваше общение. Выберите сервер, которому вы доверяете - в зависимости от того, что вы выберете, вы можете взаимодействовать со всеми остальными. Любой может запустить свой собственный экземпляр Mastodon и беспрепятственно участвовать в социальной сети. Reload - - Enter a valid Mastodon instance URL - - MainPage @@ -228,51 +228,35 @@ Settings Settings - Настройки + Настройки Remove Account - + Удалить учетную запись Add Account - + Добавить аккаунт Deauthorize this app and remove your account - + удалить учетную запись с устройства - Authorize this app to use your Mastodon account in your behalf - + Authorize this app to access your Mastodon account + Уполномочить это приложение использовать свою учетную запись Mastodon от вашего имени Disable this option if you want to preserve your data connection - - - - About - + Отключите эту опцию, если вы хотите сохранить подключение к данным Credits - + Зачет UI/UX design and development - - - - This application is a forked version of the Mastodon client Tooter, originally developed by Duško Angirević, which fixes various bugs. Source code on <a href='https://github.com/molan-git/harbour-tooter'>GitHub</a>. - - - - Load Images in Toots - - - - Maintainer of this release - + Дизайн и разработка UI / UX Visual identity @@ -298,6 +282,22 @@ Chinese translation + + Load images in toots + Загружать изображения + + + Translate + Переведите + + + Use Transifex to help with app translation to your language + Используйте Transifex, чтобы помочь с переводом приложения на ваш язык + + + Development and translations + + Toot @@ -318,19 +318,19 @@ VisualContainer Unboost - + Нет росту Boost - + Росту Unfavorite - + Избранные нет Favorite - + Избранные diff --git a/translations/harbour-tooter-sr.ts b/translations/harbour-tooter-sr.ts index 4d4bb43..3091e3e 100644 --- a/translations/harbour-tooter-sr.ts +++ b/translations/harbour-tooter-sr.ts @@ -87,6 +87,10 @@ Instance + + Enter a valid Mastodon instance URL + + 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. @@ -95,10 +99,6 @@ Reload - - Enter a valid Mastodon instance URL - - MainPage @@ -228,51 +228,35 @@ Settings Settings - Подешавања + Подешавања Remove Account - + Уклони налог Add Account - + Додај налог Deauthorize this app and remove your account - + Укините дозволе за кориштење и уклоните налог с телефона - Authorize this app to use your Mastodon account in your behalf - + Authorize this app to access your Mastodon account + Дозволите овој апликацији да користи ваш Mastodon налог Disable this option if you want to preserve your data connection - - - - About - + Искључите ову опцију уколико желите да уштедите на преносу података Credits - + Спомен плоча UI/UX design and development - - - - This application is a forked version of the Mastodon client Tooter, originally developed by Duško Angirević, which fixes various bugs. Source code on <a href='https://github.com/molan-git/harbour-tooter'>GitHub</a>. - - - - Load Images in Toots - - - - Maintainer of this release - + интерфејс дизајн и развој Visual identity @@ -298,6 +282,22 @@ Chinese translation + + Load images in toots + Прикажи слике у објавама + + + Translate + Преведи + + + Use Transifex to help with app translation to your language + Користите Transifex и помозите у преводу апликације на други језик + + + Development and translations + + Toot @@ -318,15 +318,15 @@ VisualContainer Unboost - + Уклони разглас Boost - + Разгласи Unfavorite - + Уклони из омиљених Favorite diff --git a/translations/harbour-tooter-sv.ts b/translations/harbour-tooter-sv.ts index 7dfde30..43b1866 100644 --- a/translations/harbour-tooter-sv.ts +++ b/translations/harbour-tooter-sv.ts @@ -81,24 +81,24 @@ LoginPage Login - + Logga in Instance + + Enter a valid Mastodon instance URL + Fyll i URL till Mastodoninstans + 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. - + Mastodon är ett fritt och öppet socialt nätverk byggt på öppen källkod. Ett decentraliserat alternativ till kommersiella plattformar, vilket undviker att ett ensamt företag monopoliserar din kommunikation. Välj en server du litar på --- beroende på vilken du väljer, kan du interagera med alla andra. Vem som helst kan köra deras egen Mastodoninstans och delta i nätverket. Även du! Reload - - Enter a valid Mastodon instance URL - - MainPage @@ -228,51 +228,35 @@ Settings Settings - Inställningar + Inställningar Remove Account - + Radera konto Add Account - + Lägg till konto Deauthorize this app and remove your account - + Avauktorisera denna app och radera ditt konto - Authorize this app to use your Mastodon account in your behalf - + Authorize this app to access your Mastodon account + Godkänn denna app att använda ditt Mastodon-konto på dina vägnar Disable this option if you want to preserve your data connection - - - - About - + Inaktivera det här alternativet om du vill behålla din dataanslutning Credits - + Erkännanden UI/UX design and development - - - - This application is a forked version of the Mastodon client Tooter, originally developed by Duško Angirević, which fixes various bugs. Source code on <a href='https://github.com/molan-git/harbour-tooter'>GitHub</a>. - - - - Load Images in Toots - - - - Maintainer of this release - + UI/UX design och utveckling Visual identity @@ -298,6 +282,22 @@ Chinese translation + + Load images in toots + Ladda bilder i toots + + + Translate + Översätt + + + Use Transifex to help with app translation to your language + + + + Development and translations + Använd Transifex för att hjälpa med app-översättningar till ditt språk + Toot @@ -318,19 +318,19 @@ VisualContainer Unboost - + Avpuffa Boost - + Puffa Unfavorite - + Avfavorisera Favorite - + Favorisera diff --git a/translations/harbour-tooter-zh_CN.ts b/translations/harbour-tooter-zh_CN.ts index 2479c2a..04ddc89 100644 --- a/translations/harbour-tooter-zh_CN.ts +++ b/translations/harbour-tooter-zh_CN.ts @@ -87,18 +87,18 @@ Instance 实例 + + Enter a valid Mastodon instance URL + 输入一个有效的 Mastodon 实例 URL + 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. - ​Mastodon 是一个自由且开源的社交网络。一个去中心化的商业平台的替代品。它能够避免某个公司垄断你的通讯方式的风险。选择一个你所信任的服务器——无论你选择什么,你都可以和其他人进行互动。任何人都能运行他们自己的 Mastodon 实例,然后无缝加入社交网站。 + Mastodon 是一个自由且开源的社交网络。一个去中心化的商业平台的替代品。它能够避免某个公司垄断你的通讯方式的风险。选择一个你所信任的服务器——无论你选择什么,你都可以和其他人进行互动。任何人都能运行他们自己的 Mastodon 实例,然后无缝加入社交网站。 Reload 重新加载 - - Enter a valid Mastodon instance URL - 输入一个有效的 Mastodon 实例 URL - MainPage @@ -243,17 +243,13 @@ 取消授权此软件并移除你的账号 - Authorize this app to use your Mastodon account in your behalf + Authorize this app to access your Mastodon account 授权此软件使用你的 Mastodon 账号 Disable this option if you want to preserve your data connection 如果你想保护你的数据连接,请禁用此选项 - - About - 关于 - Credits 信誉 @@ -262,18 +258,6 @@ UI/UX design and development UI/UX设计及开发 - - This application is a forked version of the Mastodon client Tooter, originally developed by Duško Angirević, which fixes various bugs. Source code on <a href='https://github.com/molan-git/harbour-tooter'>GitHub</a>. - 此软件是一个 Mastodon 客户端 Tooter,原作者为 Duško Angirević。该分支修复了大量缺陷,你可以在此处找到源代码 <a href='https://github.com/molan-git/harbour-tooter'>GitHub</a> 。 - - - Load Images in Toots - 在嘟嘟加载图片 - - - Maintainer of this release - 该发布的维护者 - Visual identity 视觉识别 @@ -298,6 +282,22 @@ Chinese translation 汉语翻译 + + Load images in toots + + + + Translate + + + + Use Transifex to help with app translation to your language + + + + Development and translations + + Toot diff --git a/translations/harbour-tooter.ts b/translations/harbour-tooter.ts index b6bec4d..b119e7e 100644 --- a/translations/harbour-tooter.ts +++ b/translations/harbour-tooter.ts @@ -87,6 +87,10 @@ Instance + + Enter a valid Mastodon instance URL + + 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. @@ -95,10 +99,6 @@ Reload - - Enter a valid Mastodon instance URL - - MainPage @@ -243,17 +243,13 @@ - Authorize this app to use your Mastodon account in your behalf + Authorize this app to access your Mastodon account Disable this option if you want to preserve your data connection - - About - - Credits @@ -262,18 +258,6 @@ UI/UX design and development - - This application is a forked version of the Mastodon client Tooter, originally developed by Duško Angirević, which fixes various bugs. Source code on <a href='https://github.com/molan-git/harbour-tooter'>GitHub</a>. - - - - Load Images in Toots - - - - Maintainer of this release - - Visual identity @@ -298,6 +282,22 @@ Chinese translation + + Load images in toots + + + + Translate + + + + Use Transifex to help with app translation to your language + + + + Development and translations + + Toot From 8ee9ecbba9873b7bcb12b31260000265ea6cced8 Mon Sep 17 00:00:00 2001 From: molan-git <59296158+molan-git@users.noreply.github.com> Date: Thu, 30 Apr 2020 16:02:23 +0200 Subject: [PATCH 069/110] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index b8d3cb3..80dde6d 100644 --- a/README.md +++ b/README.md @@ -3,7 +3,7 @@ ## About Tooter is Mastodon client for Sailfish OS. It is a free, open-source social network. A decentralized alternative to commercial platforms, it avoids the risks of a single company monopolizing your communication. -This fork is being used to further develop and maintain the Tooter app by dysk0 (https://github.com/dysk0/harbour-tooter). The development branch 'upstream' is being used to create pull requests from this fork. Releases by dysk0 can be found on the Jolla store and on https://openrepos.net/content/dysko/tooter +This fork is being used to further develop and maintain the Tooter app by dysko (https://github.com/dysk0/harbour-tooter). The development branch 'upstream' is being used to create pull requests from this fork. Releases by dysko can be found on the Jolla store and on https://openrepos.net/content/dysko/tooter Releases from this forked repository can be found here: https://openrepos.net/content/molan/tooter-fork. From 6954fbe7e142fb16877c9d650a91ad16e7dc9716 Mon Sep 17 00:00:00 2001 From: molan-git <59296158+molan-git@users.noreply.github.com> Date: Thu, 30 Apr 2020 16:02:54 +0200 Subject: [PATCH 070/110] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index b8d3cb3..80dde6d 100644 --- a/README.md +++ b/README.md @@ -3,7 +3,7 @@ ## About Tooter is Mastodon client for Sailfish OS. It is a free, open-source social network. A decentralized alternative to commercial platforms, it avoids the risks of a single company monopolizing your communication. -This fork is being used to further develop and maintain the Tooter app by dysk0 (https://github.com/dysk0/harbour-tooter). The development branch 'upstream' is being used to create pull requests from this fork. Releases by dysk0 can be found on the Jolla store and on https://openrepos.net/content/dysko/tooter +This fork is being used to further develop and maintain the Tooter app by dysko (https://github.com/dysk0/harbour-tooter). The development branch 'upstream' is being used to create pull requests from this fork. Releases by dysko can be found on the Jolla store and on https://openrepos.net/content/dysko/tooter Releases from this forked repository can be found here: https://openrepos.net/content/molan/tooter-fork. From c720371080fbea99592bcf830527315500d2b068 Mon Sep 17 00:00:00 2001 From: molan-git <59296158+molan-git@users.noreply.github.com> Date: Thu, 30 Apr 2020 16:23:37 +0200 Subject: [PATCH 071/110] Update harbour-tooter-it.ts --- translations/harbour-tooter-it.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/translations/harbour-tooter-it.ts b/translations/harbour-tooter-it.ts index 9f31bc8..d6bad12 100644 --- a/translations/harbour-tooter-it.ts +++ b/translations/harbour-tooter-it.ts @@ -372,12 +372,12 @@ boosted - ha condiviso il tuo post + ha condiviso il post favourited - ha apprezzato il tuo post + ha apprezzato il post From f0446354e0081f39c7467ca343fa85a66178a25b Mon Sep 17 00:00:00 2001 From: molan-git <59296158+molan-git@users.noreply.github.com> Date: Thu, 30 Apr 2020 16:25:31 +0200 Subject: [PATCH 072/110] Update harbour-tooter-fr.ts --- translations/harbour-tooter-fr.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/translations/harbour-tooter-fr.ts b/translations/harbour-tooter-fr.ts index da66113..babaa1c 100644 --- a/translations/harbour-tooter-fr.ts +++ b/translations/harbour-tooter-fr.ts @@ -303,7 +303,7 @@ Toot boosted - a partagé votre statut + a partagé ce statut favourited From 8c04e8c3657ed269c95b1e9419649276fa6ba6ba Mon Sep 17 00:00:00 2001 From: molan-git <59296158+molan-git@users.noreply.github.com> Date: Thu, 30 Apr 2020 16:27:12 +0200 Subject: [PATCH 073/110] Update harbour-tooter-de.ts --- translations/harbour-tooter-de.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/translations/harbour-tooter-de.ts b/translations/harbour-tooter-de.ts index 0d7c292..d3069b3 100644 --- a/translations/harbour-tooter-de.ts +++ b/translations/harbour-tooter-de.ts @@ -303,11 +303,11 @@ Toot boosted - hat deinen Beitrag geteilt + hat den Beitrag geteilt favourited - hat deinen Beitrag favorisiert + hat den Beitrag favorisiert followed you From 0592b4a1d7b9043223da86ff5ed862f67fcea5fc Mon Sep 17 00:00:00 2001 From: molan-git <59296158+molan-git@users.noreply.github.com> Date: Fri, 1 May 2020 08:18:48 +0200 Subject: [PATCH 074/110] Update harbour-tooter-de.ts --- translations/harbour-tooter-de.ts | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/translations/harbour-tooter-de.ts b/translations/harbour-tooter-de.ts index d3069b3..d2a2c44 100644 --- a/translations/harbour-tooter-de.ts +++ b/translations/harbour-tooter-de.ts @@ -5,7 +5,7 @@ API favourited - hat den Beitrag favorisiert + hat favorisiert followed you @@ -13,7 +13,7 @@ boosted - hat den Beitrag geteilt + hat geteilt said @@ -135,11 +135,11 @@ MiniStatus boosted - hat den Beitrag geteilt + hat geteilt favourited - hat den Beitrag favorisiert + hat favorisiert followed you @@ -303,11 +303,11 @@ Toot boosted - hat den Beitrag geteilt + hat geteilt favourited - hat den Beitrag favorisiert + hat favorisiert followed you From 31d2dda3c6f3c90cbaf7f7ec7cbada225f7cb471 Mon Sep 17 00:00:00 2001 From: molan-git <59296158+molan-git@users.noreply.github.com> Date: Fri, 1 May 2020 08:20:54 +0200 Subject: [PATCH 075/110] Update harbour-tooter-fr.ts --- translations/harbour-tooter-fr.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/translations/harbour-tooter-fr.ts b/translations/harbour-tooter-fr.ts index babaa1c..520174c 100644 --- a/translations/harbour-tooter-fr.ts +++ b/translations/harbour-tooter-fr.ts @@ -135,7 +135,7 @@ MiniStatus boosted - a partagé ce statut + a partagé favourited @@ -303,7 +303,7 @@ Toot boosted - a partagé ce statut + a partagé favourited From cc3983260fa1397fd69ec77d76705d58d3a53632 Mon Sep 17 00:00:00 2001 From: molan-git <59296158+molan-git@users.noreply.github.com> Date: Fri, 1 May 2020 08:22:00 +0200 Subject: [PATCH 076/110] Update harbour-tooter-it.ts --- translations/harbour-tooter-it.ts | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/translations/harbour-tooter-it.ts b/translations/harbour-tooter-it.ts index d6bad12..7f50712 100644 --- a/translations/harbour-tooter-it.ts +++ b/translations/harbour-tooter-it.ts @@ -6,7 +6,7 @@ favourited - ha apprezzato il post + ha apprezzato @@ -16,7 +16,7 @@ boosted - ha condiviso il post + ha condiviso @@ -165,12 +165,12 @@ boosted - ha condiviso il post + ha condiviso favourited - ha apprezzato il post + ha apprezzato @@ -372,12 +372,12 @@ boosted - ha condiviso il post + ha condiviso favourited - ha apprezzato il post + ha apprezzato From bd9d10e2eeb23d0fa57f26ebdb0df5a7e401f2e3 Mon Sep 17 00:00:00 2001 From: molan-git <59296158+molan-git@users.noreply.github.com> Date: Fri, 1 May 2020 09:23:28 +0200 Subject: [PATCH 077/110] Adjust app name --- rpm/harbour-tooter.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rpm/harbour-tooter.yaml b/rpm/harbour-tooter.yaml index 093166c..ba2791a 100644 --- a/rpm/harbour-tooter.yaml +++ b/rpm/harbour-tooter.yaml @@ -1,4 +1,4 @@ -Name: harbour-tooter +Name: harbour-tooter-beta Summary: Tooter Version: 1.0.4 Release: 1 From 8602e6a09638edb2303eed4b912d94ed426170ea Mon Sep 17 00:00:00 2001 From: molan-git <59296158+molan-git@users.noreply.github.com> Date: Fri, 1 May 2020 09:25:11 +0200 Subject: [PATCH 078/110] Adjust app name --- harbour-tooter.desktop => harbour-tooter-beta.desktop | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) rename harbour-tooter.desktop => harbour-tooter-beta.desktop (94%) diff --git a/harbour-tooter.desktop b/harbour-tooter-beta.desktop similarity index 94% rename from harbour-tooter.desktop rename to harbour-tooter-beta.desktop index 0488e61..02ed710 100644 --- a/harbour-tooter.desktop +++ b/harbour-tooter-beta.desktop @@ -3,7 +3,7 @@ Type=Application X-Nemo-Application-Type=silica-qt5 Icon=harbour-tooter Exec=harbour-tooter -Name=Tooter +Name=Tooter Beta # translation example: # your app name in German locale (de) # From 88ececdf5734a64177cb413e3393ec3c723f7132 Mon Sep 17 00:00:00 2001 From: molan-git <59296158+molan-git@users.noreply.github.com> Date: Fri, 1 May 2020 09:28:10 +0200 Subject: [PATCH 079/110] Adjust app name --- harbour-tooter.pro | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/harbour-tooter.pro b/harbour-tooter.pro index 6a1b13c..600bd1f 100644 --- a/harbour-tooter.pro +++ b/harbour-tooter.pro @@ -10,7 +10,7 @@ # - translation filenames have to be changed # The name of your application -TARGET = harbour-tooter +TARGET = harbour-tooter-beta CONFIG += sailfishapp @@ -83,12 +83,12 @@ DISTFILES += qml/harbour-tooter.qml \ qml/lib/Worker.js \ config/icon-lock-harbour-tooter.png \ config/x-harbour.tooter.activity.conf \ - rpm/harbour-tooter.changes \ - rpm/harbour-tooter.changes.run.in \ - rpm/harbour-tooter.spec \ - rpm/harbour-tooter.yaml \ + rpm/harbour-tooter-beta.changes \ + rpm/harbour-tooter-beta.changes.run.in \ + rpm/harbour-tooter-beta.spec \ + rpm/harbour-tooter-beta.yaml \ translations/*.ts \ - harbour-tooter.desktop + harbour-tooter-beta.desktop SAILFISHAPP_ICONS = 86x86 108x108 128x128 172x172 From af0ddc49e68a872defae1e3ad4bb279f43260d6b Mon Sep 17 00:00:00 2001 From: molan-git <59296158+molan-git@users.noreply.github.com> Date: Fri, 1 May 2020 09:28:42 +0200 Subject: [PATCH 080/110] Rename harbour-tooter.pro to harbour-tooter-beta.pro --- harbour-tooter.pro => harbour-tooter-beta.pro | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename harbour-tooter.pro => harbour-tooter-beta.pro (100%) diff --git a/harbour-tooter.pro b/harbour-tooter-beta.pro similarity index 100% rename from harbour-tooter.pro rename to harbour-tooter-beta.pro From b956a0b15c416644905bbb874e26daa7485cb188 Mon Sep 17 00:00:00 2001 From: molan-git <59296158+molan-git@users.noreply.github.com> Date: Fri, 1 May 2020 09:29:10 +0200 Subject: [PATCH 081/110] Rename harbour-tooter.changes to harbour-tooter-beta.changes --- rpm/{harbour-tooter.changes => harbour-tooter-beta.changes} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename rpm/{harbour-tooter.changes => harbour-tooter-beta.changes} (100%) diff --git a/rpm/harbour-tooter.changes b/rpm/harbour-tooter-beta.changes similarity index 100% rename from rpm/harbour-tooter.changes rename to rpm/harbour-tooter-beta.changes From d21b739c776b846345c1acbf9c4520baa5f06e6e Mon Sep 17 00:00:00 2001 From: molan-git <59296158+molan-git@users.noreply.github.com> Date: Fri, 1 May 2020 09:29:35 +0200 Subject: [PATCH 082/110] Rename harbour-tooter.changes.run.in to harbour-tooter-beta.changes.run.in --- ...r-tooter.changes.run.in => harbour-tooter-beta.changes.run.in} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename rpm/{harbour-tooter.changes.run.in => harbour-tooter-beta.changes.run.in} (100%) diff --git a/rpm/harbour-tooter.changes.run.in b/rpm/harbour-tooter-beta.changes.run.in similarity index 100% rename from rpm/harbour-tooter.changes.run.in rename to rpm/harbour-tooter-beta.changes.run.in From 708d6b3efc48b3a1f7ab1e9f6c475cfa10d4ede9 Mon Sep 17 00:00:00 2001 From: molan-git <59296158+molan-git@users.noreply.github.com> Date: Fri, 1 May 2020 09:29:50 +0200 Subject: [PATCH 083/110] Rename harbour-tooter.spec to harbour-tooter-beta.spec --- rpm/{harbour-tooter.spec => harbour-tooter-beta.spec} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename rpm/{harbour-tooter.spec => harbour-tooter-beta.spec} (100%) diff --git a/rpm/harbour-tooter.spec b/rpm/harbour-tooter-beta.spec similarity index 100% rename from rpm/harbour-tooter.spec rename to rpm/harbour-tooter-beta.spec From bf8cefe9988679ec31cc3160ef2a660f9ee127e9 Mon Sep 17 00:00:00 2001 From: molan-git <59296158+molan-git@users.noreply.github.com> Date: Fri, 1 May 2020 09:30:04 +0200 Subject: [PATCH 084/110] Rename harbour-tooter.yaml to harbour-tooter-beta.yaml --- rpm/{harbour-tooter.yaml => harbour-tooter-beta.yaml} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename rpm/{harbour-tooter.yaml => harbour-tooter-beta.yaml} (100%) diff --git a/rpm/harbour-tooter.yaml b/rpm/harbour-tooter-beta.yaml similarity index 100% rename from rpm/harbour-tooter.yaml rename to rpm/harbour-tooter-beta.yaml From db9042957391858f4638d5d1953e2006744b193d Mon Sep 17 00:00:00 2001 From: molan-git <59296158+molan-git@users.noreply.github.com> Date: Fri, 1 May 2020 09:32:31 +0200 Subject: [PATCH 085/110] Rename harbour-tooter.qml to harbour-tooter-beta.qml --- qml/{harbour-tooter.qml => harbour-tooter-beta.qml} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename qml/{harbour-tooter.qml => harbour-tooter-beta.qml} (100%) diff --git a/qml/harbour-tooter.qml b/qml/harbour-tooter-beta.qml similarity index 100% rename from qml/harbour-tooter.qml rename to qml/harbour-tooter-beta.qml From 5b5e6e39d9d4de691c2473b1f9fb34a2cbae5cef Mon Sep 17 00:00:00 2001 From: molan-git Date: Fri, 1 May 2020 12:23:36 +0200 Subject: [PATCH 086/110] Beta release version Change file names for beta release version. --- ....png => icon-lock-harbour-tooter-beta.png} | Bin config/x-harbour.tooter.activity.conf | 4 +- harbour-tooter-beta.desktop | 6 +- harbour-tooter-beta.pro | 233 +++++----- icons/108x108/harbour-tooter-beta.png | Bin 0 -> 25866 bytes icons/108x108/harbour-tooter.png | Bin 7842 -> 0 bytes icons/128x128/harbour-tooter-beta.png | Bin 0 -> 27099 bytes icons/128x128/harbour-tooter.png | Bin 8892 -> 0 bytes icons/172x172/harbour-tooter-beta.png | Bin 0 -> 29995 bytes icons/172x172/harbour-tooter.png | Bin 13966 -> 0 bytes icons/256x256/harbour-tooter-beta.png | Bin 0 -> 32266 bytes icons/256x256/harbour-tooter.png | Bin 12167 -> 0 bytes icons/86x86/harbour-tooter-beta.png | Bin 0 -> 24051 bytes icons/86x86/harbour-tooter.png | Bin 6284 -> 0 bytes qml/cover/CoverPage.qml | 2 +- qml/lib/API.js | 2 +- rpm/harbour-tooter-beta.spec | 6 +- rpm/harbour-tooter-beta.yaml | 2 +- ...our-tooter.cpp => harbour-tooter-beta.cpp} | 2 +- ...tooter-de.ts => harbour-tooter-beta-de.ts} | 0 ...tooter-el.ts => harbour-tooter-beta-el.ts} | 0 ...tooter-es.ts => harbour-tooter-beta-es.ts} | 0 ...tooter-fi.ts => harbour-tooter-beta-fi.ts} | 0 ...tooter-fr.ts => harbour-tooter-beta-fr.ts} | 0 ...tooter-it.ts => harbour-tooter-beta-it.ts} | 0 ...tooter-nl.ts => harbour-tooter-beta-nl.ts} | 0 ...-nl_BE.ts => harbour-tooter-beta-nl_BE.ts} | 0 ...tooter-oc.ts => harbour-tooter-beta-oc.ts} | 0 ...tooter-pl.ts => harbour-tooter-beta-pl.ts} | 0 ...tooter-ru.ts => harbour-tooter-beta-ru.ts} | 0 ...tooter-sr.ts => harbour-tooter-beta-sr.ts} | 0 ...tooter-sv.ts => harbour-tooter-beta-sv.ts} | 0 ...-zh_CN.ts => harbour-tooter-beta-zh_CN.ts} | 0 translations/harbour-tooter-beta.ts | 411 ++++++++++++++++++ 34 files changed, 540 insertions(+), 128 deletions(-) rename config/{icon-lock-harbour-tooter.png => icon-lock-harbour-tooter-beta.png} (100%) create mode 100644 icons/108x108/harbour-tooter-beta.png delete mode 100644 icons/108x108/harbour-tooter.png create mode 100644 icons/128x128/harbour-tooter-beta.png delete mode 100644 icons/128x128/harbour-tooter.png create mode 100644 icons/172x172/harbour-tooter-beta.png delete mode 100644 icons/172x172/harbour-tooter.png create mode 100644 icons/256x256/harbour-tooter-beta.png delete mode 100644 icons/256x256/harbour-tooter.png create mode 100644 icons/86x86/harbour-tooter-beta.png delete mode 100644 icons/86x86/harbour-tooter.png rename src/{harbour-tooter.cpp => harbour-tooter-beta.cpp} (94%) rename translations/{harbour-tooter-de.ts => harbour-tooter-beta-de.ts} (100%) rename translations/{harbour-tooter-el.ts => harbour-tooter-beta-el.ts} (100%) rename translations/{harbour-tooter-es.ts => harbour-tooter-beta-es.ts} (100%) rename translations/{harbour-tooter-fi.ts => harbour-tooter-beta-fi.ts} (100%) rename translations/{harbour-tooter-fr.ts => harbour-tooter-beta-fr.ts} (100%) rename translations/{harbour-tooter-it.ts => harbour-tooter-beta-it.ts} (100%) rename translations/{harbour-tooter-nl.ts => harbour-tooter-beta-nl.ts} (100%) rename translations/{harbour-tooter-nl_BE.ts => harbour-tooter-beta-nl_BE.ts} (100%) rename translations/{harbour-tooter-oc.ts => harbour-tooter-beta-oc.ts} (100%) rename translations/{harbour-tooter-pl.ts => harbour-tooter-beta-pl.ts} (100%) rename translations/{harbour-tooter-ru.ts => harbour-tooter-beta-ru.ts} (100%) rename translations/{harbour-tooter-sr.ts => harbour-tooter-beta-sr.ts} (100%) rename translations/{harbour-tooter-sv.ts => harbour-tooter-beta-sv.ts} (100%) rename translations/{harbour-tooter-zh_CN.ts => harbour-tooter-beta-zh_CN.ts} (100%) create mode 100644 translations/harbour-tooter-beta.ts diff --git a/config/icon-lock-harbour-tooter.png b/config/icon-lock-harbour-tooter-beta.png similarity index 100% rename from config/icon-lock-harbour-tooter.png rename to config/icon-lock-harbour-tooter-beta.png diff --git a/config/x-harbour.tooter.activity.conf b/config/x-harbour.tooter.activity.conf index a4c6442..440b387 100644 --- a/config/x-harbour.tooter.activity.conf +++ b/config/x-harbour.tooter.activity.conf @@ -1,5 +1,5 @@ -appIcon=/usr/share/harbour-tooter/config/icon-lock-harbour-tooter.png -x-nemo-icon=/usr/share/harbour-tooter/config/icon-lock-harbour-tooter.png +appIcon=/usr/share/harbour-tooter/config/icon-lock-harbour-tooter-beta.png +x-nemo-icon=/usr/share/harbour-tooter/config/icon-lock-harbour-tooter-beta.png x-nemo-priority=120 x-nemo-feedback=sms_exists x-nemo-led-disabled-without-body-and-summary=false diff --git a/harbour-tooter-beta.desktop b/harbour-tooter-beta.desktop index 02ed710..ef6c948 100644 --- a/harbour-tooter-beta.desktop +++ b/harbour-tooter-beta.desktop @@ -1,9 +1,9 @@ [Desktop Entry] Type=Application X-Nemo-Application-Type=silica-qt5 -Icon=harbour-tooter -Exec=harbour-tooter -Name=Tooter Beta +Icon=harbour-tooter-beta +Exec=harbour-tooter-beta +Name=Tooter β # translation example: # your app name in German locale (de) # diff --git a/harbour-tooter-beta.pro b/harbour-tooter-beta.pro index 600bd1f..d6d0268 100644 --- a/harbour-tooter-beta.pro +++ b/harbour-tooter-beta.pro @@ -1,116 +1,117 @@ -# NOTICE: -# -# Application name defined in TARGET has a corresponding QML filename. -# If name defined in TARGET is changed, the following needs to be done -# to match new name: -# - corresponding QML filename must be changed -# - desktop icon filename must be changed -# - desktop filename must be changed -# - icon definition filename in desktop file must be changed -# - translation filenames have to be changed - -# The name of your application -TARGET = harbour-tooter-beta - -CONFIG += sailfishapp - -QT += network dbus sql -CONFIG += link_pkgconfig -PKGCONFIG += sailfishapp -PKGCONFIG += \ - nemonotifications-qt5 - -DEFINES += "APPVERSION=\\\"$${SPECVERSION}\\\"" -DEFINES += "APPNAME=\\\"$${TARGET}\\\"" - -!exists( src/dbusAdaptor.h ) { - system(qdbusxml2cpp config/ba.dysko.harbour.tooter.xml -i dbus.h -a src/dbusAdaptor) -} - -config.path = /usr/share/$${TARGET}/config/ -config.files = config/icon-lock-harbour-tooter.png - -notification_categories.path = /usr/share/lipstick/notificationcategories -notification_categories.files = config/x-harbour.tooter.activity.* - -dbus_services.path = /usr/share/dbus-1/services/ -dbus_services.files = config/ba.dysko.harbour.tooter.service - -interfaces.path = /usr/share/dbus-1/interfaces/ -interfaces.files = config/ba.dysko.harbour.tooter.xml - -SOURCES += src/harbour-tooter.cpp -SOURCES += src/imageuploader.cpp -SOURCES += src/filedownloader.cpp -SOURCES += src/notifications.cpp -SOURCES += src/dbusAdaptor.cpp -SOURCES += src/dbus.cpp - -HEADERS += src/imageuploader.h -HEADERS += src/filedownloader.h -HEADERS += src/notifications.h -HEADERS += src/dbusAdaptor.h -HEADERS += src/dbus.h - -DISTFILES += qml/harbour-tooter.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/pages/components/ImageFullScreen.qml \ - qml/cover/CoverPage.qml \ - qml/pages/MainPage.qml \ - qml/pages/LoginPage.qml \ - qml/pages/Conversation.qml \ - qml/pages/components/Toot.qml \ - qml/pages/Browser.qml \ - qml/pages/Profile.qml \ - qml/pages/Settings.qml \ - qml/lib/API.js \ - qml/images/notification.svg \ - qml/images/verified.svg \ - qml/images/boosted.svg \ - qml/images/tooter.svg \ - qml/images/emojiselect.svg \ - qml/images/icon-m-profile.svg \ - qml/images/icon-l-profile.svg \ - qml/lib/Mastodon.js \ - qml/lib/Worker.js \ - config/icon-lock-harbour-tooter.png \ - config/x-harbour.tooter.activity.conf \ - rpm/harbour-tooter-beta.changes \ - rpm/harbour-tooter-beta.changes.run.in \ - rpm/harbour-tooter-beta.spec \ - rpm/harbour-tooter-beta.yaml \ - translations/*.ts \ - harbour-tooter-beta.desktop - -SAILFISHAPP_ICONS = 86x86 108x108 128x128 172x172 - -# to disable building translations every time, comment out the -# following CONFIG line -CONFIG += sailfishapp_i18n - -# German translation is enabled as an example. If you aren't -# planning to localize your app, remember to comment out the -# following TRANSLATIONS line. And also do not forget to -# modify the localized app name in the the .desktop file. -TRANSLATIONS += translations/harbour-tooter-de.ts -TRANSLATIONS += translations/harbour-tooter-el.ts -TRANSLATIONS += translations/harbour-tooter-es.ts -TRANSLATIONS += translations/harbour-tooter-fi.ts -TRANSLATIONS += translations/harbour-tooter-fr.ts -TRANSLATIONS += translations/harbour-tooter-nl.ts -TRANSLATIONS += translations/harbour-tooter-nl_BE.ts -TRANSLATIONS += translations/harbour-tooter-oc.ts -TRANSLATIONS += translations/harbour-tooter-pl.ts -TRANSLATIONS += translations/harbour-tooter-ru.ts -TRANSLATIONS += translations/harbour-tooter-sr.ts -TRANSLATIONS += translations/harbour-tooter-sv.ts -TRANSLATIONS += translations/harbour-tooter-zh_CN.ts -TRANSLATIONS += translations/harbour-tooter-it.ts +# NOTICE: +# +# Application name defined in TARGET has a corresponding QML filename. +# If name defined in TARGET is changed, the following needs to be done +# to match new name: +# - corresponding QML filename must be changed +# - desktop icon filename must be changed +# - desktop filename must be changed +# - icon definition filename in desktop file must be changed +# - translation filenames have to be changed + +# The name of your application +TARGET = harbour-tooter-beta + +CONFIG += sailfishapp + +QT += network dbus sql +CONFIG += link_pkgconfig +PKGCONFIG += sailfishapp +PKGCONFIG += \ + nemonotifications-qt5 + +DEFINES += "APPVERSION=\\\"$${SPECVERSION}\\\"" +DEFINES += "APPNAME=\\\"$${TARGET}\\\"" + +!exists( src/dbusAdaptor.h ) { + system(qdbusxml2cpp config/ba.dysko.harbour.tooter.xml -i dbus.h -a src/dbusAdaptor) +} + +config.path = /usr/share/$${TARGET}/config/ +config.files = config/icon-lock-harbour-tooter.png + +notification_categories.path = /usr/share/lipstick/notificationcategories +notification_categories.files = config/x-harbour.tooter.activity.* + +dbus_services.path = /usr/share/dbus-1/services/ +dbus_services.files = config/ba.dysko.harbour.tooter.service + +interfaces.path = /usr/share/dbus-1/interfaces/ +interfaces.files = config/ba.dysko.harbour.tooter.xml + +SOURCES += \ + src/harbour-tooter-beta.cpp +SOURCES += src/imageuploader.cpp +SOURCES += src/filedownloader.cpp +SOURCES += src/notifications.cpp +SOURCES += src/dbusAdaptor.cpp +SOURCES += src/dbus.cpp + +HEADERS += src/imageuploader.h +HEADERS += src/filedownloader.h +HEADERS += src/notifications.h +HEADERS += src/dbusAdaptor.h +HEADERS += src/dbus.h + +DISTFILES += qml/harbour-tooter-beta.qml \ + config/icon-lock-harbour-tooter-beta.png \ + 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/pages/components/ImageFullScreen.qml \ + qml/cover/CoverPage.qml \ + qml/pages/MainPage.qml \ + qml/pages/LoginPage.qml \ + qml/pages/Conversation.qml \ + qml/pages/components/Toot.qml \ + qml/pages/Browser.qml \ + qml/pages/Profile.qml \ + qml/pages/Settings.qml \ + qml/lib/API.js \ + qml/images/notification.svg \ + qml/images/verified.svg \ + qml/images/boosted.svg \ + qml/images/tooter.svg \ + qml/images/emojiselect.svg \ + qml/images/icon-m-profile.svg \ + qml/images/icon-l-profile.svg \ + qml/lib/Mastodon.js \ + qml/lib/Worker.js \ + config/x-harbour.tooter.activity.conf \ + rpm/harbour-tooter-beta.changes \ + rpm/harbour-tooter-beta.changes.run.in \ + rpm/harbour-tooter-beta.spec \ + rpm/harbour-tooter-beta.yaml \ + translations/*.ts \ + harbour-tooter-beta.desktop + +SAILFISHAPP_ICONS = 86x86 108x108 128x128 172x172 + +# to disable building translations every time, comment out the +# following CONFIG line +CONFIG += sailfishapp_i18n + +# German translation is enabled as an example. If you aren't +# planning to localize your app, remember to comment out the +# following TRANSLATIONS line. And also do not forget to +# modify the localized app name in the the .desktop file. +TRANSLATIONS += translations/harbour-tooter-beta-de.ts +TRANSLATIONS += translations/harbour-tooter-beta-el.ts +TRANSLATIONS += translations/harbour-tooter-beta-es.ts +TRANSLATIONS += translations/harbour-tooter-beta-fi.ts +TRANSLATIONS += translations/harbour-tooter-beta-fr.ts +TRANSLATIONS += translations/harbour-tooter-beta-nl.ts +TRANSLATIONS += translations/harbour-tooter-beta-nl_BE.ts +TRANSLATIONS += translations/harbour-tooter-beta-oc.ts +TRANSLATIONS += translations/harbour-tooter-beta-pl.ts +TRANSLATIONS += translations/harbour-tooter-beta-ru.ts +TRANSLATIONS += translations/harbour-tooter-beta-sr.ts +TRANSLATIONS += translations/harbour-tooter-beta-sv.ts +TRANSLATIONS += translations/harbour-tooter-beta-zh_CN.ts +TRANSLATIONS += translations/harbour-tooter-beta-it.ts diff --git a/icons/108x108/harbour-tooter-beta.png b/icons/108x108/harbour-tooter-beta.png new file mode 100644 index 0000000000000000000000000000000000000000..d802c0b9c96064f1934dae0330606c2117998683 GIT binary patch literal 25866 zcmeI5cR1Wz_vptc(R&YxPQ);S(R&Mmh+f0Y7`=C*chS2@Btk@I2qF@UF3}}QL=Xfa zNFogpcbuG*cg{KPd++=E-TU18nCBTYYp=c5-s|&Sd+q)G{xRZpbIDFh&>X&T0D0FL0RUxc2Llst6KyRigqw>X%*G9l z6!dp-$MgmOWaRzbVF)LrHya#j=in;KvGt&hgU!K4mctmT4c2y7M%p{52YMp)19c1# zfldfX8xDCnVi|uai~|>>H;m2S#o5(M%3qe_55H2F?}yDo9BhAd@ph8sP&^!v%|u(5 zP1(&8$p#e^10f(H5^Umrgs`Xpn=lw6CIprgf{22^5Gk;v6d1zx=Ziy*81qfW z)5caxPetv|;V_achrPGAyOfZSpP!$gpNOEFr=1W)Qc_X~EG#4}48rsPc?Gz7!~8+6 zUYy^Z{P3fK^g?(#xO+Rexw0Mlg~8o?yk$8!4hQ=A`ZF#U_n!l~di}``Ls7^d<}L&g z1PlFxk+$~HW-cy&Yw6{!hx`@U-wxF@9lW`~;ZW`E?=_e(8aTpM%swh-VO${QU3INUnqykMAgI;8Yl+pkG|w>TW= zdxyWtA|yft3bzp!0l{q$wjiXqs5l5N425A59Vr2}6&ACRfFOSO|IPfL$MCa9x?+_a zQ7C3F{ZTHy&*YC@|Lnxe&DPrw=806a!>r1Gry73u`mbjH>>gncbG1X-$O-+3>_-E( ziHy+UrE_-pZ@6*@H&v1@>CO)|IM2E@9xb1(UtrC2zFdkzwd@Wi^cy=rTL@2{7=g0VWs_9c7F`= zTeZS2Y5$G;$A4W-{eLIs|G1|9dp8V!IV@pc)?Yi--<@{;KU8GmoZJQ~A1l@t2;Sne-}=AV1?f9027A^lf+#qxDL2o{i|#baDY z^TE;{gQY#jg$3kj@fg?9e6X~~xUhg6Egs`Knh%!t7#9|hqs3!fNAtnb z9^=9Sau5e$+GAW;K#mrVaUIPEOM8q93&_#pF|MQeU}=wWVF5W>JjQi2A1v)L zE-WBNi^sT*=7Xg@#)SpsXz>`=(R{G9$GEV794#K>I+_ob_81oykfX(8Tu1Z4(jMc& z0&=u?jO%DVSlVM;SU`>zk8vH%2TOa53k%56;*q$BfBnz}(iQXT7JitYv1qZbc!&83 z3^s(io;Cmw$PEC5MFIdj2bj;-0Dun|09dmI0HksO00y^ot8O&_fZbC=MbW^2`b~a7 zs-Qi*rBd(0Rr=(@?qBLT<$SFzvGpz|5A!0oV0s{RLwi;Dc<9p_tor$4uBPS(t= ztGbpw&#qa^zSP#bKijh66}rBYKUaKWcXB=n#rnSS6JW|--L*cIfpBUNnU+IzpEbgT zAqm z!ug@>^92d9>8zJycLmSMZ(bk|IsjQ~KMx7rQ@zzULlr;&!tk*x?uaxrwTj?Ae&zJm zGMQ5d<%wYO&rKHl;dY&|6RVMJ5;fs1%y0ayRF^jS9}TSoEWq6Ab_5mqPY1~>vZCH6 z4%4Gf0L=pjR@UY|uH(+h)`V@42|ft0pqFQkpEq_IQhGs}k5joE?s}qtYCI0QwOUeu{Ztoah|WZSsA893#B}&rl9u6w=FH)(V!2%RghMUhffSkTxK8A z*V?QEFw0j^Wk-bfLj<@)xy&gEwKg`)&wmW$cj9e*?eVccc=>JoUD@pSk#kv(@>KY@&Lb}<+|E8=ux zw64L+nU!4quz!{$0C6`;fWA^~JX_h`6-`oPld*YyvBT#&qS_n5Ftbj4&F8j4R`iak zYfo(F;I`vE`8O!e(ALMN0^Fb3Nrj{Z^oBATos}ai z@ba*R8JU!^YT8U}SI8!lXaGqoZFSh9(Yc2Hbx)&%@0e4kR!N^CX2ugc1-HCS9ANW^ zm!3{yq5e@=yG?F^sdXM+WB9ngHsFN>PqUy1m(V2y`TlGj{-?V$54I>&-(GcyltGLz z5LYyCrm51MTxx3VV0$Kz?)5JP6A|$cjxnb+u}|Fi0LHqq%Guwd-oFtms9&n z4xF_h7oa(v#ClmkPn7zydTyT*+H-$^xxGF{Rpg0vK9aW8Ter0eHTq^hA6ZOIvHM(% zwEUZVa+Ke5Z<8uLO&9CIKH>V9@kkA08V#UU2Owu0M#&jbtWFH3$6LqQTcxN zg?~5xC3|Vr1#?@N6D0w>rdfPoOoK)O`9+wF&fn-v9+iRkRGkBV<4ZHz1-F%e4ufH zok2zDJ@`-+A42NoI`O5Vg?5m_XkQ|F>0JctzJd77ppZv1yDja-3^#ozzN#t>joSe$ ze7;pvWp_I=cY@l}mddRO@vqp}R6cda86dA{b#O{Ex$#vEQnnPPed+bnK*>w*_`)0A z5$f)dd#xrYLQ>mWLH4aNyv--3TGypks4=s3-_x*rF)1p!Wna8ZPkg>zi`fsShd6OD zXaC77vhp`fPMOPPiY483Csa~1HCZy^V(RsSix(Kkc><_9@(1NWghq>Ygt;XoGM-lA zH>ZP#!Ztn&t+D6@&s|Y*@4VVUETO{7zgl2#lO>?f5bchaL)z!xHN?+rR-8na7cdHF zc;4juEuB!4uuEXUa{T(9W3FoS3)RSR>nGnN`)N+EF6$Sq;7vW*vD$G}X}`=sK%%RT zO6PGe6Jf0JDIaG^Cs*T_%*N@LDXSi+zhC8bZ~UdC5`b%w;jyHj8*M?yC7N83NJIHc z?B8b1YE4p(K$E)vRH z>5w{&M#fdZ-!BO8oU-z^t|7>ofv#5W5Tj>urPV$iOggF`e@Sq&2SC~r42-dcM1|9c@5OTLj zW1c?VgO=SJK4HY5`Nia0)|zHwU|KC(AR^MSn5QCMv4r&9>;j`FM~E!SQ9Q!`GTqg^ z6)$ox;By*_oitsW&3uYVj>kYf8h*f<{v(ah!EruAlg z+>=IU<#7s}svXjG4BQ*!?UfL0ge$Mq0Hlm*@gB;x#IahPx!Ngh;Pa0xHx8;P+j;5n zoZZ}CYa6DuIDN|0&uedbBwLv@PQ9|D2B^drrhQqS{8;P6Z9~t3q%~1pza;n1+S>$T z<$+tAY`JIUr&3_fzPtwT;nNSGIh^p^+KChtNZ$d>n%j1Q2r!`7^(}ZC_({|K5r`<@ z-XQOG$SrAlr|q8b?xc`_V0n^sqj7p;@2DB>#pwHcXDX*Jyl;eTHY0VcZ}rV4#O${F zqKGXz=%G9xM7KP4aLVmW@u)1$wWm=lIq9YYG=Lnyr3I%C>gLVmj68*^`QI#1j=i>I z6_>Bc8*8UL5Nx$p^1UQ4UFmHur1moX;w{S?=v@Q>6xX;iG@LHTxe2mt~kaB zJOe**6+0@H-UJ?G9uwsH{_8c5uglX9QwF86QCHbMp2JvM0Yhs*nWf5 z>aHr&$H0<8rrX(P1&oQlaDmh86HO92V=1h?y@3@qO{7ktujrSWo9B&qbax)nl*+tg ztb^f=PM)AqO}Mkb>EiCuJ{6gz5@pnI!}V&~uA{eseO34_U)bC=oHwX@-DIlEFRFlx zwk9~nqc!|#wZ5jn?JT^=T0d_V-umvoS_Ioq5#!g{PKn*< z;UX{?P||i8s9DoXyphmjH7se2ddbp0sV1)~5#RmNX0p&N3yeF9Bo^6=) z^4&ZYYBU>(z)dX~k@@rCx=wGTWUt)nLMOm;HSvvuclt9>O}1wX+Z7+a|5&p)FWyFE zlHemg8#S}i8kb`wO~9XXi@u+V9c{)b*w;l8V|X`!mHz#*!=(kqgN_2O?Huuv>t^l1 zuyIi{_Qp+v;?1%1IlTCBVL56&kW)^y7AIc51xxMj)$ZK5%mbsMdK^o!Xnt=lIaYqx z{L4_jAAF@(p8RBQ)9UP8$H*?3MBoyijAFvV0d-iHne!ti|Jy53(e$%69Ye3U%?WwJ zsouOI+Q}KXq$c|j#xzDV6XoM@mlW?DWwK5t#2_inhjz-$1Tpep5pJ`)>-dtPormbg z?pTid>bu_2@#m3jIo$~qGGWFC%QY8G8mL>0FC_;TadVlKL`x+2C=>NC%U`9L7zm^c zV;5wff3IOp6p#}>Dl(Vnr{NnU*=?3g8&}mmsz(<=s7GC?-5>BZnOrwA5a9%QxPr6+ z;B}MZv9js{dM-U90q|jd<%b1b=1He{MKz;t%A~R%9Jdi+J$~u4NnAfqxGJqhT`E2? zkv_`e&R3!^<*1inC5@93N?{=7zWS`*sawh;#bZl`8pEBRE`$IL0lc42qvz9#bZ;ai z-J8P!l(Gbo0nxh7)|J}0>#9=%BF&kKm)4l>cN=MZw9TbopaxK$XmPQmOMCH@n%=C2 zN7DJhZZ4lGc^4iPI`N$eE?ZyT20KSncuI!+o}}96R+(2<0aLs27v`61LhxCgCagbZ z8P89gIHj;fXAJ+cv*PjQb;-O0xsq*HkJ8w}lrVt;aP^}WNqeqo^{fCgX8cawpdS&? zO|$RCLrhc_GVT*K4-{x zv&#F^UX#z1;+EfwlvfCFW_dPyife)m;yZdLaV+;rEf31&!H4=t!wl3Qo-;L(-!eAsg!)xrb)&J-?rX;DUrk17rY=nXFbkes)Qq! z{BCJQKBa|1E^a96EL&DYEvXm1Qp!W1#n_W}ux*qs2>sD?B(R%HeEgb21I_SqkTE`v z4zsbdE+kvZ+=^nxkR*1iw24J$k>6K{!K^CEB6dBW-vbNXV6HOwbu`9|nDpIUdFbcG0_%QAHAN7#hk(gu0lO zW6>c1$RTW{2Gd(VbH7L3?nw4}Z*|owax&xtC(F)g%E#YQ(hXZyx4SQZ8C6`qMll6g5U5X8m2*j{cv;Kf8j+k^ zN)?=UWY&!9d&x~&020B&VNE7cqMI<|W4|*P?2)d(AHA^aLwGI*(&#p~H1}YKB?3-m zkuZu^toqdSTnCLq6B>}2NokGF&3kYL&1GHLtyF!pov#_7xdFRKV&ahZn2Mh|B&0R? zI&(`8Yzb_`q95fkKz-iSnTfSEp^{S<;=A18!eN2{aD3?&{F2{&2C3PQJ7^YW?+H`8 zw^e+Kk4pGPu!)ZpPCqXl#fIZ305 zh^zA~oW$Dv$qBX1Ue=d!lAP1T_>B~5yJ888a5`AAS{O?Sb)HU={PO;k%&wbU3g4Pu zl=fUKKp7mAMmEOf6p?RGf+Xw9#RyqW7+3NYKJmJ!DY`~7Wv8!CW5x;V>Fx%K(Rvc% zGYn<^|+z(Ault;e~$H8kAU-v8KX=vT_Rzv~NRIkaz zq${&TlPTzuyV7)2>`5ChbCxj6_V-q_JSLW>t^dIE)w3|ohfZ({v=E_0A38(`|JXkKaZenDBkAh5bg~b1P>}DQLMZo%thfGect#rNQr=tOE zwvXPQyy&Y->~y=_8;$C%8K*h{2@z|q`tVTiiESn$M8_k)Z?gl=^exlgfz zK~lkc$uIf&+q<(JyA6z@VWU#o;SB&Syf1q2EtN&W!I#`(`;~xPUsQ8hqV#**p0&P; z8ueOh2~_v_{9En3i>ro;*ib*jeYRBcp?MXD&6|{k%T7Vs+N1tL}B5R?yWLS z>QpXkfk_s!gk?=x+?cJ)y5qu{yvv)WOtI|zy(vYMO>FEu3{&E>3V7C`@n76u4Zy}- z`2@vRs+%u%#FE5TL8- z+J-o%^(tOoJoBbm9iD{h(ump@4|qiOHyXJTbqV`dAKRsxJfC>EN-^;5?1S|1bt4nJ zvHCFRc1@llF#wT-G8$#vd@bQvm8>Fd@=@tgVJUshc8YNxO>V3YPN?+Q3ggS0pKb%P ziJFWoNz8gRNh@fjaBNa223YC2sEl}sZZF;%mx|nN*wb{jq#MZ_XNpjs0Zz<((gJtA zy?rmzW9G(5>sd6p-6i;yRz_EEy*PQ+e)1K2`eF(aUVI!E6u z{f?ub3%n$d@%=N96N2*u(R^ajj>uM-IX3mVIAtq2aQPAZ;@ zj_$~#-?LA+cfZIni6;9rtB~!5XU-WHk)+cWb49P5=Q4^*>y5N!CSK)&EQL+!Zj)6N zMLg9^%VLfq+CT$*Woqeeo_#|!WS5yIHW+FYU`j#^Ty57c-3&Q(|6W^*OAu5xskXq) zVV$)x0w4U8Uh>Ouddplx&~krqDLt*)GzTT@Q}RMVNUhn#upw~>{;9lm2BoI^#y+2Y zMjW2Y;^3m*0FZU{9IRfo z4@tftl_q(zav}?jr(l|Zh_6K?Q?l0hozkPUu2kiY9~U#OsJbL6L)+{R8Q7zlP{gzA zdC!fD(+>n7B5*V3OYQ=lN6siYf2f#RHTP9dmz<<2R#L#jDHm$NlNBZ{@l)L+VQAoE zsX50zL|$=YTB^M2#fFAQ(#uIV&NaO}vGa}Jq>K?oR?u5n?;dsC8dVwb*tkqZLg~!h zMit3EPm+|yuNGT3v(h!4@rJPZv>GQ<@zF?mZjNedQ zPCrXRTp;WgDWb#V4T1Y0{G@kvx6?E#bKbhj2{nr^Sme0I57j;;T=HZ)=4v96SNObn zR<}UG*>{} zb1q_rUrhp@|IhZCm@6c%~wztMQd=D zvM*Vm4Fdt~c&osHAmQa`@xX+KcM-kRea@%E#u#7h9GC@eE;Z{$10^)jBzo~PpJW|r z65{)WIS{-`h!6#~5%Vrv|BKFKHtZ>52>BS0cKyH=38&pB>{W(#gSQ;wY%j)(o}U*O z(;36-{~8B78Gp~FQg!o@!mDk*jlff!(x)8);_i8H#xYfXtVEA>Nt%d&7>yh|`CJZI znfIKZ<=*VSr&8H~c-c%?#5KF$&^GN>nQvcB@JVnA@5?D?#zvpnv0eQRcY9TMcLWTF zl*%!(Tr93WUfHE}cz(O_(d3&zEjB^#2g7pWsMl|m=j3G1s5Xpr&DG;?mXCuM7Znon z$aQ38zG%V^@NQBG0NH}hVD9!RInx-oKaS+me8|ph&=l-=!~n3pzPo;)uRi$vsf6TN zBetpcVr*B&_!pS&q$(&)-@Ks(KBceUiefU_1DNws>vB1c*Lm}eeM);J4{K0?Tuo;K z_M8qK;1QA$@6;b?Teq}!vd*x{W90-yFfCrxV@;B{Xfrx9R?2iqIu-6YTV}LvsXbuD z?1XqnU&u5YVckg|HA*cp~kx$9HyNN(&a4p3i+2$g;VP9=Tw-nq7S;*0@bq@N@c3bx{1?H4-d z`MxU=(EQ1tvN(=KaX#8cd=2x+N^E;hrLfJh5~??1KEf>9J#FDpXz`Nvf%_84O;yi8 zch6*N?c(!}|69^7n0s2>I*<2l2GXmItV&(F*rwF zmwLj9q@9$b{hX#5#+nZb{)vnvpAe-tN@ zgCqh6;X>bI&uLS8vXX}MTTNTU070KsFsRSx;@1WWw%G&Xo{%q$sZqM!f`pU!m9IEy z%%+xu76edZ%}l2<{D$hJA{F0e&MZ>8_}-ps|3HuGgj(Yze3VQJGp(J_?bab2?tZIG zajR}!(tqFSr6r2U(r*^OEfo5ASSIrAc#fh5-fM}VdQB+NH4>vD%SFh}Bf1x*B_(;E z6^QwO9Egxo+LlQg&sRH+!*KwSGq5uc$C;8dX{(V0_2B}v1y}O<&{Jm066Du!T$%!_yjmHy_Fmy+oZBHx&)_Wxyv%-A@@<#I z=@~y2#yj|E&G51vb*-xKZ$p~tLAN@+4sL&Ydw2VyvY74g1*2!?IT`woE^)ZK0QG(R zlzn{Kdx**}Td5%@Nx~X*TPb+2;R-R*^DulEd|p+>v)l%Jm#s6oKS^|RSWsOG%?V*| zv|ukBsJ}Ab;|QJ%Ck*5f*&}XHEhrklb7FOXtRmaRfxKh-jr#eC9>l&hvMO}-`n?QW zeOzY&unAOc2uj-%)(|r;m4!BY{l*yu#+`V&i`pr%9W%%hLU>hPBC;Y5%2xVj>E@0A>+ewd#Z620;MqVmqp*9PM?BW zB)PJZFK#vIDdaPZ+!4|(weNeE+ke*wmjf81ERt%HiQCP#fZtg-NmA+hB+mV-O2ckA zqIhi|4^8K`42--w$a|GYh@9Kh__2Q@k7q?)x&MZv)l6M0TCs&{1!xU}gpIeHBXB-5 zdNV&RW05`eTRZZhLGxW=o^*m7X(gZsg&&dm-@(_lQwba3850|pu+16 zI{YV z7tMP*zoftsYMBL(q3M(iQxOpu0Fv05cjOgoQ?}4LZa;c5{^gEd=2t5c!4@jkj89C&t~>57ol#xH zU23I$aTb+j=ox1EK_H1YIag(L7gM8uUHM=J(eriLGohB$Epu6QRuhig{yRD^+}CxW zRj|RV04qX)!ZJGWdC%B8s@xwConN0LU0mZ5cRt@5y#V%7)goAmLN=zy*rE&X!$z6V zj$&sU5dNmOx$s7D2EXnh^BpP=btng#4m0b)bD>i zL8p?ZkizYJT7SZq(!a%amYvO&GO8+K70$7i3$#3WV|rjiQuj7<*mkpZLw{a<1XRC1 zXT>YmY0Z-qE!gSHpkO8Lkg=ace$lTqQAa+_HQXU++F#gVOuMbWG`sryxZ4A$t9R9Zw4OJbLY9;H4 F{{iW1-=hEk literal 0 HcmV?d00001 diff --git a/icons/108x108/harbour-tooter.png b/icons/108x108/harbour-tooter.png deleted file mode 100644 index c500c5eba77203cc01ab4e798abfd4c50f89138f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7842 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 LCR;6S9`=6#9T_(` diff --git a/icons/172x172/harbour-tooter-beta.png b/icons/172x172/harbour-tooter-beta.png new file mode 100644 index 0000000000000000000000000000000000000000..864b9612b49c5e906b08e402fbbd2a8ca02cfa18 GIT binary patch literal 29995 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%0A16`Y<5*EuC+ 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 literal 0 HcmV?d00001 diff --git a/icons/172x172/harbour-tooter.png b/icons/172x172/harbour-tooter.png deleted file mode 100644 index bf5fa10411a2d87fa4c1a568be0155cdbc112006..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13966 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 diff --git a/icons/256x256/harbour-tooter-beta.png b/icons/256x256/harbour-tooter-beta.png new file mode 100644 index 0000000000000000000000000000000000000000..57e06474df5b1b950a855455f457b232d9102fc4 GIT binary patch literal 32266 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

ejo)XK;rS-G$@}iqCSTRb&>Z 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 macros # << macros @@ -14,12 +14,12 @@ Name: harbour-tooter %{?qtc_builddir:%define _builddir %qtc_builddir} Summary: Tooter Version: 1.0.4 -Release: 1 +Release: 2 Group: Qt/Qt License: LICENSE URL: http://example.org/ Source0: %{name}-%{version}.tar.bz2 -Source100: harbour-tooter.yaml +Source100: harbour-tooter-beta.yaml Requires: sailfishsilica-qt5 >= 0.10.9 BuildRequires: pkgconfig(sailfishapp) >= 1.0.2 BuildRequires: pkgconfig(Qt5Core) diff --git a/rpm/harbour-tooter-beta.yaml b/rpm/harbour-tooter-beta.yaml index ba2791a..d6f1b12 100644 --- a/rpm/harbour-tooter-beta.yaml +++ b/rpm/harbour-tooter-beta.yaml @@ -1,7 +1,7 @@ Name: harbour-tooter-beta Summary: Tooter Version: 1.0.4 -Release: 1 +Release: 2 # 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 diff --git a/src/harbour-tooter.cpp b/src/harbour-tooter-beta.cpp similarity index 94% rename from src/harbour-tooter.cpp rename to src/harbour-tooter-beta.cpp index 6ebfd40..77605e9 100644 --- a/src/harbour-tooter.cpp +++ b/src/harbour-tooter-beta.cpp @@ -36,7 +36,7 @@ int main(int argc, char *argv[]) Dbus *dbus = new Dbus(); view->rootContext()->setContextProperty("Dbus", dbus); - view->setSource(SailfishApp::pathTo("qml/harbour-tooter.qml")); + view->setSource(SailfishApp::pathTo("qml/harbour-tooter-beta.qml")); view->show(); return app->exec(); } diff --git a/translations/harbour-tooter-de.ts b/translations/harbour-tooter-beta-de.ts similarity index 100% rename from translations/harbour-tooter-de.ts rename to translations/harbour-tooter-beta-de.ts diff --git a/translations/harbour-tooter-el.ts b/translations/harbour-tooter-beta-el.ts similarity index 100% rename from translations/harbour-tooter-el.ts rename to translations/harbour-tooter-beta-el.ts diff --git a/translations/harbour-tooter-es.ts b/translations/harbour-tooter-beta-es.ts similarity index 100% rename from translations/harbour-tooter-es.ts rename to translations/harbour-tooter-beta-es.ts diff --git a/translations/harbour-tooter-fi.ts b/translations/harbour-tooter-beta-fi.ts similarity index 100% rename from translations/harbour-tooter-fi.ts rename to translations/harbour-tooter-beta-fi.ts diff --git a/translations/harbour-tooter-fr.ts b/translations/harbour-tooter-beta-fr.ts similarity index 100% rename from translations/harbour-tooter-fr.ts rename to translations/harbour-tooter-beta-fr.ts diff --git a/translations/harbour-tooter-it.ts b/translations/harbour-tooter-beta-it.ts similarity index 100% rename from translations/harbour-tooter-it.ts rename to translations/harbour-tooter-beta-it.ts diff --git a/translations/harbour-tooter-nl.ts b/translations/harbour-tooter-beta-nl.ts similarity index 100% rename from translations/harbour-tooter-nl.ts rename to translations/harbour-tooter-beta-nl.ts diff --git a/translations/harbour-tooter-nl_BE.ts b/translations/harbour-tooter-beta-nl_BE.ts similarity index 100% rename from translations/harbour-tooter-nl_BE.ts rename to translations/harbour-tooter-beta-nl_BE.ts diff --git a/translations/harbour-tooter-oc.ts b/translations/harbour-tooter-beta-oc.ts similarity index 100% rename from translations/harbour-tooter-oc.ts rename to translations/harbour-tooter-beta-oc.ts diff --git a/translations/harbour-tooter-pl.ts b/translations/harbour-tooter-beta-pl.ts similarity index 100% rename from translations/harbour-tooter-pl.ts rename to translations/harbour-tooter-beta-pl.ts diff --git a/translations/harbour-tooter-ru.ts b/translations/harbour-tooter-beta-ru.ts similarity index 100% rename from translations/harbour-tooter-ru.ts rename to translations/harbour-tooter-beta-ru.ts diff --git a/translations/harbour-tooter-sr.ts b/translations/harbour-tooter-beta-sr.ts similarity index 100% rename from translations/harbour-tooter-sr.ts rename to translations/harbour-tooter-beta-sr.ts diff --git a/translations/harbour-tooter-sv.ts b/translations/harbour-tooter-beta-sv.ts similarity index 100% rename from translations/harbour-tooter-sv.ts rename to translations/harbour-tooter-beta-sv.ts diff --git a/translations/harbour-tooter-zh_CN.ts b/translations/harbour-tooter-beta-zh_CN.ts similarity index 100% rename from translations/harbour-tooter-zh_CN.ts rename to translations/harbour-tooter-beta-zh_CN.ts diff --git a/translations/harbour-tooter-beta.ts b/translations/harbour-tooter-beta.ts new file mode 100644 index 0000000..33843dc --- /dev/null +++ b/translations/harbour-tooter-beta.ts @@ -0,0 +1,411 @@ + + + + + API + + + favourited + + + + + followed you + + + + + boosted + + + + + + said + + + + + Conversation + + + Conversation + + + + + Write your warning here + + + + + What's on your mind? + + + + + Delete + + + + + Public + + + + + Unlisted + + + + + Followers-only + + + + + Direct + + + + + Emojis + + + + + Tap to insert + + + + + ImageFullScreen + + + Error loading + + + + + ImageUploader + + + The file %1 does not exists + + + + + LoginPage + + + Login + + + + + Instance + + + + + Enter a valid Mastodon instance URL + + + + + 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. + + + + + Reload + + + + + MainPage + + + Home + + + + + Notifications + + + + + Local + + + + + Federated + + + + + Search + + + + + @user or #term + + + + + New Toot + + + + + MiniStatus + + + boosted + + + + + favourited + + + + + followed you + + + + + MyList + + + Loading + + + + + please wait... + + + + + Settings + + + + + Load more + + + + + Profile + + + Summary + + + + + Followers + + + + + Following + + + + + Statuses + + + + + Favourites + + + + + Unfollow + + + + + Follow request sent! + + + + + Follow + + + + + Unmute + + + + + Mute + + + + + Unblock + + + + + Block + + + + + Bio + + + + + Open Profile in Browser + + + + + Settings + + + Settings + + + + + Remove Account + + + + + Add Account + + + + + Deauthorize this app and remove your account + + + + + Authorize this app to access your Mastodon account + + + + + Load images in toots + + + + + Disable this option if you want to preserve your data connection + + + + + Translate + + + + + Use Transifex to help with app translation to your language + + + + + Credits + + + + + UI/UX design and development + + + + + Visual identity + + + + + Development and translations + + + + + Occitan & French translation + + + + + Chinese translation + + + + + Dutch translation + + + + + Spanish translation + + + + + Added README file + + + + + Toot + + + boosted + + + + + favourited + + + + + followed you + + + + + VisualContainer + + + Unboost + + + + + Boost + + + + + Unfavorite + + + + + Favorite + + + + From b611b6d3521d3589e76c4e6459a780b4d3338d50 Mon Sep 17 00:00:00 2001 From: molan-git <59296158+molan-git@users.noreply.github.com> Date: Fri, 1 May 2020 12:24:42 +0200 Subject: [PATCH 087/110] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 80dde6d..edc3673 100644 --- a/README.md +++ b/README.md @@ -11,7 +11,7 @@ Releases from this forked repository can be found here: https://openrepos.net/co Clone / download this repository and import it in your SailfishOS IDE using the harbour-tooter.pro project file. No additional configuration needed. ## Repository branches: -- master: default +- master: default (Beta release version) - develop: commits WIP - upstream: commits for Tooter release From bd87353166274cc4a9bb117ff001e5c11ae534ec Mon Sep 17 00:00:00 2001 From: molan-git Date: Mon, 4 May 2020 09:26:41 +0200 Subject: [PATCH 088/110] tooterb release --- ...rvice => ba.dysko.harbour.tooterb.service} | 0 ...ooter.xml => ba.dysko.harbour.tooterb.xml} | 0 ...beta.png => icon-lock-harbour-tooterb.png} | Bin ...y.conf => x-harbour.tooterb.activity.conf} | 0 ...er-beta.desktop => harbour-tooterb.desktop | 4 +- ...our-tooter-beta.pro => harbour-tooterb.pro | 56 +-- ...ur-tooter-beta.png => harbour-tooterb.png} | Bin ...ur-tooter-beta.png => harbour-tooterb.png} | Bin ...ur-tooter-beta.png => harbour-tooterb.png} | Bin ...ur-tooter-beta.png => harbour-tooterb.png} | Bin ...ur-tooter-beta.png => harbour-tooterb.png} | Bin ...ur-tooter-beta.qml => harbour-tooterb.qml} | 0 qml/lib/API.js | 10 +- qml/pages/Conversation.qml | 14 +- qml/pages/Profile.qml | 11 +- qml/pages/Settings.qml | 1 - qml/pages/components/MiniHeader.qml | 6 +- qml/pages/components/MyList.qml | 1 - qml/pages/components/ProfileHeader.qml | 15 +- qml/pages/components/VisualContainer.qml | 4 +- ...r-beta.changes => harbour-tooterb.changes} | 0 ....run.in => harbour-tooterb.changes.run.in} | 0 ...-tooter-beta.spec => harbour-tooterb.spec} | 6 +- ...-tooter-beta.yaml => harbour-tooterb.yaml} | 4 +- src/dbus.cpp | 2 +- src/dbusAdaptor.cpp | 14 +- src/dbusAdaptor.h | 10 +- ...ur-tooter-beta.cpp => harbour-tooterb.cpp} | 4 +- src/notifications.cpp | 16 +- translations/harbour-tooter.ts | 336 ------------------ ...ooter-beta-de.ts => harbour-tooterb-de.ts} | 4 - ...ooter-beta-el.ts => harbour-tooterb-el.ts} | 4 - ...ooter-beta-es.ts => harbour-tooterb-es.ts} | 0 ...ooter-beta-fi.ts => harbour-tooterb-fi.ts} | 4 - ...ooter-beta-fr.ts => harbour-tooterb-fr.ts} | 4 - ...ooter-beta-it.ts => harbour-tooterb-it.ts} | 75 ++-- ...ooter-beta-nl.ts => harbour-tooterb-nl.ts} | 4 - ...beta-nl_BE.ts => harbour-tooterb-nl_BE.ts} | 4 - ...ooter-beta-oc.ts => harbour-tooterb-oc.ts} | 4 - ...ooter-beta-pl.ts => harbour-tooterb-pl.ts} | 4 - ...ooter-beta-ru.ts => harbour-tooterb-ru.ts} | 4 - ...ooter-beta-sr.ts => harbour-tooterb-sr.ts} | 4 - ...ooter-beta-sv.ts => harbour-tooterb-sv.ts} | 4 - ...beta-zh_CN.ts => harbour-tooterb-zh_CN.ts} | 4 - ...bour-tooter-beta.ts => harbour-tooterb.ts} | 75 ++-- 45 files changed, 159 insertions(+), 553 deletions(-) rename config/{ba.dysko.harbour.tooter.service => ba.dysko.harbour.tooterb.service} (100%) rename config/{ba.dysko.harbour.tooter.xml => ba.dysko.harbour.tooterb.xml} (100%) rename config/{icon-lock-harbour-tooter-beta.png => icon-lock-harbour-tooterb.png} (100%) rename config/{x-harbour.tooter.activity.conf => x-harbour.tooterb.activity.conf} (100%) rename harbour-tooter-beta.desktop => harbour-tooterb.desktop (84%) rename harbour-tooter-beta.pro => harbour-tooterb.pro (63%) rename icons/108x108/{harbour-tooter-beta.png => harbour-tooterb.png} (100%) rename icons/128x128/{harbour-tooter-beta.png => harbour-tooterb.png} (100%) rename icons/172x172/{harbour-tooter-beta.png => harbour-tooterb.png} (100%) rename icons/256x256/{harbour-tooter-beta.png => harbour-tooterb.png} (100%) rename icons/86x86/{harbour-tooter-beta.png => harbour-tooterb.png} (100%) rename qml/{harbour-tooter-beta.qml => harbour-tooterb.qml} (100%) rename rpm/{harbour-tooter-beta.changes => harbour-tooterb.changes} (100%) rename rpm/{harbour-tooter-beta.changes.run.in => harbour-tooterb.changes.run.in} (100%) rename rpm/{harbour-tooter-beta.spec => harbour-tooterb.spec} (94%) rename rpm/{harbour-tooter-beta.yaml => harbour-tooterb.yaml} (97%) rename src/{harbour-tooter-beta.cpp => harbour-tooterb.cpp} (87%) delete mode 100644 translations/harbour-tooter.ts rename translations/{harbour-tooter-beta-de.ts => harbour-tooterb-de.ts} (98%) rename translations/{harbour-tooter-beta-el.ts => harbour-tooterb-el.ts} (98%) rename translations/{harbour-tooter-beta-es.ts => harbour-tooterb-es.ts} (100%) rename translations/{harbour-tooter-beta-fi.ts => harbour-tooterb-fi.ts} (98%) rename translations/{harbour-tooter-beta-fr.ts => harbour-tooterb-fr.ts} (98%) rename translations/{harbour-tooter-beta-it.ts => harbour-tooterb-it.ts} (86%) rename translations/{harbour-tooter-beta-nl.ts => harbour-tooterb-nl.ts} (98%) rename translations/{harbour-tooter-beta-nl_BE.ts => harbour-tooterb-nl_BE.ts} (98%) rename translations/{harbour-tooter-beta-oc.ts => harbour-tooterb-oc.ts} (98%) rename translations/{harbour-tooter-beta-pl.ts => harbour-tooterb-pl.ts} (98%) rename translations/{harbour-tooter-beta-ru.ts => harbour-tooterb-ru.ts} (99%) rename translations/{harbour-tooter-beta-sr.ts => harbour-tooterb-sr.ts} (98%) rename translations/{harbour-tooter-beta-sv.ts => harbour-tooterb-sv.ts} (98%) rename translations/{harbour-tooter-beta-zh_CN.ts => harbour-tooterb-zh_CN.ts} (98%) rename translations/{harbour-tooter-beta.ts => harbour-tooterb.ts} (86%) diff --git a/config/ba.dysko.harbour.tooter.service b/config/ba.dysko.harbour.tooterb.service similarity index 100% rename from config/ba.dysko.harbour.tooter.service rename to config/ba.dysko.harbour.tooterb.service diff --git a/config/ba.dysko.harbour.tooter.xml b/config/ba.dysko.harbour.tooterb.xml similarity index 100% rename from config/ba.dysko.harbour.tooter.xml rename to config/ba.dysko.harbour.tooterb.xml diff --git a/config/icon-lock-harbour-tooter-beta.png b/config/icon-lock-harbour-tooterb.png similarity index 100% rename from config/icon-lock-harbour-tooter-beta.png rename to config/icon-lock-harbour-tooterb.png diff --git a/config/x-harbour.tooter.activity.conf b/config/x-harbour.tooterb.activity.conf similarity index 100% rename from config/x-harbour.tooter.activity.conf rename to config/x-harbour.tooterb.activity.conf diff --git a/harbour-tooter-beta.desktop b/harbour-tooterb.desktop similarity index 84% rename from harbour-tooter-beta.desktop rename to harbour-tooterb.desktop index ef6c948..74cc312 100644 --- a/harbour-tooter-beta.desktop +++ b/harbour-tooterb.desktop @@ -1,8 +1,8 @@ [Desktop Entry] Type=Application X-Nemo-Application-Type=silica-qt5 -Icon=harbour-tooter-beta -Exec=harbour-tooter-beta +Icon=harbour-tooterb +Exec=harbour-tooterb Name=Tooter β # translation example: # your app name in German locale (de) diff --git a/harbour-tooter-beta.pro b/harbour-tooterb.pro similarity index 63% rename from harbour-tooter-beta.pro rename to harbour-tooterb.pro index d6d0268..27b3bd3 100644 --- a/harbour-tooter-beta.pro +++ b/harbour-tooterb.pro @@ -10,7 +10,7 @@ # - translation filenames have to be changed # The name of your application -TARGET = harbour-tooter-beta +TARGET = harbour-tooterb CONFIG += sailfishapp @@ -24,23 +24,23 @@ DEFINES += "APPVERSION=\\\"$${SPECVERSION}\\\"" DEFINES += "APPNAME=\\\"$${TARGET}\\\"" !exists( src/dbusAdaptor.h ) { - system(qdbusxml2cpp config/ba.dysko.harbour.tooter.xml -i dbus.h -a src/dbusAdaptor) + system(qdbusxml2cpp config/ba.dysko.harbour.tooterb.xml -i dbus.h -a src/dbusAdaptor) } config.path = /usr/share/$${TARGET}/config/ config.files = config/icon-lock-harbour-tooter.png notification_categories.path = /usr/share/lipstick/notificationcategories -notification_categories.files = config/x-harbour.tooter.activity.* +notification_categories.files = config/x-harbour.tooterb.activity.* dbus_services.path = /usr/share/dbus-1/services/ -dbus_services.files = config/ba.dysko.harbour.tooter.service +dbus_services.files = config/ba.dysko.harbour.tooterb.service interfaces.path = /usr/share/dbus-1/interfaces/ -interfaces.files = config/ba.dysko.harbour.tooter.xml +interfaces.files = config/ba.dysko.harbour.tooterb.xml SOURCES += \ - src/harbour-tooter-beta.cpp + src/harbour-tooterb.cpp SOURCES += src/imageuploader.cpp SOURCES += src/filedownloader.cpp SOURCES += src/notifications.cpp @@ -53,8 +53,8 @@ HEADERS += src/notifications.h HEADERS += src/dbusAdaptor.h HEADERS += src/dbus.h -DISTFILES += qml/harbour-tooter-beta.qml \ - config/icon-lock-harbour-tooter-beta.png \ +DISTFILES += qml/harbour-tooterb.qml \ + config/icon-lock-harbour-tooterb.png \ qml/pages/components/VisualContainer.qml \ qml/pages/components/MiniStatus.qml \ qml/pages/components/MiniHeader.qml \ @@ -83,13 +83,13 @@ DISTFILES += qml/harbour-tooter-beta.qml \ qml/images/icon-l-profile.svg \ qml/lib/Mastodon.js \ qml/lib/Worker.js \ - config/x-harbour.tooter.activity.conf \ - rpm/harbour-tooter-beta.changes \ - rpm/harbour-tooter-beta.changes.run.in \ - rpm/harbour-tooter-beta.spec \ - rpm/harbour-tooter-beta.yaml \ + config/x-harbour.tooterb.activity.conf \ + rpm/harbour-tooterb.changes \ + rpm/harbour-tooterb.changes.run.in \ + rpm/harbour-tooterb.spec \ + rpm/harbour-tooterb.yaml \ translations/*.ts \ - harbour-tooter-beta.desktop + harbour-tooterb.desktop \ SAILFISHAPP_ICONS = 86x86 108x108 128x128 172x172 @@ -101,17 +101,17 @@ CONFIG += sailfishapp_i18n # planning to localize your app, remember to comment out the # following TRANSLATIONS line. And also do not forget to # modify the localized app name in the the .desktop file. -TRANSLATIONS += translations/harbour-tooter-beta-de.ts -TRANSLATIONS += translations/harbour-tooter-beta-el.ts -TRANSLATIONS += translations/harbour-tooter-beta-es.ts -TRANSLATIONS += translations/harbour-tooter-beta-fi.ts -TRANSLATIONS += translations/harbour-tooter-beta-fr.ts -TRANSLATIONS += translations/harbour-tooter-beta-nl.ts -TRANSLATIONS += translations/harbour-tooter-beta-nl_BE.ts -TRANSLATIONS += translations/harbour-tooter-beta-oc.ts -TRANSLATIONS += translations/harbour-tooter-beta-pl.ts -TRANSLATIONS += translations/harbour-tooter-beta-ru.ts -TRANSLATIONS += translations/harbour-tooter-beta-sr.ts -TRANSLATIONS += translations/harbour-tooter-beta-sv.ts -TRANSLATIONS += translations/harbour-tooter-beta-zh_CN.ts -TRANSLATIONS += translations/harbour-tooter-beta-it.ts +TRANSLATIONS += translations/harbour-tooterb-de.ts +TRANSLATIONS += translations/harbour-tooterb-el.ts +TRANSLATIONS += translations/harbour-tooterb-es.ts +TRANSLATIONS += translations/harbour-tooterb-fi.ts +TRANSLATIONS += translations/harbour-tooterb-fr.ts +TRANSLATIONS += translations/harbour-tooterb-nl.ts +TRANSLATIONS += translations/harbour-tooterb-nl_BE.ts +TRANSLATIONS += translations/harbour-tooterb-oc.ts +TRANSLATIONS += translations/harbour-tooterb-pl.ts +TRANSLATIONS += translations/harbour-tooterb-ru.ts +TRANSLATIONS += translations/harbour-tooterb-sr.ts +TRANSLATIONS += translations/harbour-tooterb-sv.ts +TRANSLATIONS += translations/harbour-tooterb-zh_CN.ts +TRANSLATIONS += translations/harbour-tooterb-it.ts diff --git a/icons/108x108/harbour-tooter-beta.png b/icons/108x108/harbour-tooterb.png similarity index 100% rename from icons/108x108/harbour-tooter-beta.png rename to icons/108x108/harbour-tooterb.png diff --git a/icons/128x128/harbour-tooter-beta.png b/icons/128x128/harbour-tooterb.png similarity index 100% rename from icons/128x128/harbour-tooter-beta.png rename to icons/128x128/harbour-tooterb.png diff --git a/icons/172x172/harbour-tooter-beta.png b/icons/172x172/harbour-tooterb.png similarity index 100% rename from icons/172x172/harbour-tooter-beta.png rename to icons/172x172/harbour-tooterb.png diff --git a/icons/256x256/harbour-tooter-beta.png b/icons/256x256/harbour-tooterb.png similarity index 100% rename from icons/256x256/harbour-tooter-beta.png rename to icons/256x256/harbour-tooterb.png diff --git a/icons/86x86/harbour-tooter-beta.png b/icons/86x86/harbour-tooterb.png similarity index 100% rename from icons/86x86/harbour-tooter-beta.png rename to icons/86x86/harbour-tooterb.png diff --git a/qml/harbour-tooter-beta.qml b/qml/harbour-tooterb.qml similarity index 100% rename from qml/harbour-tooter-beta.qml rename to qml/harbour-tooterb.qml diff --git a/qml/lib/API.js b/qml/lib/API.js index c12523e..f930c0c 100644 --- a/qml/lib/API.js +++ b/qml/lib/API.js @@ -1,7 +1,7 @@ .pragma library .import QtQuick.LocalStorage 2.0 as LS -var db = LS.LocalStorage.openDatabaseSync("tooter", "", "harbour-tooter-beta", 100000); +var db = LS.LocalStorage.openDatabaseSync("tooterb", "", "harbour-tooterb", 100000); var conf = {}; var mediator = (function(){ var subscribe = function(channel, fn){ @@ -118,17 +118,17 @@ var notificationGenerator = function(item){ var notification; switch (item.urgency){ case "normal": - notification = Qt.createQmlObject('import org.nemomobile.notifications 1.0; Notification { category: "x-harbour.tooter.activity"; appName: "Tooter"; itemCount: 1; remoteActions: [ { "name": "default", "displayName": "Do something", "icon": "icon-s-certificates", "service": "ba.dysko.harbour.tooter", "path": "/", "iface": "ba.dysko.harbour.tooter", "method": "openapp", "arguments": [ "'+item.service+'", "'+item.key+'" ] }]; urgency: Notification.Normal; }', Qt.application, 'InternalQmlObject'); + notification = Qt.createQmlObject('import org.nemomobile.notifications 1.0; Notification { category: "x-harbour.tooterb.activity"; appName: "Tooter β"; itemCount: 1; remoteActions: [ { "name": "default", "displayName": "Do something", "icon": "icon-s-certificates", "service": "ba.dysko.harbour.tooterb", "path": "/", "iface": "ba.dysko.harbour.tooterb", "method": "openapp", "arguments": [ "'+item.service+'", "'+item.key+'" ] }]; urgency: Notification.Normal; }', Qt.application, 'InternalQmlObject'); break; case "critical": - notification = Qt.createQmlObject('import org.nemomobile.notifications 1.0; Notification { appName: "Tooter"; itemCount: 1; remoteActions: [ { "name": "default", "displayName": "Do something", "icon": "icon-s-certificates", "service": "ba.dysko.harbour.tooter", "path": "/", "iface": "ba.dysko.harbour.tooter", "method": "openapp", "arguments": [ "'+item.service+'", "'+item.key+'" ] }]; urgency: Notification.Critical; }', Qt.application, 'InternalQmlObject'); + notification = Qt.createQmlObject('import org.nemomobile.notifications 1.0; Notification { appName: "Tooter β"; itemCount: 1; remoteActions: [ { "name": "default", "displayName": "Do something", "icon": "icon-s-certificates", "service": "ba.dysko.harbour.tooterb", "path": "/", "iface": "ba.dysko.harbour.tooterb", "method": "openapp", "arguments": [ "'+item.service+'", "'+item.key+'" ] }]; urgency: Notification.Critical; }', Qt.application, 'InternalQmlObject'); break; default: - notification = Qt.createQmlObject('import org.nemomobile.notifications 1.0; Notification { category: "x-harbour.tooter.activity"; appName: "Tooter"; itemCount: 1; remoteActions: [ { "name": "default", "displayName": "Do something", "icon": "icon-s-certificates", "service": "ba.dysko.harbour.tooter", "path": "/", "iface": "ba.dysko.harbour.tooter", "method": "openapp", "arguments": [ "'+item.service+'", "'+item.key+'" ] }]; urgency: Notification.Low; }', Qt.application, 'InternalQmlObject'); + notification = Qt.createQmlObject('import org.nemomobile.notifications 1.0; Notification { category: "x-harbour.tooterb.activity"; appName: "Tooter β"; itemCount: 1; remoteActions: [ { "name": "default", "displayName": "Do something", "icon": "icon-s-certificates", "service": "ba.dysko.harbour.tooterb", "path": "/", "iface": "ba.dysko.harbour.tooterb", "method": "openapp", "arguments": [ "'+item.service+'", "'+item.key+'" ] }]; urgency: Notification.Low; }', Qt.application, 'InternalQmlObject'); } console.log(JSON.stringify(notification.remoteActions[0].arguments)) - //Notifications.notify("Tooter", "serverinfo.serverTitle", " new activity", false, "2015-10-15 00:00:00", "aaa") + //Notifications.notify("Tooter β", "serverinfo.serverTitle", " new activity", false, "2015-10-15 00:00:00", "aaa") notification.timestamp = item.timestamp notification.summary = item.summary diff --git a/qml/pages/Conversation.qml b/qml/pages/Conversation.qml index fce4817..d68f597 100644 --- a/qml/pages/Conversation.qml +++ b/qml/pages/Conversation.qml @@ -1,13 +1,13 @@ import QtQuick 2.0 import Sailfish.Silica 1.0 -import harbour.tooter.Uploader 1.0 +import harbour.tooterb.Uploader 1.0 import "../lib/API.js" as Logic import "./components/" Page { id: conversationPage property string type - property alias title: header.title + property alias title: header.title property alias description: header.description property alias avatar: header.image property string suggestedUser: "" @@ -61,10 +61,10 @@ Page { } SilicaListView { id: conversationList - header: PageHeader { - title: qsTr("Conversation") + header: PageHeader { + title: qsTr("Conversation") } - clip: true + clip: true anchors { top: parent.top bottom: panel.top @@ -157,7 +157,6 @@ Page { Rectangle { id: progressBar width: toot.text.length ? panel.width * (toot.text.length / tootMaxChar) : 0 - height: Theme.itemSizeSmall * 0.05 color: Theme.highlightBackgroundColor opacity: 0.7 @@ -211,6 +210,7 @@ Page { //height: implicitHeight horizontalAlignment: Text.AlignLeft placeholderText: qsTr("What's on your mind?") + font.pixelSize: Theme.fontSizeSmall EnterKey.onClicked: { //tweet() } @@ -606,7 +606,7 @@ Page { Label { anchors.centerIn: parent color: (highlighted ? Theme.secondaryHighlightColor : Theme.secondaryColor) - font.pixelSize: Theme.fontSizeLarge + font.pixelSize: Theme.fontSizeLarge text: glyph } onClicked: { diff --git a/qml/pages/Profile.qml b/qml/pages/Profile.qml index d7b8e42..02bbf4b 100644 --- a/qml/pages/Profile.qml +++ b/qml/pages/Profile.qml @@ -9,6 +9,7 @@ Page { property string display_name : ""; property string username : ""; property string profileImage : ""; + property string discoverable : ""; property int user_id; property int statuses_count; property int following_count; @@ -19,7 +20,6 @@ Page { property string profile_background: ""; property string note: ""; property string url: ""; - property bool locked : false; property date created_at; property bool following : false; @@ -134,14 +134,12 @@ Page { } } - - MyList { id: list header: ProfileHeader { id: header title: display_name - description: '@'+username + description: username image: profileImage } @@ -251,7 +249,6 @@ Page { Text { x: Theme.horizontalPageMargin width: parent.width - ( 2 * Theme.horizontalPageMargin ) - id: txtnote text: note font.pixelSize: Theme.fontSizeExtraSmall color: Theme.secondaryColor @@ -274,23 +271,19 @@ Page { return check; })); send(link) - } else if (test.length === 4 && test[3][0] === "@" ) { tlSearch.search = decodeURIComponent("@"+test[3].substring(1)+"@"+test[2]) slideshow.positionViewAtIndex(4, ListView.SnapToItem) navigation.navigateTo('search') - } else { Qt.openUrlExternally(link); } } - } Column { spacing: Theme.paddingMedium anchors.horizontalCenter: parent.horizontalCenter Button { - id: btnUrl text: qsTr("Open Profile in Browser") onClicked: { Qt.openUrlExternally(url); diff --git a/qml/pages/Settings.qml b/qml/pages/Settings.qml index 00d6874..88a3651 100644 --- a/qml/pages/Settings.qml +++ b/qml/pages/Settings.qml @@ -1,6 +1,5 @@ import QtQuick 2.0 import Sailfish.Silica 1.0 - import "../lib/API.js" as Logic Page { diff --git a/qml/pages/components/MiniHeader.qml b/qml/pages/components/MiniHeader.qml index 34140a9..6a9f6f9 100644 --- a/qml/pages/components/MiniHeader.qml +++ b/qml/pages/components/MiniHeader.qml @@ -12,7 +12,11 @@ Item { left: parent.left leftMargin: Theme.paddingMedium } - text: account_display_name + text: + if (account_display_name === "") { + account_username.split('@')[0] + } + else account_display_name width: contentWidth > parent.width /2 ? parent.width /2 : contentWidth truncationMode: TruncationMode.Fade font.weight: Font.Bold diff --git a/qml/pages/components/MyList.qml b/qml/pages/components/MyList.qml index b2f0626..27acc24 100644 --- a/qml/pages/components/MyList.qml +++ b/qml/pages/components/MyList.qml @@ -122,7 +122,6 @@ SilicaListView { } } onContentYChanged: { - if (Math.abs(contentY - scrollOffset) > Theme.itemSizeMedium) { openDrawer(contentY - scrollOffset > 0 ? false : true ) scrollOffset = contentY diff --git a/qml/pages/components/ProfileHeader.qml b/qml/pages/components/ProfileHeader.qml index 54b9874..6a0c983 100644 --- a/qml/pages/components/ProfileHeader.qml +++ b/qml/pages/components/ProfileHeader.qml @@ -7,7 +7,7 @@ Item { property string title: ""; property string description: ""; property string image: ""; - property string bg: ""; + //property string bg: ""; width: parent.width height: icon.height + Theme.paddingLarge*2 /*Image { @@ -54,9 +54,14 @@ Item { } Label { id: ttl - text: title + //text: title + text: + if (title === "") { + description.split('@')[0] + } + else title height: contentHeight - color: Theme.primaryColor + color: Theme.highlightColor font.pixelSize: Theme.fontSizeLarge font.family: Theme.fontFamilyHeading horizontalAlignment: Text.AlignRight @@ -65,8 +70,8 @@ Item { } Label { height: description === "" ? 0 : contentHeight - text: description - color: Theme.secondaryColor + text: "@"+description + color: Theme.secondaryHighlightColor font.pixelSize: Theme.fontSizeSmall font.family: Theme.fontFamilyHeading horizontalAlignment: Text.AlignRight diff --git a/qml/pages/components/VisualContainer.qml b/qml/pages/components/VisualContainer.qml index a7bc245..e96af80 100644 --- a/qml/pages/components/VisualContainer.qml +++ b/qml/pages/components/VisualContainer.qml @@ -133,11 +133,11 @@ BackgroundItem { return check; })); send(link) + // temporary solution for access to user profiles via toots } else if (test.length === 4 && test[3][0] === "@" ) { tlSearch.search = decodeURIComponent("@"+test[3].substring(1)+"@"+test[2]) slideshow.positionViewAtIndex(4, ListView.SnapToItem) navigation.navigateTo('search') - } else { Qt.openUrlExternally(link); } @@ -146,7 +146,7 @@ BackgroundItem { linkColor : Theme.highlightColor wrapMode: Text.WordWrap textFormat: Text.StyledText - font.pixelSize: Theme.fontSizeSmall + font.pixelSize: Theme.fontSizeExtraSmall color: (pressed ? Theme.highlightColor : (!highlight ? Theme.primaryColor : Theme.secondaryColor)) Rectangle { anchors.fill: parent diff --git a/rpm/harbour-tooter-beta.changes b/rpm/harbour-tooterb.changes similarity index 100% rename from rpm/harbour-tooter-beta.changes rename to rpm/harbour-tooterb.changes diff --git a/rpm/harbour-tooter-beta.changes.run.in b/rpm/harbour-tooterb.changes.run.in similarity index 100% rename from rpm/harbour-tooter-beta.changes.run.in rename to rpm/harbour-tooterb.changes.run.in diff --git a/rpm/harbour-tooter-beta.spec b/rpm/harbour-tooterb.spec similarity index 94% rename from rpm/harbour-tooter-beta.spec rename to rpm/harbour-tooterb.spec index a4c1571..b7a3aa7 100644 --- a/rpm/harbour-tooter-beta.spec +++ b/rpm/harbour-tooterb.spec @@ -3,7 +3,7 @@ # Generated by: spectacle version 0.27 # -Name: harbour-tooter-beta +Name: harbour-tooterb # >> macros # << macros @@ -12,14 +12,14 @@ Name: harbour-tooter-beta %{!?qtc_qmake5:%define qtc_qmake5 %qmake5} %{!?qtc_make:%define qtc_make make} %{?qtc_builddir:%define _builddir %qtc_builddir} -Summary: Tooter +Summary: Tooter β Version: 1.0.4 Release: 2 Group: Qt/Qt License: LICENSE URL: http://example.org/ Source0: %{name}-%{version}.tar.bz2 -Source100: harbour-tooter-beta.yaml +Source100: harbour-tooterb.yaml Requires: sailfishsilica-qt5 >= 0.10.9 BuildRequires: pkgconfig(sailfishapp) >= 1.0.2 BuildRequires: pkgconfig(Qt5Core) diff --git a/rpm/harbour-tooter-beta.yaml b/rpm/harbour-tooterb.yaml similarity index 97% rename from rpm/harbour-tooter-beta.yaml rename to rpm/harbour-tooterb.yaml index d6f1b12..3908ac2 100644 --- a/rpm/harbour-tooter-beta.yaml +++ b/rpm/harbour-tooterb.yaml @@ -1,5 +1,5 @@ -Name: harbour-tooter-beta -Summary: Tooter +Name: harbour-tooterb +Summary: Tooter β Version: 1.0.4 Release: 2 # The contents of the Group field should be one of the groups listed here: diff --git a/src/dbus.cpp b/src/dbus.cpp index e221b9b..1135741 100644 --- a/src/dbus.cpp +++ b/src/dbus.cpp @@ -7,7 +7,7 @@ Dbus::Dbus(QObject *parent) : QObject(parent) { m_dbusRegistered = false; - new TooterAdaptor(this); + new TooterbAdaptor(this); registerDBus(); } diff --git a/src/dbusAdaptor.cpp b/src/dbusAdaptor.cpp index d607136..99a3876 100644 --- a/src/dbusAdaptor.cpp +++ b/src/dbusAdaptor.cpp @@ -18,30 +18,30 @@ #include /* - * Implementation of adaptor class TooterAdaptor + * Implementation of adaptor class TooterbAdaptor */ -TooterAdaptor::TooterAdaptor(QObject *parent) +TooterbAdaptor::TooterbAdaptor(QObject *parent) : QDBusAbstractAdaptor(parent) { // constructor setAutoRelaySignals(true); } -TooterAdaptor::~TooterAdaptor() +TooterbAdaptor::~TooterbAdaptor() { // destructor } -void TooterAdaptor::openapp() +void TooterbAdaptor::openapp() { - // handle method call ba.dysko.harbour.tooter.openapp + // handle method call ba.dysko.harbour.tooterb.openapp QMetaObject::invokeMethod(parent(), "openapp"); } -void TooterAdaptor::showtoot(const QStringList &key) +void TooterbAdaptor::showtoot(const QStringList &key) { - // handle method call ba.dysko.harbour.tooter.showtoot + // handle method call ba.dysko.harbour.tooterb.showtoot QMetaObject::invokeMethod(parent(), "showtoot", Q_ARG(QStringList, key)); } diff --git a/src/dbusAdaptor.h b/src/dbusAdaptor.h index c65d635..e8ca064 100644 --- a/src/dbusAdaptor.h +++ b/src/dbusAdaptor.h @@ -27,12 +27,12 @@ QT_END_NAMESPACE /* * Adaptor class for interface com.kimmoli.harbour.maira */ -class TooterAdaptor: public QDBusAbstractAdaptor +class TooterbAdaptor: public QDBusAbstractAdaptor { Q_OBJECT - Q_CLASSINFO("D-Bus Interface", "ba.dysko.harbour.tooter") + Q_CLASSINFO("D-Bus Interface", "ba.dysko.harbour.tooterb") Q_CLASSINFO("D-Bus Introspection", "" -" \n" +" \n" " \n" " \n" " \n" @@ -41,8 +41,8 @@ class TooterAdaptor: public QDBusAbstractAdaptor " \n" "") public: - TooterAdaptor(QObject *parent); - virtual ~TooterAdaptor(); + TooterbAdaptor(QObject *parent); + virtual ~TooterbAdaptor(); public: // PROPERTIES public Q_SLOTS: // METHODS diff --git a/src/harbour-tooter-beta.cpp b/src/harbour-tooterb.cpp similarity index 87% rename from src/harbour-tooter-beta.cpp rename to src/harbour-tooterb.cpp index 77605e9..80c8a37 100644 --- a/src/harbour-tooter-beta.cpp +++ b/src/harbour-tooterb.cpp @@ -27,7 +27,7 @@ int main(int argc, char *argv[]) FileDownloader *fd = new FileDownloader(engine); view->rootContext()->setContextProperty("FileDownloader", fd); - qmlRegisterType("harbour.tooter.Uploader", 1, 0, "ImageUploader"); + qmlRegisterType("harbour.tooterb.Uploader", 1, 0, "ImageUploader"); Notifications *no = new Notifications(); view->rootContext()->setContextProperty("Notifications", no); @@ -36,7 +36,7 @@ int main(int argc, char *argv[]) Dbus *dbus = new Dbus(); view->rootContext()->setContextProperty("Dbus", dbus); - view->setSource(SailfishApp::pathTo("qml/harbour-tooter-beta.qml")); + view->setSource(SailfishApp::pathTo("qml/harbour-tooterb.qml")); view->show(); return app->exec(); } diff --git a/src/notifications.cpp b/src/notifications.cpp index 8234e1f..f7d3e15 100644 --- a/src/notifications.cpp +++ b/src/notifications.cpp @@ -24,14 +24,14 @@ void Notifications::notify(QString appName, QString summary, QString body, bool { notif.setPreviewSummary(summary); notif.setPreviewBody(body); - notif.setCategory("x-harbour.tooter.activity"); + notif.setCategory("x-harbour.tooterb.activity"); if (issuekey.isEmpty()) { remoteactions << Notification::remoteAction("default", QString(), - "ba.dysko.habour.tooter", + "ba.dysko.habour.tooterb", "/", - "ba.dysko.habour.tooter", + "ba.dysko.habour.tooterb", "openapp", QVariantList()); } @@ -42,12 +42,12 @@ void Notifications::notify(QString appName, QString summary, QString body, bool notif.setSummary(summary); notif.setBody(body); notif.setItemCount(1); - notif.setCategory("x-harbour.tooter.activity"); + notif.setCategory("x-harbour.tooterb.activity"); remoteactions << Notification::remoteAction("app", QString(), - "ba.dysko.habour.tooter", + "ba.dysko.habour.tooterb", "/", - "ba.dysko.habour.tooter", + "ba.dysko.habour.tooterb", "openapp", QVariantList()); } @@ -64,9 +64,9 @@ void Notifications::notify(QString appName, QString summary, QString body, bool remoteactions << Notification::remoteAction("default", QString(), - "ba.dysko.habour.tooter", + "ba.dysko.habour.tooterb", "/", - "ba.dysko.habour.tooter", + "ba.dysko.habour.tooterb", "showtoot", args); } diff --git a/translations/harbour-tooter.ts b/translations/harbour-tooter.ts deleted file mode 100644 index b119e7e..0000000 --- a/translations/harbour-tooter.ts +++ /dev/null @@ -1,336 +0,0 @@ - - - - - API - - favourited - favourited - - - followed you - followed you - - - boosted - boosted - - - said - said - - - - Conversation - - Conversation - Conversation - - - Delete - Delete - - - Emojis - Emojis - - - Tap to insert - Tap to insert - - - Write your warning here - - - - Public - - - - Unlisted - - - - Followers-only - - - - Direct - - - - What's on your mind? - - - - - ImageFullScreen - - Error loading - - - - - ImageUploader - - The file %1 does not exists - - - - - LoginPage - - Login - - - - Instance - - - - Enter a valid Mastodon instance URL - - - - 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. - - - - Reload - - - - - MainPage - - Home - - - - Notifications - - - - New Toot - - - - Search - - - - @user or #term - - - - Local - - - - Federated - - - - - MiniStatus - - boosted - boosted - - - favourited - favourited - - - followed you - followed you - - - - MyList - - Load more - Load more - - - Settings - Settings - - - Loading - - - - please wait... - - - - - Profile - - Unfollow - Unfollow - - - Follow request sent! - Follow request sent! - - - Following - Following - - - Mute - Mute - - - Unmute - Unmute - - - Unblock - Unblock - - - Block - Block - - - Statuses - Statuses - - - Favourites - Favourites - - - Follow - Follow - - - Summary - Summary - - - Followers - Followers - - - Bio - - - - Open Profile in Browser - - - - - Settings - - Settings - Settings - - - Remove Account - - - - Add Account - - - - Deauthorize this app and remove your account - - - - Authorize this app to access your Mastodon account - - - - Disable this option if you want to preserve your data connection - - - - Credits - - - - UI/UX design and development - - - - Visual identity - - - - Occitan & French translation - - - - Dutch translation - - - - Spanish translation - - - - Added README file - - - - Chinese translation - - - - Load images in toots - - - - Translate - - - - Use Transifex to help with app translation to your language - - - - Development and translations - - - - - Toot - - boosted - boosted - - - favourited - favourited - - - followed you - followed you - - - - VisualContainer - - Unboost - - - - Boost - - - - Unfavorite - - - - Favorite - - - - diff --git a/translations/harbour-tooter-beta-de.ts b/translations/harbour-tooterb-de.ts similarity index 98% rename from translations/harbour-tooter-beta-de.ts rename to translations/harbour-tooterb-de.ts index d2a2c44..d4f2d4b 100644 --- a/translations/harbour-tooter-beta-de.ts +++ b/translations/harbour-tooterb-de.ts @@ -22,10 +22,6 @@ Conversation - - Conversation - Konversation - Delete Löschen diff --git a/translations/harbour-tooter-beta-el.ts b/translations/harbour-tooterb-el.ts similarity index 98% rename from translations/harbour-tooter-beta-el.ts rename to translations/harbour-tooterb-el.ts index 6f47211..134dd37 100644 --- a/translations/harbour-tooter-beta-el.ts +++ b/translations/harbour-tooterb-el.ts @@ -22,10 +22,6 @@ Conversation - - Conversation - Συνομιλία - Delete Διαγραφή diff --git a/translations/harbour-tooter-beta-es.ts b/translations/harbour-tooterb-es.ts similarity index 100% rename from translations/harbour-tooter-beta-es.ts rename to translations/harbour-tooterb-es.ts diff --git a/translations/harbour-tooter-beta-fi.ts b/translations/harbour-tooterb-fi.ts similarity index 98% rename from translations/harbour-tooter-beta-fi.ts rename to translations/harbour-tooterb-fi.ts index f1444ea..7278cb0 100644 --- a/translations/harbour-tooter-beta-fi.ts +++ b/translations/harbour-tooterb-fi.ts @@ -22,10 +22,6 @@ Conversation - - Conversation - - Delete diff --git a/translations/harbour-tooter-beta-fr.ts b/translations/harbour-tooterb-fr.ts similarity index 98% rename from translations/harbour-tooter-beta-fr.ts rename to translations/harbour-tooterb-fr.ts index 520174c..2b7781b 100644 --- a/translations/harbour-tooter-beta-fr.ts +++ b/translations/harbour-tooterb-fr.ts @@ -22,10 +22,6 @@ Conversation - - Conversation - Conversation - Delete Supprimer diff --git a/translations/harbour-tooter-beta-it.ts b/translations/harbour-tooterb-it.ts similarity index 86% rename from translations/harbour-tooter-beta-it.ts rename to translations/harbour-tooterb-it.ts index 7f50712..fbb2e2c 100644 --- a/translations/harbour-tooter-beta-it.ts +++ b/translations/harbour-tooterb-it.ts @@ -28,17 +28,12 @@ Conversation - - Conversation - Conversazione - - - + Write your warning here Contenuto avviso - + What's on your mind? A cosa stai pensando? @@ -155,7 +150,7 @@ @utente o #termine - + New Toot Nuovo toot @@ -204,72 +199,72 @@ Profile - + Summary Sintesi - + Followers Seguaci - + Following Segue - + Statuses Toots - + Favourites Apprezzati - + Unfollow Smetti di seguire - + Follow request sent! Richiesta di seguito inviata! - + Follow Segui - + Unmute Non silenziare - + Mute Silenzia - + Unblock Sblocca - + Block Blocca - + Bio Biografia - + Open Profile in Browser Aprire profile nel browser @@ -277,92 +272,92 @@ Settings - + Settings Impostazione - + Remove Account Rimozione del account - + Add Account Aggiungi account - + Deauthorize this app and remove your account Annullare l'autorizzazione dell'app e rimuovere l'account - + Authorize this app to access your Mastodon account Autorizzare l'app all'utilizzo del conto Mastodon - + Load images in toots Caricare immagini nei toots - + Disable this option if you want to preserve your data connection Disabilitare questa opzione per conservare connessione dati - + Translate Tradurre - + Use Transifex to help with app translation to your language Utilizzare Transifex per aiutare nella traduzione dell'app - + Credits Sviluppo - + UI/UX design and development Design UI/UX e sviluppo - + Visual identity Identità visiva - + Development and translations Sviluppo e traduzioni - + Occitan & French translation Traduzione francese e occitanica - + Chinese translation Traduzione cinese - + Dutch translation Traduzione olandese - + Spanish translation Traduzione spagnola - + Added README file Aggiunto file README diff --git a/translations/harbour-tooter-beta-nl.ts b/translations/harbour-tooterb-nl.ts similarity index 98% rename from translations/harbour-tooter-beta-nl.ts rename to translations/harbour-tooterb-nl.ts index 6ff67ed..5b5a61d 100644 --- a/translations/harbour-tooter-beta-nl.ts +++ b/translations/harbour-tooterb-nl.ts @@ -22,10 +22,6 @@ Conversation - - Conversation - Gesprek - Delete Verwijderen diff --git a/translations/harbour-tooter-beta-nl_BE.ts b/translations/harbour-tooterb-nl_BE.ts similarity index 98% rename from translations/harbour-tooter-beta-nl_BE.ts rename to translations/harbour-tooterb-nl_BE.ts index cf8d937..e3c2b0b 100644 --- a/translations/harbour-tooter-beta-nl_BE.ts +++ b/translations/harbour-tooterb-nl_BE.ts @@ -22,10 +22,6 @@ Conversation - - Conversation - Gesprek - Delete Verwijderen diff --git a/translations/harbour-tooter-beta-oc.ts b/translations/harbour-tooterb-oc.ts similarity index 98% rename from translations/harbour-tooter-beta-oc.ts rename to translations/harbour-tooterb-oc.ts index 2bb86d9..1c1cf1c 100644 --- a/translations/harbour-tooter-beta-oc.ts +++ b/translations/harbour-tooterb-oc.ts @@ -22,10 +22,6 @@ Conversation - - Conversation - Discutida - Delete Escafar diff --git a/translations/harbour-tooter-beta-pl.ts b/translations/harbour-tooterb-pl.ts similarity index 98% rename from translations/harbour-tooter-beta-pl.ts rename to translations/harbour-tooterb-pl.ts index 952b1b2..b54efba 100644 --- a/translations/harbour-tooter-beta-pl.ts +++ b/translations/harbour-tooterb-pl.ts @@ -22,10 +22,6 @@ Conversation - - Conversation - Konwersacja - Delete Usuń diff --git a/translations/harbour-tooter-beta-ru.ts b/translations/harbour-tooterb-ru.ts similarity index 99% rename from translations/harbour-tooter-beta-ru.ts rename to translations/harbour-tooterb-ru.ts index 277a582..ef5908d 100644 --- a/translations/harbour-tooter-beta-ru.ts +++ b/translations/harbour-tooterb-ru.ts @@ -22,10 +22,6 @@ Conversation - - Conversation - Беседа - Delete Удалить diff --git a/translations/harbour-tooter-beta-sr.ts b/translations/harbour-tooterb-sr.ts similarity index 98% rename from translations/harbour-tooter-beta-sr.ts rename to translations/harbour-tooterb-sr.ts index 3091e3e..b304747 100644 --- a/translations/harbour-tooter-beta-sr.ts +++ b/translations/harbour-tooterb-sr.ts @@ -22,10 +22,6 @@ Conversation - - Conversation - Разговор - Delete Обриши diff --git a/translations/harbour-tooter-beta-sv.ts b/translations/harbour-tooterb-sv.ts similarity index 98% rename from translations/harbour-tooter-beta-sv.ts rename to translations/harbour-tooterb-sv.ts index 43b1866..2597eb2 100644 --- a/translations/harbour-tooter-beta-sv.ts +++ b/translations/harbour-tooterb-sv.ts @@ -22,10 +22,6 @@ Conversation - - Conversation - Konversation - Delete Radera diff --git a/translations/harbour-tooter-beta-zh_CN.ts b/translations/harbour-tooterb-zh_CN.ts similarity index 98% rename from translations/harbour-tooter-beta-zh_CN.ts rename to translations/harbour-tooterb-zh_CN.ts index 04ddc89..672c02b 100644 --- a/translations/harbour-tooter-beta-zh_CN.ts +++ b/translations/harbour-tooterb-zh_CN.ts @@ -22,10 +22,6 @@ Conversation - - Conversation - 对话 - Delete 删除 diff --git a/translations/harbour-tooter-beta.ts b/translations/harbour-tooterb.ts similarity index 86% rename from translations/harbour-tooter-beta.ts rename to translations/harbour-tooterb.ts index 33843dc..c573656 100644 --- a/translations/harbour-tooter-beta.ts +++ b/translations/harbour-tooterb.ts @@ -28,17 +28,12 @@ Conversation - - Conversation - - - - + Write your warning here - + What's on your mind? @@ -155,7 +150,7 @@ - + New Toot @@ -204,72 +199,72 @@ Profile - + Summary - + Followers - + Following - + Statuses - + Favourites - + Unfollow - + Follow request sent! - + Follow - + Unmute - + Mute - + Unblock - + Block - + Bio - + Open Profile in Browser @@ -277,92 +272,92 @@ Settings - + Settings - + Remove Account - + Add Account - + Deauthorize this app and remove your account - + Authorize this app to access your Mastodon account - + Load images in toots - + Disable this option if you want to preserve your data connection - + Translate - + Use Transifex to help with app translation to your language - + Credits - + UI/UX design and development - + Visual identity - + Development and translations - + Occitan & French translation - + Chinese translation - + Dutch translation - + Spanish translation - + Added README file From aa24e1646d74391c6b6b192f6ba1c52bd7c52fa5 Mon Sep 17 00:00:00 2001 From: molan-git Date: Mon, 4 May 2020 09:42:23 +0200 Subject: [PATCH 089/110] Update ProfileHeader.qml --- qml/pages/components/ProfileHeader.qml | 1 - 1 file changed, 1 deletion(-) diff --git a/qml/pages/components/ProfileHeader.qml b/qml/pages/components/ProfileHeader.qml index 6a0c983..2183842 100644 --- a/qml/pages/components/ProfileHeader.qml +++ b/qml/pages/components/ProfileHeader.qml @@ -54,7 +54,6 @@ Item { } Label { id: ttl - //text: title text: if (title === "") { description.split('@')[0] From eb14c94dc835060823ae784334e37267293b9e0e Mon Sep 17 00:00:00 2001 From: molan-git <59296158+molan-git@users.noreply.github.com> Date: Mon, 4 May 2020 10:07:10 +0200 Subject: [PATCH 090/110] Fix empty profil title If no display name is provided, use user account name. --- qml/pages/components/ProfileHeader.qml | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/qml/pages/components/ProfileHeader.qml b/qml/pages/components/ProfileHeader.qml index 54b9874..d7c087d 100644 --- a/qml/pages/components/ProfileHeader.qml +++ b/qml/pages/components/ProfileHeader.qml @@ -54,7 +54,11 @@ Item { } Label { id: ttl - text: title + text: + if (title === "") { + description.split('@')[0] + } + else title height: contentHeight color: Theme.primaryColor font.pixelSize: Theme.fontSizeLarge From f492be89f1a8b3991b4b98ddde888e8b376940f9 Mon Sep 17 00:00:00 2001 From: molan-git <59296158+molan-git@users.noreply.github.com> Date: Mon, 4 May 2020 10:10:35 +0200 Subject: [PATCH 091/110] Update Conversation.qml Adjusted font-size for user input (toots) --- qml/pages/Conversation.qml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/qml/pages/Conversation.qml b/qml/pages/Conversation.qml index fce4817..5da692c 100644 --- a/qml/pages/Conversation.qml +++ b/qml/pages/Conversation.qml @@ -209,8 +209,9 @@ Page { 0) == '#') ? description + ' ' : '' height: Math.max(270, Math.min(900, implicitHeight)) //height: implicitHeight - horizontalAlignment: Text.AlignLeft + horizontalAlignment: Text.AlignLeft placeholderText: qsTr("What's on your mind?") + font.pixelSize: Theme.fontSizeSmall EnterKey.onClicked: { //tweet() } From 231c4d6e199d71f96e7d1b8b79134608dd52b13e Mon Sep 17 00:00:00 2001 From: molan-git <59296158+molan-git@users.noreply.github.com> Date: Mon, 4 May 2020 10:14:10 +0200 Subject: [PATCH 092/110] Fix empty profil title If no display name is provided, use user account name (in ProfileHeader.qml) --- qml/pages/Profile.qml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/qml/pages/Profile.qml b/qml/pages/Profile.qml index d7b8e42..6d56f44 100644 --- a/qml/pages/Profile.qml +++ b/qml/pages/Profile.qml @@ -141,7 +141,7 @@ Page { header: ProfileHeader { id: header title: display_name - description: '@'+username + description: username image: profileImage } From 4a03433ccbd37c56eca341e6c67b18cbac375507 Mon Sep 17 00:00:00 2001 From: molan-git <59296158+molan-git@users.noreply.github.com> Date: Mon, 4 May 2020 10:15:34 +0200 Subject: [PATCH 093/110] Update ProfileHeader.qml --- qml/pages/components/ProfileHeader.qml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/qml/pages/components/ProfileHeader.qml b/qml/pages/components/ProfileHeader.qml index d7c087d..72208f7 100644 --- a/qml/pages/components/ProfileHeader.qml +++ b/qml/pages/components/ProfileHeader.qml @@ -56,7 +56,7 @@ Item { id: ttl text: if (title === "") { - description.split('@')[0] + description.split('')[0] } else title height: contentHeight From a51acf949969b0a58d8f3cc3ac85dcfeee53151e Mon Sep 17 00:00:00 2001 From: molan-git <59296158+molan-git@users.noreply.github.com> Date: Mon, 4 May 2020 10:16:04 +0200 Subject: [PATCH 094/110] Fix empty profile title If no display name is provided, use user account name. --- qml/pages/components/ProfileHeader.qml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/qml/pages/components/ProfileHeader.qml b/qml/pages/components/ProfileHeader.qml index 72208f7..d7c087d 100644 --- a/qml/pages/components/ProfileHeader.qml +++ b/qml/pages/components/ProfileHeader.qml @@ -56,7 +56,7 @@ Item { id: ttl text: if (title === "") { - description.split('')[0] + description.split('@')[0] } else title height: contentHeight From 97fc84f0c7378dcc138caf05ffaa42145a57bbeb Mon Sep 17 00:00:00 2001 From: molan-git <59296158+molan-git@users.noreply.github.com> Date: Mon, 4 May 2020 10:16:43 +0200 Subject: [PATCH 095/110] Update Profile.qml --- qml/pages/Profile.qml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/qml/pages/Profile.qml b/qml/pages/Profile.qml index 6d56f44..1bd5976 100644 --- a/qml/pages/Profile.qml +++ b/qml/pages/Profile.qml @@ -141,7 +141,7 @@ Page { header: ProfileHeader { id: header title: display_name - description: username + description: username image: profileImage } From ac26d6772bbf6a4c6093ea2cf222c065752c3b04 Mon Sep 17 00:00:00 2001 From: molan-git <59296158+molan-git@users.noreply.github.com> Date: Mon, 4 May 2020 10:17:10 +0200 Subject: [PATCH 096/110] Fix empty profile title If no display name is provided, use user account name. --- qml/pages/Profile.qml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/qml/pages/Profile.qml b/qml/pages/Profile.qml index 1bd5976..6d56f44 100644 --- a/qml/pages/Profile.qml +++ b/qml/pages/Profile.qml @@ -141,7 +141,7 @@ Page { header: ProfileHeader { id: header title: display_name - description: username + description: username image: profileImage } From ba39f51a5e63cb750b609f6552ad545e3ada52e5 Mon Sep 17 00:00:00 2001 From: molan-git <59296158+molan-git@users.noreply.github.com> Date: Mon, 4 May 2020 10:20:09 +0200 Subject: [PATCH 097/110] Fix empty display/user name If no display_name is profided, use username (without @instance) --- qml/pages/components/MiniHeader.qml | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/qml/pages/components/MiniHeader.qml b/qml/pages/components/MiniHeader.qml index 34140a9..6a9f6f9 100644 --- a/qml/pages/components/MiniHeader.qml +++ b/qml/pages/components/MiniHeader.qml @@ -12,7 +12,11 @@ Item { left: parent.left leftMargin: Theme.paddingMedium } - text: account_display_name + text: + if (account_display_name === "") { + account_username.split('@')[0] + } + else account_display_name width: contentWidth > parent.width /2 ? parent.width /2 : contentWidth truncationMode: TruncationMode.Fade font.weight: Font.Bold From 4832ab50f47f6dc10e0b49958bfff09fd9bed2cb Mon Sep 17 00:00:00 2001 From: molan-git <59296158+molan-git@users.noreply.github.com> Date: Mon, 4 May 2020 10:24:30 +0200 Subject: [PATCH 098/110] Fix empty profile title If no display name is provided, use user account name. --- qml/pages/components/ProfileHeader.qml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/qml/pages/components/ProfileHeader.qml b/qml/pages/components/ProfileHeader.qml index d7c087d..ac76884 100644 --- a/qml/pages/components/ProfileHeader.qml +++ b/qml/pages/components/ProfileHeader.qml @@ -60,7 +60,7 @@ Item { } else title height: contentHeight - color: Theme.primaryColor + color: Theme.highlightColor font.pixelSize: Theme.fontSizeLarge font.family: Theme.fontFamilyHeading horizontalAlignment: Text.AlignRight @@ -70,7 +70,7 @@ Item { Label { height: description === "" ? 0 : contentHeight text: description - color: Theme.secondaryColor + color: Theme.secondaryHighlightColor font.pixelSize: Theme.fontSizeSmall font.family: Theme.fontFamilyHeading horizontalAlignment: Text.AlignRight From 4a0cf8b08007a0ee583dc4739a0bbd405f3a660f Mon Sep 17 00:00:00 2001 From: molan-git <59296158+molan-git@users.noreply.github.com> Date: Mon, 4 May 2020 10:29:05 +0200 Subject: [PATCH 099/110] Sync with upstream branch --- qml/pages/Conversation.qml | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/qml/pages/Conversation.qml b/qml/pages/Conversation.qml index d68f597..5da692c 100644 --- a/qml/pages/Conversation.qml +++ b/qml/pages/Conversation.qml @@ -1,13 +1,13 @@ import QtQuick 2.0 import Sailfish.Silica 1.0 -import harbour.tooterb.Uploader 1.0 +import harbour.tooter.Uploader 1.0 import "../lib/API.js" as Logic import "./components/" Page { id: conversationPage property string type - property alias title: header.title + property alias title: header.title property alias description: header.description property alias avatar: header.image property string suggestedUser: "" @@ -61,10 +61,10 @@ Page { } SilicaListView { id: conversationList - header: PageHeader { - title: qsTr("Conversation") + header: PageHeader { + title: qsTr("Conversation") } - clip: true + clip: true anchors { top: parent.top bottom: panel.top @@ -157,6 +157,7 @@ Page { Rectangle { id: progressBar width: toot.text.length ? panel.width * (toot.text.length / tootMaxChar) : 0 + height: Theme.itemSizeSmall * 0.05 color: Theme.highlightBackgroundColor opacity: 0.7 @@ -208,9 +209,9 @@ Page { 0) == '#') ? description + ' ' : '' height: Math.max(270, Math.min(900, implicitHeight)) //height: implicitHeight - horizontalAlignment: Text.AlignLeft + horizontalAlignment: Text.AlignLeft placeholderText: qsTr("What's on your mind?") - font.pixelSize: Theme.fontSizeSmall + font.pixelSize: Theme.fontSizeSmall EnterKey.onClicked: { //tweet() } @@ -606,7 +607,7 @@ Page { Label { anchors.centerIn: parent color: (highlighted ? Theme.secondaryHighlightColor : Theme.secondaryColor) - font.pixelSize: Theme.fontSizeLarge + font.pixelSize: Theme.fontSizeLarge text: glyph } onClicked: { From d94931bdff447b0612e0aafec48bf5b48db56d26 Mon Sep 17 00:00:00 2001 From: molan-git <59296158+molan-git@users.noreply.github.com> Date: Mon, 4 May 2020 10:30:25 +0200 Subject: [PATCH 100/110] Update Conversation.qml --- qml/pages/Conversation.qml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/qml/pages/Conversation.qml b/qml/pages/Conversation.qml index 5da692c..0f03534 100644 --- a/qml/pages/Conversation.qml +++ b/qml/pages/Conversation.qml @@ -1,6 +1,6 @@ import QtQuick 2.0 import Sailfish.Silica 1.0 -import harbour.tooter.Uploader 1.0 +import harbour.tooterb.Uploader 1.0 import "../lib/API.js" as Logic import "./components/" From 8f87b85026e36997bd875a267bdeac41c30b2cb3 Mon Sep 17 00:00:00 2001 From: molan-git <59296158+molan-git@users.noreply.github.com> Date: Mon, 4 May 2020 11:48:29 +0200 Subject: [PATCH 101/110] Icon alignment fixes --- qml/pages/Conversation.qml | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/qml/pages/Conversation.qml b/qml/pages/Conversation.qml index 5da692c..3de2497 100644 --- a/qml/pages/Conversation.qml +++ b/qml/pages/Conversation.qml @@ -209,9 +209,9 @@ Page { 0) == '#') ? description + ' ' : '' height: Math.max(270, Math.min(900, implicitHeight)) //height: implicitHeight - horizontalAlignment: Text.AlignLeft + horizontalAlignment: Text.AlignLeft placeholderText: qsTr("What's on your mind?") - font.pixelSize: Theme.fontSizeSmall + font.pixelSize: Theme.fontSizeSmall EnterKey.onClicked: { //tweet() } @@ -306,7 +306,8 @@ Page { id: btnContentWarning anchors { - verticalCenter: privacy.verticalCenter + top: toot.bottom + topMargin: -Theme.paddingSmall * 1.5 left: parent.left leftMargin: Theme.paddingMedium } @@ -318,7 +319,8 @@ Page { id: btnAddImage enabled: mediaModel.count < 4 anchors { - verticalCenter: privacy.verticalCenter + top: toot.bottom + topMargin: -Theme.paddingSmall * 1.5 left: btnContentWarning.right leftMargin: Theme.paddingSmall } @@ -364,7 +366,7 @@ Page { id: privacy anchors { top: toot.bottom - topMargin: -Theme.paddingSmall * 2 + topMargin: -Theme.paddingSmall * 1.5 left: btnAddImage.right right: btnSend.left } @@ -390,6 +392,7 @@ Page { + (pressed ? Theme.highlightColor : Theme.primaryColor) anchors { top: toot.bottom + topMargin: -Theme.paddingSmall * 2 right: parent.right rightMargin: Theme.paddingSmall } From 7b0ff5f760da04397dc077c2169cfb5ae3bd62b6 Mon Sep 17 00:00:00 2001 From: molan-git Date: Mon, 4 May 2020 14:55:52 +0200 Subject: [PATCH 102/110] Fix anchors text toot --- qml/pages/Conversation.qml | 8 ++++---- translations/harbour-tooter-it.ts | 14 +++++++------- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/qml/pages/Conversation.qml b/qml/pages/Conversation.qml index 3de2497..1f02857 100644 --- a/qml/pages/Conversation.qml +++ b/qml/pages/Conversation.qml @@ -157,7 +157,6 @@ Page { Rectangle { id: progressBar width: toot.text.length ? panel.width * (toot.text.length / tootMaxChar) : 0 - height: Theme.itemSizeSmall * 0.05 color: Theme.highlightBackgroundColor opacity: 0.7 @@ -179,6 +178,7 @@ Page { } autoScrollEnabled: true labelVisible: false + font.pixelSize: Theme.fontSizeSmall placeholderText: qsTr("Write your warning here") placeholderColor: palette.highlightColor color: palette.highlightColor @@ -198,8 +198,8 @@ Page { top: warningContent.bottom topMargin: Theme.paddingMedium left: parent.left - right: parent.right - rightMargin: Theme.paddingMedium + right: parent.right + rightMargin: Theme.paddingLarge * 2 } autoScrollEnabled: true labelVisible: false @@ -392,7 +392,7 @@ Page { + (pressed ? Theme.highlightColor : Theme.primaryColor) anchors { top: toot.bottom - topMargin: -Theme.paddingSmall * 2 + topMargin: -Theme.paddingSmall * 1.5 right: parent.right rightMargin: Theme.paddingSmall } diff --git a/translations/harbour-tooter-it.ts b/translations/harbour-tooter-it.ts index 7f50712..5df1b51 100644 --- a/translations/harbour-tooter-it.ts +++ b/translations/harbour-tooter-it.ts @@ -43,37 +43,37 @@ A cosa stai pensando? - + Delete Elimina - + Public Pubblico - + Unlisted Non elencato - + Followers-only Solo ai seguaci - + Direct Diretto - + Emojis Emojis - + Tap to insert Tap per inserire From 4cdb2f1540f92fc333fc95da4778d42e00e91065 Mon Sep 17 00:00:00 2001 From: molan-git Date: Mon, 4 May 2020 15:32:01 +0200 Subject: [PATCH 103/110] Update Conversation.qml --- qml/pages/Conversation.qml | 1 + 1 file changed, 1 insertion(+) diff --git a/qml/pages/Conversation.qml b/qml/pages/Conversation.qml index 1f02857..3fed799 100644 --- a/qml/pages/Conversation.qml +++ b/qml/pages/Conversation.qml @@ -243,6 +243,7 @@ Page { right: parent.right rightMargin: Theme.paddingSmall } + opacity: 0.8 icon.source: "../../qml/images/emojiselect.svg" + (pressed ? Theme.highlightColor : (warningContent.visible ? Theme.secondaryHighlightColor : Theme.primaryColor)) onClicked: pageStack.push(firstWizardPage) } From 556d2cfc8fe411d2769c4cc4adffd4b0529195ea Mon Sep 17 00:00:00 2001 From: molan-git <59296158+molan-git@users.noreply.github.com> Date: Mon, 4 May 2020 15:48:40 +0200 Subject: [PATCH 104/110] Add files via upload --- translations/harbour-tooterb-de.ts | 4 + translations/harbour-tooterb-el.ts | 4 + translations/harbour-tooterb-fi.ts | 4 + translations/harbour-tooterb-fr.ts | 4 + translations/harbour-tooterb-it.ts | 87 ++++---- translations/harbour-tooterb-nl.ts | 4 + translations/harbour-tooterb-nl_BE.ts | 4 + translations/harbour-tooterb-oc.ts | 4 + translations/harbour-tooterb-pl.ts | 4 + translations/harbour-tooterb-ru.ts | 4 + translations/harbour-tooterb-sr.ts | 4 + translations/harbour-tooterb-sv.ts | 4 + translations/harbour-tooterb-zh_CN.ts | 4 + translations/harbour-tooterb.ts | 296 ++++++++++---------------- 14 files changed, 207 insertions(+), 224 deletions(-) diff --git a/translations/harbour-tooterb-de.ts b/translations/harbour-tooterb-de.ts index d4f2d4b..d2a2c44 100644 --- a/translations/harbour-tooterb-de.ts +++ b/translations/harbour-tooterb-de.ts @@ -22,6 +22,10 @@ Conversation + + Conversation + Konversation + Delete Löschen diff --git a/translations/harbour-tooterb-el.ts b/translations/harbour-tooterb-el.ts index 134dd37..6f47211 100644 --- a/translations/harbour-tooterb-el.ts +++ b/translations/harbour-tooterb-el.ts @@ -22,6 +22,10 @@ Conversation + + Conversation + Συνομιλία + Delete Διαγραφή diff --git a/translations/harbour-tooterb-fi.ts b/translations/harbour-tooterb-fi.ts index 7278cb0..f1444ea 100644 --- a/translations/harbour-tooterb-fi.ts +++ b/translations/harbour-tooterb-fi.ts @@ -22,6 +22,10 @@ Conversation + + Conversation + + Delete diff --git a/translations/harbour-tooterb-fr.ts b/translations/harbour-tooterb-fr.ts index 2b7781b..520174c 100644 --- a/translations/harbour-tooterb-fr.ts +++ b/translations/harbour-tooterb-fr.ts @@ -22,6 +22,10 @@ Conversation + + Conversation + Conversation + Delete Supprimer diff --git a/translations/harbour-tooterb-it.ts b/translations/harbour-tooterb-it.ts index 929e61d..332bfef 100644 --- a/translations/harbour-tooterb-it.ts +++ b/translations/harbour-tooterb-it.ts @@ -28,12 +28,17 @@ Conversation - + + Conversation + Conversazione + + + Write your warning here Contenuto avviso - + What's on your mind? A cosa stai pensando? @@ -43,32 +48,32 @@ Elimina - + Public Pubblico - + Unlisted Non elencato - + Followers-only Solo ai seguaci - + Direct Diretto - + Emojis Emojis - + Tap to insert Tap per inserire @@ -150,7 +155,7 @@ @utente o #termine - + New Toot Nuovo toot @@ -199,72 +204,72 @@ Profile - + Summary Sintesi - + Followers Seguaci - + Following Segue - + Statuses Toots - + Favourites Apprezzati - + Unfollow Smetti di seguire - + Follow request sent! Richiesta di seguito inviata! - + Follow Segui - + Unmute Non silenziare - + Mute Silenzia - + Unblock Sblocca - + Block Blocca - + Bio Biografia - + Open Profile in Browser Aprire profile nel browser @@ -272,92 +277,92 @@ Settings - + Settings Impostazione - + Remove Account Rimozione del account - + Add Account Aggiungi account - + Deauthorize this app and remove your account Annullare l'autorizzazione dell'app e rimuovere l'account - + Authorize this app to access your Mastodon account Autorizzare l'app all'utilizzo del conto Mastodon - + Load images in toots Caricare immagini nei toots - + Disable this option if you want to preserve your data connection Disabilitare questa opzione per conservare connessione dati - + Translate Tradurre - + Use Transifex to help with app translation to your language Utilizzare Transifex per aiutare nella traduzione dell'app - + Credits Sviluppo - + UI/UX design and development Design UI/UX e sviluppo - + Visual identity Identità visiva - + Development and translations Sviluppo e traduzioni - + Occitan & French translation Traduzione francese e occitanica - + Chinese translation Traduzione cinese - + Dutch translation Traduzione olandese - + Spanish translation Traduzione spagnola - + Added README file Aggiunto file README diff --git a/translations/harbour-tooterb-nl.ts b/translations/harbour-tooterb-nl.ts index 5b5a61d..6ff67ed 100644 --- a/translations/harbour-tooterb-nl.ts +++ b/translations/harbour-tooterb-nl.ts @@ -22,6 +22,10 @@ Conversation + + Conversation + Gesprek + Delete Verwijderen diff --git a/translations/harbour-tooterb-nl_BE.ts b/translations/harbour-tooterb-nl_BE.ts index e3c2b0b..cf8d937 100644 --- a/translations/harbour-tooterb-nl_BE.ts +++ b/translations/harbour-tooterb-nl_BE.ts @@ -22,6 +22,10 @@ Conversation + + Conversation + Gesprek + Delete Verwijderen diff --git a/translations/harbour-tooterb-oc.ts b/translations/harbour-tooterb-oc.ts index 1c1cf1c..2bb86d9 100644 --- a/translations/harbour-tooterb-oc.ts +++ b/translations/harbour-tooterb-oc.ts @@ -22,6 +22,10 @@ Conversation + + Conversation + Discutida + Delete Escafar diff --git a/translations/harbour-tooterb-pl.ts b/translations/harbour-tooterb-pl.ts index b54efba..952b1b2 100644 --- a/translations/harbour-tooterb-pl.ts +++ b/translations/harbour-tooterb-pl.ts @@ -22,6 +22,10 @@ Conversation + + Conversation + Konwersacja + Delete Usuń diff --git a/translations/harbour-tooterb-ru.ts b/translations/harbour-tooterb-ru.ts index ef5908d..277a582 100644 --- a/translations/harbour-tooterb-ru.ts +++ b/translations/harbour-tooterb-ru.ts @@ -22,6 +22,10 @@ Conversation + + Conversation + Беседа + Delete Удалить diff --git a/translations/harbour-tooterb-sr.ts b/translations/harbour-tooterb-sr.ts index b304747..3091e3e 100644 --- a/translations/harbour-tooterb-sr.ts +++ b/translations/harbour-tooterb-sr.ts @@ -22,6 +22,10 @@ Conversation + + Conversation + Разговор + Delete Обриши diff --git a/translations/harbour-tooterb-sv.ts b/translations/harbour-tooterb-sv.ts index 2597eb2..43b1866 100644 --- a/translations/harbour-tooterb-sv.ts +++ b/translations/harbour-tooterb-sv.ts @@ -22,6 +22,10 @@ Conversation + + Conversation + Konversation + Delete Radera diff --git a/translations/harbour-tooterb-zh_CN.ts b/translations/harbour-tooterb-zh_CN.ts index 672c02b..04ddc89 100644 --- a/translations/harbour-tooterb-zh_CN.ts +++ b/translations/harbour-tooterb-zh_CN.ts @@ -22,6 +22,10 @@ Conversation + + Conversation + 对话 + Delete 删除 diff --git a/translations/harbour-tooterb.ts b/translations/harbour-tooterb.ts index c573656..b119e7e 100644 --- a/translations/harbour-tooterb.ts +++ b/translations/harbour-tooterb.ts @@ -4,115 +4,98 @@ API - favourited - + favourited - followed you - + followed you - boosted - + boosted - - said - + said Conversation - + Conversation + Conversation + + + Delete + Delete + + + Emojis + Emojis + + + Tap to insert + Tap to insert + + Write your warning here - - What's on your mind? - - - - - Delete - - - - Public - Unlisted - Followers-only - Direct - - Emojis - - - - - Tap to insert + What's on your mind? ImageFullScreen - Error loading - + ImageUploader - The file %1 does not exists - + LoginPage - Login - Instance - Enter a valid Mastodon instance URL - 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. - Reload @@ -120,151 +103,123 @@ MainPage - Home - + - Notifications - + - - Local - - - - - Federated - - - - - Search - - - - - @user or #term - - - - New Toot - + + + + Search + + + + @user or #term + + + + Local + + + + Federated + MiniStatus - boosted - + boosted - favourited - + favourited - followed you - + followed you MyList - - Loading - - - - - please wait... - - - - - Settings - - - - Load more - + Load more + + + Settings + Settings + + + Loading + + + + please wait... + Profile - - Summary - - - - - Followers - - - - - Following - - - - - Statuses - - - - - Favourites - - - - Unfollow - + Unfollow - Follow request sent! - + Follow request sent! - - Follow - + Following + Following - - Unmute - - - - Mute - + Mute + + + Unmute + Unmute - Unblock - + Unblock - Block - + Block + + + Statuses + Statuses + + + Favourites + Favourites + + + Follow + Follow + + + Summary + Summary + + + Followers + Followers - Bio - Open Profile in Browser @@ -272,133 +227,108 @@ Settings - Settings - + Settings - Remove Account - Add Account - Deauthorize this app and remove your account - Authorize this app to access your Mastodon account - - Load images in toots - - - - Disable this option if you want to preserve your data connection - - Translate - - - - - Use Transifex to help with app translation to your language - - - - Credits - UI/UX design and development - Visual identity - - Development and translations - - - - Occitan & French translation - - Chinese translation - - - - Dutch translation - Spanish translation - Added README file + + Chinese translation + + + + Load images in toots + + + + Translate + + + + Use Transifex to help with app translation to your language + + + + Development and translations + + Toot - boosted - + boosted - favourited - + favourited - followed you - + followed you VisualContainer - Unboost - Boost - Unfavorite - Favorite From 5d1d5f8627baff0c68f883b0c3acf919ae925d2d Mon Sep 17 00:00:00 2001 From: molan-git <59296158+molan-git@users.noreply.github.com> Date: Mon, 4 May 2020 15:49:54 +0200 Subject: [PATCH 105/110] Update README.md --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index edc3673..d43db48 100644 --- a/README.md +++ b/README.md @@ -3,9 +3,9 @@ ## About Tooter is Mastodon client for Sailfish OS. It is a free, open-source social network. A decentralized alternative to commercial platforms, it avoids the risks of a single company monopolizing your communication. -This fork is being used to further develop and maintain the Tooter app by dysko (https://github.com/dysk0/harbour-tooter). The development branch 'upstream' is being used to create pull requests from this fork. Releases by dysko can be found on the Jolla store and on https://openrepos.net/content/dysko/tooter +This fork is being used to further develop and maintain the Tooter app by dysko (https://github.com/dysk0/harbour-tooter). The development branch 'upstream' is being for merge requests with the original repository. Releases by dysko can be found on the Jolla store and on https://openrepos.net/content/dysko/tooter -Releases from this forked repository can be found here: https://openrepos.net/content/molan/tooter-fork. +Releases from this forked repository (branch 'master') can be found here: https://openrepos.net/content/molan/tooter-fork. ## Build Clone / download this repository and import it in your SailfishOS IDE using the harbour-tooter.pro project file. No additional configuration needed. From 1027a5fb7f4997871d6b4e472403d08af6368d0b Mon Sep 17 00:00:00 2001 From: molan-git <59296158+molan-git@users.noreply.github.com> Date: Mon, 4 May 2020 16:03:31 +0200 Subject: [PATCH 106/110] Update harbour-tooterb.pro --- harbour-tooterb.pro | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/harbour-tooterb.pro b/harbour-tooterb.pro index 27b3bd3..5d32a82 100644 --- a/harbour-tooterb.pro +++ b/harbour-tooterb.pro @@ -89,7 +89,7 @@ DISTFILES += qml/harbour-tooterb.qml \ rpm/harbour-tooterb.spec \ rpm/harbour-tooterb.yaml \ translations/*.ts \ - harbour-tooterb.desktop \ + harbour-tooterb.desktop SAILFISHAPP_ICONS = 86x86 108x108 128x128 172x172 From 665402228fe72f9b4269f7bed300271723908761 Mon Sep 17 00:00:00 2001 From: molan-git Date: Mon, 4 May 2020 16:04:10 +0200 Subject: [PATCH 107/110] Update harbour-tooter-it.ts --- translations/harbour-tooter-it.ts | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/translations/harbour-tooter-it.ts b/translations/harbour-tooter-it.ts index 5df1b51..6689a88 100644 --- a/translations/harbour-tooter-it.ts +++ b/translations/harbour-tooter-it.ts @@ -43,37 +43,37 @@ A cosa stai pensando? - + Delete Elimina - + Public Pubblico - + Unlisted Non elencato - + Followers-only Solo ai seguaci - + Direct Diretto - + Emojis Emojis - + Tap to insert Tap per inserire From 8ae7fb4c8bdd919bd4603406a7a18fcab1034e31 Mon Sep 17 00:00:00 2001 From: molan-git <59296158+molan-git@users.noreply.github.com> Date: Wed, 6 May 2020 16:02:20 +0200 Subject: [PATCH 108/110] tooterb commits --- config/icon-lock-harbour-tooterb.png | Bin 6284 -> 24051 bytes config/x-harbour.tooterb.activity.conf | 4 +- harbour-tooterb.pro | 4 +- harbour-tooterb.pro.user | 799 +++++++++++++++++++++++++ qml/cover/CoverPage.qml | 2 +- qml/images/tooterb.svg | 38 ++ rpm/harbour-tooterb.changes | 3 + rpm/harbour-tooterb.changes.run.in | 2 +- rpm/harbour-tooterb.spec | 2 +- rpm/harbour-tooterb.yaml | 2 +- src/dbus.h | 2 +- translations/harbour-tooterb-it.ts | 65 +- 12 files changed, 881 insertions(+), 42 deletions(-) create mode 100644 harbour-tooterb.pro.user create mode 100644 qml/images/tooterb.svg diff --git a/config/icon-lock-harbour-tooterb.png b/config/icon-lock-harbour-tooterb.png index 0ad7dfd17048d0e536a736eb3b80e34b1626cc0f..6a726e464cc5f81b9558837cd8e580931ffa14b0 100644 GIT binary patch literal 24051 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

ejo)XK;rS-G$@}iqCSTRb&>Z zC(0BV&ZC_8jSo#)(pMb6Q4tpmHg`QpC5{Zq3p*yVt~~TQ{$6^-Lg}*sO2tJJ%L0_9 zaP*f`9-dXm(hfzlr~B;@VQ;;%sSo@3b_FlYL|P@sM~z|+0m6)4r`WQchPa;2{|e z<}(-_VGUhzoHRMH7jogybTyf{W1D8RDxa+^$A>;b2w`_@kZDtDLCBi57HoG;_cLA% zWbEhC;~-CswyfbiLo-{W!A8|fJvCi+WZ1@<^woT!yC#>f@eO|Pk1p20jM9l&nO}|v zFdH3WTf_kkhLY?mQz%|yZYALwz^=zQM?l%YTWXf30c)%&XDW~|F& zwXY{%wWVw=W6q~g#2=+p;5d}Mq~W^{4Y3CvQ{OX*(Lhb7lmzWu<%;y!6cDziD+hOx<;L2 zi&wDi^9OJt({sW`6Pq{QwR5(qDurI2QE{1Q*9$4AQ&pQQZ_nHZtbF>^kPB^?6g^+x z+*9WRhA~T3A};7OnTU&SjO|<4xHHNy_}qxPgZ#B$H8o*i9p{@*Z4HFMHHteTkI6a2HR)j{6O*_0h9z-dcOrYQO?8-*i)pYH2dJA^8>)``|`!8~2 zX*n;*=J_6odDXDL2KEGL55wzmVLwLLv8OIyuc8}6ET#g2mnPZ&fPmGH_ zTWMW_Td>%3vx-{51-hrO`cP|qAUVV7@g`A)H9A1UNT9H$;<^oEMtVp=uS#5}?rFKz z=Z6igaPu{vX&m40eewzMV#ynX@2HwNc8Uq*O)-kGHHxE@Z>|km4~Z#+Jr10@q(;-ZLRB2RJomnp=gsGn6fJ@wUU6idgCDGPf}!!CN^S z3id2-G*|?s+xsbOWx~g^8SrDQ0P<78)7n+~!sdTrwCb_bDP zkabZ5DY`On^O)%j)U%v)dZpX*h(bVxu!Io9ha#y#L4425~4=YvDum zmC7ZL#rfhk3QG|~YuQ7W;^PIgGS7Un_T!S}hk-&Y%MR4JWlsu^r-jileh8`vHTSM$ z(U@(QdkT$XRJbS=H<<>A>2|h1dg7_9t2z@OMaC#9pPt4u{e&8S95O#2i(2 z5u%Q|GJ+*zgyyom+cb-LJwnwOeQwuDy924|j2x18ye7}4v{{Ped3J#gmncP|f^qaIB-vHT%b7iyz)0KT^}s{X zLFYMI%;t+c>}x`>@%&96r`+>Vz9!+Vn5B zT&oBu7O8D1ZlvXyIdZOSwnOP+wt*GE4t)-%p|#r>V1%Y2^L88(l6X}2^p)@#W#PEX z>^CTtxGZWqnO=wbUwr-oLIXOXc2e@TFy4quM5IHv3bST=vdLx2GvQpe@&5b<3u!xA z0a5-SV}`L)_Dz#g8ql(;YzZHpr|n1GhtHQwMy8oGIt|zs@^pBJgwLnoz0G1xeM5pVHUL|#~NhSt4?k-}+}p3)CtP{F(}OU|fc{D7)%&WyGRH=z)# zOU~}-qI*uV>&oSh)sc&dQK^b2qCX|GzUsXd_c=tcnW2C3d_ZovL;J(v$Kf8$qFUNa z{FJt~DlHZHxe<;y-iziBUX~Qn2j`VO=`gJb!rMOXq@zeuZ$Dkjlp}e(SK-(+MMc?@ z_og=aObA9pvX5_`^__CEtiNafS_$>mEIm0ikMTsGvm`5e8{YO0yX(z*`8>{?rJaYv>MuOIDNjdSw2AYde4T8 z5F?2Etq5=-xu;y3QBc+P5=AM<`G%J=2YFpgde1)ddB_oC#Y{=Bb_wfpRsl}oKHY^J wT5%@R0RZF~+bLLl*u~P+z=nJ?G%zkITIe+ZT9=!o1iluV%f_&A@eT~pgz5(_=NCIU9 z+5rjH^00SC8Y1lxLEgj22LuF!5IpoT0E~}^iAV@Jii(MWrKN?%B&DRK#RS3PqGIAA zqJNjPkeDP?N*XFI1ODHD!0_iP?BEAJ2q&l-665HD^72KYJ;DFv_6}%2Uj+yx-5tQ6 zUJ4LSUj!&%!GRuLP*oqKy)W9w7>#yUfc#5H-v#Z9#<-xpz^X>lU_LXHCjuRS;fMTl zUQZ9I<%#jN_jE*RsVPAIR)kR~1XNl=T259?OhQWRudkT8jIxTVvbu_txSEEljI_9l z)W2CZw4FJMO%wyY>>b^ZzF?#$LIL6f zQG~7bR&x*#FcM(3)Rc__7nW=SyjW+0ZdzAYYyn<;M1WghfPUG-#vy^+oU+%I4(bDq z3lFoT#?(M=g5%tIbJzXYx%Aw`tC&$;))#WaiEJqf#@zF!x_)t{jcNvX)%c7#d1YVg z`NhRfp|h@lfJ(EIz@EsSsTzW%z5UM9#np?jjj*3Xz3SKrL{T)2y6Zko>{THEl|FKm z?Lo!gDXes-YdKz%ftHw-CPk1P%H9uoUnrkB%r0Lz%r0$xTHdL3w3f5S$}tX2fbn`Z z!rJwixPC|?by5Uu7E5Di-*Nvkr2D1bU`)ioI)3EG5z5=ME_$%*KJy!wo*d#n(R9kH zWrgODsKK5-x;x)&QG9CI)KjOg=GXarsa=erz1}L*ljiVJ;0~wvTh`Q-2UNHSCRv&T z005{E3GT)y$rLZTX4*F8&L&Bc4sKPQ;s%^>7^T@ zzmEDU>cg8J_T`n>)eExYMe;?PydH|ct!l`39vQ4O>aid3vzWjLjb>oZ3NS!hCAA9f zy%@B!OukNvPW~aHCwQxeQXFS%;(24Ov%N!I+5-nmaJ8nO9vPW`4f400@xE8VDbv}J zM%y>~c(1R6wP^Hl$ioWu*HIj@?s6j6PO@i(3UMDeHmx9=jB_Lg5f_&Ik3)Is|1dr3 zrE$QzNU@P?10{(NWWzw&K#$2LPNZCFtB2R}l9nyI7tl(@3lT|5oDu;hNWo62mj0kx z{KaF$cl%^m_XJ)9(hl7!@uar(?U`)pZj-t!ce0o(@)p)rv>{6Bzag7T)+b=5Lpba| z$$cuJMd(f>&z(^6g>ZtK&KU13I1c&lJ%z>n(q%fX`8ZZRv)n%pyFNERM`PvFLI-_1 z2S~G^erA|I32lQdKNs2GZ8~a;fqE8e)Vv5C93*y*#t>KIsx=bw!h(#kwVpjEM9+%uy~!)0jJw>l zJgy{gA^Y8=o?dEzS7yjr$t-B)z6}{?EUVS3k1!7s&a^L~&mr)gIH)3FC^(att{n0UC))e@v zB-?sL$nYquU`|VMaYEFOv+}r&L+Sn_1q#Oe{^QJvbY@j$S{g zbOuKXgF5>$pI0e|5egC+Z?`f(O^*c;wzAdUzysdfl968uRY+zYaOb#aw-GbOmH{AK zsrgMCHib_;<@z^!@4iNErGZ3KdsQ-bd1k4pH~xr_e4TaVd)wy3PljDvSJ%4=e*uA6 z3#64jN>7-6YB`@2W16$Vs4^P-N`>R0KeGYEWU&^FDZ(twu_w$$2{2oGw6aiL4exu8BK1Uh=K0Q3IHj$cybC;kbN+>lI|m_EF>V#!;V zX;vn_Z%uRfL($7f_4ma$qsfDCZPvCGA;Rx@IB*F?4}GsMPOk)94)6e+^?-ai0$109 zCu&C)NdzytNp(YNGI;NJoW9cNN_@Pz>CmW%a=rW8)lYH=+Kio6Dx|sfu_ZjCQB-`c zs!v4I8iHM6J~J?8kX=pOqj^{hcS+bEdTm=dr-%PAG5f61YtrUr<=DhBD<(ZF8dk4p zQDU(KCcko-IOWi_A{7wNvVQi)s&Dn(*2HG!0f8xwAxqvbOSZDPGtV|dDi=Sn>PO;w z)A_-xaN0VaY0+EbyfA57tang<4Lwt7*v{Qh zS!-hh*!kj)?@%f(Cj%at*r4V5pgfd&mJuLl#dU=47Ph14e&2UOp2*Hptq@jtEW;hQ zl!2?K#N7k#53)zQ(-cmcm}F6Gtg58rV`C{|{UHH3!meeJ+pkVuR-Q9TI`y$8c^IiN zF2@v?5VGFSl^`Pq$1=B=_b_GIPPP*EYY~zR-XZx+cP_*dvg)4pL@3$p5}!I?9f@7&7ox9ZnB@RHR%RvDj>2xyUV~<^ z*PORD__x%JfwvZYr0&L(Yz1@zmDRiKm;*c9nL={H&2^mk1;{<_ZeHi_xAPWfM~X7n zS?N3{ng_y#Z-4u2^Ek5BhOKa-_ZhK{1fiSfTgLOB?IDK+n2?niHriFW+!%-6hCp-Xblh zyOn~W{%qST!TsMtOa;hAuvgVym%q){rsdzP4ZP@%8Wg17vqC>fcZ|!+QL>HXr4(HH zz0RqR9}d==hmr5Pnsn6}wlv<&ISe8%iAur(-DIcrOE^Guj}hd}eXy<3FsHwB{mSQlN&-7Z;i>tr z5X}2z_Pk3gH!Hx8{V;;2ZJ*qs6`lRJEO57&FIN{ms!Hpy^2$lMNb4?(V|%iy$||ff z!%SVqfQdtbp!9ogdz%glreN3Bt)_Q`aLrJZK8d&|RMZemKnf3JuM7U_R-(pY-uG<~ zjZN99OVD_JIwKGEK4)MJ+f(-!-f1>dRZ`6!fsBvjnMXb(KG9(%dSepA)vb|vp`Pq^ zDxe=zCT6N-_*n12XUYxt;32(kfh;!u^*Muiu&W`v>8jU#!q0bE?4kMWAQD@K`QNYV zTn=iAbdS~f4quuId?lf~Y0Dj%YDR+ct;)yOrp$=Q-v)b2!wVH+7?r7MuJ(gsi(vp3 zj&Rlm;nhS9>aZo+)tFAjn}Ce?{=i46S`Y1!?KAAR9p&K7R3#?#!naj{*j#M!J#9n< zl1kff`eWc1{Ys`$iBi7yeo`1NyZaZz5u6;lD5;!^AaU&_E;9iF+w4@gs|88F4%f+$WDZO~C4LAOx6k=H|+1X7y#zT`f7T#XjyT=y)A zwdBv8CTJ~-o&C1X@SdGMF_yfd;_IJIYXix%!(8F% z;nIpK)?QGV$srerx&s2M9D2z_9-D}dT)*4Fb0Hn+^ZshhIy$^An${z<%zNEL|6KL-jrWctFXLEsUlq!B{4e>^DVyB# zFBDCPLfSYtsREr}T3n|2n9nF4%oP!hUy$p^x!qiIlwg@FryZ(8zKn6)kmlHgrK%i^ zQdce6#zOS$GbMPi$^(GkGN_vU_{paTkk$eJJMP(PTTbEM6+D#&~W>~eo3Fm~b%Xc!O$fd!v&P+MY1=|-m=+unEl303G4V`O#(*M*&{L

^wP|fT#yEDM(r)7g|<2Q4cU4ANK->i+pEk61NCeZZ!RJRPRtG(-|$1hvi#RNC~ zsmo{5?yFr8v9`h1#BbqAGrU~~`;j#t0pDPZJub0nt2n%f8Z1- z!AHHFoVzuiRcLm;M&JT5o0epv*yf{Ct;>f~&^7coD`#pmI5be)wQw+b>Ith37r^7D z$Q{L5On#c8UT~dNeV+s83?qh*5DH^dh(@ugR5D{MGbVNZZgKt#u>u7}ROLtnwD7a> zjrK(Y#T#>yV=7kmS&KeZ^LKAOydxRFC66P*u62ivfLR9qTE!sEw%5$?>vns#xIaXG zP>lRU+cU${zFkho!yT7+kksffNWLqX-at68!9aEDJxvxnZSBEWfGq5L;EM}qkbvS; zN^Lim%WcQf67fuj-#}H~3G)gwKD*WW& zj|ZNLMSXWjwECUqRO+LaKrUKoCF+{v{ws-M)W;w%bJZZ{{xbe-sYuW%!kk$=`z5ep7 zu$udPaPLz1FXe1HUxw0GW%lJtQS|HYmTK1Z2G{yp*cP996i{|xoG2{Vn|_f$++D^R zF_;%sux*`jX$s1R=*ryijYabpABtf%N{n+K`n~uV6jKyFJ9kbe1H#QWOybCQ#(jG)VQ&v5YPVFzKzThTv<=uP0_YoMQL zZM*6~byg#yWd)?Ca33?uVhTu_9@-B8ha;RCZn^vfim}@7o1+N#8WB`x)D6?&ifN%V zBDx}Oa!TlTy1G4a&Npt)2c@N=7aCt8!fI1R*!0W{OeDy6IhP+aD&ps>1hE*oHK4NW zndi1XD3_Zg)YycK#+^YSh?I2hq!m~8}?@wjO+3^dh(5zKfVnwW|=j&Vk zx=deNm;Gr&qRT`ufdss;(Co9f1I#7?=`-h_=H+rz(osJSX3V#!wgXMr#5(Dx*}LKu5s`wP-m|NuMnhe zy!V4bfMpL!^{V$>50aDO2?mX0r*jA6}t_ASob;Ld82CTx$i2K*A}t4 zPkPGE=KkVhS<0H8Bsv!hkgu_Ff0~;$rC>{NFCB-MfdeaQ3me}X69vui$;&8a0hNiBF+Q2~p6N;Pl=O$vHYMeLBQQ44(mtV~LAd6{#I7$3trqE124BC~X?r zJkd$8ZSR8bLRiwlGKPsfmfC*x_>7+P>H!_`14xu-uHC(RJ$gTa0^Hc2+2v)6vbGgo z%}T{^^pJiG(P1?gNEb+q{8n-)#Y&i$97LM6aE;jX8u2Hs_n-;ecQ}L9=0*ILJ&}J} z-J~DB?g!AYj2kb(48rP=B&OXruy}b;xWanzyj*$t z*k;4%w*xHdB7DRj*EZO<*vZ37*&KVLm2i6B@1bmf&+A~30 z<;Za8KK29Bz3x*QW!R{XnDnHMan)3bc1=Ngmr6YRpHfUG&QIg3Xdh6ARZ6pm$AcdFdkA}XZw{0!wuZ+E*gJbm}N;oL%!>L&%zN|;bll|;i+|Gowie5c|#bS2J2IVdb$a8Q`Ht%jlD>1iz4?K3^D(5|-` zm!?owk<%3OKQ_wd4Fk0~g1DQPFV5of7a{PZ*gk>#tHTMLW(PYiX&;*mql+86BlGDO zT!XRQcIs8QbxS_lpIy=!f5ro69sc9AJdFvr-D=ur5mVLZg{W> q&~1jseZHRaMOR+k>B + + + + + EnvironmentId + {1eb0406f-b7ad-49c3-808f-08b8e70e23f1} + + + ProjectExplorer.Project.ActiveTarget + 0 + + + ProjectExplorer.Project.EditorSettings + + true + false + true + + Cpp + + CppGlobal + + + + QmlJS + + QmlJSGlobal + + + 2 + UTF-8 + false + 4 + false + 80 + true + true + 1 + true + false + 0 + true + true + 0 + 8 + true + 1 + true + true + true + false + + + + ProjectExplorer.Project.PluginSettings + + + + ProjectExplorer.Project.Target.0 + + SailfishOS-3.2.1.20-i486 (in Sailfish OS Build Engine) + SailfishOS-3.2.1.20-i486 (in Sailfish OS Build Engine) + SailfishOS-3.2.1.20-i486 + 1 + 1 + 0 + + C:/Users/XPAM/Github/build-harbour-tooterb-SailfishOS_3_2_1_20_i486_in_Sailfish_OS_Build_Engine-Debug + + + true + Start Build Engine + + Mer.MerSdkStartStep + + + true + qmake + + QtProjectManager.QMakeBuildStep + true + + false + false + false + + + true + Make + + Qt4ProjectManager.MakeStep + + false + + + false + + 3 + Build + + ProjectExplorer.BuildSteps.Build + + + + true + Start Build Engine + + Mer.MerSdkStartStep + + + true + Make + + Qt4ProjectManager.MakeStep + + true + clean + + false + + 2 + Clean + + ProjectExplorer.BuildSteps.Clean + + 2 + false + + Debug + Debug + Qt4ProjectManager.Qt4BuildConfiguration + 2 + true + + + C:/Users/XPAM/Github/build-harbour-tooterb-SailfishOS_3_2_1_20_i486_in_Sailfish_OS_Build_Engine-Release + + + true + Start Build Engine + + Mer.MerSdkStartStep + + + true + qmake + + QtProjectManager.QMakeBuildStep + false + + false + false + false + + + true + Make + + Qt4ProjectManager.MakeStep + + false + + + false + + 3 + Build + + ProjectExplorer.BuildSteps.Build + + + + true + Start Build Engine + + Mer.MerSdkStartStep + + + true + Make + + Qt4ProjectManager.MakeStep + + true + clean + + false + + 2 + Clean + + ProjectExplorer.BuildSteps.Clean + + 2 + false + + Release + Release + Qt4ProjectManager.Qt4BuildConfiguration + 0 + true + + + C:/Users/XPAM/Github/build-harbour-tooterb-SailfishOS_3_2_1_20_i486_in_Sailfish_OS_Build_Engine-Profile + + + true + Start Build Engine + + Mer.MerSdkStartStep + + + true + qmake + + QtProjectManager.QMakeBuildStep + true + + false + true + false + + + true + Make + + Qt4ProjectManager.MakeStep + + false + + + false + + 3 + Build + + ProjectExplorer.BuildSteps.Build + + + + true + Start Build Engine + + Mer.MerSdkStartStep + + + true + Make + + Qt4ProjectManager.MakeStep + + true + clean + + false + + 2 + Clean + + ProjectExplorer.BuildSteps.Clean + + 2 + false + + Profile + Profile + Qt4ProjectManager.Qt4BuildConfiguration + 0 + true + + 3 + + + + true + RPM + + QmakeProjectManager.MerRpmBuildStep + + + true + RPM Validation + + QmakeProjectManager.MerRpmValidationStep + + 2 + Deploy + + ProjectExplorer.BuildSteps.Deploy + + 1 + Build RPM Package For Manual Deployment + + QmakeProjectManager.MerMb2RpmBuildConfiguration + + + + + true + Prepare Target + + QmakeProjectManager.MerPrepareTargetStep + + + true + Rsync + + QmakeProjectManager.MerRsyncDeployStep + + 2 + Deploy + + ProjectExplorer.BuildSteps.Deploy + + 1 + Deploy By Copying Binaries + + QmakeProjectManager.MerRSyncDeployConfiguration + + + + + true + Prepare Target + + QmakeProjectManager.MerPrepareTargetStep + + + true + RPM + + QmakeProjectManager.MerRpmDeployStep + + 2 + Deploy + + ProjectExplorer.BuildSteps.Deploy + + 1 + Deploy As RPM Package + + QmakeProjectManager.MerRpmDeployConfiguration + + 3 + + + dwarf + + cpu-cycles + + + 250 + -F + true + 4096 + false + false + 1000 + + true + + false + false + false + false + true + 0.01 + 10 + true + kcachegrind + 1 + 25 + + 1 + true + false + true + valgrind + + 0 + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + + C:/Users/XPAM/Github/harbour-tooter-master + false + -1 + 3 + + 1 + + + harbour-tooterb (on Sailfish OS Emulator 3.2.1.20) + QmakeProjectManager.MerRunConfiguration:C:/Users/XPAM/Github/harbour-tooter-master/harbour-tooterb.pro + 1 + + false + + 3768 + false + true + false + false + true + + + + 1 + + + + ProjectExplorer.Project.Target.1 + + SailfishOS-3.2.1.20-armv7hl (in Sailfish OS Build Engine) + SailfishOS-3.2.1.20-armv7hl (in Sailfish OS Build Engine) + SailfishOS-3.2.1.20-armv7hl + 1 + 0 + 0 + + C:/Users/XPAM/Github/build-harbour-tooterb-SailfishOS_3_2_1_20_armv7hl_in_Sailfish_OS_Build_Engine-Debug + + + true + Start Build Engine + + Mer.MerSdkStartStep + + + true + qmake + + QtProjectManager.QMakeBuildStep + true + + false + false + false + + + true + Make + + Qt4ProjectManager.MakeStep + + false + + + false + + 3 + Build + + ProjectExplorer.BuildSteps.Build + + + + true + Start Build Engine + + Mer.MerSdkStartStep + + + true + Make + + Qt4ProjectManager.MakeStep + + true + clean + + false + + 2 + Clean + + ProjectExplorer.BuildSteps.Clean + + 2 + false + + Debug + Debug + Qt4ProjectManager.Qt4BuildConfiguration + 2 + true + + + C:/Users/XPAM/Github/build-harbour-tooterb-SailfishOS_3_2_1_20_armv7hl_in_Sailfish_OS_Build_Engine-Release + + + true + Start Build Engine + + Mer.MerSdkStartStep + + + true + qmake + + QtProjectManager.QMakeBuildStep + false + + false + false + false + + + true + Make + + Qt4ProjectManager.MakeStep + + false + + + false + + 3 + Build + + ProjectExplorer.BuildSteps.Build + + + + true + Start Build Engine + + Mer.MerSdkStartStep + + + true + Make + + Qt4ProjectManager.MakeStep + + true + clean + + false + + 2 + Clean + + ProjectExplorer.BuildSteps.Clean + + 2 + false + + Release + Release + Qt4ProjectManager.Qt4BuildConfiguration + 0 + true + + + C:/Users/XPAM/Github/build-harbour-tooterb-SailfishOS_3_2_1_20_armv7hl_in_Sailfish_OS_Build_Engine-Profile + + + true + Start Build Engine + + Mer.MerSdkStartStep + + + true + qmake + + QtProjectManager.QMakeBuildStep + true + + false + true + false + + + true + Make + + Qt4ProjectManager.MakeStep + + false + + + false + + 3 + Build + + ProjectExplorer.BuildSteps.Build + + + + true + Start Build Engine + + Mer.MerSdkStartStep + + + true + Make + + Qt4ProjectManager.MakeStep + + true + clean + + false + + 2 + Clean + + ProjectExplorer.BuildSteps.Clean + + 2 + false + + Profile + Profile + Qt4ProjectManager.Qt4BuildConfiguration + 0 + true + + 3 + + + + true + RPM + + QmakeProjectManager.MerRpmBuildStep + + + true + RPM Validation + + QmakeProjectManager.MerRpmValidationStep + + 2 + Deploy + + ProjectExplorer.BuildSteps.Deploy + + 1 + Build RPM Package For Manual Deployment + + QmakeProjectManager.MerMb2RpmBuildConfiguration + + + + + true + Prepare Target + + QmakeProjectManager.MerPrepareTargetStep + + + true + Rsync + + QmakeProjectManager.MerRsyncDeployStep + + 2 + Deploy + + ProjectExplorer.BuildSteps.Deploy + + 1 + Deploy By Copying Binaries + + QmakeProjectManager.MerRSyncDeployConfiguration + + + + + true + Prepare Target + + QmakeProjectManager.MerPrepareTargetStep + + + true + RPM + + QmakeProjectManager.MerRpmDeployStep + + 2 + Deploy + + ProjectExplorer.BuildSteps.Deploy + + 1 + Deploy As RPM Package + + QmakeProjectManager.MerRpmDeployConfiguration + + 3 + + + dwarf + + cpu-cycles + + + 250 + -F + true + 4096 + false + false + 1000 + + true + + false + false + false + false + true + 0.01 + 10 + true + kcachegrind + 1 + 25 + + 1 + true + false + true + valgrind + + 0 + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + + C:/Users/XPAM/Github/harbour-tooter-master + false + -1 + 3 + + 1 + + + harbour-tooterb (on Sailfish OS Emulator 3.2.1.20) + QmakeProjectManager.MerRunConfiguration:C:/Users/XPAM/Github/harbour-tooter-master/harbour-tooterb.pro + 1 + + false + + 3768 + false + true + false + false + true + + + + 1 + + + + ProjectExplorer.Project.TargetCount + 2 + + + ProjectExplorer.Project.Updater.FileVersion + 21 + + + Version + 21 + + diff --git a/qml/cover/CoverPage.qml b/qml/cover/CoverPage.qml index d109df9..2383490 100644 --- a/qml/cover/CoverPage.qml +++ b/qml/cover/CoverPage.qml @@ -58,7 +58,7 @@ CoverBackground { verticalAlignment: Image.AlignBottom fillMode: Image.PreserveAspectFit - source: "../images/tooter.svg" + source: "../images/tooterb.svg" } Timer { id: timer diff --git a/qml/images/tooterb.svg b/qml/images/tooterb.svg new file mode 100644 index 0000000..8af076f --- /dev/null +++ b/qml/images/tooterb.svg @@ -0,0 +1,38 @@ + + + + + + + + + + + + + + + + + diff --git a/rpm/harbour-tooterb.changes b/rpm/harbour-tooterb.changes index c708a4b..3b567e5 100644 --- a/rpm/harbour-tooterb.changes +++ b/rpm/harbour-tooterb.changes @@ -1,3 +1,6 @@ +*Wed May 06 2020 molan 1.0.4-2 +- Beta release + * Thu Apr 16 2020 Dusko Angirevic 1.0.4-1 - Merge with molan code diff --git a/rpm/harbour-tooterb.changes.run.in b/rpm/harbour-tooterb.changes.run.in index c6fa648..a3693d6 100644 --- a/rpm/harbour-tooterb.changes.run.in +++ b/rpm/harbour-tooterb.changes.run.in @@ -1,6 +1,6 @@ #!/bin/bash # -# Rename this file as harbour-tooter.changes.run to let mb2 automatically +# Rename this file as harbour-tooterb.changes.run to let mb2 automatically # generate changelog from well formatted Git commit messages and tag # annotations. diff --git a/rpm/harbour-tooterb.spec b/rpm/harbour-tooterb.spec index b7a3aa7..42b36d8 100644 --- a/rpm/harbour-tooterb.spec +++ b/rpm/harbour-tooterb.spec @@ -29,7 +29,7 @@ BuildRequires: pkgconfig(nemonotifications-qt5) BuildRequires: desktop-file-utils %description -Tooter is native client for Mastodon network instances. +Tooter Beta is a native client for Mastodon network instances. %prep diff --git a/rpm/harbour-tooterb.yaml b/rpm/harbour-tooterb.yaml index 3908ac2..c7f90b9 100644 --- a/rpm/harbour-tooterb.yaml +++ b/rpm/harbour-tooterb.yaml @@ -12,7 +12,7 @@ License: LICENSE Sources: - '%{name}-%{version}.tar.bz2' Description: | - Tooter is native client for Mastodon network instances. + Tooter Beta is a native client for Mastodon network instances. Configure: none # The qtc5 builder inserts macros to allow QtCreator to have fine # control over qmake/make execution diff --git a/src/dbus.h b/src/dbus.h index 4bb863b..d533a18 100644 --- a/src/dbus.h +++ b/src/dbus.h @@ -5,7 +5,7 @@ #include #include "dbusAdaptor.h" -#define SERVICE_NAME "ba.dysko.harbour.tooter" +#define SERVICE_NAME "ba.dysko.harbour.tooterb" class QDBusInterface; class Dbus : public QObject diff --git a/translations/harbour-tooterb-it.ts b/translations/harbour-tooterb-it.ts index f28be92..e168a6f 100644 --- a/translations/harbour-tooterb-it.ts +++ b/translations/harbour-tooterb-it.ts @@ -53,7 +53,6 @@ Pubblico - Unlisted Non elencato @@ -205,72 +204,72 @@ Profile - + Summary Sintesi - + Followers Seguaci - + Following Segue - + Statuses Toots - + Favourites Apprezzati - + Unfollow Smetti di seguire - + Follow request sent! Richiesta di seguito inviata! - + Follow Segui - + Unmute Non silenziare - + Mute Silenzia - + Unblock Sblocca - + Block Blocca - + Bio Biografia - + Open Profile in Browser Aprire profile nel browser @@ -278,92 +277,92 @@ Settings - + Settings Impostazione - + Remove Account Rimozione del account - + Add Account Aggiungi account - + Deauthorize this app and remove your account Annullare l'autorizzazione dell'app e rimuovere l'account - + Authorize this app to access your Mastodon account Autorizzare l'app all'utilizzo del conto Mastodon - + Load images in toots Caricare immagini nei toots - + Disable this option if you want to preserve your data connection Disabilitare questa opzione per conservare connessione dati - + Translate Tradurre - + Use Transifex to help with app translation to your language Utilizzare Transifex per aiutare nella traduzione dell'app - + Credits Sviluppo - + UI/UX design and development Design UI/UX e sviluppo - + Visual identity Identità visiva - + Development and translations Sviluppo e traduzioni - + Occitan & French translation Traduzione francese e occitanica - + Chinese translation Traduzione cinese - + Dutch translation Traduzione olandese - + Spanish translation Traduzione spagnola - + Added README file Aggiunto file README From f420fa9d9e478e6a672f9bb7010abca73e2273d0 Mon Sep 17 00:00:00 2001 From: molan-git <59296158+molan-git@users.noreply.github.com> Date: Wed, 6 May 2020 16:03:24 +0200 Subject: [PATCH 109/110] Delete tooter.svg --- qml/images/tooter.svg | 33 --------------------------------- 1 file changed, 33 deletions(-) delete mode 100644 qml/images/tooter.svg diff --git a/qml/images/tooter.svg b/qml/images/tooter.svg deleted file mode 100644 index 62c8550..0000000 --- a/qml/images/tooter.svg +++ /dev/null @@ -1,33 +0,0 @@ - - - - - - - - - - - - - - - - - From d482037ec2ffaf1738d754aa0a463fff3fa024d6 Mon Sep 17 00:00:00 2001 From: molan-git <59296158+molan-git@users.noreply.github.com> Date: Thu, 7 May 2020 17:06:32 +0200 Subject: [PATCH 110/110] revert icon --- qml/images/tooter.svg | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 qml/images/tooter.svg diff --git a/qml/images/tooter.svg b/qml/images/tooter.svg new file mode 100644 index 0000000..62c8550 --- /dev/null +++ b/qml/images/tooter.svg @@ -0,0 +1,33 @@ + + + + + + + + + + + + + + + + +