diff --git a/app/core/src/main/java/com/fsck/k9/notification/CoreKoinModule.kt b/app/core/src/main/java/com/fsck/k9/notification/CoreKoinModule.kt index de6797b498682e2119d74ea859eac95eb604aee7..f0ac2f20ec6ad63ec33dee04d05ce7e5f988517a 100644 --- a/app/core/src/main/java/com/fsck/k9/notification/CoreKoinModule.kt +++ b/app/core/src/main/java/com/fsck/k9/notification/CoreKoinModule.kt @@ -18,7 +18,9 @@ val coreNotificationModule = module { ) } single { NotificationManagerCompat.from(get()) } - single { NotificationHelper(context = get(), notificationManager = get(), channelUtils = get()) } + single { + NotificationHelper(context = get(), notificationManager = get(), notificationChannelManager = get(), resourceProvider = get()) + } single { NotificationChannelManager( preferences = get(), @@ -82,8 +84,7 @@ val coreNotificationModule = module { notificationHelper = get(), actionCreator = get(), resourceProvider = get(), - lockScreenNotificationCreator = get(), - notificationManager = get() + lockScreenNotificationCreator = get() ) } factory { @@ -92,8 +93,7 @@ val coreNotificationModule = module { actionCreator = get(), lockScreenNotificationCreator = get(), singleMessageNotificationCreator = get(), - resourceProvider = get(), - notificationManager = get() + resourceProvider = get() ) } factory { LockScreenNotificationCreator(notificationHelper = get(), resourceProvider = get()) } diff --git a/app/core/src/main/java/com/fsck/k9/notification/NotificationHelper.kt b/app/core/src/main/java/com/fsck/k9/notification/NotificationHelper.kt index c51736c6c1978f102e7f52b2f935078ed10b4118..eef470e8d9f58cec97b107a34296974a9dde79c9 100644 --- a/app/core/src/main/java/com/fsck/k9/notification/NotificationHelper.kt +++ b/app/core/src/main/java/com/fsck/k9/notification/NotificationHelper.kt @@ -1,17 +1,25 @@ package com.fsck.k9.notification +import android.app.Notification +import android.app.PendingIntent import android.content.Context +import android.content.Intent import android.net.Uri import android.os.Build +import android.provider.Settings import androidx.core.app.NotificationCompat import androidx.core.app.NotificationManagerCompat import com.fsck.k9.Account import com.fsck.k9.K9 +import com.fsck.k9.helper.PendingIntentCompat +import com.fsck.k9.notification.NotificationChannelManager.ChannelType +import timber.log.Timber class NotificationHelper( private val context: Context, private val notificationManager: NotificationManagerCompat, - private val channelUtils: NotificationChannelManager + private val notificationChannelManager: NotificationChannelManager, + private val resourceProvider: NotificationResourceProvider ) { fun getContext(): Context { return context @@ -21,14 +29,59 @@ class NotificationHelper( return notificationManager } - fun createNotificationBuilder( - account: Account, - channelType: NotificationChannelManager.ChannelType - ): NotificationCompat.Builder { - return NotificationCompat.Builder( - context, - channelUtils.getChannelIdFor(account, channelType) - ) + fun createNotificationBuilder(account: Account, channelType: ChannelType): NotificationCompat.Builder { + val notificationChannel = notificationChannelManager.getChannelIdFor(account, channelType) + return NotificationCompat.Builder(context, notificationChannel) + } + + fun notify(account: Account, notificationId: Int, notification: Notification) { + try { + notificationManager.notify(notificationId, notification) + } catch (e: SecurityException) { + // When importing settings from another device, we could end up with a NotificationChannel that references a + // non-existing notification sound. In that case, we end up with a SecurityException with a message similar + // to this: + // UID 123 does not have permission to content://media/external_primary/audio/media/42?title=Coins&canonical=1 [user 0] + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O && + e.message?.contains("does not have permission to") == true + ) { + Timber.e(e, "Failed to create a notification for a new message") + showNotifyErrorNotification(account) + } else { + throw e + } + } + } + + private fun showNotifyErrorNotification(account: Account) { + val title = resourceProvider.notifyErrorTitle() + val text = resourceProvider.notifyErrorText() + + val messagesNotificationChannelId = notificationChannelManager.getChannelIdFor(account, ChannelType.MESSAGES) + val intent = Intent(Settings.ACTION_CHANNEL_NOTIFICATION_SETTINGS).apply { + putExtra(Settings.EXTRA_CHANNEL_ID, messagesNotificationChannelId) + putExtra(Settings.EXTRA_APP_PACKAGE, context.packageName) + } + + val notificationSettingsPendingIntent = + PendingIntent.getActivity(context, account.accountNumber, intent, PendingIntentCompat.FLAG_IMMUTABLE) + + val notification = createNotificationBuilder(account, ChannelType.MISCELLANEOUS) + .setSmallIcon(resourceProvider.iconWarning) + .setColor(account.chipColor) + .setWhen(System.currentTimeMillis()) + .setAutoCancel(true) + .setTicker(title) + .setContentTitle(title) + .setContentText(text) + .setContentIntent(notificationSettingsPendingIntent) + .setStyle(NotificationCompat.BigTextStyle().bigText(text)) + .setCategory(NotificationCompat.CATEGORY_ERROR) + .setErrorAppearance() + .build() + + val notificationId = NotificationIds.getNewMailSummaryNotificationId(account) + notificationManager.notify(notificationId, notification) } companion object { diff --git a/app/core/src/main/java/com/fsck/k9/notification/NotificationResourceProvider.kt b/app/core/src/main/java/com/fsck/k9/notification/NotificationResourceProvider.kt index e558cd5e74e25f26d33cf12bb235fe5daa5bb4ab..d33055a7af8e679731b882199fc8fc40c41eaa97 100644 --- a/app/core/src/main/java/com/fsck/k9/notification/NotificationResourceProvider.kt +++ b/app/core/src/main/java/com/fsck/k9/notification/NotificationResourceProvider.kt @@ -24,6 +24,9 @@ interface NotificationResourceProvider { fun authenticationErrorTitle(): String fun authenticationErrorBody(accountName: String): String + fun notifyErrorTitle(): String + fun notifyErrorText(): String + fun certificateErrorTitle(): String fun certificateErrorTitle(accountName: String): String fun certificateErrorBody(): String diff --git a/app/core/src/main/java/com/fsck/k9/notification/SingleMessageNotificationCreator.kt b/app/core/src/main/java/com/fsck/k9/notification/SingleMessageNotificationCreator.kt index 45027ec8206f8af71f42647ab547c5967faa9f34..21553997b709d73b9f68b23cc93b8859b723ab4f 100644 --- a/app/core/src/main/java/com/fsck/k9/notification/SingleMessageNotificationCreator.kt +++ b/app/core/src/main/java/com/fsck/k9/notification/SingleMessageNotificationCreator.kt @@ -3,7 +3,6 @@ package com.fsck.k9.notification import android.app.PendingIntent import androidx.core.app.NotificationCompat import androidx.core.app.NotificationCompat.WearableExtender -import androidx.core.app.NotificationManagerCompat import com.fsck.k9.notification.NotificationChannelManager.ChannelType import timber.log.Timber import androidx.core.app.NotificationCompat.Builder as NotificationBuilder @@ -12,8 +11,7 @@ internal class SingleMessageNotificationCreator( private val notificationHelper: NotificationHelper, private val actionCreator: NotificationActionCreator, private val resourceProvider: NotificationResourceProvider, - private val lockScreenNotificationCreator: LockScreenNotificationCreator, - private val notificationManager: NotificationManagerCompat + private val lockScreenNotificationCreator: LockScreenNotificationCreator ) { fun createSingleNotification( baseNotificationData: BaseNotificationData, @@ -52,7 +50,7 @@ internal class SingleMessageNotificationCreator( notification ) } - notificationManager.notify(notificationId, notification) + notificationHelper.notify(account, notificationId, notification) } private fun NotificationBuilder.setBigText(text: CharSequence) = apply { diff --git a/app/core/src/main/java/com/fsck/k9/notification/SummaryNotificationCreator.kt b/app/core/src/main/java/com/fsck/k9/notification/SummaryNotificationCreator.kt index bcd4f72b3f9da82e2f40f115b7538ee43a2e1948..eb55bc9eda9bcc839bbdeebe98b4cdc34160faf7 100644 --- a/app/core/src/main/java/com/fsck/k9/notification/SummaryNotificationCreator.kt +++ b/app/core/src/main/java/com/fsck/k9/notification/SummaryNotificationCreator.kt @@ -3,7 +3,6 @@ package com.fsck.k9.notification import android.app.PendingIntent import androidx.core.app.NotificationCompat import androidx.core.app.NotificationCompat.WearableExtender -import androidx.core.app.NotificationManagerCompat import com.fsck.k9.Account import com.fsck.k9.notification.NotificationChannelManager.ChannelType import com.fsck.k9.notification.NotificationIds.getNewMailSummaryNotificationId @@ -15,8 +14,7 @@ internal class SummaryNotificationCreator( private val actionCreator: NotificationActionCreator, private val lockScreenNotificationCreator: LockScreenNotificationCreator, private val singleMessageNotificationCreator: SingleMessageNotificationCreator, - private val resourceProvider: NotificationResourceProvider, - private val notificationManager: NotificationManagerCompat + private val resourceProvider: NotificationResourceProvider ) { fun createSummaryNotification( baseNotificationData: BaseNotificationData, @@ -75,7 +73,7 @@ internal class SummaryNotificationCreator( .build() Timber.v("Creating inbox-style summary notification (silent=%b): %s", notificationData.isSilent, notification) - notificationManager.notify(notificationData.notificationId, notification) + notificationHelper.notify(account, notificationData.notificationId, notification) } private fun buildInboxSummaryText(accountName: String, notificationData: SummaryInboxNotificationData): String { diff --git a/app/core/src/test/java/com/fsck/k9/notification/TestNotificationResourceProvider.kt b/app/core/src/test/java/com/fsck/k9/notification/TestNotificationResourceProvider.kt index ab235bbac5e74a93ce10a8ad5045b6df57575a99..ec8e9b59d92a72ee01d273701b444a835bc2f119 100644 --- a/app/core/src/test/java/com/fsck/k9/notification/TestNotificationResourceProvider.kt +++ b/app/core/src/test/java/com/fsck/k9/notification/TestNotificationResourceProvider.kt @@ -26,6 +26,15 @@ class TestNotificationResourceProvider : NotificationResourceProvider { override fun authenticationErrorBody(accountName: String): String = "Authentication failed for $accountName. Update your server settings." + override fun notifyErrorTitle(): String = "Notification error" + + override fun notifyErrorText(): String { + return "An error has occurred while trying to create a system notification for a new message. " + + "The reason is most likely a missing notification sound.\n" + + "\n" + + "Tap to open notification settings." + } + override fun certificateErrorTitle(): String = "Certificate error" override fun certificateErrorTitle(accountName: String): String = "Certificate error for $accountName" diff --git a/app/k9mail/build.gradle b/app/k9mail/build.gradle index b7211c87f7e937c905d5ad5741d9ed2157c89907..0822e98820accf1db2264e15455e4384918beab5 100644 --- a/app/k9mail/build.gradle +++ b/app/k9mail/build.gradle @@ -48,8 +48,8 @@ android { applicationId "foundation.e.mail" testApplicationId "foundation.e.mail.tests" - versionCode 32000 - versionName '6.200' + versionCode 32001 + versionName '6.201' // Keep in sync with the resource string array 'supported_languages' resConfigs "in", "br", "ca", "cs", "cy", "da", "de", "et", "en", "en_GB", "es", "eo", "eu", "fr", "gd", "gl", @@ -80,7 +80,7 @@ android { buildConfigField "String", "OAUTH_GMAIL_CLIENT_ID", "\"262622259280-hhmh92rhklkg2k1tjil69epo0o9a12jm.apps.googleusercontent.com\"" buildConfigField "String", "OAUTH_YAHOO_CLIENT_ID", "\"dj0yJmk9aHNUb3d2MW5TQnpRJmQ9WVdrOWVYbHpaRWM0YkdnbWNHbzlNQT09JnM9Y29uc3VtZXJzZWNyZXQmc3Y9MCZ4PWIz\"" buildConfigField "String", "OAUTH_AOL_CLIENT_ID", "\"dj0yJmk9dUNqYXZhYWxOYkdRJmQ9WVdrOU1YQnZVRFZoY1ZrbWNHbzlNQT09JnM9Y29uc3VtZXJzZWNyZXQmc3Y9MCZ4PWIw\"" - buildConfigField "String", "OAUTH_MICROSOFT_CLIENT_ID", "\"62b5988d-b86f-48e1-aba4-5e71d36c5b6a\"" + buildConfigField "String", "OAUTH_MICROSOFT_CLIENT_ID", "\"e647013a-ada4-4114-b419-e43d250f99c5\"" buildConfigField "String", "OAUTH_MICROSOFT_REDIRECT_URI", "\"msauth://com.fsck.k9/Dx8yUsuhyU3dYYba1aA16Wxu5eM%3D\"" manifestPlaceholders = ['appAuthRedirectScheme': 'foundation.e.mail'] @@ -95,7 +95,7 @@ android { buildConfigField "String", "OAUTH_GMAIL_CLIENT_ID", "\"262622259280-5qb3vtj68d5dtudmaif4g9vd3cpar8r3.apps.googleusercontent.com\"" buildConfigField "String", "OAUTH_YAHOO_CLIENT_ID", "\"dj0yJmk9ejRCRU1ybmZjQlVBJmQ9WVdrOVVrZEViak4xYmxZbWNHbzlNQT09JnM9Y29uc3VtZXJzZWNyZXQmc3Y9MCZ4PTZj\"" buildConfigField "String", "OAUTH_AOL_CLIENT_ID", "\"dj0yJmk9cHYydkJkTUxHcXlYJmQ9WVdrOWVHZHhVVXN4VVV3bWNHbzlNQT09JnM9Y29uc3VtZXJzZWNyZXQmc3Y9MCZ4PTdm\"" - buildConfigField "String", "OAUTH_MICROSOFT_CLIENT_ID", "\"62b5988d-b86f-48e1-aba4-5e71d36c5b6a\"" + buildConfigField "String", "OAUTH_MICROSOFT_CLIENT_ID", "\"e647013a-ada4-4114-b419-e43d250f99c5\"" buildConfigField "String", "OAUTH_MICROSOFT_REDIRECT_URI", "\"msauth://com.fsck.k9.debug/VZF2DYuLYAu4TurFd6usQB2JPts%3D\"" manifestPlaceholders = ['appAuthRedirectScheme': 'foundation.e.mail.debug'] diff --git a/app/k9mail/src/main/java/com/fsck/k9/backends/RealOAuth2TokenProvider.kt b/app/k9mail/src/main/java/com/fsck/k9/backends/RealOAuth2TokenProvider.kt index ca6fd4e9a02549a2413f2707d5da06ab14270108..f57748eb3cb2003102584a044db0404e74b0f8fe 100644 --- a/app/k9mail/src/main/java/com/fsck/k9/backends/RealOAuth2TokenProvider.kt +++ b/app/k9mail/src/main/java/com/fsck/k9/backends/RealOAuth2TokenProvider.kt @@ -6,10 +6,13 @@ import com.fsck.k9.mail.AuthenticationFailedException import com.fsck.k9.mail.oauth.OAuth2TokenProvider import com.fsck.k9.preferences.AccountManager import com.fsck.k9.setup.EeloAccountHelper +import java.io.IOException import java.util.concurrent.CountDownLatch import java.util.concurrent.TimeUnit import net.openid.appauth.AuthState import net.openid.appauth.AuthorizationException +import net.openid.appauth.AuthorizationException.AuthorizationRequestErrors +import net.openid.appauth.AuthorizationException.GeneralErrors import net.openid.appauth.AuthorizationService class RealOAuth2TokenProvider( @@ -47,9 +50,21 @@ class RealOAuth2TokenProvider( latch.await(timeoutMillis, TimeUnit.MILLISECONDS) - if (exception != null) { + val authException = exception + if (authException == GeneralErrors.NETWORK_ERROR || + authException == GeneralErrors.SERVER_ERROR || + authException == AuthorizationRequestErrors.SERVER_ERROR || + authException == AuthorizationRequestErrors.TEMPORARILY_UNAVAILABLE + ) { + throw IOException("Error while fetching an access token", authException) + } else if (authException != null) { account.oAuthState = null accountManager.saveAccount(account) + throw AuthenticationFailedException( + message = "Failed to fetch an access token", + throwable = authException, + messageFromServer = authException.error + ) } else if (token != oldAccessToken) { requestFreshToken = false account.oAuthState = authState.jsonSerializeString() @@ -62,14 +77,6 @@ class RealOAuth2TokenProvider( ) } - exception?.let { authException -> - throw AuthenticationFailedException( - message = "Failed to fetch an access token", - throwable = authException, - messageFromServer = authException.error - ) - } - return token ?: throw AuthenticationFailedException("Failed to fetch an access token") } diff --git a/app/k9mail/src/main/java/com/fsck/k9/notification/K9NotificationResourceProvider.kt b/app/k9mail/src/main/java/com/fsck/k9/notification/K9NotificationResourceProvider.kt index 5304232375691c51aea6ec314d9515c96231b627..033030e8d0e06fd18f515a750622204b9dfd244b 100644 --- a/app/k9mail/src/main/java/com/fsck/k9/notification/K9NotificationResourceProvider.kt +++ b/app/k9mail/src/main/java/com/fsck/k9/notification/K9NotificationResourceProvider.kt @@ -36,6 +36,10 @@ class K9NotificationResourceProvider(private val context: Context) : Notificatio override fun authenticationErrorBody(accountName: String): String = context.getString(R.string.notification_authentication_error_text, accountName) + override fun notifyErrorTitle(): String = context.getString(R.string.notification_notify_error_title) + + override fun notifyErrorText(): String = context.getString(R.string.notification_notify_error_text) + override fun certificateErrorTitle(): String = context.getString(R.string.notification_certificate_error_public) override fun certificateErrorTitle(accountName: String): String = diff --git a/app/ui/legacy/src/main/java/com/fsck/k9/activity/MessageList.kt b/app/ui/legacy/src/main/java/com/fsck/k9/activity/MessageList.kt index 5c99c460c12cc190970a0369710fd15040adb635..b8ca57ad9a218de858ef49905639ebb2fa2b789c 100644 --- a/app/ui/legacy/src/main/java/com/fsck/k9/activity/MessageList.kt +++ b/app/ui/legacy/src/main/java/com/fsck/k9/activity/MessageList.kt @@ -42,6 +42,7 @@ import androidx.drawerlayout.widget.DrawerLayout import androidx.drawerlayout.widget.DrawerLayout.DrawerListener import androidx.fragment.app.FragmentManager import androidx.fragment.app.FragmentTransaction +import androidx.fragment.app.commit import androidx.lifecycle.Observer import androidx.lifecycle.lifecycleScope import com.fsck.k9.Account @@ -128,7 +129,6 @@ open class MessageList : private var messageViewPlaceHolder: PlaceholderFragment? = null private var messageListFragment: MessageListFragment? = null private var messageViewFragment: MessageViewFragment? = null - private var firstBackStackId = -1 private var account: Account? = null private var search: LocalSearch? = null private var singleFolderMode = false @@ -241,10 +241,8 @@ open class MessageList : setIntent(intent) - if (firstBackStackId >= 0) { - supportFragmentManager.popBackStackImmediate(firstBackStackId, FragmentManager.POP_BACK_STACK_INCLUSIVE) - firstBackStackId = -1 - } + // Start with a fresh fragment back stack + supportFragmentManager.popBackStackImmediate(FIRST_FRAGMENT_TRANSACTION, FragmentManager.POP_BACK_STACK_INCLUSIVE) removeMessageListFragment() removeMessageViewFragment() @@ -578,7 +576,6 @@ open class MessageList : outState.putSerializable(STATE_DISPLAY_MODE, displayMode) outState.putBoolean(STATE_MESSAGE_VIEW_ONLY, messageViewOnly) outState.putBoolean(STATE_MESSAGE_LIST_WAS_DISPLAYED, messageListWasDisplayed) - outState.putInt(STATE_FIRST_BACK_STACK_ID, firstBackStackId) } public override fun onRestoreInstanceState(savedInstanceState: Bundle) { @@ -586,7 +583,6 @@ open class MessageList : messageViewOnly = savedInstanceState.getBoolean(STATE_MESSAGE_VIEW_ONLY) messageListWasDisplayed = savedInstanceState.getBoolean(STATE_MESSAGE_LIST_WAS_DISPLAYED) - firstBackStackId = savedInstanceState.getInt(STATE_FIRST_BACK_STACK_ID) } private fun initializeActionBar() { @@ -608,8 +604,7 @@ open class MessageList : return object : DrawerListener { override fun onDrawerClosed(drawerView: View) { if (openFolderTransaction != null) { - openFolderTransaction!!.commit() - openFolderTransaction = null + commitOpenFolderTransaction() } } @@ -632,14 +627,20 @@ open class MessageList : search.addAllowedFolder(folderId) performSearch(search) - - onMessageListDisplayed() } private fun openFolderImmediately(folderId: Long) { openFolder(folderId) + commitOpenFolderTransaction() + } + + private fun commitOpenFolderTransaction() { openFolderTransaction!!.commit() openFolderTransaction = null + + messageListFragment!!.onListVisible() + + onMessageListDisplayed() } fun openUnifiedInbox() { @@ -1328,12 +1329,17 @@ open class MessageList : configureMenu(menu) } - private fun addMessageListFragment(fragment: MessageListFragment, addToBackStack: Boolean) { - val fragmentTransaction = supportFragmentManager.beginTransaction() + private fun addMessageListFragment(fragment: MessageListFragment) { + supportFragmentManager.commit { + replace(R.id.message_list_container, fragment) - fragmentTransaction.replace(R.id.message_list_container, fragment) - if (addToBackStack) { - fragmentTransaction.addToBackStack(null) + setReorderingAllowed(true) + + if (supportFragmentManager.backStackEntryCount == 0) { + addToBackStack(FIRST_FRAGMENT_TRANSACTION) + } else { + addToBackStack(null) + } } messageListFragment = fragment @@ -1341,11 +1347,6 @@ open class MessageList : if (isDrawerEnabled) { lockDrawer() } - - val transactionId = fragmentTransaction.commit() - if (transactionId >= 0 && firstBackStackId < 0) { - firstBackStackId = transactionId - } } override fun startSearch(query: String, account: Account?, folderId: Long?): Boolean { @@ -1381,7 +1382,7 @@ open class MessageList : initializeFromLocalSearch(tmpSearch) val fragment = MessageListFragment.newInstance(tmpSearch, true, false) - addMessageListFragment(fragment, true) + addMessageListFragment(fragment) } private fun showMessageViewPlaceHolder() { @@ -1721,6 +1722,7 @@ open class MessageList : private const val STATE_MESSAGE_LIST_WAS_DISPLAYED = "messageListWasDisplayed" private const val STATE_FIRST_BACK_STACK_ID = "firstBackstackId" + private const val FIRST_FRAGMENT_TRANSACTION = "first" private const val FRAGMENT_TAG_MESSAGE_VIEW = "MessageViewFragment" private const val FRAGMENT_TAG_PLACEHOLDER = "MessageViewPlaceholder" diff --git a/app/ui/legacy/src/main/res/raw/changelog_master.xml b/app/ui/legacy/src/main/res/raw/changelog_master.xml index ed55e4fad82b3ca1ace66875cf002efbd64deba9..2cfc51986f5710718fe6f928845a290974f52412 100644 --- a/app/ui/legacy/src/main/res/raw/changelog_master.xml +++ b/app/ui/legacy/src/main/res/raw/changelog_master.xml @@ -5,6 +5,14 @@ Locale-specific versions are kept in res/raw-/changelog.xml. --> + + Added support for using OAuth 2.0 with Office365 accounts + Fixed a bug that could lead to two message lists being displayed on top of each other + Avoid a crash when trying to create new message notifications but the notification sound couldn't be accessed + Fixed a bug where multi-select mode was exited early in some cases + Don't require re-authorization when getting an OAuth token fails due to a temporary error + Updated translations + Added support for using OAuth 2.0 with Google, Yahoo, AOL, and personal Microsoft accounts (Office365 accounts are not supported yet) Added "Unsubscribe" action that is displayed in the menu when viewing a message that contains an Unsubscribe header diff --git a/app/ui/legacy/src/main/res/values-ar/strings.xml b/app/ui/legacy/src/main/res/values-ar/strings.xml index fe922be9f518fd444385563fca59a248c93879b2..16638d9b174898cdb4e479ceb56844049db9279e 100644 --- a/app/ui/legacy/src/main/res/values-ar/strings.xml +++ b/app/ui/legacy/src/main/res/values-ar/strings.xml @@ -131,6 +131,8 @@ تأكد من إعدادات الخادم فشل المصادقة فشل مصادقة %s. يرجى تحديث إعدادات الخادم. + + تفقد البريد: %s:%s التحقق من البريد إرسال البريد: %s diff --git a/app/ui/legacy/src/main/res/values-be/strings.xml b/app/ui/legacy/src/main/res/values-be/strings.xml index bca2e76104c3034f07209c11979c1a06fb65b789..d246f6a979e1a46f7b5b70c3a61bc49843599f30 100644 --- a/app/ui/legacy/src/main/res/values-be/strings.xml +++ b/app/ui/legacy/src/main/res/values-be/strings.xml @@ -40,7 +40,7 @@ Адказаць Адказаць усім Пераслаць - Пераслаць як укладзены + Пераслаць як далучаны файл Абраць акаўнт Абраць каталог %d абрана @@ -57,7 +57,7 @@ Архіў Спам Пераслаць - Пераслаць як укладзены + Пераслаць як далучаны файл Рэдагаваць як новы ліст Перамясціць Перамясціць у чарнавікі @@ -97,7 +97,7 @@ Апавяшчэнне Запытаць апавяшчэнне пра чытанне Без апавяшчэння пра чытанне - Укласці файлы + Далучыць файлы Ачысціць сметніцу Выдаліць About @@ -136,6 +136,8 @@ Праверце налады сервера Аўтэнтыфікацыя схібіла Няўдалая аўтарызацыя для %s. Змяніце налады сервера. + + Праверка пошты: %s:%s Праверка пошты Адпраўка пошты: %s @@ -177,12 +179,12 @@ Уключыць цытаваны ліст Выдаліць цытату Рэдагаваць цытату - Выдаліць укладзеныя файлы + Выдаліць далучаныя файлы Ад: %s <%s> Каму: Копія: Схаваная копія: - Немагчыма захаваць укладзеныя файлы. + Немагчыма захаваць далучаныя файлы. Прагляд малюнкаў Няма праграмы для прагляду %s. Спампаваць ліст цалкам @@ -540,7 +542,7 @@ Спачатку не адзначаныя лісты Спачатку непрачытаныя лісты Спачатку прачытаныя лісты - Спачатку лісты з укладзенымі файламі + Спачатку лісты з далучанымі файламі Спачатку лісты без укладзеных файлаў Сартаваць па… Дата diff --git a/app/ui/legacy/src/main/res/values-bg/strings.xml b/app/ui/legacy/src/main/res/values-bg/strings.xml index e65cbdd330a678add5406f67228d8142c883a03b..95407ea386cc7485fec979f0739a141712b858b0 100644 --- a/app/ui/legacy/src/main/res/values-bg/strings.xml +++ b/app/ui/legacy/src/main/res/values-bg/strings.xml @@ -139,6 +139,8 @@ Проверете настройките на сървара Неуспешна идентификация Идентификацията за %s е неуспешна. Обновете сървърните настройки. + + Проверка на поща: %s:%s Проверка на поща Изпраща писмо: %s diff --git a/app/ui/legacy/src/main/res/values-br/strings.xml b/app/ui/legacy/src/main/res/values-br/strings.xml index 664de8653a961dc8be7fd19c52968e113d70d225..6c2b053ba70a7627fd37c7a0e433dd9b2ebb8dd3 100644 --- a/app/ui/legacy/src/main/res/values-br/strings.xml +++ b/app/ui/legacy/src/main/res/values-br/strings.xml @@ -123,6 +123,8 @@ Gwiriit an arventennoù dafariad C’hwiadenn war an dilesa C’hwitadenn war an dilesa evit %s. Hizivait an arventennoù dafariad. + + O kerc’hat ar posteloù: %s:%s Kerc’hat ar posteloù O kas ar postel: %s diff --git a/app/ui/legacy/src/main/res/values-ca/strings.xml b/app/ui/legacy/src/main/res/values-ca/strings.xml index a0ca7cb03f4710a3551531c3250d50191e1fb7e6..06db7ef7dacb9f42d386955d9d0b77f49771a1ed 100644 --- a/app/ui/legacy/src/main/res/values-ca/strings.xml +++ b/app/ui/legacy/src/main/res/values-ca/strings.xml @@ -140,6 +140,8 @@ Comproveu la configuració del servidor. Ha fallat l\'autenticació Ha fallat l\'autenticació de %s. Actualitzeu la configuració del servidor. + + S\'està comprovant el correu: %s:%s S\'està comprovant el correu S\'està enviant correu: %s diff --git a/app/ui/legacy/src/main/res/values-cs/strings.xml b/app/ui/legacy/src/main/res/values-cs/strings.xml index a3def44b264ad53448f2bf064137624b6a11c7e5..25b33af7fa02c81ef72d196474cb6e48084d72bb 100644 --- a/app/ui/legacy/src/main/res/values-cs/strings.xml +++ b/app/ui/legacy/src/main/res/values-cs/strings.xml @@ -12,6 +12,8 @@ Apache License, verze 2.0 Projekt s otevřeným zdrojovým kódem Webová stránka + Uživatelská příručka + Získat nápovědu Uživatelské fórum Fediverse Twitter @@ -146,6 +148,10 @@ Zkontrolujte nastavení serveru Přihlášení se nezdařilo Přihlášení k %s se nezdařilo. Aktualizujte svá nastavení pro server. + + Chyba upozornění + + Vyskytla se chyba při pokusu o vytvoření systémového upozornění pro novou zprávu. Důvodem je nejspíš chybějící zvuk upozornění.\n\nKlepnutím otevřete nastavení upozorňování. Zjišťování pošty: %s:%s Zjišťování pošty Odesílání pošty: %s diff --git a/app/ui/legacy/src/main/res/values-cy/strings.xml b/app/ui/legacy/src/main/res/values-cy/strings.xml index b30c8bf1642b507ec28a796007065c1b66e5e639..bfaf52376709b49211c727547149d670defa797a 100644 --- a/app/ui/legacy/src/main/res/values-cy/strings.xml +++ b/app/ui/legacy/src/main/res/values-cy/strings.xml @@ -145,6 +145,8 @@ Gwiria osodiadau\'r gweinydd Methwyd a dilysu Methodd y dilysiad ar gyfer %s. Diweddara dy osodiadau gweinydd. + + Yn gwirio am negeseuon: %s:%s Yn gwirio am negeseuon Yn anfon negeseuon: %s diff --git a/app/ui/legacy/src/main/res/values-da/strings.xml b/app/ui/legacy/src/main/res/values-da/strings.xml index f92e44480791230517a750db5d64711b6514eaea..c1efd24cc1a748b04e9459bf0bb09da8a4dafc11 100644 --- a/app/ui/legacy/src/main/res/values-da/strings.xml +++ b/app/ui/legacy/src/main/res/values-da/strings.xml @@ -141,6 +141,8 @@ Kontroller dine serverindstillinger Godkendelse mislykkedes Godkendelse mislykkedes for %s. Opdater dine serverindstillinger. + + Synkroniserer mail: %s:%s Kontrollere post Sender mail: %s diff --git a/app/ui/legacy/src/main/res/values-de/strings.xml b/app/ui/legacy/src/main/res/values-de/strings.xml index 779b1c7799d89d9c06bf2d88457f6f887fcf714f..1f439cd86bdd20d09df57cf28c40d63cbce4bae8 100644 --- a/app/ui/legacy/src/main/res/values-de/strings.xml +++ b/app/ui/legacy/src/main/res/values-de/strings.xml @@ -1,31 +1,33 @@ - - - - Mail - E-Mail-Konten - Ungelesene E-Mails - - The Mail Dog Walkers - Quellcode - Apache-Lizenz, Version 2.0 - Open Source Projekt - Webseite - Anwenderforum - Fediverse - Twitter - Bibliotheken - Lizenz - Changelog - Changelog konnte nicht geladen werden. - Version %s - Was gibt es Neues - Zeige die neuesten Änderungen nach einem App-Update - Finde heraus, was es Neues in diesem Release gibt - - Willkommen bei Mail - + + + Mail + E-Mail-Konten + Ungelesene E-Mails + + The Mail Dog Walkers + Quellcode + Apache-Lizenz, Version 2.0 + Open Source Projekt + Webseite + Benutzerhandbuch + Hilfe erhalten + Anwenderforum + Fediverse + Twitter + Bibliotheken + Lizenz + Changelog + Changelog konnte nicht geladen werden. + Version %s + Was gibt es Neues + Zeige die neuesten Änderungen nach einem App-Update + Finde heraus, was es Neues in diesem Release gibt + + Willkommen bei Mail + Mail ist ein leistungsstarker, freier E-Mail-Client für Android.

@@ -1016,7 +1018,6 @@ Bitte senden Sie Fehlerberichte, Ideen für neue Funktionen und stellen Sie Frag Setup-Code anzeigen Autocrypt-Setup-Nachricht Diese Nachricht enthält alle Informationen, um Ihre Autocrypt-Einstellungen zusammen mit Ihrem geheimen Schlüssel von Ihrem ursprünglichen Gerät sicher zu übertragen. - Um Ihr neues Gerät für Autocrypt einzurichten, folgen Sie bitte den Anweisungen, die auf dem neuen Gerät angezeigt werden. Sie können diese Nachricht aufheben und sie als Backup für Ihren geheimen Schlüssel nutzen. Wenn Sie das tun möchten, sollten Sie sich das Passwort notieren und sicher verwahren. @@ -1057,7 +1058,5 @@ Sie können diese Nachricht aufheben und sie als Backup für Ihren geheimen Schl E-Mails löschen Dieser App erlauben, E-Mails zu lesen. E-Mails lesen - Hilfe erhalten - Benutzerhandbuch LÖSCHEN \ No newline at end of file diff --git a/app/ui/legacy/src/main/res/values-el/strings.xml b/app/ui/legacy/src/main/res/values-el/strings.xml index 008d562210dca245636c5ef2deff9ff9f582508d..2ca0287c3c4efc9df72e965e985279b5d664bd95 100644 --- a/app/ui/legacy/src/main/res/values-el/strings.xml +++ b/app/ui/legacy/src/main/res/values-el/strings.xml @@ -137,6 +137,8 @@ Ελέγξτε τις ρυθμίσεις του εξυπηρετητή Αποτυχία πιστοποίησης Αποτυχία πιστοποίησης %s. Ενημερώστε τις ρυθμίσεις του εξυπηρετητή σας. + + Έλεγχος μηνύματος: %s:%s Έλεγχος μηνύματος Αποστολή μηνύματος: %s diff --git a/app/ui/legacy/src/main/res/values-en-rGB/strings.xml b/app/ui/legacy/src/main/res/values-en-rGB/strings.xml index acae234b02f2986f6f3bc4a67ae313260820aa11..4e77e4be5af60c28c5e249c7ba18f262c21e60d8 100644 --- a/app/ui/legacy/src/main/res/values-en-rGB/strings.xml +++ b/app/ui/legacy/src/main/res/values-en-rGB/strings.xml @@ -13,6 +13,8 @@ + + Colourise contacts Colourise names in your contact list diff --git a/app/ui/legacy/src/main/res/values-eo/strings.xml b/app/ui/legacy/src/main/res/values-eo/strings.xml index 5c03408147d56c96963bae4b36ec833adf982856..17e6f6663ef269e1ce017b0de00cdd7df9ec0f64 100644 --- a/app/ui/legacy/src/main/res/values-eo/strings.xml +++ b/app/ui/legacy/src/main/res/values-eo/strings.xml @@ -138,6 +138,8 @@ Kontrolu agordojn de servilo Aŭtentigo malsukcesis Aŭtentigo por %s malsukcesis. Aktualigu agordojn de servilo. + + Kontrolado de retpoŝto: %s:%s Kontrolado de retpoŝto Sendado de retletero: %s diff --git a/app/ui/legacy/src/main/res/values-es/strings.xml b/app/ui/legacy/src/main/res/values-es/strings.xml index 0b5c901c0ec9fc30441cc51559b386d157c343ef..ec13cbc93382961cedef5ffab483f7af928bd918 100644 --- a/app/ui/legacy/src/main/res/values-es/strings.xml +++ b/app/ui/legacy/src/main/res/values-es/strings.xml @@ -12,7 +12,9 @@ Apache License, Version 2.0 Proyecto de Código Abierto Sitio web - Usuario del foro + Manual de uso + Ayuda + Foro de usuarios Fediverse Twitter Librerías @@ -138,7 +140,7 @@ Error de certificado para %s Compruebe su configuración del servidor Fallo de autenticación - Fallo de autenticación para %s. Actualice la configuración del servidor. + Fallo de autenticación en %s. Actualiza y revisa los ajustes del servidor. Comprobando correo: %s:%s Comprobando correo Enviando correo: %s diff --git a/app/ui/legacy/src/main/res/values-et/strings.xml b/app/ui/legacy/src/main/res/values-et/strings.xml index afbc23085c1b1ad4d8c81d0e6e15aaa75e23b8bd..8668149b9a219bcb18731acd8d4f395c8e6dd22a 100644 --- a/app/ui/legacy/src/main/res/values-et/strings.xml +++ b/app/ui/legacy/src/main/res/values-et/strings.xml @@ -136,6 +136,8 @@ Kontrolli serveri sätteid Autentimine ebaõnnestus Autentimine ebaõnnestus konto %s puhul. Uuenda serveri seadeid. + + Kontrollib e-kirju: %s:%s Kontrollib e-kirju Saadab e-kirja: %s diff --git a/app/ui/legacy/src/main/res/values-eu/strings.xml b/app/ui/legacy/src/main/res/values-eu/strings.xml index 4f35c485dbc7ce56cdb737effb5339710374d24d..084e693de8aa0cfe6d910c289becc5afd3a42a19 100644 --- a/app/ui/legacy/src/main/res/values-eu/strings.xml +++ b/app/ui/legacy/src/main/res/values-eu/strings.xml @@ -136,6 +136,8 @@ Egiaztatu zerbitzariaren ezarpenak Autentifikazioak huts egin du Autentifikazioak huts egin du %s-(e)rako. Eguneratu zerbitzariaren ezarpenak. + + Posta egiaztatzen: %s:%s Posta egiaztatzen Posta bidaltzen: %s diff --git a/app/ui/legacy/src/main/res/values-fa/strings.xml b/app/ui/legacy/src/main/res/values-fa/strings.xml index f2cf73558a4bf9a7a05e2c3c0bfa97e5c2099d79..c966ca96d1fca670995623d3aa1b92b9a1ad82e9 100644 --- a/app/ui/legacy/src/main/res/values-fa/strings.xml +++ b/app/ui/legacy/src/main/res/values-fa/strings.xml @@ -126,6 +126,8 @@ تنظیمات کارساز خود را بررسی کنید احراز هویت ناموفق بود اعتبارسنجی %s ناموفق بود. تنظیمات کارساز خود را به‌روز کنید. + + به‌روزآوری رایانامه‌ها: %s:%s به‌روزآوری رایانامه‌ها ارسال رایانامه: %s @@ -238,6 +240,7 @@ راه‌اندازی حساب کاربری جدید نشانی رایانامه گذرواژه + جهت استفاده‌ این حساب کاربری از K-9 Mail، نیاز است که وارد حساب کاربری خود شوید و اجازه دسترسی اپلیکیشن به ایمیل‌ها را صادر کنید. diff --git a/app/ui/legacy/src/main/res/values-fi/strings.xml b/app/ui/legacy/src/main/res/values-fi/strings.xml index 3530ddbfd7fbd232b4a76cb4e58ac7b79d192b3e..6b23917e43401ca16337864c7307d888d340efc2 100644 --- a/app/ui/legacy/src/main/res/values-fi/strings.xml +++ b/app/ui/legacy/src/main/res/values-fi/strings.xml @@ -12,6 +12,8 @@ Apache-lisenssi, versio 2.0 Avoimen lähdekoodin projekti Verkkosivusto + Käyttäjäopas + Tuki Käyttäjäfoorumi Fediverse Twitter @@ -165,6 +167,10 @@ Ilmoita virheistä, ota osaa sovelluskehitykseen ja esitä kysymyksiä osoittees Tarkista palvelinasetuksesi Tunnistautuminen epäonnistui Tilin %s tunnistautuminen epäonnistui. Päivitä palvelinasetuksesi. + + Ilmoitusvirhe + + Uuteen viestiin liittyvää järjestelmäilmoitusta luotaessa tapahtui virhe. Syy on mitä luultavimmin puuttuva ilmoitusääni.\n\nNapauta avataksesi ilmoitusasetukset. Tarkistetaan viestejä: %s:%s Tarkistetaan viestejä Lähetetään viestejä: %s diff --git a/app/ui/legacy/src/main/res/values-fr/strings.xml b/app/ui/legacy/src/main/res/values-fr/strings.xml index 1eb6dd0e15092100e8cb2a0517ef4a1ba3277818..9bf2da248d616f8808a4ad587bea37a2961567b6 100644 --- a/app/ui/legacy/src/main/res/values-fr/strings.xml +++ b/app/ui/legacy/src/main/res/values-fr/strings.xml @@ -12,6 +12,8 @@ Licence Apache, Version 2.0 Projet à code source ouvert Site Web + Guide d’utilisation + Obtenir de l’aide Forum des utilisateurs Fédivers Twitter @@ -143,6 +145,10 @@ jusqu’à %d de plus Vérifiez vos paramètres de serveur Échec d’authentification Échec d’authentification pour %s. Mettre à jour les paramètres du serveur. + + Erreur de notification + + Impossible de créer une notification système de nouveau message. Un son de notification manquant en est probablement la cause.\n\nToucher pour ouvrir les paramètres de notification. Relève des courriels : %s:%s Relève des courriels Envoi du courriel : %s diff --git a/app/ui/legacy/src/main/res/values-gd/strings.xml b/app/ui/legacy/src/main/res/values-gd/strings.xml index 5d401e7085dd2c2afc6146483731146811bc4620..f78c709f96a010b8dcd6acd0a94696109f82f2ed 100644 --- a/app/ui/legacy/src/main/res/values-gd/strings.xml +++ b/app/ui/legacy/src/main/res/values-gd/strings.xml @@ -133,6 +133,8 @@ Thoir sùil air roghainnean an fhrithealaiche agad Dh’fhàillig an dearbhadh Dh’fhàillig dearbhadh a’ chunntais %s. Ùraich roghainnean an fhrithealaiche agad. + + A’ toirt sùil airson post: %s:%s A’ toirt sùil airson post A’ cur a’ phuist: %s diff --git a/app/ui/legacy/src/main/res/values-gl-rES/strings.xml b/app/ui/legacy/src/main/res/values-gl-rES/strings.xml index b33e3aecf07a25083e84b8661ef97dc9534f09ca..7432041eaca1a64958df40c962acf8c70435373a 100644 --- a/app/ui/legacy/src/main/res/values-gl-rES/strings.xml +++ b/app/ui/legacy/src/main/res/values-gl-rES/strings.xml @@ -89,6 +89,8 @@ Lixo Erro de certificado para %s Comproba a configuración do servidor + + Comprobando correo: %s:%s Comprobando correo Enviando correo: %s diff --git a/app/ui/legacy/src/main/res/values-gl/strings.xml b/app/ui/legacy/src/main/res/values-gl/strings.xml index 8a7a58cf0136f38d1dfae1f3155abc44d5bd8691..34b8db923d4b97b3d0eec1c2e30ad248d34d468a 100644 --- a/app/ui/legacy/src/main/res/values-gl/strings.xml +++ b/app/ui/legacy/src/main/res/values-gl/strings.xml @@ -113,6 +113,8 @@ Comprobe os axustes do servidor Fallo de autenticación Fallou a autenticación para %s. Actualice os axustes do servidor. + + Comprobando correo: %s:%s Comprobando correo Enviando correo: %s diff --git a/app/ui/legacy/src/main/res/values-hr/strings.xml b/app/ui/legacy/src/main/res/values-hr/strings.xml index 42e235fc8615fa3354a6f0ee5c6d37381b74d52d..4e3cb2f2ac3cb41464cc45bd57429a9ed0e1c1b6 100644 --- a/app/ui/legacy/src/main/res/values-hr/strings.xml +++ b/app/ui/legacy/src/main/res/values-hr/strings.xml @@ -123,6 +123,8 @@ provjerite postavke vašeg poslužitelja Identifikacija nije uspjela Identifikacija nije uspjela za %s. Ažurirajte vaše postavke servera. + + Provjeravam poštu: %s:%s Provjeravanje pošte Šaljem poštu: %s diff --git a/app/ui/legacy/src/main/res/values-hu/strings.xml b/app/ui/legacy/src/main/res/values-hu/strings.xml index f7480cfa6a96789d44cd56c4d496f70b51b4ca43..a2b6cb0ca92f580c01cccae724f0a9bbde1a43e9 100644 --- a/app/ui/legacy/src/main/res/values-hu/strings.xml +++ b/app/ui/legacy/src/main/res/values-hu/strings.xml @@ -135,7 +135,9 @@ Tanúsítványhiba: %s Ellenőrizzük a kiszolgáló beállításait. A hitelesítés sikertelen. - A hitelesítés sikertelen: %s. Frissítsük a kiszolgáló beállításait. + A hitelesítés sikertelen: %s. Frissítse a kiszolgálóbeállításokat. + + Levelek ellenőrzése: %s:%s Levelek ellenőrzése Levél küldése: %s @@ -788,8 +790,6 @@ A távoli keresés sikertelen Keresés - Kiszolgáló keresésének engedélyezése - Üzenetek keresése a kiszolgálón az eszközön lévők mellett Üzenetek keresése a kiszolgálón Hálózati kapcsolat szükséges a kiszolgáló kereséséhez. Szín megváltoztatása olvasáskor diff --git a/app/ui/legacy/src/main/res/values-in/strings.xml b/app/ui/legacy/src/main/res/values-in/strings.xml index 026a71aa587127de026ac77648bfa0e0744d49b4..d848046c5440d2b1cc8ca50cec9d1cdd9bb8830e 100644 --- a/app/ui/legacy/src/main/res/values-in/strings.xml +++ b/app/ui/legacy/src/main/res/values-in/strings.xml @@ -130,6 +130,8 @@ Periksa pengaturan server Anda Otentikasi gagal Otentikasi gagal untuk %s. Perbarui pengaturan server Anda. + + Memeriksa pesan: %s:%s Memeriksa pesan Mengirimkan pesan: %s diff --git a/app/ui/legacy/src/main/res/values-is/strings.xml b/app/ui/legacy/src/main/res/values-is/strings.xml index 7c28ac031c3a5a68bedce8185052ae82526dd318..a29cab387e2962c8b5cb3c2dc3785e6612e9bffd 100644 --- a/app/ui/legacy/src/main/res/values-is/strings.xml +++ b/app/ui/legacy/src/main/res/values-is/strings.xml @@ -139,6 +139,8 @@ Athugaðu stillingar póstþjónsins Auðkenning mistókst Auðkenning mistókst fyrir %s. Uppfærðu stillingar póstþjónsins þíns. + + Athuga með póst: %s:%s Athuga með póst Sendi póst: %s diff --git a/app/ui/legacy/src/main/res/values-it/strings.xml b/app/ui/legacy/src/main/res/values-it/strings.xml index 6ad3d24c36ad747c695773878380b8345bad2e41..872c250d78362809bcb6b180248f6a601133da7e 100644 --- a/app/ui/legacy/src/main/res/values-it/strings.xml +++ b/app/ui/legacy/src/main/res/values-it/strings.xml @@ -167,6 +167,8 @@ Invia segnalazioni di bug, contribuisci con nuove funzionalità e poni domande s Controlla le impostazioni del server Autenticazione non riuscita Autenticazione non riuscita per %s. Aggiorna le impostazioni del server. + + Controllo posta: %s:%s Controllo posta Invio posta: %s diff --git a/app/ui/legacy/src/main/res/values-iw/strings.xml b/app/ui/legacy/src/main/res/values-iw/strings.xml index 0f80fa014e61a2cbdaca84f6b3bf855073abc950..411a2cd98a48bcfd9c0a867e38a2881730966605 100644 --- a/app/ui/legacy/src/main/res/values-iw/strings.xml +++ b/app/ui/legacy/src/main/res/values-iw/strings.xml @@ -134,6 +134,8 @@ נכשל באימות האימות נכשל עבור %s. עדכן את הגדרות השרת. + + בודק דוא"ל: %s:%s בודק דוא\"ל שולח דוא"ל: %s diff --git a/app/ui/legacy/src/main/res/values-ja/strings.xml b/app/ui/legacy/src/main/res/values-ja/strings.xml index 12a1f0d4206abbe5ae43b4dcabc95d5ca8ccda48..a2ff01fc771e066dffd81ffbf91d3f3b9c8648a5 100644 --- a/app/ui/legacy/src/main/res/values-ja/strings.xml +++ b/app/ui/legacy/src/main/res/values-ja/strings.xml @@ -12,6 +12,7 @@ Apache License, Version 2.0 オープンソースプロジェクト ウェブサイト + ユーザーマニュアル ユーザーフォーラム Fediverse Twitter @@ -139,6 +140,10 @@ サーバの設定を確認してください 認証に失敗しました %s の認証に失敗しました。サーバの設定を更新してください。 + + 通知エラー + + 新着メッセージのためのシステム通知の作成中にエラーが発生しました。通知サウンドが不足していることが原因と思われます。\n\nタップして通知設定を開いてください。 メール確認中: %s:%s メール確認中 メール送信中: %s diff --git a/app/ui/legacy/src/main/res/values-ko/strings.xml b/app/ui/legacy/src/main/res/values-ko/strings.xml index bf8d2567a94c44d71ef92703c5a3aa411fe623e1..366aa390771b5752825fda6e42593a9f9a5d9b2a 100644 --- a/app/ui/legacy/src/main/res/values-ko/strings.xml +++ b/app/ui/legacy/src/main/res/values-ko/strings.xml @@ -115,6 +115,8 @@ 서버 설정을 점검하십시오. 인증 실패 %s 계정 인증 오류. 서버 설정을 업데이트하세요. + + 메일 체크 중: %s:%s 메일 체크 중 메일 전송 중: %s diff --git a/app/ui/legacy/src/main/res/values-lt/strings.xml b/app/ui/legacy/src/main/res/values-lt/strings.xml index 4faff67b089b2d2e48e2c8e4f3a0c422312dc366..a97b97f6a6e42ae06f9f34c9793ac048d419628f 100644 --- a/app/ui/legacy/src/main/res/values-lt/strings.xml +++ b/app/ui/legacy/src/main/res/values-lt/strings.xml @@ -141,6 +141,8 @@ Patikrinkite serverio nustatymus Autentifikavimas nepavyko Nepavyko nustatyti autentiškumo %s. Atnaujinkite serverio nustatymus. + + Tikrinamas paštas: %s:%s Tikrinamas paštas Siunčiamas paštas: %s diff --git a/app/ui/legacy/src/main/res/values-lv/strings.xml b/app/ui/legacy/src/main/res/values-lv/strings.xml index c665ccd93a1c04491f60f9e2eb16ea38494240ac..cc1fd35434ca3da221e229cf655a90e8e4990ef9 100644 --- a/app/ui/legacy/src/main/res/values-lv/strings.xml +++ b/app/ui/legacy/src/main/res/values-lv/strings.xml @@ -141,6 +141,8 @@ pat %d vairāk Pārbaudiet sava servera iestatījumus Identitātes pārbaude neizdevās Identifikācijas pārbaude kontam %s neizdevās. Atjaunojiet servera iestatījumus! + + Pārbauda pastu: %s:%s Pārbauda pastu Sūta pastu: %s diff --git a/app/ui/legacy/src/main/res/values-ml/strings.xml b/app/ui/legacy/src/main/res/values-ml/strings.xml index 785d8f8c0a7e707759d00c1e28d469cf4609b857..1f4fc3664e5697f5ee552a291bea44ac47c8684e 100644 --- a/app/ui/legacy/src/main/res/values-ml/strings.xml +++ b/app/ui/legacy/src/main/res/values-ml/strings.xml @@ -140,6 +140,8 @@ നിങ്ങളുടെ സെർവർ ക്രമീകരണങ്ങൾ പരിശോധിക്കുക പ്രാമാണീകരണം പരാജയപ്പെട്ടു %s നായുള്ള പ്രാമാണീകരണം പരാജയപ്പെട്ടു. നിങ്ങളുടെ സെർവർ ക്രമീകരണങ്ങൾ പുതുക്കുക. + + മെയിൽ പരിശോധിക്കുന്നു: %s:%s മെയിൽ പരിശോധിക്കുന്നു മെയിൽ അയയ്ക്കുന്നു: %s diff --git a/app/ui/legacy/src/main/res/values-nb/strings.xml b/app/ui/legacy/src/main/res/values-nb/strings.xml index f7807b80a994c09dbce8e78b6c297943ad0768ff..38d5f6241bccae2549e383dd919f6f65e41e4020 100644 --- a/app/ui/legacy/src/main/res/values-nb/strings.xml +++ b/app/ui/legacy/src/main/res/values-nb/strings.xml @@ -130,6 +130,8 @@ til %d flere Sjekk dine tjenerinnstillinger Autentisering feilet Autentisering feilet for %s. Oppdater serverinnstillingene dine. + + Sjekker e-post: %s:%s Sjekker e-post Sender e-post: %s diff --git a/app/ui/legacy/src/main/res/values-nl/strings.xml b/app/ui/legacy/src/main/res/values-nl/strings.xml index 0ac6c0593238af42c9010e224960e335e4cb1315..e723c9423e472a653cd7e4dadb452759476e74b3 100644 --- a/app/ui/legacy/src/main/res/values-nl/strings.xml +++ b/app/ui/legacy/src/main/res/values-nl/strings.xml @@ -132,6 +132,8 @@ Controleer de server instellingen Authenticatie mislukt Authenticatie mislukt voor %s. Werk de server instellingen bij. + + Controleer berichten: %s:%s Controleren berichten Versturen van berichten: %s diff --git a/app/ui/legacy/src/main/res/values-pl/strings.xml b/app/ui/legacy/src/main/res/values-pl/strings.xml index 2951bf6d434a8cbcb22a43849e3714cabce9efce..469e4606e1c6a75c39c5934d9582a2e76facf8ad 100644 --- a/app/ui/legacy/src/main/res/values-pl/strings.xml +++ b/app/ui/legacy/src/main/res/values-pl/strings.xml @@ -12,6 +12,8 @@ Licencja Apache, Wersja 2.0 Projekt otwartoźródłowy Strona internetowa + Instrukcja obsługi + Uzyskaj pomoc Forum użytkowników Fediverse Twitter @@ -32,11 +34,7 @@ The account \"%s\" will be removed from Mail. Autorzy - Czytaj pocztę - Zezwalaj tej aplikacji na czytanie Twoich wiadomości - Usuń wiadomości - Zezwalaj tej aplikacji na usuwanie Twoich wiadomości. - About Mail + O aplikacji Mail Konta Zaawansowane Nowa wiadomość @@ -109,7 +107,7 @@ Dodaj załącznik Opróżnij kosz Wyczyść - About + O aplikacji Ustawienia (Brak tematu) @@ -145,6 +143,10 @@ Sprawdź ustawienia serwera Uwierzytelnianie nie powiodło się Uwierzytelnianie dla %s nie powiodło się. Zaktualizuj ustawienia serwera. + + Błąd powiadomienia + + Wystąpił błąd podczas próby utworzenia powiadomienia systemowego dla nowej wiadomości. Powodem jest najprawdopodobniej brak dźwięku powiadomienia.\n\nStuknij, aby otworzyć ustawienia powiadomień. Sprawdzam: %s:%s Sprawdzam Wysyłam: %s @@ -198,7 +200,7 @@ UDW: Nie można zapisać załącznika. Wyświetl grafikę - Nie moge znaleźć programu do wyświetlenia pliku %s. + Nie moge znaleźć aplikacji do wyświetlenia pliku %s. Pobierz całą wiadomość przez %1$s Więcej od tego nadawcy @@ -207,17 +209,17 @@ Wiadomość zapisana jako wersja robocza Oznaczaj gwiazdkami Gwiazdki wskazują oznakowane wiadomości - Podglądaj linie - Pokazuj nazwiska korespondentów - Pokazuj nazwiska korespondentów zamiast ich adresów e-mail + Podgląd wierszy + Pokazuj imiona i nazwiska korespondentów + Pokazuj imiona i nazwiska korespondentów zamiast ich adresów e-mail Korespondent powyżej tematu - Wyświetlaj nazwę korespondenta powyżej, zamiast poniżej tematu + Pokazuj imiona i nazwiska korespondentów powyżej, a nie poniżej tematu Pokazuj nazwę kontaktu Użyj nazw nadawców, jeżeli występują w Twojej książce kontaktowej Koloruj kontakty Koloruj nazwiska na liście kontaktów Kolor nazwy kontaktu - Czcionka o stałej szer. + Czcionka o stałej szerokości Użyj czcionki o stałej szerokości do wyświetlania wiadomości tekstowych Dopasuj wiadomość do rozmiaru ekranu Zmniejsza wiadomości, aby mieściły się na ekranie @@ -308,7 +310,7 @@ Od razu Podczas każdego pobrania Tylko ręcznie - Wykrywaj automatycznie IMAP namespace + Automatycznie wykrywaj przestrzeń nazw IMAP Prefiks ścieżki IMAP Folder wersji roboczych Wysłane @@ -343,7 +345,7 @@ Co 24 godziny Odśwież połączenie IDLE Co 2 minuty - co 3 minuty + Co 3 minuty Co 6 minut Co 12 minut Co 24 minuty @@ -406,7 +408,7 @@ Od każdego Tworzenie wiadomości Cytuj oryginał - Gdy odpowiadasz tekst oryginalnej wiadomości zostanie cytowany + Gdy odpowiadasz, tekst oryginalnej wiadomości zostanie zacytowany Odpowiedź pod cytatem Podczas odpowiadania, wiadomość oryginalna (cytowana) pojawi się nad Twoją odpowiedzią Wycinaj podpis z tekstu @@ -428,10 +430,10 @@ Synchronizacja folderów Foldery Prefiks cytowania - Szyfrowanie pomiędzy urządzeniami końcowymi \"end-to-end\" + Szyfrowanie typu „end-to-end” Aktywuj wsparcie dla OpenPGP Wybierz aplikację OpenPGP - Skonfiguruj szyfrowanie pomiędzy urządzeniami końcowymi \"end-to-end\" + Skonfiguruj klucz szyfrowania typu „end-to-end” Brak skonfigurowanej aplikacji OpenPGP Połączono z %s Konfigurowanie… @@ -599,7 +601,7 @@ Data otrzymania Temat Nadawca - Gwiazdek + Gwiazdka Przeczytane/nieprzeczytane Załączniki Usuwanie @@ -620,8 +622,8 @@ Użyj stylu aplikacji Ciemna Jasna - Użyj domyślnego systemowego - Ustawienia globalne + Użyj domyślnej systemowej + Wyświetlanie Globalne Debugowanie Prywatność @@ -645,7 +647,7 @@ Gdy \'Autosynchronizacja\' jest włączona Zaznacz wszystko Sprawdzanie przez Push - 5 folderów + Do 5 folderów Do 10 folderów Do 25 folderów Do 50 folderów @@ -671,7 +673,7 @@ Żadne Automatyczne (%s) Rozmiar czcionki - Ustawienia rozmiarów czcionek + Ustawienia rozmiaru czcionki Lista kont Nazwa konta Opis konta @@ -702,7 +704,7 @@ Średnia Duża Wielka - Nie znaleiono odpowiedniej aplikacji. + Nie znaleziono odpowiedniej aplikacji. Wysyłanie nieudane: %s Zapisać wersję roboczą wiadomości? Zapisać czy porzucić wiadomość? @@ -766,7 +768,7 @@ Hasło wymagane Wymagane jest zalogowanie się - Nie zaimportowane + Niezaimportowane Import zakończony niepowodzeniem Później Import @@ -822,7 +824,7 @@ 250 500 1000 - Maksymalna ilość wyników + Maksymalna liczba wyników Wysyłam żądanie do serwera Pobieram wyniki: %d @@ -889,7 +891,7 @@ Nie skonfigurowanego klucza dla tego konta! Sprawdź ustawienia. Aplikacja szyfrująca w niezgodnej wersji. Sprawdź ustawienia. Nie można połączyć się z dostawcą kryptografii, sprawdź ustawienia lub kliknij ikonę kryptografii, aby spróbować ponownie! - Inicjalizacja szyfrowania pomiędzy urządzeniami końcowymi \"end-to-end\" nie powiodła się. Sprawdź ustawienia. + Inicjalizacja szyfrowania typu „end-to-end” nie powiodła się. Sprawdź ustawienia. Tryb PGP/INLINE nie obsługuje załączników! Włącz PGP/INLINE Wyłącz PGP/INLINE @@ -913,34 +915,34 @@ W przypadku niektórych klientów, podpisy mogą być wyświetlane jako załączniki \'signature.asc\' . Zaszyfrowane wiadomości są zawsze opatrzone podpisem. Czysty tekst - Podpis end-to-end zawiera błąd + podpis „end-to-end” zawiera błąd musisz w pełni pobrać wiadomość, aby przetworzyć podpis - zawiera niewspierany podpis end-to-end + zawiera niewspierany podpis „end-to-end” Wiadomość jest zaszyfrowana, ale w niewspieranym formacie. Wiadomość jest zaszyfrowana, ale deszyfrowanie zostało przerwane. - Podpis End-to-End czystego tekstu + „end-to-end” podpisane tekstem jawnym od zaufanego dostawcy Podpisany czysty tekst - ale klucz end-to-end nie pasuje do nadawcy - ale klucz end-to-end wygasł - ale klucz end-to-end jest unieważniony - ale klucz end-to-end nie jest uważany za bezpieczny - od nieznanego klucza end-to-end + ale klucz „end-to-end” nie pasuje do nadawcy + ale klucz „end-to-end” wygasł + ale klucz „end-to-end” jest unieważniony + ale klucz „end-to-end” nie jest uważany za bezpieczny + od nieznanego klucza „end-to-end” Zaszyfrowana ale jest tu błąd deszyfrowania musisz w pełni pobrać wiadomość, aby odszyfrować ale żadna aplikacja kryptograficzna nie jest skonfigurowana Zaszyfrowana - ale nie end-to-end - Zaszyfrowana end-to-end + ale nie „end-to-end” + Zaszyfrowana „end-to-end” od znanego nadawcy Zaszyfrowana - od nieznanego klucza end-to-end - ale klucz end-to-end nie pasuje do nadawcy - ale klucz end-to-end wygasł - ale klucz end-to-end jest unieważniony - ale klucz end-to-end nie jest uważany za bezpieczny - ale dane end-to-end mają błędy + od nieznanego klucza „end-to-end” + ale klucz „end-to-end” nie pasuje do nadawcy + ale klucz „end-to-end” wygasł + ale klucz „end-to-end” jest unieważniony + ale klucz „end-to-end” nie jest uważany za bezpieczny + ale dane „end-to-end” mają błędy ale szyfrowanie nie jest uważane za bezpieczne OK Klucz wyszukiwania @@ -957,7 +959,7 @@ Błąd odszyfrowywania wiadomości e-mail. Znaki specjalne nie są obecnie obsługiwane! Błąd analizowania adresu! - Ukryj nie zaszyfrowane podpisy. + Ukryj niezaszyfrowane podpisy. Tylko zaszyfrowane podpisy będą widoczne. Wszystkie podpisy będą widoczne. Szyfrowanie nie jest dostępne w trybie sign-only! @@ -978,24 +980,24 @@ Cofnij Wyłącz szyfrowanie Szyfrowanie OpenPGP - Obustronny automatyczny tryb szyfrowania - Obustronny automatyczny tryb szyfrowania + Tryb wzajemny Autocrypt + Tryb wzajemny Autocrypt Wiadomości normalnie będą szyfrowane z wyboru lub kiedy odpowiadasz na szyfrowaną wiadomość. Jeśli nadawca i odbiorcy włączą tryb obustronnego automatycznego szyfrowania, szyfrowanie będzie włączone domyślnie. Możesz kliknąć tutaj, aby dowiedzieć się więcej. Ustawienia ogólne Brak aplikacji dla OpenPGP Instaluj - Mail requires OpenKeychain for end-to-end encryption. + Mail wymaga OpenKeychain do szyfrowania typu „end-to-end”. Zaszyfrowana wiadomość Zaszyfruj tematy wiadomości Może nie być wspierana przez niektórych odbiorców Błąd wewnętrzny: nieprawidłowe konto! Błąd połączenia z 1%s! Wyślij wiadomość konfiguracyjną Autocrypt - Bezpiecznie wymieniaj z innymi urządzeniami konfigurację szyfrowania end-to-end + Bezpiecznie wymieniaj z innymi urządzeniami konfigurację szyfrowania typu „end-to-end” Wiadomość konfiguracyjna Autocrypt - Wiadomość konfiguracyjna Autocrypt bezpiecznie udostępnia twoją konfigurację szyfrowania end-to-end z innymi urządzeniami. + Wiadomość konfiguracyjna Autocrypt bezpiecznie udostępnia Twoją konfigurację szyfrowania typu „end-to-end” innym urządzeniom. Wyślij wiadomość konfiguracyjną Wiadomość zostanie wysłana na adres: Generowanie wiadomości konfiguracyjnej @@ -1020,7 +1022,7 @@ Tą wiadomość można zachować i użyć w formie kopii zapasowej twojego klucz Oczekiwanie na nowe e-maile Uśpione, dopóki synchronizacja w tle nie będzie dozwolona Uśpione, dopóki sieć nie będzie dostępna - Dotknij, aby dowiedzieć się więcej. + Stuknij, aby dowiedzieć się więcej. Informacje push Podczas korzystania z funkcji powiadomień push, K-9 Mail utrzymuje połączenie z serwerem pocztowym. Android wymaga wyświetlania ciągłego, gdy aplikacja jest aktywna w tle. %s Jednak Android pozwala również ukryć powiadomienie. diff --git a/app/ui/legacy/src/main/res/values-pt-rBR/strings.xml b/app/ui/legacy/src/main/res/values-pt-rBR/strings.xml index fb76bc0e8e1feb9c8193f6eb1d41eea089f10000..bcfabe2892a6c14f7f8e09dc38d556121e135a94 100644 --- a/app/ui/legacy/src/main/res/values-pt-rBR/strings.xml +++ b/app/ui/legacy/src/main/res/values-pt-rBR/strings.xml @@ -12,6 +12,8 @@ Apache License, Versão 2.0 Projeto de código aberto Website + Manual do usuário + Obtenha ajuda Fórum de usuários Fediverse Twitter @@ -143,6 +145,8 @@ Verifique suas configurações de servidor Falha na autenticação Falha na autenticação de %s. Atualize suas configurações de servidor. + + Verificando email: %s:%s Verificando email Enviando mensagem: %s diff --git a/app/ui/legacy/src/main/res/values-pt-rPT/strings.xml b/app/ui/legacy/src/main/res/values-pt-rPT/strings.xml index 68199d9105d3a3da19e601f136a8212d38ee36af..6b0e93aa3d8fa5914fe748776c38b1d894c3ee81 100644 --- a/app/ui/legacy/src/main/res/values-pt-rPT/strings.xml +++ b/app/ui/legacy/src/main/res/values-pt-rPT/strings.xml @@ -124,6 +124,8 @@ Verifique as configurações do servidor A autenticação falhou A autenticação falhou para %s. Atualize as configurações do servidor. + + A verificar correio: %s:%s A verificar correio A enviar correio: %s diff --git a/app/ui/legacy/src/main/res/values-ro/strings.xml b/app/ui/legacy/src/main/res/values-ro/strings.xml index 58b1927f268b7aa3e5bc27134663132f768d5f27..b221b663feec1010ef02f7c5390e3e14eb130644 100644 --- a/app/ui/legacy/src/main/res/values-ro/strings.xml +++ b/app/ui/legacy/src/main/res/values-ro/strings.xml @@ -143,6 +143,8 @@ cel mult încă %d Verifică setările serverului Autentificarea a eșuat Authentificare eșuată pentru %s. Actualizează setările serverului. + + Se verifică emailul: %s:%s Se verifică emailul Se trimite emailul: %s diff --git a/app/ui/legacy/src/main/res/values-ru/strings.xml b/app/ui/legacy/src/main/res/values-ru/strings.xml index a10198fb087d131b751da900395f851e9cb60dd8..3654ceb179742bdc5e6c0190177dee1b111998a2 100644 --- a/app/ui/legacy/src/main/res/values-ru/strings.xml +++ b/app/ui/legacy/src/main/res/values-ru/strings.xml @@ -169,6 +169,8 @@ Mail — почтовый клиент для Android. Проверьте настройки сервера Сбой аутентификации Сбой аутентификации для %s. Измените настройки сервера + + Проверка %s:%s Проверка почты Отправка %s diff --git a/app/ui/legacy/src/main/res/values-sk/strings.xml b/app/ui/legacy/src/main/res/values-sk/strings.xml index 0f3b0db39df7993af9f86f0a380cf6ff6c990c87..ef4f63f78d8a848da9004767ea3a9dbffc81d561 100644 --- a/app/ui/legacy/src/main/res/values-sk/strings.xml +++ b/app/ui/legacy/src/main/res/values-sk/strings.xml @@ -135,6 +135,8 @@ Skontrolujte nastavenia servera Overenie zlyhalo Overenie pre %s zlyhalo. Aktualizujte nastavenia servera. + + Kontrolovanie pošty: %s:%s Kontrolovanie pošty Odosielanie pošty: %s diff --git a/app/ui/legacy/src/main/res/values-sl/strings.xml b/app/ui/legacy/src/main/res/values-sl/strings.xml index 8cae24f624c6f6b3de209ecdfaba3f5ff9d29714..b70e183390218d87fa496789dc108658c6189b0a 100644 --- a/app/ui/legacy/src/main/res/values-sl/strings.xml +++ b/app/ui/legacy/src/main/res/values-sl/strings.xml @@ -146,6 +146,8 @@ dodatnih %d sporočil Preverite nastavitve strežnika Overjanje je spodletelo Overjanje je spodletelo za račun %s. Posodobiti je treba nastavitve strežnika. + + Preverjanje pošte: %s:%s Preverjanje pošte Pošiljanje pošte: %s diff --git a/app/ui/legacy/src/main/res/values-sq/strings.xml b/app/ui/legacy/src/main/res/values-sq/strings.xml index 9a4a777b88c9ec3f9d33dc527da2b44599161d81..7316ab8711662a1e5b289ef4572ba081a9f86e5b 100644 --- a/app/ui/legacy/src/main/res/values-sq/strings.xml +++ b/app/ui/legacy/src/main/res/values-sq/strings.xml @@ -12,6 +12,8 @@ Apache License, Version 2.0 Projekt Me Burim të Hapët Sajt + Doracak përdoruesi + Merrni ndihmë Forum përdoruesish Fedivers Twitter @@ -142,6 +144,10 @@ Kontrolloni rregullimet e shërbyesit tuaj Mirëfilltësimi dështoi Mirëfilltësimi për %s dështoi. Përditësoni rregullimet rreth shërbyesit tuaj. + + Gabim njoftimi + + Ndodhi një gabim teksa provohej të krijohej një njoftim sistemi për një mesazh të ri. Arsyeja ka shumë gjasa të jetë mungesa e një tingulli njoftimesh.\n\nPrekeni që të hapen rregullimet për njoftimet. Po merret postë: %s:%s Marrje poste Po dërgohet postë: %s diff --git a/app/ui/legacy/src/main/res/values-sr/strings.xml b/app/ui/legacy/src/main/res/values-sr/strings.xml index 5aab1f1669fcbbe10cc7a26686f3806aa51fa31e..0f390c0054380d7309a34f08e72db08cd4e1b375 100644 --- a/app/ui/legacy/src/main/res/values-sr/strings.xml +++ b/app/ui/legacy/src/main/res/values-sr/strings.xml @@ -134,6 +134,8 @@ Проверите поставке за сервер Аутентификација није успела Аутентификација није успела за %s. Ажурирајте поставке сервера. + + Проверавам пошту: %s:%s Проверавам пошту Шаљем пошту: %s diff --git a/app/ui/legacy/src/main/res/values-sv/strings.xml b/app/ui/legacy/src/main/res/values-sv/strings.xml index 3439ec8889b30a4aca183898be7e7450cd20696a..8d28f4d94a83e9c57f19137e1146ed8ac9eb27fa 100644 --- a/app/ui/legacy/src/main/res/values-sv/strings.xml +++ b/app/ui/legacy/src/main/res/values-sv/strings.xml @@ -12,6 +12,8 @@ Apache License, Version 2.0 Projekt med öppen källkod Webbplats + Användarmanual + Få hjälp Användarforum Fediversum Twitter @@ -142,6 +144,10 @@ Kontrollera dina serverinställningar Autentisering misslyckades Autentisering misslyckades för %s. Uppdatera dina serverinställningar. + + Aviseringsfel + + Ett fel uppstod vid försök att skapa en systemavisering för ett nytt meddelande. Anledningen är troligen att ett aviseringsljud saknas.\n\nTryck för att öppna aviseringsinställningarna. Kontrollerar e-post: %s:%s Kontrollerar e-post Skickar e-post: %s diff --git a/app/ui/legacy/src/main/res/values-tr/strings.xml b/app/ui/legacy/src/main/res/values-tr/strings.xml index 79b76adcfa673f43bff1e21b065e786918d77bfb..239ee597629f6dd1e199e676a3efa0d7979faabb 100644 --- a/app/ui/legacy/src/main/res/values-tr/strings.xml +++ b/app/ui/legacy/src/main/res/values-tr/strings.xml @@ -139,6 +139,8 @@ Sunucu ayarlarınızı kontrol edin Kimlik Doğrulama Hatası %s için oturum açılamadı. Sunucu ayarlarınızı güncelleyin. + + Posta kontrol ediliyor: %s:%s Posta kontrol ediliyor Posta gönderiliyor: %s diff --git a/app/ui/legacy/src/main/res/values-uk/strings.xml b/app/ui/legacy/src/main/res/values-uk/strings.xml index d736d2e05ad54f4089522c3e506a120682c4f66e..59186a6522f4edcbe7d93b00cc214cdbcca5c6b1 100644 --- a/app/ui/legacy/src/main/res/values-uk/strings.xml +++ b/app/ui/legacy/src/main/res/values-uk/strings.xml @@ -145,6 +145,8 @@ Перевірте налаштування вашого серверу Помилка автентифікації Помилка автентифікації для %s. Змініть налаштування сервера. + + Перевірка пошти: %s:%s Перевірка пошти Надсилання пошти: %s diff --git a/app/ui/legacy/src/main/res/values-zh-rCN/strings.xml b/app/ui/legacy/src/main/res/values-zh-rCN/strings.xml index 3a0492ff2ffdd540b806bf3322f98e3416ea991c..764be89ab4f10fa610c01e065188bdc44f299d59 100644 --- a/app/ui/legacy/src/main/res/values-zh-rCN/strings.xml +++ b/app/ui/legacy/src/main/res/values-zh-rCN/strings.xml @@ -12,6 +12,8 @@ Apache 许可证,2.0 版 开源项目 网站 + 用户手册 + 获取帮助 用户论坛 多样性 推特 @@ -139,6 +141,10 @@ 请检查您的服务器设置 身份验证失败 %s 登录失败,请更新设置。 + + 通知错误 + + 尝试创建新消息的系统通知时出错。最有可能的原因是缺少通知声音。\n\n轻按打开通知设置。 正在检查邮件:%s%s 正在检查邮件 正在发送邮件:%s diff --git a/app/ui/legacy/src/main/res/values-zh-rTW/strings.xml b/app/ui/legacy/src/main/res/values-zh-rTW/strings.xml index fb4a61f252ce833d72885e98c2458f33004bee4b..c1148319992d3ce5b2cb9ffb73e99bf1475e05f3 100644 --- a/app/ui/legacy/src/main/res/values-zh-rTW/strings.xml +++ b/app/ui/legacy/src/main/res/values-zh-rTW/strings.xml @@ -12,6 +12,8 @@ Apache 授權條款, 版本 2.0 開放原始碼專案 網站 + 使用者手冊 + 取得說明 使用者論壇 Fediverse Twitter @@ -137,6 +139,8 @@ 檢查你的伺服器設定 身份驗證失敗 %s 登入失敗。請更新你的伺服器設定。 + + 正在檢查郵件:%s:%s 正在檢查郵件 正在寄送郵件:%s diff --git a/app/ui/legacy/src/main/res/values/strings.xml b/app/ui/legacy/src/main/res/values/strings.xml index a5575231c2013c91a63f41a99aa3e9f9ee6ef057..d0ff72935899518194cb6040c14df4ed5a1c7e78 100644 --- a/app/ui/legacy/src/main/res/values/strings.xml +++ b/app/ui/legacy/src/main/res/values/strings.xml @@ -176,6 +176,11 @@ Authentication failed Authentication failed for %s. Update your server settings. + + Notification error + + An error has occurred while trying to create a system notification for a new message. The reason is most likely a missing notification sound.\n\nTap to open notification settings. + Checking mail: %s:%s Checking mail Sending mail: %s diff --git a/fastlane/metadata/android/en-US/changelogs/32001.txt b/fastlane/metadata/android/en-US/changelogs/32001.txt new file mode 100644 index 0000000000000000000000000000000000000000..670ef32fdf9be9c14f7f52033c4be4d1401094dc --- /dev/null +++ b/fastlane/metadata/android/en-US/changelogs/32001.txt @@ -0,0 +1,6 @@ +- Added support for using OAuth 2.0 with Office365 accounts +- Fixed a bug that could lead to two message lists being displayed on top of each other +- Avoid a crash when trying to create new message notifications but the notification sound couldn't be accessed +- Fixed a bug where multi-select mode was exited early in some cases +- Don't require re-authorization when getting an OAuth token fails due to a temporary error +- Updated translations