Merge branch 'develop'

This commit is contained in:
Conny Duck 2020-12-04 19:27:56 +01:00
commit 92328784ca
26 changed files with 244 additions and 93 deletions

View file

@ -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()
}

View file

@ -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() {

View file

@ -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<Any>
@Inject
lateinit var notificationWorkerFactory: Lazy<NotificationWorkerFactory>
lateinit var notificationWorkerFactory: NotificationWorkerFactory
override fun onCreate() {
// Uncomment me to get StrictMode violation logs
@ -82,16 +80,13 @@ 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())
.setWorkerFactory(notificationWorkerFactory)
.build()
)
}
}
override fun attachBaseContext(base: Context) {
localeManager = LocaleManager(base)

View file

@ -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?

View file

@ -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)
}

View file

@ -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()))

View file

@ -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?,

View file

@ -330,6 +330,7 @@ class AccountListFragment : BaseFragment(), AccountActionListener, Injectable {
private fun fetchRelationships(ids: List<String>) {
api.relationships(ids)
.observeOn(AndroidSchedulers.mainThread())
.autoDispose(from(this))
.subscribe(::onFetchRelationshipsSuccess) {
onFetchRelationshipsFailure(ids)

View file

@ -36,4 +36,6 @@
tools:src="@drawable/elephant_error"
tools:visibility="visible" />
<include layout="@layout/item_status_bottom_sheet" />
</androidx.coordinatorlayout.widget.CoordinatorLayout>

View file

@ -164,9 +164,9 @@
<string name="pref_title_notification_alert_vibrate">Sciigi per vibro</string>
<string name="pref_title_notification_alert_light">Sciigi per lumo</string>
<string name="pref_title_notification_filters">Sciigi al mi kiam</string>
<string name="pref_title_notification_filter_mentions">menciita</string>
<string name="pref_title_notification_filter_follows">sekvita</string>
<string name="pref_title_notification_filter_reblogs">viaj mesaĝoj estas diskonigitaj</string>
<string name="pref_title_notification_filter_mentions">iu mencias min</string>
<string name="pref_title_notification_filter_follows">iu sekvas min</string>
<string name="pref_title_notification_filter_reblogs">miaj mesaĝoj estas diskonigitaj</string>
<string name="pref_title_notification_filter_favourites">miaj mesaĝoj estas stelumitaj</string>
<string name="pref_title_appearance_settings">Aspekto</string>
<string name="pref_title_app_theme">Temo de la apo</string>
@ -363,7 +363,7 @@
<string name="pref_title_animate_gif_avatars">Moviĝi GIF profilbildojn</string>
<string name="notification_poll_name">Enketoj</string>
<string name="notification_poll_description">Sciigoj pri enketoj kiuj finiĝis</string>
<string name="edit_hashtag_hint">Kradvortoj sen #</string>
<string name="edit_hashtag_hint">Kradvorto sen #</string>
<string name="notifications_clear">Viŝi</string>
<string name="notifications_apply_filter">Filtri</string>
<string name="filter_apply">Apliki</string>
@ -373,15 +373,14 @@
<string name="compose_preview_image_description">Agoj por bildo %s</string>
<string name="poll_info_format"> <!-- 15 votes • 1 hour left --> %1$s • %2$s</string>
<plurals name="poll_info_votes">
<item quantity="one"/>
<item quantity="other"/>
<item quantity="one">%s voĉdono</item>
<item quantity="other">%s voĉdonoj</item>
</plurals>
<string name="poll_info_time_absolute">finiĝos je %s</string>
<string name="poll_info_closed">finiĝita</string>
<string name="poll_vote">Voĉdoni</string>
<string name="poll_ended_voted">Enketo al kiu vi voĉdonis finiĝis</string>
<string name="poll_ended_created">Enketo kiu vi kreis finiĝis</string>
<string name="title_domain_mutes">Kaŝitaj domajnoj</string>
<string name="action_view_domain_mutes">Kaŝitaj domajnoj</string>
<string name="action_mute_domain">Silentigi %s</string>
@ -437,4 +436,42 @@
<string name="no_scheduled_status">Vi ne havas iun ajn planitan mesaĝon.</string>
<string name="notification_follow_request_name">Petoj de sekvado</string>
<string name="hashtags">Kradvortoj</string>
<plurals name="poll_info_people">
<item quantity="one">%s homo</item>
<item quantity="other">%s homoj</item>
</plurals>
<string name="add_hashtag_title">Aldoni kradvorton</string>
<string name="notification_follow_request_description">Sciigoj pri petoj de sekvado</string>
<string name="pref_title_gradient_for_media">Montri buntajn transirojn por kaŝitaj aŭdovidaĵoj</string>
<string name="dialog_mute_hide_notifications">Kaŝi la sciigojn</string>
<string name="dialog_mute_warning">Silentigi @%s\?</string>
<string name="dialog_block_warning">Bloki @%s\?</string>
<string name="action_unmute_conversation">Malsilentigi la konversacion</string>
<string name="action_mute_conversation">Silentigi la konversacion</string>
<string name="action_unmute_domain">Malsilentigi %s</string>
<string name="action_mute_notifications_desc">Silentigi sciigojn de %s</string>
<string name="action_unmute_notifications_desc">Malsilentigi sciigojn de %s</string>
<string name="action_unmute_desc">Malsilentigi %s</string>
<string name="notification_follow_request_format">%s petis sekvi vin</string>
<string name="title_announcements">Anoncoj</string>
<plurals name="poll_timespan_minutes">
<item quantity="one">%d minuto restas</item>
<item quantity="other">%d minutoj restas</item>
</plurals>
<plurals name="poll_timespan_seconds">
<item quantity="one">%d sekundo restas</item>
<item quantity="other">%d sekundoj restas</item>
</plurals>
<plurals name="poll_timespan_hours">
<item quantity="one">%d horo restas</item>
<item quantity="other">%d horoj restas</item>
</plurals>
<plurals name="poll_timespan_days">
<item quantity="one">%d tago restas</item>
<item quantity="other">%d tagoj restas</item>
</plurals>
<string name="pref_main_nav_position">Pozicio de la ĉefa naviga breto</string>
<string name="pref_title_notification_filter_follow_requests">iu petas sekvi min</string>
<string name="pref_main_nav_position_option_bottom">Malsupro</string>
<string name="pref_main_nav_position_option_top">Supro</string>
</resources>

View file

@ -475,4 +475,8 @@
<string name="action_mute_notifications_desc">Silenciar notificaciones desde %s</string>
<string name="action_unmute_notifications_desc">Dejar de silenciar notificaciones desde %s</string>
<string name="pref_title_hide_top_toolbar">Ocultar el título de la barra de herramientas superior</string>
<string name="account_note_saved">¡Guardado!</string>
<string name="account_note_hint">Tu nota privada acerca de esta cuenta</string>
<string name="no_announcements">No hay anuncios.</string>
<string name="title_announcements">Anuncios</string>
</resources>

View file

@ -93,7 +93,7 @@
<string name="action_accept">پذیرش</string>
<string name="action_reject">رد</string>
<string name="action_search">جست‌وجو</string>
<string name="action_access_saved_toot">پیش‌نویس</string>
<string name="action_access_saved_toot">پیش‌نویسها</string>
<string name="action_toggle_visibility">نمایانی بوق</string>
<string name="action_content_warning">هشدار محتوا</string>
<string name="action_emoji_keyboard">صفحه‌کلید اموجی</string>
@ -148,7 +148,7 @@
<string name="pref_title_notification_filter_reblogs">فرسته‌هایم تقویت شدند</string>
<string name="pref_title_notification_filter_favourites">فرسته‌هایم برگزیده شدند</string>
<string name="pref_title_appearance_settings">ظاهر</string>
<string name="pref_title_app_theme">تم برنامه</string>
<string name="pref_title_app_theme">زمینهٔ کاره</string>
<string name="pref_title_timelines">خط‌ زمانی‌ها</string>
<string name="app_them_dark">روشن</string>
<string name="app_theme_light">سیاه</string>
@ -156,19 +156,19 @@
<string name="app_theme_auto">خودکار در غروب</string>
<string name="pref_title_browser_settings">مرورگر</string>
<string name="pref_title_custom_tabs">استفاده از زبانه‌های سفارشی کروم</string>
<string name="pref_title_hide_follow_button">پنهان کردن دکمه ایجاد هنگام پیمایش</string>
<string name="pref_title_hide_follow_button">نهفتن دکمهٔ ایجاد، هنگام پیمایش</string>
<string name="pref_title_status_filter">فیلتر کردن خط زمانی</string>
<string name="pref_title_status_tabs">زبانه‌ها</string>
<string name="pref_title_show_boosts">نمایش تقویت‌ها</string>
<string name="pref_title_show_replies">نمایش پاسخ‌ها</string>
<string name="pref_title_show_media_preview">بارگیری پیش‌نمایش رسانه</string>
<string name="pref_title_proxy_settings">پراکسی</string>
<string name="pref_title_http_proxy_settings">پراکسی HTTP</string>
<string name="pref_title_http_proxy_enable">فعال‌سازی پراکسی HTTP</string>
<string name="pref_title_proxy_settings">پیشکار</string>
<string name="pref_title_http_proxy_settings">پیشکار HTTP</string>
<string name="pref_title_http_proxy_enable">به کار انداختن پیشکار HTTP</string>
<string name="pref_title_http_proxy_server">کارساز پیشکار HTTP</string>
<string name="pref_title_http_proxy_port">درگاه پیشکار HTTP</string>
<string name="pref_default_post_privacy">محرمانگی پیش‌گزیدهٔ فرسته</string>
<string name="pref_default_media_sensitivity">همواره رسانه را به عنوان حساس نشانه‌گذاری کن</string>
<string name="pref_default_media_sensitivity">علامت‌گذاری همیشگی رسانه به عنوان حساس</string>
<string name="pref_publishing">در حال انتشار (همگام با کارساز)</string>
<string name="pref_failed_to_sync">ناتوانی در هم‌گام‌سازی تنظیمات</string>
<string name="post_privacy_public">عمومی</string>
@ -279,7 +279,7 @@
<string name="title_statuses_pinned">سنجاق‌شده</string>
<string name="title_domain_mutes">دامنه‌های نهفته</string>
<string name="status_username_format">\@%s</string>
<string name="message_empty">این‌حا هیچ‌چیزی نیست.</string>
<string name="message_empty">این‌جا هیچ‌چیزی نیست.</string>
<string name="action_unreblog">برداشتن تقویت</string>
<string name="action_unfavourite">برداشتن برگزیدگی</string>
<string name="action_delete_and_redraft">حذف و بازنویسی</string>
@ -289,11 +289,11 @@
<string name="action_add_tab">افزودن زبانه</string>
<string name="action_links">پیوندها</string>
<string name="action_mentions">اشاره‌ها</string>
<string name="action_hashtags">هشتگها</string>
<string name="action_hashtags">برچسبها</string>
<string name="action_open_reblogger">گشودن تقویت‌کنندهٔ بوق</string>
<string name="action_open_reblogged_by">نمایش تقویت‌ها</string>
<string name="action_open_faved_by">نمایش برگزیده‌ها</string>
<string name="title_hashtags_dialog">هشتگها</string>
<string name="title_hashtags_dialog">برچسبها</string>
<string name="title_mentions_dialog">اشاره‌ها</string>
<string name="title_links_dialog">پیوندها</string>
<string name="action_open_media_n">گشودن رسانه #%d</string>
@ -305,11 +305,11 @@
<string name="dialog_redraft_toot_warning">می‌خواهید این بوق را پاک و بازنویسی کنید؟</string>
<string name="mute_domain_warning_dialog_ok">نهفتن تمام دامنه</string>
<string name="pref_title_notification_filter_poll">پایان نظرسنجی‌ها</string>
<string name="pref_title_timeline_filters">صافیها</string>
<string name="app_theme_system">استفاده از طرح سیستم</string>
<string name="pref_title_timeline_filters">پالایهها</string>
<string name="app_theme_system">استفاده از طراحی سامانه</string>
<string name="pref_title_language">زبان</string>
<string name="pref_title_bot_overlay">نمایش نشانگر برای بات‌ها</string>
<string name="pref_title_animate_gif_avatars">پویانمایی آواتار gif</string>
<string name="pref_title_animate_gif_avatars">پویانمایی آواتارهای جیف</string>
<string name="notification_poll_name">نظرسنجی‌ها</string>
<string name="notification_poll_description">آگاهی‌ها دربارهٔ نظرسنجی‌های پایان‌یافته</string>
<string name="about_tusky_version">تاسکی %s</string>
@ -364,7 +364,7 @@
<string name="description_visiblity_direct">مستقیم</string>
<string name="description_poll">نظرسنجی با گزینه‌ها: %1$s، %2$s، %3$s، %4$s؛ %5$s</string>
<string name="hint_list_name">نام فهرست</string>
<string name="edit_hashtag_hint">هشتگ بدون #</string>
<string name="edit_hashtag_hint">برچسب بدون #</string>
<string name="notifications_clear">پاک‌سازی</string>
<string name="notifications_apply_filter">پالایش</string>
<string name="filter_apply">اعمال</string>
@ -434,15 +434,15 @@
<string name="no_saved_status">هیچ پیش‌نویسی ندارید.</string>
<string name="no_scheduled_status">هیچ وضعیت زمان‌بسته‌ای ندارید.</string>
<string name="warning_scheduling_interval">ماستودون، بازهٔ زمان‌بندی‌ای با کمینهٔ ۵ دقیقه دارد.</string>
<string name="pref_title_confirm_reblogs">نمایش گفت‌وگوی تأیید پیش از تقویت</string>
<string name="pref_title_confirm_reblogs">نمایش گفت‌وگوی تأیید، پیش از تقویت</string>
<string name="pref_title_show_cards_in_timelines">پیش‌نمایش پیوندها در خط‌زمانی‌ها</string>
<string name="pref_title_enable_swipe_for_tabs">به کار انداختن اشارهٔ کشیدنی برای تعویض بین زبانه‌ها</string>
<plurals name="poll_info_people">
<item quantity="one">%s نفر</item>
<item quantity="other">%s نفر</item>
</plurals>
<string name="hashtags">هشتگها</string>
<string name="add_hashtag_title">افزودن هشتگ</string>
<string name="hashtags">برچسبها</string>
<string name="add_hashtag_title">افزودن برچسب</string>
<string name="notification_follow_request_description">آگاهی‌ها دربارهٔ درخواست‌های پی‌گیری</string>
<string name="notification_follow_request_name">درخواست‌های پی‌گیری</string>
<string name="pref_title_notification_filter_follow_requests">درخواست پی‌گیری</string>

View file

@ -39,7 +39,7 @@
<string name="title_saved_toot">Brouillons</string>
<string name="title_licenses">Licences</string>
<string name="status_username_format">\@%s</string>
<string name="status_boosted_format">%s a boosté</string>
<string name="status_boosted_format">%s a partagé</string>
<string name="status_sensitive_media_title">Contenu sensible</string>
<string name="status_media_hidden_title">Média caché</string>
<string name="status_sensitive_media_directions">Cliquer pour voir</string>
@ -49,7 +49,7 @@
<string name="status_content_show_less">Replier</string>
<string name="message_empty">Rien ici.</string>
<string name="footer_empty">Il ny a aucun pouet ici pour linstant. Glissez vers le bas pour actualiser !</string>
<string name="notification_reblog_format">%s a boosté votre pouet</string>
<string name="notification_reblog_format">%s a partagé votre pouet</string>
<string name="notification_favourite_format">%s a ajouté votre pouet à ses favoris</string>
<string name="notification_follow_format">%s vous suit</string>
<string name="report_username_format">Signaler @%s</string>
@ -69,8 +69,8 @@
<string name="action_unfollow">Ne plus suivre</string>
<string name="action_block">Bloquer</string>
<string name="action_unblock">Débloquer</string>
<string name="action_hide_reblogs">Cacher les boosts</string>
<string name="action_show_reblogs">Afficher les boosts</string>
<string name="action_hide_reblogs">Cacher les partages</string>
<string name="action_show_reblogs">Afficher les partages</string>
<string name="action_report">Signaler</string>
<string name="action_delete">Supprimer</string>
<string name="action_send">POUET</string>
@ -109,8 +109,8 @@
<string name="action_links">Liens</string>
<string name="action_mentions">Mentions</string>
<string name="action_hashtags">Hashtags</string>
<string name="action_open_reblogger">Afficher lauteur·rice du boost</string>
<string name="action_open_reblogged_by">Afficher les boosts</string>
<string name="action_open_reblogger">Afficher lauteur·rice du partage</string>
<string name="action_open_reblogged_by">Afficher les partages</string>
<string name="action_open_faved_by">Montrer les favoris</string>
<string name="title_hashtags_dialog">Hashtags</string>
<string name="title_mentions_dialog">Mentions</string>
@ -167,10 +167,10 @@
<string name="pref_title_notification_alert_sound">Notifier avec un son</string>
<string name="pref_title_notification_alert_vibrate">Notifier avec une vibration</string>
<string name="pref_title_notification_alert_light">Notifier avec une lumière</string>
<string name="pref_title_notification_filters">Me notifier lorsque</string>
<string name="pref_title_notification_filters">Me notifier quand</string>
<string name="pref_title_notification_filter_mentions">on me mentionne</string>
<string name="pref_title_notification_filter_follows">On me suit</string>
<string name="pref_title_notification_filter_reblogs">Mes pouets sont boostés</string>
<string name="pref_title_notification_filter_follows">on vient de me suivre</string>
<string name="pref_title_notification_filter_reblogs">mes pouets sont partagés</string>
<string name="pref_title_notification_filter_favourites">mes pouets sont mis en favoris</string>
<string name="pref_title_appearance_settings">Apparence</string>
<string name="pref_title_app_theme">Thème de lapplication</string>
@ -187,7 +187,7 @@
<string name="pref_title_language">Langue</string>
<string name="pref_title_status_filter">Filtrage des fils</string>
<string name="pref_title_status_tabs">Onglets</string>
<string name="pref_title_show_boosts">Afficher les boosts</string>
<string name="pref_title_show_boosts">Afficher les partages</string>
<string name="pref_title_show_replies">Afficher les réponses</string>
<string name="pref_title_show_media_preview">Montrer les miniatures des médias</string>
<string name="pref_title_proxy_settings">Proxy</string>
@ -212,8 +212,8 @@
<string name="notification_mention_descriptions">Notifications pour les nouvelles mentions</string>
<string name="notification_follow_name">Nouveaux abonnés</string>
<string name="notification_follow_description">Notifications pour les nouveaux abonnés</string>
<string name="notification_boost_name">Boosts</string>
<string name="notification_boost_description">Notifications quand vos pouets sont boostés</string>
<string name="notification_boost_name">Partages</string>
<string name="notification_boost_description">Notifications quand vos pouets sont partagés</string>
<string name="notification_favourite_name">Favoris</string>
<string name="notification_favourite_description">Notifications quand vos pouets sont mis en favoris</string>
<string name="notification_mention_format">%s vous a mentionné</string>
@ -316,8 +316,8 @@
<string name="download_failed">Échec du téléchargement</string>
<string name="profile_badge_bot_text">Robot</string>
<string name="account_moved_description">%1$s a déménagé vers :</string>
<string name="reblog_private">Booster vers laudience originale</string>
<string name="unreblog_private">Annuler le boost</string>
<string name="reblog_private">Partager à laudience originale</string>
<string name="unreblog_private">Annuler le partage</string>
<string name="license_description">Tusky contient du code et des ressources issus des projets open source suivants :</string>
<string name="license_apache_2">Sous licence Apache (copie ci-dessous)</string>
<string name="license_cc_by_4">CC-BY 4.0</string>
@ -335,10 +335,10 @@
<item quantity="other"><b>%1$s</b> Favoris</item>
</plurals>
<plurals name="reblogs">
<item quantity="one"><b>%s</b> Boost</item>
<item quantity="other"><b>%s</b> Boosts</item>
<item quantity="one"><b>%s</b> Partage</item>
<item quantity="other"><b>%s</b> Partages</item>
</plurals>
<string name="title_reblogged_by">Boosté par</string>
<string name="title_reblogged_by">Partagé par</string>
<string name="title_favourited_by">Mis en favoris par</string>
<string name="conversation_1_recipients">%1$s</string>
<string name="conversation_2_recipients">%1$s et %2$s</string>
@ -362,7 +362,7 @@
<string name="description_visiblity_direct"> Direct
</string>
<string name="hint_list_name">Nom de la liste</string>
<string name="edit_hashtag_hint">Hastags sans #</string>
<string name="edit_hashtag_hint">Hashtag sans #</string>
<string name="notifications_clear">Nettoyer</string>
<string name="notifications_apply_filter">Filtrer</string>
<string name="filter_apply">Appliquer</string>
@ -376,7 +376,7 @@
<string name="poll_info_closed">Terminé</string>
<string name="poll_vote">Voter</string>
<string name="notification_poll_name">Sondages</string>
<string name="pref_title_notification_filter_poll">Les sondages sont clos</string>
<string name="pref_title_notification_filter_poll">les sondages se terminent</string>
<string name="notification_poll_description">Notifications pour les sondages terminés</string>
<string name="poll_ended_created">Un sondage que vous avez créé est terminé</string>
<plurals name="poll_timespan_days">
@ -403,7 +403,7 @@
<string name="title_domain_mutes">Domaines cachés</string>
<string name="action_view_domain_mutes">Domaines cachés</string>
<string name="action_mute_domain">Masquer %s</string>
<string name="confirmation_domain_unmuted">%s nest plus masqué</string>
<string name="confirmation_domain_unmuted">%s nest plus masqué·e</string>
<string name="mute_domain_warning_dialog_ok">Masquer le domaine entier</string>
<string name="caption_notoemoji">Lensemble démojis actuel de Google</string>
<string name="button_continue">Continuer</string>
@ -455,25 +455,25 @@
<string name="warning_scheduling_interval">Lintervalle minimum de planification sur Mastodon est de5 minutes.</string>
<string name="notification_follow_request_name">Demandes d\'abonnement</string>
<string name="dialog_block_warning">Bloquer @%s \?</string>
<string name="pref_title_confirm_reblogs">Afficher une boite de confirmation avant de booster</string>
<string name="pref_title_confirm_reblogs">Afficher une fenêtre de confirmation avant de partager</string>
<string name="pref_title_show_cards_in_timelines">Afficher des aperçus des liens dans les fils</string>
<string name="notification_follow_request_format">%s a demandé à vous suivre</string>
<string name="notification_follow_request_description">Notifications à propos des demandes dabonnement</string>
<string name="pref_title_notification_filter_follow_requests">Demande dabonnement</string>
<string name="pref_title_notification_filter_follow_requests">on demande à me suivre</string>
<string name="dialog_mute_warning">Mettre en sourdine @%s \?</string>
<string name="action_unmute_conversation">Enlever la sourdine à la conversation</string>
<string name="action_mute_conversation">Silencer la conversation</string>
<string name="action_mute_conversation">Masquer la conversation</string>
<string name="pref_title_enable_swipe_for_tabs">Activer les gestes de glissement pour passer dun onglet à lautre</string>
<string name="hashtags">Hashtags</string>
<string name="add_hashtag_title">Ajouter hashtag</string>
<string name="add_hashtag_title">Ajouter un hashtag</string>
<string name="pref_title_gradient_for_media">Afficher des dégradés en couleur pour les médias cachés</string>
<string name="pref_main_nav_position_option_bottom">Bas</string>
<string name="pref_main_nav_position_option_top">Haut</string>
<string name="pref_main_nav_position">Position de navigation principale</string>
<string name="action_unmute_domain">Ne plus masquer %s</string>
<string name="dialog_mute_hide_notifications">Cacher les notifications</string>
<string name="action_mute_notifications_desc">Silencier les notifications de %s</string>
<string name="action_unmute_notifications_desc">Ne plus silencier les notifications de %s</string>
<string name="action_mute_notifications_desc">Masquer les notifications de %s</string>
<string name="action_unmute_notifications_desc">Ne plus masquer les notifications de %s</string>
<string name="action_unmute_desc">Ne plus masquer %s</string>
<plurals name="poll_info_people">
<item quantity="one">%s personne</item>
@ -484,4 +484,8 @@
<item quantity="one">%s voix</item>
<item quantity="other">%s voix</item>
</plurals>
<string name="account_note_saved">Sauvegardé !</string>
<string name="account_note_hint">Votre note privée sur ce compte</string>
<string name="no_announcements">Il ny a pas dannonces.</string>
<string name="title_announcements">Annonces</string>
</resources>

View file

@ -472,4 +472,8 @@
<string name="action_unmute_notifications_desc">Értesítések némításának feloldása tőle %s</string>
<string name="notification_follow_request_format">%s kéri, hogy követhessen</string>
<string name="pref_title_hide_top_toolbar">Felső eszköztár címének elrejtése</string>
<string name="account_note_saved">Elmentve!</string>
<string name="account_note_hint">Saját, mások számára nem látható megjegyzés erről a fiókról</string>
<string name="no_announcements">Nincsenek közlemények.</string>
<string name="title_announcements">Közlemények</string>
</resources>

View file

@ -414,8 +414,8 @@
<item quantity="other">%d minuti rimasti</item>
</plurals>
<plurals name="poll_timespan_seconds">
<item quantity="one">%d secondo</item>
<item quantity="other">%d secondi</item>
<item quantity="one">%d secondo rimasto</item>
<item quantity="other">%d secondi rimasti</item>
</plurals>
<string name="button_continue">Continua</string>
<string name="button_back">Indietro</string>
@ -464,4 +464,22 @@
<string name="error_audio_upload_size">La dimensione dei file audio deve essere inferiore a 40 MB.</string>
<string name="action_unmute_desc">Smetti di silenziare %s</string>
<string name="notification_follow_request_name">Richieste di seguirti</string>
<string name="account_note_saved">Salvato!</string>
<string name="account_note_hint">La tua nota privata su questo account</string>
<string name="pref_title_hide_top_toolbar">Nascondi il titolo della barra degli strumenti in alto</string>
<string name="pref_title_confirm_reblogs">Mostra la finestra di dialogo di conferma prima del boosting</string>
<string name="pref_title_show_cards_in_timelines">Mostra le anteprime dei collegamenti nelle sequenze temporali</string>
<string name="warning_scheduling_interval">Mastodon ha un intervallo minimo di programmazione di 5 minuti.</string>
<string name="no_announcements">Non ci sono annunci.</string>
<string name="no_scheduled_status">Non hai stati pianificati.</string>
<string name="pref_title_enable_swipe_for_tabs">Abilita il gesto di scorrimento per passare da una scheda all\'altra</string>
<string name="notification_follow_request_description">Notifiche sulle richieste di essere seguiti</string>
<string name="pref_main_nav_position_option_bottom">Parte inferiore</string>
<string name="pref_main_nav_position_option_top">In cima</string>
<string name="pref_main_nav_position">Posizione di navigazione principale</string>
<string name="pref_title_gradient_for_media">Mostra sfumature colorate per i media nascosti</string>
<string name="dialog_mute_hide_notifications">Nascondi notifiche</string>
<string name="action_mute_notifications_desc">Disattiva le notifiche da %s</string>
<string name="action_unmute_notifications_desc">Riattiva le notifiche da %s</string>
<string name="title_announcements">Annunci</string>
</resources>

View file

@ -500,4 +500,9 @@
<string name="action_mute_notifications_desc">Заблокировать уведомления от %s</string>
<string name="action_unmute_notifications_desc">Получать уведомления от %s</string>
<string name="action_unmute_desc">Разблокировать %s</string>
<string name="account_note_saved">Сохранено!</string>
<string name="account_note_hint">Ваша личная заметка об этой учётной записи</string>
<string name="pref_title_hide_top_toolbar">Скрыть заголовок в верхней панели</string>
<string name="no_announcements">Объявлений нет.</string>
<string name="title_announcements">Объявления</string>
</resources>

View file

@ -39,7 +39,7 @@
<string name="error_no_web_browser_found">Không tìm thấy trình duyệt web.</string>
<string name="error_invalid_domain">Tài khoản không đúng</string>
<string name="error_empty">Không được để trống.</string>
<string name="error_network">Không có Internet! Xin kiểm tra kết nối và thử lại!</string>
<string name="error_network">Rớt mạng! Xin kiểm tra kết nối và thử lại!</string>
<string name="error_generic">Đã có lỗi xảy ra.</string>
<string name="error_failed_app_registration">Máy chủ này không cấp quyền truy cập.</string>
<string name="title_lists">Danh sách</string>
@ -131,7 +131,7 @@
<string name="action_mute">Ẩn</string>
<string name="action_share">Chia sẻ</string>
<string name="action_photo_take">Chụp hình</string>
<string name="action_add_poll">Tạo bình chọn</string>
<string name="action_add_poll">Tạo vău</string>
<string name="action_add_media">Thêm tệp</string>
<string name="action_open_in_web">Mở trong trình duyệt</string>
<string name="action_view_media">Bộ sưu tập</string>
@ -174,7 +174,7 @@
<string name="status_content_warning_show_more">Mở rộng</string>
<string name="status_sensitive_media_directions">Hiển thị</string>
<string name="status_media_hidden_title">Nội dung bị ẩn</string>
<string name="status_sensitive_media_title">Nội dung nhạy cảm</string>
<string name="status_sensitive_media_title">Nhạy cảm</string>
<string name="status_boosted_format">%s chia sẻ</string>
<string name="status_username_format">\@%s</string>
<string name="title_licenses">Giấy phép</string>
@ -221,7 +221,7 @@
<string name="pref_title_timelines">Bảng tin</string>
<string name="pref_title_app_theme">Chủ đề</string>
<string name="pref_title_appearance_settings">Giao diện</string>
<string name="pref_title_notification_filter_poll">cuộc bình chọn kết thúc</string>
<string name="pref_title_notification_filter_poll">vău đã kết thúc</string>
<string name="pref_title_notification_filter_favourites">tút được thích</string>
<string name="pref_title_notification_filter_reblogs">tút được chia sẻ</string>
<string name="pref_title_notification_filter_follow_requests">yêu cầu theo dõi</string>
@ -278,8 +278,8 @@
<string name="about_powered_by_tusky">Powered by Tusky</string>
<string name="about_tusky_version">Tusky %s</string>
<string name="description_account_locked">Tài khoản bị khóa</string>
<string name="notification_poll_description">Thông báo khi những cuộc bình chọn kết thúc</string>
<string name="notification_poll_name">Bình chọn</string>
<string name="notification_poll_description">Thông báo khi những vău kết thúc</string>
<string name="notification_poll_name">Vău</string>
<string name="notification_favourite_description">Thông báo khi ai đó thích tút của bạn</string>
<string name="notification_favourite_name">Lượt thích</string>
<string name="filter_dialog_whole_word">Toàn bộ câu</string>
@ -315,9 +315,9 @@
<string name="no_scheduled_status">Bạn không có tút đã lên lịch.</string>
<string name="no_saved_status">Bạn không có bản nháp nào.</string>
<string name="edit_poll">Sửa</string>
<string name="poll_new_choice_hint">Lựa chọn %d</string>
<string name="poll_allow_multiple_choices">Cho phép chọn nhiều lựa chọn</string>
<string name="add_poll_choice">Thêm lựa chọn</string>
<string name="poll_new_choice_hint">Bình chọn %d</string>
<string name="poll_allow_multiple_choices">Cho phép vău nhiều bình chọn</string>
<string name="add_poll_choice">Thêm bình chọn</string>
<string name="poll_duration_7_days">7 ngày</string>
<string name="poll_duration_3_days">3 ngày</string>
<string name="poll_duration_1_day">1 ngày</string>
@ -325,7 +325,7 @@
<string name="poll_duration_1_hour">1 giờ</string>
<string name="poll_duration_30_min">30 phút</string>
<string name="poll_duration_5_min">5 phút</string>
<string name="create_poll_title">Bình chọn</string>
<string name="create_poll_title">Vău</string>
<string name="pref_title_enable_swipe_for_tabs">Vuốt để chuyển qua lại giữa các tab</string>
<string name="pref_title_show_notifications_filter">Hiện bộ lọc thông báo</string>
<string name="failed_search">Không thể tìm thấy</string>
@ -349,18 +349,18 @@
<plurals name="poll_timespan_days">
<item quantity="other">%d ngày nữa kết thúc</item>
</plurals>
<string name="poll_ended_created">Cuộc bình chọn bạn tạo đã kết thúc</string>
<string name="poll_ended_voted">Cuộc bình chọn bạn tham gia đã kết thúc</string>
<string name="poll_vote">Bình chọn</string>
<string name="poll_ended_created">Vău bạn tạo đã kết thúc</string>
<string name="poll_ended_voted">Vău mà bạn tham gia đã kết thúc</string>
<string name="poll_vote">Vău</string>
<string name="poll_info_closed">Kết thúc</string>
<string name="poll_info_time_absolute">kết thúc lúc %s</string>
<plurals name="poll_info_people">
<item quantity="other">%s người</item>
</plurals>
<plurals name="poll_info_votes">
<item quantity="other">%s phiếu</item>
<item quantity="other">%s u</item>
</plurals>
<string name="poll_info_format"> <!-- 15 phiếu • 1 tiếng nữa kết thúc --> %1$s • %2$s</string>
<string name="poll_info_format"> <!-- 15 u • 1 tiếng nữa kết thúc --> %1$s • %2$s</string>
<string name="compose_preview_image_description">Mô tả cho hình %s</string>
<string name="compose_shortcut_short_label">Viết</string>
<string name="compose_shortcut_long_label">Viết tút</string>
@ -373,7 +373,7 @@
<string name="edit_hashtag_hint">Không cần dấu #</string>
<string name="add_hashtag_title">Thêm hashtag</string>
<string name="hint_list_name">Tên danh sách</string>
<string name="description_poll">Những lựa chọn: %1$s, %2$s, %3$s, %4$s; %5$s</string>
<string name="description_poll">Lượt bình chọn: %1$s, %2$s, %3$s, %4$s; %5$s</string>
<string name="description_visiblity_direct">Tin nhắn</string>
<string name="description_visiblity_private">Người theo dõi</string>
<string name="description_visiblity_unlisted">Mở</string>

View file

@ -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

View file

@ -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!

View file

@ -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

View file

@ -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

View file

@ -1 +1 @@
Un client multi-utente per il social network Mastodon
Un client multi account per il social network Mastodon

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -0,0 +1 @@
Tusky