Repo created
This commit is contained in:
parent
75dc487a7a
commit
39c29d175b
6317 changed files with 388324 additions and 2 deletions
22
feature/account/server/settings/build.gradle.kts
Normal file
22
feature/account/server/settings/build.gradle.kts
Normal file
|
|
@ -0,0 +1,22 @@
|
|||
plugins {
|
||||
id(ThunderbirdPlugins.Library.androidCompose)
|
||||
}
|
||||
|
||||
android {
|
||||
namespace = "app.k9mail.feature.account.server.settings"
|
||||
resourcePrefix = "account_server_settings_"
|
||||
}
|
||||
|
||||
dependencies {
|
||||
implementation(projects.core.ui.compose.designsystem)
|
||||
implementation(projects.core.common)
|
||||
|
||||
implementation(projects.mail.common)
|
||||
implementation(projects.mail.protocols.imap)
|
||||
|
||||
implementation(projects.feature.account.common)
|
||||
implementation(libs.androidx.activity.compose)
|
||||
implementation(libs.androidx.biometric)
|
||||
|
||||
testImplementation(projects.core.ui.compose.testing)
|
||||
}
|
||||
|
|
@ -0,0 +1,28 @@
|
|||
package app.k9mail.feature.account.server.settings.ui.common
|
||||
|
||||
import androidx.compose.runtime.Composable
|
||||
import androidx.compose.ui.tooling.preview.Preview
|
||||
import app.k9mail.core.ui.compose.designsystem.PreviewWithThemes
|
||||
import app.k9mail.feature.account.common.domain.entity.InteractionMode
|
||||
|
||||
@Composable
|
||||
@Preview(showBackground = true)
|
||||
internal fun ServerSettingsPasswordInputCreatePreview() {
|
||||
PreviewWithThemes {
|
||||
ServerSettingsPasswordInput(
|
||||
mode = InteractionMode.Create,
|
||||
onPasswordChange = {},
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
@Composable
|
||||
@Preview(showBackground = true)
|
||||
internal fun ServerSettingsPasswordInputEditPreview() {
|
||||
PreviewWithThemes {
|
||||
ServerSettingsPasswordInput(
|
||||
mode = InteractionMode.Edit,
|
||||
onPasswordChange = {},
|
||||
)
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,20 @@
|
|||
package app.k9mail.feature.account.server.settings.ui.incoming
|
||||
|
||||
import androidx.compose.foundation.layout.PaddingValues
|
||||
import androidx.compose.runtime.Composable
|
||||
import app.k9mail.core.ui.compose.common.annotation.PreviewDevices
|
||||
import app.k9mail.core.ui.compose.designsystem.PreviewWithTheme
|
||||
import app.k9mail.feature.account.common.domain.entity.InteractionMode
|
||||
|
||||
@Composable
|
||||
@PreviewDevices
|
||||
internal fun IncomingServerSettingsContentPreview() {
|
||||
PreviewWithTheme {
|
||||
IncomingServerSettingsContent(
|
||||
mode = InteractionMode.Create,
|
||||
onEvent = { },
|
||||
state = IncomingServerSettingsContract.State(),
|
||||
contentPadding = PaddingValues(),
|
||||
)
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,23 @@
|
|||
package app.k9mail.feature.account.server.settings.ui.incoming
|
||||
|
||||
import androidx.compose.runtime.Composable
|
||||
import app.k9mail.core.ui.compose.common.annotation.PreviewDevices
|
||||
import app.k9mail.core.ui.compose.designsystem.PreviewWithTheme
|
||||
import app.k9mail.feature.account.common.domain.entity.InteractionMode
|
||||
import app.k9mail.feature.account.common.ui.fake.FakeAccountStateRepository
|
||||
|
||||
@Composable
|
||||
@PreviewDevices
|
||||
internal fun IncomingServerSettingsScreenPreview() {
|
||||
PreviewWithTheme {
|
||||
IncomingServerSettingsScreen(
|
||||
onNext = {},
|
||||
onBack = {},
|
||||
viewModel = IncomingServerSettingsViewModel(
|
||||
mode = InteractionMode.Create,
|
||||
validator = IncomingServerSettingsValidator(),
|
||||
accountStateRepository = FakeAccountStateRepository(),
|
||||
),
|
||||
)
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,23 @@
|
|||
package app.k9mail.feature.account.server.settings.ui.outgoing
|
||||
|
||||
import androidx.compose.runtime.Composable
|
||||
import app.k9mail.core.ui.compose.common.annotation.PreviewDevices
|
||||
import app.k9mail.core.ui.compose.designsystem.PreviewWithTheme
|
||||
import app.k9mail.feature.account.common.domain.entity.InteractionMode
|
||||
import app.k9mail.feature.account.common.ui.fake.FakeAccountStateRepository
|
||||
|
||||
@Composable
|
||||
@PreviewDevices
|
||||
internal fun OutgoingServerSettingsScreenPreview() {
|
||||
PreviewWithTheme {
|
||||
OutgoingServerSettingsScreen(
|
||||
onNext = {},
|
||||
onBack = {},
|
||||
viewModel = OutgoingServerSettingsViewModel(
|
||||
mode = InteractionMode.Create,
|
||||
validator = OutgoingServerSettingsValidator(),
|
||||
accountStateRepository = FakeAccountStateRepository(),
|
||||
),
|
||||
)
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,20 @@
|
|||
package app.k9mail.feature.account.server.settings.ui.outgoing
|
||||
|
||||
import androidx.compose.foundation.layout.PaddingValues
|
||||
import androidx.compose.runtime.Composable
|
||||
import app.k9mail.core.ui.compose.common.annotation.PreviewDevices
|
||||
import app.k9mail.core.ui.compose.designsystem.PreviewWithTheme
|
||||
import app.k9mail.feature.account.common.domain.entity.InteractionMode
|
||||
|
||||
@Composable
|
||||
@PreviewDevices
|
||||
internal fun OutgoingServerSettingsContentPreview() {
|
||||
PreviewWithTheme {
|
||||
OutgoingServerSettingsContent(
|
||||
mode = InteractionMode.Create,
|
||||
state = OutgoingServerSettingsContract.State(),
|
||||
onEvent = { },
|
||||
contentPadding = PaddingValues(),
|
||||
)
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,33 @@
|
|||
package app.k9mail.feature.account.server.settings
|
||||
|
||||
import app.k9mail.feature.account.common.domain.entity.InteractionMode
|
||||
import app.k9mail.feature.account.server.settings.ui.incoming.IncomingServerSettingsContract
|
||||
import app.k9mail.feature.account.server.settings.ui.incoming.IncomingServerSettingsValidator
|
||||
import app.k9mail.feature.account.server.settings.ui.incoming.IncomingServerSettingsViewModel
|
||||
import app.k9mail.feature.account.server.settings.ui.outgoing.OutgoingServerSettingsContract
|
||||
import app.k9mail.feature.account.server.settings.ui.outgoing.OutgoingServerSettingsValidator
|
||||
import app.k9mail.feature.account.server.settings.ui.outgoing.OutgoingServerSettingsViewModel
|
||||
import org.koin.core.module.Module
|
||||
import org.koin.core.module.dsl.viewModel
|
||||
import org.koin.dsl.module
|
||||
|
||||
val featureAccountServerSettingsModule: Module = module {
|
||||
factory<IncomingServerSettingsContract.Validator> { IncomingServerSettingsValidator() }
|
||||
factory<OutgoingServerSettingsContract.Validator> { OutgoingServerSettingsValidator() }
|
||||
|
||||
viewModel {
|
||||
IncomingServerSettingsViewModel(
|
||||
mode = InteractionMode.Create,
|
||||
validator = get(),
|
||||
accountStateRepository = get(),
|
||||
)
|
||||
}
|
||||
|
||||
viewModel {
|
||||
OutgoingServerSettingsViewModel(
|
||||
mode = InteractionMode.Create,
|
||||
validator = get(),
|
||||
accountStateRepository = get(),
|
||||
)
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,29 @@
|
|||
package app.k9mail.feature.account.server.settings.domain
|
||||
|
||||
import net.thunderbird.core.common.domain.usecase.validation.ValidationResult
|
||||
|
||||
interface ServerSettingsDomainContract {
|
||||
|
||||
interface UseCase {
|
||||
|
||||
fun interface ValidatePassword {
|
||||
fun execute(password: String): ValidationResult
|
||||
}
|
||||
|
||||
fun interface ValidateServer {
|
||||
fun execute(server: String): ValidationResult
|
||||
}
|
||||
|
||||
fun interface ValidatePort {
|
||||
fun execute(port: Long?): ValidationResult
|
||||
}
|
||||
|
||||
fun interface ValidateUsername {
|
||||
fun execute(username: String): ValidationResult
|
||||
}
|
||||
|
||||
fun interface ValidateImapPrefix {
|
||||
fun execute(imapPrefix: String): ValidationResult
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,21 @@
|
|||
package app.k9mail.feature.account.server.settings.domain.usecase
|
||||
|
||||
import app.k9mail.feature.account.server.settings.domain.ServerSettingsDomainContract.UseCase
|
||||
import net.thunderbird.core.common.domain.usecase.validation.ValidationError
|
||||
import net.thunderbird.core.common.domain.usecase.validation.ValidationResult
|
||||
|
||||
internal class ValidateImapPrefix : UseCase.ValidateImapPrefix {
|
||||
|
||||
override fun execute(imapPrefix: String): ValidationResult {
|
||||
return when {
|
||||
imapPrefix.isEmpty() -> ValidationResult.Success
|
||||
imapPrefix.isBlank() -> ValidationResult.Failure(ValidateImapPrefixError.BlankImapPrefix)
|
||||
|
||||
else -> ValidationResult.Success
|
||||
}
|
||||
}
|
||||
|
||||
sealed interface ValidateImapPrefixError : ValidationError {
|
||||
data object BlankImapPrefix : ValidateImapPrefixError
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,21 @@
|
|||
package app.k9mail.feature.account.server.settings.domain.usecase
|
||||
|
||||
import app.k9mail.feature.account.server.settings.domain.ServerSettingsDomainContract.UseCase
|
||||
import net.thunderbird.core.common.domain.usecase.validation.ValidationError
|
||||
import net.thunderbird.core.common.domain.usecase.validation.ValidationResult
|
||||
|
||||
class ValidatePassword : UseCase.ValidatePassword {
|
||||
|
||||
// TODO change behavior to allow empty password when no password is required based on auth type
|
||||
override fun execute(password: String): ValidationResult {
|
||||
return when {
|
||||
password.isBlank() -> ValidationResult.Failure(ValidatePasswordError.EmptyPassword)
|
||||
|
||||
else -> ValidationResult.Success
|
||||
}
|
||||
}
|
||||
|
||||
sealed interface ValidatePasswordError : ValidationError {
|
||||
data object EmptyPassword : ValidatePasswordError
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,26 @@
|
|||
package app.k9mail.feature.account.server.settings.domain.usecase
|
||||
|
||||
import app.k9mail.feature.account.server.settings.domain.ServerSettingsDomainContract.UseCase
|
||||
import net.thunderbird.core.common.domain.usecase.validation.ValidationError
|
||||
import net.thunderbird.core.common.domain.usecase.validation.ValidationResult
|
||||
|
||||
internal class ValidatePort : UseCase.ValidatePort {
|
||||
|
||||
override fun execute(port: Long?): ValidationResult {
|
||||
return when (port) {
|
||||
null -> ValidationResult.Failure(ValidatePortError.EmptyPort)
|
||||
in MIN_PORT_NUMBER..MAX_PORT_NUMBER -> ValidationResult.Success
|
||||
else -> ValidationResult.Failure(ValidatePortError.InvalidPort)
|
||||
}
|
||||
}
|
||||
|
||||
sealed interface ValidatePortError : ValidationError {
|
||||
data object EmptyPort : ValidatePortError
|
||||
data object InvalidPort : ValidatePortError
|
||||
}
|
||||
|
||||
companion object {
|
||||
const val MAX_PORT_NUMBER = 65535
|
||||
const val MIN_PORT_NUMBER = 1
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,32 @@
|
|||
package app.k9mail.feature.account.server.settings.domain.usecase
|
||||
|
||||
import app.k9mail.feature.account.server.settings.domain.ServerSettingsDomainContract.UseCase
|
||||
import net.thunderbird.core.common.domain.usecase.validation.ValidationError
|
||||
import net.thunderbird.core.common.domain.usecase.validation.ValidationResult
|
||||
import net.thunderbird.core.common.net.HostNameUtils
|
||||
|
||||
internal class ValidateServer : UseCase.ValidateServer {
|
||||
|
||||
override fun execute(server: String): ValidationResult {
|
||||
if (server.isBlank()) {
|
||||
return ValidationResult.Failure(ValidateServerError.EmptyServer)
|
||||
}
|
||||
|
||||
return validateHostnameOrIpAddress(server)
|
||||
}
|
||||
|
||||
private fun validateHostnameOrIpAddress(server: String): ValidationResult {
|
||||
val isLegalHostNameOrIP = HostNameUtils.isLegalHostNameOrIP(server) != null
|
||||
|
||||
return if (isLegalHostNameOrIP) {
|
||||
ValidationResult.Success
|
||||
} else {
|
||||
ValidationResult.Failure(ValidateServerError.InvalidHostnameOrIpAddress)
|
||||
}
|
||||
}
|
||||
|
||||
sealed interface ValidateServerError : ValidationError {
|
||||
data object EmptyServer : ValidateServerError
|
||||
data object InvalidHostnameOrIpAddress : ValidateServerError
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,20 @@
|
|||
package app.k9mail.feature.account.server.settings.domain.usecase
|
||||
|
||||
import app.k9mail.feature.account.server.settings.domain.ServerSettingsDomainContract.UseCase
|
||||
import net.thunderbird.core.common.domain.usecase.validation.ValidationError
|
||||
import net.thunderbird.core.common.domain.usecase.validation.ValidationResult
|
||||
|
||||
internal class ValidateUsername : UseCase.ValidateUsername {
|
||||
|
||||
override fun execute(username: String): ValidationResult {
|
||||
return when {
|
||||
username.isBlank() -> ValidationResult.Failure(ValidateUsernameError.EmptyUsername)
|
||||
|
||||
else -> ValidationResult.Success
|
||||
}
|
||||
}
|
||||
|
||||
sealed interface ValidateUsernameError : ValidationError {
|
||||
data object EmptyUsername : ValidateUsernameError
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,72 @@
|
|||
package app.k9mail.feature.account.server.settings.ui.common
|
||||
|
||||
import androidx.biometric.BiometricPrompt
|
||||
import androidx.compose.foundation.layout.PaddingValues
|
||||
import androidx.compose.foundation.layout.fillMaxWidth
|
||||
import androidx.compose.runtime.Composable
|
||||
import androidx.compose.runtime.LaunchedEffect
|
||||
import androidx.compose.runtime.getValue
|
||||
import androidx.compose.runtime.mutableStateOf
|
||||
import androidx.compose.runtime.remember
|
||||
import androidx.compose.runtime.setValue
|
||||
import androidx.compose.ui.Modifier
|
||||
import androidx.compose.ui.res.stringResource
|
||||
import androidx.fragment.app.FragmentActivity
|
||||
import app.k9mail.core.ui.compose.designsystem.molecule.input.InputLayout
|
||||
import app.k9mail.core.ui.compose.designsystem.molecule.input.PasswordInput
|
||||
import app.k9mail.core.ui.compose.designsystem.molecule.input.inputContentPadding
|
||||
import app.k9mail.feature.account.server.settings.R
|
||||
import kotlinx.coroutines.delay
|
||||
import app.k9mail.core.ui.compose.designsystem.R as RDesign
|
||||
|
||||
private const val SHOW_WARNING_DURATION = 5000L
|
||||
|
||||
/**
|
||||
* Variant of [PasswordInput] that only allows the password to be unmasked after the user has authenticated using
|
||||
* [BiometricPrompt].
|
||||
*
|
||||
* Note: Due to limitations of [BiometricPrompt] this composable can only be used inside a [FragmentActivity].
|
||||
*/
|
||||
@Composable
|
||||
fun BiometricPasswordInput(
|
||||
onPasswordChange: (String) -> Unit,
|
||||
modifier: Modifier = Modifier,
|
||||
password: String = "",
|
||||
isRequired: Boolean = false,
|
||||
errorMessage: String? = null,
|
||||
contentPadding: PaddingValues = inputContentPadding(),
|
||||
) {
|
||||
var biometricWarning by remember { mutableStateOf<String?>(value = null) }
|
||||
|
||||
LaunchedEffect(key1 = biometricWarning) {
|
||||
if (biometricWarning != null) {
|
||||
delay(SHOW_WARNING_DURATION)
|
||||
biometricWarning = null
|
||||
}
|
||||
}
|
||||
|
||||
InputLayout(
|
||||
modifier = modifier,
|
||||
contentPadding = contentPadding,
|
||||
errorMessage = errorMessage,
|
||||
warningMessage = biometricWarning,
|
||||
) {
|
||||
val title = stringResource(R.string.account_server_settings_password_authentication_title)
|
||||
val subtitle = stringResource(R.string.account_server_settings_password_authentication_subtitle)
|
||||
val needScreenLockMessage =
|
||||
stringResource(R.string.account_server_settings_password_authentication_screen_lock_required)
|
||||
|
||||
TextFieldOutlinedPasswordBiometric(
|
||||
value = password,
|
||||
onValueChange = onPasswordChange,
|
||||
authenticationTitle = title,
|
||||
authenticationSubtitle = subtitle,
|
||||
needScreenLockMessage = needScreenLockMessage,
|
||||
onWarningChange = { biometricWarning = it?.toString() },
|
||||
label = stringResource(id = RDesign.string.designsystem_molecule_password_input_label),
|
||||
isRequired = isRequired,
|
||||
hasError = errorMessage != null,
|
||||
modifier = Modifier.fillMaxWidth(),
|
||||
)
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,41 @@
|
|||
package app.k9mail.feature.account.server.settings.ui.common
|
||||
|
||||
import android.app.Activity
|
||||
import android.security.KeyChain
|
||||
import androidx.activity.compose.LocalActivity
|
||||
import androidx.compose.foundation.layout.Column
|
||||
import androidx.compose.foundation.layout.PaddingValues
|
||||
import androidx.compose.foundation.layout.fillMaxWidth
|
||||
import androidx.compose.foundation.layout.padding
|
||||
import androidx.compose.runtime.Composable
|
||||
import androidx.compose.ui.Modifier
|
||||
import androidx.compose.ui.res.stringResource
|
||||
import app.k9mail.core.ui.compose.designsystem.atom.textfield.TextFieldOutlinedFakeSelect
|
||||
import app.k9mail.core.ui.compose.designsystem.molecule.input.inputContentPadding
|
||||
import app.k9mail.feature.account.server.settings.R
|
||||
|
||||
@Composable
|
||||
fun ClientCertificateInput(
|
||||
alias: String?,
|
||||
onValueChange: (String?) -> Unit,
|
||||
modifier: Modifier = Modifier,
|
||||
label: String? = null,
|
||||
contentPadding: PaddingValues = inputContentPadding(),
|
||||
) {
|
||||
Column(
|
||||
modifier = Modifier
|
||||
.padding(contentPadding)
|
||||
.fillMaxWidth()
|
||||
.then(modifier),
|
||||
) {
|
||||
val activity = LocalActivity.current as Activity
|
||||
TextFieldOutlinedFakeSelect(
|
||||
text = alias ?: stringResource(R.string.account_server_settings_client_certificate_none_selected),
|
||||
onClick = {
|
||||
KeyChain.choosePrivateKeyAlias(activity, onValueChange, null, null, null, -1, alias)
|
||||
},
|
||||
modifier = Modifier.fillMaxWidth(),
|
||||
label = label,
|
||||
)
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,3 @@
|
|||
package app.k9mail.feature.account.server.settings.ui.common
|
||||
|
||||
fun String.toInvalidEmailDomain() = ".${this.substringAfter("@")}"
|
||||
|
|
@ -0,0 +1,39 @@
|
|||
package app.k9mail.feature.account.server.settings.ui.common
|
||||
|
||||
import androidx.compose.foundation.layout.PaddingValues
|
||||
import androidx.compose.runtime.Composable
|
||||
import androidx.compose.ui.Modifier
|
||||
import app.k9mail.core.ui.compose.designsystem.molecule.input.PasswordInput
|
||||
import app.k9mail.core.ui.compose.designsystem.molecule.input.inputContentPadding
|
||||
import app.k9mail.feature.account.common.domain.entity.InteractionMode
|
||||
|
||||
@Composable
|
||||
fun ServerSettingsPasswordInput(
|
||||
mode: InteractionMode,
|
||||
onPasswordChange: (String) -> Unit,
|
||||
modifier: Modifier = Modifier,
|
||||
password: String = "",
|
||||
isRequired: Boolean = false,
|
||||
errorMessage: String? = null,
|
||||
contentPadding: PaddingValues = inputContentPadding(),
|
||||
) {
|
||||
if (mode == InteractionMode.Create) {
|
||||
PasswordInput(
|
||||
onPasswordChange = onPasswordChange,
|
||||
modifier = modifier,
|
||||
password = password,
|
||||
isRequired = isRequired,
|
||||
errorMessage = errorMessage,
|
||||
contentPadding = contentPadding,
|
||||
)
|
||||
} else {
|
||||
BiometricPasswordInput(
|
||||
onPasswordChange = onPasswordChange,
|
||||
modifier = modifier,
|
||||
password = password,
|
||||
isRequired = isRequired,
|
||||
errorMessage = errorMessage,
|
||||
contentPadding = contentPadding,
|
||||
)
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,131 @@
|
|||
package app.k9mail.feature.account.server.settings.ui.common
|
||||
|
||||
import android.view.WindowManager
|
||||
import androidx.activity.compose.LocalActivity
|
||||
import androidx.biometric.BiometricManager
|
||||
import androidx.biometric.BiometricPrompt
|
||||
import androidx.compose.runtime.Composable
|
||||
import androidx.compose.runtime.DisposableEffect
|
||||
import androidx.compose.runtime.getValue
|
||||
import androidx.compose.runtime.mutableStateOf
|
||||
import androidx.compose.runtime.saveable.rememberSaveable
|
||||
import androidx.compose.runtime.setValue
|
||||
import androidx.compose.ui.Modifier
|
||||
import androidx.fragment.app.FragmentActivity
|
||||
import app.k9mail.core.ui.compose.designsystem.atom.textfield.TextFieldOutlinedPassword
|
||||
|
||||
/**
|
||||
* Variant of [TextFieldOutlinedPassword] that only allows the password to be unmasked after the user has authenticated
|
||||
* using [BiometricPrompt].
|
||||
*
|
||||
* Note: Due to limitations of [BiometricPrompt] this composable can only be used inside a [FragmentActivity].
|
||||
*/
|
||||
@Suppress("LongParameterList")
|
||||
@Composable
|
||||
fun TextFieldOutlinedPasswordBiometric(
|
||||
value: String,
|
||||
onValueChange: (String) -> Unit,
|
||||
authenticationTitle: String,
|
||||
authenticationSubtitle: String,
|
||||
needScreenLockMessage: String,
|
||||
onWarningChange: (CharSequence?) -> Unit,
|
||||
modifier: Modifier = Modifier,
|
||||
label: String? = null,
|
||||
isEnabled: Boolean = true,
|
||||
isReadOnly: Boolean = false,
|
||||
isRequired: Boolean = false,
|
||||
hasError: Boolean = false,
|
||||
) {
|
||||
var isPasswordVisible by rememberSaveable { mutableStateOf(false) }
|
||||
var isAuthenticated by rememberSaveable { mutableStateOf(false) }
|
||||
var isAuthenticationRequired by rememberSaveable { mutableStateOf(true) }
|
||||
|
||||
// If the entire password was removed, we allow the user to unmask the text field without requiring authentication.
|
||||
if (value.isEmpty()) {
|
||||
isAuthenticationRequired = false
|
||||
}
|
||||
|
||||
val activity = LocalActivity.current as FragmentActivity
|
||||
|
||||
TextFieldOutlinedPassword(
|
||||
value = value,
|
||||
onValueChange = onValueChange,
|
||||
modifier = modifier,
|
||||
label = label,
|
||||
isEnabled = isEnabled,
|
||||
isReadOnly = isReadOnly,
|
||||
isRequired = isRequired,
|
||||
hasError = hasError,
|
||||
isPasswordVisible = isPasswordVisible,
|
||||
onPasswordVisibilityToggleClicked = {
|
||||
if (!isAuthenticationRequired || isAuthenticated) {
|
||||
isPasswordVisible = !isPasswordVisible
|
||||
activity.setSecure(isPasswordVisible)
|
||||
} else {
|
||||
showBiometricPrompt(
|
||||
activity,
|
||||
authenticationTitle,
|
||||
authenticationSubtitle,
|
||||
needScreenLockMessage,
|
||||
onAuthSuccess = {
|
||||
isAuthenticated = true
|
||||
isPasswordVisible = true
|
||||
onWarningChange(null)
|
||||
activity.setSecure(true)
|
||||
},
|
||||
onAuthError = onWarningChange,
|
||||
)
|
||||
}
|
||||
},
|
||||
)
|
||||
|
||||
DisposableEffect(key1 = "secureWindow") {
|
||||
activity.setSecure(isPasswordVisible)
|
||||
|
||||
onDispose {
|
||||
activity.setSecure(false)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private fun showBiometricPrompt(
|
||||
activity: FragmentActivity,
|
||||
title: String,
|
||||
subtitle: String,
|
||||
needScreenLockMessage: String,
|
||||
onAuthSuccess: () -> Unit,
|
||||
onAuthError: (CharSequence) -> Unit,
|
||||
) {
|
||||
val authenticationCallback = object : BiometricPrompt.AuthenticationCallback() {
|
||||
override fun onAuthenticationSucceeded(result: BiometricPrompt.AuthenticationResult) {
|
||||
onAuthSuccess()
|
||||
}
|
||||
|
||||
override fun onAuthenticationError(errorCode: Int, errString: CharSequence) {
|
||||
if (errorCode == BiometricPrompt.ERROR_HW_NOT_PRESENT ||
|
||||
errorCode == BiometricPrompt.ERROR_NO_DEVICE_CREDENTIAL ||
|
||||
errorCode == BiometricPrompt.ERROR_NO_BIOMETRICS
|
||||
) {
|
||||
onAuthError(needScreenLockMessage)
|
||||
} else if (errString.isNotEmpty()) {
|
||||
onAuthError(errString)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
val promptInfo = BiometricPrompt.PromptInfo.Builder()
|
||||
.setAllowedAuthenticators(
|
||||
BiometricManager.Authenticators.BIOMETRIC_STRONG or
|
||||
BiometricManager.Authenticators.BIOMETRIC_WEAK or
|
||||
BiometricManager.Authenticators.DEVICE_CREDENTIAL,
|
||||
)
|
||||
.setTitle(title)
|
||||
.setSubtitle(subtitle)
|
||||
.build()
|
||||
|
||||
BiometricPrompt(activity, authenticationCallback).authenticate(promptInfo)
|
||||
}
|
||||
|
||||
private fun FragmentActivity.setSecure(secure: Boolean) {
|
||||
window.setFlags(if (secure) WindowManager.LayoutParams.FLAG_SECURE else 0, WindowManager.LayoutParams.FLAG_SECURE)
|
||||
}
|
||||
|
|
@ -0,0 +1,29 @@
|
|||
package app.k9mail.feature.account.server.settings.ui.common.mapper
|
||||
|
||||
import android.content.res.Resources
|
||||
import app.k9mail.feature.account.common.domain.entity.AuthenticationType
|
||||
import app.k9mail.feature.account.server.settings.R
|
||||
|
||||
internal fun AuthenticationType.toResourceString(resources: Resources): String {
|
||||
return when (this) {
|
||||
AuthenticationType.None -> {
|
||||
resources.getString(R.string.account_server_settings_authentication_none)
|
||||
}
|
||||
|
||||
AuthenticationType.PasswordCleartext -> {
|
||||
resources.getString(R.string.account_server_settings_authentication_password_cleartext)
|
||||
}
|
||||
|
||||
AuthenticationType.PasswordEncrypted -> {
|
||||
resources.getString(R.string.account_server_settings_authentication_password_encrypted)
|
||||
}
|
||||
|
||||
AuthenticationType.ClientCertificate -> {
|
||||
resources.getString(R.string.account_server_settings_authentication_client_certificate)
|
||||
}
|
||||
|
||||
AuthenticationType.OAuth2 -> {
|
||||
resources.getString(R.string.account_server_settings_authentication_client_oauth)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,15 @@
|
|||
package app.k9mail.feature.account.server.settings.ui.common.mapper
|
||||
|
||||
import android.content.res.Resources
|
||||
import app.k9mail.feature.account.common.domain.entity.ConnectionSecurity
|
||||
import app.k9mail.feature.account.server.settings.R
|
||||
|
||||
internal fun ConnectionSecurity.toResourceString(resources: Resources): String {
|
||||
return when (this) {
|
||||
ConnectionSecurity.None -> resources.getString(R.string.account_server_settings_connection_security_none)
|
||||
ConnectionSecurity.StartTLS -> resources.getString(
|
||||
R.string.account_server_settings_connection_security_start_tls,
|
||||
)
|
||||
ConnectionSecurity.TLS -> resources.getString(R.string.account_server_settings_connection_security_ssl)
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,69 @@
|
|||
package app.k9mail.feature.account.server.settings.ui.common.mapper
|
||||
|
||||
import android.content.res.Resources
|
||||
import app.k9mail.feature.account.server.settings.R
|
||||
import app.k9mail.feature.account.server.settings.domain.usecase.ValidateImapPrefix.ValidateImapPrefixError
|
||||
import app.k9mail.feature.account.server.settings.domain.usecase.ValidatePassword.ValidatePasswordError
|
||||
import app.k9mail.feature.account.server.settings.domain.usecase.ValidatePort.ValidatePortError
|
||||
import app.k9mail.feature.account.server.settings.domain.usecase.ValidateServer.ValidateServerError
|
||||
import app.k9mail.feature.account.server.settings.domain.usecase.ValidateUsername.ValidateUsernameError
|
||||
import net.thunderbird.core.common.domain.usecase.validation.ValidationError
|
||||
|
||||
fun ValidationError.toResourceString(resources: Resources): String {
|
||||
return when (this) {
|
||||
is ValidateServerError -> toServerErrorString(resources)
|
||||
is ValidatePortError -> toPortErrorString(resources)
|
||||
is ValidateUsernameError -> toUsernameErrorString(resources)
|
||||
is ValidatePasswordError -> toPasswordErrorString(resources)
|
||||
is ValidateImapPrefixError -> toImapPrefixErrorString(resources)
|
||||
else -> throw IllegalArgumentException("Unknown error: $this")
|
||||
}
|
||||
}
|
||||
|
||||
private fun ValidateServerError.toServerErrorString(resources: Resources): String {
|
||||
return when (this) {
|
||||
ValidateServerError.EmptyServer -> resources.getString(
|
||||
R.string.account_server_settings_validation_error_server_required,
|
||||
)
|
||||
|
||||
ValidateServerError.InvalidHostnameOrIpAddress -> resources.getString(
|
||||
R.string.account_server_settings_validation_error_server_invalid_ip_or_hostname,
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
private fun ValidatePortError.toPortErrorString(resources: Resources): String {
|
||||
return when (this) {
|
||||
is ValidatePortError.EmptyPort -> resources.getString(
|
||||
R.string.account_server_settings_validation_error_port_required,
|
||||
)
|
||||
|
||||
is ValidatePortError.InvalidPort -> resources.getString(
|
||||
R.string.account_server_settings_validation_error_port_invalid,
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
private fun ValidateUsernameError.toUsernameErrorString(resources: Resources): String {
|
||||
return when (this) {
|
||||
ValidateUsernameError.EmptyUsername -> resources.getString(
|
||||
R.string.account_server_settings_validation_error_username_required,
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
private fun ValidatePasswordError.toPasswordErrorString(resources: Resources): String {
|
||||
return when (this) {
|
||||
ValidatePasswordError.EmptyPassword -> resources.getString(
|
||||
R.string.account_server_settings_validation_error_password_required,
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
private fun ValidateImapPrefixError.toImapPrefixErrorString(resources: Resources): String {
|
||||
return when (this) {
|
||||
ValidateImapPrefixError.BlankImapPrefix -> resources.getString(
|
||||
R.string.account_server_settings_validation_error_imap_prefix_blank,
|
||||
)
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,55 @@
|
|||
package app.k9mail.feature.account.server.settings.ui.incoming
|
||||
|
||||
import androidx.compose.foundation.layout.Arrangement
|
||||
import androidx.compose.foundation.layout.PaddingValues
|
||||
import androidx.compose.foundation.layout.fillMaxSize
|
||||
import androidx.compose.foundation.layout.fillMaxWidth
|
||||
import androidx.compose.foundation.layout.imePadding
|
||||
import androidx.compose.foundation.layout.padding
|
||||
import androidx.compose.foundation.lazy.LazyColumn
|
||||
import androidx.compose.runtime.Composable
|
||||
import androidx.compose.ui.Alignment
|
||||
import androidx.compose.ui.Modifier
|
||||
import androidx.compose.ui.platform.LocalContext
|
||||
import app.k9mail.core.ui.compose.designsystem.template.ResponsiveWidthContainer
|
||||
import app.k9mail.core.ui.compose.theme2.MainTheme
|
||||
import app.k9mail.feature.account.common.domain.entity.InteractionMode
|
||||
import app.k9mail.feature.account.server.settings.ui.incoming.IncomingServerSettingsContract.Event
|
||||
import app.k9mail.feature.account.server.settings.ui.incoming.IncomingServerSettingsContract.State
|
||||
import app.k9mail.feature.account.server.settings.ui.incoming.content.incomingFormItems
|
||||
import net.thunderbird.core.ui.compose.common.modifier.testTagAsResourceId
|
||||
|
||||
@Composable
|
||||
internal fun IncomingServerSettingsContent(
|
||||
mode: InteractionMode,
|
||||
state: State,
|
||||
onEvent: (Event) -> Unit,
|
||||
contentPadding: PaddingValues,
|
||||
modifier: Modifier = Modifier,
|
||||
) {
|
||||
val resources = LocalContext.current.resources
|
||||
|
||||
ResponsiveWidthContainer(
|
||||
modifier = Modifier
|
||||
.testTagAsResourceId("IncomingServerSettingsContent")
|
||||
.padding(contentPadding)
|
||||
.fillMaxWidth()
|
||||
.then(modifier),
|
||||
) { contentPadding ->
|
||||
LazyColumn(
|
||||
modifier = Modifier
|
||||
.fillMaxSize()
|
||||
.imePadding(),
|
||||
contentPadding = contentPadding,
|
||||
horizontalAlignment = Alignment.Start,
|
||||
verticalArrangement = Arrangement.spacedBy(MainTheme.spacings.default),
|
||||
) {
|
||||
incomingFormItems(
|
||||
mode = mode,
|
||||
state = state,
|
||||
onEvent = onEvent,
|
||||
resources = resources,
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,66 @@
|
|||
package app.k9mail.feature.account.server.settings.ui.incoming
|
||||
|
||||
import app.k9mail.core.ui.compose.common.mvi.UnidirectionalViewModel
|
||||
import app.k9mail.feature.account.common.domain.entity.AuthenticationType
|
||||
import app.k9mail.feature.account.common.domain.entity.ConnectionSecurity
|
||||
import app.k9mail.feature.account.common.domain.entity.IncomingProtocolType
|
||||
import app.k9mail.feature.account.common.domain.entity.toDefaultPort
|
||||
import app.k9mail.feature.account.common.domain.input.NumberInputField
|
||||
import app.k9mail.feature.account.common.domain.input.StringInputField
|
||||
import app.k9mail.feature.account.common.ui.WithInteractionMode
|
||||
import net.thunderbird.core.common.domain.usecase.validation.ValidationResult
|
||||
|
||||
interface IncomingServerSettingsContract {
|
||||
|
||||
interface ViewModel : UnidirectionalViewModel<State, Event, Effect>, WithInteractionMode
|
||||
|
||||
data class State(
|
||||
val protocolType: IncomingProtocolType = IncomingProtocolType.DEFAULT,
|
||||
val server: StringInputField = StringInputField(),
|
||||
val security: ConnectionSecurity = IncomingProtocolType.DEFAULT.defaultConnectionSecurity,
|
||||
val port: NumberInputField = NumberInputField(
|
||||
IncomingProtocolType.DEFAULT.toDefaultPort(IncomingProtocolType.DEFAULT.defaultConnectionSecurity),
|
||||
),
|
||||
val authenticationType: AuthenticationType = AuthenticationType.PasswordCleartext,
|
||||
val username: StringInputField = StringInputField(),
|
||||
val password: StringInputField = StringInputField(),
|
||||
val clientCertificateAlias: String? = null,
|
||||
val imapAutodetectNamespaceEnabled: Boolean = true,
|
||||
val imapPrefix: StringInputField = StringInputField(),
|
||||
val imapUseCompression: Boolean = true,
|
||||
val imapSendClientInfo: Boolean = true,
|
||||
)
|
||||
|
||||
sealed interface Event {
|
||||
data class ProtocolTypeChanged(val protocolType: IncomingProtocolType) : Event
|
||||
data class ServerChanged(val server: String) : Event
|
||||
data class SecurityChanged(val security: ConnectionSecurity) : Event
|
||||
data class PortChanged(val port: Long?) : Event
|
||||
data class AuthenticationTypeChanged(val authenticationType: AuthenticationType) : Event
|
||||
data class UsernameChanged(val username: String) : Event
|
||||
data class PasswordChanged(val password: String) : Event
|
||||
data class ClientCertificateChanged(val clientCertificateAlias: String?) : Event
|
||||
data class ImapAutoDetectNamespaceChanged(val enabled: Boolean) : Event
|
||||
data class ImapPrefixChanged(val imapPrefix: String) : Event
|
||||
data class ImapUseCompressionChanged(val useCompression: Boolean) : Event
|
||||
data class ImapSendClientInfoChanged(val sendClientInfo: Boolean) : Event
|
||||
|
||||
data object LoadAccountState : Event
|
||||
|
||||
data object OnNextClicked : Event
|
||||
data object OnBackClicked : Event
|
||||
}
|
||||
|
||||
sealed interface Effect {
|
||||
data object NavigateNext : Effect
|
||||
data object NavigateBack : Effect
|
||||
}
|
||||
|
||||
interface Validator {
|
||||
fun validateServer(server: String): ValidationResult
|
||||
fun validatePort(port: Long?): ValidationResult
|
||||
fun validateUsername(username: String): ValidationResult
|
||||
fun validatePassword(password: String): ValidationResult
|
||||
fun validateImapPrefix(imapPrefix: String): ValidationResult
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,69 @@
|
|||
package app.k9mail.feature.account.server.settings.ui.incoming
|
||||
|
||||
import androidx.activity.compose.BackHandler
|
||||
import androidx.compose.runtime.Composable
|
||||
import androidx.compose.runtime.LaunchedEffect
|
||||
import androidx.compose.ui.Modifier
|
||||
import androidx.compose.ui.res.stringResource
|
||||
import app.k9mail.core.ui.compose.common.mvi.observe
|
||||
import app.k9mail.core.ui.compose.designsystem.organism.TopAppBarWithBackButton
|
||||
import app.k9mail.core.ui.compose.designsystem.template.Scaffold
|
||||
import app.k9mail.feature.account.common.domain.entity.InteractionMode
|
||||
import app.k9mail.feature.account.common.ui.AccountTopAppBar
|
||||
import app.k9mail.feature.account.common.ui.WizardNavigationBar
|
||||
import app.k9mail.feature.account.server.settings.R
|
||||
import app.k9mail.feature.account.server.settings.ui.incoming.IncomingServerSettingsContract.Effect
|
||||
import app.k9mail.feature.account.server.settings.ui.incoming.IncomingServerSettingsContract.Event
|
||||
import app.k9mail.feature.account.server.settings.ui.incoming.IncomingServerSettingsContract.ViewModel
|
||||
|
||||
@Composable
|
||||
fun IncomingServerSettingsScreen(
|
||||
onNext: (IncomingServerSettingsContract.State) -> Unit,
|
||||
onBack: () -> Unit,
|
||||
viewModel: ViewModel,
|
||||
modifier: Modifier = Modifier,
|
||||
) {
|
||||
val (state, dispatch) = viewModel.observe { effect ->
|
||||
when (effect) {
|
||||
is Effect.NavigateNext -> onNext(viewModel.state.value)
|
||||
is Effect.NavigateBack -> onBack()
|
||||
}
|
||||
}
|
||||
|
||||
LaunchedEffect(key1 = Unit) {
|
||||
dispatch(Event.LoadAccountState)
|
||||
}
|
||||
|
||||
BackHandler {
|
||||
dispatch(Event.OnBackClicked)
|
||||
}
|
||||
|
||||
Scaffold(
|
||||
topBar = {
|
||||
if (viewModel.mode == InteractionMode.Edit) {
|
||||
TopAppBarWithBackButton(
|
||||
title = stringResource(id = R.string.account_server_settings_incoming_top_bar_title),
|
||||
onBackClick = { dispatch(Event.OnBackClicked) },
|
||||
)
|
||||
} else {
|
||||
AccountTopAppBar(
|
||||
title = stringResource(id = R.string.account_server_settings_incoming_top_bar_title),
|
||||
)
|
||||
}
|
||||
},
|
||||
bottomBar = {
|
||||
WizardNavigationBar(
|
||||
onNextClick = { dispatch(Event.OnNextClicked) },
|
||||
onBackClick = { dispatch(Event.OnBackClicked) },
|
||||
)
|
||||
},
|
||||
modifier = modifier,
|
||||
) { innerPadding ->
|
||||
IncomingServerSettingsContent(
|
||||
mode = viewModel.mode,
|
||||
onEvent = { dispatch(it) },
|
||||
state = state.value,
|
||||
contentPadding = innerPadding,
|
||||
)
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,32 @@
|
|||
package app.k9mail.feature.account.server.settings.ui.incoming
|
||||
|
||||
import app.k9mail.feature.account.common.domain.entity.AuthenticationType
|
||||
import app.k9mail.feature.account.common.domain.entity.IncomingProtocolType
|
||||
import kotlinx.collections.immutable.ImmutableList
|
||||
import kotlinx.collections.immutable.toImmutableList
|
||||
|
||||
internal val IncomingServerSettingsContract.State.isPasswordFieldVisible: Boolean
|
||||
get() = authenticationType.isPasswordRequired
|
||||
|
||||
internal val IncomingServerSettingsContract.State.allowedAuthenticationTypes: ImmutableList<AuthenticationType>
|
||||
get() = protocolType.allowedAuthenticationTypes.toImmutableList()
|
||||
|
||||
internal val IncomingProtocolType.allowedAuthenticationTypes: List<AuthenticationType>
|
||||
get() = when (this) {
|
||||
IncomingProtocolType.IMAP -> {
|
||||
listOf(
|
||||
AuthenticationType.PasswordCleartext,
|
||||
AuthenticationType.PasswordEncrypted,
|
||||
AuthenticationType.ClientCertificate,
|
||||
AuthenticationType.OAuth2,
|
||||
)
|
||||
}
|
||||
|
||||
IncomingProtocolType.POP3 -> {
|
||||
listOf(
|
||||
AuthenticationType.PasswordCleartext,
|
||||
AuthenticationType.PasswordEncrypted,
|
||||
AuthenticationType.ClientCertificate,
|
||||
)
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,68 @@
|
|||
package app.k9mail.feature.account.server.settings.ui.incoming
|
||||
|
||||
import app.k9mail.feature.account.common.domain.entity.AccountState
|
||||
import app.k9mail.feature.account.common.domain.entity.IncomingProtocolType
|
||||
import app.k9mail.feature.account.common.domain.entity.toAuthType
|
||||
import app.k9mail.feature.account.common.domain.entity.toAuthenticationType
|
||||
import app.k9mail.feature.account.common.domain.entity.toConnectionSecurity
|
||||
import app.k9mail.feature.account.common.domain.entity.toMailConnectionSecurity
|
||||
import app.k9mail.feature.account.common.domain.input.NumberInputField
|
||||
import app.k9mail.feature.account.common.domain.input.StringInputField
|
||||
import app.k9mail.feature.account.server.settings.ui.common.toInvalidEmailDomain
|
||||
import app.k9mail.feature.account.server.settings.ui.incoming.IncomingServerSettingsContract.State
|
||||
import com.fsck.k9.mail.ServerSettings
|
||||
import com.fsck.k9.mail.store.imap.ImapStoreSettings
|
||||
import com.fsck.k9.mail.store.imap.ImapStoreSettings.autoDetectNamespace
|
||||
import com.fsck.k9.mail.store.imap.ImapStoreSettings.isSendClientInfo
|
||||
import com.fsck.k9.mail.store.imap.ImapStoreSettings.isUseCompression
|
||||
import com.fsck.k9.mail.store.imap.ImapStoreSettings.pathPrefix
|
||||
|
||||
fun AccountState.toIncomingServerSettingsState() = incomingServerSettings?.toIncomingServerSettingsState()
|
||||
?: State(
|
||||
username = StringInputField(value = emailAddress ?: ""),
|
||||
server = StringInputField(value = emailAddress?.toInvalidEmailDomain() ?: ""),
|
||||
)
|
||||
|
||||
private fun ServerSettings.toIncomingServerSettingsState(): State {
|
||||
return State(
|
||||
protocolType = IncomingProtocolType.fromName(type),
|
||||
server = StringInputField(value = host ?: ""),
|
||||
security = connectionSecurity.toConnectionSecurity(),
|
||||
port = NumberInputField(value = port.toLong()),
|
||||
authenticationType = authenticationType.toAuthenticationType(),
|
||||
username = StringInputField(value = username),
|
||||
password = StringInputField(value = password ?: ""),
|
||||
clientCertificateAlias = clientCertificateAlias,
|
||||
imapAutodetectNamespaceEnabled = autoDetectNamespace,
|
||||
imapPrefix = StringInputField(value = pathPrefix ?: ""),
|
||||
imapUseCompression = isUseCompression,
|
||||
imapSendClientInfo = isSendClientInfo,
|
||||
)
|
||||
}
|
||||
|
||||
internal fun State.toServerSettings(): ServerSettings {
|
||||
return ServerSettings(
|
||||
type = protocolType.defaultName,
|
||||
host = server.value.trim(),
|
||||
port = port.value!!.toInt(),
|
||||
connectionSecurity = security.toMailConnectionSecurity(),
|
||||
authenticationType = authenticationType.toAuthType(),
|
||||
username = username.value.trim(),
|
||||
password = if (authenticationType.isPasswordRequired) password.value.trim() else null,
|
||||
clientCertificateAlias = clientCertificateAlias,
|
||||
extra = createExtras(),
|
||||
)
|
||||
}
|
||||
|
||||
private fun State.createExtras(): Map<String, String?> {
|
||||
return if (protocolType == IncomingProtocolType.IMAP) {
|
||||
ImapStoreSettings.createExtra(
|
||||
autoDetectNamespace = imapAutodetectNamespaceEnabled,
|
||||
pathPrefix = if (imapAutodetectNamespaceEnabled) null else imapPrefix.value.trim(),
|
||||
useCompression = imapUseCompression,
|
||||
sendClientInfo = imapSendClientInfo,
|
||||
)
|
||||
} else {
|
||||
emptyMap()
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,37 @@
|
|||
package app.k9mail.feature.account.server.settings.ui.incoming
|
||||
|
||||
import app.k9mail.feature.account.server.settings.domain.ServerSettingsDomainContract.UseCase
|
||||
import app.k9mail.feature.account.server.settings.domain.usecase.ValidateImapPrefix
|
||||
import app.k9mail.feature.account.server.settings.domain.usecase.ValidatePassword
|
||||
import app.k9mail.feature.account.server.settings.domain.usecase.ValidatePort
|
||||
import app.k9mail.feature.account.server.settings.domain.usecase.ValidateServer
|
||||
import app.k9mail.feature.account.server.settings.domain.usecase.ValidateUsername
|
||||
import net.thunderbird.core.common.domain.usecase.validation.ValidationResult
|
||||
|
||||
internal class IncomingServerSettingsValidator(
|
||||
private val serverValidator: UseCase.ValidateServer = ValidateServer(),
|
||||
private val portValidator: UseCase.ValidatePort = ValidatePort(),
|
||||
private val usernameValidator: UseCase.ValidateUsername = ValidateUsername(),
|
||||
private val passwordValidator: UseCase.ValidatePassword = ValidatePassword(),
|
||||
private val imapPrefixValidator: UseCase.ValidateImapPrefix = ValidateImapPrefix(),
|
||||
) : IncomingServerSettingsContract.Validator {
|
||||
override fun validateServer(server: String): ValidationResult {
|
||||
return serverValidator.execute(server)
|
||||
}
|
||||
|
||||
override fun validatePort(port: Long?): ValidationResult {
|
||||
return portValidator.execute(port)
|
||||
}
|
||||
|
||||
override fun validateUsername(username: String): ValidationResult {
|
||||
return usernameValidator.execute(username)
|
||||
}
|
||||
|
||||
override fun validatePassword(password: String): ValidationResult {
|
||||
return passwordValidator.execute(password)
|
||||
}
|
||||
|
||||
override fun validateImapPrefix(imapPrefix: String): ValidationResult {
|
||||
return imapPrefixValidator.execute(imapPrefix)
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,131 @@
|
|||
package app.k9mail.feature.account.server.settings.ui.incoming
|
||||
|
||||
import app.k9mail.core.ui.compose.common.mvi.BaseViewModel
|
||||
import app.k9mail.feature.account.common.domain.AccountDomainContract
|
||||
import app.k9mail.feature.account.common.domain.entity.ConnectionSecurity
|
||||
import app.k9mail.feature.account.common.domain.entity.IncomingProtocolType
|
||||
import app.k9mail.feature.account.common.domain.entity.InteractionMode
|
||||
import app.k9mail.feature.account.common.domain.entity.toDefaultPort
|
||||
import app.k9mail.feature.account.server.settings.ui.incoming.IncomingServerSettingsContract.Effect
|
||||
import app.k9mail.feature.account.server.settings.ui.incoming.IncomingServerSettingsContract.Event
|
||||
import app.k9mail.feature.account.server.settings.ui.incoming.IncomingServerSettingsContract.State
|
||||
import app.k9mail.feature.account.server.settings.ui.incoming.IncomingServerSettingsContract.Validator
|
||||
import app.k9mail.feature.account.server.settings.ui.incoming.IncomingServerSettingsContract.ViewModel
|
||||
import net.thunderbird.core.common.domain.usecase.validation.ValidationResult
|
||||
|
||||
open class IncomingServerSettingsViewModel(
|
||||
initialState: State = State(),
|
||||
override val mode: InteractionMode,
|
||||
private val validator: Validator,
|
||||
private val accountStateRepository: AccountDomainContract.AccountStateRepository,
|
||||
) : BaseViewModel<State, Event, Effect>(initialState = initialState), ViewModel {
|
||||
|
||||
@Suppress("CyclomaticComplexMethod")
|
||||
override fun event(event: Event) {
|
||||
when (event) {
|
||||
Event.LoadAccountState -> handleOneTimeEvent(event, ::loadAccountState)
|
||||
|
||||
is Event.ProtocolTypeChanged -> updateProtocolType(event.protocolType)
|
||||
is Event.ServerChanged -> updateState { it.copy(server = it.server.updateValue(event.server)) }
|
||||
is Event.SecurityChanged -> updateSecurity(event.security)
|
||||
is Event.PortChanged -> updateState { it.copy(port = it.port.updateValue(event.port)) }
|
||||
is Event.AuthenticationTypeChanged -> updateState { it.copy(authenticationType = event.authenticationType) }
|
||||
is Event.UsernameChanged -> updateState { it.copy(username = it.username.updateValue(event.username)) }
|
||||
is Event.PasswordChanged -> updateState { it.copy(password = it.password.updateValue(event.password)) }
|
||||
is Event.ClientCertificateChanged -> updateState {
|
||||
it.copy(clientCertificateAlias = event.clientCertificateAlias)
|
||||
}
|
||||
|
||||
is Event.ImapAutoDetectNamespaceChanged -> updateState {
|
||||
it.copy(imapAutodetectNamespaceEnabled = event.enabled)
|
||||
}
|
||||
|
||||
is Event.ImapPrefixChanged -> updateState {
|
||||
it.copy(imapPrefix = it.imapPrefix.updateValue(event.imapPrefix))
|
||||
}
|
||||
|
||||
is Event.ImapUseCompressionChanged -> updateState { it.copy(imapUseCompression = event.useCompression) }
|
||||
is Event.ImapSendClientInfoChanged -> updateState { it.copy(imapSendClientInfo = event.sendClientInfo) }
|
||||
|
||||
Event.OnNextClicked -> onNext()
|
||||
Event.OnBackClicked -> onBack()
|
||||
}
|
||||
}
|
||||
|
||||
protected open fun loadAccountState() {
|
||||
updateState {
|
||||
accountStateRepository.getState().toIncomingServerSettingsState()
|
||||
}
|
||||
}
|
||||
|
||||
private fun onNext() {
|
||||
submitConfig()
|
||||
}
|
||||
|
||||
private fun updateProtocolType(protocolType: IncomingProtocolType) {
|
||||
updateState {
|
||||
val allowedAuthenticationTypesForNewProtocol = protocolType.allowedAuthenticationTypes
|
||||
val newAuthenticationType = if (it.authenticationType in allowedAuthenticationTypesForNewProtocol) {
|
||||
it.authenticationType
|
||||
} else {
|
||||
allowedAuthenticationTypesForNewProtocol.first()
|
||||
}
|
||||
|
||||
it.copy(
|
||||
protocolType = protocolType,
|
||||
security = protocolType.defaultConnectionSecurity,
|
||||
port = it.port.updateValue(
|
||||
protocolType.toDefaultPort(protocolType.defaultConnectionSecurity),
|
||||
),
|
||||
authenticationType = newAuthenticationType,
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
private fun updateSecurity(security: ConnectionSecurity) {
|
||||
updateState {
|
||||
it.copy(
|
||||
security = security,
|
||||
port = it.port.updateValue(it.protocolType.toDefaultPort(security)),
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
private fun submitConfig() = with(state.value) {
|
||||
val serverResult = validator.validateServer(server.value)
|
||||
val portResult = validator.validatePort(port.value)
|
||||
val usernameResult = validator.validateUsername(username.value)
|
||||
val passwordResult = if (authenticationType.isPasswordRequired) {
|
||||
validator.validatePassword(password.value)
|
||||
} else {
|
||||
ValidationResult.Success
|
||||
}
|
||||
val imapPrefixResult = validator.validateImapPrefix(imapPrefix.value)
|
||||
|
||||
val hasError = listOf(serverResult, portResult, usernameResult, passwordResult, imapPrefixResult)
|
||||
.any { it is ValidationResult.Failure }
|
||||
|
||||
updateState {
|
||||
it.copy(
|
||||
server = it.server.updateFromValidationResult(serverResult),
|
||||
port = it.port.updateFromValidationResult(portResult),
|
||||
username = it.username.updateFromValidationResult(usernameResult),
|
||||
password = it.password.updateFromValidationResult(passwordResult),
|
||||
imapPrefix = it.imapPrefix.updateFromValidationResult(imapPrefixResult),
|
||||
)
|
||||
}
|
||||
|
||||
if (!hasError) {
|
||||
accountStateRepository.setIncomingServerSettings(state.value.toServerSettings())
|
||||
navigateNext()
|
||||
}
|
||||
}
|
||||
|
||||
private fun onBack() {
|
||||
navigateBack()
|
||||
}
|
||||
|
||||
private fun navigateBack() = emitEffect(Effect.NavigateBack)
|
||||
|
||||
private fun navigateNext() = emitEffect(Effect.NavigateNext)
|
||||
}
|
||||
|
|
@ -0,0 +1,64 @@
|
|||
package app.k9mail.feature.account.server.settings.ui.incoming.content
|
||||
|
||||
import android.content.res.Resources
|
||||
import androidx.compose.foundation.lazy.LazyListScope
|
||||
import androidx.compose.ui.res.stringResource
|
||||
import app.k9mail.core.ui.compose.designsystem.molecule.input.CheckboxInput
|
||||
import app.k9mail.core.ui.compose.designsystem.molecule.input.TextInput
|
||||
import app.k9mail.feature.account.common.ui.item.defaultItemPadding
|
||||
import app.k9mail.feature.account.server.settings.R
|
||||
import app.k9mail.feature.account.server.settings.ui.common.mapper.toResourceString
|
||||
import app.k9mail.feature.account.server.settings.ui.incoming.IncomingServerSettingsContract.Event
|
||||
import app.k9mail.feature.account.server.settings.ui.incoming.IncomingServerSettingsContract.State
|
||||
|
||||
internal fun LazyListScope.imapFormItems(
|
||||
state: State,
|
||||
onEvent: (Event) -> Unit,
|
||||
resources: Resources,
|
||||
) {
|
||||
item {
|
||||
CheckboxInput(
|
||||
text = stringResource(id = R.string.account_server_settings_incoming_imap_namespace_label),
|
||||
checked = state.imapAutodetectNamespaceEnabled,
|
||||
onCheckedChange = { onEvent(Event.ImapAutoDetectNamespaceChanged(it)) },
|
||||
contentPadding = defaultItemPadding(),
|
||||
)
|
||||
}
|
||||
|
||||
item {
|
||||
if (state.imapAutodetectNamespaceEnabled) {
|
||||
TextInput(
|
||||
onTextChange = {},
|
||||
label = stringResource(id = R.string.account_server_settings_incoming_imap_prefix_label),
|
||||
contentPadding = defaultItemPadding(),
|
||||
isEnabled = false,
|
||||
)
|
||||
} else {
|
||||
TextInput(
|
||||
text = state.imapPrefix.value,
|
||||
errorMessage = state.imapPrefix.error?.toResourceString(resources),
|
||||
onTextChange = { onEvent(Event.ImapPrefixChanged(it)) },
|
||||
label = stringResource(id = R.string.account_server_settings_incoming_imap_prefix_label),
|
||||
contentPadding = defaultItemPadding(),
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
item {
|
||||
CheckboxInput(
|
||||
text = stringResource(id = R.string.account_server_settings_incoming_imap_compression_label),
|
||||
checked = state.imapUseCompression,
|
||||
onCheckedChange = { onEvent(Event.ImapUseCompressionChanged(it)) },
|
||||
contentPadding = defaultItemPadding(),
|
||||
)
|
||||
}
|
||||
|
||||
item {
|
||||
CheckboxInput(
|
||||
text = stringResource(R.string.account_server_settings_incoming_imap_send_client_info_label),
|
||||
checked = state.imapSendClientInfo,
|
||||
onCheckedChange = { onEvent(Event.ImapSendClientInfoChanged(it)) },
|
||||
contentPadding = defaultItemPadding(),
|
||||
)
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,130 @@
|
|||
package app.k9mail.feature.account.server.settings.ui.incoming.content
|
||||
|
||||
import android.content.res.Resources
|
||||
import androidx.compose.foundation.layout.Spacer
|
||||
import androidx.compose.foundation.layout.requiredHeight
|
||||
import androidx.compose.foundation.lazy.LazyListScope
|
||||
import androidx.compose.foundation.text.KeyboardOptions
|
||||
import androidx.compose.ui.Modifier
|
||||
import androidx.compose.ui.autofill.ContentType
|
||||
import androidx.compose.ui.res.stringResource
|
||||
import app.k9mail.core.ui.compose.designsystem.molecule.input.NumberInput
|
||||
import app.k9mail.core.ui.compose.designsystem.molecule.input.SelectInput
|
||||
import app.k9mail.core.ui.compose.designsystem.molecule.input.TextInput
|
||||
import app.k9mail.core.ui.compose.theme2.MainTheme
|
||||
import app.k9mail.feature.account.common.domain.entity.ConnectionSecurity
|
||||
import app.k9mail.feature.account.common.domain.entity.IncomingProtocolType
|
||||
import app.k9mail.feature.account.common.domain.entity.InteractionMode
|
||||
import app.k9mail.feature.account.common.ui.item.defaultItemPadding
|
||||
import app.k9mail.feature.account.server.settings.R
|
||||
import app.k9mail.feature.account.server.settings.ui.common.ClientCertificateInput
|
||||
import app.k9mail.feature.account.server.settings.ui.common.ServerSettingsPasswordInput
|
||||
import app.k9mail.feature.account.server.settings.ui.common.mapper.toResourceString
|
||||
import app.k9mail.feature.account.server.settings.ui.incoming.IncomingServerSettingsContract.Event
|
||||
import app.k9mail.feature.account.server.settings.ui.incoming.IncomingServerSettingsContract.State
|
||||
import app.k9mail.feature.account.server.settings.ui.incoming.allowedAuthenticationTypes
|
||||
import app.k9mail.feature.account.server.settings.ui.incoming.isPasswordFieldVisible
|
||||
|
||||
@Suppress("LongMethod")
|
||||
internal fun LazyListScope.incomingFormItems(
|
||||
mode: InteractionMode,
|
||||
state: State,
|
||||
onEvent: (Event) -> Unit,
|
||||
resources: Resources,
|
||||
) {
|
||||
item {
|
||||
Spacer(modifier = Modifier.requiredHeight(MainTheme.sizes.smaller))
|
||||
}
|
||||
|
||||
if (mode == InteractionMode.Create) {
|
||||
item {
|
||||
SelectInput(
|
||||
options = IncomingProtocolType.all(),
|
||||
selectedOption = state.protocolType,
|
||||
onOptionChange = { onEvent(Event.ProtocolTypeChanged(it)) },
|
||||
label = stringResource(id = R.string.account_server_settings_protocol_type_label),
|
||||
contentPadding = defaultItemPadding(),
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
item {
|
||||
TextInput(
|
||||
text = state.server.value,
|
||||
errorMessage = state.server.error?.toResourceString(resources),
|
||||
onTextChange = { onEvent(Event.ServerChanged(it)) },
|
||||
label = stringResource(id = R.string.account_server_settings_server_label),
|
||||
contentPadding = defaultItemPadding(),
|
||||
keyboardOptions = KeyboardOptions(autoCorrect = false),
|
||||
)
|
||||
}
|
||||
|
||||
item {
|
||||
SelectInput(
|
||||
options = ConnectionSecurity.all(),
|
||||
optionToStringTransformation = { it.toResourceString(resources) },
|
||||
selectedOption = state.security,
|
||||
onOptionChange = { onEvent(Event.SecurityChanged(it)) },
|
||||
label = stringResource(id = R.string.account_server_settings_security_label),
|
||||
contentPadding = defaultItemPadding(),
|
||||
)
|
||||
}
|
||||
|
||||
item {
|
||||
NumberInput(
|
||||
value = state.port.value,
|
||||
errorMessage = state.port.error?.toResourceString(resources),
|
||||
onValueChange = { onEvent(Event.PortChanged(it)) },
|
||||
label = stringResource(id = R.string.account_server_settings_port_label),
|
||||
contentPadding = defaultItemPadding(),
|
||||
)
|
||||
}
|
||||
|
||||
item {
|
||||
SelectInput(
|
||||
options = state.allowedAuthenticationTypes,
|
||||
optionToStringTransformation = { it.toResourceString(resources) },
|
||||
selectedOption = state.authenticationType,
|
||||
onOptionChange = { onEvent(Event.AuthenticationTypeChanged(it)) },
|
||||
label = stringResource(id = R.string.account_server_settings_authentication_label),
|
||||
contentPadding = defaultItemPadding(),
|
||||
)
|
||||
}
|
||||
|
||||
item {
|
||||
TextInput(
|
||||
text = state.username.value,
|
||||
errorMessage = state.username.error?.toResourceString(resources),
|
||||
onTextChange = { onEvent(Event.UsernameChanged(it)) },
|
||||
label = stringResource(id = R.string.account_server_settings_username_label),
|
||||
contentPadding = defaultItemPadding(),
|
||||
keyboardOptions = KeyboardOptions(autoCorrect = false),
|
||||
contentType = ContentType.Username + ContentType.EmailAddress,
|
||||
)
|
||||
}
|
||||
|
||||
if (state.isPasswordFieldVisible) {
|
||||
item {
|
||||
ServerSettingsPasswordInput(
|
||||
mode = mode,
|
||||
password = state.password.value,
|
||||
errorMessage = state.password.error?.toResourceString(resources),
|
||||
onPasswordChange = { onEvent(Event.PasswordChanged(it)) },
|
||||
contentPadding = defaultItemPadding(),
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
item {
|
||||
ClientCertificateInput(
|
||||
alias = state.clientCertificateAlias,
|
||||
onValueChange = { onEvent(Event.ClientCertificateChanged(it)) },
|
||||
label = stringResource(id = R.string.account_server_settings_client_certificate_label),
|
||||
contentPadding = defaultItemPadding(),
|
||||
)
|
||||
}
|
||||
|
||||
if (state.protocolType == IncomingProtocolType.IMAP) {
|
||||
imapFormItems(state, onEvent, resources)
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,55 @@
|
|||
package app.k9mail.feature.account.server.settings.ui.outgoing
|
||||
|
||||
import androidx.compose.foundation.layout.Arrangement
|
||||
import androidx.compose.foundation.layout.PaddingValues
|
||||
import androidx.compose.foundation.layout.fillMaxSize
|
||||
import androidx.compose.foundation.layout.fillMaxWidth
|
||||
import androidx.compose.foundation.layout.imePadding
|
||||
import androidx.compose.foundation.layout.padding
|
||||
import androidx.compose.foundation.lazy.LazyColumn
|
||||
import androidx.compose.runtime.Composable
|
||||
import androidx.compose.ui.Alignment
|
||||
import androidx.compose.ui.Modifier
|
||||
import androidx.compose.ui.platform.LocalContext
|
||||
import app.k9mail.core.ui.compose.designsystem.template.ResponsiveWidthContainer
|
||||
import app.k9mail.core.ui.compose.theme2.MainTheme
|
||||
import app.k9mail.feature.account.common.domain.entity.InteractionMode
|
||||
import app.k9mail.feature.account.server.settings.ui.outgoing.OutgoingServerSettingsContract.Event
|
||||
import app.k9mail.feature.account.server.settings.ui.outgoing.OutgoingServerSettingsContract.State
|
||||
import app.k9mail.feature.account.server.settings.ui.outgoing.content.outgoingFormItems
|
||||
import net.thunderbird.core.ui.compose.common.modifier.testTagAsResourceId
|
||||
|
||||
@Composable
|
||||
internal fun OutgoingServerSettingsContent(
|
||||
mode: InteractionMode,
|
||||
state: State,
|
||||
onEvent: (Event) -> Unit,
|
||||
contentPadding: PaddingValues,
|
||||
modifier: Modifier = Modifier,
|
||||
) {
|
||||
val resources = LocalContext.current.resources
|
||||
|
||||
ResponsiveWidthContainer(
|
||||
modifier = Modifier
|
||||
.testTagAsResourceId("OutgoingServerSettingsContent")
|
||||
.padding(contentPadding)
|
||||
.fillMaxWidth()
|
||||
.then(modifier),
|
||||
) { contentPadding ->
|
||||
LazyColumn(
|
||||
modifier = Modifier
|
||||
.fillMaxSize()
|
||||
.imePadding(),
|
||||
contentPadding = contentPadding,
|
||||
horizontalAlignment = Alignment.Start,
|
||||
verticalArrangement = Arrangement.spacedBy(MainTheme.spacings.default),
|
||||
) {
|
||||
outgoingFormItems(
|
||||
mode = mode,
|
||||
state = state,
|
||||
onEvent = onEvent,
|
||||
resources = resources,
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,52 @@
|
|||
package app.k9mail.feature.account.server.settings.ui.outgoing
|
||||
|
||||
import app.k9mail.core.ui.compose.common.mvi.UnidirectionalViewModel
|
||||
import app.k9mail.feature.account.common.domain.entity.AuthenticationType
|
||||
import app.k9mail.feature.account.common.domain.entity.ConnectionSecurity
|
||||
import app.k9mail.feature.account.common.domain.entity.toSmtpDefaultPort
|
||||
import app.k9mail.feature.account.common.domain.input.NumberInputField
|
||||
import app.k9mail.feature.account.common.domain.input.StringInputField
|
||||
import app.k9mail.feature.account.common.ui.WithInteractionMode
|
||||
import net.thunderbird.core.common.domain.usecase.validation.ValidationResult
|
||||
|
||||
interface OutgoingServerSettingsContract {
|
||||
|
||||
interface ViewModel : UnidirectionalViewModel<State, Event, Effect>, WithInteractionMode
|
||||
|
||||
data class State(
|
||||
val server: StringInputField = StringInputField(),
|
||||
val security: ConnectionSecurity = ConnectionSecurity.DEFAULT,
|
||||
val port: NumberInputField = NumberInputField(ConnectionSecurity.DEFAULT.toSmtpDefaultPort()),
|
||||
val authenticationType: AuthenticationType = AuthenticationType.PasswordCleartext,
|
||||
val username: StringInputField = StringInputField(),
|
||||
val password: StringInputField = StringInputField(),
|
||||
val clientCertificateAlias: String? = null,
|
||||
)
|
||||
|
||||
sealed interface Event {
|
||||
data class ServerChanged(val server: String) : Event
|
||||
data class SecurityChanged(val security: ConnectionSecurity) : Event
|
||||
data class PortChanged(val port: Long?) : Event
|
||||
data class AuthenticationTypeChanged(val authenticationType: AuthenticationType) : Event
|
||||
data class UsernameChanged(val username: String) : Event
|
||||
data class PasswordChanged(val password: String) : Event
|
||||
data class ClientCertificateChanged(val clientCertificateAlias: String?) : Event
|
||||
|
||||
data object LoadAccountState : Event
|
||||
|
||||
data object OnNextClicked : Event
|
||||
data object OnBackClicked : Event
|
||||
}
|
||||
|
||||
sealed interface Effect {
|
||||
data object NavigateNext : Effect
|
||||
data object NavigateBack : Effect
|
||||
}
|
||||
|
||||
interface Validator {
|
||||
fun validateServer(server: String): ValidationResult
|
||||
fun validatePort(port: Long?): ValidationResult
|
||||
fun validateUsername(username: String): ValidationResult
|
||||
fun validatePassword(password: String): ValidationResult
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,69 @@
|
|||
package app.k9mail.feature.account.server.settings.ui.outgoing
|
||||
|
||||
import androidx.activity.compose.BackHandler
|
||||
import androidx.compose.runtime.Composable
|
||||
import androidx.compose.runtime.LaunchedEffect
|
||||
import androidx.compose.ui.Modifier
|
||||
import androidx.compose.ui.res.stringResource
|
||||
import app.k9mail.core.ui.compose.common.mvi.observe
|
||||
import app.k9mail.core.ui.compose.designsystem.organism.TopAppBarWithBackButton
|
||||
import app.k9mail.core.ui.compose.designsystem.template.Scaffold
|
||||
import app.k9mail.feature.account.common.domain.entity.InteractionMode
|
||||
import app.k9mail.feature.account.common.ui.AccountTopAppBar
|
||||
import app.k9mail.feature.account.common.ui.WizardNavigationBar
|
||||
import app.k9mail.feature.account.server.settings.R
|
||||
import app.k9mail.feature.account.server.settings.ui.outgoing.OutgoingServerSettingsContract.Effect
|
||||
import app.k9mail.feature.account.server.settings.ui.outgoing.OutgoingServerSettingsContract.Event
|
||||
import app.k9mail.feature.account.server.settings.ui.outgoing.OutgoingServerSettingsContract.ViewModel
|
||||
|
||||
@Composable
|
||||
fun OutgoingServerSettingsScreen(
|
||||
onNext: () -> Unit,
|
||||
onBack: () -> Unit,
|
||||
viewModel: ViewModel,
|
||||
modifier: Modifier = Modifier,
|
||||
) {
|
||||
val (state, dispatch) = viewModel.observe { effect ->
|
||||
when (effect) {
|
||||
Effect.NavigateBack -> onBack()
|
||||
Effect.NavigateNext -> onNext()
|
||||
}
|
||||
}
|
||||
|
||||
LaunchedEffect(key1 = Unit) {
|
||||
dispatch(Event.LoadAccountState)
|
||||
}
|
||||
|
||||
BackHandler {
|
||||
dispatch(Event.OnBackClicked)
|
||||
}
|
||||
|
||||
Scaffold(
|
||||
topBar = {
|
||||
if (viewModel.mode == InteractionMode.Edit) {
|
||||
TopAppBarWithBackButton(
|
||||
title = stringResource(id = R.string.account_server_settings_outgoing_top_bar_title),
|
||||
onBackClick = { dispatch(Event.OnBackClicked) },
|
||||
)
|
||||
} else {
|
||||
AccountTopAppBar(
|
||||
title = stringResource(id = R.string.account_server_settings_outgoing_top_bar_title),
|
||||
)
|
||||
}
|
||||
},
|
||||
bottomBar = {
|
||||
WizardNavigationBar(
|
||||
onNextClick = { dispatch(Event.OnNextClicked) },
|
||||
onBackClick = { dispatch(Event.OnBackClicked) },
|
||||
)
|
||||
},
|
||||
modifier = modifier,
|
||||
) { innerPadding ->
|
||||
OutgoingServerSettingsContent(
|
||||
mode = viewModel.mode,
|
||||
state = state.value,
|
||||
onEvent = { dispatch(it) },
|
||||
contentPadding = innerPadding,
|
||||
)
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,7 @@
|
|||
package app.k9mail.feature.account.server.settings.ui.outgoing
|
||||
|
||||
internal val OutgoingServerSettingsContract.State.isUsernameFieldVisible: Boolean
|
||||
get() = authenticationType.isUsernameRequired
|
||||
|
||||
internal val OutgoingServerSettingsContract.State.isPasswordFieldVisible: Boolean
|
||||
get() = authenticationType.isPasswordRequired
|
||||
|
|
@ -0,0 +1,56 @@
|
|||
package app.k9mail.feature.account.server.settings.ui.outgoing
|
||||
|
||||
import app.k9mail.feature.account.common.domain.entity.AccountState
|
||||
import app.k9mail.feature.account.common.domain.entity.toAuthType
|
||||
import app.k9mail.feature.account.common.domain.entity.toAuthenticationType
|
||||
import app.k9mail.feature.account.common.domain.entity.toConnectionSecurity
|
||||
import app.k9mail.feature.account.common.domain.entity.toMailConnectionSecurity
|
||||
import app.k9mail.feature.account.common.domain.input.NumberInputField
|
||||
import app.k9mail.feature.account.common.domain.input.StringInputField
|
||||
import app.k9mail.feature.account.server.settings.ui.common.toInvalidEmailDomain
|
||||
import app.k9mail.feature.account.server.settings.ui.outgoing.OutgoingServerSettingsContract.State
|
||||
import com.fsck.k9.mail.ServerSettings
|
||||
|
||||
fun AccountState.toOutgoingServerSettingsState(): State {
|
||||
val password = getOutgoingServerPassword()
|
||||
|
||||
return outgoingServerSettings?.toOutgoingServerSettingsState(password)
|
||||
?: State(
|
||||
username = StringInputField(value = emailAddress ?: ""),
|
||||
password = StringInputField(value = password),
|
||||
server = StringInputField(value = emailAddress?.toInvalidEmailDomain() ?: ""),
|
||||
)
|
||||
}
|
||||
|
||||
private fun AccountState.getOutgoingServerPassword(): String {
|
||||
return if (outgoingServerSettings?.authenticationType?.toAuthenticationType()?.isPasswordRequired == false) {
|
||||
""
|
||||
} else {
|
||||
outgoingServerSettings?.password ?: incomingServerSettings?.password ?: ""
|
||||
}
|
||||
}
|
||||
|
||||
private fun ServerSettings.toOutgoingServerSettingsState(password: String): State {
|
||||
return State(
|
||||
server = StringInputField(value = host ?: ""),
|
||||
security = connectionSecurity.toConnectionSecurity(),
|
||||
port = NumberInputField(value = port.toLong()),
|
||||
authenticationType = authenticationType.toAuthenticationType(),
|
||||
username = StringInputField(value = username),
|
||||
password = StringInputField(value = password),
|
||||
clientCertificateAlias = clientCertificateAlias,
|
||||
)
|
||||
}
|
||||
|
||||
internal fun State.toServerSettings(): ServerSettings {
|
||||
return ServerSettings(
|
||||
type = "smtp",
|
||||
host = server.value.trim(),
|
||||
port = port.value!!.toInt(),
|
||||
connectionSecurity = security.toMailConnectionSecurity(),
|
||||
authenticationType = authenticationType.toAuthType(),
|
||||
username = if (authenticationType.isUsernameRequired) username.value.trim() else "",
|
||||
password = if (authenticationType.isPasswordRequired) password.value.trim() else null,
|
||||
clientCertificateAlias = clientCertificateAlias,
|
||||
)
|
||||
}
|
||||
|
|
@ -0,0 +1,30 @@
|
|||
package app.k9mail.feature.account.server.settings.ui.outgoing
|
||||
|
||||
import app.k9mail.feature.account.server.settings.domain.usecase.ValidatePassword
|
||||
import app.k9mail.feature.account.server.settings.domain.usecase.ValidatePort
|
||||
import app.k9mail.feature.account.server.settings.domain.usecase.ValidateServer
|
||||
import app.k9mail.feature.account.server.settings.domain.usecase.ValidateUsername
|
||||
import net.thunderbird.core.common.domain.usecase.validation.ValidationResult
|
||||
|
||||
internal class OutgoingServerSettingsValidator(
|
||||
private val serverValidator: ValidateServer = ValidateServer(),
|
||||
private val portValidator: ValidatePort = ValidatePort(),
|
||||
private val usernameValidator: ValidateUsername = ValidateUsername(),
|
||||
private val passwordValidator: ValidatePassword = ValidatePassword(),
|
||||
) : OutgoingServerSettingsContract.Validator {
|
||||
override fun validateServer(server: String): ValidationResult {
|
||||
return serverValidator.execute(server)
|
||||
}
|
||||
|
||||
override fun validatePort(port: Long?): ValidationResult {
|
||||
return portValidator.execute(port)
|
||||
}
|
||||
|
||||
override fun validateUsername(username: String): ValidationResult {
|
||||
return usernameValidator.execute(username)
|
||||
}
|
||||
|
||||
override fun validatePassword(password: String): ValidationResult {
|
||||
return passwordValidator.execute(password)
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,95 @@
|
|||
package app.k9mail.feature.account.server.settings.ui.outgoing
|
||||
|
||||
import app.k9mail.core.ui.compose.common.mvi.BaseViewModel
|
||||
import app.k9mail.feature.account.common.domain.AccountDomainContract
|
||||
import app.k9mail.feature.account.common.domain.entity.ConnectionSecurity
|
||||
import app.k9mail.feature.account.common.domain.entity.InteractionMode
|
||||
import app.k9mail.feature.account.common.domain.entity.toSmtpDefaultPort
|
||||
import app.k9mail.feature.account.server.settings.ui.outgoing.OutgoingServerSettingsContract.Effect
|
||||
import app.k9mail.feature.account.server.settings.ui.outgoing.OutgoingServerSettingsContract.Event
|
||||
import app.k9mail.feature.account.server.settings.ui.outgoing.OutgoingServerSettingsContract.State
|
||||
import app.k9mail.feature.account.server.settings.ui.outgoing.OutgoingServerSettingsContract.Validator
|
||||
import app.k9mail.feature.account.server.settings.ui.outgoing.OutgoingServerSettingsContract.ViewModel
|
||||
import net.thunderbird.core.common.domain.usecase.validation.ValidationResult
|
||||
|
||||
open class OutgoingServerSettingsViewModel(
|
||||
initialState: State = State(),
|
||||
override val mode: InteractionMode,
|
||||
private val validator: Validator,
|
||||
private val accountStateRepository: AccountDomainContract.AccountStateRepository,
|
||||
) : BaseViewModel<State, Event, Effect>(initialState = initialState), ViewModel {
|
||||
|
||||
override fun event(event: Event) {
|
||||
when (event) {
|
||||
Event.LoadAccountState -> handleOneTimeEvent(event, ::loadAccountState)
|
||||
|
||||
is Event.ServerChanged -> updateState { it.copy(server = it.server.updateValue(event.server)) }
|
||||
is Event.SecurityChanged -> updateSecurity(event.security)
|
||||
is Event.PortChanged -> updateState { it.copy(port = it.port.updateValue(event.port)) }
|
||||
is Event.AuthenticationTypeChanged -> updateState { it.copy(authenticationType = event.authenticationType) }
|
||||
is Event.UsernameChanged -> updateState { it.copy(username = it.username.updateValue(event.username)) }
|
||||
is Event.PasswordChanged -> updateState { it.copy(password = it.password.updateValue(event.password)) }
|
||||
is Event.ClientCertificateChanged -> updateState {
|
||||
it.copy(clientCertificateAlias = event.clientCertificateAlias)
|
||||
}
|
||||
|
||||
Event.OnNextClicked -> onNext()
|
||||
Event.OnBackClicked -> onBack()
|
||||
}
|
||||
}
|
||||
|
||||
protected open fun loadAccountState() {
|
||||
updateState {
|
||||
accountStateRepository.getState().toOutgoingServerSettingsState()
|
||||
}
|
||||
}
|
||||
|
||||
private fun onNext() {
|
||||
submitConfig()
|
||||
}
|
||||
|
||||
private fun updateSecurity(security: ConnectionSecurity) {
|
||||
updateState {
|
||||
it.copy(
|
||||
security = security,
|
||||
port = it.port.updateValue(security.toSmtpDefaultPort()),
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
private fun submitConfig() = with(state.value) {
|
||||
val serverResult = validator.validateServer(server.value)
|
||||
val portResult = validator.validatePort(port.value)
|
||||
val usernameResult = validator.validateUsername(username.value)
|
||||
val passwordResult = if (authenticationType.isPasswordRequired) {
|
||||
validator.validatePassword(password.value)
|
||||
} else {
|
||||
ValidationResult.Success
|
||||
}
|
||||
|
||||
val hasError = listOf(serverResult, portResult, usernameResult, passwordResult)
|
||||
.any { it is ValidationResult.Failure }
|
||||
|
||||
updateState {
|
||||
it.copy(
|
||||
server = it.server.updateFromValidationResult(serverResult),
|
||||
port = it.port.updateFromValidationResult(portResult),
|
||||
username = it.username.updateFromValidationResult(usernameResult),
|
||||
password = it.password.updateFromValidationResult(passwordResult),
|
||||
)
|
||||
}
|
||||
|
||||
if (!hasError) {
|
||||
accountStateRepository.setOutgoingServerSettings(state.value.toServerSettings())
|
||||
navigateNext()
|
||||
}
|
||||
}
|
||||
|
||||
private fun onBack() {
|
||||
navigateBack()
|
||||
}
|
||||
|
||||
private fun navigateBack() = emitEffect(Effect.NavigateBack)
|
||||
|
||||
private fun navigateNext() = emitEffect(Effect.NavigateNext)
|
||||
}
|
||||
|
|
@ -0,0 +1,120 @@
|
|||
package app.k9mail.feature.account.server.settings.ui.outgoing.content
|
||||
|
||||
import android.content.res.Resources
|
||||
import androidx.compose.foundation.layout.Spacer
|
||||
import androidx.compose.foundation.layout.requiredHeight
|
||||
import androidx.compose.foundation.lazy.LazyListScope
|
||||
import androidx.compose.foundation.text.KeyboardOptions
|
||||
import androidx.compose.ui.Modifier
|
||||
import androidx.compose.ui.autofill.ContentType
|
||||
import androidx.compose.ui.res.stringResource
|
||||
import app.k9mail.core.ui.compose.designsystem.molecule.input.NumberInput
|
||||
import app.k9mail.core.ui.compose.designsystem.molecule.input.SelectInput
|
||||
import app.k9mail.core.ui.compose.designsystem.molecule.input.TextInput
|
||||
import app.k9mail.core.ui.compose.theme2.MainTheme
|
||||
import app.k9mail.feature.account.common.domain.entity.AuthenticationType
|
||||
import app.k9mail.feature.account.common.domain.entity.ConnectionSecurity
|
||||
import app.k9mail.feature.account.common.domain.entity.InteractionMode
|
||||
import app.k9mail.feature.account.common.ui.item.defaultItemPadding
|
||||
import app.k9mail.feature.account.server.settings.R
|
||||
import app.k9mail.feature.account.server.settings.ui.common.ClientCertificateInput
|
||||
import app.k9mail.feature.account.server.settings.ui.common.ServerSettingsPasswordInput
|
||||
import app.k9mail.feature.account.server.settings.ui.common.mapper.toResourceString
|
||||
import app.k9mail.feature.account.server.settings.ui.outgoing.OutgoingServerSettingsContract.Event
|
||||
import app.k9mail.feature.account.server.settings.ui.outgoing.OutgoingServerSettingsContract.State
|
||||
import app.k9mail.feature.account.server.settings.ui.outgoing.isPasswordFieldVisible
|
||||
import app.k9mail.feature.account.server.settings.ui.outgoing.isUsernameFieldVisible
|
||||
|
||||
@Suppress("LongMethod")
|
||||
internal fun LazyListScope.outgoingFormItems(
|
||||
mode: InteractionMode,
|
||||
state: State,
|
||||
onEvent: (Event) -> Unit,
|
||||
resources: Resources,
|
||||
) {
|
||||
item {
|
||||
Spacer(modifier = Modifier.requiredHeight(MainTheme.sizes.smaller))
|
||||
}
|
||||
|
||||
item {
|
||||
TextInput(
|
||||
text = state.server.value,
|
||||
errorMessage = state.server.error?.toResourceString(resources),
|
||||
onTextChange = { onEvent(Event.ServerChanged(it)) },
|
||||
label = stringResource(id = R.string.account_server_settings_server_label),
|
||||
isRequired = true,
|
||||
contentPadding = defaultItemPadding(),
|
||||
keyboardOptions = KeyboardOptions(autoCorrect = false),
|
||||
)
|
||||
}
|
||||
|
||||
item {
|
||||
SelectInput(
|
||||
options = ConnectionSecurity.all(),
|
||||
optionToStringTransformation = { it.toResourceString(resources) },
|
||||
selectedOption = state.security,
|
||||
onOptionChange = { onEvent(Event.SecurityChanged(it)) },
|
||||
label = stringResource(id = R.string.account_server_settings_security_label),
|
||||
contentPadding = defaultItemPadding(),
|
||||
)
|
||||
}
|
||||
|
||||
item {
|
||||
NumberInput(
|
||||
value = state.port.value,
|
||||
errorMessage = state.port.error?.toResourceString(resources),
|
||||
onValueChange = { onEvent(Event.PortChanged(it)) },
|
||||
label = stringResource(id = R.string.account_server_settings_port_label),
|
||||
isRequired = true,
|
||||
contentPadding = defaultItemPadding(),
|
||||
)
|
||||
}
|
||||
|
||||
item {
|
||||
SelectInput(
|
||||
options = AuthenticationType.outgoing(),
|
||||
optionToStringTransformation = { it.toResourceString(resources) },
|
||||
selectedOption = state.authenticationType,
|
||||
onOptionChange = { onEvent(Event.AuthenticationTypeChanged(it)) },
|
||||
label = stringResource(id = R.string.account_server_settings_authentication_label),
|
||||
contentPadding = defaultItemPadding(),
|
||||
)
|
||||
}
|
||||
|
||||
if (state.isUsernameFieldVisible) {
|
||||
item {
|
||||
TextInput(
|
||||
text = state.username.value,
|
||||
errorMessage = state.username.error?.toResourceString(resources),
|
||||
onTextChange = { onEvent(Event.UsernameChanged(it)) },
|
||||
label = stringResource(id = R.string.account_server_settings_username_label),
|
||||
isRequired = true,
|
||||
contentPadding = defaultItemPadding(),
|
||||
keyboardOptions = KeyboardOptions(autoCorrect = false),
|
||||
contentType = ContentType.Username + ContentType.EmailAddress,
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
if (state.isPasswordFieldVisible) {
|
||||
item {
|
||||
ServerSettingsPasswordInput(
|
||||
mode = mode,
|
||||
password = state.password.value,
|
||||
errorMessage = state.password.error?.toResourceString(resources),
|
||||
onPasswordChange = { onEvent(Event.PasswordChanged(it)) },
|
||||
isRequired = true,
|
||||
contentPadding = defaultItemPadding(),
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
item {
|
||||
ClientCertificateInput(
|
||||
alias = state.clientCertificateAlias,
|
||||
onValueChange = { onEvent(Event.ClientCertificateChanged(it)) },
|
||||
label = stringResource(id = R.string.account_server_settings_client_certificate_label),
|
||||
contentPadding = defaultItemPadding(),
|
||||
)
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,2 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources></resources>
|
||||
|
|
@ -0,0 +1,35 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<string name="account_server_settings_validation_error_imap_prefix_blank">لا يمكن أن تكون بادئة IMAP فارغة.</string>
|
||||
<string name="account_server_settings_protocol_type_label">البروتوكول</string>
|
||||
<string name="account_server_settings_server_label">الخادم</string>
|
||||
<string name="account_server_settings_security_label">الحماية</string>
|
||||
<string name="account_server_settings_port_label">المنفذ</string>
|
||||
<string name="account_server_settings_authentication_label">المصادقة</string>
|
||||
<string name="account_server_settings_connection_security_start_tls">StartTLS</string>
|
||||
<string name="account_server_settings_connection_security_ssl">SSL/TLS</string>
|
||||
<string name="account_server_settings_authentication_password_cleartext">كلمة المرور العادية</string>
|
||||
<string name="account_server_settings_authentication_password_encrypted">كلمة المرور مشفرة</string>
|
||||
<string name="account_server_settings_authentication_client_certificate">شهادة العميل</string>
|
||||
<string name="account_server_settings_authentication_client_oauth">OAuth 2.0</string>
|
||||
<string name="account_server_settings_client_certificate_label">شهادة العميل</string>
|
||||
<string name="account_server_settings_incoming_imap_namespace_label">التعرف التلقائي على مساحة اسم IMAP</string>
|
||||
<string name="account_server_settings_incoming_imap_prefix_label">بادئة مسار IMAP</string>
|
||||
<string name="account_server_settings_incoming_imap_compression_label">استخدام تقنية الضغط</string>
|
||||
<string name="account_server_settings_username_label">اسم المستخدم</string>
|
||||
<string name="account_server_settings_client_certificate_none_selected">بدون</string>
|
||||
<string name="account_server_settings_authentication_none">بدون</string>
|
||||
<string name="account_server_settings_incoming_top_bar_title">إعدادات خادم البريد الوارد</string>
|
||||
<string name="account_server_settings_connection_security_none">بدون</string>
|
||||
<string name="account_server_settings_validation_error_username_required">يُرجى ادخال اسم المستخدم.</string>
|
||||
<string name="account_server_settings_validation_error_password_required">يُرجى إدخال كلمة المرور.</string>
|
||||
<string name="account_server_settings_outgoing_top_bar_title">إعدادات خادم البريد الصادر</string>
|
||||
<string name="account_server_settings_validation_error_server_required">يُرجى ادخال اسم الخادم.</string>
|
||||
<string name="account_server_settings_validation_error_port_required">يُرجى ادخال المنفذ.</string>
|
||||
<string name="account_server_settings_validation_error_port_invalid">المنفذ غير صالح (يجب أن يكون من 1 إلى 65535).</string>
|
||||
<string name="account_server_settings_password_authentication_title">إثبات هويتك</string>
|
||||
<string name="account_server_settings_password_authentication_subtitle">افتح القفل لعرض كلمة المرور الخاصة بك</string>
|
||||
<string name="account_server_settings_password_authentication_screen_lock_required">لعرض كلمة المرور الخاصة بك هنا، قم بتفعيل قفل الشاشة على هذا الجهاز.</string>
|
||||
<string name="account_server_settings_incoming_imap_send_client_info_label">إرسال معلومات العميل</string>
|
||||
<string name="account_server_settings_validation_error_server_invalid_ip_or_hostname">عنوان الـ IP أو اسم المضيف غير صالح</string>
|
||||
</resources>
|
||||
|
|
@ -0,0 +1,2 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources></resources>
|
||||
|
|
@ -0,0 +1,2 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources></resources>
|
||||
|
|
@ -0,0 +1,5 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<string name="account_server_settings_protocol_type_label">Пратакол</string>
|
||||
<string name="account_server_settings_server_label">Сервер</string>
|
||||
</resources>
|
||||
|
|
@ -0,0 +1,35 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<string name="account_server_settings_validation_error_server_required">Името на сървъра е задължително поле.</string>
|
||||
<string name="account_server_settings_validation_error_username_required">Потребителското име е задължително.</string>
|
||||
<string name="account_server_settings_outgoing_top_bar_title">Настройки на изходящ сървър</string>
|
||||
<string name="account_server_settings_validation_error_password_required">Паролата е задължителна.</string>
|
||||
<string name="account_server_settings_authentication_client_oauth">OAuth 2.0</string>
|
||||
<string name="account_server_settings_authentication_none">Никаква</string>
|
||||
<string name="account_server_settings_authentication_password_encrypted">Шифрована парола</string>
|
||||
<string name="account_server_settings_incoming_imap_namespace_label">Автоматично намиране на IMAP пространство</string>
|
||||
<string name="account_server_settings_incoming_top_bar_title">Настройки на входящ сървър</string>
|
||||
<string name="account_server_settings_authentication_password_cleartext">Обикновена парола</string>
|
||||
<string name="account_server_settings_authentication_label">Удостоверяване</string>
|
||||
<string name="account_server_settings_connection_security_none">Няма</string>
|
||||
<string name="account_server_settings_port_label">Порт</string>
|
||||
<string name="account_server_settings_incoming_imap_compression_label">Използвай компресия</string>
|
||||
<string name="account_server_settings_validation_error_port_required">Порт е задължително поле.</string>
|
||||
<string name="account_server_settings_authentication_client_certificate">Клиентски сертификат</string>
|
||||
<string name="account_server_settings_incoming_imap_prefix_label">IMAP префикс на пътя</string>
|
||||
<string name="account_server_settings_connection_security_ssl">SSL/TLS</string>
|
||||
<string name="account_server_settings_protocol_type_label">Протокол</string>
|
||||
<string name="account_server_settings_password_authentication_subtitle">Отключете за да видите паролата си</string>
|
||||
<string name="account_server_settings_username_label">Потребителско име</string>
|
||||
<string name="account_server_settings_validation_error_port_invalid">Номерът на порта е невалиден (трябва да е в интервала 1-65535).</string>
|
||||
<string name="account_server_settings_connection_security_start_tls">StartTLS</string>
|
||||
<string name="account_server_settings_client_certificate_label">Клиентски сертификат</string>
|
||||
<string name="account_server_settings_validation_error_imap_prefix_blank">IMAP префиксът не може да е празен.</string>
|
||||
<string name="account_server_settings_client_certificate_none_selected">Не е избран</string>
|
||||
<string name="account_server_settings_server_label">Сървър</string>
|
||||
<string name="account_server_settings_security_label">Защита</string>
|
||||
<string name="account_server_settings_password_authentication_title">Потвърдете самоличността си</string>
|
||||
<string name="account_server_settings_password_authentication_screen_lock_required">За да видите паролата си тук, включете заключването на екрана на това устройство.</string>
|
||||
<string name="account_server_settings_incoming_imap_send_client_info_label">Изпращане на информация до клиента</string>
|
||||
<string name="account_server_settings_validation_error_server_invalid_ip_or_hostname">Невалиден IP адрес или име на хост</string>
|
||||
</resources>
|
||||
|
|
@ -0,0 +1,2 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources></resources>
|
||||
|
|
@ -0,0 +1,5 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<string name="account_server_settings_protocol_type_label">Fazi gant ar c\'homenad</string>
|
||||
<string name="account_server_settings_server_label">Dafariad</string>
|
||||
</resources>
|
||||
|
|
@ -0,0 +1,34 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<string name="account_server_settings_protocol_type_label">Protokol</string>
|
||||
<string name="account_server_settings_server_label">Server</string>
|
||||
<string name="account_server_settings_port_label">Port</string>
|
||||
<string name="account_server_settings_authentication_label">Autentikacija</string>
|
||||
<string name="account_server_settings_connection_security_none">Nema</string>
|
||||
<string name="account_server_settings_connection_security_start_tls">StartTLS</string>
|
||||
<string name="account_server_settings_authentication_client_certificate">Sertifikat klijenta</string>
|
||||
<string name="account_server_settings_authentication_client_oauth">OAuth 2.0</string>
|
||||
<string name="account_server_settings_connection_security_ssl">SSL/TLS</string>
|
||||
<string name="account_server_settings_authentication_none">Nema</string>
|
||||
<string name="account_server_settings_authentication_password_cleartext">Uobičajena lozinka</string>
|
||||
<string name="account_server_settings_authentication_password_encrypted">Enkriptovana lozinka</string>
|
||||
<string name="account_server_settings_client_certificate_none_selected">Nema</string>
|
||||
<string name="account_server_settings_client_certificate_label">Sertifikat klijenta</string>
|
||||
<string name="account_server_settings_incoming_top_bar_title">Postavke dolazećeg servera</string>
|
||||
<string name="account_server_settings_incoming_imap_namespace_label">Automatsko otkrivanje IMAP imenskog prostora</string>
|
||||
<string name="account_server_settings_incoming_imap_prefix_label">Prefiks IMAP putanje</string>
|
||||
<string name="account_server_settings_incoming_imap_compression_label">Koristi kompresiju podataka</string>
|
||||
<string name="account_server_settings_outgoing_top_bar_title">Postavke odlazećeg servera</string>
|
||||
<string name="account_server_settings_validation_error_server_invalid_ip_or_hostname">Nevažeća IP adresa ili ime hosta</string>
|
||||
<string name="account_server_settings_validation_error_port_required">Port je neophodan.</string>
|
||||
<string name="account_server_settings_validation_error_port_invalid">Port nije važeći (mora biti od 1 do 65535).</string>
|
||||
<string name="account_server_settings_validation_error_username_required">Korisničko ime je neophodno.</string>
|
||||
<string name="account_server_settings_validation_error_password_required">Lozinka je neophodna.</string>
|
||||
<string name="account_server_settings_validation_error_imap_prefix_blank">IMAP prefiks ne može biti prazan.</string>
|
||||
<string name="account_server_settings_password_authentication_title">Verifikujte svoj identitet</string>
|
||||
<string name="account_server_settings_password_authentication_subtitle">Otključajte da bi lozinka bila prikazana</string>
|
||||
<string name="account_server_settings_security_label">Sigurnost</string>
|
||||
<string name="account_server_settings_username_label">Korisničko ime</string>
|
||||
<string name="account_server_settings_validation_error_server_required">Ime servera je neophodno.</string>
|
||||
<string name="account_server_settings_password_authentication_screen_lock_required">Da bi vidjeli lozinku ovde, omogućite zaključavanje ekrana na ovom uređaju.</string>
|
||||
</resources>
|
||||
|
|
@ -0,0 +1,35 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<string name="account_server_settings_validation_error_server_required">El nom del servidor és obligatori.</string>
|
||||
<string name="account_server_settings_validation_error_username_required">Cal el nom d\'usuari.</string>
|
||||
<string name="account_server_settings_outgoing_top_bar_title">Configuració del servidor de sortida</string>
|
||||
<string name="account_server_settings_validation_error_password_required">Cal la contrasenya.</string>
|
||||
<string name="account_server_settings_authentication_client_oauth">OAuth 2.0</string>
|
||||
<string name="account_server_settings_authentication_none">Cap</string>
|
||||
<string name="account_server_settings_authentication_password_encrypted">Contrasenya encriptada</string>
|
||||
<string name="account_server_settings_incoming_imap_namespace_label">Detecció automàtica de l\'espai de noms IMAP</string>
|
||||
<string name="account_server_settings_incoming_top_bar_title">Configuració del servidor d\'entrada</string>
|
||||
<string name="account_server_settings_authentication_password_cleartext">Contrasenya normal</string>
|
||||
<string name="account_server_settings_authentication_label">Autenticació</string>
|
||||
<string name="account_server_settings_connection_security_none">Cap</string>
|
||||
<string name="account_server_settings_port_label">Port</string>
|
||||
<string name="account_server_settings_incoming_imap_compression_label">Utilitza compressió</string>
|
||||
<string name="account_server_settings_validation_error_port_required">El port és obligatori.</string>
|
||||
<string name="account_server_settings_authentication_client_certificate">Certificat del client</string>
|
||||
<string name="account_server_settings_incoming_imap_prefix_label">Prefix del camí IMAP</string>
|
||||
<string name="account_server_settings_connection_security_ssl">SSL/TLS</string>
|
||||
<string name="account_server_settings_protocol_type_label">Protocol</string>
|
||||
<string name="account_server_settings_username_label">Nom d\'usuari</string>
|
||||
<string name="account_server_settings_validation_error_port_invalid">El port no és vàlid (ha de ser 1–65535).</string>
|
||||
<string name="account_server_settings_connection_security_start_tls">StartTLS</string>
|
||||
<string name="account_server_settings_client_certificate_label">Certificat del client</string>
|
||||
<string name="account_server_settings_validation_error_imap_prefix_blank">El prefix IMAP no pot estar en blanc.</string>
|
||||
<string name="account_server_settings_client_certificate_none_selected">Cap</string>
|
||||
<string name="account_server_settings_server_label">Servidor</string>
|
||||
<string name="account_server_settings_security_label">Seguretat</string>
|
||||
<string name="account_server_settings_password_authentication_title">Verifiqueu la vostra identitat</string>
|
||||
<string name="account_server_settings_password_authentication_subtitle">Desbloqueu-ho per veure la contrasenya</string>
|
||||
<string name="account_server_settings_password_authentication_screen_lock_required">Per veure la contrasenya aquí, activeu el bloqueig de pantalla en aquest dispositiu.</string>
|
||||
<string name="account_server_settings_validation_error_server_invalid_ip_or_hostname">IP o nom d\'amfitrió no vàlids</string>
|
||||
<string name="account_server_settings_incoming_imap_send_client_info_label">Envia informació del client</string>
|
||||
</resources>
|
||||
|
|
@ -0,0 +1,35 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<string name="account_server_settings_security_label">Sicurità</string>
|
||||
<string name="account_server_settings_authentication_password_encrypted">Parolle d’intesa cifrata</string>
|
||||
<string name="account_server_settings_authentication_client_certificate">Certificatu di u cliente</string>
|
||||
<string name="account_server_settings_client_certificate_none_selected">Nisunu</string>
|
||||
<string name="account_server_settings_incoming_imap_namespace_label">Scuperta autumatica di u spaziu di nome IMAP</string>
|
||||
<string name="account_server_settings_incoming_imap_compression_label">Impiegà a cumpressione</string>
|
||||
<string name="account_server_settings_validation_error_username_required">U nome d’utilizatore hè richiestu.</string>
|
||||
<string name="account_server_settings_validation_error_password_required">A parolla d’intesa hè richiesta.</string>
|
||||
<string name="account_server_settings_password_authentication_title">Verificà a vostra identità</string>
|
||||
<string name="account_server_settings_client_certificate_label">Certificatu di u cliente</string>
|
||||
<string name="account_server_settings_incoming_top_bar_title">Parametri di u servitore d’entrata</string>
|
||||
<string name="account_server_settings_authentication_label">Autenticazione</string>
|
||||
<string name="account_server_settings_username_label">Nome d’utilizatore</string>
|
||||
<string name="account_server_settings_protocol_type_label">Protocollu</string>
|
||||
<string name="account_server_settings_server_label">Servitore</string>
|
||||
<string name="account_server_settings_port_label">Portu</string>
|
||||
<string name="account_server_settings_connection_security_none">Nisuna</string>
|
||||
<string name="account_server_settings_connection_security_start_tls">StartTLS</string>
|
||||
<string name="account_server_settings_connection_security_ssl">SSL/TLS</string>
|
||||
<string name="account_server_settings_authentication_none">Nisuna</string>
|
||||
<string name="account_server_settings_authentication_password_cleartext">Parolla d’intesa nurmale</string>
|
||||
<string name="account_server_settings_authentication_client_oauth">OAuth 2.0</string>
|
||||
<string name="account_server_settings_incoming_imap_prefix_label">Prefissu di u chjassu IMAP</string>
|
||||
<string name="account_server_settings_incoming_imap_send_client_info_label">Mandà l’infurmazione di u cliente</string>
|
||||
<string name="account_server_settings_outgoing_top_bar_title">Parametri di u servitore d’esciuta</string>
|
||||
<string name="account_server_settings_validation_error_server_invalid_ip_or_hostname">Indirizzu IP o nome d’ospite inaccettevule</string>
|
||||
<string name="account_server_settings_validation_error_port_required">U portu hè richiestu.</string>
|
||||
<string name="account_server_settings_validation_error_server_required">U nome di u servitore hè richiestu.</string>
|
||||
<string name="account_server_settings_validation_error_port_invalid">U portu hè inaccettevule (deve esse trà 1 è 65535).</string>
|
||||
<string name="account_server_settings_validation_error_imap_prefix_blank">U prefissu IMAP ùn pò micca esse viotu.</string>
|
||||
<string name="account_server_settings_password_authentication_subtitle">Spalancate per affissà a vostra parolla d’intesa</string>
|
||||
<string name="account_server_settings_password_authentication_screen_lock_required">Per affissà quì a vostra parolla d’intesa, attivate l’ammarchjunata di u screnu nant’à st’apparechju.</string>
|
||||
</resources>
|
||||
|
|
@ -0,0 +1,35 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<string name="account_server_settings_validation_error_server_required">Název serveru je vyžadován.</string>
|
||||
<string name="account_server_settings_validation_error_username_required">Uživatelské jméno je vyžadováno.</string>
|
||||
<string name="account_server_settings_outgoing_top_bar_title">Nastavení serveru odchozí pošty</string>
|
||||
<string name="account_server_settings_validation_error_password_required">Heslo je vyžadováno.</string>
|
||||
<string name="account_server_settings_authentication_client_oauth">OAuth 2.0</string>
|
||||
<string name="account_server_settings_authentication_none">Žádný</string>
|
||||
<string name="account_server_settings_authentication_password_encrypted">Šifrované heslo</string>
|
||||
<string name="account_server_settings_incoming_imap_namespace_label">Zjistit jmenný prostor IMAP automaticky</string>
|
||||
<string name="account_server_settings_incoming_top_bar_title">Nastavení serveru příchozí pošty</string>
|
||||
<string name="account_server_settings_authentication_password_cleartext">Normální heslo</string>
|
||||
<string name="account_server_settings_password_authentication_title">Ověřte svou identitu</string>
|
||||
<string name="account_server_settings_authentication_label">Autentifikace</string>
|
||||
<string name="account_server_settings_connection_security_none">Žádné</string>
|
||||
<string name="account_server_settings_port_label">Port</string>
|
||||
<string name="account_server_settings_incoming_imap_compression_label">Komprimovat</string>
|
||||
<string name="account_server_settings_validation_error_port_required">Port je vyžadován.</string>
|
||||
<string name="account_server_settings_authentication_client_certificate">Klientský certifikát</string>
|
||||
<string name="account_server_settings_incoming_imap_prefix_label">Předpona cesty IMAP</string>
|
||||
<string name="account_server_settings_connection_security_ssl">SSL/TLS</string>
|
||||
<string name="account_server_settings_protocol_type_label">Protokol</string>
|
||||
<string name="account_server_settings_password_authentication_subtitle">Pokud chcete vidět své heslo, odemkněte</string>
|
||||
<string name="account_server_settings_username_label">Uživatelské jméno</string>
|
||||
<string name="account_server_settings_validation_error_port_invalid">Port je neplatný (musí být 1–65535).</string>
|
||||
<string name="account_server_settings_connection_security_start_tls">StartTLS</string>
|
||||
<string name="account_server_settings_client_certificate_label">Klientský certifikát</string>
|
||||
<string name="account_server_settings_validation_error_imap_prefix_blank">Předpona IMAP nemůže být prázdná.</string>
|
||||
<string name="account_server_settings_client_certificate_none_selected">Žádný</string>
|
||||
<string name="account_server_settings_password_authentication_screen_lock_required">Pokud si zde chcete zobrazit své heslo, zapněte zamykání obrazovky tohoto zařízení.</string>
|
||||
<string name="account_server_settings_server_label">Server</string>
|
||||
<string name="account_server_settings_security_label">Zabezpečení</string>
|
||||
<string name="account_server_settings_validation_error_server_invalid_ip_or_hostname">Neplatná IP adresa nebo název hostitele</string>
|
||||
<string name="account_server_settings_incoming_imap_send_client_info_label">Odeslat informace o klientovi</string>
|
||||
</resources>
|
||||
|
|
@ -0,0 +1,2 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources></resources>
|
||||
|
|
@ -0,0 +1,26 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<string name="account_server_settings_validation_error_server_required">Server navn er påkrævet.</string>
|
||||
<string name="account_server_settings_validation_error_username_required">Brugernavn er påkrævet.</string>
|
||||
<string name="account_server_settings_outgoing_top_bar_title">Udgående serverindstillinger</string>
|
||||
<string name="account_server_settings_validation_error_password_required">Adgangskode er påkrævet.</string>
|
||||
<string name="account_server_settings_authentication_client_oauth">OAuth 2.0</string>
|
||||
<string name="account_server_settings_authentication_none">Ingen</string>
|
||||
<string name="account_server_settings_authentication_password_encrypted">Krypteret adgangskode</string>
|
||||
<string name="account_server_settings_incoming_imap_namespace_label">Autodektér IMAP navneområde</string>
|
||||
<string name="account_server_settings_incoming_top_bar_title">Indgående serverindstillinger</string>
|
||||
<string name="account_server_settings_authentication_password_cleartext">Normal adgangskode</string>
|
||||
<string name="account_server_settings_connection_security_none">Ingen</string>
|
||||
<string name="account_server_settings_port_label">Port</string>
|
||||
<string name="account_server_settings_validation_error_port_required">Port er påkrævet.</string>
|
||||
<string name="account_server_settings_authentication_client_certificate">Klient certifikat</string>
|
||||
<string name="account_server_settings_connection_security_ssl">SSL/TLS</string>
|
||||
<string name="account_server_settings_protocol_type_label">Protokol</string>
|
||||
<string name="account_server_settings_username_label">Brugernavn</string>
|
||||
<string name="account_server_settings_validation_error_port_invalid">Port er ugyldig (skal være mellem 1-65535).</string>
|
||||
<string name="account_server_settings_connection_security_start_tls">StartTLS</string>
|
||||
<string name="account_server_settings_client_certificate_label">Klient certifikat</string>
|
||||
<string name="account_server_settings_client_certificate_none_selected">Ingen</string>
|
||||
<string name="account_server_settings_server_label">Server</string>
|
||||
<string name="account_server_settings_security_label">Sikkerhed</string>
|
||||
</resources>
|
||||
|
|
@ -0,0 +1,35 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<string name="account_server_settings_validation_error_server_required">Servername ist erforderlich.</string>
|
||||
<string name="account_server_settings_validation_error_username_required">Benutzername ist erforderlich.</string>
|
||||
<string name="account_server_settings_outgoing_top_bar_title">Einstellungen des Postausgangsservers</string>
|
||||
<string name="account_server_settings_validation_error_password_required">Passwort ist erforderlich.</string>
|
||||
<string name="account_server_settings_authentication_client_oauth">OAuth 2.0</string>
|
||||
<string name="account_server_settings_authentication_none">Keine</string>
|
||||
<string name="account_server_settings_authentication_password_encrypted">Verschlüsseltes Passwort</string>
|
||||
<string name="account_server_settings_incoming_imap_namespace_label">IMAP-Namensraum automatisch ermitteln</string>
|
||||
<string name="account_server_settings_incoming_top_bar_title">Einstellungen des Posteingangsservers</string>
|
||||
<string name="account_server_settings_authentication_password_cleartext">Normales Passwort</string>
|
||||
<string name="account_server_settings_authentication_label">Authentifizierung</string>
|
||||
<string name="account_server_settings_connection_security_none">Keine</string>
|
||||
<string name="account_server_settings_port_label">Port</string>
|
||||
<string name="account_server_settings_incoming_imap_compression_label">Komprimierung verwenden</string>
|
||||
<string name="account_server_settings_validation_error_port_required">Port ist erforderlich.</string>
|
||||
<string name="account_server_settings_authentication_client_certificate">Client-Zertifikat</string>
|
||||
<string name="account_server_settings_incoming_imap_prefix_label">Präfix für IMAP-Pfad</string>
|
||||
<string name="account_server_settings_connection_security_ssl">SSL/TLS</string>
|
||||
<string name="account_server_settings_protocol_type_label">Protokoll</string>
|
||||
<string name="account_server_settings_username_label">Benutzername</string>
|
||||
<string name="account_server_settings_validation_error_port_invalid">Der Port ist ungültig (muss 1–65535 sein).</string>
|
||||
<string name="account_server_settings_connection_security_start_tls">StartTLS</string>
|
||||
<string name="account_server_settings_client_certificate_label">Client-Zertifikat</string>
|
||||
<string name="account_server_settings_validation_error_imap_prefix_blank">Präfix für IMAP darf nicht leer sein.</string>
|
||||
<string name="account_server_settings_client_certificate_none_selected">Kein</string>
|
||||
<string name="account_server_settings_server_label">Server</string>
|
||||
<string name="account_server_settings_security_label">Sicherheit</string>
|
||||
<string name="account_server_settings_password_authentication_title">Deine Identität bestätigen</string>
|
||||
<string name="account_server_settings_password_authentication_subtitle">Entsperren, um dein Passwort anzuzeigen</string>
|
||||
<string name="account_server_settings_password_authentication_screen_lock_required">Um dein Passwort hier anzuzeigen, aktiviere die Displaysperre auf diesem Gerät.</string>
|
||||
<string name="account_server_settings_validation_error_server_invalid_ip_or_hostname">Ungültige IP oder ungültiger Hostname</string>
|
||||
<string name="account_server_settings_incoming_imap_send_client_info_label">Client-Informationen senden</string>
|
||||
</resources>
|
||||
|
|
@ -0,0 +1,35 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<string name="account_server_settings_authentication_none">Καμία</string>
|
||||
<string name="account_server_settings_authentication_password_encrypted">Κρυπτογραφημένος κωδικός πρόσβασης</string>
|
||||
<string name="account_server_settings_incoming_imap_namespace_label">Αυτόματος εντοπισμός χώρου ονομάτων IMAP</string>
|
||||
<string name="account_server_settings_authentication_password_cleartext">Κανονικός κωδικός πρόσβασης</string>
|
||||
<string name="account_server_settings_authentication_label">Ταυτοποίηση</string>
|
||||
<string name="account_server_settings_connection_security_none">Καμία</string>
|
||||
<string name="account_server_settings_port_label">Θύρα</string>
|
||||
<string name="account_server_settings_authentication_client_certificate">Πιστοποητικό πελάτη</string>
|
||||
<string name="account_server_settings_protocol_type_label">Πρωτόκολλο</string>
|
||||
<string name="account_server_settings_username_label">Όνομα χρήστη</string>
|
||||
<string name="account_server_settings_client_certificate_label">Πιστοποιητικό πελάτη</string>
|
||||
<string name="account_server_settings_client_certificate_none_selected">Κανένα</string>
|
||||
<string name="account_server_settings_server_label">Διακομιστής</string>
|
||||
<string name="account_server_settings_security_label">Ασφάλεια</string>
|
||||
<string name="account_server_settings_incoming_imap_send_client_info_label">Αποστολή πληροφοριών πελάτη</string>
|
||||
<string name="account_server_settings_connection_security_start_tls">StartTLS</string>
|
||||
<string name="account_server_settings_connection_security_ssl">SSL/TLS</string>
|
||||
<string name="account_server_settings_authentication_client_oauth">OAuth 2.0</string>
|
||||
<string name="account_server_settings_validation_error_username_required">Το όνομα χρήστη είναι υποχρεωτικό.</string>
|
||||
<string name="account_server_settings_validation_error_password_required">Ο κωδικός πρόσβασης είναι υποχρεωτικός.</string>
|
||||
<string name="account_server_settings_validation_error_imap_prefix_blank">Το πρόθεμα IMAP δεν μπορεί να είναι κενό.</string>
|
||||
<string name="account_server_settings_incoming_top_bar_title">Ρυθμίσεις διακομιστή εισερχομένων</string>
|
||||
<string name="account_server_settings_incoming_imap_prefix_label">Πρόθεμα διαδρομής IMAP</string>
|
||||
<string name="account_server_settings_incoming_imap_compression_label">Χρήση συμπίεσης</string>
|
||||
<string name="account_server_settings_outgoing_top_bar_title">Ρυθμίσεις διακομιστή εξερχομένων</string>
|
||||
<string name="account_server_settings_validation_error_server_required">Το όνομα διακομιστή είναι υποχρεωτικό.</string>
|
||||
<string name="account_server_settings_validation_error_port_required">Η θύρα είναι υποχρεωτική.</string>
|
||||
<string name="account_server_settings_validation_error_port_invalid">Η θύρα δεν είναι έγκυρη (πρέπει να είναι 1-65535).</string>
|
||||
<string name="account_server_settings_password_authentication_title">Επαληθεύστε την ταυτότητά σας</string>
|
||||
<string name="account_server_settings_password_authentication_subtitle">Ξεκλειδώστε για να δείτε τον κωδικό πρόσβασής σας</string>
|
||||
<string name="account_server_settings_validation_error_server_invalid_ip_or_hostname">Μη έγκυρη IP ή όνομα κεντρικού υπολογιστή</string>
|
||||
<string name="account_server_settings_password_authentication_screen_lock_required">Για να δείτε τον κωδικό πρόσβασής σας εδώ, ενεργοποιήστε το κλείδωμα οθόνης της συσκευής.</string>
|
||||
</resources>
|
||||
|
|
@ -0,0 +1,35 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<string name="account_server_settings_validation_error_server_required">Server name is required.</string>
|
||||
<string name="account_server_settings_validation_error_username_required">Username is required.</string>
|
||||
<string name="account_server_settings_outgoing_top_bar_title">Outgoing server settings</string>
|
||||
<string name="account_server_settings_validation_error_password_required">Password is required.</string>
|
||||
<string name="account_server_settings_authentication_client_oauth">OAuth 2.0</string>
|
||||
<string name="account_server_settings_authentication_none">None</string>
|
||||
<string name="account_server_settings_authentication_password_encrypted">Encrypted password</string>
|
||||
<string name="account_server_settings_incoming_imap_namespace_label">Auto-detect IMAP namespace</string>
|
||||
<string name="account_server_settings_incoming_top_bar_title">Incoming server settings</string>
|
||||
<string name="account_server_settings_authentication_password_cleartext">Normal password</string>
|
||||
<string name="account_server_settings_password_authentication_title">Verify your identity</string>
|
||||
<string name="account_server_settings_authentication_label">Authentication</string>
|
||||
<string name="account_server_settings_connection_security_none">None</string>
|
||||
<string name="account_server_settings_port_label">Port</string>
|
||||
<string name="account_server_settings_incoming_imap_compression_label">Use compression</string>
|
||||
<string name="account_server_settings_validation_error_port_required">Port is required.</string>
|
||||
<string name="account_server_settings_authentication_client_certificate">Client certificate</string>
|
||||
<string name="account_server_settings_incoming_imap_prefix_label">IMAP path prefix</string>
|
||||
<string name="account_server_settings_connection_security_ssl">SSL/TLS</string>
|
||||
<string name="account_server_settings_protocol_type_label">Protocol</string>
|
||||
<string name="account_server_settings_password_authentication_subtitle">Unlock to view your password</string>
|
||||
<string name="account_server_settings_username_label">Username</string>
|
||||
<string name="account_server_settings_validation_error_port_invalid">Port is invalid (must be 1–65535).</string>
|
||||
<string name="account_server_settings_connection_security_start_tls">StartTLS</string>
|
||||
<string name="account_server_settings_client_certificate_label">Client certificate</string>
|
||||
<string name="account_server_settings_validation_error_imap_prefix_blank">IMAP prefix can\'t be blank.</string>
|
||||
<string name="account_server_settings_client_certificate_none_selected">None</string>
|
||||
<string name="account_server_settings_password_authentication_screen_lock_required">To view your password here, enable screen lock on this device.</string>
|
||||
<string name="account_server_settings_server_label">Server</string>
|
||||
<string name="account_server_settings_security_label">Security</string>
|
||||
<string name="account_server_settings_validation_error_server_invalid_ip_or_hostname">Invalid IP or hostname</string>
|
||||
<string name="account_server_settings_incoming_imap_send_client_info_label">Send client information</string>
|
||||
</resources>
|
||||
|
|
@ -0,0 +1,2 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources></resources>
|
||||
|
|
@ -0,0 +1,34 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<string name="account_server_settings_connection_security_start_tls">StartTLS</string>
|
||||
<string name="account_server_settings_connection_security_ssl">SSL/TLS</string>
|
||||
<string name="account_server_settings_authentication_none">Nenio</string>
|
||||
<string name="account_server_settings_authentication_password_cleartext">Ordinara pasvorto</string>
|
||||
<string name="account_server_settings_authentication_password_encrypted">Ĉifrita pasvorto</string>
|
||||
<string name="account_server_settings_password_authentication_title">Konfirmu vian identecon</string>
|
||||
<string name="account_server_settings_password_authentication_screen_lock_required">Por vidi vian pasvorton tie, aktivigu ekranan ŝlocecon en tiu aparato.</string>
|
||||
<string name="account_server_settings_password_authentication_subtitle">Malŝlosu por vidi vian pasvorton</string>
|
||||
<string name="account_server_settings_incoming_imap_send_client_info_label">Sendi klientajn informojn</string>
|
||||
<string name="account_server_settings_protocol_type_label">Protokolo</string>
|
||||
<string name="account_server_settings_server_label">Servilo</string>
|
||||
<string name="account_server_settings_security_label">Sekureco</string>
|
||||
<string name="account_server_settings_port_label">Pordo</string>
|
||||
<string name="account_server_settings_authentication_label">Aŭtentokontrolo</string>
|
||||
<string name="account_server_settings_username_label">Uzanta nomo</string>
|
||||
<string name="account_server_settings_connection_security_none">Nenia</string>
|
||||
<string name="account_server_settings_authentication_client_certificate">Klienta atestilo</string>
|
||||
<string name="account_server_settings_authentication_client_oauth">OAuth 2.0</string>
|
||||
<string name="account_server_settings_client_certificate_none_selected">Neniu</string>
|
||||
<string name="account_server_settings_client_certificate_label">Klienta atestilo</string>
|
||||
<string name="account_server_settings_incoming_imap_namespace_label">Aŭtomate detekti IMAP nomkampo</string>
|
||||
<string name="account_server_settings_incoming_imap_prefix_label">IMAP vojprefikso</string>
|
||||
<string name="account_server_settings_incoming_imap_compression_label">Uzi densigo</string>
|
||||
<string name="account_server_settings_validation_error_password_required">Pasvorto nepras.</string>
|
||||
<string name="account_server_settings_validation_error_imap_prefix_blank">IMAP prefikso ne povas esti malplena.</string>
|
||||
<string name="account_server_settings_validation_error_server_required">Servila nomo nepras.</string>
|
||||
<string name="account_server_settings_validation_error_port_invalid">Pordo estas nevalida (endas esti 1–65535).</string>
|
||||
<string name="account_server_settings_validation_error_port_required">Pordo nepras.</string>
|
||||
<string name="account_server_settings_validation_error_username_required">Uzanta nomo nepras.</string>
|
||||
<string name="account_server_settings_incoming_top_bar_title">Eniran servilon agordoj</string>
|
||||
<string name="account_server_settings_outgoing_top_bar_title">Eliran servilon agordoj</string>
|
||||
</resources>
|
||||
|
|
@ -0,0 +1,35 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<string name="account_server_settings_validation_error_server_required">Es necesario poner el nombre del servidor.</string>
|
||||
<string name="account_server_settings_validation_error_username_required">Es necesario poner el nombre de usuario.</string>
|
||||
<string name="account_server_settings_outgoing_top_bar_title">Ajustes del servidor saliente</string>
|
||||
<string name="account_server_settings_validation_error_password_required">Es necesario poner una contraseña.</string>
|
||||
<string name="account_server_settings_authentication_client_oauth">OAuth 2.0</string>
|
||||
<string name="account_server_settings_authentication_none">Ninguna</string>
|
||||
<string name="account_server_settings_authentication_password_encrypted">Contraseña cifrada</string>
|
||||
<string name="account_server_settings_incoming_imap_namespace_label">Detectar el espacio de nombres IMAP</string>
|
||||
<string name="account_server_settings_incoming_top_bar_title">Ajustes del servidor entrante</string>
|
||||
<string name="account_server_settings_authentication_password_cleartext">Contraseña normal</string>
|
||||
<string name="account_server_settings_password_authentication_title">Verifica tu identidad</string>
|
||||
<string name="account_server_settings_authentication_label">Autenticación</string>
|
||||
<string name="account_server_settings_connection_security_none">Ninguna</string>
|
||||
<string name="account_server_settings_port_label">Puerto</string>
|
||||
<string name="account_server_settings_incoming_imap_compression_label">Con compresión</string>
|
||||
<string name="account_server_settings_validation_error_port_required">Es necesario poner el puerto.</string>
|
||||
<string name="account_server_settings_authentication_client_certificate">Certificado de usuario</string>
|
||||
<string name="account_server_settings_incoming_imap_prefix_label">Prefijo de ruta IMAP</string>
|
||||
<string name="account_server_settings_connection_security_ssl">SSL/TLS</string>
|
||||
<string name="account_server_settings_protocol_type_label">Protocolo</string>
|
||||
<string name="account_server_settings_password_authentication_subtitle">Para ver tu contraseña tienes que verificar tu identidad</string>
|
||||
<string name="account_server_settings_username_label">Usuario</string>
|
||||
<string name="account_server_settings_validation_error_port_invalid">El número de puerto no parece correcto (van de 1 a 65535).</string>
|
||||
<string name="account_server_settings_connection_security_start_tls">StartTLS</string>
|
||||
<string name="account_server_settings_client_certificate_label">Certificado de usuario</string>
|
||||
<string name="account_server_settings_validation_error_imap_prefix_blank">El prefijo IMAP no puede estar en blanco.</string>
|
||||
<string name="account_server_settings_client_certificate_none_selected">Ninguna</string>
|
||||
<string name="account_server_settings_password_authentication_screen_lock_required">Para poder ver tu contraseña primero tienes que activar el bloqueo de pantalla en tu dispositivo.</string>
|
||||
<string name="account_server_settings_server_label">Servidor</string>
|
||||
<string name="account_server_settings_security_label">Seguridad</string>
|
||||
<string name="account_server_settings_validation_error_server_invalid_ip_or_hostname">IP o nombre de host no válidos</string>
|
||||
<string name="account_server_settings_incoming_imap_send_client_info_label">Enviar información del cliente</string>
|
||||
</resources>
|
||||
|
|
@ -0,0 +1,35 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<string name="account_server_settings_validation_error_server_required">Serveri nimi on vajalik.</string>
|
||||
<string name="account_server_settings_validation_error_username_required">Kasutajanimi on vajalik.</string>
|
||||
<string name="account_server_settings_outgoing_top_bar_title">Väljuva e-posti serveriseadistused</string>
|
||||
<string name="account_server_settings_validation_error_password_required">Salasõna on vajalik.</string>
|
||||
<string name="account_server_settings_authentication_client_oauth">OAuth 2.0</string>
|
||||
<string name="account_server_settings_authentication_none">Puudub</string>
|
||||
<string name="account_server_settings_authentication_password_encrypted">Krüptitud salasõna</string>
|
||||
<string name="account_server_settings_incoming_imap_namespace_label">Tuvasta IMAP nimeruum automaatselt</string>
|
||||
<string name="account_server_settings_incoming_top_bar_title">Saabuva e-posti serveriseadistused</string>
|
||||
<string name="account_server_settings_authentication_password_cleartext">Tavaline salasõna</string>
|
||||
<string name="account_server_settings_password_authentication_title">Tuvasta oma isik</string>
|
||||
<string name="account_server_settings_authentication_label">Autentimine</string>
|
||||
<string name="account_server_settings_connection_security_none">Puudub</string>
|
||||
<string name="account_server_settings_port_label">Port</string>
|
||||
<string name="account_server_settings_incoming_imap_compression_label">Kasuta pakkimist</string>
|
||||
<string name="account_server_settings_validation_error_port_required">Port on vajalik.</string>
|
||||
<string name="account_server_settings_authentication_client_certificate">Kliendi sertifikaat</string>
|
||||
<string name="account_server_settings_incoming_imap_prefix_label">IMAP tee eesliide</string>
|
||||
<string name="account_server_settings_connection_security_ssl">SSL/TLS</string>
|
||||
<string name="account_server_settings_protocol_type_label">Protokoll</string>
|
||||
<string name="account_server_settings_password_authentication_subtitle">Oma salasõna vaatamiseks eemalda lukustus</string>
|
||||
<string name="account_server_settings_username_label">Kasutajanimi</string>
|
||||
<string name="account_server_settings_validation_error_port_invalid">Port on vigane (peab olema vahemikus 1–65535).</string>
|
||||
<string name="account_server_settings_connection_security_start_tls">StartTLS</string>
|
||||
<string name="account_server_settings_client_certificate_label">Kliendi sertifikaat</string>
|
||||
<string name="account_server_settings_validation_error_imap_prefix_blank">IMAP\'i eesliide ei saa olla tühi.</string>
|
||||
<string name="account_server_settings_client_certificate_none_selected">Puudub</string>
|
||||
<string name="account_server_settings_password_authentication_screen_lock_required">Kui soovid siin näha salasõna, siis lülita oma nutiseadmes sisse lukustuskuva kasutamine.</string>
|
||||
<string name="account_server_settings_server_label">Server</string>
|
||||
<string name="account_server_settings_security_label">Turvalisus</string>
|
||||
<string name="account_server_settings_validation_error_server_invalid_ip_or_hostname">Vigane ip-aadress või serveri nimi</string>
|
||||
<string name="account_server_settings_incoming_imap_send_client_info_label">Saada kliendi teave</string>
|
||||
</resources>
|
||||
|
|
@ -0,0 +1,35 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<string name="account_server_settings_validation_error_server_required">Zerbitzari izena beharrezkoa da.</string>
|
||||
<string name="account_server_settings_validation_error_username_required">Erabiltzaile izena beharrezkoa da.</string>
|
||||
<string name="account_server_settings_outgoing_top_bar_title">Irteera zerbitzariaren ezarpenak</string>
|
||||
<string name="account_server_settings_validation_error_password_required">Pasahitza beharrezkoa da.</string>
|
||||
<string name="account_server_settings_authentication_client_oauth">OAuth 2.0</string>
|
||||
<string name="account_server_settings_authentication_none">Bat ere ez</string>
|
||||
<string name="account_server_settings_authentication_password_encrypted">Pasahitz zifratua</string>
|
||||
<string name="account_server_settings_incoming_imap_namespace_label">Auto-detektatu IMAP izen-lekua</string>
|
||||
<string name="account_server_settings_incoming_top_bar_title">Sarrerako zerbitzariaren ezarpenak</string>
|
||||
<string name="account_server_settings_authentication_password_cleartext">Pasahitz arrunta</string>
|
||||
<string name="account_server_settings_password_authentication_title">Egiaztatu zure identitatea</string>
|
||||
<string name="account_server_settings_authentication_label">Autentifikazioa</string>
|
||||
<string name="account_server_settings_connection_security_none">Bat ere ez</string>
|
||||
<string name="account_server_settings_port_label">Portua</string>
|
||||
<string name="account_server_settings_incoming_imap_compression_label">Konpresioa erabili</string>
|
||||
<string name="account_server_settings_validation_error_port_required">Portua beharrezkoa da.</string>
|
||||
<string name="account_server_settings_authentication_client_certificate">Bezero ziurtagiria</string>
|
||||
<string name="account_server_settings_incoming_imap_prefix_label">IMAP bidearen aurrizkia</string>
|
||||
<string name="account_server_settings_connection_security_ssl">SSL/TLS</string>
|
||||
<string name="account_server_settings_protocol_type_label">Protokoloa</string>
|
||||
<string name="account_server_settings_password_authentication_subtitle">Desblokeatu zure pasahitza ikusteko</string>
|
||||
<string name="account_server_settings_username_label">Erabiltzaile izena</string>
|
||||
<string name="account_server_settings_validation_error_port_invalid">Portua ez da zuzena (1–65535 artekoa izan behar du).</string>
|
||||
<string name="account_server_settings_connection_security_start_tls">StartTLS</string>
|
||||
<string name="account_server_settings_client_certificate_label">Bezero ziurtagiria</string>
|
||||
<string name="account_server_settings_validation_error_imap_prefix_blank">IMAP aurrizkiak ezin du hutsa izan.</string>
|
||||
<string name="account_server_settings_client_certificate_none_selected">Bat ere ez</string>
|
||||
<string name="account_server_settings_password_authentication_screen_lock_required">Pasahitza hemen ikusteko, gaitu pantailaren blokeoa gailu honetan.</string>
|
||||
<string name="account_server_settings_server_label">Zerbitzaria</string>
|
||||
<string name="account_server_settings_security_label">Segurtasuna</string>
|
||||
<string name="account_server_settings_validation_error_server_invalid_ip_or_hostname">IP edo ostalari-izen baliogabea</string>
|
||||
<string name="account_server_settings_incoming_imap_send_client_info_label">Bidali bezeroaren informazioa</string>
|
||||
</resources>
|
||||
|
|
@ -0,0 +1,35 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<string name="account_server_settings_validation_error_server_required">نام سرور لازم است.</string>
|
||||
<string name="account_server_settings_validation_error_username_required">نام کاربری الزامی است.</string>
|
||||
<string name="account_server_settings_outgoing_top_bar_title">تنظیمات سرور خروجی</string>
|
||||
<string name="account_server_settings_validation_error_password_required">رمز عبور الزامی است.</string>
|
||||
<string name="account_server_settings_authentication_client_oauth">OAuth 2.0</string>
|
||||
<string name="account_server_settings_authentication_none">هیچ کدام</string>
|
||||
<string name="account_server_settings_validation_error_server_invalid_ip_or_hostname">IP یا hostname معتبر نیست</string>
|
||||
<string name="account_server_settings_authentication_password_encrypted">رمز عبور رمزنگاری شده</string>
|
||||
<string name="account_server_settings_incoming_imap_namespace_label">تشخیص خودکار فضای نام IMAP</string>
|
||||
<string name="account_server_settings_incoming_top_bar_title">تنظیمات سرور ورودی</string>
|
||||
<string name="account_server_settings_authentication_password_cleartext">رمز عبور عادی</string>
|
||||
<string name="account_server_settings_password_authentication_title">هویت خود را تایید کنید</string>
|
||||
<string name="account_server_settings_authentication_label">احراز هویت</string>
|
||||
<string name="account_server_settings_connection_security_none">هیچکدام</string>
|
||||
<string name="account_server_settings_port_label">پورت</string>
|
||||
<string name="account_server_settings_incoming_imap_compression_label">استفاده از فشردهسازی</string>
|
||||
<string name="account_server_settings_validation_error_port_required">وارد کردن پورت الزامی است.</string>
|
||||
<string name="account_server_settings_authentication_client_certificate">گواهینامهٔ کارخواه</string>
|
||||
<string name="account_server_settings_incoming_imap_prefix_label">پیشوند مسیر IMAP</string>
|
||||
<string name="account_server_settings_connection_security_ssl">SSL/TLS</string>
|
||||
<string name="account_server_settings_protocol_type_label">پروتکل</string>
|
||||
<string name="account_server_settings_password_authentication_subtitle">برای دیدن رمز عبور، قفل را باز کنید</string>
|
||||
<string name="account_server_settings_username_label">نام کاربری</string>
|
||||
<string name="account_server_settings_validation_error_port_invalid">پورت معتبر نیست (باید بین 1 تا 6535 باشد).</string>
|
||||
<string name="account_server_settings_connection_security_start_tls">StartTLS</string>
|
||||
<string name="account_server_settings_client_certificate_label">گواهینامهٔ کارخواه</string>
|
||||
<string name="account_server_settings_validation_error_imap_prefix_blank">پیشوند IMAP نمی تواند خالی باشد.</string>
|
||||
<string name="account_server_settings_client_certificate_none_selected">هیچکدام</string>
|
||||
<string name="account_server_settings_password_authentication_screen_lock_required">برای دیدن رمز عبور در این قسمت، قفل صفحه در این دستگاه را فعال کنید.</string>
|
||||
<string name="account_server_settings_server_label">سرور</string>
|
||||
<string name="account_server_settings_security_label">امنیت</string>
|
||||
<string name="account_server_settings_incoming_imap_send_client_info_label">ارسال اطلاعات کارخواه</string>
|
||||
</resources>
|
||||
|
|
@ -0,0 +1,35 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<string name="account_server_settings_validation_error_server_required">Palvelimen nimi vaaditaan.</string>
|
||||
<string name="account_server_settings_validation_error_username_required">Käyttäjätunnus vaaditaan.</string>
|
||||
<string name="account_server_settings_outgoing_top_bar_title">Lähtevän postin palvelimen asetukset</string>
|
||||
<string name="account_server_settings_validation_error_password_required">Salasana vaaditaan.</string>
|
||||
<string name="account_server_settings_authentication_client_oauth">OAuth 2.0</string>
|
||||
<string name="account_server_settings_authentication_none">Ei mitään</string>
|
||||
<string name="account_server_settings_authentication_password_encrypted">Salattu salasana</string>
|
||||
<string name="account_server_settings_incoming_imap_namespace_label">Havaitse automaattisesti IMAP-nimiavaruus</string>
|
||||
<string name="account_server_settings_incoming_top_bar_title">Saapuvan postin palvelimen asetukset</string>
|
||||
<string name="account_server_settings_authentication_password_cleartext">Normaali salasana</string>
|
||||
<string name="account_server_settings_password_authentication_title">Vahvista henkilöytesi</string>
|
||||
<string name="account_server_settings_authentication_label">Todennus</string>
|
||||
<string name="account_server_settings_connection_security_none">Ei mitään</string>
|
||||
<string name="account_server_settings_port_label">Portti</string>
|
||||
<string name="account_server_settings_incoming_imap_compression_label">Käytä pakkausta</string>
|
||||
<string name="account_server_settings_validation_error_port_required">Portti vaaditaan.</string>
|
||||
<string name="account_server_settings_authentication_client_certificate">Asiakasvarmenne</string>
|
||||
<string name="account_server_settings_incoming_imap_prefix_label">IMAP-polun etuliite</string>
|
||||
<string name="account_server_settings_connection_security_ssl">SSL/TLS</string>
|
||||
<string name="account_server_settings_protocol_type_label">Yhteyskäytäntö</string>
|
||||
<string name="account_server_settings_password_authentication_subtitle">Avaa lukitus nähdäksesi salasanasi</string>
|
||||
<string name="account_server_settings_username_label">Käyttäjätunnus</string>
|
||||
<string name="account_server_settings_validation_error_port_invalid">Portti on virheellinen (pitää olla välillä 1–65535).</string>
|
||||
<string name="account_server_settings_connection_security_start_tls">StartTLS</string>
|
||||
<string name="account_server_settings_client_certificate_label">Asiakasvarmenne</string>
|
||||
<string name="account_server_settings_validation_error_imap_prefix_blank">IMAP-etuliite ei voi olla tyhjä.</string>
|
||||
<string name="account_server_settings_client_certificate_none_selected">Ei mitään</string>
|
||||
<string name="account_server_settings_password_authentication_screen_lock_required">Nähdäksesi salasanasi tässä, ota näytön lukitus käyttöön tällä laitteella.</string>
|
||||
<string name="account_server_settings_server_label">Palvelin</string>
|
||||
<string name="account_server_settings_security_label">Suojaus</string>
|
||||
<string name="account_server_settings_validation_error_server_invalid_ip_or_hostname">Virheellinen IP-osoite tai konenimi</string>
|
||||
<string name="account_server_settings_incoming_imap_send_client_info_label">Lähetä asiakastiedot</string>
|
||||
</resources>
|
||||
|
|
@ -0,0 +1,35 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<string name="account_server_settings_validation_error_server_required">Le nom du serveur est requis.</string>
|
||||
<string name="account_server_settings_validation_error_username_required">Le nom d\'utilisateur est requis.</string>
|
||||
<string name="account_server_settings_outgoing_top_bar_title">Paramètres du serveur sortant</string>
|
||||
<string name="account_server_settings_validation_error_password_required">Le mot de passe est requis.</string>
|
||||
<string name="account_server_settings_authentication_client_oauth">OAuth 2.0</string>
|
||||
<string name="account_server_settings_authentication_none">Aucun</string>
|
||||
<string name="account_server_settings_authentication_password_encrypted">Mot de passe chiffré</string>
|
||||
<string name="account_server_settings_incoming_imap_namespace_label">Détection automatique de l\'espace de nommage IMAP</string>
|
||||
<string name="account_server_settings_incoming_top_bar_title">Paramètres du serveur entrant</string>
|
||||
<string name="account_server_settings_authentication_password_cleartext">Mot de passe normal</string>
|
||||
<string name="account_server_settings_password_authentication_title">Confirmer votre identité</string>
|
||||
<string name="account_server_settings_authentication_label">Authentification</string>
|
||||
<string name="account_server_settings_connection_security_none">Aucune</string>
|
||||
<string name="account_server_settings_port_label">Port</string>
|
||||
<string name="account_server_settings_incoming_imap_compression_label">Utiliser la compression</string>
|
||||
<string name="account_server_settings_validation_error_port_required">Le port est requis.</string>
|
||||
<string name="account_server_settings_authentication_client_certificate">Certificat client</string>
|
||||
<string name="account_server_settings_incoming_imap_prefix_label">Préfixe du chemin IMAP</string>
|
||||
<string name="account_server_settings_connection_security_ssl">SSL/TLS</string>
|
||||
<string name="account_server_settings_protocol_type_label">Protocole</string>
|
||||
<string name="account_server_settings_password_authentication_subtitle">Déverrouiller pour afficher votre mot de passe</string>
|
||||
<string name="account_server_settings_username_label">Nom d’utilisateur</string>
|
||||
<string name="account_server_settings_validation_error_port_invalid">Le port est invalide (entre 1 et 65535).</string>
|
||||
<string name="account_server_settings_connection_security_start_tls">StartTLS</string>
|
||||
<string name="account_server_settings_client_certificate_label">Certificat client</string>
|
||||
<string name="account_server_settings_validation_error_imap_prefix_blank">Le préfixe IMAP ne peut pas être vide.</string>
|
||||
<string name="account_server_settings_client_certificate_none_selected">Aucun</string>
|
||||
<string name="account_server_settings_password_authentication_screen_lock_required">Pour afficher votre mot de passe ici, activez le verrouillage de l\'écran de votre appareil.</string>
|
||||
<string name="account_server_settings_server_label">Serveur</string>
|
||||
<string name="account_server_settings_security_label">Sécurité</string>
|
||||
<string name="account_server_settings_validation_error_server_invalid_ip_or_hostname">Adresse IP ou nom d’hôte invalide</string>
|
||||
<string name="account_server_settings_incoming_imap_send_client_info_label">Envoyer les renseignements du client</string>
|
||||
</resources>
|
||||
|
|
@ -0,0 +1,35 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<string name="account_server_settings_validation_error_server_required">Servernamme is fereaske.</string>
|
||||
<string name="account_server_settings_validation_error_username_required">Brûkersnamme is fereaske.</string>
|
||||
<string name="account_server_settings_outgoing_top_bar_title">Ynstellingen útgeande server</string>
|
||||
<string name="account_server_settings_validation_error_password_required">Wachtwurd is fereaske.</string>
|
||||
<string name="account_server_settings_authentication_client_oauth">OAuth 2.0</string>
|
||||
<string name="account_server_settings_authentication_none">Gjin</string>
|
||||
<string name="account_server_settings_authentication_password_encrypted">Fersifere wachtwurd</string>
|
||||
<string name="account_server_settings_incoming_imap_namespace_label">IMAP-namespace automatysk detektearje</string>
|
||||
<string name="account_server_settings_incoming_top_bar_title">Ynstellingen ynkommende server</string>
|
||||
<string name="account_server_settings_authentication_password_cleartext">Normaal wachtwurd</string>
|
||||
<string name="account_server_settings_password_authentication_title">Ferifiearje jo identiteit</string>
|
||||
<string name="account_server_settings_authentication_label">Autentikaasje</string>
|
||||
<string name="account_server_settings_connection_security_none">Gjin</string>
|
||||
<string name="account_server_settings_port_label">Poarte</string>
|
||||
<string name="account_server_settings_incoming_imap_compression_label">Kompresje brûke</string>
|
||||
<string name="account_server_settings_validation_error_port_required">Poarte is fereaske.</string>
|
||||
<string name="account_server_settings_authentication_client_certificate">Clientsertifikaat</string>
|
||||
<string name="account_server_settings_incoming_imap_prefix_label">Prefix IMAP-paad</string>
|
||||
<string name="account_server_settings_connection_security_ssl">SSL/TLS</string>
|
||||
<string name="account_server_settings_protocol_type_label">Protokol</string>
|
||||
<string name="account_server_settings_password_authentication_subtitle">Untskoattelje om jo wachtwurd te toanen</string>
|
||||
<string name="account_server_settings_username_label">Brûkersnamme</string>
|
||||
<string name="account_server_settings_validation_error_port_invalid">Poarte is net jildich (moat lizze tusken 1–65535).</string>
|
||||
<string name="account_server_settings_connection_security_start_tls">StartTLS</string>
|
||||
<string name="account_server_settings_client_certificate_label">Clientsertifikaat</string>
|
||||
<string name="account_server_settings_validation_error_imap_prefix_blank">IMAP-prefix mei net leech wêze.</string>
|
||||
<string name="account_server_settings_client_certificate_none_selected">Gjin</string>
|
||||
<string name="account_server_settings_password_authentication_screen_lock_required">Skeakelje skermbeskoatteling op dit apparaat yn, om jo wachtwurd hjir te sjen.</string>
|
||||
<string name="account_server_settings_server_label">Server</string>
|
||||
<string name="account_server_settings_security_label">Befeiliging</string>
|
||||
<string name="account_server_settings_validation_error_server_invalid_ip_or_hostname">Ferkeard IP-adres of hostnamme</string>
|
||||
<string name="account_server_settings_incoming_imap_send_client_info_label">Clientynformaasje ferstjoere</string>
|
||||
</resources>
|
||||
|
|
@ -0,0 +1,35 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<string name="account_server_settings_protocol_type_label">Prótacal</string>
|
||||
<string name="account_server_settings_server_label">Freastalaí</string>
|
||||
<string name="account_server_settings_connection_security_none">Dada</string>
|
||||
<string name="account_server_settings_connection_security_start_tls">StartTLS</string>
|
||||
<string name="account_server_settings_authentication_none">Dada</string>
|
||||
<string name="account_server_settings_client_certificate_label">Deimhniú cliant</string>
|
||||
<string name="account_server_settings_incoming_imap_compression_label">Úsáid comhbhrúite</string>
|
||||
<string name="account_server_settings_incoming_imap_send_client_info_label">Seol faisnéis chliaint</string>
|
||||
<string name="account_server_settings_outgoing_top_bar_title">Socruithe freastalaí amach</string>
|
||||
<string name="account_server_settings_password_authentication_subtitle">Díghlasáil chun féachaint ar do phasfhocal</string>
|
||||
<string name="account_server_settings_port_label">Port</string>
|
||||
<string name="account_server_settings_incoming_top_bar_title">Socruithe freastalaí isteach</string>
|
||||
<string name="account_server_settings_username_label">Ainm úsáideora</string>
|
||||
<string name="account_server_settings_authentication_password_cleartext">Gnáth-fhocal faire</string>
|
||||
<string name="account_server_settings_authentication_client_oauth">OAuth 2.0</string>
|
||||
<string name="account_server_settings_security_label">Slándáil</string>
|
||||
<string name="account_server_settings_authentication_client_certificate">Deimhniú cliant</string>
|
||||
<string name="account_server_settings_authentication_label">Fíordheimhniú</string>
|
||||
<string name="account_server_settings_connection_security_ssl">SSL/TLS</string>
|
||||
<string name="account_server_settings_client_certificate_none_selected">Dada</string>
|
||||
<string name="account_server_settings_authentication_password_encrypted">Pasfhocal criptithe</string>
|
||||
<string name="account_server_settings_incoming_imap_namespace_label">Auto-bhrath ainmspás IMAP</string>
|
||||
<string name="account_server_settings_incoming_imap_prefix_label">Réimír cosán IMAP</string>
|
||||
<string name="account_server_settings_validation_error_password_required">Tá pasfhocal ag teastáil.</string>
|
||||
<string name="account_server_settings_validation_error_server_required">Tá ainm an fhreastalaí ag teastáil.</string>
|
||||
<string name="account_server_settings_validation_error_port_required">Port ag teastáil.</string>
|
||||
<string name="account_server_settings_validation_error_username_required">Tá ainm úsáideora ag teastáil.</string>
|
||||
<string name="account_server_settings_validation_error_imap_prefix_blank">Ní féidir le réimír IMAP a bheith bán.</string>
|
||||
<string name="account_server_settings_validation_error_server_invalid_ip_or_hostname">IP nó óstainm neamhbhailí</string>
|
||||
<string name="account_server_settings_validation_error_port_invalid">Tá an port neamhbhailí (caithfidh sé a bheith 1–65535).</string>
|
||||
<string name="account_server_settings_password_authentication_title">Fíoraigh d\'aitheantas</string>
|
||||
<string name="account_server_settings_password_authentication_screen_lock_required">Chun féachaint ar do phasfhocal anseo, cumasaigh glas scáileáin ar an ngléas seo.</string>
|
||||
</resources>
|
||||
|
|
@ -0,0 +1,35 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<string name="account_server_settings_password_authentication_title">Dearbh cò thusa</string>
|
||||
<string name="account_server_settings_password_authentication_subtitle">Thoir a’ ghlas dheth airson am facal-faire fhaicinn</string>
|
||||
<string name="account_server_settings_validation_error_server_invalid_ip_or_hostname">Tha an IP no ainm an òstair mì-dhligheach</string>
|
||||
<string name="account_server_settings_password_authentication_screen_lock_required">Airson am facal-faire agad fhaicinn an-seo, cuir glas na sgrìn an comas air an uidheam seo.</string>
|
||||
<string name="account_server_settings_incoming_imap_send_client_info_label">Cuir fiosrachadh mun chliant</string>
|
||||
<string name="account_server_settings_protocol_type_label">Pròtacal</string>
|
||||
<string name="account_server_settings_server_label">Frithealaiche</string>
|
||||
<string name="account_server_settings_security_label">Tèarainteachd</string>
|
||||
<string name="account_server_settings_port_label">Port</string>
|
||||
<string name="account_server_settings_authentication_label">Dearbhadh</string>
|
||||
<string name="account_server_settings_username_label">Ainm-cleachdaiche</string>
|
||||
<string name="account_server_settings_connection_security_none">Chan eil gin</string>
|
||||
<string name="account_server_settings_connection_security_start_tls">StartTLS</string>
|
||||
<string name="account_server_settings_connection_security_ssl">SSL/TLS</string>
|
||||
<string name="account_server_settings_authentication_none">Chan eil gin</string>
|
||||
<string name="account_server_settings_authentication_password_cleartext">Facal-faire àbhaisteach</string>
|
||||
<string name="account_server_settings_authentication_password_encrypted">Facal-faire crioptaichte</string>
|
||||
<string name="account_server_settings_authentication_client_certificate">Teisteanas a’ chliant</string>
|
||||
<string name="account_server_settings_authentication_client_oauth">OAuth 2.0</string>
|
||||
<string name="account_server_settings_client_certificate_none_selected">Chan eil gin</string>
|
||||
<string name="account_server_settings_client_certificate_label">Teisteanas a’ chliant</string>
|
||||
<string name="account_server_settings_incoming_top_bar_title">Roghainnean an fhrithealaiche a-steach</string>
|
||||
<string name="account_server_settings_incoming_imap_namespace_label">Mothaich dha ainm-spàs IMAP gu fèin-obrachail</string>
|
||||
<string name="account_server_settings_incoming_imap_prefix_label">Ro-leasachan slighe IMAP</string>
|
||||
<string name="account_server_settings_incoming_imap_compression_label">Cleachd dùmhlachadh</string>
|
||||
<string name="account_server_settings_outgoing_top_bar_title">Roghainnean an fhrithealaiche a-mach</string>
|
||||
<string name="account_server_settings_validation_error_password_required">Tha feum air facal-faire.</string>
|
||||
<string name="account_server_settings_validation_error_imap_prefix_blank">Chan fhaod ro-leasachan IMAP a bhith bàn.</string>
|
||||
<string name="account_server_settings_validation_error_port_required">Tha feum air port.</string>
|
||||
<string name="account_server_settings_validation_error_server_required">Tha feum air ainm an fhrithealaiche.</string>
|
||||
<string name="account_server_settings_validation_error_port_invalid">Tha feum air port (feumaidh e a bhith eadar 1 is 65535).</string>
|
||||
<string name="account_server_settings_validation_error_username_required">Tha feum air ainm-cleachdaiche.</string>
|
||||
</resources>
|
||||
|
|
@ -0,0 +1,2 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources></resources>
|
||||
|
|
@ -0,0 +1,2 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources></resources>
|
||||
|
|
@ -0,0 +1,33 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<string name="account_server_settings_validation_error_server_required">सर्वर नाम ज़रूरी है।</string>
|
||||
<string name="account_server_settings_validation_error_username_required">यूज़रनेम ज़रूरी है।</string>
|
||||
<string name="account_server_settings_outgoing_top_bar_title">आउटगोइंग सर्वर सेटिंग</string>
|
||||
<string name="account_server_settings_validation_error_password_required">पासवर्ड ज़रूरी है।</string>
|
||||
<string name="account_server_settings_authentication_client_oauth">ओऑथ 2.0</string>
|
||||
<string name="account_server_settings_authentication_none">कुछ नहीं</string>
|
||||
<string name="account_server_settings_authentication_password_encrypted">एंक्रिप्टेड पासवर्ड</string>
|
||||
<string name="account_server_settings_incoming_imap_namespace_label">आईमैप नेमस्पेस अपनेआप डिटेक्ट करें</string>
|
||||
<string name="account_server_settings_incoming_top_bar_title">इनकमिंग सर्वर सेटिंग</string>
|
||||
<string name="account_server_settings_authentication_password_cleartext">नॉर्मल पासवर्ड</string>
|
||||
<string name="account_server_settings_password_authentication_title">अपनी आईडी वेरिफाइ करें</string>
|
||||
<string name="account_server_settings_authentication_label">ऑथेंटिकेशन</string>
|
||||
<string name="account_server_settings_connection_security_none">कुछ नहीं</string>
|
||||
<string name="account_server_settings_port_label">पोर्ट</string>
|
||||
<string name="account_server_settings_incoming_imap_compression_label">कम्प्रैशन इस्तेमाल करें</string>
|
||||
<string name="account_server_settings_validation_error_port_required">पोर्ट ज़रूरी है।</string>
|
||||
<string name="account_server_settings_authentication_client_certificate">क्लाइंट सर्टिफिकेट</string>
|
||||
<string name="account_server_settings_incoming_imap_prefix_label">आइमैप पाथ प्रीफिक्स</string>
|
||||
<string name="account_server_settings_connection_security_ssl">एसएसएल/टीएलएस</string>
|
||||
<string name="account_server_settings_protocol_type_label">प्रोटोकॉल</string>
|
||||
<string name="account_server_settings_password_authentication_subtitle">अपना पासवर्ड देखने के लिए खोलें</string>
|
||||
<string name="account_server_settings_username_label">यूज़रनेम</string>
|
||||
<string name="account_server_settings_validation_error_port_invalid">पोर्ट गलत है (सिर्फ 1-65535 हो सकता है)।</string>
|
||||
<string name="account_server_settings_connection_security_start_tls">टीएलएस शुरू करें</string>
|
||||
<string name="account_server_settings_client_certificate_label">क्लाइंट सर्टिफिकेट</string>
|
||||
<string name="account_server_settings_validation_error_imap_prefix_blank">आईमैप प्रीफिक्स खाली नहीं हो सकता।</string>
|
||||
<string name="account_server_settings_client_certificate_none_selected">कुछ नहीं</string>
|
||||
<string name="account_server_settings_password_authentication_screen_lock_required">यहां अपना पासवर्ड देखने के लिए इस डिवाइस पे स्क्रीन लॉक लगाएं।</string>
|
||||
<string name="account_server_settings_server_label">सर्वर</string>
|
||||
<string name="account_server_settings_security_label">सेक्योरिटी</string>
|
||||
</resources>
|
||||
|
|
@ -0,0 +1,35 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<string name="account_server_settings_password_authentication_title">Potvrdite svoj identitet</string>
|
||||
<string name="account_server_settings_password_authentication_screen_lock_required">Za prikaz lozinke ovdje, omogućite zaključavanje zaslona na ovom uređaju.</string>
|
||||
<string name="account_server_settings_incoming_imap_send_client_info_label">Pošalji informacije o klijentu</string>
|
||||
<string name="account_server_settings_protocol_type_label">Protokol</string>
|
||||
<string name="account_server_settings_server_label">Poslužitelj</string>
|
||||
<string name="account_server_settings_authentication_label">Provjera autentičnosti</string>
|
||||
<string name="account_server_settings_security_label">Sigurnost</string>
|
||||
<string name="account_server_settings_port_label">Priključak</string>
|
||||
<string name="account_server_settings_username_label">Korisničko ime</string>
|
||||
<string name="account_server_settings_connection_security_none">Ništa</string>
|
||||
<string name="account_server_settings_connection_security_start_tls">StartTLS</string>
|
||||
<string name="account_server_settings_connection_security_ssl">SSL/TLS</string>
|
||||
<string name="account_server_settings_authentication_none">Ništa</string>
|
||||
<string name="account_server_settings_authentication_password_cleartext">Obična lozinka</string>
|
||||
<string name="account_server_settings_authentication_password_encrypted">Šifrirana lozinka</string>
|
||||
<string name="account_server_settings_validation_error_imap_prefix_blank">IMAP prefiks ne može biti prazan.</string>
|
||||
<string name="account_server_settings_authentication_client_certificate">Klijentski certifikat</string>
|
||||
<string name="account_server_settings_authentication_client_oauth">OAuth 2.0</string>
|
||||
<string name="account_server_settings_client_certificate_none_selected">Ništa</string>
|
||||
<string name="account_server_settings_client_certificate_label">Klijentski certifikat</string>
|
||||
<string name="account_server_settings_incoming_top_bar_title">Postavke dolaznog poslužitelja</string>
|
||||
<string name="account_server_settings_incoming_imap_namespace_label">Automatsko otkrivanje IMAP imenskog prostora</string>
|
||||
<string name="account_server_settings_incoming_imap_prefix_label">IMAP putni prefiks</string>
|
||||
<string name="account_server_settings_incoming_imap_compression_label">Koristi kompresiju</string>
|
||||
<string name="account_server_settings_outgoing_top_bar_title">Postavke odlaznog poslužitelja</string>
|
||||
<string name="account_server_settings_validation_error_server_required">Naziv poslužitelja je obavezan.</string>
|
||||
<string name="account_server_settings_validation_error_port_required">Priključak je obavezan.</string>
|
||||
<string name="account_server_settings_validation_error_port_invalid">Neispravan priključak (mora biti između 1–65535).</string>
|
||||
<string name="account_server_settings_validation_error_password_required">Lozinka je obavezna.</string>
|
||||
<string name="account_server_settings_validation_error_server_invalid_ip_or_hostname">Neispravna IP adresa ili naziv hosta</string>
|
||||
<string name="account_server_settings_validation_error_username_required">Korisničko ime je obavezno.</string>
|
||||
<string name="account_server_settings_password_authentication_subtitle">Otključajte za prikaz lozinke</string>
|
||||
</resources>
|
||||
|
|
@ -0,0 +1,35 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<string name="account_server_settings_validation_error_server_required">A kiszolgálónév megadása szükséges.</string>
|
||||
<string name="account_server_settings_validation_error_username_required">A felhasználónév megadása szükséges.</string>
|
||||
<string name="account_server_settings_outgoing_top_bar_title">Kimenő kiszolgáló beállítások</string>
|
||||
<string name="account_server_settings_validation_error_password_required">A jelszó megadása szükséges.</string>
|
||||
<string name="account_server_settings_authentication_client_oauth">OAuth 2.0</string>
|
||||
<string name="account_server_settings_authentication_none">Nincs</string>
|
||||
<string name="account_server_settings_authentication_password_encrypted">Titkosított jelszó</string>
|
||||
<string name="account_server_settings_incoming_imap_namespace_label">IMAP névtér automatikus felismerése</string>
|
||||
<string name="account_server_settings_incoming_top_bar_title">Bejövő kiszolgáló beállításai</string>
|
||||
<string name="account_server_settings_authentication_password_cleartext">Normál jelszó</string>
|
||||
<string name="account_server_settings_authentication_label">Hitelesítés</string>
|
||||
<string name="account_server_settings_connection_security_none">Nincs</string>
|
||||
<string name="account_server_settings_port_label">Port</string>
|
||||
<string name="account_server_settings_incoming_imap_compression_label">Tömörítés használata</string>
|
||||
<string name="account_server_settings_validation_error_port_required">A port megadása szükséges.</string>
|
||||
<string name="account_server_settings_authentication_client_certificate">Ügyféltanúsítvány</string>
|
||||
<string name="account_server_settings_incoming_imap_prefix_label">IMAP útvonalelőtag</string>
|
||||
<string name="account_server_settings_connection_security_ssl">SSL/TLS</string>
|
||||
<string name="account_server_settings_protocol_type_label">Protokoll</string>
|
||||
<string name="account_server_settings_username_label">Felhasználónév</string>
|
||||
<string name="account_server_settings_validation_error_port_invalid">A port érvénytelen (legyen 1–65535 között).</string>
|
||||
<string name="account_server_settings_connection_security_start_tls">StartTLS</string>
|
||||
<string name="account_server_settings_client_certificate_label">Ügyféltanúsítvány</string>
|
||||
<string name="account_server_settings_validation_error_imap_prefix_blank">Az IMAP előtag nem lehet üres.</string>
|
||||
<string name="account_server_settings_client_certificate_none_selected">Nincs</string>
|
||||
<string name="account_server_settings_server_label">Kiszolgáló</string>
|
||||
<string name="account_server_settings_security_label">Biztonság</string>
|
||||
<string name="account_server_settings_password_authentication_title">Személyazonosság igazolása</string>
|
||||
<string name="account_server_settings_password_authentication_subtitle">Feloldás a jelszó megtekintéséhez</string>
|
||||
<string name="account_server_settings_password_authentication_screen_lock_required">A jelszó megtekintéséhez itt engedélyezzük a képernyőzárat ezen az eszközön.</string>
|
||||
<string name="account_server_settings_validation_error_server_invalid_ip_or_hostname">Érvénytelen IP-cím vagy kiszolgálónév</string>
|
||||
<string name="account_server_settings_incoming_imap_send_client_info_label">Kliensinformációk küldése</string>
|
||||
</resources>
|
||||
|
|
@ -0,0 +1,2 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources></resources>
|
||||
|
|
@ -0,0 +1,35 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<string name="account_server_settings_validation_error_server_invalid_ip_or_hostname">IP atau nama hos takvalid</string>
|
||||
<string name="account_server_settings_validation_error_username_required">Nama pengguna diperlukan.</string>
|
||||
<string name="account_server_settings_validation_error_password_required">Kata sandi diperlukan.</string>
|
||||
<string name="account_server_settings_validation_error_imap_prefix_blank">Prefiks IMAP tidak boleh kosong.</string>
|
||||
<string name="account_server_settings_password_authentication_title">Verifikasikan identitas Anda</string>
|
||||
<string name="account_server_settings_password_authentication_subtitle">Buka untuk melihat kata sandi Anda</string>
|
||||
<string name="account_server_settings_password_authentication_screen_lock_required">Untuk melihat kata sandi Anda di sini, aktifkanlah layar kunci pada perangkat ini.</string>
|
||||
<string name="account_server_settings_incoming_imap_send_client_info_label">Kirim informasi klien</string>
|
||||
<string name="account_server_settings_protocol_type_label">Protokol</string>
|
||||
<string name="account_server_settings_server_label">Peladen</string>
|
||||
<string name="account_server_settings_security_label">Keamanan</string>
|
||||
<string name="account_server_settings_port_label">Porta</string>
|
||||
<string name="account_server_settings_authentication_label">Autentikasi</string>
|
||||
<string name="account_server_settings_username_label">Nama pengguna</string>
|
||||
<string name="account_server_settings_connection_security_none">Tidak ada</string>
|
||||
<string name="account_server_settings_connection_security_start_tls">StartTLS</string>
|
||||
<string name="account_server_settings_connection_security_ssl">SSL/TLS</string>
|
||||
<string name="account_server_settings_authentication_none">Tidak ada</string>
|
||||
<string name="account_server_settings_authentication_password_cleartext">Kata sandi normal</string>
|
||||
<string name="account_server_settings_authentication_password_encrypted">Kata sandi terenkripsi</string>
|
||||
<string name="account_server_settings_authentication_client_certificate">Sertifikat klien</string>
|
||||
<string name="account_server_settings_authentication_client_oauth">OAuth 2.0</string>
|
||||
<string name="account_server_settings_client_certificate_none_selected">Tidak ada</string>
|
||||
<string name="account_server_settings_client_certificate_label">Sertifikat klien</string>
|
||||
<string name="account_server_settings_incoming_top_bar_title">Pengaturan peladen yang masuk</string>
|
||||
<string name="account_server_settings_incoming_imap_namespace_label">Deteksi otomatis namespace IMAP</string>
|
||||
<string name="account_server_settings_incoming_imap_prefix_label">Prefiks lokasi IMAP</string>
|
||||
<string name="account_server_settings_validation_error_port_invalid">Porta takvalid (harus bernilai 1—65535).</string>
|
||||
<string name="account_server_settings_incoming_imap_compression_label">Gunakan kompresi</string>
|
||||
<string name="account_server_settings_outgoing_top_bar_title">Pengaturan peladen yang keluar</string>
|
||||
<string name="account_server_settings_validation_error_server_required">Nama peladen diperlukan.</string>
|
||||
<string name="account_server_settings_validation_error_port_required">Porta diperlukan.</string>
|
||||
</resources>
|
||||
|
|
@ -0,0 +1,35 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<string name="account_server_settings_validation_error_server_required">Nafn póstþjóns er nauðsynlegt.</string>
|
||||
<string name="account_server_settings_validation_error_username_required">Notandanafn er nauðsynlegt.</string>
|
||||
<string name="account_server_settings_outgoing_top_bar_title">Stillingar sendinga-póstþjóns</string>
|
||||
<string name="account_server_settings_validation_error_password_required">Lykilorð er nauðsynlegt.</string>
|
||||
<string name="account_server_settings_authentication_client_oauth">OAuth 2.0</string>
|
||||
<string name="account_server_settings_authentication_none">Ekkert</string>
|
||||
<string name="account_server_settings_authentication_password_encrypted">Dulritað lykilorð</string>
|
||||
<string name="account_server_settings_incoming_imap_namespace_label">Skynja sjálfvirkt IMAP-nafnarými</string>
|
||||
<string name="account_server_settings_incoming_top_bar_title">Stillingar inn-póstþjóns</string>
|
||||
<string name="account_server_settings_authentication_password_cleartext">Venjulegt lykilorð</string>
|
||||
<string name="account_server_settings_authentication_label">Auðkenning</string>
|
||||
<string name="account_server_settings_connection_security_none">Ekkert</string>
|
||||
<string name="account_server_settings_port_label">Gátt</string>
|
||||
<string name="account_server_settings_incoming_imap_compression_label">Nota þjöppun</string>
|
||||
<string name="account_server_settings_validation_error_port_required">Gátt er nauðsynleg.</string>
|
||||
<string name="account_server_settings_authentication_client_certificate">Skilríki biðlara</string>
|
||||
<string name="account_server_settings_incoming_imap_prefix_label">Forskeyti IMAP-slóðar</string>
|
||||
<string name="account_server_settings_connection_security_ssl">SSL/TLS</string>
|
||||
<string name="account_server_settings_protocol_type_label">Samskiptamáti</string>
|
||||
<string name="account_server_settings_username_label">Notandanafn</string>
|
||||
<string name="account_server_settings_validation_error_port_invalid">Ógild gátt (verður að vera 1–65535).</string>
|
||||
<string name="account_server_settings_connection_security_start_tls">StartTLS</string>
|
||||
<string name="account_server_settings_client_certificate_label">Skilríki biðlara</string>
|
||||
<string name="account_server_settings_validation_error_imap_prefix_blank">Forskeyti IMAP-slóðar má ekki vera tómt.</string>
|
||||
<string name="account_server_settings_client_certificate_none_selected">Ekkert</string>
|
||||
<string name="account_server_settings_server_label">Póstþjónn</string>
|
||||
<string name="account_server_settings_security_label">Öryggi</string>
|
||||
<string name="account_server_settings_password_authentication_title">Sannreyndu auðkennin þín</string>
|
||||
<string name="account_server_settings_password_authentication_subtitle">Aflæstu til að sjá lykilorðið þitt</string>
|
||||
<string name="account_server_settings_password_authentication_screen_lock_required">Til að sjá lykilorðið þitt hér, skaltu virkja skjálæsingu á þessu tæki.</string>
|
||||
<string name="account_server_settings_validation_error_server_invalid_ip_or_hostname">Ógilt IP-vistfang eða vélarheiti</string>
|
||||
<string name="account_server_settings_incoming_imap_send_client_info_label">Senda upplýsingar um biðlaraforrit</string>
|
||||
</resources>
|
||||
|
|
@ -0,0 +1,35 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<string name="account_server_settings_validation_error_server_required">Nome server obbligatorio</string>
|
||||
<string name="account_server_settings_validation_error_username_required">Nome utente obbligatorio</string>
|
||||
<string name="account_server_settings_outgoing_top_bar_title">Impostazioni server in uscita</string>
|
||||
<string name="account_server_settings_validation_error_password_required">Password obbligatoria</string>
|
||||
<string name="account_server_settings_authentication_client_oauth">OAuth 2.0</string>
|
||||
<string name="account_server_settings_authentication_none">Nessuno</string>
|
||||
<string name="account_server_settings_authentication_password_encrypted">Password criptata</string>
|
||||
<string name="account_server_settings_incoming_imap_namespace_label">Rileva automaticamente namespace IMAP</string>
|
||||
<string name="account_server_settings_incoming_top_bar_title">Impostazioni server in arrivo</string>
|
||||
<string name="account_server_settings_authentication_password_cleartext">Password</string>
|
||||
<string name="account_server_settings_authentication_label">Autenticazione</string>
|
||||
<string name="account_server_settings_connection_security_none">Nessuno</string>
|
||||
<string name="account_server_settings_port_label">Porta</string>
|
||||
<string name="account_server_settings_incoming_imap_compression_label">Usa la compressione</string>
|
||||
<string name="account_server_settings_validation_error_port_required">Porta obbligatoria</string>
|
||||
<string name="account_server_settings_authentication_client_certificate">Certificato del client</string>
|
||||
<string name="account_server_settings_incoming_imap_prefix_label">Prefisso del percorso IMAP</string>
|
||||
<string name="account_server_settings_connection_security_ssl">SSL/TLS</string>
|
||||
<string name="account_server_settings_protocol_type_label">Protocollo</string>
|
||||
<string name="account_server_settings_username_label">Nome utente</string>
|
||||
<string name="account_server_settings_validation_error_port_invalid">Porta non valida (compresa tra 1–65535)</string>
|
||||
<string name="account_server_settings_connection_security_start_tls">StartTLS</string>
|
||||
<string name="account_server_settings_client_certificate_label">Certificato del client</string>
|
||||
<string name="account_server_settings_validation_error_imap_prefix_blank">Il prefisso IMAP non può essere vuoto</string>
|
||||
<string name="account_server_settings_client_certificate_none_selected">Nessuno</string>
|
||||
<string name="account_server_settings_server_label">Server</string>
|
||||
<string name="account_server_settings_security_label">Sicurezza</string>
|
||||
<string name="account_server_settings_password_authentication_title">Verifica la tua identità</string>
|
||||
<string name="account_server_settings_password_authentication_subtitle">Sblocca per visualizzare la password</string>
|
||||
<string name="account_server_settings_password_authentication_screen_lock_required">Per visualizzare la password qui, attiva il blocco schermo su questo dispositivo</string>
|
||||
<string name="account_server_settings_validation_error_server_invalid_ip_or_hostname">IP o hostname invalido</string>
|
||||
<string name="account_server_settings_incoming_imap_send_client_info_label">Invia informazioni sul client</string>
|
||||
</resources>
|
||||
|
|
@ -0,0 +1,35 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<string name="account_server_settings_password_authentication_title">אמת את זהותך</string>
|
||||
<string name="account_server_settings_password_authentication_subtitle">בטל את הנעילה כדי לראות את הסיסמה שלך</string>
|
||||
<string name="account_server_settings_password_authentication_screen_lock_required">כדי להציג את הסיסמה שלך כאן, הפעל נעילת מסך במכשיר זה.</string>
|
||||
<string name="account_server_settings_protocol_type_label">פרוטוקול</string>
|
||||
<string name="account_server_settings_server_label">שרת</string>
|
||||
<string name="account_server_settings_security_label">אבטחה</string>
|
||||
<string name="account_server_settings_port_label">פורט</string>
|
||||
<string name="account_server_settings_authentication_label">אימות</string>
|
||||
<string name="account_server_settings_username_label">שם משתמש</string>
|
||||
<string name="account_server_settings_connection_security_none">כלום</string>
|
||||
<string name="account_server_settings_connection_security_start_tls">StartTLS</string>
|
||||
<string name="account_server_settings_connection_security_ssl">SSL/TLS</string>
|
||||
<string name="account_server_settings_authentication_none">כלום</string>
|
||||
<string name="account_server_settings_authentication_password_cleartext">סיסמה רגילה</string>
|
||||
<string name="account_server_settings_authentication_password_encrypted">סיסמה מוצפנת</string>
|
||||
<string name="account_server_settings_authentication_client_certificate">תעודת לקוח</string>
|
||||
<string name="account_server_settings_validation_error_imap_prefix_blank">קידומת IMAP לא יכולה להיות ריקה.</string>
|
||||
<string name="account_server_settings_validation_error_server_invalid_ip_or_hostname">IP או שם מארח לא חוקיים</string>
|
||||
<string name="account_server_settings_authentication_client_oauth">OAuth 2.0</string>
|
||||
<string name="account_server_settings_client_certificate_none_selected">כלום</string>
|
||||
<string name="account_server_settings_client_certificate_label">תעודת לקוח</string>
|
||||
<string name="account_server_settings_incoming_top_bar_title">הגדרות שרת דואר נכנס</string>
|
||||
<string name="account_server_settings_incoming_imap_namespace_label">זהה אוטומטית מרחב שמות של IMAP</string>
|
||||
<string name="account_server_settings_incoming_imap_prefix_label">קידומת נתיב IMAP</string>
|
||||
<string name="account_server_settings_incoming_imap_compression_label">השתמש בדחיסה</string>
|
||||
<string name="account_server_settings_validation_error_port_invalid">הפורט לא חוקי (חייב להיות בין 1–65535).</string>
|
||||
<string name="account_server_settings_validation_error_username_required">נדרש שם משתמש.</string>
|
||||
<string name="account_server_settings_outgoing_top_bar_title">הגדרות שרת דואר יוצא</string>
|
||||
<string name="account_server_settings_validation_error_server_required">נדרש שם שרת.</string>
|
||||
<string name="account_server_settings_validation_error_port_required">נדרש פורט.</string>
|
||||
<string name="account_server_settings_validation_error_password_required">דרושה סיסמה.</string>
|
||||
<string name="account_server_settings_incoming_imap_send_client_info_label">שלח מידע לקוח</string>
|
||||
</resources>
|
||||
|
|
@ -0,0 +1,35 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<string name="account_server_settings_validation_error_server_required">サーバー名は必須です。</string>
|
||||
<string name="account_server_settings_validation_error_username_required">ユーザー名は必須です。</string>
|
||||
<string name="account_server_settings_outgoing_top_bar_title">送信サーバー設定</string>
|
||||
<string name="account_server_settings_validation_error_password_required">パスワードは必須です。</string>
|
||||
<string name="account_server_settings_authentication_client_oauth">OAuth 2.0</string>
|
||||
<string name="account_server_settings_authentication_none">なし</string>
|
||||
<string name="account_server_settings_authentication_password_encrypted">暗号化されたパスワード認証</string>
|
||||
<string name="account_server_settings_incoming_imap_namespace_label">IMAP 名前空間を自動検出する</string>
|
||||
<string name="account_server_settings_incoming_top_bar_title">受信サーバー設定</string>
|
||||
<string name="account_server_settings_authentication_password_cleartext">通常のパスワード認証</string>
|
||||
<string name="account_server_settings_authentication_label">認証方式</string>
|
||||
<string name="account_server_settings_connection_security_none">なし</string>
|
||||
<string name="account_server_settings_port_label">ポート番号</string>
|
||||
<string name="account_server_settings_incoming_imap_compression_label">圧縮を使用する</string>
|
||||
<string name="account_server_settings_validation_error_port_required">ポート番号は必須です。</string>
|
||||
<string name="account_server_settings_authentication_client_certificate">クライアント証明書認証</string>
|
||||
<string name="account_server_settings_incoming_imap_prefix_label">IMAP ルートフォルダーパス</string>
|
||||
<string name="account_server_settings_connection_security_ssl">SSL/TLS</string>
|
||||
<string name="account_server_settings_protocol_type_label">プロトコル</string>
|
||||
<string name="account_server_settings_username_label">ユーザー名</string>
|
||||
<string name="account_server_settings_validation_error_port_invalid">ポート番号が無効です (1-65535 の範囲内)。</string>
|
||||
<string name="account_server_settings_connection_security_start_tls">StartTLS</string>
|
||||
<string name="account_server_settings_client_certificate_label">クライアント証明書</string>
|
||||
<string name="account_server_settings_validation_error_imap_prefix_blank">IMAP プレフィックスは空欄にはできません。</string>
|
||||
<string name="account_server_settings_client_certificate_none_selected">なし</string>
|
||||
<string name="account_server_settings_server_label">サーバー</string>
|
||||
<string name="account_server_settings_security_label">セキュリティ</string>
|
||||
<string name="account_server_settings_password_authentication_title">本人確認</string>
|
||||
<string name="account_server_settings_password_authentication_subtitle">ロック解除してパスワードを表示</string>
|
||||
<string name="account_server_settings_password_authentication_screen_lock_required">ここでパスワードを表示するには、端末に画面ロックを設定してください。</string>
|
||||
<string name="account_server_settings_validation_error_server_invalid_ip_or_hostname">無効な IP アドレスまたはホスト名です</string>
|
||||
<string name="account_server_settings_incoming_imap_send_client_info_label">クライアントの情報を送信する</string>
|
||||
</resources>
|
||||
|
|
@ -0,0 +1,2 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources></resources>
|
||||
|
|
@ -0,0 +1,2 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources></resources>
|
||||
|
|
@ -0,0 +1,10 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<string name="account_server_settings_protocol_type_label">Протокол</string>
|
||||
<string name="account_server_settings_security_label">Қауіпсіздік</string>
|
||||
<string name="account_server_settings_server_label">Сервер</string>
|
||||
<string name="account_server_settings_port_label">Порт</string>
|
||||
<string name="account_server_settings_authentication_label">Аутентификация</string>
|
||||
<string name="account_server_settings_username_label">Пайдаланушы аты</string>
|
||||
<string name="account_server_settings_connection_security_none">Ешнәрсе</string>
|
||||
</resources>
|
||||
|
|
@ -0,0 +1,35 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<string name="account_server_settings_validation_error_username_required">사용자명이 필요합니다.</string>
|
||||
<string name="account_server_settings_authentication_password_encrypted">암호화된 비밀번호</string>
|
||||
<string name="account_server_settings_incoming_imap_namespace_label">IMAP 네임스페이스 자동 탐지</string>
|
||||
<string name="account_server_settings_incoming_top_bar_title">수신 서버 설정</string>
|
||||
<string name="account_server_settings_authentication_label">인증</string>
|
||||
<string name="account_server_settings_port_label">포트</string>
|
||||
<string name="account_server_settings_authentication_client_certificate">클라이언트 인증서</string>
|
||||
<string name="account_server_settings_protocol_type_label">프로토콜</string>
|
||||
<string name="account_server_settings_username_label">사용자명</string>
|
||||
<string name="account_server_settings_validation_error_port_invalid">포트가 유효하지 않음 (1-65535 사이).</string>
|
||||
<string name="account_server_settings_client_certificate_label">클라이언트 인증서</string>
|
||||
<string name="account_server_settings_server_label">서버</string>
|
||||
<string name="account_server_settings_security_label">보안</string>
|
||||
<string name="account_server_settings_validation_error_imap_prefix_blank">IMAP 접두사는 비워 둘 수 없습니다.</string>
|
||||
<string name="account_server_settings_validation_error_server_invalid_ip_or_hostname">잘못된 IP 또는 호스트 이름</string>
|
||||
<string name="account_server_settings_password_authentication_subtitle">비밀번호를 보려면 잠금 해제하세요</string>
|
||||
<string name="account_server_settings_password_authentication_screen_lock_required">여기서 비밀번호를 보려면, 기기에 잠금 화면을 설정하세요.</string>
|
||||
<string name="account_server_settings_validation_error_password_required">비밀번호가 필요합니다.</string>
|
||||
<string name="account_server_settings_incoming_imap_prefix_label">IMAP 경로 접두사</string>
|
||||
<string name="account_server_settings_incoming_imap_compression_label">압축 사용</string>
|
||||
<string name="account_server_settings_outgoing_top_bar_title">발신 서버 설정</string>
|
||||
<string name="account_server_settings_client_certificate_none_selected">없음</string>
|
||||
<string name="account_server_settings_validation_error_port_required">포트가 필요합니다.</string>
|
||||
<string name="account_server_settings_connection_security_none">없음</string>
|
||||
<string name="account_server_settings_connection_security_start_tls">StartTLS</string>
|
||||
<string name="account_server_settings_connection_security_ssl">SSL/TLS</string>
|
||||
<string name="account_server_settings_authentication_none">없음</string>
|
||||
<string name="account_server_settings_authentication_client_oauth">OAuth 2.0</string>
|
||||
<string name="account_server_settings_validation_error_server_required">서버 이름이 필요합니다.</string>
|
||||
<string name="account_server_settings_password_authentication_title">본인 확인</string>
|
||||
<string name="account_server_settings_incoming_imap_send_client_info_label">클라이언트 정보 전송</string>
|
||||
<string name="account_server_settings_authentication_password_cleartext">평문 비밀번호</string>
|
||||
</resources>
|
||||
|
|
@ -0,0 +1,34 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<string name="account_server_settings_validation_error_password_required">Slaptažodį nurodyti būtina.</string>
|
||||
<string name="account_server_settings_password_authentication_subtitle">Atrakinkite slaptažodžiui pamatyti</string>
|
||||
<string name="account_server_settings_protocol_type_label">Protokolas</string>
|
||||
<string name="account_server_settings_connection_security_start_tls">StartTLS</string>
|
||||
<string name="account_server_settings_connection_security_ssl">SSL/TLS</string>
|
||||
<string name="account_server_settings_incoming_imap_prefix_label">IMAP kelio prefiksas</string>
|
||||
<string name="account_server_settings_validation_error_server_invalid_ip_or_hostname">Neleistinas IP adresas ar serverio vardas</string>
|
||||
<string name="account_server_settings_validation_error_port_invalid">Prievadas neleistinas (leistinos reikšmės – 1–65535).</string>
|
||||
<string name="account_server_settings_validation_error_username_required">Naudotojo vardą nurodyti būtina.</string>
|
||||
<string name="account_server_settings_password_authentication_title">Patvirtinkite savo tapatybę</string>
|
||||
<string name="account_server_settings_password_authentication_screen_lock_required">Kad čia matytumėte slaptažodį, šiame įrenginyje įgalinkite ekrano užraktą.</string>
|
||||
<string name="account_server_settings_validation_error_imap_prefix_blank">IMAP prefiksas negali būti tuščias.</string>
|
||||
<string name="account_server_settings_server_label">Serveris</string>
|
||||
<string name="account_server_settings_security_label">Šifravimas</string>
|
||||
<string name="account_server_settings_port_label">Prievadas</string>
|
||||
<string name="account_server_settings_authentication_label">Tapatumo nustatymas</string>
|
||||
<string name="account_server_settings_username_label">Naudotojo vardas</string>
|
||||
<string name="account_server_settings_connection_security_none">Jokio</string>
|
||||
<string name="account_server_settings_authentication_none">Jokio</string>
|
||||
<string name="account_server_settings_authentication_password_cleartext">Paprastas slaptažodis</string>
|
||||
<string name="account_server_settings_authentication_password_encrypted">Šifruotas slaptažodis</string>
|
||||
<string name="account_server_settings_authentication_client_certificate">Kliento liudijimas</string>
|
||||
<string name="account_server_settings_authentication_client_oauth">OAuth 2.0</string>
|
||||
<string name="account_server_settings_client_certificate_none_selected">Jokio</string>
|
||||
<string name="account_server_settings_client_certificate_label">Kliento liudijimas</string>
|
||||
<string name="account_server_settings_incoming_top_bar_title">Gaunamų laiškų serverio parametrai</string>
|
||||
<string name="account_server_settings_incoming_imap_namespace_label">Automatiškai aptikti IMAP vardų erdvę</string>
|
||||
<string name="account_server_settings_incoming_imap_compression_label">Naudoti glaudinimą</string>
|
||||
<string name="account_server_settings_outgoing_top_bar_title">Siunčiamų laiškų serverio parametrai</string>
|
||||
<string name="account_server_settings_validation_error_server_required">Serverio vardą nurodyti būtina.</string>
|
||||
<string name="account_server_settings_validation_error_port_required">Prievadą nurodyti būtina.</string>
|
||||
</resources>
|
||||
|
|
@ -0,0 +1,2 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources></resources>
|
||||
|
|
@ -0,0 +1,2 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources></resources>
|
||||
|
|
@ -0,0 +1,35 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<string name="account_server_settings_validation_error_server_required">Tjenernavn kreves.</string>
|
||||
<string name="account_server_settings_validation_error_username_required">Brukernavn kreves.</string>
|
||||
<string name="account_server_settings_outgoing_top_bar_title">Innstillinger for utgående tjener</string>
|
||||
<string name="account_server_settings_validation_error_password_required">Passord kreves.</string>
|
||||
<string name="account_server_settings_authentication_client_oauth">OAuth 2.0</string>
|
||||
<string name="account_server_settings_authentication_none">Ingen</string>
|
||||
<string name="account_server_settings_authentication_password_encrypted">Kryptert passord</string>
|
||||
<string name="account_server_settings_incoming_imap_namespace_label">Oppdag IMAP-navnerom automatisk</string>
|
||||
<string name="account_server_settings_incoming_top_bar_title">Innkommende tjenerinnstillinger</string>
|
||||
<string name="account_server_settings_authentication_password_cleartext">Normalt passord</string>
|
||||
<string name="account_server_settings_authentication_label">Autentisering</string>
|
||||
<string name="account_server_settings_connection_security_none">Ingen</string>
|
||||
<string name="account_server_settings_port_label">Port</string>
|
||||
<string name="account_server_settings_incoming_imap_compression_label">Bruk sammenpakking</string>
|
||||
<string name="account_server_settings_validation_error_port_required">Port kreves.</string>
|
||||
<string name="account_server_settings_authentication_client_certificate">Klientsertifikat</string>
|
||||
<string name="account_server_settings_incoming_imap_prefix_label">IMAP-stiforstavelse</string>
|
||||
<string name="account_server_settings_connection_security_ssl">SSL/TLS</string>
|
||||
<string name="account_server_settings_protocol_type_label">Protokoll</string>
|
||||
<string name="account_server_settings_username_label">Brukernavn</string>
|
||||
<string name="account_server_settings_validation_error_port_invalid">Ugyldig port (må være 1–65535).</string>
|
||||
<string name="account_server_settings_connection_security_start_tls">StartTLS</string>
|
||||
<string name="account_server_settings_client_certificate_label">Klientsertifikat</string>
|
||||
<string name="account_server_settings_validation_error_imap_prefix_blank">IMAP-forstavelse må fylles ut.</string>
|
||||
<string name="account_server_settings_client_certificate_none_selected">Ingen</string>
|
||||
<string name="account_server_settings_server_label">Server</string>
|
||||
<string name="account_server_settings_security_label">Sikkerhet</string>
|
||||
<string name="account_server_settings_password_authentication_title">Bekreft din identitet</string>
|
||||
<string name="account_server_settings_password_authentication_subtitle">Lås opp for å vise passordet ditt</string>
|
||||
<string name="account_server_settings_password_authentication_screen_lock_required">Skru på skjermlås for enheten for å vise passordet ditt her.</string>
|
||||
<string name="account_server_settings_validation_error_server_invalid_ip_or_hostname">Ugyldig IP eller vertsnavn</string>
|
||||
<string name="account_server_settings_incoming_imap_send_client_info_label">Send klientinformasjon</string>
|
||||
</resources>
|
||||
|
|
@ -0,0 +1,35 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<string name="account_server_settings_validation_error_server_required">Servernaam is vereist.</string>
|
||||
<string name="account_server_settings_validation_error_username_required">Gebruikersnaam is vereist.</string>
|
||||
<string name="account_server_settings_outgoing_top_bar_title">Uitgaande-serverinstellingen</string>
|
||||
<string name="account_server_settings_validation_error_password_required">Wachtwoord is vereist.</string>
|
||||
<string name="account_server_settings_authentication_client_oauth">OAuth 2.0</string>
|
||||
<string name="account_server_settings_authentication_none">Geen</string>
|
||||
<string name="account_server_settings_authentication_password_encrypted">Versleuteld wachtwoord</string>
|
||||
<string name="account_server_settings_incoming_imap_namespace_label">IMAP-namespace automatisch detecteren</string>
|
||||
<string name="account_server_settings_incoming_top_bar_title">Inkomende-serverinstellingen</string>
|
||||
<string name="account_server_settings_authentication_password_cleartext">Normaal wachtwoord</string>
|
||||
<string name="account_server_settings_password_authentication_title">Uw identiteit verifiëren</string>
|
||||
<string name="account_server_settings_authentication_label">Authenticatie</string>
|
||||
<string name="account_server_settings_connection_security_none">Geen</string>
|
||||
<string name="account_server_settings_port_label">Poort</string>
|
||||
<string name="account_server_settings_incoming_imap_compression_label">Compressie gebruiken</string>
|
||||
<string name="account_server_settings_validation_error_port_required">Poort is vereist.</string>
|
||||
<string name="account_server_settings_authentication_client_certificate">Clientcertificaat</string>
|
||||
<string name="account_server_settings_incoming_imap_prefix_label">Prefix IMAP-pad</string>
|
||||
<string name="account_server_settings_connection_security_ssl">SSL/TLS</string>
|
||||
<string name="account_server_settings_protocol_type_label">Protocol</string>
|
||||
<string name="account_server_settings_password_authentication_subtitle">Ontgrendel om uw wachtwoord te zien</string>
|
||||
<string name="account_server_settings_username_label">Gebruikersnaam</string>
|
||||
<string name="account_server_settings_validation_error_port_invalid">Poort is ongeldig (moet liggen tussen 1-65535).</string>
|
||||
<string name="account_server_settings_connection_security_start_tls">StartTLS</string>
|
||||
<string name="account_server_settings_client_certificate_label">Clientcertificaat</string>
|
||||
<string name="account_server_settings_validation_error_imap_prefix_blank">IMAP-prefix mag niet leeg zijn.</string>
|
||||
<string name="account_server_settings_client_certificate_none_selected">Geen</string>
|
||||
<string name="account_server_settings_password_authentication_screen_lock_required">Schakel schermbeveiliging op dit apparaat in, om hier uw wachtwoord te zien.</string>
|
||||
<string name="account_server_settings_server_label">Server</string>
|
||||
<string name="account_server_settings_security_label">Beveiliging</string>
|
||||
<string name="account_server_settings_validation_error_server_invalid_ip_or_hostname">Verkeerd IP-adres of hostnaam</string>
|
||||
<string name="account_server_settings_incoming_imap_send_client_info_label">Clientinformatie versturen</string>
|
||||
</resources>
|
||||
|
|
@ -0,0 +1,35 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<string name="account_server_settings_validation_error_port_invalid">Ugyldig port (må vere 1–65535).</string>
|
||||
<string name="account_server_settings_validation_error_password_required">Passord påkravd.</string>
|
||||
<string name="account_server_settings_password_authentication_subtitle">Lås opp for å vise passordet ditt</string>
|
||||
<string name="account_server_settings_protocol_type_label">Protokoll</string>
|
||||
<string name="account_server_settings_server_label">Tenar</string>
|
||||
<string name="account_server_settings_security_label">Tryggleik</string>
|
||||
<string name="account_server_settings_username_label">Brukarnamn</string>
|
||||
<string name="account_server_settings_connection_security_none">Ingen</string>
|
||||
<string name="account_server_settings_connection_security_start_tls">StartTLS</string>
|
||||
<string name="account_server_settings_connection_security_ssl">SSL/TLS</string>
|
||||
<string name="account_server_settings_authentication_none">Ingen</string>
|
||||
<string name="account_server_settings_authentication_client_certificate">Klientsertifikat</string>
|
||||
<string name="account_server_settings_authentication_client_oauth">OAuth 2.0</string>
|
||||
<string name="account_server_settings_client_certificate_none_selected">Ingen</string>
|
||||
<string name="account_server_settings_client_certificate_label">Klientsertifikat</string>
|
||||
<string name="account_server_settings_incoming_top_bar_title">Innkomande serverinnstillingar</string>
|
||||
<string name="account_server_settings_incoming_imap_compression_label">Bruk samanpakking</string>
|
||||
<string name="account_server_settings_outgoing_top_bar_title">Utgåande serverinnstillingar</string>
|
||||
<string name="account_server_settings_validation_error_server_required">Servernamn er påkravd.</string>
|
||||
<string name="account_server_settings_validation_error_port_required">Port er npåkravd.</string>
|
||||
<string name="account_server_settings_port_label">Port</string>
|
||||
<string name="account_server_settings_incoming_imap_namespace_label">Oppdag IMAP-navnerom automatisk</string>
|
||||
<string name="account_server_settings_authentication_password_cleartext">Normalt passord</string>
|
||||
<string name="account_server_settings_authentication_password_encrypted">Kryptert passord</string>
|
||||
<string name="account_server_settings_incoming_imap_send_client_info_label">Send klientinformasjon</string>
|
||||
<string name="account_server_settings_validation_error_server_invalid_ip_or_hostname">Ugyldig IP eller vertsnamn</string>
|
||||
<string name="account_server_settings_validation_error_username_required">Brukarnamn påkravd.</string>
|
||||
<string name="account_server_settings_password_authentication_screen_lock_required">For å sjå passordet ditt her, aktiver skjermlås på denne eininga.</string>
|
||||
<string name="account_server_settings_password_authentication_title">Verifiser din identitet</string>
|
||||
<string name="account_server_settings_validation_error_imap_prefix_blank">IMAP prefiks kan ikkje vere tom.</string>
|
||||
<string name="account_server_settings_authentication_label">Autentisering</string>
|
||||
<string name="account_server_settings_incoming_imap_prefix_label">IMAP-sti prefiks</string>
|
||||
</resources>
|
||||
|
|
@ -0,0 +1,35 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<string name="account_server_settings_validation_error_server_required">Nazwa serwera jest wymagana.</string>
|
||||
<string name="account_server_settings_validation_error_username_required">Nazwa użytkownika jest wymagana.</string>
|
||||
<string name="account_server_settings_outgoing_top_bar_title">Ustawienia serwera poczty wychodzącej</string>
|
||||
<string name="account_server_settings_validation_error_password_required">Hasło jest wymagane.</string>
|
||||
<string name="account_server_settings_authentication_client_oauth">OAuth 2.0</string>
|
||||
<string name="account_server_settings_authentication_none">Brak</string>
|
||||
<string name="account_server_settings_authentication_password_encrypted">Zaszyfrowane hasło</string>
|
||||
<string name="account_server_settings_incoming_imap_namespace_label">Automatycznie wykrywaj przestrzeń nazw IMAP</string>
|
||||
<string name="account_server_settings_incoming_top_bar_title">Ustawienia serwera poczty przychodzącej</string>
|
||||
<string name="account_server_settings_authentication_password_cleartext">Zwykłe hasło</string>
|
||||
<string name="account_server_settings_authentication_label">Uwierzytelnianie</string>
|
||||
<string name="account_server_settings_connection_security_none">Brak</string>
|
||||
<string name="account_server_settings_port_label">Port</string>
|
||||
<string name="account_server_settings_incoming_imap_compression_label">Użyj kompresji</string>
|
||||
<string name="account_server_settings_validation_error_port_required">Port jest wymagany.</string>
|
||||
<string name="account_server_settings_authentication_client_certificate">Certyfikat klienta</string>
|
||||
<string name="account_server_settings_incoming_imap_prefix_label">Prefiks ścieżki IMAP</string>
|
||||
<string name="account_server_settings_connection_security_ssl">SSL/TLS</string>
|
||||
<string name="account_server_settings_protocol_type_label">Protokół</string>
|
||||
<string name="account_server_settings_username_label">Nazwa użytkownika</string>
|
||||
<string name="account_server_settings_validation_error_port_invalid">Port jest nieprawidłowy (musi mieć wartość 1-65535).</string>
|
||||
<string name="account_server_settings_connection_security_start_tls">StartTLS</string>
|
||||
<string name="account_server_settings_client_certificate_label">Certyfikat klienta</string>
|
||||
<string name="account_server_settings_validation_error_imap_prefix_blank">Prefiks IMAP nie może być pusty.</string>
|
||||
<string name="account_server_settings_client_certificate_none_selected">Brak</string>
|
||||
<string name="account_server_settings_server_label">Serwer</string>
|
||||
<string name="account_server_settings_security_label">Zabezpieczenia</string>
|
||||
<string name="account_server_settings_password_authentication_title">Zweryfikuj swoją tożsamość</string>
|
||||
<string name="account_server_settings_password_authentication_subtitle">Odblokuj, aby zobaczyć swoje hasło</string>
|
||||
<string name="account_server_settings_password_authentication_screen_lock_required">Aby zobaczyć tutaj swoje hasło, ustaw blokadę ekranu na tym urządzeniu.</string>
|
||||
<string name="account_server_settings_validation_error_server_invalid_ip_or_hostname">Nieprawidłowy adres IP lub nazwa hosta</string>
|
||||
<string name="account_server_settings_incoming_imap_send_client_info_label">Wyślij informacje o kliencie</string>
|
||||
</resources>
|
||||
|
|
@ -0,0 +1,35 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<string name="account_server_settings_validation_error_server_required">Nome do servidor é obrigatório.</string>
|
||||
<string name="account_server_settings_validation_error_username_required">Nome de usuário é obrigatório.</string>
|
||||
<string name="account_server_settings_outgoing_top_bar_title">Configuração do servidor de saída</string>
|
||||
<string name="account_server_settings_validation_error_password_required">Senha é obrigatória.</string>
|
||||
<string name="account_server_settings_authentication_client_oauth">OAuth 2.0</string>
|
||||
<string name="account_server_settings_authentication_none">Nenhum</string>
|
||||
<string name="account_server_settings_authentication_password_encrypted">Senha criptografada</string>
|
||||
<string name="account_server_settings_incoming_imap_namespace_label">Detectar namespace IMAP automaticamente</string>
|
||||
<string name="account_server_settings_incoming_top_bar_title">Configuração do servidor de entrada</string>
|
||||
<string name="account_server_settings_authentication_password_cleartext">Senha normal</string>
|
||||
<string name="account_server_settings_password_authentication_title">Verifique sua identidade</string>
|
||||
<string name="account_server_settings_authentication_label">Autenticação</string>
|
||||
<string name="account_server_settings_connection_security_none">Nenhum</string>
|
||||
<string name="account_server_settings_port_label">Porta</string>
|
||||
<string name="account_server_settings_incoming_imap_compression_label">Usar compressão</string>
|
||||
<string name="account_server_settings_validation_error_port_required">Porta é obrigatória.</string>
|
||||
<string name="account_server_settings_authentication_client_certificate">Certificado de usuário</string>
|
||||
<string name="account_server_settings_incoming_imap_prefix_label">Prefixo do caminho de IMAP</string>
|
||||
<string name="account_server_settings_connection_security_ssl">SSL/TLS</string>
|
||||
<string name="account_server_settings_protocol_type_label">Protocolo</string>
|
||||
<string name="account_server_settings_password_authentication_subtitle">Desbloqueie para ver sua senha</string>
|
||||
<string name="account_server_settings_username_label">Nome de usuário</string>
|
||||
<string name="account_server_settings_validation_error_port_invalid">Porta inválida (deve ser de 1 a 65535).</string>
|
||||
<string name="account_server_settings_connection_security_start_tls">StartTLS</string>
|
||||
<string name="account_server_settings_client_certificate_label">Certificado de cliente</string>
|
||||
<string name="account_server_settings_validation_error_imap_prefix_blank">Prefixo de IMAP não pode estar vazio.</string>
|
||||
<string name="account_server_settings_client_certificate_none_selected">Nenhum</string>
|
||||
<string name="account_server_settings_password_authentication_screen_lock_required">Para ver sua senha aqui, ative bloqueio de tela neste dispositivo.</string>
|
||||
<string name="account_server_settings_server_label">Servidor</string>
|
||||
<string name="account_server_settings_security_label">Segurança</string>
|
||||
<string name="account_server_settings_validation_error_server_invalid_ip_or_hostname">Endereço IP ou nome de servidor inválido</string>
|
||||
<string name="account_server_settings_incoming_imap_send_client_info_label">Enviar informações do cliente</string>
|
||||
</resources>
|
||||
|
|
@ -0,0 +1,35 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<string name="account_server_settings_validation_error_server_required">Nome do servidor é necessário.</string>
|
||||
<string name="account_server_settings_validation_error_username_required">Nome de utilizador é necessário.</string>
|
||||
<string name="account_server_settings_outgoing_top_bar_title">Configurações do servidor de saída</string>
|
||||
<string name="account_server_settings_validation_error_password_required">Palavra-chave é necessária.</string>
|
||||
<string name="account_server_settings_authentication_client_oauth">OAuth 2.0</string>
|
||||
<string name="account_server_settings_authentication_none">Nenhum</string>
|
||||
<string name="account_server_settings_validation_error_server_invalid_ip_or_hostname">IP ou nome do servidor inválido</string>
|
||||
<string name="account_server_settings_authentication_password_encrypted">Palavra-chave encriptada</string>
|
||||
<string name="account_server_settings_incoming_imap_namespace_label">Detectar automaticamente o namespace do IMAP</string>
|
||||
<string name="account_server_settings_incoming_top_bar_title">Configurações do servidor de entrada</string>
|
||||
<string name="account_server_settings_authentication_password_cleartext">Palavra-chave normal</string>
|
||||
<string name="account_server_settings_password_authentication_title">Verificar a sua identidade</string>
|
||||
<string name="account_server_settings_authentication_label">Autenticação</string>
|
||||
<string name="account_server_settings_connection_security_none">Nenhum</string>
|
||||
<string name="account_server_settings_port_label">Porta</string>
|
||||
<string name="account_server_settings_incoming_imap_compression_label">Usar compressão</string>
|
||||
<string name="account_server_settings_validation_error_port_required">Porta é necessária.</string>
|
||||
<string name="account_server_settings_authentication_client_certificate">Certificado do cliente</string>
|
||||
<string name="account_server_settings_incoming_imap_prefix_label">Prefixo do caminho de IMAP</string>
|
||||
<string name="account_server_settings_connection_security_ssl">SSL/TLS</string>
|
||||
<string name="account_server_settings_protocol_type_label">Protocolo</string>
|
||||
<string name="account_server_settings_password_authentication_subtitle">Desbloquear para visualizar a sua password</string>
|
||||
<string name="account_server_settings_username_label">Nome de utilizador</string>
|
||||
<string name="account_server_settings_validation_error_port_invalid">Porta é inválida (tem que ser entre 1-65535).</string>
|
||||
<string name="account_server_settings_connection_security_start_tls">StartTLS</string>
|
||||
<string name="account_server_settings_client_certificate_label">Certificado do cliente</string>
|
||||
<string name="account_server_settings_validation_error_imap_prefix_blank">O prefixo de IMAP não pode estar em branco.</string>
|
||||
<string name="account_server_settings_client_certificate_none_selected">Nenum</string>
|
||||
<string name="account_server_settings_password_authentication_screen_lock_required">Para visualizar a sua palavra-chave aqui, ative o bloqueio de ecrã neste dispositivo.</string>
|
||||
<string name="account_server_settings_server_label">Servidor</string>
|
||||
<string name="account_server_settings_security_label">Segurança</string>
|
||||
<string name="account_server_settings_incoming_imap_send_client_info_label">Enviar informações do cliente</string>
|
||||
</resources>
|
||||
|
|
@ -0,0 +1,2 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources></resources>
|
||||
|
|
@ -0,0 +1,35 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<string name="account_server_settings_validation_error_server_required">Numele serverului este necesar.</string>
|
||||
<string name="account_server_settings_validation_error_username_required">Numele de utilizator este necesar.</string>
|
||||
<string name="account_server_settings_outgoing_top_bar_title">Setări server de expediere</string>
|
||||
<string name="account_server_settings_validation_error_password_required">Parola este necesară.</string>
|
||||
<string name="account_server_settings_authentication_client_oauth">OAuth 2.0</string>
|
||||
<string name="account_server_settings_authentication_none">Nimic</string>
|
||||
<string name="account_server_settings_authentication_password_encrypted">Parolă criptată</string>
|
||||
<string name="account_server_settings_incoming_imap_namespace_label">Auto-detectare IMAP namespace</string>
|
||||
<string name="account_server_settings_incoming_top_bar_title">Setări server de primire</string>
|
||||
<string name="account_server_settings_authentication_password_cleartext">Parolă normală</string>
|
||||
<string name="account_server_settings_authentication_label">Autentificare</string>
|
||||
<string name="account_server_settings_connection_security_none">Nimic</string>
|
||||
<string name="account_server_settings_port_label">Port</string>
|
||||
<string name="account_server_settings_incoming_imap_compression_label">Utilizează comprimarea</string>
|
||||
<string name="account_server_settings_validation_error_port_required">Portul este necesar.</string>
|
||||
<string name="account_server_settings_authentication_client_certificate">Certificat client</string>
|
||||
<string name="account_server_settings_incoming_imap_prefix_label">Prefix cale IMAP</string>
|
||||
<string name="account_server_settings_connection_security_ssl">SSL/TLS</string>
|
||||
<string name="account_server_settings_protocol_type_label">Protocol</string>
|
||||
<string name="account_server_settings_username_label">Nume de utilizator</string>
|
||||
<string name="account_server_settings_validation_error_port_invalid">Portul este greșit (trebuie să fie 1–65535).</string>
|
||||
<string name="account_server_settings_connection_security_start_tls">StartTLS</string>
|
||||
<string name="account_server_settings_client_certificate_label">Certificat client</string>
|
||||
<string name="account_server_settings_validation_error_imap_prefix_blank">Prefixul IMAP nu poate fi gol.</string>
|
||||
<string name="account_server_settings_client_certificate_none_selected">Nimic</string>
|
||||
<string name="account_server_settings_server_label">Server</string>
|
||||
<string name="account_server_settings_security_label">Securitate</string>
|
||||
<string name="account_server_settings_password_authentication_title">Verifică identitatea ta</string>
|
||||
<string name="account_server_settings_password_authentication_subtitle">Deblochează ca sa vezi parola</string>
|
||||
<string name="account_server_settings_password_authentication_screen_lock_required">Pentru a-ți vedea parola aici, activează ecranul de blocare pe acest dispozitiv.</string>
|
||||
<string name="account_server_settings_validation_error_server_invalid_ip_or_hostname">IP sau hostname invalid</string>
|
||||
<string name="account_server_settings_incoming_imap_send_client_info_label">Trimite informații despre client</string>
|
||||
</resources>
|
||||
|
|
@ -0,0 +1,35 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<string name="account_server_settings_incoming_imap_namespace_label">Автоматическое определение пространства имён IMAP</string>
|
||||
<string name="account_server_settings_outgoing_top_bar_title">Настройки исходящего сервера</string>
|
||||
<string name="account_server_settings_validation_error_server_invalid_ip_or_hostname">Недопустимый IP-адрес или имя хоста</string>
|
||||
<string name="account_server_settings_validation_error_port_invalid">Порт неверный (должен быть 1-65535).</string>
|
||||
<string name="account_server_settings_validation_error_password_required">Необходимо указать пароль.</string>
|
||||
<string name="account_server_settings_password_authentication_title">Подтвердите вашу личность</string>
|
||||
<string name="account_server_settings_password_authentication_subtitle">Разблокировка для просмотра пароля</string>
|
||||
<string name="account_server_settings_validation_error_imap_prefix_blank">Префикс IMAP не может быть пустым.</string>
|
||||
<string name="account_server_settings_server_label">Сервер</string>
|
||||
<string name="account_server_settings_protocol_type_label">Протокол</string>
|
||||
<string name="account_server_settings_security_label">Безопасность</string>
|
||||
<string name="account_server_settings_port_label">Порт</string>
|
||||
<string name="account_server_settings_authentication_label">Аутентификация</string>
|
||||
<string name="account_server_settings_connection_security_start_tls">StartTLS</string>
|
||||
<string name="account_server_settings_connection_security_ssl">SSL/TLS</string>
|
||||
<string name="account_server_settings_authentication_none">Нет</string>
|
||||
<string name="account_server_settings_authentication_password_cleartext">Обычный пароль</string>
|
||||
<string name="account_server_settings_authentication_password_encrypted">Зашифрованный пароль</string>
|
||||
<string name="account_server_settings_authentication_client_certificate">Сертификат клиента</string>
|
||||
<string name="account_server_settings_authentication_client_oauth">OAuth 2.0</string>
|
||||
<string name="account_server_settings_client_certificate_none_selected">Ничего</string>
|
||||
<string name="account_server_settings_client_certificate_label">Сертификат клиента</string>
|
||||
<string name="account_server_settings_incoming_top_bar_title">Настройки входящего сервера</string>
|
||||
<string name="account_server_settings_incoming_imap_prefix_label">Префикс пути IMAP</string>
|
||||
<string name="account_server_settings_incoming_imap_compression_label">Использовать сжатие</string>
|
||||
<string name="account_server_settings_connection_security_none">Ничего</string>
|
||||
<string name="account_server_settings_username_label">Имя пользователя</string>
|
||||
<string name="account_server_settings_validation_error_port_required">Необходимо указать порт.</string>
|
||||
<string name="account_server_settings_validation_error_username_required">Необходимо указать имя пользователя.</string>
|
||||
<string name="account_server_settings_validation_error_server_required">Необходимо указать имя сервера.</string>
|
||||
<string name="account_server_settings_password_authentication_screen_lock_required">Чтобы увидеть ваш пароль, включите блокировку экрана на этом устройстве.</string>
|
||||
<string name="account_server_settings_incoming_imap_send_client_info_label">Отправлять информацию о клиенте</string>
|
||||
</resources>
|
||||
|
|
@ -0,0 +1,35 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<string name="account_server_settings_protocol_type_label">Protokol</string>
|
||||
<string name="account_server_settings_server_label">Server</string>
|
||||
<string name="account_server_settings_security_label">Zabezpečenie</string>
|
||||
<string name="account_server_settings_authentication_none">Žiadne</string>
|
||||
<string name="account_server_settings_authentication_password_cleartext">Normálne heslo</string>
|
||||
<string name="account_server_settings_connection_security_none">Žiadne</string>
|
||||
<string name="account_server_settings_connection_security_ssl">SSL/TLS</string>
|
||||
<string name="account_server_settings_connection_security_start_tls">StartTLS</string>
|
||||
<string name="account_server_settings_validation_error_server_invalid_ip_or_hostname">Neplatná IP adresa alebo názov hostiteľa</string>
|
||||
<string name="account_server_settings_password_authentication_screen_lock_required">Ak si tu chcete zobraziť svoje heslo, povoľte zámku obrazovky tohto zariadenia.</string>
|
||||
<string name="account_server_settings_password_authentication_title">Overte svoju identitu</string>
|
||||
<string name="account_server_settings_password_authentication_subtitle">Ak chcete vidieť svoje heslo, odomknite</string>
|
||||
<string name="account_server_settings_port_label">Port</string>
|
||||
<string name="account_server_settings_authentication_label">Overenie</string>
|
||||
<string name="account_server_settings_username_label">Užívateľské meno</string>
|
||||
<string name="account_server_settings_authentication_password_encrypted">Zašifrované heslo</string>
|
||||
<string name="account_server_settings_authentication_client_certificate">Klientský certifikát</string>
|
||||
<string name="account_server_settings_authentication_client_oauth">OAuth 2.0</string>
|
||||
<string name="account_server_settings_client_certificate_none_selected">Žiadny</string>
|
||||
<string name="account_server_settings_client_certificate_label">Klientský certifikát</string>
|
||||
<string name="account_server_settings_incoming_top_bar_title">Nastavenie servera prichádzajúcej pošty</string>
|
||||
<string name="account_server_settings_incoming_imap_namespace_label">Automaticky zistiť menný priestor IMAPu</string>
|
||||
<string name="account_server_settings_incoming_imap_prefix_label">Predpona cesty IMAP</string>
|
||||
<string name="account_server_settings_incoming_imap_compression_label">Komprimovať</string>
|
||||
<string name="account_server_settings_validation_error_port_invalid">Port je neplatný (musí byť 1-65535).</string>
|
||||
<string name="account_server_settings_validation_error_username_required">Užívateľské meno je vyžadované.</string>
|
||||
<string name="account_server_settings_validation_error_imap_prefix_blank">Predpona IMAP nemôže byť prázdna.</string>
|
||||
<string name="account_server_settings_outgoing_top_bar_title">Nastavenie servera odchádzajúcej pošty</string>
|
||||
<string name="account_server_settings_validation_error_server_required">Názov servera je vyžadovaný.</string>
|
||||
<string name="account_server_settings_validation_error_port_required">Port je vyžadovaný.</string>
|
||||
<string name="account_server_settings_validation_error_password_required">Heslo je vyžadované.</string>
|
||||
<string name="account_server_settings_incoming_imap_send_client_info_label">Odoslať klientské informácie</string>
|
||||
</resources>
|
||||
|
|
@ -0,0 +1,35 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<string name="account_server_settings_validation_error_server_invalid_ip_or_hostname">Neveljaven IP ali ime gostitelja</string>
|
||||
<string name="account_server_settings_password_authentication_title">Preveri istovetnost</string>
|
||||
<string name="account_server_settings_incoming_imap_send_client_info_label">Pošlji podatke o odjemalcu</string>
|
||||
<string name="account_server_settings_port_label">Vrata</string>
|
||||
<string name="account_server_settings_authentication_label">Overitev</string>
|
||||
<string name="account_server_settings_connection_security_start_tls">StartTLS</string>
|
||||
<string name="account_server_settings_connection_security_ssl">SSL/TLS</string>
|
||||
<string name="account_server_settings_authentication_none">Brez</string>
|
||||
<string name="account_server_settings_authentication_password_cleartext">Običajno geslo</string>
|
||||
<string name="account_server_settings_authentication_password_encrypted">Šifrirano geslo</string>
|
||||
<string name="account_server_settings_authentication_client_certificate">Potrdilo odjemalca</string>
|
||||
<string name="account_server_settings_authentication_client_oauth">OAuth 2.0</string>
|
||||
<string name="account_server_settings_client_certificate_none_selected">Brez</string>
|
||||
<string name="account_server_settings_client_certificate_label">Potrdilo odjemalca</string>
|
||||
<string name="account_server_settings_incoming_top_bar_title">Nastavitve dohodnega strežnika</string>
|
||||
<string name="account_server_settings_incoming_imap_namespace_label">Samodejno zaznaj imenski prostor IMAP</string>
|
||||
<string name="account_server_settings_incoming_imap_prefix_label">Predpona poti IMAP</string>
|
||||
<string name="account_server_settings_incoming_imap_compression_label">Uporabi stiskanje</string>
|
||||
<string name="account_server_settings_validation_error_imap_prefix_blank">Predpona IMAP ne sme biti prazna.</string>
|
||||
<string name="account_server_settings_outgoing_top_bar_title">Nastavitve odhodnega strežnika</string>
|
||||
<string name="account_server_settings_validation_error_port_invalid">Vrata so neveljavna (morajo biti od 1 do 65535).</string>
|
||||
<string name="account_server_settings_validation_error_password_required">Geslo je zahtevan podatek.</string>
|
||||
<string name="account_server_settings_validation_error_server_required">Imenski prostor strežnika je zahtevan podatek.</string>
|
||||
<string name="account_server_settings_validation_error_port_required">Vrata so zahtevan podatek.</string>
|
||||
<string name="account_server_settings_validation_error_username_required">Uporabniško ime je zahtevan podatek.</string>
|
||||
<string name="account_server_settings_protocol_type_label">Protokol</string>
|
||||
<string name="account_server_settings_connection_security_none">Brez</string>
|
||||
<string name="account_server_settings_server_label">Strežnik</string>
|
||||
<string name="account_server_settings_security_label">Varnost</string>
|
||||
<string name="account_server_settings_username_label">Uporabniško ime</string>
|
||||
<string name="account_server_settings_password_authentication_subtitle">Odklenite, če želite prikazati svoje geslo.</string>
|
||||
<string name="account_server_settings_password_authentication_screen_lock_required">Če želite tukaj prikazati svoje geslo, na tej napravi omogočite zaklepanje zaslona.</string>
|
||||
</resources>
|
||||
|
|
@ -0,0 +1,35 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<string name="account_server_settings_validation_error_server_required">Emri i shërbyesit është i domosdoshëm.</string>
|
||||
<string name="account_server_settings_validation_error_username_required">Emri i përdoruesit është i domosdoshëm.</string>
|
||||
<string name="account_server_settings_outgoing_top_bar_title">Rregullime shërbyesi dërgimi mesazhesh</string>
|
||||
<string name="account_server_settings_validation_error_password_required">Fjalëkalimi është i domosdoshëm.</string>
|
||||
<string name="account_server_settings_authentication_client_oauth">OAuth 2.0</string>
|
||||
<string name="account_server_settings_authentication_none">Asnjë</string>
|
||||
<string name="account_server_settings_authentication_password_encrypted">Fjalëkalim të fshehtëzuar</string>
|
||||
<string name="account_server_settings_incoming_imap_namespace_label">Vetëpikas emërhapësirë IMAP</string>
|
||||
<string name="account_server_settings_incoming_top_bar_title">Rregullime shërbyesi marrjeje mesazhesh</string>
|
||||
<string name="account_server_settings_authentication_password_cleartext">Fjalëkalim normal</string>
|
||||
<string name="account_server_settings_authentication_label">Mirëfilltësim</string>
|
||||
<string name="account_server_settings_connection_security_none">Asnjë</string>
|
||||
<string name="account_server_settings_port_label">Portë</string>
|
||||
<string name="account_server_settings_incoming_imap_compression_label">Përdor ngjeshje</string>
|
||||
<string name="account_server_settings_validation_error_port_required">Porta është e domosdoshme.</string>
|
||||
<string name="account_server_settings_authentication_client_certificate">Dëshmi klienti</string>
|
||||
<string name="account_server_settings_incoming_imap_prefix_label">Parashtesë shtegu IMAP</string>
|
||||
<string name="account_server_settings_connection_security_ssl">SSL/TLS</string>
|
||||
<string name="account_server_settings_protocol_type_label">Protokoll</string>
|
||||
<string name="account_server_settings_username_label">Emër përdoruesi</string>
|
||||
<string name="account_server_settings_validation_error_port_invalid">Porta është e pavlefshme (duhet të jetë 1–65535).</string>
|
||||
<string name="account_server_settings_connection_security_start_tls">StartTLS</string>
|
||||
<string name="account_server_settings_client_certificate_label">Dëshmi klienti</string>
|
||||
<string name="account_server_settings_validation_error_imap_prefix_blank">Parashtesa për IMAP s’mund të jetë e zbrazët.</string>
|
||||
<string name="account_server_settings_client_certificate_none_selected">Asnjë</string>
|
||||
<string name="account_server_settings_server_label">Shërbyes</string>
|
||||
<string name="account_server_settings_security_label">Siguri</string>
|
||||
<string name="account_server_settings_password_authentication_title">Verifikoni identitetin tuaj</string>
|
||||
<string name="account_server_settings_password_authentication_subtitle">Që të shihni fjalëkalimin tuaj, shkyçeni</string>
|
||||
<string name="account_server_settings_password_authentication_screen_lock_required">Që të shihni këtu fjalëkalimin tuaj, aktivizoni në këtë pajisje kyçje ekrani.</string>
|
||||
<string name="account_server_settings_validation_error_server_invalid_ip_or_hostname">IP ose strehëemër i pavlefshëm</string>
|
||||
<string name="account_server_settings_incoming_imap_send_client_info_label">Dërgo hollësi klienti</string>
|
||||
</resources>
|
||||
|
|
@ -0,0 +1,35 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<string name="account_server_settings_connection_security_none">Нема</string>
|
||||
<string name="account_server_settings_connection_security_start_tls">StartTLS</string>
|
||||
<string name="account_server_settings_connection_security_ssl">SSL/TLS</string>
|
||||
<string name="account_server_settings_incoming_top_bar_title">Подешавања долазног сервера</string>
|
||||
<string name="account_server_settings_outgoing_top_bar_title">Подешавања одлазног сервера</string>
|
||||
<string name="account_server_settings_validation_error_port_invalid">Порт је неважећи (мора бити 1–65535).</string>
|
||||
<string name="account_server_settings_authentication_none">Ниједно</string>
|
||||
<string name="account_server_settings_authentication_password_cleartext">Нормална лозинка</string>
|
||||
<string name="account_server_settings_authentication_password_encrypted">Шифрована лозинка</string>
|
||||
<string name="account_server_settings_incoming_imap_namespace_label">Аутоматско откривање простора назива IMAP-а</string>
|
||||
<string name="account_server_settings_incoming_imap_prefix_label">Путања префикса IMAP-а</string>
|
||||
<string name="account_server_settings_incoming_imap_compression_label">Користи компресију</string>
|
||||
<string name="account_server_settings_validation_error_imap_prefix_blank">Префикс IMAP-а не може бити празан.</string>
|
||||
<string name="account_server_settings_validation_error_server_required">Назив сервера је обавезан.</string>
|
||||
<string name="account_server_settings_validation_error_port_required">Порт је обавезан.</string>
|
||||
<string name="account_server_settings_validation_error_username_required">Корисничко име је обавезно.</string>
|
||||
<string name="account_server_settings_validation_error_password_required">Лозинка је обавезна.</string>
|
||||
<string name="account_server_settings_password_authentication_title">Потврда идентитета</string>
|
||||
<string name="account_server_settings_validation_error_server_invalid_ip_or_hostname">Неважећа IP адреса или назив хоста</string>
|
||||
<string name="account_server_settings_password_authentication_subtitle">Откључајте да бисте видели своју лозинку</string>
|
||||
<string name="account_server_settings_password_authentication_screen_lock_required">Да бисте овде видели своју лозинку, омогућите закључавање екрана на овом уређају.</string>
|
||||
<string name="account_server_settings_incoming_imap_send_client_info_label">Пошаљи информације о клијенту</string>
|
||||
<string name="account_server_settings_protocol_type_label">Протокол</string>
|
||||
<string name="account_server_settings_server_label">Сервер</string>
|
||||
<string name="account_server_settings_security_label">Безбедност</string>
|
||||
<string name="account_server_settings_port_label">Порт</string>
|
||||
<string name="account_server_settings_authentication_label">Аутентификација</string>
|
||||
<string name="account_server_settings_username_label">Корисничко име</string>
|
||||
<string name="account_server_settings_authentication_client_certificate">Сертификат клијента</string>
|
||||
<string name="account_server_settings_authentication_client_oauth">OAuth 2.0</string>
|
||||
<string name="account_server_settings_client_certificate_none_selected">Нема</string>
|
||||
<string name="account_server_settings_client_certificate_label">Сертификат клијента</string>
|
||||
</resources>
|
||||
|
|
@ -0,0 +1,35 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<string name="account_server_settings_validation_error_server_required">Servernamn krävs.</string>
|
||||
<string name="account_server_settings_validation_error_username_required">Användarnamn krävs.</string>
|
||||
<string name="account_server_settings_outgoing_top_bar_title">Utgående serverinställningar</string>
|
||||
<string name="account_server_settings_validation_error_password_required">Lösenord krävs.</string>
|
||||
<string name="account_server_settings_authentication_client_oauth">OAuth 2.0</string>
|
||||
<string name="account_server_settings_authentication_none">Ingen</string>
|
||||
<string name="account_server_settings_authentication_password_encrypted">Krypterat lösenord</string>
|
||||
<string name="account_server_settings_incoming_imap_namespace_label">Upptäck automatiskt IMAP-namnutrymme</string>
|
||||
<string name="account_server_settings_incoming_top_bar_title">Inkommande serverinställningar</string>
|
||||
<string name="account_server_settings_authentication_password_cleartext">Normalt lösenord</string>
|
||||
<string name="account_server_settings_password_authentication_title">Verifiera din identitet</string>
|
||||
<string name="account_server_settings_incoming_imap_compression_label">Använd kompression</string>
|
||||
<string name="account_server_settings_validation_error_port_required">Port krävs.</string>
|
||||
<string name="account_server_settings_authentication_client_certificate">Klientcertifikat</string>
|
||||
<string name="account_server_settings_incoming_imap_prefix_label">IMAP-sökvägsprefix</string>
|
||||
<string name="account_server_settings_connection_security_ssl">SSL/TLS</string>
|
||||
<string name="account_server_settings_protocol_type_label">Protokoll</string>
|
||||
<string name="account_server_settings_password_authentication_subtitle">Lås upp för att visa ditt lösenord</string>
|
||||
<string name="account_server_settings_validation_error_port_invalid">Port är ogiltig (måste vara 1-65535).</string>
|
||||
<string name="account_server_settings_connection_security_start_tls">StartTLS</string>
|
||||
<string name="account_server_settings_client_certificate_label">Klientcertifikat</string>
|
||||
<string name="account_server_settings_validation_error_imap_prefix_blank">IMAP-prefixet får inte vara tomt.</string>
|
||||
<string name="account_server_settings_client_certificate_none_selected">Ingen</string>
|
||||
<string name="account_server_settings_password_authentication_screen_lock_required">För att se ditt lösenord här, aktivera skärmlås på den här enheten.</string>
|
||||
<string name="account_server_settings_server_label">Server</string>
|
||||
<string name="account_server_settings_security_label">Säkerhet</string>
|
||||
<string name="account_server_settings_authentication_label">Autentisering</string>
|
||||
<string name="account_server_settings_connection_security_none">Ingen</string>
|
||||
<string name="account_server_settings_port_label">Port</string>
|
||||
<string name="account_server_settings_username_label">Användarnamn</string>
|
||||
<string name="account_server_settings_validation_error_server_invalid_ip_or_hostname">Ogiltig IP eller värdnamn</string>
|
||||
<string name="account_server_settings_incoming_imap_send_client_info_label">Skicka klientinformation</string>
|
||||
</resources>
|
||||
|
|
@ -0,0 +1,3 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
</resources>
|
||||
|
|
@ -0,0 +1,35 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<string name="account_server_settings_username_label">பயனர்பெயர்</string>
|
||||
<string name="account_server_settings_connection_security_none">எதுவுமில்லை</string>
|
||||
<string name="account_server_settings_connection_security_start_tls">Startls</string>
|
||||
<string name="account_server_settings_connection_security_ssl">SSL/TLS</string>
|
||||
<string name="account_server_settings_authentication_none">எதுவுமில்லை</string>
|
||||
<string name="account_server_settings_authentication_password_cleartext">சாதாரண கடவுச்சொல்</string>
|
||||
<string name="account_server_settings_authentication_password_encrypted">மறைகுறியாக்கப்பட்ட கடவுச்சொல்</string>
|
||||
<string name="account_server_settings_authentication_client_certificate">வாடிக்கையாளர் சான்றிதழ்</string>
|
||||
<string name="account_server_settings_authentication_client_oauth">OAUTH 2.0</string>
|
||||
<string name="account_server_settings_client_certificate_none_selected">எதுவுமில்லை</string>
|
||||
<string name="account_server_settings_client_certificate_label">வாடிக்கையாளர் சான்றிதழ்</string>
|
||||
<string name="account_server_settings_incoming_top_bar_title">உள்வரும் சேவையக அமைப்புகள்</string>
|
||||
<string name="account_server_settings_incoming_imap_namespace_label">தானாக கண்டறியப்பட்ட IMAP பெயர்வெளி</string>
|
||||
<string name="account_server_settings_incoming_imap_prefix_label">IMAP பாதை முன்னொட்டு</string>
|
||||
<string name="account_server_settings_incoming_imap_compression_label">சுருக்கத்தைப் பயன்படுத்துங்கள்</string>
|
||||
<string name="account_server_settings_incoming_imap_send_client_info_label">கிளையன்ட் தகவல்களை அனுப்பவும்</string>
|
||||
<string name="account_server_settings_outgoing_top_bar_title">வெளிச்செல்லும் சேவையக அமைப்புகள்</string>
|
||||
<string name="account_server_settings_validation_error_server_required">சேவையக பெயர் தேவை.</string>
|
||||
<string name="account_server_settings_validation_error_port_required">துறைமுகம் தேவை.</string>
|
||||
<string name="account_server_settings_validation_error_port_invalid">துறைமுகம் தவறானது (1–65535 ஆக இருக்க வேண்டும்).</string>
|
||||
<string name="account_server_settings_validation_error_username_required">பயனர்பெயர் தேவை.</string>
|
||||
<string name="account_server_settings_validation_error_password_required">கடவுச்சொல் தேவை.</string>
|
||||
<string name="account_server_settings_password_authentication_title">உங்கள் அடையாளத்தை சரிபார்க்கவும்</string>
|
||||
<string name="account_server_settings_password_authentication_subtitle">உங்கள் கடவுச்சொல்லைக் காண திறக்கவும்</string>
|
||||
<string name="account_server_settings_password_authentication_screen_lock_required">உங்கள் கடவுச்சொல்லை இங்கே காண, இந்த சாதனத்தில் திரை பூட்டை இயக்கவும்.</string>
|
||||
<string name="account_server_settings_validation_error_server_invalid_ip_or_hostname">தவறான ஐபி அல்லது ஓச்ட்பெயர்</string>
|
||||
<string name="account_server_settings_validation_error_imap_prefix_blank">IMAP முன்னொட்டு காலியாக இருக்க முடியாது.</string>
|
||||
<string name="account_server_settings_protocol_type_label">நெறிமுறை</string>
|
||||
<string name="account_server_settings_server_label">சேவையகம்</string>
|
||||
<string name="account_server_settings_security_label">பாதுகாப்பு</string>
|
||||
<string name="account_server_settings_port_label">துறைமுகம்</string>
|
||||
<string name="account_server_settings_authentication_label">ஏற்பு</string>
|
||||
</resources>
|
||||
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue