Compare commits
23 Commits
492d4ae055
...
d9d6db4bda
Author | SHA1 | Date |
---|---|---|
UlrichKu | d9d6db4bda | |
Lakoja | c4573caea2 | |
Lakoja | fdca12d85a | |
Lakoja | 884a2fc211 | |
Konrad Pozniak | 197a1f4eda | |
Konrad Pozniak | e1904080b0 | |
XoseM | 85a27dea3e | |
Ümit Solmaz | c4c391434f | |
Hồ Nhất Duy | d090222412 | |
fin-w | 42df5f7c8a | |
Luna Jernberg | b8adc818c1 | |
Konrad Pozniak | c55d79562c | |
Konrad Pozniak | f2ffba1679 | |
Ümit Solmaz | 7b2b4612c5 | |
Weblate | fe7103f2b9 | |
Weblate | 7960db6c78 | |
Konrad Pozniak | 333beec17d | |
charlag | 8e4aab8bae | |
Conny Duck | 0362a32163 | |
Conny Duck | 3fe900c2dd | |
Conny Duck | 51b7745cee | |
Conny Duck | 0a9485f8e9 | |
Conny Duck | a9fe9ba079 |
|
@ -21,7 +21,7 @@ jobs:
|
|||
distribution: 'temurin'
|
||||
|
||||
- name: Gradle Wrapper Validation
|
||||
uses: gradle/wrapper-validation-action@v2
|
||||
uses: gradle/actions/wrapper-validation@v3
|
||||
|
||||
- name: Copy CI gradle.properties
|
||||
run: mkdir -p ~/.gradle ; cp .github/ci-gradle.properties ~/.gradle/gradle.properties
|
||||
|
|
39
CHANGELOG.md
39
CHANGELOG.md
|
@ -6,11 +6,48 @@
|
|||
|
||||
### Significant bug fixes
|
||||
|
||||
## v25.0
|
||||
|
||||
### New features and other improvements
|
||||
|
||||
- Added support for the [Mastodon translation api](https://docs.joinmastodon.org/methods/statuses/#translate).
|
||||
You can now find a new option "translate" in the three-dot-menu on posts that are not in your display language when your server supports the translation api.
|
||||
Support is determined by checking the `configuration.translation.enabled` attribute of the `/api/v2/instance` endpoint.
|
||||
[PR#4307](https://github.com/tuskyapp/Tusky/pull/4307)
|
||||
- The language of a post is now shown in the metadata section of the detail post view, if it is available. [PR#4127](https://github.com/tuskyapp/Tusky/pull/4127)
|
||||
- The transitions between screens have been changed to feel faster and align more with default Android transitions. [PR#4285](https://github.com/tuskyapp/Tusky/pull/4285)
|
||||
- The post statistic section below the detail post view is now always shown to prevent layout shifts on the first like or boost.
|
||||
[PR#4205](https://github.com/tuskyapp/Tusky/pull/4205) [PR#4260](https://github.com/tuskyapp/Tusky/pull/4260)
|
||||
- The filters for boosts/replies/self-boosts in the home timeline have moved from general preferences to account specific preferences. [PR#4115](https://github.com/tuskyapp/Tusky/pull/4115)
|
||||
- The json parsing library has been migrated from Gson to Moshi. This change will make Tusky no longer crash on unexpected server responses. [PR#4309](https://github.com/tuskyapp/Tusky/pull/4309)
|
||||
- Small layout improvements to the header of the profile view [PR#4375](https://github.com/tuskyapp/Tusky/pull/4375) [PR#4371](https://github.com/tuskyapp/Tusky/pull/4371)
|
||||
- support for Android 14 Upside Down Cake [PR#4224](https://github.com/tuskyapp/Tusky/pull/4224)
|
||||
- Various internal refactorings to improve performance and maintainability.
|
||||
[PR#4269](https://github.com/tuskyapp/Tusky/pull/4269)
|
||||
[PR#4290](https://github.com/tuskyapp/Tusky/pull/4290)
|
||||
[PR#4291](https://github.com/tuskyapp/Tusky/pull/4291)
|
||||
[PR#4296](https://github.com/tuskyapp/Tusky/pull/4296)
|
||||
[PR#4364](https://github.com/tuskyapp/Tusky/pull/4364)
|
||||
[PR#4366](https://github.com/tuskyapp/Tusky/pull/4366)
|
||||
[PR#4372](https://github.com/tuskyapp/Tusky/pull/4372)
|
||||
[PR#4356](https://github.com/tuskyapp/Tusky/pull/4356)
|
||||
[PR#4348](https://github.com/tuskyapp/Tusky/pull/4348)
|
||||
[PR#4339](https://github.com/tuskyapp/Tusky/pull/4339)
|
||||
[PR#4337](https://github.com/tuskyapp/Tusky/pull/4337)
|
||||
[PR#4336](https://github.com/tuskyapp/Tusky/pull/4336)
|
||||
[PR#4330](https://github.com/tuskyapp/Tusky/pull/4330)
|
||||
[PR#4235](https://github.com/tuskyapp/Tusky/pull/4235)
|
||||
[PR#4081](https://github.com/tuskyapp/Tusky/pull/4081)
|
||||
|
||||
### Significant bug fixes
|
||||
|
||||
- The setting to hide the notification filter bar that was accidentally removed is back. [PR#4225](https://github.com/tuskyapp/Tusky/pull/4225)
|
||||
|
||||
## v24.1
|
||||
|
||||
- The screen will stay on again while a video is playing. [PR#4168](https://github.com/tuskyapp/Tusky/pull/4168)
|
||||
- A memory leak has been fixed. This should improve stability and performance. [PR#4150](https://github.com/tuskyapp/Tusky/pull/4150) [PR#4153](https://github.com/tuskyapp/Tusky/pull/4153)
|
||||
- Emojis are now correctly counted as 1 character when composing a post. [PR#4152](hhttps://github.com/tuskyapp/Tusky/pull/4152)
|
||||
- Emojis are now correctly counted as 1 character when composing a post. [PR#4152](https://github.com/tuskyapp/Tusky/pull/4152)
|
||||
- Fixed a crash when text was selected on some devices. [PR#4166](https://github.com/tuskyapp/Tusky/pull/4166)
|
||||
- The icons in the help texts of empty timelines will now always be correctly
|
||||
aligned. [PR#4179](https://github.com/tuskyapp/Tusky/pull/4179)
|
||||
|
|
|
@ -29,8 +29,8 @@ android {
|
|||
namespace "com.keylesspalace.tusky"
|
||||
minSdk 24
|
||||
targetSdk 34
|
||||
versionCode 117
|
||||
versionName "24.1"
|
||||
versionCode 118
|
||||
versionName "25.0 beta 1"
|
||||
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
|
||||
vectorDrawables.useSupportLibrary = true
|
||||
|
||||
|
|
|
@ -1066,7 +1066,7 @@ class MainActivity : BottomSheetActivity(), ActionButtonActivity, HasAndroidInje
|
|||
}
|
||||
|
||||
updateProfiles()
|
||||
shareShortcutHelper.updateShortcut(accountManager.activeAccount!!)
|
||||
shareShortcutHelper.updateShortcuts()
|
||||
}
|
||||
|
||||
@SuppressLint("CheckResult")
|
||||
|
|
|
@ -4,6 +4,7 @@ import com.keylesspalace.tusky.TabData
|
|||
import com.keylesspalace.tusky.entity.Account
|
||||
import com.keylesspalace.tusky.entity.Notification
|
||||
import com.keylesspalace.tusky.entity.Poll
|
||||
import com.keylesspalace.tusky.entity.ScheduledStatus
|
||||
import com.keylesspalace.tusky.entity.Status
|
||||
|
||||
data class StatusChangedEvent(val status: Status) : Event
|
||||
|
@ -13,7 +14,7 @@ data class BlockEvent(val accountId: String) : Event
|
|||
data class MuteEvent(val accountId: String) : Event
|
||||
data class StatusDeletedEvent(val statusId: String) : Event
|
||||
data class StatusComposedEvent(val status: Status) : Event
|
||||
data class StatusScheduledEvent(val status: Status) : Event
|
||||
data class StatusScheduledEvent(val scheduledStatus: ScheduledStatus) : Event
|
||||
data class ProfileEditedEvent(val newProfileData: Account) : Event
|
||||
data class PreferenceChangedEvent(val preferenceKey: String) : Event
|
||||
data class MainTabsChangedEvent(val newTabs: List<TabData>) : Event
|
||||
|
|
|
@ -199,6 +199,14 @@ interface MastodonApi {
|
|||
@Body status: NewStatus
|
||||
): NetworkResult<Status>
|
||||
|
||||
@POST("api/v1/statuses")
|
||||
suspend fun createScheduledStatus(
|
||||
@Header("Authorization") auth: String,
|
||||
@Header(DOMAIN_HEADER) domain: String,
|
||||
@Header("Idempotency-Key") idempotencyKey: String,
|
||||
@Body status: NewStatus
|
||||
): NetworkResult<ScheduledStatus>
|
||||
|
||||
@GET("api/v1/statuses/{id}")
|
||||
suspend fun status(@Path("id") statusId: String): NetworkResult<Status>
|
||||
|
||||
|
|
|
@ -49,6 +49,7 @@ import com.keylesspalace.tusky.entity.Attachment
|
|||
import com.keylesspalace.tusky.entity.MediaAttribute
|
||||
import com.keylesspalace.tusky.entity.NewPoll
|
||||
import com.keylesspalace.tusky.entity.NewStatus
|
||||
import com.keylesspalace.tusky.entity.ScheduledStatus
|
||||
import com.keylesspalace.tusky.entity.Status
|
||||
import com.keylesspalace.tusky.network.MastodonApi
|
||||
import com.keylesspalace.tusky.util.unsafeLazy
|
||||
|
@ -256,13 +257,24 @@ class SendStatusService : Service(), Injectable {
|
|||
}
|
||||
)
|
||||
|
||||
val scheduled = !statusToSend.scheduledAt.isNullOrEmpty()
|
||||
|
||||
val sendResult = if (isNew) {
|
||||
mastodonApi.createStatus(
|
||||
"Bearer " + account.accessToken,
|
||||
account.domain,
|
||||
statusToSend.idempotencyKey,
|
||||
newStatus
|
||||
)
|
||||
if (!scheduled) {
|
||||
mastodonApi.createStatus(
|
||||
"Bearer " + account.accessToken,
|
||||
account.domain,
|
||||
statusToSend.idempotencyKey,
|
||||
newStatus
|
||||
)
|
||||
} else {
|
||||
mastodonApi.createScheduledStatus(
|
||||
"Bearer " + account.accessToken,
|
||||
account.domain,
|
||||
statusToSend.idempotencyKey,
|
||||
newStatus
|
||||
)
|
||||
}
|
||||
} else {
|
||||
mastodonApi.editStatus(
|
||||
statusToSend.statusId!!,
|
||||
|
@ -282,14 +294,12 @@ class SendStatusService : Service(), Injectable {
|
|||
|
||||
mediaUploader.cancelUploadScope(*statusToSend.media.map { it.localId }.toIntArray())
|
||||
|
||||
val scheduled = !statusToSend.scheduledAt.isNullOrEmpty()
|
||||
|
||||
if (scheduled) {
|
||||
eventHub.dispatch(StatusScheduledEvent(sentStatus))
|
||||
eventHub.dispatch(StatusScheduledEvent(sentStatus as ScheduledStatus))
|
||||
} else if (!isNew) {
|
||||
eventHub.dispatch(StatusChangedEvent(sentStatus))
|
||||
eventHub.dispatch(StatusChangedEvent(sentStatus as Status))
|
||||
} else {
|
||||
eventHub.dispatch(StatusComposedEvent(sentStatus))
|
||||
eventHub.dispatch(StatusComposedEvent(sentStatus as Status))
|
||||
}
|
||||
|
||||
notificationManager.cancel(statusId)
|
||||
|
|
|
@ -21,7 +21,6 @@ import android.content.Context
|
|||
import android.content.Intent
|
||||
import android.graphics.Bitmap
|
||||
import android.graphics.Canvas
|
||||
import android.text.TextUtils
|
||||
import androidx.core.app.Person
|
||||
import androidx.core.content.pm.ShortcutInfoCompat
|
||||
import androidx.core.content.pm.ShortcutManagerCompat
|
||||
|
@ -30,70 +29,72 @@ import com.bumptech.glide.Glide
|
|||
import com.keylesspalace.tusky.MainActivity
|
||||
import com.keylesspalace.tusky.R
|
||||
import com.keylesspalace.tusky.db.AccountEntity
|
||||
import com.keylesspalace.tusky.db.AccountManager
|
||||
import com.keylesspalace.tusky.di.ApplicationScope
|
||||
import javax.inject.Inject
|
||||
import kotlinx.coroutines.CoroutineScope
|
||||
import kotlinx.coroutines.Dispatchers
|
||||
import kotlinx.coroutines.launch
|
||||
|
||||
class ShareShortcutHelper @Inject constructor(
|
||||
private val context: Context,
|
||||
private val accountManager: AccountManager,
|
||||
@ApplicationScope private val externalScope: CoroutineScope
|
||||
) {
|
||||
|
||||
fun updateShortcut(account: AccountEntity) {
|
||||
externalScope.launch {
|
||||
fun updateShortcuts() {
|
||||
externalScope.launch(Dispatchers.IO) {
|
||||
val innerSize = context.resources.getDimensionPixelSize(R.dimen.adaptive_bitmap_inner_size)
|
||||
val outerSize = context.resources.getDimensionPixelSize(R.dimen.adaptive_bitmap_outer_size)
|
||||
|
||||
val bmp = if (TextUtils.isEmpty(account.profilePictureUrl)) {
|
||||
Glide.with(context)
|
||||
.asBitmap()
|
||||
.load(R.drawable.avatar_default)
|
||||
.submitAsync(innerSize, innerSize)
|
||||
} else {
|
||||
Glide.with(context)
|
||||
val maxNumberOfShortcuts = ShortcutManagerCompat.getMaxShortcutCountPerActivity(context)
|
||||
|
||||
val shortcuts = accountManager.accounts.take(maxNumberOfShortcuts).map { account ->
|
||||
|
||||
val bmp = Glide.with(context)
|
||||
.asBitmap()
|
||||
.load(account.profilePictureUrl)
|
||||
.placeholder(R.drawable.avatar_default)
|
||||
.error(R.drawable.avatar_default)
|
||||
.submitAsync(innerSize, innerSize)
|
||||
|
||||
// inset the loaded bitmap inside a 108dp transparent canvas so it looks good as adaptive icon
|
||||
val outBmp = Bitmap.createBitmap(outerSize, outerSize, Bitmap.Config.ARGB_8888)
|
||||
|
||||
val canvas = Canvas(outBmp)
|
||||
canvas.drawBitmap(
|
||||
bmp,
|
||||
(outerSize - innerSize).toFloat() / 2f,
|
||||
(outerSize - innerSize).toFloat() / 2f,
|
||||
null
|
||||
)
|
||||
|
||||
val icon = IconCompat.createWithAdaptiveBitmap(outBmp)
|
||||
|
||||
val person = Person.Builder()
|
||||
.setIcon(icon)
|
||||
.setName(account.displayName)
|
||||
.setKey(account.identifier)
|
||||
.build()
|
||||
|
||||
// This intent will be sent when the user clicks on one of the launcher shortcuts. Intent from share sheet will be different
|
||||
val intent = Intent(context, MainActivity::class.java).apply {
|
||||
action = Intent.ACTION_SEND
|
||||
type = "text/plain"
|
||||
putExtra(ShortcutManagerCompat.EXTRA_SHORTCUT_ID, account.id.toString())
|
||||
}
|
||||
|
||||
ShortcutInfoCompat.Builder(context, account.id.toString())
|
||||
.setIntent(intent)
|
||||
.setCategories(setOf("com.keylesspalace.tusky.Share"))
|
||||
.setShortLabel(account.displayName)
|
||||
.setPerson(person)
|
||||
.setLongLived(true)
|
||||
.setIcon(icon)
|
||||
.build()
|
||||
}
|
||||
|
||||
// inset the loaded bitmap inside a 108dp transparent canvas so it looks good as adaptive icon
|
||||
val outBmp = Bitmap.createBitmap(outerSize, outerSize, Bitmap.Config.ARGB_8888)
|
||||
|
||||
val canvas = Canvas(outBmp)
|
||||
canvas.drawBitmap(
|
||||
bmp,
|
||||
(outerSize - innerSize).toFloat() / 2f,
|
||||
(outerSize - innerSize).toFloat() / 2f,
|
||||
null
|
||||
)
|
||||
|
||||
val icon = IconCompat.createWithAdaptiveBitmap(outBmp)
|
||||
|
||||
val person = Person.Builder()
|
||||
.setIcon(icon)
|
||||
.setName(account.displayName)
|
||||
.setKey(account.identifier)
|
||||
.build()
|
||||
|
||||
// This intent will be sent when the user clicks on one of the launcher shortcuts. Intent from share sheet will be different
|
||||
val intent = Intent(context, MainActivity::class.java).apply {
|
||||
action = Intent.ACTION_SEND
|
||||
type = "text/plain"
|
||||
putExtra(ShortcutManagerCompat.EXTRA_SHORTCUT_ID, account.id.toString())
|
||||
}
|
||||
|
||||
val shortcutInfo = ShortcutInfoCompat.Builder(context, account.id.toString())
|
||||
.setIntent(intent)
|
||||
.setCategories(setOf("com.keylesspalace.tusky.Share"))
|
||||
.setShortLabel(account.displayName)
|
||||
.setPerson(person)
|
||||
.setLongLived(true)
|
||||
.setIcon(icon)
|
||||
.build()
|
||||
|
||||
ShortcutManagerCompat.addDynamicShortcuts(context, listOf(shortcutInfo))
|
||||
ShortcutManagerCompat.addDynamicShortcuts(context, shortcuts)
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -89,7 +89,7 @@
|
|||
<string name="action_share">Condividi</string>
|
||||
<string name="action_mute">Silenzia</string>
|
||||
<string name="action_unmute">Smetti di silenziare</string>
|
||||
<string name="action_mention">Menzioni</string>
|
||||
<string name="action_mention">Menzione</string>
|
||||
<string name="action_hide_media">Nascondi media</string>
|
||||
<string name="action_open_drawer">Apri compositore</string>
|
||||
<string name="action_save">Salva</string>
|
||||
|
@ -178,7 +178,7 @@
|
|||
<string name="pref_title_hide_follow_button">Nascondi il pulsante Componi mentre scorri</string>
|
||||
<string name="pref_title_language">Lingua</string>
|
||||
<string name="pref_title_post_filter">Filtraggio della timeline</string>
|
||||
<string name="pref_title_post_tabs">Schede</string>
|
||||
<string name="pref_title_post_tabs">Timeline principale</string>
|
||||
<string name="pref_title_show_boosts">Mostra ricondivisioni</string>
|
||||
<string name="pref_title_show_replies">Mostra risposte</string>
|
||||
<string name="pref_title_show_media_preview">Mostra anteprime media</string>
|
||||
|
@ -190,7 +190,7 @@
|
|||
<string name="pref_default_post_privacy">Privacy di default dei post</string>
|
||||
<string name="pref_default_media_sensitivity">Segna sempre media come contenuto sensibile</string>
|
||||
<string name="pref_publishing">Pubblicazione (sincronizzato con il server)</string>
|
||||
<string name="pref_failed_to_sync">Sincronizzazione delle impostazioni fallita</string>
|
||||
<string name="pref_failed_to_sync">Sincronizzazione preferenze fallita</string>
|
||||
<string name="post_privacy_public">Pubblico</string>
|
||||
<string name="post_privacy_unlisted">Non in elenco</string>
|
||||
<string name="post_privacy_followers_only">Solo seguaci</string>
|
||||
|
@ -629,7 +629,7 @@
|
|||
<string name="accessibility_talking_about_tag">%1$d persone parlano dell\'hashtag %2$s</string>
|
||||
<string name="total_usage">Utilizzo totale</string>
|
||||
<string name="total_accounts">Account totali</string>
|
||||
<string name="action_refresh">Aggiorna</string>
|
||||
<string name="action_refresh">Ricarica</string>
|
||||
<string name="title_public_trending_hashtags">Hashtag di tendenza</string>
|
||||
<string name="help_empty_home">Questa è la tua <b>Timeline principale</b>. Mostra i post più recenti degli account che segui.
|
||||
\n
|
||||
|
@ -717,4 +717,13 @@
|
|||
<string name="list_reply_policy_followed">Qualsiasi utente seguito</string>
|
||||
<string name="list_reply_policy_label">Mostra risposte a</string>
|
||||
<string name="pref_title_show_self_boosts_description">Qualcuno boosta il proprio post</string>
|
||||
<string name="reply_sending">Invio…</string>
|
||||
<string name="reply_sending_long">La tua risposta viene inviata.</string>
|
||||
<string name="action_translate">Traduci</string>
|
||||
<string name="action_show_original">Mostra originale</string>
|
||||
<string name="label_translating">Traduzione…</string>
|
||||
<string name="label_translated">Tradotto da %1$s con %2$s</string>
|
||||
<string name="ui_error_translate">Impossibile tradurre: %s</string>
|
||||
<string name="pref_title_per_timeline_preferences">Preferenze per timeline</string>
|
||||
<string name="pref_title_show_notifications_filter">Mostra filtro notifiche</string>
|
||||
</resources>
|
|
@ -1,6 +1,7 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
|
||||
<color name="colorPrimary">@color/tusky_blue</color>
|
||||
<color name="colorSecondary">@color/tusky_blue</color>
|
||||
<color name="colorSurface">@color/tusky_grey_30</color>
|
||||
<color name="colorPrimaryDark">@color/tusky_grey_25</color>
|
||||
|
||||
|
@ -31,6 +32,6 @@
|
|||
<color name="toolbar_icon_background">#CC444B5D</color>
|
||||
|
||||
<!-- colors used to show inserted/deleted text -->
|
||||
<color name="view_edits_background_insert">#00731B</color>
|
||||
<color name="view_edits_background_delete">#DF0000</color>
|
||||
<color name="view_edits_background_insert">@color/tusky_green</color>
|
||||
<color name="view_edits_background_delete">@color/tusky_red</color>
|
||||
</resources>
|
||||
|
|
|
@ -713,4 +713,9 @@
|
|||
<string name="reply_sending">Skickar…</string>
|
||||
<string name="pref_title_show_notifications_filter">Visa aviseringsfiltret</string>
|
||||
<string name="pref_title_per_timeline_preferences">Inställningar per tidslinje</string>
|
||||
<string name="action_translate">Översätt</string>
|
||||
<string name="action_show_original">Visa original</string>
|
||||
<string name="label_translating">Översätter…</string>
|
||||
<string name="label_translated">Översatt från %1$s med %2$s</string>
|
||||
<string name="ui_error_translate">Kunde inte översätta: %s</string>
|
||||
</resources>
|
|
@ -2,13 +2,13 @@
|
|||
<resources>
|
||||
<string name="error_generic">Bir hata oluştu.</string>
|
||||
<string name="error_network">Bir ağ hatası oluştu. Lütfen bağlantını kontrol et ve tekrar dene.</string>
|
||||
<string name="error_empty">Bu alan boş bırakılmaz.</string>
|
||||
<string name="error_empty">Bu alan boş bırakılamaz.</string>
|
||||
<string name="error_invalid_domain">Girilen alan adı geçersiz</string>
|
||||
<string name="error_failed_app_registration">Bu sunucuda kimlik doğrulama başarısız oldu. Sorun devam ederse menüdeki Tarayıcı ile Giriş Yap seçeneğini dene.</string>
|
||||
<string name="error_failed_app_registration">Bu sunucu da kimlik doğrulama başarısız oldu. Sorun devam ederse menüdeki Tarayıcıyla Giriş Yap seçeneğini deneyiniz.</string>
|
||||
<string name="error_no_web_browser_found">Kullanılabilir web tarayıcısı bulunamadı.</string>
|
||||
<string name="error_authorization_unknown">Tanımlanamayan bir yetkilendirme hatası oluştu. Sorun devam ederse menüdeki Tarayıcı ile Giriş Yap seçeneğini dene.</string>
|
||||
<string name="error_authorization_denied">Yetkilendirme reddedildi. Doğru hesap bilgilerini girdiğinden eminsen menüdeki Tarayıcı ile Giriş Yap seçeneğini dene.</string>
|
||||
<string name="error_retrieving_oauth_token">Giriş belirteci alınırken hata oluştu. Sorun devam ederse menüdeki Tarayıcı ile Giriş Yap seçeneğini dene.</string>
|
||||
<string name="error_authorization_unknown">Tanımlanamayan bir yetkilendirme hatası oluştu. Sorun devam ederse menüdeki Tarayıcı ile Giriş Yap seçeneğini deneyiniz.</string>
|
||||
<string name="error_authorization_denied">Yetkilendirme reddedildi. Doğru hesap bilgilerini girdiğinizden eminseniz menüdeki Tarayıcı ile Giriş Yap seçeneğini deneyiniz.</string>
|
||||
<string name="error_retrieving_oauth_token">Giriş belirteci alınırken hata oluştu. Sorun devam ederse menüdeki Tarayıcı ile Giriş Yap seçeneğini deneyiniz.</string>
|
||||
<string name="error_compose_character_limit">Gönderi çok uzun!</string>
|
||||
<string name="error_media_upload_type">Bu tür bir dosya yüklenemez.</string>
|
||||
<string name="error_media_upload_opening">Dosya açılamadı.</string>
|
||||
|
@ -16,11 +16,11 @@
|
|||
<string name="error_media_download_permission">Medya kaydetme izni gerekli.</string>
|
||||
<string name="error_media_upload_image_or_video">Görüntüler ve videolar aynı gönderi de yayınlanamaz.</string>
|
||||
<string name="error_media_upload_sending">Yükleme başarısız oldu.</string>
|
||||
<string name="error_sender_account_gone">Gönderi gönderilirken hata.</string>
|
||||
<string name="error_sender_account_gone">Gönderi yayınlanırken hata.</string>
|
||||
<string name="title_home">Anasayfa</string>
|
||||
<string name="title_notifications">Bildirimler</string>
|
||||
<string name="title_public_local">Yerel</string>
|
||||
<string name="title_public_federated">Federe</string>
|
||||
<string name="title_public_federated">Federasyon</string>
|
||||
<string name="title_direct_messages">Doğrudan iletiler</string>
|
||||
<string name="title_tab_preferences">Sekmeler</string>
|
||||
<string name="title_view_thread">Konu</string>
|
||||
|
@ -50,7 +50,7 @@
|
|||
<string name="notification_reblog_format">%s gönderinizi paylaştı</string>
|
||||
<string name="notification_favourite_format">%s gönderinizi gözdelerilerine ekledi</string>
|
||||
<string name="notification_follow_format">%s seni takip etti</string>
|
||||
<string name="report_username_format">\@%s Bildir</string>
|
||||
<string name="report_username_format">Bildir @%s</string>
|
||||
<string name="report_comment_hint">Daha fazla yorum?</string>
|
||||
<string name="action_quick_reply">Hızlı yanıt</string>
|
||||
<string name="action_reply">Yanıtla</string>
|
||||
|
@ -242,7 +242,7 @@
|
|||
<string name="compose_active_account_description">%1$s hesabıyla gönderiliyor</string>
|
||||
<plurals name="hint_describe_for_visually_impaired">
|
||||
<item quantity="one">İçeriği görme engelliler için açıkla (%d karakter limiti)</item>
|
||||
<item quantity="other">İçerikleri görme engelliler için açıklamalar (%d karakter limitleti)</item>
|
||||
<item quantity="other">İçerikleri görme engelliler için açıklamalar (%d karakter limitleri)</item>
|
||||
</plurals>
|
||||
<string name="action_set_caption">Başlık belirle</string>
|
||||
<string name="action_remove">Kaldır</string>
|
||||
|
@ -250,8 +250,8 @@
|
|||
<string name="lock_account_label_description">Takipçileri elle onaylamanız gerekir</string>
|
||||
<string name="compose_save_draft">Taslaklara kaydedilsin mi\?</string>
|
||||
<string name="send_post_notification_title">Gönderi gönderiliyor…</string>
|
||||
<string name="send_post_notification_error_title">Gönderi gönderilirken hata oluştu</string>
|
||||
<string name="send_post_notification_channel_name">Gönderiler Gönderiliyor</string>
|
||||
<string name="send_post_notification_error_title">Gönderi yayınlanırken hata oluştu</string>
|
||||
<string name="send_post_notification_channel_name">Gönderiler Yayınlanıyor</string>
|
||||
<string name="send_post_notification_cancel_title">Gönderme iptal edildi</string>
|
||||
<string name="send_post_notification_saved_content">Gönderinin bir kopyası taslaklara kaydedildi</string>
|
||||
<string name="action_compose_shortcut">Oluştur</string>
|
||||
|
@ -262,7 +262,7 @@
|
|||
<string name="performing_lookup_title">Araştırılıyor…</string>
|
||||
<string name="expand_collapse_all_posts">Tüm durumları Genişlet/Küçült</string>
|
||||
<string name="action_open_post">Gönderiyi aç</string>
|
||||
<string name="restart_required">Uygulamayı yeniden başlatmanız lazım</string>
|
||||
<string name="restart_required">Uygulamayı yeniden başlatmanız gerekmekte</string>
|
||||
<string name="restart_emoji">Bu değişiklikleri uygulamak için Tusky\'yi yeniden başlatmanız gerekecek</string>
|
||||
<string name="later">Sonra</string>
|
||||
<string name="restart">Yeniden başlat</string>
|
||||
|
@ -280,7 +280,7 @@
|
|||
<string name="profile_metadata_add">veri ekle</string>
|
||||
<string name="profile_metadata_label_label">Etiket</string>
|
||||
<string name="profile_metadata_content_label">İçerik</string>
|
||||
<string name="pref_title_absolute_time">Kesin zaman kullan</string>
|
||||
<string name="pref_title_absolute_time">Kesin tarih kullan</string>
|
||||
<string name="label_remote_account">Aşağıdaki bilgiler değişken olabilir. Tüm profili tarayıcıda görmek için tuşlayın.</string>
|
||||
<string name="unpin_action">Sabitlemeyi kaldır</string>
|
||||
<string name="pin_action">Sabitle</string>
|
||||
|
@ -387,19 +387,19 @@
|
|||
<string name="hint_additional_info">Ek Yorumlar</string>
|
||||
<string name="report_remote_instance">%s adresine ilet</string>
|
||||
<string name="failed_fetch_posts">Yayınlar getirilemedi</string>
|
||||
<string name="report_description_1">Bildirim sunucu yöneticinize gönderilecektir. Bu hesabı neden bildirdiğinizle ilgili açıklama yapabilirsiniz:</string>
|
||||
<string name="report_description_1">Bildirim sunucu yöneticinize gönderilecektir. Bu hesabı neden raporladığınızla ilgili açıklama yapabilirsiniz:</string>
|
||||
<string name="report_description_remote_instance">Hesap başka bir sunucudan. Raporun anonim bir kopyasını da oraya gönderilsin mi\?</string>
|
||||
<string name="action_mentions">Bahsedenler</string>
|
||||
<string name="action_open_reblogger">Gönderi yazanını aç</string>
|
||||
<string name="action_open_reblogged_by">Yeniden paylaşımları göster</string>
|
||||
<string name="title_mentions_dialog">Bahsedenler</string>
|
||||
<string name="action_open_media_n">#%d medyayı aç</string>
|
||||
<string name="title_bookmarks">Yer imleri</string>
|
||||
<string name="title_bookmarks">Yerimleri</string>
|
||||
<string name="title_scheduled_posts">Zamanlanmış yayınlar</string>
|
||||
<string name="action_bookmark">Yer imi</string>
|
||||
<string name="action_bookmark">Yerimi</string>
|
||||
<string name="action_edit">Düzenle</string>
|
||||
<string name="action_delete_and_redraft">Sil ve düzenle</string>
|
||||
<string name="action_view_bookmarks">Yer imleri</string>
|
||||
<string name="action_view_bookmarks">Yerimleri</string>
|
||||
<string name="action_add_poll">Anket ekle</string>
|
||||
<string name="action_access_scheduled_posts">Zamanlanmış yayınlar</string>
|
||||
<string name="action_schedule_post">Gönderi tarihini ayarla</string>
|
||||
|
@ -429,7 +429,7 @@
|
|||
<string name="mute_domain_warning_dialog_ok">Alan adından her şeyi gizle</string>
|
||||
<string name="pref_title_alway_open_spoiler">Her zaman içerik uyarılarıyla işaretlenmiş alanları genişlet</string>
|
||||
<string name="poll_info_time_absolute">%s içinde sona erecek</string>
|
||||
<string name="failed_report">Bildirilemedi</string>
|
||||
<string name="failed_report">Raporlanamadı</string>
|
||||
<string name="poll_new_choice_hint">Seçenek %d</string>
|
||||
<string name="post_lookup_error_format">%s gönderisi aranırken hata oluştu</string>
|
||||
<string name="no_drafts">Hiç taslağın yok.</string>
|
||||
|
@ -471,7 +471,7 @@
|
|||
<string name="error_could_not_load_login_page">Giriş ekranı yüklenemedi.</string>
|
||||
<string name="error_muting_hashtag_format">Sessize alma hatası #%s</string>
|
||||
<string name="action_unfollow_hashtag_format">Takibi bırak #%s\?</string>
|
||||
<string name="pref_title_wellbeing_mode">Huzur</string>
|
||||
<string name="pref_title_wellbeing_mode">İyilik</string>
|
||||
<string name="account_note_saved">Kaydedildi!</string>
|
||||
<string name="report_category_spam">İstenmeyen</string>
|
||||
<string name="report_category_other">Diğer</string>
|
||||
|
@ -518,7 +518,7 @@
|
|||
<string name="duration_14_days">14 gün</string>
|
||||
<string name="duration_365_days">365 gün</string>
|
||||
<string name="review_notifications">Bildirimleri Gözden Geçir</string>
|
||||
<string name="wellbeing_mode_notice">Huzurlu kullanım için bazı bilgiler gizlenebilir.. Bunlar:
|
||||
<string name="wellbeing_mode_notice">İyi kullanım için bazı bilgiler gizlenebilir.. Bunlar:
|
||||
\n
|
||||
\n - Gözde/Yeniden Paylaşım/Takip bildirimleri
|
||||
\n - Gözde/Yeniden Paylaşım sayacı
|
||||
|
@ -545,11 +545,11 @@
|
|||
<string name="limit_notifications">Ağ akışı bildirimlerini sınırla</string>
|
||||
<string name="wellbeing_hide_stats_posts">Yayınların niceliksel istatistikleri gizle</string>
|
||||
<string name="status_created_at_now">şimdi</string>
|
||||
<string name="drafts_post_reply_removed">Yanıt yazdığınız yayın kaldırıldı</string>
|
||||
<string name="drafts_post_reply_removed">Hazırladığınız yanıtınız yayından kaldırıldı</string>
|
||||
<string name="language_display_name_format">%s (%s)</string>
|
||||
<string name="report_category_violation">Kural ihlali</string>
|
||||
<string name="description_post_language">Gönderi dili</string>
|
||||
<string name="dialog_push_notification_migration">Birleşikİtme aracılığıyla itme bildirimlerini kullanmak için Tusky\'nin Mastodon sunucundaki bildirimlere abone olma iznine ihtiyacı var. Bu, Tusky\'ye verilen OAuth kapsamlarını değiştirmek için yeniden oturum açmayı gerektirir. Burada veya Hesap tercihleri bölümünde yeniden giriş yapma seçeneğini kullanman tüm yerel taslaklarını ve önbelleğini koruyacaktır.</string>
|
||||
<string name="dialog_push_notification_migration">Birleşik itme aracılığıyla, itme bildirimlerini kullanmak için Tusky\'nin Mastodon sunucundaki bildirimlere abone olma iznine ihtiyacı var. Bu, Tusky\'ye verilen OAuth kapsamlarını değiştirmek için yeniden oturum açmayı gerektirir. Burada veya Hesap tercihleri bölümünde yeniden giriş yapma seçeneğini kullanman tüm yerel taslaklarını ve önbelleğini koruyacaktır.</string>
|
||||
<string name="confirmation_hashtag_unfollowed">#%s takip edilmeyenler</string>
|
||||
<string name="action_subscribe_account">Abone Ol</string>
|
||||
<string name="follow_requests_info">Hesabınız kilitli olmasa da, %1$s kadro bu hesaplardan gelen takip isteklerini elle gözden geçirmek isteyebileceğinizi düşündü.</string>
|
||||
|
@ -571,7 +571,7 @@
|
|||
<string name="notification_subscription_format">%s az önce paylaşım yaptı</string>
|
||||
<string name="notification_update_format">%s gönderilerini düzenledi</string>
|
||||
<string name="draft_deleted">Taslak Silindi</string>
|
||||
<string name="error_unfollowing_hashtag_format">Takip etmeyi bırakırken Hata #%s</string>
|
||||
<string name="error_unfollowing_hashtag_format">Takip etmeyi bırakırken hata #%s</string>
|
||||
<string name="status_count_one_plus">1+</string>
|
||||
<string name="label_duration">Süre</string>
|
||||
<string name="tips_push_notification_migration">Bildirim besleme desteğini etkinleştirmek için tüm hesaplara yeniden giriş yapın.</string>
|
||||
|
@ -614,7 +614,7 @@
|
|||
<string name="notification_unknown_name">Bilinmeyen</string>
|
||||
<string name="socket_timeout_exception">Sunucuyla bağlantı kurmak çok uzun sürdü</string>
|
||||
<string name="ui_error_unknown">bilinmeyen sebep</string>
|
||||
<string name="ui_error_bookmark">Yer imi gönderisi başarısız oldu: %s</string>
|
||||
<string name="ui_error_bookmark">Yerimi gönderisi başarısız oldu: %s</string>
|
||||
<string name="ui_error_vote">Ankete oy gönderilemedi: %s</string>
|
||||
<string name="ui_error_clear_notifications">Bildirimler temizlenemedi: %s</string>
|
||||
<string name="ui_error_favourite">Gönderi gözdelere eklenemedi: %s</string>
|
||||
|
@ -646,7 +646,7 @@
|
|||
<string name="status_filter_placeholder_label_format">Süzgeçlendi: %s</string>
|
||||
<string name="filter_edit_keyword_title">Anahtar kelimeyi düzenle</string>
|
||||
<string name="filter_description_format">%s: %s</string>
|
||||
<string name="pref_title_show_stat_inline">Gönderi istatistiklerini sğ akışında göster</string>
|
||||
<string name="pref_title_show_stat_inline">Yayın istatistiklerini sağ akışında göster</string>
|
||||
<string name="title_public_trending_hashtags">Öne çıkan etiketler</string>
|
||||
<string name="total_usage">Toplam kullanım</string>
|
||||
<string name="total_accounts">Toplam hesap</string>
|
||||
|
@ -677,9 +677,9 @@
|
|||
<string name="dialog_delete_filter_text">Süzgeci sil \'%1$s\'\?</string>
|
||||
<string name="dialog_delete_filter_positive_action">Sil</string>
|
||||
<string name="dialog_save_profile_changes_message">Profil değişikliklerinizi kaydetmek istiyor musunuz\?</string>
|
||||
<string name="help_empty_conversations">İşte <b>özel mesajlarınız</b>; bazen konuşmalar veya doğrudan mesajlar (DM) olarak da adlandırılır.
|
||||
<string name="help_empty_conversations">İşte <b>özel iletileriniz</b>; bazen konuşmalar veya doğrudan iletiler (Dİ) olarak da adlandırılır.
|
||||
\n
|
||||
\nÖzel mesajlar, bir gönderinin [iconics gmd_public] görünürlüğünü [iconics gmd_mail] <i>Doğrudan</i> olarak ayarlayarak ve metinde bir veya daha fazla kullanıcıdan bahsederek oluşturulur.
|
||||
\nÖzel iletiler, bir gönderinin [iconics gmd_public] görünürlüğünü [iconics gmd_mail] <i>Doğrudan</i> olarak ayarlayarak ve metinde bir veya daha fazla kullanıcıdan bahsederek oluşturulur.
|
||||
\n
|
||||
\nÖrneğin, bir hesabın profil görünümünde başlayabilir ve oluştur düğmesine [iconics gmd_edit] dokunabilir ve görünürlüğü değiştirebilirsiniz. </string>
|
||||
<string name="help_empty_lists">Bu sizin <b>liste görünümünüzdür</b>. Bir dizi özel liste tanımlayabilir ve bunlara hesaplar ekleyebilirsiniz.
|
||||
|
@ -693,8 +693,8 @@
|
|||
<string name="following_hashtag_success_format">Şimdi etiketi takip edin #%s</string>
|
||||
<string name="unfollowing_hashtag_success_format">Artık etiketi takip etmiyorum #%s</string>
|
||||
<string name="error_unblocking_domain">Sesi açılamadı %1$s: %2$s</string>
|
||||
<string name="title_public_trending_statuses">Gündemdeki gönderiler</string>
|
||||
<string name="label_image">Resim</string>
|
||||
<string name="title_public_trending_statuses">Gündemdekiler</string>
|
||||
<string name="label_image">Görsel</string>
|
||||
<string name="app_theme_system_black">Sistem Tasarımını Kullanın (siyah)</string>
|
||||
<string name="list_reply_policy_list">Liste üyeleri</string>
|
||||
<string name="list_reply_policy_followed">Takip edilen herhangi bir kullanıcı</string>
|
||||
|
|
|
@ -283,7 +283,7 @@
|
|||
<string name="pref_title_thread_filter_keywords">Thảo luận</string>
|
||||
<string name="pref_title_public_filter_keywords">Liên hợp</string>
|
||||
<string name="load_more_placeholder_text">hiện những tút chưa đọc</string>
|
||||
<string name="replying_to">Trả lời @%s</string>
|
||||
<string name="replying_to">Trả lời đến @%s</string>
|
||||
<string name="title_media">Media</string>
|
||||
<string name="pref_title_alway_open_spoiler">Hiện nội dung ẩn</string>
|
||||
<string name="pref_title_alway_show_sensitive_media">Hiện nội dung nhạy cảm</string>
|
||||
|
|
|
@ -1,12 +1,15 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<color name="tusky_blue">#2b90d9</color>
|
||||
<color name="tusky_blue_darker">#217aba</color>
|
||||
<color name="tusky_blue_light">#56a7e1</color>
|
||||
<color name="tusky_orange">#ca8f04</color>
|
||||
<color name="tusky_orange_light">#fab207</color>
|
||||
<color name="tusky_green">#19a341</color>
|
||||
<color name="tusky_green">#00731B</color>
|
||||
<color name="tusky_green_light">#25d069</color>
|
||||
<color name="tusky_green_lighter">#CCFFD8</color>
|
||||
<color name="tusky_red">#DF1553</color>
|
||||
<color name="tusky_red_lighter">#FFC0C0</color>
|
||||
|
||||
<color name="white">#fff</color>
|
||||
<color name="black">#000</color>
|
||||
|
@ -16,6 +19,7 @@
|
|||
<!-- the number roughly corresponds to the % lightness of the grey -->
|
||||
<color name="tusky_grey_05">#070b14</color>
|
||||
<color name="tusky_grey_10">#16191f</color>
|
||||
<color name="tusky_grey_15">#21222c</color>
|
||||
<color name="tusky_grey_20">#282c37</color>
|
||||
<color name="tusky_grey_25">#313543</color>
|
||||
<color name="tusky_grey_30">#444b5d</color>
|
||||
|
|
|
@ -48,10 +48,10 @@
|
|||
<item name="status_text_medium">16sp</item>
|
||||
<item name="status_text_large">18sp</item>
|
||||
|
||||
<item name="colorPrimary">@color/tusky_blue</item>
|
||||
<item name="colorPrimary">@color/colorPrimary</item>
|
||||
<item name="colorOnPrimary">@color/white</item>
|
||||
|
||||
<item name="colorSecondary">@color/tusky_blue</item>
|
||||
<item name="colorSecondary">@color/colorSecondary</item>
|
||||
<item name="colorOnSecondary">@color/white</item>
|
||||
|
||||
<item name="colorSurface">@color/colorSurface</item>
|
||||
|
@ -91,6 +91,23 @@
|
|||
<item name="preferenceTheme">@style/TuskyPreferenceTheme</item>
|
||||
</style>
|
||||
|
||||
<style name="TuskyBlackThemeBase" parent="TuskyBaseTheme">
|
||||
<item name="colorPrimaryDark">@color/tusky_grey_05</item>
|
||||
|
||||
<item name="android:colorBackground">@color/black</item>
|
||||
<item name="windowBackgroundColor">@color/black</item>
|
||||
|
||||
<item name="colorSurface">@color/tusky_grey_10</item>
|
||||
|
||||
<item name="iconColor">@color/tusky_grey_40</item>
|
||||
<item name="colorBackgroundHighlight">@color/tusky_grey_40</item>
|
||||
<item name="colorBackgroundAccent">@color/tusky_grey_20</item>
|
||||
|
||||
<item name="dividerColor">@color/tusky_grey_20</item>
|
||||
</style>
|
||||
|
||||
<style name="TuskyBlackTheme" parent="TuskyBlackThemeBase" />
|
||||
|
||||
<style name="ViewMediaActivity.AppBarLayout" parent="ThemeOverlay.AppCompat">
|
||||
<item name="android:colorControlNormal">@color/white</item>
|
||||
</style>
|
||||
|
@ -144,24 +161,6 @@
|
|||
<item name="android:textColorHint">?android:attr/textColorTertiary</item>
|
||||
</style>
|
||||
|
||||
<!--Black Application Theme Styles-->
|
||||
<style name="TuskyBlackThemeBase" parent="TuskyBaseTheme">
|
||||
<item name="colorPrimaryDark">@color/tusky_grey_05</item>
|
||||
|
||||
<item name="android:colorBackground">@color/black</item>
|
||||
<item name="windowBackgroundColor">@color/black</item>
|
||||
|
||||
<item name="colorSurface">@color/tusky_grey_10</item>
|
||||
|
||||
<item name="iconColor">@color/tusky_grey_40</item>
|
||||
<item name="colorBackgroundHighlight">@color/tusky_grey_40</item>
|
||||
<item name="colorBackgroundAccent">@color/tusky_grey_20</item>
|
||||
|
||||
<item name="dividerColor">@color/tusky_grey_20</item>
|
||||
</style>
|
||||
|
||||
<style name="TuskyBlackTheme" parent="TuskyBlackThemeBase" />
|
||||
|
||||
<style name="TuskyDrawerStyle" parent ="Widget.MaterialDrawerStyle">
|
||||
<item name="materialDrawerBackground">?android:colorBackground</item>
|
||||
<item name="materialDrawerPrimaryIcon">?iconColor</item>
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
|
||||
<color name="colorPrimary">@color/tusky_blue_darker</color>
|
||||
<color name="colorSecondary">@color/tusky_blue_darker</color>
|
||||
<color name="colorSurface">@color/tusky_grey_95</color>
|
||||
<color name="colorPrimaryDark">@color/tusky_grey_70</color>
|
||||
|
||||
|
@ -31,6 +32,6 @@
|
|||
<color name="toolbar_icon_background">#CCEBEFF4</color>
|
||||
|
||||
<!-- colors used to show inserted/deleted text -->
|
||||
<color name="view_edits_background_insert">#CCFFD8</color>
|
||||
<color name="view_edits_background_delete">#FFC0C0</color>
|
||||
<color name="view_edits_background_insert">@color/tusky_green_lighter</color>
|
||||
<color name="view_edits_background_delete">@color/tusky_red_lighter</color>
|
||||
</resources>
|
||||
|
|
|
@ -0,0 +1,8 @@
|
|||
Tusky 25
|
||||
|
||||
- Cynnal API cyfieithu Mastodon
|
||||
- Dangos iaith y neges
|
||||
- Gwella trawsnewidiadau'r sgrin
|
||||
- Mae gosodiadau hidlo wedi cael eu symud i osodiadau'r cyfrif
|
||||
- Mae ystadegau'r neges bob amser yn dangos yn yr un lle
|
||||
- Llawer o wella wedi'u cudd
|
|
@ -0,0 +1,8 @@
|
|||
Tusky 25
|
||||
|
||||
- Support Mastodon translation API
|
||||
- Show post language
|
||||
- Improved screen transitions
|
||||
- Filter settings are moved to account preferences
|
||||
- Post stats now have stable position
|
||||
- A lot off under-the-hood stability & performance improvements
|
Binary file not shown.
Before Width: | Height: | Size: 620 KiB After Width: | Height: | Size: 646 KiB |
Binary file not shown.
Before Width: | Height: | Size: 317 KiB After Width: | Height: | Size: 345 KiB |
|
@ -1,10 +1,11 @@
|
|||
Tusky 22.0 beta 2
|
||||
|
||||
Fixes including:
|
||||
Correccións que inclúen:
|
||||
|
||||
- Improved notification loading speed
|
||||
- Restore showing 0/1/1+ for replies
|
||||
- Show filter titles, not filter keywords, on filtered posts
|
||||
- Fixed a bug where opening a status could open an unrelated link
|
||||
- Show "Add" button in correct place when there are no filters
|
||||
- Fixed assorted crashes
|
||||
- Velocidade de carga de notificacións mellorada
|
||||
- Restaurar mostrando 0/1/1+ para as respostas
|
||||
- Mostra títulos de filtro, non palabras clave de filtro, nas publicacións filtradas
|
||||
- Corrixiuse un erro no que abrir un estado podía abrir unha ligazón non relacionada
|
||||
- Mostrar o botón "Engadir" no lugar correcto cando non haxa filtros
|
||||
- Arranxáronse varios fallos
|
||||
(trad. automática)
|
||||
|
|
|
@ -1,11 +1,12 @@
|
|||
Tusky 22.0 beta 3
|
||||
|
||||
Fixes including:
|
||||
Correccións que inclúen:
|
||||
|
||||
- Fixed crash when viewing a thread
|
||||
- Fixed crash processing Mastodon filters
|
||||
- Links in bios of follow/follow request notifications are clickable
|
||||
- Android Notifications updates
|
||||
- Android notification for a Mastodon notification should only be shown once
|
||||
- Android notifications are grouped by Mastodon notification type (follow, mention, boost, etc)
|
||||
- Potential for missing notifications has been removed
|
||||
- Arranxouse o fallo ao ver un fío
|
||||
- Filtros Mastodon de procesamento de fallos corrixidos
|
||||
- Pódense facer clic nas ligazóns da bios das notificacións de solicitude de seguimento/seguimento
|
||||
- Actualizacións de notificacións de Android
|
||||
- A notificación de Android para unha notificación de Mastodon só debe mostrarse unha vez
|
||||
- As notificacións de Android agrúpanse por tipo de notificación de Mastodon (seguir, mencionar, aumentar, etc.)
|
||||
- Eliminouse o potencial de notificacións que faltan
|
||||
(trad. auto)
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
Tusky 22.0 beta 4
|
||||
|
||||
Fixes:
|
||||
Arranxo:
|
||||
|
||||
- Fixed repeated fetch of notifications if configured with multiple accounts
|
||||
- das notificacións repetidas se hai varias contas
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
Tusky 22.0 beta 5
|
||||
|
||||
Fixes:
|
||||
Correccións:
|
||||
|
||||
- Rolled back APNG library to fix broken animated emojis
|
||||
- Save local copy of notification marker in case server does not support the API
|
||||
- Retrocedeu a biblioteca APNG para corrixir emojis animados rotos
|
||||
- Garda a copia local do marcador de notificación no caso de que o servidor non admita a API
|
||||
(trad. automática)
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
Tusky 22.0 beta 6
|
||||
|
||||
Fixes:
|
||||
Arranxos:
|
||||
|
||||
- Save reading position in the Notifications tab more frequently
|
||||
- gardar con maior frecuencia a posición de lectura na pestana de Notificacións
|
||||
|
|
|
@ -1,10 +1,12 @@
|
|||
Tusky 22.0 beta 7
|
||||
|
||||
Fixes:
|
||||
Correccións:
|
||||
|
||||
|
||||
### Significant bug fixes
|
||||
### Correccións de erros importantes
|
||||
|
||||
- Fetch all outstanding Mastodon notifications when creating Android notifications
|
||||
- Clicking "Compose" from a notification would set the wrong account
|
||||
- Ensure "last read notification ID" is saved to the correct account
|
||||
- Obtén todas as notificacións pendentes de Mastodon ao crear notificacións de Android
|
||||
- Facendo clic en "Redactar" desde unha notificación, establecerase a conta incorrecta
|
||||
- Asegúrate de gardar o "ID de notificación da última lectura" na conta correcta
|
||||
|
||||
(trad. automática)
|
||||
|
|
|
@ -1,15 +1,17 @@
|
|||
Tusky 23.0 beta 1
|
||||
|
||||
New features:
|
||||
Novas características:
|
||||
|
||||
- New preference to scale UI text
|
||||
- Nova preferencia para escalar o texto da IU
|
||||
|
||||
Fixes:
|
||||
Correccións:
|
||||
|
||||
- Save account information correctly
|
||||
- "pull" notifications on devices running Android versions <= 11
|
||||
- Work around Android bug where text fields could "forget" they can copy/paste
|
||||
- Viewing "diffs" in edit history will not extend off screen edge
|
||||
- Don't crash if your server has no post edit history
|
||||
- Add a "Delete" button when editing a filter
|
||||
- Show non-square emoji correctly
|
||||
- Garda a información da conta correctamente
|
||||
- notificacións "pull" en dispositivos con versións de Android <= 11
|
||||
- Soluciona un erro de Android onde os campos de texto poden "esquecer" que poden copiar/pegar
|
||||
- A visualización de "diferencias" no historial de edicións non se estenderá fóra do bordo da pantalla
|
||||
- Non falla se o teu servidor non ten historial de edición posterior
|
||||
- Engade un botón "Eliminar" ao editar un filtro
|
||||
- Mostrar emoji non cadrados correctamente
|
||||
|
||||
(trad. automática)
|
||||
|
|
|
@ -0,0 +1,8 @@
|
|||
Tusky 25
|
||||
|
||||
- soporte para a API de tradución de Mastodon
|
||||
- mostra o idioma da publicación
|
||||
- mellora nas transicións entre pantallas
|
||||
- os axustes dos filtros agora están nas preferencias da conta
|
||||
- as estatísticas da publicación están nunha posición estable
|
||||
- moitos cambios internos para mellorar a estabilidade e rendemento
|
|
@ -0,0 +1,8 @@
|
|||
Tusky 25
|
||||
|
||||
- Stöd för Mastodon översättning API
|
||||
- Visa språk för inlägg
|
||||
- Förbättrade skärmövergångar
|
||||
- Filter inställningar har flyttats till kontoinställningar
|
||||
- Poststatistik har nu stabil position
|
||||
- Mycket av stabilitet och prestandaförbättringar under huven
|
|
@ -0,0 +1,8 @@
|
|||
Tusky 25
|
||||
|
||||
- Mastodon çeviri API'sini destekleyin
|
||||
- Gönderi dilini göster
|
||||
- Geliştirilmiş ekran geçişleri
|
||||
- Süzgeç ayarları hesap tercihlerine taşındı
|
||||
- Gönderi istatistikleri artık sabit konuma sahip
|
||||
- Kaputun altında birçok kararlılık ve performans iyileştirmesi
|
|
@ -0,0 +1,8 @@
|
|||
Tusky 25
|
||||
|
||||
- Hỗ trợ Mastodon Dịch API
|
||||
- Hiện ngôn ngữ tút
|
||||
- Cải thiện chuyển đổi màn hình
|
||||
- Cài đặt bộ lọc được chuyển sang tùy chọn tài khoản
|
||||
- Thống kê bài viết bây giờ đã có vị trí ổn định
|
||||
- Rất nhiều cải tiến về độ ổn định và hiệu suất bên trong
|
Loading…
Reference in New Issue