diff --git a/app/build.gradle b/app/build.gradle index 19497d5d..21883df4 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -20,8 +20,8 @@ android { applicationId APP_ID minSdkVersion 21 targetSdkVersion 29 - versionCode 76 - versionName "13.0 beta 1" + versionCode 77 + versionName "13.0" testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" vectorDrawables.useSupportLibrary = true @@ -51,6 +51,7 @@ android { productFlavors { blue {} green { + resValue "string", "app_name", APP_NAME + " Test" applicationIdSuffix ".test" versionNameSuffix "-" + getGitSha() } diff --git a/app/src/main/java/com/keylesspalace/tusky/MainActivity.kt b/app/src/main/java/com/keylesspalace/tusky/MainActivity.kt index dc66945d..58cd3a02 100644 --- a/app/src/main/java/com/keylesspalace/tusky/MainActivity.kt +++ b/app/src/main/java/com/keylesspalace/tusky/MainActivity.kt @@ -713,7 +713,7 @@ class MainActivity : BottomSheetActivity(), ActionButtonActivity, HasAndroidInje } private fun updateAnnouncementsBadge() { - mainDrawer.updateBadge(DRAWER_ITEM_ANNOUNCEMENTS, StringHolder(if (unreadAnnouncementsCount == 0) null else unreadAnnouncementsCount.toString())) + mainDrawer.updateBadge(DRAWER_ITEM_ANNOUNCEMENTS, StringHolder(if (unreadAnnouncementsCount <= 0) null else unreadAnnouncementsCount.toString())) } private fun updateProfiles() { diff --git a/app/src/main/java/com/keylesspalace/tusky/TuskyApplication.kt b/app/src/main/java/com/keylesspalace/tusky/TuskyApplication.kt index 850c4b0d..562f644e 100644 --- a/app/src/main/java/com/keylesspalace/tusky/TuskyApplication.kt +++ b/app/src/main/java/com/keylesspalace/tusky/TuskyApplication.kt @@ -29,11 +29,9 @@ import com.keylesspalace.tusky.util.EmojiCompatFont import com.keylesspalace.tusky.util.LocaleManager import com.keylesspalace.tusky.util.ThemeUtils import com.uber.autodispose.AutoDisposePlugins -import dagger.Lazy import dagger.android.DispatchingAndroidInjector import dagger.android.HasAndroidInjector import io.reactivex.plugins.RxJavaPlugins -import io.reactivex.schedulers.Schedulers import org.conscrypt.Conscrypt import java.security.Security import javax.inject.Inject @@ -44,7 +42,7 @@ class TuskyApplication : Application(), HasAndroidInjector { lateinit var androidInjector: DispatchingAndroidInjector @Inject - lateinit var notificationWorkerFactory: Lazy + lateinit var notificationWorkerFactory: NotificationWorkerFactory override fun onCreate() { // Uncomment me to get StrictMode violation logs @@ -82,15 +80,12 @@ class TuskyApplication : Application(), HasAndroidInjector { Log.w("RxJava", "undeliverable exception", it) } - // This will initialize the whole network stack and cache so we don't wan to wait for it - Schedulers.computation().scheduleDirect { - WorkManager.initialize( - this, - androidx.work.Configuration.Builder() - .setWorkerFactory(notificationWorkerFactory.get()) - .build() - ) - } + WorkManager.initialize( + this, + androidx.work.Configuration.Builder() + .setWorkerFactory(notificationWorkerFactory) + .build() + ) } override fun attachBaseContext(base: Context) { diff --git a/app/src/main/java/com/keylesspalace/tusky/components/announcements/AnnouncementAdapter.kt b/app/src/main/java/com/keylesspalace/tusky/components/announcements/AnnouncementAdapter.kt index c4fa93f2..29b57a2e 100644 --- a/app/src/main/java/com/keylesspalace/tusky/components/announcements/AnnouncementAdapter.kt +++ b/app/src/main/java/com/keylesspalace/tusky/components/announcements/AnnouncementAdapter.kt @@ -27,10 +27,12 @@ import com.google.android.material.chip.ChipGroup import com.keylesspalace.tusky.R import com.keylesspalace.tusky.entity.Announcement import com.keylesspalace.tusky.entity.Emoji +import com.keylesspalace.tusky.interfaces.LinkListener +import com.keylesspalace.tusky.util.LinkHelper import com.keylesspalace.tusky.util.emojify import kotlinx.android.synthetic.main.item_announcement.view.* -interface AnnouncementActionListener { +interface AnnouncementActionListener: LinkListener { fun openReactionPicker(announcementId: String, target: View) fun addReaction(announcementId: String, name: String) fun removeReaction(announcementId: String, name: String) @@ -59,13 +61,12 @@ class AnnouncementAdapter( } inner class AnnouncementViewHolder(private val view: View) : RecyclerView.ViewHolder(view) { - private val text: TextView = view.text private val chips: ChipGroup = view.chipGroup private val addReactionChip: Chip = view.addReactionChip fun bind(item: Announcement) { - text.text = item.content + LinkHelper.setClickableText(text, item.content, null, listener) item.reactions.forEachIndexed { i, reaction -> (chips.getChildAt(i)?.takeUnless { it.id == R.id.addReactionChip } as Chip? diff --git a/app/src/main/java/com/keylesspalace/tusky/components/announcements/AnnouncementsActivity.kt b/app/src/main/java/com/keylesspalace/tusky/components/announcements/AnnouncementsActivity.kt index 5bfd17bc..1f86a0ab 100644 --- a/app/src/main/java/com/keylesspalace/tusky/components/announcements/AnnouncementsActivity.kt +++ b/app/src/main/java/com/keylesspalace/tusky/components/announcements/AnnouncementsActivity.kt @@ -22,11 +22,9 @@ import android.view.MenuItem import android.view.View import android.widget.PopupWindow import androidx.activity.viewModels -import androidx.lifecycle.Observer import androidx.recyclerview.widget.DividerItemDecoration import androidx.recyclerview.widget.LinearLayoutManager -import com.keylesspalace.tusky.BaseActivity -import com.keylesspalace.tusky.R +import com.keylesspalace.tusky.* import com.keylesspalace.tusky.adapter.EmojiAdapter import com.keylesspalace.tusky.adapter.OnEmojiSelectedListener import com.keylesspalace.tusky.di.Injectable @@ -37,7 +35,7 @@ import kotlinx.android.synthetic.main.activity_announcements.* import kotlinx.android.synthetic.main.toolbar_basic.* import javax.inject.Inject -class AnnouncementsActivity : BaseActivity(), AnnouncementActionListener, OnEmojiSelectedListener, Injectable { +class AnnouncementsActivity : BottomSheetActivity(), AnnouncementActionListener, OnEmojiSelectedListener, Injectable { @Inject lateinit var viewModelFactory: ViewModelFactory @@ -147,6 +145,24 @@ class AnnouncementsActivity : BaseActivity(), AnnouncementActionListener, OnEmoj viewModel.removeReaction(announcementId, name) } + override fun onViewTag(tag: String?) { + val intent = Intent(this, ViewTagActivity::class.java) + intent.putExtra("hashtag", tag) + startActivityWithSlideInAnimation(intent) + } + + override fun onViewAccount(id: String?) { + if (id != null) { + viewAccount(id) + } + } + + override fun onViewUrl(url: String?) { + if (url != null) { + viewUrl(url) + } + } + companion object { fun newIntent(context: Context) = Intent(context, AnnouncementsActivity::class.java) } diff --git a/app/src/main/java/com/keylesspalace/tusky/components/notifications/NotificationHelper.java b/app/src/main/java/com/keylesspalace/tusky/components/notifications/NotificationHelper.java index 3020f207..14c9e480 100644 --- a/app/src/main/java/com/keylesspalace/tusky/components/notifications/NotificationHelper.java +++ b/app/src/main/java/com/keylesspalace/tusky/components/notifications/NotificationHelper.java @@ -295,7 +295,7 @@ public class NotificationHelper { .setSmallIcon(R.drawable.ic_notify) .setContentIntent(summary ? summaryResultPendingIntent : eventResultPendingIntent) .setDeleteIntent(deletePendingIntent) - .setColor(BuildConfig.DEBUG ? Color.parseColor("#19A341") : ContextCompat.getColor(context, R.color.tusky_blue)) + .setColor(BuildConfig.FLAVOR == "green" ? Color.parseColor("#19A341") : ContextCompat.getColor(context, R.color.tusky_blue)) .setGroup(account.getAccountId()) .setAutoCancel(true) .setShortcutId(Long.toString(account.getId())) diff --git a/app/src/main/java/com/keylesspalace/tusky/entity/Attachment.kt b/app/src/main/java/com/keylesspalace/tusky/entity/Attachment.kt index 3517ff09..1de7bd78 100644 --- a/app/src/main/java/com/keylesspalace/tusky/entity/Attachment.kt +++ b/app/src/main/java/com/keylesspalace/tusky/entity/Attachment.kt @@ -28,7 +28,7 @@ import kotlinx.android.parcel.Parcelize data class Attachment( val id: String, val url: String, - @SerializedName("preview_url") val previewUrl: String, + @SerializedName("preview_url") val previewUrl: String?, // can be null for e.g. audio attachments val meta: MetaData?, val type: Type, val description: String?, diff --git a/app/src/main/java/com/keylesspalace/tusky/fragment/AccountListFragment.kt b/app/src/main/java/com/keylesspalace/tusky/fragment/AccountListFragment.kt index d15835e3..da9893a2 100644 --- a/app/src/main/java/com/keylesspalace/tusky/fragment/AccountListFragment.kt +++ b/app/src/main/java/com/keylesspalace/tusky/fragment/AccountListFragment.kt @@ -330,6 +330,7 @@ class AccountListFragment : BaseFragment(), AccountActionListener, Injectable { private fun fetchRelationships(ids: List) { api.relationships(ids) + .observeOn(AndroidSchedulers.mainThread()) .autoDispose(from(this)) .subscribe(::onFetchRelationshipsSuccess) { onFetchRelationshipsFailure(ids) diff --git a/app/src/main/res/layout/activity_announcements.xml b/app/src/main/res/layout/activity_announcements.xml index c0504b83..9e40e9df 100644 --- a/app/src/main/res/layout/activity_announcements.xml +++ b/app/src/main/res/layout/activity_announcements.xml @@ -36,4 +36,6 @@ tools:src="@drawable/elephant_error" tools:visibility="visible" /> + + diff --git a/app/src/main/res/values-eo/strings.xml b/app/src/main/res/values-eo/strings.xml index 964c1c89..13a06597 100644 --- a/app/src/main/res/values-eo/strings.xml +++ b/app/src/main/res/values-eo/strings.xml @@ -164,9 +164,9 @@ Sciigi per vibro Sciigi per lumo Sciigi al mi kiam - menciita - sekvita - viaj mesaĝoj estas diskonigitaj + iu mencias min + iu sekvas min + miaj mesaĝoj estas diskonigitaj miaj mesaĝoj estas stelumitaj Aspekto Temo de la apo @@ -363,7 +363,7 @@ Moviĝi GIF profilbildojn Enketoj Sciigoj pri enketoj kiuj finiĝis - Kradvortoj sen # + Kradvorto sen # Viŝi Filtri Apliki @@ -373,15 +373,14 @@ Agoj por bildo %s %1$s • %2$s - - + %s voĉdono + %s voĉdonoj finiĝos je %s finiĝita Voĉdoni Enketo al kiu vi voĉdonis finiĝis Enketo kiu vi kreis finiĝis - Kaŝitaj domajnoj Kaŝitaj domajnoj Silentigi %s @@ -437,4 +436,42 @@ Vi ne havas iun ajn planitan mesaĝon. Petoj de sekvado Kradvortoj + + %s homo + %s homoj + + Aldoni kradvorton + Sciigoj pri petoj de sekvado + Montri buntajn transirojn por kaŝitaj aŭdovidaĵoj + Kaŝi la sciigojn + Silentigi @%s\? + Bloki @%s\? + Malsilentigi la konversacion + Silentigi la konversacion + Malsilentigi %s + Silentigi sciigojn de %s + Malsilentigi sciigojn de %s + Malsilentigi %s + %s petis sekvi vin + Anoncoj + + %d minuto restas + %d minutoj restas + + + %d sekundo restas + %d sekundoj restas + + + %d horo restas + %d horoj restas + + + %d tago restas + %d tagoj restas + + Pozicio de la ĉefa naviga breto + iu petas sekvi min + Malsupro + Supro \ No newline at end of file diff --git a/app/src/main/res/values-es/strings.xml b/app/src/main/res/values-es/strings.xml index 5ba0200d..e81f543e 100644 --- a/app/src/main/res/values-es/strings.xml +++ b/app/src/main/res/values-es/strings.xml @@ -475,4 +475,8 @@ Silenciar notificaciones desde %s Dejar de silenciar notificaciones desde %s Ocultar el título de la barra de herramientas superior + ¡Guardado! + Tu nota privada acerca de esta cuenta + No hay anuncios. + Anuncios \ No newline at end of file diff --git a/app/src/main/res/values-fa/strings.xml b/app/src/main/res/values-fa/strings.xml index 55eec785..4d54af2e 100644 --- a/app/src/main/res/values-fa/strings.xml +++ b/app/src/main/res/values-fa/strings.xml @@ -93,7 +93,7 @@ پذیرش رد جست‌وجو - پیش‌نویس + پیش‌نویس‌ها نمایانی بوق هشدار محتوا صفحه‌کلید اموجی @@ -148,7 +148,7 @@ فرسته‌هایم تقویت شدند فرسته‌هایم برگزیده شدند ظاهر - تم برنامه + زمینهٔ کاره خط‌ زمانی‌ها روشن سیاه @@ -156,19 +156,19 @@ خودکار در غروب مرورگر استفاده از زبانه‌های سفارشی کروم - پنهان کردن دکمه ایجاد هنگام پیمایش + نهفتن دکمهٔ ایجاد، هنگام پیمایش فیلتر کردن خط زمانی زبانه‌ها نمایش تقویت‌ها نمایش پاسخ‌ها بارگیری پیش‌نمایش رسانه - پراکسی - پراکسی HTTP - فعال‌سازی پراکسی HTTP + پیشکار + پیشکار HTTP + به کار انداختن پیشکار HTTP کارساز پیشکار HTTP درگاه پیشکار HTTP محرمانگی پیش‌گزیدهٔ فرسته - همواره رسانه را به عنوان حساس نشانه‌گذاری کن + علامت‌گذاری همیشگی رسانه به عنوان حساس در حال انتشار (همگام با کارساز) ناتوانی در هم‌گام‌سازی تنظیمات عمومی @@ -279,7 +279,7 @@ سنجاق‌شده دامنه‌های نهفته \@%s - این‌حا هیچ‌چیزی نیست. + این‌جا هیچ‌چیزی نیست. برداشتن تقویت برداشتن برگزیدگی حذف و بازنویسی @@ -289,11 +289,11 @@ افزودن زبانه پیوندها اشاره‌ها - هشتگ‌ها + برچسب‌ها گشودن تقویت‌کنندهٔ بوق نمایش تقویت‌ها نمایش برگزیده‌ها - هشتگ‌ها + برچسب‌ها اشاره‌ها پیوندها گشودن رسانه #%d @@ -305,11 +305,11 @@ می‌خواهید این بوق را پاک و بازنویسی کنید؟ نهفتن تمام دامنه پایان نظرسنجی‌ها - صافی‌ها - استفاده از طرح سیستم + پالایه‌ها + استفاده از طراحی سامانه زبان نمایش نشانگر برای بات‌ها - پویانمایی آواتار gif + پویانمایی آواتارهای جیف نظرسنجی‌ها آگاهی‌ها دربارهٔ نظرسنجی‌های پایان‌یافته تاسکی %s @@ -364,7 +364,7 @@ مستقیم نظرسنجی با گزینه‌ها: %1$s، %2$s، %3$s، %4$s؛ %5$s نام فهرست - هشتگ بدون # + برچسب بدون # پاک‌سازی پالایش اعمال @@ -434,15 +434,15 @@ هیچ پیش‌نویسی ندارید. هیچ وضعیت زمان‌بسته‌ای ندارید. ماستودون، بازهٔ زمان‌بندی‌ای با کمینهٔ ۵ دقیقه دارد. - نمایش گفت‌وگوی تأیید پیش از تقویت + نمایش گفت‌وگوی تأیید، پیش از تقویت پیش‌نمایش پیوندها در خط‌زمانی‌ها به کار انداختن اشارهٔ کشیدنی برای تعویض بین زبانه‌ها %s نفر %s نفر - هشتگ‌ها - افزودن هشتگ + برچسب‌ها + افزودن برچسب آگاهی‌ها دربارهٔ درخواست‌های پی‌گیری درخواست‌های پی‌گیری درخواست پی‌گیری diff --git a/app/src/main/res/values-fr/strings.xml b/app/src/main/res/values-fr/strings.xml index 48f68f0c..f2554340 100644 --- a/app/src/main/res/values-fr/strings.xml +++ b/app/src/main/res/values-fr/strings.xml @@ -39,7 +39,7 @@ Brouillons Licences \@%s - %s a boosté + %s a partagé Contenu sensible Média caché Cliquer pour voir @@ -49,7 +49,7 @@ Replier Rien ici. Il n’y a aucun pouet ici pour l’instant. Glissez vers le bas pour actualiser ! - %s a boosté votre pouet + %s a partagé votre pouet %s a ajouté votre pouet à ses favoris %s vous suit Signaler @%s @@ -69,8 +69,8 @@ Ne plus suivre Bloquer Débloquer - Cacher les boosts - Afficher les boosts + Cacher les partages + Afficher les partages Signaler Supprimer POUET @@ -109,8 +109,8 @@ Liens Mentions Hashtags - Afficher l’auteur·rice du boost - Afficher les boosts + Afficher l’auteur·rice du partage + Afficher les partages Montrer les favoris Hashtags Mentions @@ -167,10 +167,10 @@ Notifier avec un son Notifier avec une vibration Notifier avec une lumière - Me notifier lorsque + Me notifier quand on me mentionne - On me suit - Mes pouets sont boostés + on vient de me suivre + mes pouets sont partagés mes pouets sont mis en favoris Apparence Thème de l’application @@ -187,7 +187,7 @@ Langue Filtrage des fils Onglets - Afficher les boosts + Afficher les partages Afficher les réponses Montrer les miniatures des médias Proxy @@ -212,8 +212,8 @@ Notifications pour les nouvelles mentions Nouveaux abonnés Notifications pour les nouveaux abonnés - Boosts - Notifications quand vos pouets sont boostés + Partages + Notifications quand vos pouets sont partagés Favoris Notifications quand vos pouets sont mis en favoris %s vous a mentionné @@ -316,8 +316,8 @@ Échec du téléchargement Robot %1$s a déménagé vers : - Booster vers l’audience originale - Annuler le boost + Partager à l’audience originale + Annuler le partage Tusky contient du code et des ressources issus des projets open source suivants : Sous licence Apache (copie ci-dessous) CC-BY 4.0 @@ -335,10 +335,10 @@ %1$s Favoris - %s Boost - %s Boosts + %s Partage + %s Partages - Boosté par + Partagé par Mis en favoris par %1$s %1$s et %2$s @@ -362,7 +362,7 @@ Direct Nom de la liste - Hastags sans # + Hashtag sans # Nettoyer Filtrer Appliquer @@ -376,7 +376,7 @@ Terminé Voter Sondages - Les sondages sont clos + les sondages se terminent Notifications pour les sondages terminés Un sondage que vous avez créé est terminé @@ -403,7 +403,7 @@ Domaines cachés Domaines cachés Masquer %s - %s n’est plus masqué + %s n’est plus masqué·e Masquer le domaine entier L’ensemble d’émojis actuel de Google Continuer @@ -455,25 +455,25 @@ L’intervalle minimum de planification sur Mastodon est de5 minutes. Demandes d\'abonnement Bloquer @%s \? - Afficher une boite de confirmation avant de booster + Afficher une fenêtre de confirmation avant de partager Afficher des aperçus des liens dans les fils %s a demandé à vous suivre Notifications à propos des demandes d’abonnement - Demande d’abonnement + on demande à me suivre Mettre en sourdine @%s \? Enlever la sourdine à la conversation - Silencer la conversation + Masquer la conversation Activer les gestes de glissement pour passer d’un onglet à l’autre Hashtags - Ajouter hashtag + Ajouter un hashtag Afficher des dégradés en couleur pour les médias cachés Bas Haut Position de navigation principale Ne plus masquer %s Cacher les notifications - Silencier les notifications de %s - Ne plus silencier les notifications de %s + Masquer les notifications de %s + Ne plus masquer les notifications de %s Ne plus masquer %s %s personne @@ -484,4 +484,8 @@ %s voix %s voix + Sauvegardé ! + Votre note privée sur ce compte + Il n’y a pas d’annonces. + Annonces \ No newline at end of file diff --git a/app/src/main/res/values-hu/strings.xml b/app/src/main/res/values-hu/strings.xml index 8384ed34..56081443 100644 --- a/app/src/main/res/values-hu/strings.xml +++ b/app/src/main/res/values-hu/strings.xml @@ -472,4 +472,8 @@ Értesítések némításának feloldása tőle %s %s kéri, hogy követhessen Felső eszköztár címének elrejtése + Elmentve! + Saját, mások számára nem látható megjegyzés erről a fiókról + Nincsenek közlemények. + Közlemények \ No newline at end of file diff --git a/app/src/main/res/values-it/strings.xml b/app/src/main/res/values-it/strings.xml index 0c74ad9d..2cc0cfb2 100644 --- a/app/src/main/res/values-it/strings.xml +++ b/app/src/main/res/values-it/strings.xml @@ -414,8 +414,8 @@ %d minuti rimasti - %d secondo - %d secondi + %d secondo rimasto + %d secondi rimasti Continua Indietro @@ -464,4 +464,22 @@ La dimensione dei file audio deve essere inferiore a 40 MB. Smetti di silenziare %s Richieste di seguirti + Salvato! + La tua nota privata su questo account + Nascondi il titolo della barra degli strumenti in alto + Mostra la finestra di dialogo di conferma prima del boosting + Mostra le anteprime dei collegamenti nelle sequenze temporali + Mastodon ha un intervallo minimo di programmazione di 5 minuti. + Non ci sono annunci. + Non hai stati pianificati. + Abilita il gesto di scorrimento per passare da una scheda all\'altra + Notifiche sulle richieste di essere seguiti + Parte inferiore + In cima + Posizione di navigazione principale + Mostra sfumature colorate per i media nascosti + Nascondi notifiche + Disattiva le notifiche da %s + Riattiva le notifiche da %s + Annunci \ No newline at end of file diff --git a/app/src/main/res/values-ru/strings.xml b/app/src/main/res/values-ru/strings.xml index d46030c5..a13d58ac 100644 --- a/app/src/main/res/values-ru/strings.xml +++ b/app/src/main/res/values-ru/strings.xml @@ -500,4 +500,9 @@ Заблокировать уведомления от %s Получать уведомления от %s Разблокировать %s + Сохранено! + Ваша личная заметка об этой учётной записи + Скрыть заголовок в верхней панели + Объявлений нет. + Объявления \ No newline at end of file diff --git a/app/src/main/res/values-vi/strings.xml b/app/src/main/res/values-vi/strings.xml index 7e97c1f4..1730919e 100644 --- a/app/src/main/res/values-vi/strings.xml +++ b/app/src/main/res/values-vi/strings.xml @@ -39,7 +39,7 @@ Không tìm thấy trình duyệt web. Tài khoản không đúng Không được để trống. - Không có Internet! Xin kiểm tra kết nối và thử lại! + Rớt mạng! Xin kiểm tra kết nối và thử lại! Đã có lỗi xảy ra. Máy chủ này không cấp quyền truy cập. Danh sách @@ -131,7 +131,7 @@ Ẩn Chia sẻ Chụp hình - Tạo bình chọn + Tạo vău Thêm tệp Mở trong trình duyệt Bộ sưu tập @@ -174,7 +174,7 @@ Mở rộng Hiển thị Nội dung bị ẩn - Nội dung nhạy cảm + Nhạy cảm %s chia sẻ \@%s Giấy phép @@ -221,7 +221,7 @@ Bảng tin Chủ đề Giao diện - cuộc bình chọn kết thúc + vău đã kết thúc tút được thích tút được chia sẻ yêu cầu theo dõi @@ -278,8 +278,8 @@ Powered by Tusky Tusky %s Tài khoản bị khóa - Thông báo khi những cuộc bình chọn kết thúc - Bình chọn + Thông báo khi những vău kết thúc + Vău Thông báo khi ai đó thích tút của bạn Lượt thích Toàn bộ câu @@ -315,9 +315,9 @@ Bạn không có tút đã lên lịch. Bạn không có bản nháp nào. Sửa - Lựa chọn %d - Cho phép chọn nhiều lựa chọn - Thêm lựa chọn + Bình chọn %d + Cho phép vău nhiều bình chọn + Thêm bình chọn 7 ngày 3 ngày 1 ngày @@ -325,7 +325,7 @@ 1 giờ 30 phút 5 phút - Bình chọn + Vău Vuốt để chuyển qua lại giữa các tab Hiện bộ lọc thông báo Không thể tìm thấy @@ -349,18 +349,18 @@ %d ngày nữa kết thúc - Cuộc bình chọn bạn tạo đã kết thúc - Cuộc bình chọn bạn tham gia đã kết thúc - Bình chọn + Vău bạn tạo đã kết thúc + Vău mà bạn tham gia đã kết thúc + Vău Kết thúc kết thúc lúc %s %s người - %s phiếu + %s vău - %1$s • %2$s + %1$s • %2$s Mô tả cho hình %s Viết Viết tút @@ -373,7 +373,7 @@ Không cần dấu # Thêm hashtag Tên danh sách - Những lựa chọn: %1$s, %2$s, %3$s, %4$s; %5$s + Lượt bình chọn: %1$s, %2$s, %3$s, %4$s; %5$s Tin nhắn Người theo dõi Mở diff --git a/fastlane/metadata/android/hu/changelogs/77.txt b/fastlane/metadata/android/hu/changelogs/77.txt new file mode 100644 index 00000000..43b92b6b --- /dev/null +++ b/fastlane/metadata/android/hu/changelogs/77.txt @@ -0,0 +1,10 @@ +Tusky v13.0 + +- privát profilmegjegyzések támogatása (Mastodon 3.2.0 funkció) +- adminisztrátori közlemények támogatása (Mastodon 3.1.0 funkció) + +- az éppen használt fiókod avatarja mostantól látszik az eszköztáron +- az idővonalon egy profilra kattintva előjön a felhasználó profiloldala + +- rengeteg hibajavítás és apró fejlesztés +- javított fordítások diff --git a/fastlane/metadata/android/it/changelogs/70.txt b/fastlane/metadata/android/it/changelogs/70.txt new file mode 100644 index 00000000..e77f479f --- /dev/null +++ b/fastlane/metadata/android/it/changelogs/70.txt @@ -0,0 +1,8 @@ +Tusky v10.0 + +- Ora puoi contrassegnare gli stati ed elencare i tuoi segnalibri in Tusky. +- Ora puoi programmare i tuoi toot con Tusky. Tieni presente che il tempo selezionato deve essere di almeno 5 minuti in futuro. +- Ora puoi aggiungere elenchi alla schermata principale. +- Ora puoi pubblicare allegati audio con Tusky. + +E molti altri piccoli miglioramenti e correzioni di bug! diff --git a/fastlane/metadata/android/it/changelogs/74.txt b/fastlane/metadata/android/it/changelogs/74.txt new file mode 100644 index 00000000..c04ab9cb --- /dev/null +++ b/fastlane/metadata/android/it/changelogs/74.txt @@ -0,0 +1,8 @@ +Tusky v12.0 + +- Interfaccia principale migliorata - ora puoi spostare le schede in basso +- Quando si disattiva l'audio di un utente, ora è possibile anche decidere se disattivare l'audio delle sue notifiche +- Ora puoi seguire tutti gli hashtag che desideri in una singola scheda hashtag +- Migliorata la modalità di visualizzazione delle descrizioni dei media in modo che funzioni anche per descrizioni molto lunghe + +Log delle modifiche completo: https://github.com/tuskyapp/Tusky/releases diff --git a/fastlane/metadata/android/it/changelogs/77.txt b/fastlane/metadata/android/it/changelogs/77.txt new file mode 100644 index 00000000..6aea3a17 --- /dev/null +++ b/fastlane/metadata/android/it/changelogs/77.txt @@ -0,0 +1,10 @@ +Tusky v13.0 + +- supporto per le note del profilo (funzionalità di Mastodon 3.2.0) +- supporto per gli annunci dell'amministratore (funzionalità di Mastodon 3.1.0) + +- l'avatar del tuo account selezionato verrà ora mostrato nella barra degli strumenti principale +- facendo clic sul nome visualizzato in una sequenza temporale si aprirà ora la pagina del profilo di quell'utente + +- molte correzioni di bug e piccoli miglioramenti +- traduzioni migliorate diff --git a/fastlane/metadata/android/it/short_description.txt b/fastlane/metadata/android/it/short_description.txt index 06089da0..d5566155 100644 --- a/fastlane/metadata/android/it/short_description.txt +++ b/fastlane/metadata/android/it/short_description.txt @@ -1 +1 @@ -Un client multi-utente per il social network Mastodon +Un client multi account per il social network Mastodon diff --git a/fastlane/metadata/android/nb_NO/changelogs/77.txt b/fastlane/metadata/android/nb_NO/changelogs/77.txt new file mode 100644 index 00000000..7f72db62 --- /dev/null +++ b/fastlane/metadata/android/nb_NO/changelogs/77.txt @@ -0,0 +1,10 @@ +Tusky v13.0 + +- støtte for profilnotater (Mastodon 3.2.0-funksjonalitet) +- støtte for administratorkunngjøringer (Mastodon 3.1.0-funksjonalitet) + +- avataren som tilhører valgt konto vil nå vises på hovedverktøylinjen +- trykk på en brukers visningsnavn i tidslinjen vil åpne profilen til brukeren + +- mange feilrettinger og mindre forbedringer +- forbedrede oversettelser diff --git a/fastlane/metadata/android/sv/changelogs/74.txt b/fastlane/metadata/android/sv/changelogs/74.txt new file mode 100644 index 00000000..2999b8bb --- /dev/null +++ b/fastlane/metadata/android/sv/changelogs/74.txt @@ -0,0 +1,8 @@ +Tusky v12.0 + +- Improved main interface - you can now move the tabs to the bottom +- When muting a user, you can now also decide whether to mute their notifications +- You can now follow as many hashtags as you want in one single hashtag tab +- Improved the way media descriptions are displayed so it works even for super long descriptions + +Full changelog: https://github.com/tuskyapp/Tusky/releases diff --git a/fastlane/metadata/android/vi/changelogs/77.txt b/fastlane/metadata/android/vi/changelogs/77.txt new file mode 100644 index 00000000..11a1d6fd --- /dev/null +++ b/fastlane/metadata/android/vi/changelogs/77.txt @@ -0,0 +1,8 @@ +Tusky v13.0 + +- Hỗ trợ ghi chú về một ai đó (tính năng Mastodon 3.2.0) +- Hỗ trợ hiện thông báo máy chủ (tính năng Mastodon 3.1.0) +- Ảnh đại diện của tài khoản từ giờ sẽ hiện trên thanh menu chính +- Nhấn vào tên ai đó trên bảng tin sẽ chuyển tới trang cá nhân của họ +- Sửa lỗi linh tinh và cải thiện hiệu năng +- Trau dồi bản dịch diff --git a/fastlane/metadata/android/zh_Hant/title.txt b/fastlane/metadata/android/zh_Hant/title.txt new file mode 100644 index 00000000..0238ffc0 --- /dev/null +++ b/fastlane/metadata/android/zh_Hant/title.txt @@ -0,0 +1 @@ +Tusky