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