mirror of
https://github.com/bitwarden/android.git
synced 2024-11-25 02:46:00 +03:00
Merge branch 'bitwarden:main' into main
This commit is contained in:
commit
bc15df972d
138 changed files with 2753 additions and 593 deletions
|
@ -162,8 +162,7 @@ dependencies {
|
|||
add("standardImplementation", dependencyNotation)
|
||||
}
|
||||
|
||||
// TODO: this should use a versioned AAR instead of referencing a local AAR BITAU-94
|
||||
implementation(files("libs/authenticatorbridge-0.1.0-SNAPSHOT-release.aar"))
|
||||
implementation(files("libs/authenticatorbridge-1.0.0-release.aar"))
|
||||
|
||||
implementation(libs.androidx.activity.compose)
|
||||
implementation(libs.androidx.appcompat)
|
||||
|
|
Binary file not shown.
|
@ -2,6 +2,8 @@ package com.x8bit.bitwarden.data.auth.datasource.network.api
|
|||
|
||||
import com.x8bit.bitwarden.data.auth.datasource.network.model.OrganizationDomainSsoDetailsRequestJson
|
||||
import com.x8bit.bitwarden.data.auth.datasource.network.model.OrganizationDomainSsoDetailsResponseJson
|
||||
import com.x8bit.bitwarden.data.auth.datasource.network.model.VerifiedOrganizationDomainSsoDetailsRequest
|
||||
import com.x8bit.bitwarden.data.auth.datasource.network.model.VerifiedOrganizationDomainSsoDetailsResponse
|
||||
import retrofit2.http.Body
|
||||
import retrofit2.http.POST
|
||||
|
||||
|
@ -16,4 +18,12 @@ interface UnauthenticatedOrganizationApi {
|
|||
suspend fun getClaimedDomainOrganizationDetails(
|
||||
@Body body: OrganizationDomainSsoDetailsRequestJson,
|
||||
): Result<OrganizationDomainSsoDetailsResponseJson>
|
||||
|
||||
/**
|
||||
* Checks for the verfied organization domains of an email for SSO purposes.
|
||||
*/
|
||||
@POST("/organizations/domain/sso/verified")
|
||||
suspend fun getVerifiedOrganizationDomainsByEmail(
|
||||
@Body body: VerifiedOrganizationDomainSsoDetailsRequest,
|
||||
): Result<VerifiedOrganizationDomainSsoDetailsResponse>
|
||||
}
|
||||
|
|
|
@ -1,16 +1,26 @@
|
|||
package com.x8bit.bitwarden.data.auth.datasource.network.model
|
||||
|
||||
import kotlinx.serialization.Contextual
|
||||
import kotlinx.serialization.SerialName
|
||||
import kotlinx.serialization.Serializable
|
||||
import java.time.ZonedDateTime
|
||||
|
||||
/**
|
||||
* Response object returned when requesting organization domain SSO details.
|
||||
*
|
||||
* @property isSsoAvailable Whether or not SSO is available for this domain.
|
||||
* @property organizationIdentifier The organization's identifier.
|
||||
* @property verifiedDate The date the domain was verified.
|
||||
*/
|
||||
@Serializable
|
||||
data class OrganizationDomainSsoDetailsResponseJson(
|
||||
@SerialName("ssoAvailable") val isSsoAvailable: Boolean,
|
||||
@SerialName("organizationIdentifier") val organizationIdentifier: String,
|
||||
@SerialName("ssoAvailable")
|
||||
val isSsoAvailable: Boolean,
|
||||
|
||||
@SerialName("organizationIdentifier")
|
||||
val organizationIdentifier: String,
|
||||
|
||||
@SerialName("verifiedDate")
|
||||
@Contextual
|
||||
val verifiedDate: ZonedDateTime?,
|
||||
)
|
||||
|
|
|
@ -0,0 +1,14 @@
|
|||
package com.x8bit.bitwarden.data.auth.datasource.network.model
|
||||
|
||||
import kotlinx.serialization.SerialName
|
||||
import kotlinx.serialization.Serializable
|
||||
|
||||
/**
|
||||
* Request body object when retrieving organization verified domain SSO info.
|
||||
*
|
||||
* @param email The email address to check against.
|
||||
*/
|
||||
@Serializable
|
||||
data class VerifiedOrganizationDomainSsoDetailsRequest(
|
||||
@SerialName("email") val email: String,
|
||||
)
|
|
@ -0,0 +1,35 @@
|
|||
package com.x8bit.bitwarden.data.auth.datasource.network.model
|
||||
|
||||
import kotlinx.serialization.SerialName
|
||||
import kotlinx.serialization.Serializable
|
||||
|
||||
/**
|
||||
* Response object returned when requesting organization verified domain SSO details.
|
||||
*
|
||||
* @property verifiedOrganizationDomainSsoDetails The list of verified organization domain SSO
|
||||
* details.
|
||||
*/
|
||||
@Serializable
|
||||
data class VerifiedOrganizationDomainSsoDetailsResponse(
|
||||
@SerialName("data")
|
||||
val verifiedOrganizationDomainSsoDetails: List<VerifiedOrganizationDomainSsoDetail>,
|
||||
) {
|
||||
/**
|
||||
* Response body for an organization verified domain SSO details.
|
||||
*
|
||||
* @property organizationName The name of the organization.
|
||||
* @property organizationIdentifier The identifier of the organization.
|
||||
* @property domainName The name of the domain.
|
||||
*/
|
||||
@Serializable
|
||||
data class VerifiedOrganizationDomainSsoDetail(
|
||||
@SerialName("organizationName")
|
||||
val organizationName: String,
|
||||
|
||||
@SerialName("organizationIdentifier")
|
||||
val organizationIdentifier: String,
|
||||
|
||||
@SerialName("domainName")
|
||||
val domainName: String,
|
||||
)
|
||||
}
|
|
@ -3,6 +3,7 @@ package com.x8bit.bitwarden.data.auth.datasource.network.service
|
|||
import com.x8bit.bitwarden.data.auth.datasource.network.model.OrganizationAutoEnrollStatusResponseJson
|
||||
import com.x8bit.bitwarden.data.auth.datasource.network.model.OrganizationDomainSsoDetailsResponseJson
|
||||
import com.x8bit.bitwarden.data.auth.datasource.network.model.OrganizationKeysResponseJson
|
||||
import com.x8bit.bitwarden.data.auth.datasource.network.model.VerifiedOrganizationDomainSsoDetailsResponse
|
||||
|
||||
/**
|
||||
* Provides an API for querying organization endpoints.
|
||||
|
@ -38,4 +39,12 @@ interface OrganizationService {
|
|||
suspend fun getOrganizationKeys(
|
||||
organizationId: String,
|
||||
): Result<OrganizationKeysResponseJson>
|
||||
|
||||
/**
|
||||
* Request organization verified domain details for an [email] needed for SSO
|
||||
* requests.
|
||||
*/
|
||||
suspend fun getVerifiedOrganizationDomainSsoDetails(
|
||||
email: String,
|
||||
): Result<VerifiedOrganizationDomainSsoDetailsResponse>
|
||||
}
|
||||
|
|
|
@ -7,6 +7,8 @@ import com.x8bit.bitwarden.data.auth.datasource.network.model.OrganizationDomain
|
|||
import com.x8bit.bitwarden.data.auth.datasource.network.model.OrganizationDomainSsoDetailsResponseJson
|
||||
import com.x8bit.bitwarden.data.auth.datasource.network.model.OrganizationKeysResponseJson
|
||||
import com.x8bit.bitwarden.data.auth.datasource.network.model.OrganizationResetPasswordEnrollRequestJson
|
||||
import com.x8bit.bitwarden.data.auth.datasource.network.model.VerifiedOrganizationDomainSsoDetailsRequest
|
||||
import com.x8bit.bitwarden.data.auth.datasource.network.model.VerifiedOrganizationDomainSsoDetailsResponse
|
||||
|
||||
/**
|
||||
* Default implementation of [OrganizationService].
|
||||
|
@ -52,4 +54,13 @@ class OrganizationServiceImpl(
|
|||
.getOrganizationKeys(
|
||||
organizationId = organizationId,
|
||||
)
|
||||
|
||||
override suspend fun getVerifiedOrganizationDomainSsoDetails(
|
||||
email: String,
|
||||
): Result<VerifiedOrganizationDomainSsoDetailsResponse> = unauthenticatedOrganizationApi
|
||||
.getVerifiedOrganizationDomainsByEmail(
|
||||
body = VerifiedOrganizationDomainSsoDetailsRequest(
|
||||
email = email,
|
||||
),
|
||||
)
|
||||
}
|
||||
|
|
|
@ -28,6 +28,7 @@ import com.x8bit.bitwarden.data.auth.repository.model.SwitchAccountResult
|
|||
import com.x8bit.bitwarden.data.auth.repository.model.UserState
|
||||
import com.x8bit.bitwarden.data.auth.repository.model.ValidatePasswordResult
|
||||
import com.x8bit.bitwarden.data.auth.repository.model.ValidatePinResult
|
||||
import com.x8bit.bitwarden.data.auth.repository.model.VerifiedOrganizationDomainSsoDetailsResult
|
||||
import com.x8bit.bitwarden.data.auth.repository.model.VerifyOtpResult
|
||||
import com.x8bit.bitwarden.data.auth.repository.util.CaptchaCallbackTokenResult
|
||||
import com.x8bit.bitwarden.data.auth.repository.util.DuoCallbackTokenResult
|
||||
|
@ -329,6 +330,13 @@ interface AuthRepository : AuthenticatorProvider, AuthRequestManager {
|
|||
email: String,
|
||||
): OrganizationDomainSsoDetailsResult
|
||||
|
||||
/**
|
||||
* Get the verified organization domain SSO details for the given [email].
|
||||
*/
|
||||
suspend fun getVerifiedOrganizationDomainSsoDetails(
|
||||
email: String,
|
||||
): VerifiedOrganizationDomainSsoDetailsResult
|
||||
|
||||
/**
|
||||
* Prevalidates the organization identifier used in an SSO request.
|
||||
*/
|
||||
|
|
|
@ -68,6 +68,7 @@ import com.x8bit.bitwarden.data.auth.repository.model.UserState
|
|||
import com.x8bit.bitwarden.data.auth.repository.model.ValidatePasswordResult
|
||||
import com.x8bit.bitwarden.data.auth.repository.model.ValidatePinResult
|
||||
import com.x8bit.bitwarden.data.auth.repository.model.VaultUnlockType
|
||||
import com.x8bit.bitwarden.data.auth.repository.model.VerifiedOrganizationDomainSsoDetailsResult
|
||||
import com.x8bit.bitwarden.data.auth.repository.model.VerifyOtpResult
|
||||
import com.x8bit.bitwarden.data.auth.repository.model.toLoginErrorResult
|
||||
import com.x8bit.bitwarden.data.auth.repository.util.CaptchaCallbackTokenResult
|
||||
|
@ -1123,11 +1124,27 @@ class AuthRepositoryImpl(
|
|||
OrganizationDomainSsoDetailsResult.Success(
|
||||
isSsoAvailable = it.isSsoAvailable,
|
||||
organizationIdentifier = it.organizationIdentifier,
|
||||
verifiedDate = it.verifiedDate,
|
||||
)
|
||||
},
|
||||
onFailure = { OrganizationDomainSsoDetailsResult.Failure },
|
||||
)
|
||||
|
||||
override suspend fun getVerifiedOrganizationDomainSsoDetails(
|
||||
email: String,
|
||||
): VerifiedOrganizationDomainSsoDetailsResult = organizationService
|
||||
.getVerifiedOrganizationDomainSsoDetails(
|
||||
email = email,
|
||||
)
|
||||
.fold(
|
||||
onSuccess = {
|
||||
VerifiedOrganizationDomainSsoDetailsResult.Success(
|
||||
verifiedOrganizationDomainSsoDetails = it.verifiedOrganizationDomainSsoDetails,
|
||||
)
|
||||
},
|
||||
onFailure = { VerifiedOrganizationDomainSsoDetailsResult.Failure },
|
||||
)
|
||||
|
||||
override suspend fun prevalidateSso(
|
||||
organizationIdentifier: String,
|
||||
): PrevalidateSsoResult = identityService
|
||||
|
|
|
@ -1,5 +1,7 @@
|
|||
package com.x8bit.bitwarden.data.auth.repository.model
|
||||
|
||||
import java.time.ZonedDateTime
|
||||
|
||||
/**
|
||||
* Response types when checking for an email's claimed domain organization.
|
||||
*/
|
||||
|
@ -9,10 +11,12 @@ sealed class OrganizationDomainSsoDetailsResult {
|
|||
*
|
||||
* @property isSsoAvailable Indicates if SSO is available for the email address.
|
||||
* @property organizationIdentifier The claimed organization identifier for the email address.
|
||||
* @property verifiedDate The date and time when the domain was verified.
|
||||
*/
|
||||
data class Success(
|
||||
val isSsoAvailable: Boolean,
|
||||
val organizationIdentifier: String,
|
||||
val verifiedDate: ZonedDateTime?,
|
||||
) : OrganizationDomainSsoDetailsResult()
|
||||
|
||||
/**
|
||||
|
|
|
@ -0,0 +1,22 @@
|
|||
package com.x8bit.bitwarden.data.auth.repository.model
|
||||
|
||||
import com.x8bit.bitwarden.data.auth.datasource.network.model.VerifiedOrganizationDomainSsoDetailsResponse.VerifiedOrganizationDomainSsoDetail
|
||||
|
||||
/**
|
||||
* Response types when checking for an email's claimed domain organization.
|
||||
*/
|
||||
sealed class VerifiedOrganizationDomainSsoDetailsResult {
|
||||
/**
|
||||
* The request was successful.
|
||||
*
|
||||
* @property verifiedOrganizationDomainSsoDetails The verified organization domain SSO details.
|
||||
*/
|
||||
data class Success(
|
||||
val verifiedOrganizationDomainSsoDetails: List<VerifiedOrganizationDomainSsoDetail>,
|
||||
) : VerifiedOrganizationDomainSsoDetailsResult()
|
||||
|
||||
/**
|
||||
* The request failed.
|
||||
*/
|
||||
data object Failure : VerifiedOrganizationDomainSsoDetailsResult()
|
||||
}
|
|
@ -5,7 +5,7 @@ import androidx.lifecycle.LifecycleCoroutineScope
|
|||
import com.x8bit.bitwarden.data.autofill.accessibility.manager.AccessibilityActivityManager
|
||||
import com.x8bit.bitwarden.data.autofill.accessibility.manager.AccessibilityActivityManagerImpl
|
||||
import com.x8bit.bitwarden.data.autofill.accessibility.manager.AccessibilityEnabledManager
|
||||
import com.x8bit.bitwarden.data.platform.manager.AppForegroundManager
|
||||
import com.x8bit.bitwarden.data.platform.manager.AppStateManager
|
||||
import dagger.Module
|
||||
import dagger.Provides
|
||||
import dagger.hilt.InstallIn
|
||||
|
@ -24,13 +24,13 @@ object ActivityAccessibilityModule {
|
|||
fun providesAccessibilityActivityManager(
|
||||
@ApplicationContext context: Context,
|
||||
accessibilityEnabledManager: AccessibilityEnabledManager,
|
||||
appForegroundManager: AppForegroundManager,
|
||||
appStateManager: AppStateManager,
|
||||
lifecycleScope: LifecycleCoroutineScope,
|
||||
): AccessibilityActivityManager =
|
||||
AccessibilityActivityManagerImpl(
|
||||
context = context,
|
||||
accessibilityEnabledManager = accessibilityEnabledManager,
|
||||
appForegroundManager = appForegroundManager,
|
||||
appStateManager = appStateManager,
|
||||
lifecycleScope = lifecycleScope,
|
||||
)
|
||||
}
|
||||
|
|
|
@ -3,7 +3,7 @@ package com.x8bit.bitwarden.data.autofill.accessibility.manager
|
|||
import android.content.Context
|
||||
import androidx.lifecycle.LifecycleCoroutineScope
|
||||
import com.x8bit.bitwarden.data.autofill.accessibility.util.isAccessibilityServiceEnabled
|
||||
import com.x8bit.bitwarden.data.platform.manager.AppForegroundManager
|
||||
import com.x8bit.bitwarden.data.platform.manager.AppStateManager
|
||||
import kotlinx.coroutines.flow.launchIn
|
||||
import kotlinx.coroutines.flow.onEach
|
||||
|
||||
|
@ -13,11 +13,11 @@ import kotlinx.coroutines.flow.onEach
|
|||
class AccessibilityActivityManagerImpl(
|
||||
private val context: Context,
|
||||
private val accessibilityEnabledManager: AccessibilityEnabledManager,
|
||||
appForegroundManager: AppForegroundManager,
|
||||
appStateManager: AppStateManager,
|
||||
lifecycleScope: LifecycleCoroutineScope,
|
||||
) : AccessibilityActivityManager {
|
||||
init {
|
||||
appForegroundManager
|
||||
appStateManager
|
||||
.appForegroundStateFlow
|
||||
.onEach {
|
||||
accessibilityEnabledManager.isAccessibilityEnabled =
|
||||
|
|
|
@ -8,7 +8,7 @@ import androidx.lifecycle.lifecycleScope
|
|||
import com.x8bit.bitwarden.data.autofill.manager.AutofillActivityManager
|
||||
import com.x8bit.bitwarden.data.autofill.manager.AutofillActivityManagerImpl
|
||||
import com.x8bit.bitwarden.data.autofill.manager.AutofillEnabledManager
|
||||
import com.x8bit.bitwarden.data.platform.manager.AppForegroundManager
|
||||
import com.x8bit.bitwarden.data.platform.manager.AppStateManager
|
||||
import dagger.Module
|
||||
import dagger.Provides
|
||||
import dagger.hilt.InstallIn
|
||||
|
@ -27,13 +27,13 @@ object ActivityAutofillModule {
|
|||
@Provides
|
||||
fun provideAutofillActivityManager(
|
||||
@ActivityScopedManager autofillManager: AutofillManager,
|
||||
appForegroundManager: AppForegroundManager,
|
||||
appStateManager: AppStateManager,
|
||||
autofillEnabledManager: AutofillEnabledManager,
|
||||
lifecycleScope: LifecycleCoroutineScope,
|
||||
): AutofillActivityManager =
|
||||
AutofillActivityManagerImpl(
|
||||
autofillManager = autofillManager,
|
||||
appForegroundManager = appForegroundManager,
|
||||
appStateManager = appStateManager,
|
||||
autofillEnabledManager = autofillEnabledManager,
|
||||
lifecycleScope = lifecycleScope,
|
||||
)
|
||||
|
|
|
@ -2,7 +2,7 @@ package com.x8bit.bitwarden.data.autofill.manager
|
|||
|
||||
import android.view.autofill.AutofillManager
|
||||
import androidx.lifecycle.LifecycleCoroutineScope
|
||||
import com.x8bit.bitwarden.data.platform.manager.AppForegroundManager
|
||||
import com.x8bit.bitwarden.data.platform.manager.AppStateManager
|
||||
import kotlinx.coroutines.flow.launchIn
|
||||
import kotlinx.coroutines.flow.onEach
|
||||
|
||||
|
@ -12,7 +12,7 @@ import kotlinx.coroutines.flow.onEach
|
|||
class AutofillActivityManagerImpl(
|
||||
private val autofillManager: AutofillManager,
|
||||
private val autofillEnabledManager: AutofillEnabledManager,
|
||||
appForegroundManager: AppForegroundManager,
|
||||
appStateManager: AppStateManager,
|
||||
lifecycleScope: LifecycleCoroutineScope,
|
||||
) : AutofillActivityManager {
|
||||
private val isAutofillEnabledAndSupported: Boolean
|
||||
|
@ -21,7 +21,7 @@ class AutofillActivityManagerImpl(
|
|||
autofillManager.isAutofillSupported
|
||||
|
||||
init {
|
||||
appForegroundManager
|
||||
appStateManager
|
||||
.appForegroundStateFlow
|
||||
.onEach { autofillEnabledManager.isAutofillEnabled = isAutofillEnabledAndSupported }
|
||||
.launchIn(lifecycleScope)
|
||||
|
|
|
@ -1,15 +0,0 @@
|
|||
package com.x8bit.bitwarden.data.platform.manager
|
||||
|
||||
import com.x8bit.bitwarden.data.platform.manager.model.AppForegroundState
|
||||
import kotlinx.coroutines.flow.StateFlow
|
||||
|
||||
/**
|
||||
* A manager for tracking app foreground state changes.
|
||||
*/
|
||||
interface AppForegroundManager {
|
||||
|
||||
/**
|
||||
* Emits whenever there are changes to the app foreground state.
|
||||
*/
|
||||
val appForegroundStateFlow: StateFlow<AppForegroundState>
|
||||
}
|
|
@ -1,36 +0,0 @@
|
|||
package com.x8bit.bitwarden.data.platform.manager
|
||||
|
||||
import androidx.lifecycle.DefaultLifecycleObserver
|
||||
import androidx.lifecycle.LifecycleOwner
|
||||
import androidx.lifecycle.ProcessLifecycleOwner
|
||||
import com.x8bit.bitwarden.data.platform.manager.model.AppForegroundState
|
||||
import kotlinx.coroutines.flow.MutableStateFlow
|
||||
import kotlinx.coroutines.flow.StateFlow
|
||||
import kotlinx.coroutines.flow.asStateFlow
|
||||
|
||||
/**
|
||||
* Primary implementation of [AppForegroundManager].
|
||||
*/
|
||||
class AppForegroundManagerImpl(
|
||||
processLifecycleOwner: LifecycleOwner = ProcessLifecycleOwner.get(),
|
||||
) : AppForegroundManager {
|
||||
private val mutableAppForegroundStateFlow =
|
||||
MutableStateFlow(AppForegroundState.BACKGROUNDED)
|
||||
|
||||
override val appForegroundStateFlow: StateFlow<AppForegroundState>
|
||||
get() = mutableAppForegroundStateFlow.asStateFlow()
|
||||
|
||||
init {
|
||||
processLifecycleOwner.lifecycle.addObserver(
|
||||
object : DefaultLifecycleObserver {
|
||||
override fun onStart(owner: LifecycleOwner) {
|
||||
mutableAppForegroundStateFlow.value = AppForegroundState.FOREGROUNDED
|
||||
}
|
||||
|
||||
override fun onStop(owner: LifecycleOwner) {
|
||||
mutableAppForegroundStateFlow.value = AppForegroundState.BACKGROUNDED
|
||||
}
|
||||
},
|
||||
)
|
||||
}
|
||||
}
|
|
@ -0,0 +1,24 @@
|
|||
package com.x8bit.bitwarden.data.platform.manager
|
||||
|
||||
import com.x8bit.bitwarden.data.autofill.accessibility.BitwardenAccessibilityService
|
||||
import com.x8bit.bitwarden.data.platform.manager.model.AppCreationState
|
||||
import com.x8bit.bitwarden.data.platform.manager.model.AppForegroundState
|
||||
import kotlinx.coroutines.flow.StateFlow
|
||||
|
||||
/**
|
||||
* A manager for tracking app foreground state changes.
|
||||
*/
|
||||
interface AppStateManager {
|
||||
/**
|
||||
* Emits whenever there are changes to the app creation state.
|
||||
*
|
||||
* This is required because the [BitwardenAccessibilityService] will keep the app process alive
|
||||
* when the app would otherwise be destroyed.
|
||||
*/
|
||||
val appCreatedStateFlow: StateFlow<AppCreationState>
|
||||
|
||||
/**
|
||||
* Emits whenever there are changes to the app foreground state.
|
||||
*/
|
||||
val appForegroundStateFlow: StateFlow<AppForegroundState>
|
||||
}
|
|
@ -0,0 +1,72 @@
|
|||
package com.x8bit.bitwarden.data.platform.manager
|
||||
|
||||
import android.app.Activity
|
||||
import android.app.Application
|
||||
import android.os.Bundle
|
||||
import androidx.lifecycle.DefaultLifecycleObserver
|
||||
import androidx.lifecycle.LifecycleOwner
|
||||
import androidx.lifecycle.ProcessLifecycleOwner
|
||||
import com.x8bit.bitwarden.data.platform.manager.model.AppCreationState
|
||||
import com.x8bit.bitwarden.data.platform.manager.model.AppForegroundState
|
||||
import kotlinx.coroutines.flow.MutableStateFlow
|
||||
import kotlinx.coroutines.flow.StateFlow
|
||||
import kotlinx.coroutines.flow.asStateFlow
|
||||
|
||||
/**
|
||||
* Primary implementation of [AppStateManager].
|
||||
*/
|
||||
class AppStateManagerImpl(
|
||||
application: Application,
|
||||
processLifecycleOwner: LifecycleOwner = ProcessLifecycleOwner.get(),
|
||||
) : AppStateManager {
|
||||
private val mutableAppCreationStateFlow = MutableStateFlow(AppCreationState.DESTROYED)
|
||||
private val mutableAppForegroundStateFlow = MutableStateFlow(AppForegroundState.BACKGROUNDED)
|
||||
|
||||
override val appCreatedStateFlow: StateFlow<AppCreationState>
|
||||
get() = mutableAppCreationStateFlow.asStateFlow()
|
||||
|
||||
override val appForegroundStateFlow: StateFlow<AppForegroundState>
|
||||
get() = mutableAppForegroundStateFlow.asStateFlow()
|
||||
|
||||
init {
|
||||
application.registerActivityLifecycleCallbacks(AppCreationCallback())
|
||||
processLifecycleOwner.lifecycle.addObserver(AppForegroundObserver())
|
||||
}
|
||||
|
||||
private inner class AppForegroundObserver : DefaultLifecycleObserver {
|
||||
override fun onStart(owner: LifecycleOwner) {
|
||||
mutableAppForegroundStateFlow.value = AppForegroundState.FOREGROUNDED
|
||||
}
|
||||
|
||||
override fun onStop(owner: LifecycleOwner) {
|
||||
mutableAppForegroundStateFlow.value = AppForegroundState.BACKGROUNDED
|
||||
}
|
||||
}
|
||||
|
||||
private inner class AppCreationCallback : Application.ActivityLifecycleCallbacks {
|
||||
private var activityCount: Int = 0
|
||||
|
||||
override fun onActivityCreated(activity: Activity, savedInstanceState: Bundle?) {
|
||||
activityCount++
|
||||
// Always be in a created state if we have an activity
|
||||
mutableAppCreationStateFlow.value = AppCreationState.CREATED
|
||||
}
|
||||
|
||||
override fun onActivityDestroyed(activity: Activity) {
|
||||
activityCount--
|
||||
if (activityCount == 0 && !activity.isChangingConfigurations) {
|
||||
mutableAppCreationStateFlow.value = AppCreationState.DESTROYED
|
||||
}
|
||||
}
|
||||
|
||||
override fun onActivityStarted(activity: Activity) = Unit
|
||||
|
||||
override fun onActivityResumed(activity: Activity) = Unit
|
||||
|
||||
override fun onActivityPaused(activity: Activity) = Unit
|
||||
|
||||
override fun onActivityStopped(activity: Activity) = Unit
|
||||
|
||||
override fun onActivitySaveInstanceState(activity: Activity, outState: Bundle) = Unit
|
||||
}
|
||||
}
|
|
@ -14,8 +14,8 @@ import com.x8bit.bitwarden.data.platform.datasource.network.authenticator.Refres
|
|||
import com.x8bit.bitwarden.data.platform.datasource.network.interceptor.BaseUrlInterceptors
|
||||
import com.x8bit.bitwarden.data.platform.datasource.network.service.EventService
|
||||
import com.x8bit.bitwarden.data.platform.datasource.network.service.PushService
|
||||
import com.x8bit.bitwarden.data.platform.manager.AppForegroundManager
|
||||
import com.x8bit.bitwarden.data.platform.manager.AppForegroundManagerImpl
|
||||
import com.x8bit.bitwarden.data.platform.manager.AppStateManager
|
||||
import com.x8bit.bitwarden.data.platform.manager.AppStateManagerImpl
|
||||
import com.x8bit.bitwarden.data.platform.manager.AssetManager
|
||||
import com.x8bit.bitwarden.data.platform.manager.AssetManagerImpl
|
||||
import com.x8bit.bitwarden.data.platform.manager.BiometricsEncryptionManager
|
||||
|
@ -80,8 +80,9 @@ object PlatformManagerModule {
|
|||
|
||||
@Provides
|
||||
@Singleton
|
||||
fun provideAppForegroundManager(): AppForegroundManager =
|
||||
AppForegroundManagerImpl()
|
||||
fun provideAppStateManager(
|
||||
application: Application,
|
||||
): AppStateManager = AppStateManagerImpl(application = application)
|
||||
|
||||
@Provides
|
||||
@Singleton
|
||||
|
@ -267,11 +268,11 @@ object PlatformManagerModule {
|
|||
@Singleton
|
||||
fun provideRestrictionManager(
|
||||
@ApplicationContext context: Context,
|
||||
appForegroundManager: AppForegroundManager,
|
||||
appStateManager: AppStateManager,
|
||||
dispatcherManager: DispatcherManager,
|
||||
environmentRepository: EnvironmentRepository,
|
||||
): RestrictionManager = RestrictionManagerImpl(
|
||||
appForegroundManager = appForegroundManager,
|
||||
appStateManager = appStateManager,
|
||||
dispatcherManager = dispatcherManager,
|
||||
context = context,
|
||||
environmentRepository = environmentRepository,
|
||||
|
|
|
@ -0,0 +1,16 @@
|
|||
package com.x8bit.bitwarden.data.platform.manager.model
|
||||
|
||||
/**
|
||||
* Represents the creation state of the app.
|
||||
*/
|
||||
enum class AppCreationState {
|
||||
/**
|
||||
* Denotes that the app is currently created.
|
||||
*/
|
||||
CREATED,
|
||||
|
||||
/**
|
||||
* Denotes that the app is currently destroyed.
|
||||
*/
|
||||
DESTROYED,
|
||||
}
|
|
@ -32,6 +32,7 @@ sealed class FlagKey<out T : Any> {
|
|||
OnboardingCarousel,
|
||||
ImportLoginsFlow,
|
||||
SshKeyCipherItems,
|
||||
VerifiedSsoDomainEndpoint,
|
||||
)
|
||||
}
|
||||
}
|
||||
|
@ -89,6 +90,14 @@ sealed class FlagKey<out T : Any> {
|
|||
override val defaultValue: Boolean = false
|
||||
override val isRemotelyConfigured: Boolean = true
|
||||
}
|
||||
/**
|
||||
* Data object holding the feature flag key for the new verified SSO domain endpoint feature.
|
||||
*/
|
||||
data object VerifiedSsoDomainEndpoint : FlagKey<Boolean>() {
|
||||
override val keyName: String = "pm-12337-refactor-sso-details-endpoint"
|
||||
override val defaultValue: Boolean = false
|
||||
override val isRemotelyConfigured: Boolean = true
|
||||
}
|
||||
|
||||
/**
|
||||
* Data object holding the key for a [Boolean] flag to be used in tests.
|
||||
|
|
|
@ -6,7 +6,7 @@ import android.content.Intent
|
|||
import android.content.IntentFilter
|
||||
import android.content.RestrictionsManager
|
||||
import android.os.Bundle
|
||||
import com.x8bit.bitwarden.data.platform.manager.AppForegroundManager
|
||||
import com.x8bit.bitwarden.data.platform.manager.AppStateManager
|
||||
import com.x8bit.bitwarden.data.platform.manager.dispatcher.DispatcherManager
|
||||
import com.x8bit.bitwarden.data.platform.manager.model.AppForegroundState
|
||||
import com.x8bit.bitwarden.data.platform.repository.EnvironmentRepository
|
||||
|
@ -19,7 +19,7 @@ import kotlinx.coroutines.flow.onEach
|
|||
* The default implementation of the [RestrictionManager].
|
||||
*/
|
||||
class RestrictionManagerImpl(
|
||||
appForegroundManager: AppForegroundManager,
|
||||
appStateManager: AppStateManager,
|
||||
dispatcherManager: DispatcherManager,
|
||||
private val context: Context,
|
||||
private val environmentRepository: EnvironmentRepository,
|
||||
|
@ -31,7 +31,7 @@ class RestrictionManagerImpl(
|
|||
private var isReceiverRegistered = false
|
||||
|
||||
init {
|
||||
appForegroundManager
|
||||
appStateManager
|
||||
.appForegroundStateFlow
|
||||
.onEach {
|
||||
when (it) {
|
||||
|
|
|
@ -56,6 +56,7 @@ fun String.getWebHostFromAndroidUriOrNull(): String? =
|
|||
fun String.getDomainOrNull(resourceCacheManager: ResourceCacheManager): String? =
|
||||
this
|
||||
.toUriOrNull()
|
||||
?.addSchemeToUriIfNecessary()
|
||||
?.parseDomainOrNull(resourceCacheManager = resourceCacheManager)
|
||||
|
||||
/**
|
||||
|
@ -63,7 +64,10 @@ fun String.getDomainOrNull(resourceCacheManager: ResourceCacheManager): String?
|
|||
*/
|
||||
@OmitFromCoverage
|
||||
fun String.hasPort(): Boolean {
|
||||
val uri = this.toUriOrNull() ?: return false
|
||||
val uri = this
|
||||
.toUriOrNull()
|
||||
?.addSchemeToUriIfNecessary()
|
||||
?: return false
|
||||
return uri.port != -1
|
||||
}
|
||||
|
||||
|
@ -71,14 +75,19 @@ fun String.hasPort(): Boolean {
|
|||
* Extract the host from this [String] if possible, otherwise return null.
|
||||
*/
|
||||
@OmitFromCoverage
|
||||
fun String.getHostOrNull(): String? = this.toUriOrNull()?.host
|
||||
fun String.getHostOrNull(): String? = this.toUriOrNull()
|
||||
?.addSchemeToUriIfNecessary()
|
||||
?.host
|
||||
|
||||
/**
|
||||
* Extract the host with optional port from this [String] if possible, otherwise return null.
|
||||
*/
|
||||
@OmitFromCoverage
|
||||
fun String.getHostWithPortOrNull(): String? {
|
||||
val uri = this.toUriOrNull() ?: return null
|
||||
val uri = this
|
||||
.toUriOrNull()
|
||||
?.addSchemeToUriIfNecessary()
|
||||
?: return null
|
||||
return uri.host?.let { host ->
|
||||
val port = uri.port
|
||||
if (port != -1) {
|
||||
|
|
|
@ -45,6 +45,27 @@ fun URI.parseDomainNameOrNull(resourceCacheManager: ResourceCacheManager): Domai
|
|||
)
|
||||
}
|
||||
|
||||
/**
|
||||
* Adds and HTTPS scheme to a valid URI if that URI has a valid host in the raw string but
|
||||
* the standard parsing of `URI("foo.com")` is not able to determine a valid host.
|
||||
* (i.e. val uri = URI("foo.bar:1090") -> uri.host == null)
|
||||
*/
|
||||
fun URI.addSchemeToUriIfNecessary(): URI {
|
||||
val uriString = this.toString()
|
||||
return if (
|
||||
// see if the string contains a host pattern
|
||||
uriString.contains(".") &&
|
||||
// if it does but the URI's host is null, add an https scheme
|
||||
this.host == null &&
|
||||
// provided that scheme does not exist already.
|
||||
!uriString.hasHttpProtocol()
|
||||
) {
|
||||
URI("https://$uriString")
|
||||
} else {
|
||||
this
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* The internal implementation of [parseDomainNameOrNull]. This doesn't extend URI and has a
|
||||
* non-null [host] parameter. Technically, URI.host could be null and we want to avoid issues with
|
||||
|
|
|
@ -12,8 +12,9 @@ import com.x8bit.bitwarden.data.auth.manager.UserLogoutManager
|
|||
import com.x8bit.bitwarden.data.auth.repository.util.toSdkParams
|
||||
import com.x8bit.bitwarden.data.auth.repository.util.userAccountTokens
|
||||
import com.x8bit.bitwarden.data.auth.repository.util.userSwitchingChangesFlow
|
||||
import com.x8bit.bitwarden.data.platform.manager.AppForegroundManager
|
||||
import com.x8bit.bitwarden.data.platform.manager.AppStateManager
|
||||
import com.x8bit.bitwarden.data.platform.manager.dispatcher.DispatcherManager
|
||||
import com.x8bit.bitwarden.data.platform.manager.model.AppCreationState
|
||||
import com.x8bit.bitwarden.data.platform.manager.model.AppForegroundState
|
||||
import com.x8bit.bitwarden.data.platform.repository.SettingsRepository
|
||||
import com.x8bit.bitwarden.data.platform.repository.model.VaultTimeout
|
||||
|
@ -65,7 +66,7 @@ class VaultLockManagerImpl(
|
|||
private val authSdkSource: AuthSdkSource,
|
||||
private val vaultSdkSource: VaultSdkSource,
|
||||
private val settingsRepository: SettingsRepository,
|
||||
private val appForegroundManager: AppForegroundManager,
|
||||
private val appStateManager: AppStateManager,
|
||||
private val userLogoutManager: UserLogoutManager,
|
||||
private val trustedDeviceManager: TrustedDeviceManager,
|
||||
dispatcherManager: DispatcherManager,
|
||||
|
@ -90,6 +91,7 @@ class VaultLockManagerImpl(
|
|||
get() = mutableVaultStateEventSharedFlow.asSharedFlow()
|
||||
|
||||
init {
|
||||
observeAppCreationChanges()
|
||||
observeAppForegroundChanges()
|
||||
observeUserSwitchingChanges()
|
||||
observeVaultTimeoutChanges()
|
||||
|
@ -302,10 +304,31 @@ class VaultLockManagerImpl(
|
|||
}
|
||||
}
|
||||
|
||||
private fun observeAppCreationChanges() {
|
||||
appStateManager
|
||||
.appCreatedStateFlow
|
||||
.onEach { appCreationState ->
|
||||
when (appCreationState) {
|
||||
AppCreationState.CREATED -> Unit
|
||||
AppCreationState.DESTROYED -> handleOnDestroyed()
|
||||
}
|
||||
}
|
||||
.launchIn(unconfinedScope)
|
||||
}
|
||||
|
||||
private fun handleOnDestroyed() {
|
||||
activeUserId?.let { userId ->
|
||||
checkForVaultTimeout(
|
||||
userId = userId,
|
||||
checkTimeoutReason = CheckTimeoutReason.APP_RESTARTED,
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
private fun observeAppForegroundChanges() {
|
||||
var isFirstForeground = true
|
||||
|
||||
appForegroundManager
|
||||
appStateManager
|
||||
.appForegroundStateFlow
|
||||
.onEach { appForegroundState ->
|
||||
when (appForegroundState) {
|
||||
|
|
|
@ -5,7 +5,7 @@ import com.x8bit.bitwarden.data.auth.datasource.disk.AuthDiskSource
|
|||
import com.x8bit.bitwarden.data.auth.datasource.sdk.AuthSdkSource
|
||||
import com.x8bit.bitwarden.data.auth.manager.TrustedDeviceManager
|
||||
import com.x8bit.bitwarden.data.auth.manager.UserLogoutManager
|
||||
import com.x8bit.bitwarden.data.platform.manager.AppForegroundManager
|
||||
import com.x8bit.bitwarden.data.platform.manager.AppStateManager
|
||||
import com.x8bit.bitwarden.data.platform.manager.dispatcher.DispatcherManager
|
||||
import com.x8bit.bitwarden.data.platform.repository.SettingsRepository
|
||||
import com.x8bit.bitwarden.data.vault.datasource.disk.VaultDiskSource
|
||||
|
@ -72,7 +72,7 @@ object VaultManagerModule {
|
|||
authSdkSource: AuthSdkSource,
|
||||
vaultSdkSource: VaultSdkSource,
|
||||
settingsRepository: SettingsRepository,
|
||||
appForegroundManager: AppForegroundManager,
|
||||
appStateManager: AppStateManager,
|
||||
userLogoutManager: UserLogoutManager,
|
||||
dispatcherManager: DispatcherManager,
|
||||
trustedDeviceManager: TrustedDeviceManager,
|
||||
|
@ -82,7 +82,7 @@ object VaultManagerModule {
|
|||
authSdkSource = authSdkSource,
|
||||
vaultSdkSource = vaultSdkSource,
|
||||
settingsRepository = settingsRepository,
|
||||
appForegroundManager = appForegroundManager,
|
||||
appStateManager = appStateManager,
|
||||
userLogoutManager = userLogoutManager,
|
||||
dispatcherManager = dispatcherManager,
|
||||
trustedDeviceManager = trustedDeviceManager,
|
||||
|
|
|
@ -9,12 +9,15 @@ import com.x8bit.bitwarden.data.auth.repository.AuthRepository
|
|||
import com.x8bit.bitwarden.data.auth.repository.model.LoginResult
|
||||
import com.x8bit.bitwarden.data.auth.repository.model.OrganizationDomainSsoDetailsResult
|
||||
import com.x8bit.bitwarden.data.auth.repository.model.PrevalidateSsoResult
|
||||
import com.x8bit.bitwarden.data.auth.repository.model.VerifiedOrganizationDomainSsoDetailsResult
|
||||
import com.x8bit.bitwarden.data.auth.repository.util.CaptchaCallbackTokenResult
|
||||
import com.x8bit.bitwarden.data.auth.repository.util.SSO_URI
|
||||
import com.x8bit.bitwarden.data.auth.repository.util.SsoCallbackResult
|
||||
import com.x8bit.bitwarden.data.auth.repository.util.generateUriForCaptcha
|
||||
import com.x8bit.bitwarden.data.auth.repository.util.generateUriForSso
|
||||
import com.x8bit.bitwarden.data.platform.manager.FeatureFlagManager
|
||||
import com.x8bit.bitwarden.data.platform.manager.NetworkConnectionManager
|
||||
import com.x8bit.bitwarden.data.platform.manager.model.FlagKey
|
||||
import com.x8bit.bitwarden.data.platform.repository.EnvironmentRepository
|
||||
import com.x8bit.bitwarden.data.platform.repository.util.baseIdentityUrl
|
||||
import com.x8bit.bitwarden.data.tools.generator.repository.GeneratorRepository
|
||||
|
@ -43,6 +46,7 @@ private const val RANDOM_STRING_LENGTH = 64
|
|||
class EnterpriseSignOnViewModel @Inject constructor(
|
||||
private val authRepository: AuthRepository,
|
||||
private val environmentRepository: EnvironmentRepository,
|
||||
private val featureFlagManager: FeatureFlagManager,
|
||||
private val generatorRepository: GeneratorRepository,
|
||||
private val networkConnectionManager: NetworkConnectionManager,
|
||||
private val savedStateHandle: SavedStateHandle,
|
||||
|
@ -123,6 +127,10 @@ class EnterpriseSignOnViewModel @Inject constructor(
|
|||
is EnterpriseSignOnAction.Internal.OnReceiveCaptchaToken -> {
|
||||
handleOnReceiveCaptchaToken(action)
|
||||
}
|
||||
|
||||
is EnterpriseSignOnAction.Internal.OnVerifiedOrganizationDomainSsoDetailsReceive -> {
|
||||
handleOnVerifiedOrganizationDomainSsoDetailsReceive(action)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -209,6 +217,54 @@ class EnterpriseSignOnViewModel @Inject constructor(
|
|||
}
|
||||
}
|
||||
|
||||
private fun handleOnVerifiedOrganizationDomainSsoDetailsReceive(
|
||||
action: EnterpriseSignOnAction.Internal.OnVerifiedOrganizationDomainSsoDetailsReceive,
|
||||
) {
|
||||
when (val orgDetails = action.verifiedOrgDomainSsoDetailsResult) {
|
||||
is VerifiedOrganizationDomainSsoDetailsResult.Failure -> {
|
||||
mutableStateFlow.update {
|
||||
it.copy(
|
||||
dialogState = null,
|
||||
orgIdentifierInput = authRepository.rememberedOrgIdentifier ?: "",
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
is VerifiedOrganizationDomainSsoDetailsResult.Success -> {
|
||||
handleOnVerifiedOrganizationDomainSsoDetailsSuccess(orgDetails)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private fun handleOnVerifiedOrganizationDomainSsoDetailsSuccess(
|
||||
orgDetails: VerifiedOrganizationDomainSsoDetailsResult.Success,
|
||||
) {
|
||||
if (orgDetails.verifiedOrganizationDomainSsoDetails.isEmpty()) {
|
||||
mutableStateFlow.update {
|
||||
it.copy(
|
||||
dialogState = null,
|
||||
orgIdentifierInput = authRepository.rememberedOrgIdentifier ?: "",
|
||||
)
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
val organizationIdentifier = orgDetails
|
||||
.verifiedOrganizationDomainSsoDetails
|
||||
.first()
|
||||
.organizationIdentifier
|
||||
|
||||
mutableStateFlow.update {
|
||||
it.copy(
|
||||
orgIdentifierInput = organizationIdentifier,
|
||||
)
|
||||
}
|
||||
|
||||
// If the email address is associated with a claimed organization we can proceed to the
|
||||
// prevalidation step.
|
||||
prevalidateSso()
|
||||
}
|
||||
|
||||
private fun handleOnOrganizationDomainSsoDetailsReceive(
|
||||
action: EnterpriseSignOnAction.Internal.OnOrganizationDomainSsoDetailsReceive,
|
||||
) {
|
||||
|
@ -226,7 +282,7 @@ class EnterpriseSignOnViewModel @Inject constructor(
|
|||
private fun handleOnOrganizationDomainSsoDetailsSuccess(
|
||||
orgDetails: OrganizationDomainSsoDetailsResult.Success,
|
||||
) {
|
||||
if (!orgDetails.isSsoAvailable) {
|
||||
if (!orgDetails.isSsoAvailable || orgDetails.verifiedDate == null) {
|
||||
mutableStateFlow.update {
|
||||
it.copy(
|
||||
dialogState = null,
|
||||
|
@ -375,12 +431,23 @@ class EnterpriseSignOnViewModel @Inject constructor(
|
|||
)
|
||||
}
|
||||
viewModelScope.launch {
|
||||
val result = authRepository.getOrganizationDomainSsoDetails(
|
||||
email = EnterpriseSignOnArgs(savedStateHandle).emailAddress,
|
||||
)
|
||||
sendAction(
|
||||
EnterpriseSignOnAction.Internal.OnOrganizationDomainSsoDetailsReceive(result),
|
||||
)
|
||||
if (featureFlagManager.getFeatureFlag(key = FlagKey.VerifiedSsoDomainEndpoint)) {
|
||||
val result = authRepository.getVerifiedOrganizationDomainSsoDetails(
|
||||
email = EnterpriseSignOnArgs(savedStateHandle).emailAddress,
|
||||
)
|
||||
sendAction(
|
||||
EnterpriseSignOnAction.Internal.OnVerifiedOrganizationDomainSsoDetailsReceive(
|
||||
result,
|
||||
),
|
||||
)
|
||||
} else {
|
||||
val result = authRepository.getOrganizationDomainSsoDetails(
|
||||
email = EnterpriseSignOnArgs(savedStateHandle).emailAddress,
|
||||
)
|
||||
sendAction(
|
||||
EnterpriseSignOnAction.Internal.OnOrganizationDomainSsoDetailsReceive(result),
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -561,6 +628,13 @@ sealed class EnterpriseSignOnAction {
|
|||
* A captcha callback result has been received
|
||||
*/
|
||||
data class OnReceiveCaptchaToken(val tokenResult: CaptchaCallbackTokenResult) : Internal()
|
||||
|
||||
/**
|
||||
* A result was received when requesting an [VerifiedOrganizationDomainSsoDetailsResult].
|
||||
*/
|
||||
data class OnVerifiedOrganizationDomainSsoDetailsReceive(
|
||||
val verifiedOrgDomainSsoDetailsResult: VerifiedOrganizationDomainSsoDetailsResult,
|
||||
) : Internal()
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -9,6 +9,7 @@ import androidx.compose.material3.SheetState
|
|||
import androidx.compose.material3.TopAppBarDefaults
|
||||
import androidx.compose.material3.rememberModalBottomSheetState
|
||||
import androidx.compose.runtime.Composable
|
||||
import androidx.compose.runtime.rememberCoroutineScope
|
||||
import androidx.compose.ui.Modifier
|
||||
import androidx.compose.ui.input.nestedscroll.nestedScroll
|
||||
import androidx.compose.ui.res.stringResource
|
||||
|
@ -19,6 +20,7 @@ import com.x8bit.bitwarden.ui.platform.components.appbar.NavigationIcon
|
|||
import com.x8bit.bitwarden.ui.platform.components.scaffold.BitwardenScaffold
|
||||
import com.x8bit.bitwarden.ui.platform.components.util.rememberVectorPainter
|
||||
import com.x8bit.bitwarden.ui.platform.theme.BitwardenTheme
|
||||
import kotlinx.coroutines.launch
|
||||
|
||||
/**
|
||||
* A reusable modal bottom sheet that applies provides a bottom sheet layout with the
|
||||
|
@ -28,11 +30,12 @@ import com.x8bit.bitwarden.ui.platform.theme.BitwardenTheme
|
|||
* @param sheetTitle The title to display in the [BitwardenTopAppBar]
|
||||
* @param onDismiss The action to perform when the bottom sheet is dismissed will also be performed
|
||||
* when the "close" icon is clicked, caller must handle any desired animation or hiding of the
|
||||
* bottom sheet.
|
||||
* bottom sheet. This will be invoked _after_ the sheet has been animated away.
|
||||
* @param showBottomSheet Whether or not to show the bottom sheet, by default this is true assuming
|
||||
* the showing/hiding will be handled by the caller.
|
||||
* @param sheetContent Content to display in the bottom sheet. The content is passed the padding
|
||||
* from the containing [BitwardenScaffold].
|
||||
* from the containing [BitwardenScaffold] and a `onDismiss` lambda to be used for manual dismissal
|
||||
* that will include the dismissal animation.
|
||||
*/
|
||||
@OptIn(ExperimentalMaterial3Api::class)
|
||||
@Composable
|
||||
|
@ -42,7 +45,10 @@ fun BitwardenModalBottomSheet(
|
|||
modifier: Modifier = Modifier,
|
||||
showBottomSheet: Boolean = true,
|
||||
sheetState: SheetState = rememberModalBottomSheetState(),
|
||||
sheetContent: @Composable (PaddingValues) -> Unit,
|
||||
sheetContent: @Composable (
|
||||
paddingValues: PaddingValues,
|
||||
animatedOnDismiss: () -> Unit,
|
||||
) -> Unit,
|
||||
) {
|
||||
if (!showBottomSheet) return
|
||||
ModalBottomSheet(
|
||||
|
@ -56,13 +62,14 @@ fun BitwardenModalBottomSheet(
|
|||
shape = BitwardenTheme.shapes.bottomSheet,
|
||||
) {
|
||||
val scrollBehavior = TopAppBarDefaults.pinnedScrollBehavior()
|
||||
val animatedOnDismiss = sheetState.createAnimatedDismissAction(onDismiss = onDismiss)
|
||||
BitwardenScaffold(
|
||||
topBar = {
|
||||
BitwardenTopAppBar(
|
||||
title = sheetTitle,
|
||||
navigationIcon = NavigationIcon(
|
||||
navigationIcon = rememberVectorPainter(R.drawable.ic_close),
|
||||
onNavigationIconClick = onDismiss,
|
||||
onNavigationIconClick = animatedOnDismiss,
|
||||
navigationIconContentDescription = stringResource(R.string.close),
|
||||
),
|
||||
scrollBehavior = scrollBehavior,
|
||||
|
@ -73,7 +80,18 @@ fun BitwardenModalBottomSheet(
|
|||
.nestedScroll(scrollBehavior.nestedScrollConnection)
|
||||
.fillMaxSize(),
|
||||
) { paddingValues ->
|
||||
sheetContent(paddingValues)
|
||||
sheetContent(paddingValues, animatedOnDismiss)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@OptIn(ExperimentalMaterial3Api::class)
|
||||
@Composable
|
||||
private fun SheetState.createAnimatedDismissAction(onDismiss: () -> Unit): () -> Unit {
|
||||
val scope = rememberCoroutineScope()
|
||||
return {
|
||||
scope
|
||||
.launch { this@createAnimatedDismissAction.hide() }
|
||||
.invokeOnCompletion { onDismiss() }
|
||||
}
|
||||
}
|
||||
|
|
|
@ -28,6 +28,7 @@ fun <T : Any> FlagKey<T>.ListItemContent(
|
|||
FlagKey.OnboardingFlow,
|
||||
FlagKey.ImportLoginsFlow,
|
||||
FlagKey.SshKeyCipherItems,
|
||||
FlagKey.VerifiedSsoDomainEndpoint,
|
||||
-> BooleanFlagItem(
|
||||
label = flagKey.getDisplayLabel(),
|
||||
key = flagKey as FlagKey<Boolean>,
|
||||
|
@ -71,4 +72,5 @@ private fun <T : Any> FlagKey<T>.getDisplayLabel(): String = when (this) {
|
|||
FlagKey.OnboardingFlow -> stringResource(R.string.onboarding_flow)
|
||||
FlagKey.ImportLoginsFlow -> stringResource(R.string.import_logins_flow)
|
||||
FlagKey.SshKeyCipherItems -> stringResource(R.string.ssh_key_cipher_item_types)
|
||||
FlagKey.VerifiedSsoDomainEndpoint -> stringResource(R.string.verified_sso_domain_verified)
|
||||
}
|
||||
|
|
|
@ -1,5 +1,8 @@
|
|||
package com.x8bit.bitwarden.ui.platform.feature.settings.accountsecurity.pendingrequests
|
||||
|
||||
import android.Manifest
|
||||
import android.annotation.SuppressLint
|
||||
import android.os.Build
|
||||
import android.widget.Toast
|
||||
import androidx.compose.foundation.Image
|
||||
import androidx.compose.foundation.clickable
|
||||
|
@ -14,6 +17,7 @@ import androidx.compose.foundation.layout.height
|
|||
import androidx.compose.foundation.layout.navigationBarsPadding
|
||||
import androidx.compose.foundation.layout.padding
|
||||
import androidx.compose.foundation.layout.size
|
||||
import androidx.compose.foundation.layout.statusBarsPadding
|
||||
import androidx.compose.foundation.lazy.LazyColumn
|
||||
import androidx.compose.foundation.lazy.items
|
||||
import androidx.compose.foundation.rememberScrollState
|
||||
|
@ -21,6 +25,7 @@ import androidx.compose.foundation.verticalScroll
|
|||
import androidx.compose.material3.ExperimentalMaterial3Api
|
||||
import androidx.compose.material3.Text
|
||||
import androidx.compose.material3.TopAppBarDefaults
|
||||
import androidx.compose.material3.rememberModalBottomSheetState
|
||||
import androidx.compose.material3.rememberTopAppBarState
|
||||
import androidx.compose.material3.ripple
|
||||
import androidx.compose.runtime.Composable
|
||||
|
@ -40,11 +45,15 @@ import androidx.hilt.navigation.compose.hiltViewModel
|
|||
import androidx.lifecycle.Lifecycle
|
||||
import androidx.lifecycle.compose.collectAsStateWithLifecycle
|
||||
import com.x8bit.bitwarden.R
|
||||
import com.x8bit.bitwarden.data.platform.util.isBuildVersionBelow
|
||||
import com.x8bit.bitwarden.data.platform.util.isFdroid
|
||||
import com.x8bit.bitwarden.ui.platform.base.util.EventsEffect
|
||||
import com.x8bit.bitwarden.ui.platform.base.util.LivecycleEventEffect
|
||||
import com.x8bit.bitwarden.ui.platform.base.util.bottomDivider
|
||||
import com.x8bit.bitwarden.ui.platform.base.util.standardHorizontalMargin
|
||||
import com.x8bit.bitwarden.ui.platform.components.appbar.BitwardenTopAppBar
|
||||
import com.x8bit.bitwarden.ui.platform.components.bottomsheet.BitwardenModalBottomSheet
|
||||
import com.x8bit.bitwarden.ui.platform.components.button.BitwardenFilledButton
|
||||
import com.x8bit.bitwarden.ui.platform.components.button.BitwardenOutlinedButton
|
||||
import com.x8bit.bitwarden.ui.platform.components.content.BitwardenErrorContent
|
||||
import com.x8bit.bitwarden.ui.platform.components.content.BitwardenLoadingContent
|
||||
|
@ -52,6 +61,8 @@ import com.x8bit.bitwarden.ui.platform.components.dialog.BitwardenTwoButtonDialo
|
|||
import com.x8bit.bitwarden.ui.platform.components.scaffold.BitwardenScaffold
|
||||
import com.x8bit.bitwarden.ui.platform.components.scaffold.rememberBitwardenPullToRefreshState
|
||||
import com.x8bit.bitwarden.ui.platform.components.util.rememberVectorPainter
|
||||
import com.x8bit.bitwarden.ui.platform.composition.LocalPermissionsManager
|
||||
import com.x8bit.bitwarden.ui.platform.manager.permissions.PermissionsManager
|
||||
import com.x8bit.bitwarden.ui.platform.theme.BitwardenTheme
|
||||
|
||||
/**
|
||||
|
@ -62,6 +73,7 @@ import com.x8bit.bitwarden.ui.platform.theme.BitwardenTheme
|
|||
@Composable
|
||||
fun PendingRequestsScreen(
|
||||
viewModel: PendingRequestsViewModel = hiltViewModel(),
|
||||
permissionsManager: PermissionsManager = LocalPermissionsManager.current,
|
||||
onNavigateBack: () -> Unit,
|
||||
onNavigateToLoginApproval: (fingerprint: String) -> Unit,
|
||||
) {
|
||||
|
@ -98,6 +110,29 @@ fun PendingRequestsScreen(
|
|||
}
|
||||
}
|
||||
|
||||
val hideBottomSheet = state.hideBottomSheet ||
|
||||
isFdroid ||
|
||||
isBuildVersionBelow(Build.VERSION_CODES.TIRAMISU) ||
|
||||
permissionsManager.checkPermission(Manifest.permission.POST_NOTIFICATIONS) ||
|
||||
!permissionsManager.shouldShowRequestPermissionRationale(
|
||||
permission = Manifest.permission.POST_NOTIFICATIONS,
|
||||
)
|
||||
BitwardenModalBottomSheet(
|
||||
showBottomSheet = !hideBottomSheet,
|
||||
sheetTitle = stringResource(R.string.enable_notifications),
|
||||
onDismiss = remember(viewModel) {
|
||||
{ viewModel.trySendAction(PendingRequestsAction.HideBottomSheet) }
|
||||
},
|
||||
sheetState = rememberModalBottomSheetState(skipPartiallyExpanded = true),
|
||||
modifier = Modifier.statusBarsPadding(),
|
||||
) { paddingValues, animatedOnDismiss ->
|
||||
PendingRequestsBottomSheetContent(
|
||||
modifier = Modifier.padding(paddingValues),
|
||||
permissionsManager = permissionsManager,
|
||||
onDismiss = animatedOnDismiss,
|
||||
)
|
||||
}
|
||||
|
||||
val scrollBehavior = TopAppBarDefaults.pinnedScrollBehavior(rememberTopAppBarState())
|
||||
BitwardenScaffold(
|
||||
modifier = Modifier
|
||||
|
@ -338,3 +373,68 @@ private fun PendingRequestsEmpty(
|
|||
Spacer(modifier = Modifier.height(64.dp))
|
||||
}
|
||||
}
|
||||
|
||||
@Composable
|
||||
private fun PendingRequestsBottomSheetContent(
|
||||
permissionsManager: PermissionsManager,
|
||||
onDismiss: () -> Unit,
|
||||
modifier: Modifier = Modifier,
|
||||
) {
|
||||
val notificationPermissionLauncher = permissionsManager.getLauncher {
|
||||
onDismiss()
|
||||
}
|
||||
Column(modifier = modifier.verticalScroll(rememberScrollState())) {
|
||||
Spacer(modifier = Modifier.height(height = 24.dp))
|
||||
Image(
|
||||
painter = rememberVectorPainter(id = R.drawable.img_2fa),
|
||||
contentDescription = null,
|
||||
modifier = Modifier
|
||||
.standardHorizontalMargin()
|
||||
.size(size = 132.dp)
|
||||
.align(alignment = Alignment.CenterHorizontally),
|
||||
)
|
||||
Spacer(modifier = Modifier.height(height = 24.dp))
|
||||
Text(
|
||||
text = stringResource(id = R.string.log_in_quickly_and_easily_across_devices),
|
||||
style = BitwardenTheme.typography.titleMedium,
|
||||
color = BitwardenTheme.colorScheme.text.primary,
|
||||
textAlign = TextAlign.Center,
|
||||
modifier = Modifier
|
||||
.fillMaxWidth()
|
||||
.standardHorizontalMargin(),
|
||||
)
|
||||
Spacer(modifier = Modifier.height(height = 12.dp))
|
||||
@Suppress("MaxLineLength")
|
||||
Text(
|
||||
text = stringResource(
|
||||
id = R.string.bitwarden_can_notify_you_each_time_you_receive_a_new_login_request_from_another_device,
|
||||
),
|
||||
style = BitwardenTheme.typography.bodyMedium,
|
||||
color = BitwardenTheme.colorScheme.text.primary,
|
||||
textAlign = TextAlign.Center,
|
||||
modifier = Modifier
|
||||
.fillMaxWidth()
|
||||
.standardHorizontalMargin(),
|
||||
)
|
||||
Spacer(modifier = Modifier.height(height = 24.dp))
|
||||
BitwardenFilledButton(
|
||||
label = stringResource(id = R.string.enable_notifications),
|
||||
onClick = {
|
||||
@SuppressLint("InlinedApi")
|
||||
notificationPermissionLauncher.launch(Manifest.permission.POST_NOTIFICATIONS)
|
||||
},
|
||||
modifier = Modifier
|
||||
.fillMaxWidth()
|
||||
.standardHorizontalMargin(),
|
||||
)
|
||||
Spacer(modifier = Modifier.height(height = 12.dp))
|
||||
BitwardenOutlinedButton(
|
||||
label = stringResource(id = R.string.skip_for_now),
|
||||
onClick = onDismiss,
|
||||
modifier = Modifier
|
||||
.fillMaxWidth()
|
||||
.standardHorizontalMargin(),
|
||||
)
|
||||
Spacer(modifier = Modifier.navigationBarsPadding())
|
||||
}
|
||||
}
|
||||
|
|
|
@ -27,6 +27,7 @@ private const val KEY_STATE = "state"
|
|||
/**
|
||||
* View model for the pending login requests screen.
|
||||
*/
|
||||
@Suppress("TooManyFunctions")
|
||||
@HiltViewModel
|
||||
class PendingRequestsViewModel @Inject constructor(
|
||||
private val clock: Clock,
|
||||
|
@ -39,6 +40,7 @@ class PendingRequestsViewModel @Inject constructor(
|
|||
viewState = PendingRequestsState.ViewState.Loading,
|
||||
isPullToRefreshSettingEnabled = settingsRepository.getPullToRefreshEnabledFlow().value,
|
||||
isRefreshing = false,
|
||||
hideBottomSheet = false,
|
||||
),
|
||||
) {
|
||||
private var authJob: Job = Job().apply { complete() }
|
||||
|
@ -56,6 +58,7 @@ class PendingRequestsViewModel @Inject constructor(
|
|||
when (action) {
|
||||
PendingRequestsAction.CloseClick -> handleCloseClicked()
|
||||
PendingRequestsAction.DeclineAllRequestsConfirm -> handleDeclineAllRequestsConfirmed()
|
||||
PendingRequestsAction.HideBottomSheet -> handleHideBottomSheet()
|
||||
PendingRequestsAction.LifecycleResume -> handleOnLifecycleResumed()
|
||||
PendingRequestsAction.RefreshPull -> handleRefreshPull()
|
||||
is PendingRequestsAction.PendingRequestRowClick -> {
|
||||
|
@ -89,6 +92,10 @@ class PendingRequestsViewModel @Inject constructor(
|
|||
}
|
||||
}
|
||||
|
||||
private fun handleHideBottomSheet() {
|
||||
mutableStateFlow.update { it.copy(hideBottomSheet = true) }
|
||||
}
|
||||
|
||||
private fun handleOnLifecycleResumed() {
|
||||
updateAuthRequestList()
|
||||
}
|
||||
|
@ -193,6 +200,7 @@ data class PendingRequestsState(
|
|||
val viewState: ViewState,
|
||||
private val isPullToRefreshSettingEnabled: Boolean,
|
||||
val isRefreshing: Boolean,
|
||||
val hideBottomSheet: Boolean,
|
||||
) : Parcelable {
|
||||
/**
|
||||
* Indicates that the pull-to-refresh should be enabled in the UI.
|
||||
|
@ -297,6 +305,11 @@ sealed class PendingRequestsAction {
|
|||
*/
|
||||
data object DeclineAllRequestsConfirm : PendingRequestsAction()
|
||||
|
||||
/**
|
||||
* The user has dismissed the bottom sheet.
|
||||
*/
|
||||
data object HideBottomSheet : PendingRequestsAction()
|
||||
|
||||
/**
|
||||
* The screen has been re-opened and should be updated.
|
||||
*/
|
||||
|
|
|
@ -6,6 +6,7 @@ import android.content.ActivityNotFoundException
|
|||
import android.content.ComponentName
|
||||
import android.content.Context
|
||||
import android.content.Intent
|
||||
import android.content.IntentSender
|
||||
import android.content.pm.PackageManager
|
||||
import android.net.Uri
|
||||
import android.os.Build
|
||||
|
@ -27,6 +28,7 @@ import com.x8bit.bitwarden.MainActivity
|
|||
import com.x8bit.bitwarden.R
|
||||
import com.x8bit.bitwarden.data.autofill.util.toPendingIntentMutabilityFlag
|
||||
import com.x8bit.bitwarden.data.platform.annotation.OmitFromCoverage
|
||||
import com.x8bit.bitwarden.data.platform.util.isBuildVersionBelow
|
||||
import com.x8bit.bitwarden.ui.platform.util.toFormattedPattern
|
||||
import java.io.File
|
||||
import java.time.Clock
|
||||
|
@ -82,7 +84,7 @@ class IntentManagerImpl(
|
|||
override fun startActivity(intent: Intent) {
|
||||
try {
|
||||
context.startActivity(intent)
|
||||
} catch (e: ActivityNotFoundException) {
|
||||
} catch (_: ActivityNotFoundException) {
|
||||
// no-op
|
||||
}
|
||||
}
|
||||
|
@ -115,7 +117,7 @@ class IntentManagerImpl(
|
|||
}
|
||||
context.startActivity(intent)
|
||||
true
|
||||
} catch (e: ActivityNotFoundException) {
|
||||
} catch (_: ActivityNotFoundException) {
|
||||
false
|
||||
}
|
||||
|
||||
|
@ -132,12 +134,28 @@ class IntentManagerImpl(
|
|||
}
|
||||
|
||||
override fun launchUri(uri: Uri) {
|
||||
val newUri = if (uri.scheme == null) {
|
||||
uri.buildUpon().scheme("https").build()
|
||||
if (uri.scheme.equals(other = "androidapp", ignoreCase = true)) {
|
||||
val packageName = uri.toString().removePrefix(prefix = "androidapp://")
|
||||
if (isBuildVersionBelow(Build.VERSION_CODES.TIRAMISU)) {
|
||||
startActivity(createPlayStoreIntent(packageName))
|
||||
} else {
|
||||
try {
|
||||
context
|
||||
.packageManager
|
||||
.getLaunchIntentSenderForPackage(packageName)
|
||||
.sendIntent(context, Activity.RESULT_OK, null, null, null)
|
||||
} catch (_: IntentSender.SendIntentException) {
|
||||
startActivity(createPlayStoreIntent(packageName))
|
||||
}
|
||||
}
|
||||
} else {
|
||||
uri.normalizeScheme()
|
||||
val newUri = if (uri.scheme == null) {
|
||||
uri.buildUpon().scheme("https").build()
|
||||
} else {
|
||||
uri.normalizeScheme()
|
||||
}
|
||||
startActivity(Intent(Intent.ACTION_VIEW, newUri))
|
||||
}
|
||||
startActivity(Intent(Intent.ACTION_VIEW, newUri))
|
||||
}
|
||||
|
||||
override fun shareText(text: String) {
|
||||
|
@ -301,6 +319,15 @@ class IntentManagerImpl(
|
|||
startActivity(intent)
|
||||
}
|
||||
|
||||
private fun createPlayStoreIntent(packageName: String): Intent {
|
||||
val playStoreUri = "https://play.google.com/store/apps/details"
|
||||
.toUri()
|
||||
.buildUpon()
|
||||
.appendQueryParameter("id", packageName)
|
||||
.build()
|
||||
return Intent(Intent.ACTION_VIEW, playStoreUri)
|
||||
}
|
||||
|
||||
private fun getCameraFileData(): IntentManager.FileData {
|
||||
val tmpDir = File(context.filesDir, TEMP_CAMERA_IMAGE_DIR)
|
||||
val file = File(tmpDir, TEMP_CAMERA_IMAGE_NAME)
|
||||
|
|
|
@ -19,4 +19,9 @@ interface SnackbarRelayManager {
|
|||
* the [relay] to receive the data from.
|
||||
*/
|
||||
fun getSnackbarDataFlow(relay: SnackbarRelay): Flow<BitwardenSnackbarData>
|
||||
|
||||
/**
|
||||
* Clears the buffer for the given [relay].
|
||||
*/
|
||||
fun clearRelayBuffer(relay: SnackbarRelay)
|
||||
}
|
||||
|
|
|
@ -2,6 +2,7 @@ package com.x8bit.bitwarden.ui.platform.manager.snackbar
|
|||
|
||||
import com.x8bit.bitwarden.data.platform.repository.util.bufferedMutableSharedFlow
|
||||
import com.x8bit.bitwarden.ui.platform.components.snackbar.BitwardenSnackbarData
|
||||
import kotlinx.coroutines.ExperimentalCoroutinesApi
|
||||
import kotlinx.coroutines.flow.Flow
|
||||
import kotlinx.coroutines.flow.MutableSharedFlow
|
||||
import kotlinx.coroutines.flow.filterNotNull
|
||||
|
@ -26,6 +27,11 @@ class SnackbarRelayManagerImpl : SnackbarRelayManager {
|
|||
}
|
||||
.filterNotNull()
|
||||
|
||||
@OptIn(ExperimentalCoroutinesApi::class)
|
||||
override fun clearRelayBuffer(relay: SnackbarRelay) {
|
||||
getSnackbarDataFlowInternal(relay).resetReplayCache()
|
||||
}
|
||||
|
||||
private fun getSnackbarDataFlowInternal(
|
||||
relay: SnackbarRelay,
|
||||
): MutableSharedFlow<BitwardenSnackbarData?> =
|
||||
|
|
|
@ -314,7 +314,7 @@ fun VaultAddEditScreen(
|
|||
text = stringResource(id = R.string.delete),
|
||||
onClick = { pendingDeleteCipher = true },
|
||||
)
|
||||
.takeUnless { state.isAddItemMode },
|
||||
.takeUnless { state.isAddItemMode || !state.canDelete },
|
||||
),
|
||||
)
|
||||
},
|
||||
|
|
|
@ -149,7 +149,9 @@ class VaultAddEditViewModel @Inject constructor(
|
|||
attestationOptions = fido2AttestationOptions,
|
||||
isIndividualVaultDisabled = isIndividualVaultDisabled,
|
||||
)
|
||||
?: totpData?.toDefaultAddTypeContent(isIndividualVaultDisabled)
|
||||
?: totpData?.toDefaultAddTypeContent(
|
||||
isIndividualVaultDisabled = isIndividualVaultDisabled,
|
||||
)
|
||||
?: VaultAddEditState.ViewState.Content(
|
||||
common = VaultAddEditState.ViewState.Content.Common(),
|
||||
isIndividualVaultDisabled = isIndividualVaultDisabled,
|
||||
|
@ -1589,6 +1591,16 @@ class VaultAddEditViewModel @Inject constructor(
|
|||
currentAccount = userData?.activeAccount,
|
||||
vaultAddEditType = vaultAddEditType,
|
||||
) { currentAccount, cipherView ->
|
||||
val canDelete = vaultData.collectionViewList
|
||||
.none {
|
||||
val itemIsInCollection = cipherView
|
||||
?.collectionIds
|
||||
?.contains(it.id) == true
|
||||
|
||||
val canManageCollection = it.manage
|
||||
|
||||
itemIsInCollection && !canManageCollection
|
||||
}
|
||||
// Derive the view state from the current Cipher for Edit mode
|
||||
// or use the current state for Add
|
||||
(cipherView
|
||||
|
@ -1598,6 +1610,7 @@ class VaultAddEditViewModel @Inject constructor(
|
|||
totpData = totpData,
|
||||
resourceManager = resourceManager,
|
||||
clock = clock,
|
||||
canDelete = canDelete,
|
||||
)
|
||||
?: viewState)
|
||||
.appendFolderAndOwnerData(
|
||||
|
@ -2026,6 +2039,15 @@ data class VaultAddEditState(
|
|||
*/
|
||||
val isCloneMode: Boolean get() = vaultAddEditType is VaultAddEditType.CloneItem
|
||||
|
||||
/**
|
||||
* Helper to determine if the UI should allow deletion of this item.
|
||||
*/
|
||||
val canDelete: Boolean
|
||||
get() = (viewState as? ViewState.Content)
|
||||
?.common
|
||||
?.canDelete
|
||||
?: false
|
||||
|
||||
/**
|
||||
* Enum representing the main type options for the vault, such as LOGIN, CARD, etc.
|
||||
*
|
||||
|
@ -2085,6 +2107,7 @@ data class VaultAddEditState(
|
|||
* @property selectedOwnerId The ID of the owner associated with the item.
|
||||
* @property availableOwners A list of available owners.
|
||||
* @property hasOrganizations Indicates if the user is part of any organizations.
|
||||
* @property canDelete Indicates whether the current user can delete the item.
|
||||
*/
|
||||
@Parcelize
|
||||
data class Common(
|
||||
|
@ -2101,6 +2124,7 @@ data class VaultAddEditState(
|
|||
val selectedOwnerId: String? = null,
|
||||
val availableOwners: List<Owner> = emptyList(),
|
||||
val hasOrganizations: Boolean = false,
|
||||
val canDelete: Boolean = true,
|
||||
) : Parcelable {
|
||||
|
||||
/**
|
||||
|
|
|
@ -35,13 +35,14 @@ private const val PASSKEY_CREATION_TIME_PATTERN: String = "hh:mm a"
|
|||
/**
|
||||
* Transforms [CipherView] into [VaultAddEditState.ViewState].
|
||||
*/
|
||||
@Suppress("LongMethod")
|
||||
@Suppress("LongMethod", "LongParameterList")
|
||||
fun CipherView.toViewState(
|
||||
isClone: Boolean,
|
||||
isIndividualVaultDisabled: Boolean,
|
||||
totpData: TotpData?,
|
||||
resourceManager: ResourceManager,
|
||||
clock: Clock,
|
||||
canDelete: Boolean,
|
||||
): VaultAddEditState.ViewState =
|
||||
VaultAddEditState.ViewState.Content(
|
||||
type = when (type) {
|
||||
|
@ -108,6 +109,7 @@ fun CipherView.toViewState(
|
|||
availableOwners = emptyList(),
|
||||
hasOrganizations = false,
|
||||
customFieldData = this.fields.orEmpty().map { it.toCustomField() },
|
||||
canDelete = canDelete,
|
||||
),
|
||||
isIndividualVaultDisabled = isIndividualVaultDisabled,
|
||||
)
|
||||
|
|
|
@ -23,7 +23,6 @@ import androidx.compose.material3.rememberModalBottomSheetState
|
|||
import androidx.compose.material3.rememberTopAppBarState
|
||||
import androidx.compose.runtime.Composable
|
||||
import androidx.compose.runtime.getValue
|
||||
import androidx.compose.runtime.rememberCoroutineScope
|
||||
import androidx.compose.ui.Alignment
|
||||
import androidx.compose.ui.Modifier
|
||||
import androidx.compose.ui.input.nestedscroll.nestedScroll
|
||||
|
@ -65,7 +64,6 @@ import com.x8bit.bitwarden.ui.vault.feature.importlogins.handlers.ImportLoginHan
|
|||
import com.x8bit.bitwarden.ui.vault.feature.importlogins.handlers.rememberImportLoginHandler
|
||||
import com.x8bit.bitwarden.ui.vault.feature.importlogins.model.InstructionStep
|
||||
import kotlinx.collections.immutable.persistentListOf
|
||||
import kotlinx.coroutines.launch
|
||||
|
||||
private const val IMPORT_HELP_URL = "https://bitwarden.com/help/import-data/"
|
||||
|
||||
|
@ -100,27 +98,15 @@ fun ImportLoginsScreen(
|
|||
}
|
||||
}
|
||||
|
||||
val sheetState = rememberModalBottomSheetState(skipPartiallyExpanded = true)
|
||||
val scope = rememberCoroutineScope()
|
||||
val hideSheetAndExecuteCompleteImportLogins: () -> Unit = {
|
||||
// This pattern mirrors the onDismissRequest handling in the material ModalBottomSheet
|
||||
scope
|
||||
.launch {
|
||||
sheetState.hide()
|
||||
}
|
||||
.invokeOnCompletion {
|
||||
handler.onSuccessfulSyncAcknowledged()
|
||||
}
|
||||
}
|
||||
BitwardenModalBottomSheet(
|
||||
showBottomSheet = state.showBottomSheet,
|
||||
sheetTitle = stringResource(R.string.bitwarden_tools),
|
||||
onDismiss = hideSheetAndExecuteCompleteImportLogins,
|
||||
onDismiss = handler.onSuccessfulSyncAcknowledged,
|
||||
sheetState = rememberModalBottomSheetState(skipPartiallyExpanded = true),
|
||||
modifier = Modifier.statusBarsPadding(),
|
||||
) { paddingValues ->
|
||||
) { paddingValues, animatedOnDismiss ->
|
||||
ImportLoginsSuccessBottomSheetContent(
|
||||
onCompleteImportLogins = hideSheetAndExecuteCompleteImportLogins,
|
||||
onCompleteImportLogins = animatedOnDismiss,
|
||||
modifier = Modifier.padding(paddingValues),
|
||||
)
|
||||
}
|
||||
|
|
|
@ -226,7 +226,8 @@ fun VaultItemScreen(
|
|||
)
|
||||
}
|
||||
},
|
||||
),
|
||||
)
|
||||
.takeIf { state.canDelete },
|
||||
),
|
||||
)
|
||||
},
|
||||
|
|
|
@ -82,7 +82,8 @@ class VaultItemViewModel @Inject constructor(
|
|||
vaultRepository.getVaultItemStateFlow(state.vaultItemId),
|
||||
authRepository.userStateFlow,
|
||||
vaultRepository.getAuthCodeFlow(state.vaultItemId),
|
||||
) { cipherViewState, userState, authCodeState ->
|
||||
vaultRepository.collectionsStateFlow,
|
||||
) { cipherViewState, userState, authCodeState, collectionsState ->
|
||||
val totpCodeData = authCodeState.data?.let {
|
||||
TotpCodeItemData(
|
||||
periodSeconds = it.periodSeconds,
|
||||
|
@ -96,14 +97,30 @@ class VaultItemViewModel @Inject constructor(
|
|||
vaultDataState = combineDataStates(
|
||||
cipherViewState,
|
||||
authCodeState,
|
||||
) { _, _ ->
|
||||
collectionsState,
|
||||
) { _, _, _ ->
|
||||
// We are only combining the DataStates to know the overall state,
|
||||
// we map it to the appropriate value below.
|
||||
}
|
||||
.mapNullable {
|
||||
// Deletion is not allowed when the item is in a collection that the user
|
||||
// does not have "manage" permission for.
|
||||
val canDelete = collectionsState.data
|
||||
?.none {
|
||||
val itemIsInCollection = cipherViewState.data
|
||||
?.collectionIds
|
||||
?.contains(it.id) == true
|
||||
|
||||
val canManageCollection = it.manage
|
||||
|
||||
itemIsInCollection && !canManageCollection
|
||||
}
|
||||
?: true
|
||||
|
||||
VaultItemStateData(
|
||||
cipher = cipherViewState.data,
|
||||
totpCodeItemData = totpCodeData,
|
||||
canDelete = canDelete,
|
||||
)
|
||||
},
|
||||
)
|
||||
|
@ -915,6 +932,7 @@ class VaultItemViewModel @Inject constructor(
|
|||
isPremiumUser = account.isPremium,
|
||||
hasMasterPassword = account.hasMasterPassword,
|
||||
totpCodeItemData = this.data?.totpCodeItemData,
|
||||
canDelete = this.data?.canDelete == true,
|
||||
)
|
||||
?: VaultItemState.ViewState.Error(message = errorText)
|
||||
|
||||
|
@ -1153,6 +1171,14 @@ data class VaultItemState(
|
|||
?.isNotEmpty()
|
||||
?: false
|
||||
|
||||
/**
|
||||
* Whether or not the cipher can be deleted.
|
||||
*/
|
||||
val canDelete: Boolean
|
||||
get() = viewState.asContentOrNull()
|
||||
?.common
|
||||
?.canDelete == true
|
||||
|
||||
/**
|
||||
* The text to display on the deletion confirmation dialog.
|
||||
*/
|
||||
|
@ -1216,6 +1242,7 @@ data class VaultItemState(
|
|||
@IgnoredOnParcel
|
||||
val currentCipher: CipherView? = null,
|
||||
val attachments: List<AttachmentItem>?,
|
||||
val canDelete: Boolean,
|
||||
) : Parcelable {
|
||||
|
||||
/**
|
||||
|
|
|
@ -11,4 +11,5 @@ import com.bitwarden.vault.CipherView
|
|||
data class VaultItemStateData(
|
||||
val cipher: CipherView?,
|
||||
val totpCodeItemData: TotpCodeItemData?,
|
||||
val canDelete: Boolean,
|
||||
)
|
||||
|
|
|
@ -32,13 +32,14 @@ private const val FIDO2_CREDENTIAL_CREATION_TIME_PATTERN: String = "h:mm a"
|
|||
/**
|
||||
* Transforms [VaultData] into [VaultState.ViewState].
|
||||
*/
|
||||
@Suppress("CyclomaticComplexMethod", "LongMethod")
|
||||
@Suppress("CyclomaticComplexMethod", "LongMethod", "LongParameterList")
|
||||
fun CipherView.toViewState(
|
||||
previousState: VaultItemState.ViewState.Content?,
|
||||
isPremiumUser: Boolean,
|
||||
hasMasterPassword: Boolean,
|
||||
totpCodeItemData: TotpCodeItemData?,
|
||||
clock: Clock = Clock.systemDefaultZone(),
|
||||
canDelete: Boolean,
|
||||
): VaultItemState.ViewState =
|
||||
VaultItemState.ViewState.Content(
|
||||
common = VaultItemState.ViewState.Content.Common(
|
||||
|
@ -79,6 +80,7 @@ fun CipherView.toViewState(
|
|||
}
|
||||
}
|
||||
.orEmpty(),
|
||||
canDelete = canDelete,
|
||||
),
|
||||
type = when (type) {
|
||||
CipherType.LOGIN -> {
|
||||
|
|
|
@ -1,7 +1,5 @@
|
|||
package com.x8bit.bitwarden.ui.vault.feature.vault
|
||||
|
||||
import android.Manifest
|
||||
import android.annotation.SuppressLint
|
||||
import android.widget.Toast
|
||||
import androidx.compose.animation.AnimatedVisibility
|
||||
import androidx.compose.animation.scaleIn
|
||||
|
@ -15,7 +13,6 @@ import androidx.compose.material3.ExperimentalMaterial3Api
|
|||
import androidx.compose.material3.TopAppBarDefaults
|
||||
import androidx.compose.material3.rememberTopAppBarState
|
||||
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
|
||||
|
@ -61,11 +58,9 @@ import com.x8bit.bitwarden.ui.platform.components.snackbar.rememberBitwardenSnac
|
|||
import com.x8bit.bitwarden.ui.platform.components.util.rememberVectorPainter
|
||||
import com.x8bit.bitwarden.ui.platform.composition.LocalExitManager
|
||||
import com.x8bit.bitwarden.ui.platform.composition.LocalIntentManager
|
||||
import com.x8bit.bitwarden.ui.platform.composition.LocalPermissionsManager
|
||||
import com.x8bit.bitwarden.ui.platform.feature.search.model.SearchType
|
||||
import com.x8bit.bitwarden.ui.platform.manager.exit.ExitManager
|
||||
import com.x8bit.bitwarden.ui.platform.manager.intent.IntentManager
|
||||
import com.x8bit.bitwarden.ui.platform.manager.permissions.PermissionsManager
|
||||
import com.x8bit.bitwarden.ui.platform.manager.snackbar.SnackbarRelay
|
||||
import com.x8bit.bitwarden.ui.vault.feature.itemlisting.model.ListingItemOverflowAction
|
||||
import com.x8bit.bitwarden.ui.vault.feature.vault.handlers.VaultHandlers
|
||||
|
@ -90,7 +85,6 @@ fun VaultScreen(
|
|||
onNavigateToImportLogins: (SnackbarRelay) -> Unit,
|
||||
exitManager: ExitManager = LocalExitManager.current,
|
||||
intentManager: IntentManager = LocalIntentManager.current,
|
||||
permissionsManager: PermissionsManager = LocalPermissionsManager.current,
|
||||
) {
|
||||
val state by viewModel.stateFlow.collectAsStateWithLifecycle()
|
||||
val context = LocalContext.current
|
||||
|
@ -137,10 +131,6 @@ fun VaultScreen(
|
|||
}
|
||||
}
|
||||
val vaultHandlers = remember(viewModel) { VaultHandlers.create(viewModel) }
|
||||
VaultScreenPushNotifications(
|
||||
hideNotificationsDialog = state.hideNotificationsDialog,
|
||||
permissionsManager = permissionsManager,
|
||||
)
|
||||
VaultScreenScaffold(
|
||||
state = state,
|
||||
pullToRefreshState = pullToRefreshState,
|
||||
|
@ -150,28 +140,6 @@ fun VaultScreen(
|
|||
)
|
||||
}
|
||||
|
||||
/**
|
||||
* Handles the notifications permission request.
|
||||
*/
|
||||
@Composable
|
||||
private fun VaultScreenPushNotifications(
|
||||
hideNotificationsDialog: Boolean,
|
||||
permissionsManager: PermissionsManager,
|
||||
) {
|
||||
if (hideNotificationsDialog) return
|
||||
val launcher = permissionsManager.getLauncher {
|
||||
// We do not actually care what the response is, we just need
|
||||
// to give the user a chance to give us the permission.
|
||||
}
|
||||
LaunchedEffect(key1 = Unit) {
|
||||
@SuppressLint("InlinedApi")
|
||||
// We check the version code as part of the 'hideNotificationsDialog' property.
|
||||
if (!permissionsManager.checkPermission(Manifest.permission.POST_NOTIFICATIONS)) {
|
||||
launcher.launch(Manifest.permission.POST_NOTIFICATIONS)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Scaffold for the [VaultScreen]
|
||||
*/
|
||||
|
|
|
@ -1,6 +1,5 @@
|
|||
package com.x8bit.bitwarden.ui.vault.feature.vault
|
||||
|
||||
import android.os.Build
|
||||
import android.os.Parcelable
|
||||
import androidx.compose.ui.graphics.Color
|
||||
import androidx.lifecycle.viewModelScope
|
||||
|
@ -19,8 +18,6 @@ import com.x8bit.bitwarden.data.platform.manager.model.OrganizationEvent
|
|||
import com.x8bit.bitwarden.data.platform.repository.SettingsRepository
|
||||
import com.x8bit.bitwarden.data.platform.repository.model.DataState
|
||||
import com.x8bit.bitwarden.data.platform.repository.util.baseIconUrl
|
||||
import com.x8bit.bitwarden.data.platform.util.isBuildVersionBelow
|
||||
import com.x8bit.bitwarden.data.platform.util.isFdroid
|
||||
import com.x8bit.bitwarden.data.vault.datasource.network.model.PolicyTypeJson
|
||||
import com.x8bit.bitwarden.data.vault.repository.VaultRepository
|
||||
import com.x8bit.bitwarden.data.vault.repository.model.GenerateTotpResult
|
||||
|
@ -76,8 +73,8 @@ class VaultViewModel @Inject constructor(
|
|||
private val settingsRepository: SettingsRepository,
|
||||
private val vaultRepository: VaultRepository,
|
||||
private val firstTimeActionManager: FirstTimeActionManager,
|
||||
private val snackbarRelayManager: SnackbarRelayManager,
|
||||
featureFlagManager: FeatureFlagManager,
|
||||
snackbarRelayManager: SnackbarRelayManager,
|
||||
) : BaseViewModel<VaultState, VaultEvent, VaultAction>(
|
||||
initialState = run {
|
||||
val userState = requireNotNull(authRepository.userStateFlow.value)
|
||||
|
@ -102,7 +99,6 @@ class VaultViewModel @Inject constructor(
|
|||
isPullToRefreshSettingEnabled = settingsRepository.getPullToRefreshEnabledFlow().value,
|
||||
baseIconUrl = userState.activeAccount.environment.environmentUrlData.baseIconUrl,
|
||||
hasMasterPassword = userState.activeAccount.hasMasterPassword,
|
||||
hideNotificationsDialog = isBuildVersionBelow(Build.VERSION_CODES.TIRAMISU) || isFdroid,
|
||||
isRefreshing = false,
|
||||
showImportActionCard = false,
|
||||
showSshKeys = showSshKeys,
|
||||
|
@ -287,6 +283,9 @@ class VaultViewModel @Inject constructor(
|
|||
SwitchAccountResult.AccountSwitched -> true
|
||||
SwitchAccountResult.NoChange -> false
|
||||
}
|
||||
if (isSwitchingAccounts) {
|
||||
snackbarRelayManager.clearRelayBuffer(SnackbarRelay.MY_VAULT_RELAY)
|
||||
}
|
||||
mutableStateFlow.update {
|
||||
it.copy(isSwitchingAccounts = isSwitchingAccounts)
|
||||
}
|
||||
|
@ -713,7 +712,6 @@ data class VaultState(
|
|||
private val isPullToRefreshSettingEnabled: Boolean,
|
||||
val baseIconUrl: String,
|
||||
val isIconLoadingDisabled: Boolean,
|
||||
val hideNotificationsDialog: Boolean,
|
||||
val isRefreshing: Boolean,
|
||||
val showImportActionCard: Boolean,
|
||||
val showSshKeys: Boolean,
|
||||
|
|
73
app/src/main/res/drawable-night/img_2fa.xml
Normal file
73
app/src/main/res/drawable-night/img_2fa.xml
Normal file
|
@ -0,0 +1,73 @@
|
|||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="200dp"
|
||||
android:height="201dp"
|
||||
android:viewportWidth="200"
|
||||
android:viewportHeight="201">
|
||||
<path
|
||||
android:fillColor="#AAC3EF"
|
||||
android:pathData="M0,38.17C0,31.26 5.6,25.67 12.5,25.67H125C131.9,25.67 137.5,31.26 137.5,38.17V117.33C137.5,124.24 131.9,129.83 125,129.83H12.5C5.6,129.83 0,124.24 0,117.33V38.17Z" />
|
||||
<path
|
||||
android:fillColor="#175DDC"
|
||||
android:fillType="evenOdd"
|
||||
android:pathData="M125,29.83H12.5C7.9,29.83 4.17,33.56 4.17,38.17V117.33C4.17,121.94 7.9,125.67 12.5,125.67H125C129.6,125.67 133.33,121.94 133.33,117.33V38.17C133.33,33.56 129.6,29.83 125,29.83ZM12.5,25.67C5.6,25.67 0,31.26 0,38.17V117.33C0,124.24 5.6,129.83 12.5,129.83H125C131.9,129.83 137.5,124.24 137.5,117.33V38.17C137.5,31.26 131.9,25.67 125,25.67H12.5Z" />
|
||||
<path
|
||||
android:fillColor="#79A1E9"
|
||||
android:pathData="M47.92,75.67C47.92,72.21 50.71,69.42 54.17,69.42H83.33C86.78,69.42 89.58,72.21 89.58,75.67V96.5C89.58,99.95 86.78,102.75 83.33,102.75H54.17C50.71,102.75 47.92,99.95 47.92,96.5V75.67Z" />
|
||||
<path
|
||||
android:fillColor="#175DDC"
|
||||
android:fillType="evenOdd"
|
||||
android:pathData="M83.33,73.58H54.17C53.02,73.58 52.08,74.52 52.08,75.67V96.5C52.08,97.65 53.02,98.58 54.17,98.58H83.33C84.48,98.58 85.42,97.65 85.42,96.5V75.67C85.42,74.52 84.48,73.58 83.33,73.58ZM54.17,69.42C50.71,69.42 47.92,72.21 47.92,75.67V96.5C47.92,99.95 50.71,102.75 54.17,102.75H83.33C86.78,102.75 89.58,99.95 89.58,96.5V75.67C89.58,72.21 86.78,69.42 83.33,69.42H54.17Z" />
|
||||
<path
|
||||
android:fillColor="#175DDC"
|
||||
android:pathData="M66.67,81.92C66.67,80.77 67.6,79.83 68.75,79.83C69.9,79.83 70.83,80.77 70.83,81.92V90.25C70.83,91.4 69.9,92.33 68.75,92.33C67.6,92.33 66.67,91.4 66.67,90.25V81.92Z" />
|
||||
<path
|
||||
android:fillColor="#175DDC"
|
||||
android:fillType="evenOdd"
|
||||
android:pathData="M58.33,67.33C58.33,61.58 63,56.92 68.75,56.92C74.5,56.92 79.17,61.58 79.17,67.33V69.42H75V67.33C75,63.88 72.2,61.08 68.75,61.08C65.3,61.08 62.5,63.88 62.5,67.33V69.42H58.33V67.33Z" />
|
||||
<path
|
||||
android:fillColor="#175DDC"
|
||||
android:fillType="evenOdd"
|
||||
android:pathData="M135.42,50.67H2.08V46.5H135.42V50.67Z" />
|
||||
<path
|
||||
android:fillColor="#175DDC"
|
||||
android:pathData="M129.17,38.17C129.17,40.47 127.3,42.33 125,42.33C122.7,42.33 120.83,40.47 120.83,38.17C120.83,35.87 122.7,34 125,34C127.3,34 129.17,35.87 129.17,38.17Z" />
|
||||
<path
|
||||
android:fillColor="#175DDC"
|
||||
android:pathData="M116.67,38.17C116.67,40.47 114.8,42.33 112.5,42.33C110.2,42.33 108.33,40.47 108.33,38.17C108.33,35.87 110.2,34 112.5,34C114.8,34 116.67,35.87 116.67,38.17Z" />
|
||||
<path
|
||||
android:fillColor="#175DDC"
|
||||
android:pathData="M104.17,38.17C104.17,40.47 102.3,42.33 100,42.33C97.7,42.33 95.83,40.47 95.83,38.17C95.83,35.87 97.7,34 100,34C102.3,34 104.17,35.87 104.17,38.17Z" />
|
||||
<path
|
||||
android:fillColor="#F3F6F9"
|
||||
android:pathData="M170.83,88.17C170.83,104.28 157.77,117.33 141.67,117.33C125.56,117.33 112.5,104.28 112.5,88.17C112.5,72.06 125.56,59 141.67,59C157.77,59 170.83,72.06 170.83,88.17Z" />
|
||||
<path
|
||||
android:fillColor="#175DDC"
|
||||
android:fillType="evenOdd"
|
||||
android:pathData="M141.67,113.17C155.47,113.17 166.67,101.97 166.67,88.17C166.67,74.36 155.47,63.17 141.67,63.17C127.86,63.17 116.67,74.36 116.67,88.17C116.67,101.97 127.86,113.17 141.67,113.17ZM141.67,117.33C157.77,117.33 170.83,104.28 170.83,88.17C170.83,72.06 157.77,59 141.67,59C125.56,59 112.5,72.06 112.5,88.17C112.5,104.28 125.56,117.33 141.67,117.33Z" />
|
||||
<path
|
||||
android:fillColor="#F3F6F9"
|
||||
android:pathData="M195.64,150.62C198.52,157.57 200,165.02 200,172.54C200,174.27 198.6,175.67 196.87,175.67H88.54C86.82,175.67 85.42,174.27 85.42,172.54C85.42,165.02 86.9,157.57 89.78,150.62C92.66,143.67 96.88,137.35 102.2,132.03C107.52,126.71 113.83,122.49 120.78,119.61C127.73,116.73 135.18,115.25 142.71,115.25C150.23,115.25 157.68,116.73 164.63,119.61C171.58,122.49 177.9,126.71 183.22,132.03C188.54,137.35 192.76,143.67 195.64,150.62Z" />
|
||||
<path
|
||||
android:fillColor="#175DDC"
|
||||
android:fillType="evenOdd"
|
||||
android:pathData="M195.82,171.5C195.69,164.88 194.33,158.34 191.79,152.21C189.12,145.77 185.21,139.91 180.27,134.98C175.34,130.04 169.48,126.13 163.04,123.46C156.59,120.79 149.68,119.42 142.71,119.42C135.73,119.42 128.82,120.79 122.38,123.46C115.93,126.13 110.08,130.04 105.14,134.98C100.21,139.91 96.3,145.77 93.63,152.21C91.09,158.34 89.72,164.88 89.59,171.5H195.82ZM200,172.54C200,165.02 198.52,157.57 195.64,150.62C192.76,143.67 188.54,137.35 183.22,132.03C177.9,126.71 171.58,122.49 164.63,119.61C157.68,116.73 150.23,115.25 142.71,115.25C135.18,115.25 127.73,116.73 120.78,119.61C113.83,122.49 107.52,126.71 102.2,132.03C96.88,137.35 92.66,143.67 89.78,150.62C86.9,157.57 85.42,165.02 85.42,172.54C85.42,174.27 86.82,175.67 88.54,175.67H196.87C198.6,175.67 200,174.27 200,172.54Z" />
|
||||
<path
|
||||
android:fillColor="#FFBF00"
|
||||
android:pathData="M22.92,127.75C22.92,118.54 30.38,111.08 39.58,111.08H95.83C105.04,111.08 112.5,118.54 112.5,127.75C112.5,136.95 105.04,144.42 95.83,144.42H39.58C30.38,144.42 22.92,136.95 22.92,127.75Z" />
|
||||
<path
|
||||
android:fillColor="#175DDC"
|
||||
android:fillType="evenOdd"
|
||||
android:pathData="M95.83,115.25H39.58C32.68,115.25 27.08,120.85 27.08,127.75C27.08,134.65 32.68,140.25 39.58,140.25H95.83C102.74,140.25 108.33,134.65 108.33,127.75C108.33,120.85 102.74,115.25 95.83,115.25ZM39.58,111.08C30.38,111.08 22.92,118.54 22.92,127.75C22.92,136.95 30.38,144.42 39.58,144.42H95.83C105.04,144.42 112.5,136.95 112.5,127.75C112.5,118.54 105.04,111.08 95.83,111.08H39.58Z" />
|
||||
<path
|
||||
android:fillColor="#175DDC"
|
||||
android:fillType="evenOdd"
|
||||
android:pathData="M41.68,120.61C42.83,120.61 43.76,121.54 43.76,122.69V125.61L46.49,124.71C47.59,124.36 48.76,124.95 49.12,126.05C49.48,127.14 48.88,128.32 47.79,128.67L45.02,129.58L46.76,132.01C47.42,132.95 47.21,134.25 46.27,134.92C45.33,135.59 44.03,135.37 43.36,134.43L41.68,132.07L39.99,134.43C39.32,135.37 38.02,135.59 37.08,134.92C36.15,134.25 35.93,132.95 36.6,132.01L38.33,129.58L35.56,128.67C34.47,128.32 33.87,127.14 34.23,126.05C34.59,124.95 35.77,124.36 36.86,124.71L39.59,125.61V122.69C39.59,121.54 40.53,120.61 41.68,120.61ZM60.43,120.61C61.58,120.61 62.51,121.54 62.51,122.69V125.61L65.24,124.71C66.34,124.36 67.51,124.95 67.87,126.05C68.23,127.14 67.63,128.32 66.54,128.67L63.77,129.58L65.51,132.01C66.17,132.95 65.96,134.25 65.02,134.92C64.08,135.59 62.78,135.37 62.11,134.43L60.43,132.07L58.74,134.43C58.07,135.37 56.77,135.59 55.83,134.92C54.9,134.25 54.68,132.95 55.35,132.01L57.08,129.58L54.31,128.67C53.22,128.32 52.62,127.14 52.98,126.05C53.34,124.95 54.52,124.36 55.61,124.71L58.34,125.61V122.69C58.34,121.54 59.28,120.61 60.43,120.61Z" />
|
||||
<path
|
||||
android:fillColor="#175DDC"
|
||||
android:fillType="evenOdd"
|
||||
android:pathData="M72.92,131.92C72.92,130.77 73.85,129.83 75,129.83L83.33,129.83C84.48,129.83 85.42,130.77 85.42,131.92C85.42,133.07 84.48,134 83.33,134L75,134C73.85,134 72.92,133.07 72.92,131.92Z" />
|
||||
<path
|
||||
android:fillColor="#175DDC"
|
||||
android:fillType="evenOdd"
|
||||
android:pathData="M89.58,131.92C89.58,130.77 90.52,129.83 91.67,129.83L100,129.83C101.15,129.83 102.08,130.77 102.08,131.92C102.08,133.07 101.15,134 100,134L91.67,134C90.52,134 89.58,133.07 89.58,131.92Z" />
|
||||
</vector>
|
73
app/src/main/res/drawable/img_2fa.xml
Normal file
73
app/src/main/res/drawable/img_2fa.xml
Normal file
|
@ -0,0 +1,73 @@
|
|||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="200dp"
|
||||
android:height="201dp"
|
||||
android:viewportWidth="200"
|
||||
android:viewportHeight="201">
|
||||
<path
|
||||
android:fillColor="#DBE5F6"
|
||||
android:pathData="M0,38.17C0,31.26 5.6,25.67 12.5,25.67H125C131.9,25.67 137.5,31.26 137.5,38.17V117.33C137.5,124.24 131.9,129.83 125,129.83H12.5C5.6,129.83 0,124.24 0,117.33V38.17Z" />
|
||||
<path
|
||||
android:fillColor="#020F66"
|
||||
android:fillType="evenOdd"
|
||||
android:pathData="M125,29.83H12.5C7.9,29.83 4.17,33.56 4.17,38.17V117.33C4.17,121.94 7.9,125.67 12.5,125.67H125C129.6,125.67 133.33,121.94 133.33,117.33V38.17C133.33,33.56 129.6,29.83 125,29.83ZM12.5,25.67C5.6,25.67 0,31.26 0,38.17V117.33C0,124.24 5.6,129.83 12.5,129.83H125C131.9,129.83 137.5,124.24 137.5,117.33V38.17C137.5,31.26 131.9,25.67 125,25.67H12.5Z" />
|
||||
<path
|
||||
android:fillColor="#AAC3EF"
|
||||
android:pathData="M47.92,75.67C47.92,72.21 50.71,69.42 54.17,69.42H83.33C86.78,69.42 89.58,72.21 89.58,75.67V96.5C89.58,99.95 86.78,102.75 83.33,102.75H54.17C50.71,102.75 47.92,99.95 47.92,96.5V75.67Z" />
|
||||
<path
|
||||
android:fillColor="#020F66"
|
||||
android:fillType="evenOdd"
|
||||
android:pathData="M83.33,73.58H54.17C53.02,73.58 52.08,74.52 52.08,75.67V96.5C52.08,97.65 53.02,98.58 54.17,98.58H83.33C84.48,98.58 85.42,97.65 85.42,96.5V75.67C85.42,74.52 84.48,73.58 83.33,73.58ZM54.17,69.42C50.71,69.42 47.92,72.21 47.92,75.67V96.5C47.92,99.95 50.71,102.75 54.17,102.75H83.33C86.78,102.75 89.58,99.95 89.58,96.5V75.67C89.58,72.21 86.78,69.42 83.33,69.42H54.17Z" />
|
||||
<path
|
||||
android:fillColor="#020F66"
|
||||
android:pathData="M66.67,81.92C66.67,80.77 67.6,79.83 68.75,79.83C69.9,79.83 70.83,80.77 70.83,81.92V90.25C70.83,91.4 69.9,92.33 68.75,92.33C67.6,92.33 66.67,91.4 66.67,90.25V81.92Z" />
|
||||
<path
|
||||
android:fillColor="#020F66"
|
||||
android:fillType="evenOdd"
|
||||
android:pathData="M58.33,67.33C58.33,61.58 63,56.92 68.75,56.92C74.5,56.92 79.17,61.58 79.17,67.33V69.42H75V67.33C75,63.88 72.2,61.08 68.75,61.08C65.3,61.08 62.5,63.88 62.5,67.33V69.42H58.33V67.33Z" />
|
||||
<path
|
||||
android:fillColor="#020F66"
|
||||
android:fillType="evenOdd"
|
||||
android:pathData="M135.42,50.67H2.08V46.5H135.42V50.67Z" />
|
||||
<path
|
||||
android:fillColor="#020F66"
|
||||
android:pathData="M129.17,38.17C129.17,40.47 127.3,42.33 125,42.33C122.7,42.33 120.83,40.47 120.83,38.17C120.83,35.87 122.7,34 125,34C127.3,34 129.17,35.87 129.17,38.17Z" />
|
||||
<path
|
||||
android:fillColor="#020F66"
|
||||
android:pathData="M116.67,38.17C116.67,40.47 114.8,42.33 112.5,42.33C110.2,42.33 108.33,40.47 108.33,38.17C108.33,35.87 110.2,34 112.5,34C114.8,34 116.67,35.87 116.67,38.17Z" />
|
||||
<path
|
||||
android:fillColor="#020F66"
|
||||
android:pathData="M104.17,38.17C104.17,40.47 102.3,42.33 100,42.33C97.7,42.33 95.83,40.47 95.83,38.17C95.83,35.87 97.7,34 100,34C102.3,34 104.17,35.87 104.17,38.17Z" />
|
||||
<path
|
||||
android:fillColor="#ffffff"
|
||||
android:pathData="M170.83,88.17C170.83,104.28 157.77,117.33 141.67,117.33C125.56,117.33 112.5,104.28 112.5,88.17C112.5,72.06 125.56,59 141.67,59C157.77,59 170.83,72.06 170.83,88.17Z" />
|
||||
<path
|
||||
android:fillColor="#020F66"
|
||||
android:fillType="evenOdd"
|
||||
android:pathData="M141.67,113.17C155.47,113.17 166.67,101.97 166.67,88.17C166.67,74.36 155.47,63.17 141.67,63.17C127.86,63.17 116.67,74.36 116.67,88.17C116.67,101.97 127.86,113.17 141.67,113.17ZM141.67,117.33C157.77,117.33 170.83,104.28 170.83,88.17C170.83,72.06 157.77,59 141.67,59C125.56,59 112.5,72.06 112.5,88.17C112.5,104.28 125.56,117.33 141.67,117.33Z" />
|
||||
<path
|
||||
android:fillColor="#ffffff"
|
||||
android:pathData="M195.64,150.62C198.52,157.57 200,165.02 200,172.54C200,174.27 198.6,175.67 196.87,175.67H88.54C86.82,175.67 85.42,174.27 85.42,172.54C85.42,165.02 86.9,157.57 89.78,150.62C92.66,143.67 96.88,137.35 102.2,132.03C107.52,126.71 113.83,122.49 120.78,119.61C127.73,116.73 135.18,115.25 142.71,115.25C150.23,115.25 157.68,116.73 164.63,119.61C171.58,122.49 177.9,126.71 183.22,132.03C188.54,137.35 192.76,143.67 195.64,150.62Z" />
|
||||
<path
|
||||
android:fillColor="#020F66"
|
||||
android:fillType="evenOdd"
|
||||
android:pathData="M195.82,171.5C195.69,164.88 194.33,158.34 191.79,152.21C189.12,145.77 185.21,139.91 180.27,134.98C175.34,130.04 169.48,126.13 163.04,123.46C156.59,120.79 149.68,119.42 142.71,119.42C135.73,119.42 128.82,120.79 122.38,123.46C115.93,126.13 110.08,130.04 105.14,134.98C100.21,139.91 96.3,145.77 93.63,152.21C91.09,158.34 89.72,164.88 89.59,171.5H195.82ZM200,172.54C200,165.02 198.52,157.57 195.64,150.62C192.76,143.67 188.54,137.35 183.22,132.03C177.9,126.71 171.58,122.49 164.63,119.61C157.68,116.73 150.23,115.25 142.71,115.25C135.18,115.25 127.73,116.73 120.78,119.61C113.83,122.49 107.52,126.71 102.2,132.03C96.88,137.35 92.66,143.67 89.78,150.62C86.9,157.57 85.42,165.02 85.42,172.54C85.42,174.27 86.82,175.67 88.54,175.67H196.87C198.6,175.67 200,174.27 200,172.54Z" />
|
||||
<path
|
||||
android:fillColor="#FFBF00"
|
||||
android:pathData="M22.92,127.75C22.92,118.54 30.38,111.08 39.58,111.08H95.83C105.04,111.08 112.5,118.54 112.5,127.75C112.5,136.95 105.04,144.42 95.83,144.42H39.58C30.38,144.42 22.92,136.95 22.92,127.75Z" />
|
||||
<path
|
||||
android:fillColor="#020F66"
|
||||
android:fillType="evenOdd"
|
||||
android:pathData="M95.83,115.25H39.58C32.68,115.25 27.08,120.85 27.08,127.75C27.08,134.65 32.68,140.25 39.58,140.25H95.83C102.74,140.25 108.33,134.65 108.33,127.75C108.33,120.85 102.74,115.25 95.83,115.25ZM39.58,111.08C30.38,111.08 22.92,118.54 22.92,127.75C22.92,136.95 30.38,144.42 39.58,144.42H95.83C105.04,144.42 112.5,136.95 112.5,127.75C112.5,118.54 105.04,111.08 95.83,111.08H39.58Z" />
|
||||
<path
|
||||
android:fillColor="#020F66"
|
||||
android:fillType="evenOdd"
|
||||
android:pathData="M41.67,120.61C42.83,120.61 43.76,121.54 43.76,122.69V125.61L46.49,124.71C47.58,124.36 48.76,124.95 49.12,126.05C49.48,127.14 48.88,128.32 47.79,128.67L45.02,129.58L46.75,132.01C47.42,132.95 47.2,134.25 46.27,134.92C45.33,135.59 44.03,135.37 43.36,134.43L41.67,132.07L39.99,134.43C39.32,135.37 38.02,135.59 37.08,134.92C36.14,134.25 35.93,132.95 36.6,132.01L38.33,129.58L35.56,128.67C34.47,128.32 33.87,127.14 34.23,126.05C34.59,124.95 35.76,124.36 36.86,124.71L39.59,125.61V122.69C39.59,121.54 40.52,120.61 41.67,120.61ZM60.42,120.61C61.58,120.61 62.51,121.54 62.51,122.69V125.61L65.24,124.71C66.33,124.36 67.51,124.95 67.87,126.05C68.23,127.14 67.63,128.32 66.54,128.67L63.77,129.58L65.5,132.01C66.17,132.95 65.95,134.25 65.02,134.92C64.08,135.59 62.78,135.37 62.11,134.43L60.42,132.07L58.74,134.43C58.07,135.37 56.77,135.59 55.83,134.92C54.89,134.25 54.68,132.95 55.35,132.01L57.08,129.58L54.31,128.67C53.22,128.32 52.62,127.14 52.98,126.05C53.34,124.95 54.51,124.36 55.61,124.71L58.34,125.61V122.69C58.34,121.54 59.27,120.61 60.42,120.61Z" />
|
||||
<path
|
||||
android:fillColor="#020F66"
|
||||
android:fillType="evenOdd"
|
||||
android:pathData="M72.92,131.92C72.92,130.77 73.85,129.83 75,129.83L83.33,129.83C84.48,129.83 85.42,130.77 85.42,131.92C85.42,133.07 84.48,134 83.33,134L75,134C73.85,134 72.92,133.07 72.92,131.92Z" />
|
||||
<path
|
||||
android:fillColor="#020F66"
|
||||
android:fillType="evenOdd"
|
||||
android:pathData="M89.58,131.92C89.58,130.77 90.52,129.83 91.67,129.83L100,129.83C101.15,129.83 102.08,130.77 102.08,131.92C102.08,133.07 101.15,134 100,134L91.67,134C90.52,134 89.58,133.07 89.58,131.92Z" />
|
||||
</vector>
|
|
@ -1001,7 +1001,7 @@ Wil u na die rekening omskakel?</string>
|
|||
<string name="please_restart_registration_or_try_logging_in">Please restart registration or try logging in. You may already have an account.</string>
|
||||
<string name="restart_registration">Restart registration</string>
|
||||
<string name="authenticator_sync">Authenticator Sync</string>
|
||||
<string name="allow_bitwarden_authenticator_syncing">Allow Bitwarden Authenticator Syncing</string>
|
||||
<string name="allow_bitwarden_authenticator_syncing">Allow authenticator syncing</string>
|
||||
<string name="there_was_an_issue_validating_the_registration_token">There was an issue validating the registration token.</string>
|
||||
<string name="turn_on_autofill">Turn on autofill</string>
|
||||
<string name="use_autofill_to_log_into_your_accounts">Use autofill to log into your accounts with a single tap.</string>
|
||||
|
@ -1040,8 +1040,8 @@ Wil u na die rekening omskakel?</string>
|
|||
<string name="step_1_of_3">Step 1 of 3</string>
|
||||
<string name="export_your_saved_logins">Export your saved logins</string>
|
||||
<string name="delete_this_file_after_import_is_complete">You’ll delete this file after import is complete.</string>
|
||||
<string name="on_your_computer_open_a_new_browser_tab_and_go_to_vault_bitwarden_com">On your computer, open a new browser tab and go to vault.bitwarden.com</string>
|
||||
<string name="go_to_vault_bitwarden_com_highlight">go to vault.bitwarden.com</string>
|
||||
<string name="on_your_computer_open_a_new_browser_tab_and_go_to_vault_bitwarden_com">On your computer, open a new browser tab and go to %1$s</string>
|
||||
<string name="go_to_vault_bitwarden_com_highlight">go to %1$s</string>
|
||||
<string name="log_in_to_the_bitwarden_web_app">Log in to the Bitwarden web app.</string>
|
||||
<string name="step_2_of_3">Step 2 of 3</string>
|
||||
<string name="log_in_to_bitwarden">Log in to Bitwarden</string>
|
||||
|
@ -1055,7 +1055,7 @@ Wil u na die rekening omskakel?</string>
|
|||
<string name="then_done_highlight">then Done</string>
|
||||
<string name="for_your_security_be_sure_to_delete_your_saved_password_file">For your security, be sure to delete your saved password file.</string>
|
||||
<string name="delete_your_saved_password_file">delete your saved password file.</string>
|
||||
<string name="need_help_checkout_out_import_help">Need help? Checkout out import help.</string>
|
||||
<string name="need_help_check_out_import_help">Need help? Check out import help.</string>
|
||||
<string name="import_help_highlight">import help</string>
|
||||
<string name="save_the_exported_file_somewhere_on_your_computer_you_can_find_easily">Save the exported file somewhere on your computer you can find easily.</string>
|
||||
<string name="save_the_exported_file_highlight">Save the exported file</string>
|
||||
|
@ -1073,4 +1073,12 @@ Wil u na die rekening omskakel?</string>
|
|||
<string name="bitwarden_tools">Bitwarden Tools</string>
|
||||
<string name="got_it">Got it</string>
|
||||
<string name="no_logins_were_imported">No logins were imported</string>
|
||||
<string name="logins_imported">Logins imported</string>
|
||||
<string name="remember_to_delete_your_imported_password_file_from_your_computer">Remember to delete your imported password file from your computer</string>
|
||||
<string name="type_ssh_key">SSH key</string>
|
||||
<string name="public_key">Public key</string>
|
||||
<string name="private_key">Private key</string>
|
||||
<string name="ssh_keys">SSH keys</string>
|
||||
<string name="copy_public_key">Copy public key</string>
|
||||
<string name="copy_fingerprint">Copy fingerprint</string>
|
||||
</resources>
|
||||
|
|
|
@ -1001,7 +1001,7 @@
|
|||
<string name="please_restart_registration_or_try_logging_in">Please restart registration or try logging in. You may already have an account.</string>
|
||||
<string name="restart_registration">Restart registration</string>
|
||||
<string name="authenticator_sync">Authenticator Sync</string>
|
||||
<string name="allow_bitwarden_authenticator_syncing">Allow Bitwarden Authenticator Syncing</string>
|
||||
<string name="allow_bitwarden_authenticator_syncing">Allow authenticator syncing</string>
|
||||
<string name="there_was_an_issue_validating_the_registration_token">There was an issue validating the registration token.</string>
|
||||
<string name="turn_on_autofill">Turn on autofill</string>
|
||||
<string name="use_autofill_to_log_into_your_accounts">Use autofill to log into your accounts with a single tap.</string>
|
||||
|
@ -1040,8 +1040,8 @@
|
|||
<string name="step_1_of_3">Step 1 of 3</string>
|
||||
<string name="export_your_saved_logins">Export your saved logins</string>
|
||||
<string name="delete_this_file_after_import_is_complete">You’ll delete this file after import is complete.</string>
|
||||
<string name="on_your_computer_open_a_new_browser_tab_and_go_to_vault_bitwarden_com">On your computer, open a new browser tab and go to vault.bitwarden.com</string>
|
||||
<string name="go_to_vault_bitwarden_com_highlight">go to vault.bitwarden.com</string>
|
||||
<string name="on_your_computer_open_a_new_browser_tab_and_go_to_vault_bitwarden_com">On your computer, open a new browser tab and go to %1$s</string>
|
||||
<string name="go_to_vault_bitwarden_com_highlight">go to %1$s</string>
|
||||
<string name="log_in_to_the_bitwarden_web_app">Log in to the Bitwarden web app.</string>
|
||||
<string name="step_2_of_3">Step 2 of 3</string>
|
||||
<string name="log_in_to_bitwarden">Log in to Bitwarden</string>
|
||||
|
@ -1055,7 +1055,7 @@
|
|||
<string name="then_done_highlight">then Done</string>
|
||||
<string name="for_your_security_be_sure_to_delete_your_saved_password_file">For your security, be sure to delete your saved password file.</string>
|
||||
<string name="delete_your_saved_password_file">delete your saved password file.</string>
|
||||
<string name="need_help_checkout_out_import_help">Need help? Checkout out import help.</string>
|
||||
<string name="need_help_check_out_import_help">Need help? Check out import help.</string>
|
||||
<string name="import_help_highlight">import help</string>
|
||||
<string name="save_the_exported_file_somewhere_on_your_computer_you_can_find_easily">Save the exported file somewhere on your computer you can find easily.</string>
|
||||
<string name="save_the_exported_file_highlight">Save the exported file</string>
|
||||
|
@ -1073,4 +1073,12 @@
|
|||
<string name="bitwarden_tools">Bitwarden Tools</string>
|
||||
<string name="got_it">Got it</string>
|
||||
<string name="no_logins_were_imported">No logins were imported</string>
|
||||
<string name="logins_imported">Logins imported</string>
|
||||
<string name="remember_to_delete_your_imported_password_file_from_your_computer">Remember to delete your imported password file from your computer</string>
|
||||
<string name="type_ssh_key">SSH key</string>
|
||||
<string name="public_key">Public key</string>
|
||||
<string name="private_key">Private key</string>
|
||||
<string name="ssh_keys">SSH keys</string>
|
||||
<string name="copy_public_key">Copy public key</string>
|
||||
<string name="copy_fingerprint">Copy fingerprint</string>
|
||||
</resources>
|
||||
|
|
|
@ -1054,7 +1054,7 @@ Bu hesaba keçmək istəyirsiniz?</string>
|
|||
<string name="then_done_highlight">\"Hazırdır\"a toxunun</string>
|
||||
<string name="for_your_security_be_sure_to_delete_your_saved_password_file">Təhlükəsizliyiniz üçün saxlanılmış parol faylınızı sildiyinizə əmin olun.</string>
|
||||
<string name="delete_your_saved_password_file">saxlanılmış parol faylınızı silin.</string>
|
||||
<string name="need_help_checkout_out_import_help">Kömək lazımdır? Daxilə köçürmə üzrə kömək səhifəmizə baxın.</string>
|
||||
<string name="need_help_check_out_import_help">Kömək lazımdır? Daxilə köçürmə üzrə kömək səhifəmizə baxın.</string>
|
||||
<string name="import_help_highlight">daxilə köçürmə üzrə kömək</string>
|
||||
<string name="save_the_exported_file_somewhere_on_your_computer_you_can_find_easily">Xaricə köçürdüyünüz faylı kompüterinizdə rahatlıqla tapa biləcəyiniz yerdə saxlayın.</string>
|
||||
<string name="save_the_exported_file_highlight">Xaricə köçürülən faylı saxlayın</string>
|
||||
|
@ -1071,5 +1071,13 @@ Bu hesaba keçmək istəyirsiniz?</string>
|
|||
<string name="manage_your_logins_from_anywhere_with_bitwarden_tools">Bitwarden-in veb və masaüstü alətləri ilə istənilən yerdən girişlərinizi idarə edin.</string>
|
||||
<string name="bitwarden_tools">Bitwarden Alətləri</string>
|
||||
<string name="got_it">Anladım</string>
|
||||
<string name="no_logins_were_imported">No logins were imported</string>
|
||||
<string name="no_logins_were_imported">Heç bir giriş daxilə köçürülmədi</string>
|
||||
<string name="logins_imported">Girişlər daxilə köçürüldü</string>
|
||||
<string name="remember_to_delete_your_imported_password_file_from_your_computer">Kompüterinizdən daxilə köçürdüyünüz parol faylını silməyi unutmayın</string>
|
||||
<string name="type_ssh_key">SSH açarı</string>
|
||||
<string name="public_key">Public açar</string>
|
||||
<string name="private_key">Private açar</string>
|
||||
<string name="ssh_keys">SSH açarları</string>
|
||||
<string name="copy_public_key">Copy public key</string>
|
||||
<string name="copy_fingerprint">Copy fingerprint</string>
|
||||
</resources>
|
||||
|
|
|
@ -1000,7 +1000,7 @@
|
|||
<string name="please_restart_registration_or_try_logging_in">Please restart registration or try logging in. You may already have an account.</string>
|
||||
<string name="restart_registration">Restart registration</string>
|
||||
<string name="authenticator_sync">Authenticator Sync</string>
|
||||
<string name="allow_bitwarden_authenticator_syncing">Allow Bitwarden Authenticator Syncing</string>
|
||||
<string name="allow_bitwarden_authenticator_syncing">Allow authenticator syncing</string>
|
||||
<string name="there_was_an_issue_validating_the_registration_token">There was an issue validating the registration token.</string>
|
||||
<string name="turn_on_autofill">Turn on autofill</string>
|
||||
<string name="use_autofill_to_log_into_your_accounts">Use autofill to log into your accounts with a single tap.</string>
|
||||
|
@ -1039,8 +1039,8 @@
|
|||
<string name="step_1_of_3">Step 1 of 3</string>
|
||||
<string name="export_your_saved_logins">Export your saved logins</string>
|
||||
<string name="delete_this_file_after_import_is_complete">You’ll delete this file after import is complete.</string>
|
||||
<string name="on_your_computer_open_a_new_browser_tab_and_go_to_vault_bitwarden_com">On your computer, open a new browser tab and go to vault.bitwarden.com</string>
|
||||
<string name="go_to_vault_bitwarden_com_highlight">go to vault.bitwarden.com</string>
|
||||
<string name="on_your_computer_open_a_new_browser_tab_and_go_to_vault_bitwarden_com">On your computer, open a new browser tab and go to %1$s</string>
|
||||
<string name="go_to_vault_bitwarden_com_highlight">go to %1$s</string>
|
||||
<string name="log_in_to_the_bitwarden_web_app">Log in to the Bitwarden web app.</string>
|
||||
<string name="step_2_of_3">Step 2 of 3</string>
|
||||
<string name="log_in_to_bitwarden">Log in to Bitwarden</string>
|
||||
|
@ -1054,7 +1054,7 @@
|
|||
<string name="then_done_highlight">then Done</string>
|
||||
<string name="for_your_security_be_sure_to_delete_your_saved_password_file">For your security, be sure to delete your saved password file.</string>
|
||||
<string name="delete_your_saved_password_file">delete your saved password file.</string>
|
||||
<string name="need_help_checkout_out_import_help">Need help? Checkout out import help.</string>
|
||||
<string name="need_help_check_out_import_help">Need help? Check out import help.</string>
|
||||
<string name="import_help_highlight">import help</string>
|
||||
<string name="save_the_exported_file_somewhere_on_your_computer_you_can_find_easily">Save the exported file somewhere on your computer you can find easily.</string>
|
||||
<string name="save_the_exported_file_highlight">Save the exported file</string>
|
||||
|
@ -1072,4 +1072,12 @@
|
|||
<string name="bitwarden_tools">Bitwarden Tools</string>
|
||||
<string name="got_it">Got it</string>
|
||||
<string name="no_logins_were_imported">No logins were imported</string>
|
||||
<string name="logins_imported">Logins imported</string>
|
||||
<string name="remember_to_delete_your_imported_password_file_from_your_computer">Remember to delete your imported password file from your computer</string>
|
||||
<string name="type_ssh_key">SSH key</string>
|
||||
<string name="public_key">Public key</string>
|
||||
<string name="private_key">Private key</string>
|
||||
<string name="ssh_keys">SSH keys</string>
|
||||
<string name="copy_public_key">Copy public key</string>
|
||||
<string name="copy_fingerprint">Copy fingerprint</string>
|
||||
</resources>
|
||||
|
|
|
@ -1055,22 +1055,30 @@
|
|||
<string name="then_done_highlight">а след това натиснете Готово</string>
|
||||
<string name="for_your_security_be_sure_to_delete_your_saved_password_file">За по-сигурно изтрийте файла със запазените пароли.</string>
|
||||
<string name="delete_your_saved_password_file">изтрийте файла със запазените пароли.</string>
|
||||
<string name="need_help_checkout_out_import_help">Имате ли нужда от помощ? Прегледайте помощта относно внасянето.</string>
|
||||
<string name="need_help_check_out_import_help">Имате ли нужда от помощ? Прегледайте помощта относно внасянето.</string>
|
||||
<string name="import_help_highlight">помощта относно внасянето</string>
|
||||
<string name="save_the_exported_file_somewhere_on_your_computer_you_can_find_easily">Запазете изнесения файл някъде в компютъра си, така че да може да го намерите лесно.</string>
|
||||
<string name="save_the_exported_file_highlight">Запазете изнесения файл</string>
|
||||
<string name="this_is_not_a_recognized_bitwarden_server_you_may_need_to_check_with_your_provider_or_update_your_server">Това не изглежда да е познат сървър на Битуорден. Може да се наложи да го проверите при доставчика си или да обновите сървъра си.</string>
|
||||
<string name="syncing_logins_loading_message">Синхронизиране на елементите за вписване…</string>
|
||||
<string name="ssh_key_cipher_item_types">SSH Key Cipher Item Types</string>
|
||||
<string name="download_the_browser_extension">Download the browser extension</string>
|
||||
<string name="go_to_bitwarden_com_download_to_integrate_bitwarden_into_browser">Go to bitwarden.com/download to integrate Bitwarden into your favorite browser for a seamless experience.</string>
|
||||
<string name="use_the_web_app">Use the web app</string>
|
||||
<string name="log_in_at_bitwarden_com_to_easily_manage_your_account">Log in at bitwarden.com to easily manage your account and update settings.</string>
|
||||
<string name="autofill_passwords">Autofill passwords</string>
|
||||
<string name="set_up_autofill_on_all_your_devices">Set up autofill on all your devices to login with a single tap anywhere.</string>
|
||||
<string name="import_successful">Import Successful!</string>
|
||||
<string name="manage_your_logins_from_anywhere_with_bitwarden_tools">Manage your logins from anywhere with Bitwarden tools for web and desktop.</string>
|
||||
<string name="bitwarden_tools">Bitwarden Tools</string>
|
||||
<string name="got_it">Got it</string>
|
||||
<string name="no_logins_were_imported">No logins were imported</string>
|
||||
<string name="download_the_browser_extension">Свалете добавката за браузър</string>
|
||||
<string name="go_to_bitwarden_com_download_to_integrate_bitwarden_into_browser">Посетете bitwarden.com/download, за да вградите Битуорден в любимия си браузър и да използвате възможностите му по-лесно.</string>
|
||||
<string name="use_the_web_app">Използвайте приложението по уеб</string>
|
||||
<string name="log_in_at_bitwarden_com_to_easily_manage_your_account">Впишете се в bitwarden.com, където можете лесно да управлявате регистрацията си и да променяте настройки.</string>
|
||||
<string name="autofill_passwords">Автоматично попълване на пароли</string>
|
||||
<string name="set_up_autofill_on_all_your_devices">Настройте автоматичното попълвана на всички свои устройства, за да се вписвате навсякъде с едно докосване.</string>
|
||||
<string name="import_successful">Внасянето е успешно!</string>
|
||||
<string name="manage_your_logins_from_anywhere_with_bitwarden_tools">Управлявайте данните си за вписване, където и да се намирате, с инструментите на Битуорден налични в уеб и настолното приложение.</string>
|
||||
<string name="bitwarden_tools">Инструменти на Битуорден</string>
|
||||
<string name="got_it">Разбрано</string>
|
||||
<string name="no_logins_were_imported">Не бяха внесени никакви елементи за вписване</string>
|
||||
<string name="logins_imported">Данните за вписване са внесени</string>
|
||||
<string name="remember_to_delete_your_imported_password_file_from_your_computer">Не забравяйте да изтриете файла с паролите за внасяне от компютъра си</string>
|
||||
<string name="type_ssh_key">SSH ключ</string>
|
||||
<string name="public_key">Публичен ключ</string>
|
||||
<string name="private_key">Частен ключ</string>
|
||||
<string name="ssh_keys">SSH ключове</string>
|
||||
<string name="copy_public_key">Copy public key</string>
|
||||
<string name="copy_fingerprint">Copy fingerprint</string>
|
||||
</resources>
|
||||
|
|
|
@ -1001,7 +1001,7 @@ Do you want to switch to this account?</string>
|
|||
<string name="please_restart_registration_or_try_logging_in">Please restart registration or try logging in. You may already have an account.</string>
|
||||
<string name="restart_registration">Restart registration</string>
|
||||
<string name="authenticator_sync">Authenticator Sync</string>
|
||||
<string name="allow_bitwarden_authenticator_syncing">Allow Bitwarden Authenticator Syncing</string>
|
||||
<string name="allow_bitwarden_authenticator_syncing">Allow authenticator syncing</string>
|
||||
<string name="there_was_an_issue_validating_the_registration_token">There was an issue validating the registration token.</string>
|
||||
<string name="turn_on_autofill">Turn on autofill</string>
|
||||
<string name="use_autofill_to_log_into_your_accounts">Use autofill to log into your accounts with a single tap.</string>
|
||||
|
@ -1040,8 +1040,8 @@ Do you want to switch to this account?</string>
|
|||
<string name="step_1_of_3">Step 1 of 3</string>
|
||||
<string name="export_your_saved_logins">Export your saved logins</string>
|
||||
<string name="delete_this_file_after_import_is_complete">You’ll delete this file after import is complete.</string>
|
||||
<string name="on_your_computer_open_a_new_browser_tab_and_go_to_vault_bitwarden_com">On your computer, open a new browser tab and go to vault.bitwarden.com</string>
|
||||
<string name="go_to_vault_bitwarden_com_highlight">go to vault.bitwarden.com</string>
|
||||
<string name="on_your_computer_open_a_new_browser_tab_and_go_to_vault_bitwarden_com">On your computer, open a new browser tab and go to %1$s</string>
|
||||
<string name="go_to_vault_bitwarden_com_highlight">go to %1$s</string>
|
||||
<string name="log_in_to_the_bitwarden_web_app">Log in to the Bitwarden web app.</string>
|
||||
<string name="step_2_of_3">Step 2 of 3</string>
|
||||
<string name="log_in_to_bitwarden">Log in to Bitwarden</string>
|
||||
|
@ -1055,7 +1055,7 @@ Do you want to switch to this account?</string>
|
|||
<string name="then_done_highlight">then Done</string>
|
||||
<string name="for_your_security_be_sure_to_delete_your_saved_password_file">For your security, be sure to delete your saved password file.</string>
|
||||
<string name="delete_your_saved_password_file">delete your saved password file.</string>
|
||||
<string name="need_help_checkout_out_import_help">Need help? Checkout out import help.</string>
|
||||
<string name="need_help_check_out_import_help">Need help? Check out import help.</string>
|
||||
<string name="import_help_highlight">import help</string>
|
||||
<string name="save_the_exported_file_somewhere_on_your_computer_you_can_find_easily">Save the exported file somewhere on your computer you can find easily.</string>
|
||||
<string name="save_the_exported_file_highlight">Save the exported file</string>
|
||||
|
@ -1073,4 +1073,12 @@ Do you want to switch to this account?</string>
|
|||
<string name="bitwarden_tools">Bitwarden Tools</string>
|
||||
<string name="got_it">Got it</string>
|
||||
<string name="no_logins_were_imported">No logins were imported</string>
|
||||
<string name="logins_imported">Logins imported</string>
|
||||
<string name="remember_to_delete_your_imported_password_file_from_your_computer">Remember to delete your imported password file from your computer</string>
|
||||
<string name="type_ssh_key">SSH key</string>
|
||||
<string name="public_key">Public key</string>
|
||||
<string name="private_key">Private key</string>
|
||||
<string name="ssh_keys">SSH keys</string>
|
||||
<string name="copy_public_key">Copy public key</string>
|
||||
<string name="copy_fingerprint">Copy fingerprint</string>
|
||||
</resources>
|
||||
|
|
|
@ -1000,7 +1000,7 @@ Skeniranje će biti izvršeno automatski.</string>
|
|||
<string name="please_restart_registration_or_try_logging_in">Please restart registration or try logging in. You may already have an account.</string>
|
||||
<string name="restart_registration">Restart registration</string>
|
||||
<string name="authenticator_sync">Authenticator Sync</string>
|
||||
<string name="allow_bitwarden_authenticator_syncing">Allow Bitwarden Authenticator Syncing</string>
|
||||
<string name="allow_bitwarden_authenticator_syncing">Allow authenticator syncing</string>
|
||||
<string name="there_was_an_issue_validating_the_registration_token">There was an issue validating the registration token.</string>
|
||||
<string name="turn_on_autofill">Turn on autofill</string>
|
||||
<string name="use_autofill_to_log_into_your_accounts">Use autofill to log into your accounts with a single tap.</string>
|
||||
|
@ -1039,8 +1039,8 @@ Skeniranje će biti izvršeno automatski.</string>
|
|||
<string name="step_1_of_3">Step 1 of 3</string>
|
||||
<string name="export_your_saved_logins">Export your saved logins</string>
|
||||
<string name="delete_this_file_after_import_is_complete">You’ll delete this file after import is complete.</string>
|
||||
<string name="on_your_computer_open_a_new_browser_tab_and_go_to_vault_bitwarden_com">On your computer, open a new browser tab and go to vault.bitwarden.com</string>
|
||||
<string name="go_to_vault_bitwarden_com_highlight">go to vault.bitwarden.com</string>
|
||||
<string name="on_your_computer_open_a_new_browser_tab_and_go_to_vault_bitwarden_com">On your computer, open a new browser tab and go to %1$s</string>
|
||||
<string name="go_to_vault_bitwarden_com_highlight">go to %1$s</string>
|
||||
<string name="log_in_to_the_bitwarden_web_app">Log in to the Bitwarden web app.</string>
|
||||
<string name="step_2_of_3">Step 2 of 3</string>
|
||||
<string name="log_in_to_bitwarden">Log in to Bitwarden</string>
|
||||
|
@ -1054,7 +1054,7 @@ Skeniranje će biti izvršeno automatski.</string>
|
|||
<string name="then_done_highlight">then Done</string>
|
||||
<string name="for_your_security_be_sure_to_delete_your_saved_password_file">For your security, be sure to delete your saved password file.</string>
|
||||
<string name="delete_your_saved_password_file">delete your saved password file.</string>
|
||||
<string name="need_help_checkout_out_import_help">Need help? Checkout out import help.</string>
|
||||
<string name="need_help_check_out_import_help">Need help? Check out import help.</string>
|
||||
<string name="import_help_highlight">import help</string>
|
||||
<string name="save_the_exported_file_somewhere_on_your_computer_you_can_find_easily">Save the exported file somewhere on your computer you can find easily.</string>
|
||||
<string name="save_the_exported_file_highlight">Save the exported file</string>
|
||||
|
@ -1072,4 +1072,12 @@ Skeniranje će biti izvršeno automatski.</string>
|
|||
<string name="bitwarden_tools">Bitwarden Tools</string>
|
||||
<string name="got_it">Got it</string>
|
||||
<string name="no_logins_were_imported">No logins were imported</string>
|
||||
<string name="logins_imported">Logins imported</string>
|
||||
<string name="remember_to_delete_your_imported_password_file_from_your_computer">Remember to delete your imported password file from your computer</string>
|
||||
<string name="type_ssh_key">SSH key</string>
|
||||
<string name="public_key">Public key</string>
|
||||
<string name="private_key">Private key</string>
|
||||
<string name="ssh_keys">SSH keys</string>
|
||||
<string name="copy_public_key">Copy public key</string>
|
||||
<string name="copy_fingerprint">Copy fingerprint</string>
|
||||
</resources>
|
||||
|
|
|
@ -1001,7 +1001,7 @@ Voleu canviar a aquest compte?</string>
|
|||
<string name="please_restart_registration_or_try_logging_in">Please restart registration or try logging in. You may already have an account.</string>
|
||||
<string name="restart_registration">Restart registration</string>
|
||||
<string name="authenticator_sync">Authenticator Sync</string>
|
||||
<string name="allow_bitwarden_authenticator_syncing">Allow Bitwarden Authenticator Syncing</string>
|
||||
<string name="allow_bitwarden_authenticator_syncing">Allow authenticator syncing</string>
|
||||
<string name="there_was_an_issue_validating_the_registration_token">There was an issue validating the registration token.</string>
|
||||
<string name="turn_on_autofill">Turn on autofill</string>
|
||||
<string name="use_autofill_to_log_into_your_accounts">Use autofill to log into your accounts with a single tap.</string>
|
||||
|
@ -1040,8 +1040,8 @@ Voleu canviar a aquest compte?</string>
|
|||
<string name="step_1_of_3">Step 1 of 3</string>
|
||||
<string name="export_your_saved_logins">Export your saved logins</string>
|
||||
<string name="delete_this_file_after_import_is_complete">You’ll delete this file after import is complete.</string>
|
||||
<string name="on_your_computer_open_a_new_browser_tab_and_go_to_vault_bitwarden_com">On your computer, open a new browser tab and go to vault.bitwarden.com</string>
|
||||
<string name="go_to_vault_bitwarden_com_highlight">go to vault.bitwarden.com</string>
|
||||
<string name="on_your_computer_open_a_new_browser_tab_and_go_to_vault_bitwarden_com">On your computer, open a new browser tab and go to %1$s</string>
|
||||
<string name="go_to_vault_bitwarden_com_highlight">go to %1$s</string>
|
||||
<string name="log_in_to_the_bitwarden_web_app">Log in to the Bitwarden web app.</string>
|
||||
<string name="step_2_of_3">Step 2 of 3</string>
|
||||
<string name="log_in_to_bitwarden">Log in to Bitwarden</string>
|
||||
|
@ -1055,7 +1055,7 @@ Voleu canviar a aquest compte?</string>
|
|||
<string name="then_done_highlight">then Done</string>
|
||||
<string name="for_your_security_be_sure_to_delete_your_saved_password_file">For your security, be sure to delete your saved password file.</string>
|
||||
<string name="delete_your_saved_password_file">delete your saved password file.</string>
|
||||
<string name="need_help_checkout_out_import_help">Need help? Checkout out import help.</string>
|
||||
<string name="need_help_check_out_import_help">Need help? Check out import help.</string>
|
||||
<string name="import_help_highlight">import help</string>
|
||||
<string name="save_the_exported_file_somewhere_on_your_computer_you_can_find_easily">Save the exported file somewhere on your computer you can find easily.</string>
|
||||
<string name="save_the_exported_file_highlight">Save the exported file</string>
|
||||
|
@ -1073,4 +1073,12 @@ Voleu canviar a aquest compte?</string>
|
|||
<string name="bitwarden_tools">Bitwarden Tools</string>
|
||||
<string name="got_it">Got it</string>
|
||||
<string name="no_logins_were_imported">No logins were imported</string>
|
||||
<string name="logins_imported">Logins imported</string>
|
||||
<string name="remember_to_delete_your_imported_password_file_from_your_computer">Remember to delete your imported password file from your computer</string>
|
||||
<string name="type_ssh_key">SSH key</string>
|
||||
<string name="public_key">Public key</string>
|
||||
<string name="private_key">Private key</string>
|
||||
<string name="ssh_keys">SSH keys</string>
|
||||
<string name="copy_public_key">Copy public key</string>
|
||||
<string name="copy_fingerprint">Copy fingerprint</string>
|
||||
</resources>
|
||||
|
|
|
@ -207,7 +207,7 @@
|
|||
<string name="off" tools:override="true">Vypnuto</string>
|
||||
<string name="on" tools:override="true">Zapnuto</string>
|
||||
<string name="status">Stav</string>
|
||||
<string name="bitwarden_autofill_service_alert2">Nejjednodušší způsob, jak přidat nové přihlašovací údaje do Vašeho trezoru, je služba automatického vyplňování Bitwardenu. Další informace o použití této služby naleznete na obrazovce \"Nastavení\".</string>
|
||||
<string name="bitwarden_autofill_service_alert2">Nejjednodušší způsob, jak přidat nové přihlašovací údaje do Vašeho trezoru, je služba automatického vyplňování Bitwarden. Další informace o použití této služby naleznete na obrazovce \"Nastavení\".</string>
|
||||
<string name="autofill">Automatické vyplňování</string>
|
||||
<string name="autofill_or_view">Chcete automaticky vyplnit nebo zobrazit tyto přihlašovací údaje?</string>
|
||||
<string name="bitwarden_autofill_service_match_confirm">Opravdu chcete tyto přihlašovací údaje automaticky vyplnit? Nejsou úplně shodné s \"%1$s\".</string>
|
||||
|
@ -1040,7 +1040,7 @@ Chcete se přepnout na tento účet?</string>
|
|||
<string name="export_your_saved_logins">Export Vašich uložených přihlášení</string>
|
||||
<string name="delete_this_file_after_import_is_complete">Po dokončení importu tento soubor smažete.</string>
|
||||
<string name="on_your_computer_open_a_new_browser_tab_and_go_to_vault_bitwarden_com">Na Vašem počítači otevřete novou kartu prohlížeče a přejděte na vault.bitwarden.com</string>
|
||||
<string name="go_to_vault_bitwarden_com_highlight">přejděte na vault.bitwarden.com</string>
|
||||
<string name="go_to_vault_bitwarden_com_highlight">přejděte na %1$s</string>
|
||||
<string name="log_in_to_the_bitwarden_web_app">Přihlaste se do webové aplikace Bitwarden.</string>
|
||||
<string name="step_2_of_3">Krok 2 ze 3</string>
|
||||
<string name="log_in_to_bitwarden">Přihlásit se do Bitwardenu</string>
|
||||
|
@ -1054,7 +1054,7 @@ Chcete se přepnout na tento účet?</string>
|
|||
<string name="then_done_highlight">a poté klepněte na tlačítko Hotovo</string>
|
||||
<string name="for_your_security_be_sure_to_delete_your_saved_password_file">Z důvodu bezpečnosti nezapomeňte smazat soubor s uloženým heslem.</string>
|
||||
<string name="delete_your_saved_password_file">smazat soubor s uloženým heslem.</string>
|
||||
<string name="need_help_checkout_out_import_help">Potřebujete pomoc? Podívejte se na nápovědu pro import.</string>
|
||||
<string name="need_help_check_out_import_help">Potřebujete pomoc? Podívejte se na nápovědu pro import.</string>
|
||||
<string name="import_help_highlight">nápověda pro import</string>
|
||||
<string name="save_the_exported_file_somewhere_on_your_computer_you_can_find_easily">Uložte exportovaný soubor někde na Vašem počítači, kde jej můžete snadno najít.</string>
|
||||
<string name="save_the_exported_file_highlight">Uložit exportovaný soubor</string>
|
||||
|
@ -1072,4 +1072,12 @@ Chcete se přepnout na tento účet?</string>
|
|||
<string name="bitwarden_tools">Nástroje Bitwarden</string>
|
||||
<string name="got_it">Rozumím</string>
|
||||
<string name="no_logins_were_imported">Nebyla importována žádná přihlášení</string>
|
||||
<string name="logins_imported">Přihlášení byla importována</string>
|
||||
<string name="remember_to_delete_your_imported_password_file_from_your_computer">Nezapomeňte smazat soubor importovaných hesel z Vašeho počítače</string>
|
||||
<string name="type_ssh_key">SSH klíč</string>
|
||||
<string name="public_key">Veřejný klíč</string>
|
||||
<string name="private_key">Soukromý klíč</string>
|
||||
<string name="ssh_keys">SSH klíče</string>
|
||||
<string name="copy_public_key">Kopírovat veřejný klíč</string>
|
||||
<string name="copy_fingerprint">Kopírovat otisk prstu</string>
|
||||
</resources>
|
||||
|
|
|
@ -1001,7 +1001,7 @@ Do you want to switch to this account?</string>
|
|||
<string name="please_restart_registration_or_try_logging_in">Please restart registration or try logging in. You may already have an account.</string>
|
||||
<string name="restart_registration">Restart registration</string>
|
||||
<string name="authenticator_sync">Authenticator Sync</string>
|
||||
<string name="allow_bitwarden_authenticator_syncing">Allow Bitwarden Authenticator Syncing</string>
|
||||
<string name="allow_bitwarden_authenticator_syncing">Allow authenticator syncing</string>
|
||||
<string name="there_was_an_issue_validating_the_registration_token">There was an issue validating the registration token.</string>
|
||||
<string name="turn_on_autofill">Turn on autofill</string>
|
||||
<string name="use_autofill_to_log_into_your_accounts">Use autofill to log into your accounts with a single tap.</string>
|
||||
|
@ -1040,8 +1040,8 @@ Do you want to switch to this account?</string>
|
|||
<string name="step_1_of_3">Step 1 of 3</string>
|
||||
<string name="export_your_saved_logins">Export your saved logins</string>
|
||||
<string name="delete_this_file_after_import_is_complete">You’ll delete this file after import is complete.</string>
|
||||
<string name="on_your_computer_open_a_new_browser_tab_and_go_to_vault_bitwarden_com">On your computer, open a new browser tab and go to vault.bitwarden.com</string>
|
||||
<string name="go_to_vault_bitwarden_com_highlight">go to vault.bitwarden.com</string>
|
||||
<string name="on_your_computer_open_a_new_browser_tab_and_go_to_vault_bitwarden_com">On your computer, open a new browser tab and go to %1$s</string>
|
||||
<string name="go_to_vault_bitwarden_com_highlight">go to %1$s</string>
|
||||
<string name="log_in_to_the_bitwarden_web_app">Log in to the Bitwarden web app.</string>
|
||||
<string name="step_2_of_3">Step 2 of 3</string>
|
||||
<string name="log_in_to_bitwarden">Log in to Bitwarden</string>
|
||||
|
@ -1055,7 +1055,7 @@ Do you want to switch to this account?</string>
|
|||
<string name="then_done_highlight">then Done</string>
|
||||
<string name="for_your_security_be_sure_to_delete_your_saved_password_file">For your security, be sure to delete your saved password file.</string>
|
||||
<string name="delete_your_saved_password_file">delete your saved password file.</string>
|
||||
<string name="need_help_checkout_out_import_help">Need help? Checkout out import help.</string>
|
||||
<string name="need_help_check_out_import_help">Need help? Check out import help.</string>
|
||||
<string name="import_help_highlight">import help</string>
|
||||
<string name="save_the_exported_file_somewhere_on_your_computer_you_can_find_easily">Save the exported file somewhere on your computer you can find easily.</string>
|
||||
<string name="save_the_exported_file_highlight">Save the exported file</string>
|
||||
|
@ -1073,4 +1073,12 @@ Do you want to switch to this account?</string>
|
|||
<string name="bitwarden_tools">Bitwarden Tools</string>
|
||||
<string name="got_it">Got it</string>
|
||||
<string name="no_logins_were_imported">No logins were imported</string>
|
||||
<string name="logins_imported">Logins imported</string>
|
||||
<string name="remember_to_delete_your_imported_password_file_from_your_computer">Remember to delete your imported password file from your computer</string>
|
||||
<string name="type_ssh_key">SSH key</string>
|
||||
<string name="public_key">Public key</string>
|
||||
<string name="private_key">Private key</string>
|
||||
<string name="ssh_keys">SSH keys</string>
|
||||
<string name="copy_public_key">Copy public key</string>
|
||||
<string name="copy_fingerprint">Copy fingerprint</string>
|
||||
</resources>
|
||||
|
|
|
@ -1055,7 +1055,7 @@ Skift til denne konto?</string>
|
|||
<string name="then_done_highlight">dernæst Færdig</string>
|
||||
<string name="for_your_security_be_sure_to_delete_your_saved_password_file">Sørg af sikkerhedshensyn for at slette den gemte adgangskodefil.</string>
|
||||
<string name="delete_your_saved_password_file">slet den gemte adgangskodefil.</string>
|
||||
<string name="need_help_checkout_out_import_help">Behov for hjælp? Tjek import-hjælp ud.</string>
|
||||
<string name="need_help_check_out_import_help">Behov for hjælp? Tjek import-hjælp ud.</string>
|
||||
<string name="import_help_highlight">import-hjælp</string>
|
||||
<string name="save_the_exported_file_somewhere_on_your_computer_you_can_find_easily">Gem den eksporterede fil et sted på computeren, hvor man nemt kan finde den.</string>
|
||||
<string name="save_the_exported_file_highlight">Gem den eksporterede fil</string>
|
||||
|
@ -1073,4 +1073,12 @@ Skift til denne konto?</string>
|
|||
<string name="bitwarden_tools">Bitwarden-værktøjer</string>
|
||||
<string name="got_it">Forstået</string>
|
||||
<string name="no_logins_were_imported">Ingen logins blev importeret</string>
|
||||
<string name="logins_imported">Logins importeret</string>
|
||||
<string name="remember_to_delete_your_imported_password_file_from_your_computer">Husk at slette den importerede adgangskodefil fra computeren</string>
|
||||
<string name="type_ssh_key">SSH-nøgle</string>
|
||||
<string name="public_key">Offentlig nøgle</string>
|
||||
<string name="private_key">Privat nøgle</string>
|
||||
<string name="ssh_keys">SSH-nøgler</string>
|
||||
<string name="copy_public_key">Copy public key</string>
|
||||
<string name="copy_fingerprint">Copy fingerprint</string>
|
||||
</resources>
|
||||
|
|
|
@ -1054,7 +1054,7 @@ Möchtest du zu diesem Konto wechseln?</string>
|
|||
<string name="then_done_highlight">then Done</string>
|
||||
<string name="for_your_security_be_sure_to_delete_your_saved_password_file">Zu deiner eigenen Sicherheit solltest du deine gespeicherte Passwortdatei löschen.</string>
|
||||
<string name="delete_your_saved_password_file">lösche deine gespeicherte Passwortdatei.</string>
|
||||
<string name="need_help_checkout_out_import_help">Brauchst du Hilfe? Schau dir die Importhilfe an.</string>
|
||||
<string name="need_help_check_out_import_help">Need help? Check out import help.</string>
|
||||
<string name="import_help_highlight">Importhilfe</string>
|
||||
<string name="save_the_exported_file_somewhere_on_your_computer_you_can_find_easily">Speichere die exportierte Datei irgendwo auf deinem Computer, so dass du sie leicht wiederfinden kannst.</string>
|
||||
<string name="save_the_exported_file_highlight">Speichere die exportierte Datei</string>
|
||||
|
@ -1072,4 +1072,12 @@ Möchtest du zu diesem Konto wechseln?</string>
|
|||
<string name="bitwarden_tools">Bitwarden-Werkzeuge</string>
|
||||
<string name="got_it">Verstanden</string>
|
||||
<string name="no_logins_were_imported">Es wurden keine Zugangsdaten importiert</string>
|
||||
<string name="logins_imported">Logins imported</string>
|
||||
<string name="remember_to_delete_your_imported_password_file_from_your_computer">Remember to delete your imported password file from your computer</string>
|
||||
<string name="type_ssh_key">SSH key</string>
|
||||
<string name="public_key">Public key</string>
|
||||
<string name="private_key">Private key</string>
|
||||
<string name="ssh_keys">SSH keys</string>
|
||||
<string name="copy_public_key">Copy public key</string>
|
||||
<string name="copy_fingerprint">Copy fingerprint</string>
|
||||
</resources>
|
||||
|
|
|
@ -1040,8 +1040,8 @@
|
|||
<string name="step_1_of_3">Βήμα 1 από 3</string>
|
||||
<string name="export_your_saved_logins">Export your saved logins</string>
|
||||
<string name="delete_this_file_after_import_is_complete">You’ll delete this file after import is complete.</string>
|
||||
<string name="on_your_computer_open_a_new_browser_tab_and_go_to_vault_bitwarden_com">On your computer, open a new browser tab and go to vault.bitwarden.com</string>
|
||||
<string name="go_to_vault_bitwarden_com_highlight">go to vault.bitwarden.com</string>
|
||||
<string name="on_your_computer_open_a_new_browser_tab_and_go_to_vault_bitwarden_com">On your computer, open a new browser tab and go to %1$s</string>
|
||||
<string name="go_to_vault_bitwarden_com_highlight">go to %1$s</string>
|
||||
<string name="log_in_to_the_bitwarden_web_app">Log in to the Bitwarden web app.</string>
|
||||
<string name="step_2_of_3">Βήμα 2 από 3</string>
|
||||
<string name="log_in_to_bitwarden">Σύνδεση στο Bitwarden</string>
|
||||
|
@ -1055,7 +1055,7 @@
|
|||
<string name="then_done_highlight">then Done</string>
|
||||
<string name="for_your_security_be_sure_to_delete_your_saved_password_file">For your security, be sure to delete your saved password file.</string>
|
||||
<string name="delete_your_saved_password_file">delete your saved password file.</string>
|
||||
<string name="need_help_checkout_out_import_help">Need help? Checkout out import help.</string>
|
||||
<string name="need_help_check_out_import_help">Need help? Check out import help.</string>
|
||||
<string name="import_help_highlight">import help</string>
|
||||
<string name="save_the_exported_file_somewhere_on_your_computer_you_can_find_easily">Save the exported file somewhere on your computer you can find easily.</string>
|
||||
<string name="save_the_exported_file_highlight">Save the exported file</string>
|
||||
|
@ -1073,4 +1073,12 @@
|
|||
<string name="bitwarden_tools">Bitwarden Tools</string>
|
||||
<string name="got_it">Got it</string>
|
||||
<string name="no_logins_were_imported">No logins were imported</string>
|
||||
<string name="logins_imported">Logins imported</string>
|
||||
<string name="remember_to_delete_your_imported_password_file_from_your_computer">Remember to delete your imported password file from your computer</string>
|
||||
<string name="type_ssh_key">Κλειδί SSH</string>
|
||||
<string name="public_key">Δημόσιο κλειδί</string>
|
||||
<string name="private_key">Ιδιωτικό κλειδί</string>
|
||||
<string name="ssh_keys">Κλειδιά SSH</string>
|
||||
<string name="copy_public_key">Copy public key</string>
|
||||
<string name="copy_fingerprint">Copy fingerprint</string>
|
||||
</resources>
|
||||
|
|
|
@ -1055,7 +1055,7 @@ Do you want to switch to this account?</string>
|
|||
<string name="then_done_highlight">then Done</string>
|
||||
<string name="for_your_security_be_sure_to_delete_your_saved_password_file">For your security, be sure to delete your saved password file.</string>
|
||||
<string name="delete_your_saved_password_file">delete your saved password file.</string>
|
||||
<string name="need_help_checkout_out_import_help">Need help? Checkout out import help.</string>
|
||||
<string name="need_help_check_out_import_help">Need help? Check out import help.</string>
|
||||
<string name="import_help_highlight">import help</string>
|
||||
<string name="save_the_exported_file_somewhere_on_your_computer_you_can_find_easily">Save the exported file somewhere on your computer you can find easily.</string>
|
||||
<string name="save_the_exported_file_highlight">Save the exported file</string>
|
||||
|
@ -1073,4 +1073,12 @@ Do you want to switch to this account?</string>
|
|||
<string name="bitwarden_tools">Bitwarden Tools</string>
|
||||
<string name="got_it">Got it</string>
|
||||
<string name="no_logins_were_imported">No logins were imported</string>
|
||||
<string name="logins_imported">Logins imported</string>
|
||||
<string name="remember_to_delete_your_imported_password_file_from_your_computer">Remember to delete your imported password file from your computer</string>
|
||||
<string name="type_ssh_key">SSH key</string>
|
||||
<string name="public_key">Public key</string>
|
||||
<string name="private_key">Private key</string>
|
||||
<string name="ssh_keys">SSH keys</string>
|
||||
<string name="copy_public_key">Copy public key</string>
|
||||
<string name="copy_fingerprint">Copy fingerprint</string>
|
||||
</resources>
|
||||
|
|
|
@ -1055,7 +1055,7 @@ Do you want to switch to this account?</string>
|
|||
<string name="then_done_highlight">then Done</string>
|
||||
<string name="for_your_security_be_sure_to_delete_your_saved_password_file">For your security, be sure to delete your saved password file.</string>
|
||||
<string name="delete_your_saved_password_file">delete your saved password file.</string>
|
||||
<string name="need_help_checkout_out_import_help">Need help? Checkout out import help.</string>
|
||||
<string name="need_help_check_out_import_help">Need help? Check out import help.</string>
|
||||
<string name="import_help_highlight">import help</string>
|
||||
<string name="save_the_exported_file_somewhere_on_your_computer_you_can_find_easily">Save the exported file somewhere on your computer you can find easily.</string>
|
||||
<string name="save_the_exported_file_highlight">Save the exported file</string>
|
||||
|
@ -1073,4 +1073,12 @@ Do you want to switch to this account?</string>
|
|||
<string name="bitwarden_tools">Bitwarden Tools</string>
|
||||
<string name="got_it">Got it</string>
|
||||
<string name="no_logins_were_imported">No logins were imported</string>
|
||||
<string name="logins_imported">Logins imported</string>
|
||||
<string name="remember_to_delete_your_imported_password_file_from_your_computer">Remember to delete your imported password file from your computer</string>
|
||||
<string name="type_ssh_key">SSH key</string>
|
||||
<string name="public_key">Public key</string>
|
||||
<string name="private_key">Private key</string>
|
||||
<string name="ssh_keys">SSH keys</string>
|
||||
<string name="copy_public_key">Copy public key</string>
|
||||
<string name="copy_fingerprint">Copy fingerprint</string>
|
||||
</resources>
|
||||
|
|
|
@ -1002,7 +1002,7 @@ seleccione Agregar TOTP para almacenar la clave de forma segura</string>
|
|||
<string name="please_restart_registration_or_try_logging_in">Please restart registration or try logging in. You may already have an account.</string>
|
||||
<string name="restart_registration">Restart registration</string>
|
||||
<string name="authenticator_sync">Authenticator Sync</string>
|
||||
<string name="allow_bitwarden_authenticator_syncing">Allow Bitwarden Authenticator Syncing</string>
|
||||
<string name="allow_bitwarden_authenticator_syncing">Allow authenticator syncing</string>
|
||||
<string name="there_was_an_issue_validating_the_registration_token">There was an issue validating the registration token.</string>
|
||||
<string name="turn_on_autofill">Turn on autofill</string>
|
||||
<string name="use_autofill_to_log_into_your_accounts">Use autofill to log into your accounts with a single tap.</string>
|
||||
|
@ -1041,8 +1041,8 @@ seleccione Agregar TOTP para almacenar la clave de forma segura</string>
|
|||
<string name="step_1_of_3">Step 1 of 3</string>
|
||||
<string name="export_your_saved_logins">Export your saved logins</string>
|
||||
<string name="delete_this_file_after_import_is_complete">You’ll delete this file after import is complete.</string>
|
||||
<string name="on_your_computer_open_a_new_browser_tab_and_go_to_vault_bitwarden_com">On your computer, open a new browser tab and go to vault.bitwarden.com</string>
|
||||
<string name="go_to_vault_bitwarden_com_highlight">go to vault.bitwarden.com</string>
|
||||
<string name="on_your_computer_open_a_new_browser_tab_and_go_to_vault_bitwarden_com">On your computer, open a new browser tab and go to %1$s</string>
|
||||
<string name="go_to_vault_bitwarden_com_highlight">go to %1$s</string>
|
||||
<string name="log_in_to_the_bitwarden_web_app">Log in to the Bitwarden web app.</string>
|
||||
<string name="step_2_of_3">Step 2 of 3</string>
|
||||
<string name="log_in_to_bitwarden">Log in to Bitwarden</string>
|
||||
|
@ -1056,7 +1056,7 @@ seleccione Agregar TOTP para almacenar la clave de forma segura</string>
|
|||
<string name="then_done_highlight">then Done</string>
|
||||
<string name="for_your_security_be_sure_to_delete_your_saved_password_file">For your security, be sure to delete your saved password file.</string>
|
||||
<string name="delete_your_saved_password_file">delete your saved password file.</string>
|
||||
<string name="need_help_checkout_out_import_help">Need help? Checkout out import help.</string>
|
||||
<string name="need_help_check_out_import_help">Need help? Check out import help.</string>
|
||||
<string name="import_help_highlight">import help</string>
|
||||
<string name="save_the_exported_file_somewhere_on_your_computer_you_can_find_easily">Save the exported file somewhere on your computer you can find easily.</string>
|
||||
<string name="save_the_exported_file_highlight">Save the exported file</string>
|
||||
|
@ -1074,4 +1074,12 @@ seleccione Agregar TOTP para almacenar la clave de forma segura</string>
|
|||
<string name="bitwarden_tools">Bitwarden Tools</string>
|
||||
<string name="got_it">Got it</string>
|
||||
<string name="no_logins_were_imported">No logins were imported</string>
|
||||
<string name="logins_imported">Logins imported</string>
|
||||
<string name="remember_to_delete_your_imported_password_file_from_your_computer">Remember to delete your imported password file from your computer</string>
|
||||
<string name="type_ssh_key">SSH key</string>
|
||||
<string name="public_key">Public key</string>
|
||||
<string name="private_key">Private key</string>
|
||||
<string name="ssh_keys">SSH keys</string>
|
||||
<string name="copy_public_key">Copy public key</string>
|
||||
<string name="copy_fingerprint">Copy fingerprint</string>
|
||||
</resources>
|
||||
|
|
|
@ -1001,7 +1001,7 @@ Soovid selle konto peale lülituda?</string>
|
|||
<string name="please_restart_registration_or_try_logging_in">Palun alusta uuesti registreerimist või proovi sisse logida. Sul võib olla konto juba olemas.</string>
|
||||
<string name="restart_registration">Alusta registreerimist uuesti</string>
|
||||
<string name="authenticator_sync">Authenticator Sync</string>
|
||||
<string name="allow_bitwarden_authenticator_syncing">Allow Bitwarden Authenticator Syncing</string>
|
||||
<string name="allow_bitwarden_authenticator_syncing">Allow authenticator syncing</string>
|
||||
<string name="there_was_an_issue_validating_the_registration_token">There was an issue validating the registration token.</string>
|
||||
<string name="turn_on_autofill">Turn on autofill</string>
|
||||
<string name="use_autofill_to_log_into_your_accounts">Use autofill to log into your accounts with a single tap.</string>
|
||||
|
@ -1040,8 +1040,8 @@ Soovid selle konto peale lülituda?</string>
|
|||
<string name="step_1_of_3">Step 1 of 3</string>
|
||||
<string name="export_your_saved_logins">Export your saved logins</string>
|
||||
<string name="delete_this_file_after_import_is_complete">You’ll delete this file after import is complete.</string>
|
||||
<string name="on_your_computer_open_a_new_browser_tab_and_go_to_vault_bitwarden_com">On your computer, open a new browser tab and go to vault.bitwarden.com</string>
|
||||
<string name="go_to_vault_bitwarden_com_highlight">go to vault.bitwarden.com</string>
|
||||
<string name="on_your_computer_open_a_new_browser_tab_and_go_to_vault_bitwarden_com">On your computer, open a new browser tab and go to %1$s</string>
|
||||
<string name="go_to_vault_bitwarden_com_highlight">go to %1$s</string>
|
||||
<string name="log_in_to_the_bitwarden_web_app">Log in to the Bitwarden web app.</string>
|
||||
<string name="step_2_of_3">Step 2 of 3</string>
|
||||
<string name="log_in_to_bitwarden">Log in to Bitwarden</string>
|
||||
|
@ -1055,7 +1055,7 @@ Soovid selle konto peale lülituda?</string>
|
|||
<string name="then_done_highlight">then Done</string>
|
||||
<string name="for_your_security_be_sure_to_delete_your_saved_password_file">For your security, be sure to delete your saved password file.</string>
|
||||
<string name="delete_your_saved_password_file">delete your saved password file.</string>
|
||||
<string name="need_help_checkout_out_import_help">Need help? Checkout out import help.</string>
|
||||
<string name="need_help_check_out_import_help">Need help? Check out import help.</string>
|
||||
<string name="import_help_highlight">import help</string>
|
||||
<string name="save_the_exported_file_somewhere_on_your_computer_you_can_find_easily">Save the exported file somewhere on your computer you can find easily.</string>
|
||||
<string name="save_the_exported_file_highlight">Save the exported file</string>
|
||||
|
@ -1073,4 +1073,12 @@ Soovid selle konto peale lülituda?</string>
|
|||
<string name="bitwarden_tools">Bitwarden Tools</string>
|
||||
<string name="got_it">Got it</string>
|
||||
<string name="no_logins_were_imported">No logins were imported</string>
|
||||
<string name="logins_imported">Logins imported</string>
|
||||
<string name="remember_to_delete_your_imported_password_file_from_your_computer">Remember to delete your imported password file from your computer</string>
|
||||
<string name="type_ssh_key">SSH key</string>
|
||||
<string name="public_key">Public key</string>
|
||||
<string name="private_key">Private key</string>
|
||||
<string name="ssh_keys">SSH keys</string>
|
||||
<string name="copy_public_key">Copy public key</string>
|
||||
<string name="copy_fingerprint">Copy fingerprint</string>
|
||||
</resources>
|
||||
|
|
|
@ -999,7 +999,7 @@ Kontu honetara aldatu nahi duzu?</string>
|
|||
<string name="please_restart_registration_or_try_logging_in">Please restart registration or try logging in. You may already have an account.</string>
|
||||
<string name="restart_registration">Restart registration</string>
|
||||
<string name="authenticator_sync">Authenticator Sync</string>
|
||||
<string name="allow_bitwarden_authenticator_syncing">Allow Bitwarden Authenticator Syncing</string>
|
||||
<string name="allow_bitwarden_authenticator_syncing">Allow authenticator syncing</string>
|
||||
<string name="there_was_an_issue_validating_the_registration_token">There was an issue validating the registration token.</string>
|
||||
<string name="turn_on_autofill">Turn on autofill</string>
|
||||
<string name="use_autofill_to_log_into_your_accounts">Use autofill to log into your accounts with a single tap.</string>
|
||||
|
@ -1038,8 +1038,8 @@ Kontu honetara aldatu nahi duzu?</string>
|
|||
<string name="step_1_of_3">Step 1 of 3</string>
|
||||
<string name="export_your_saved_logins">Export your saved logins</string>
|
||||
<string name="delete_this_file_after_import_is_complete">You’ll delete this file after import is complete.</string>
|
||||
<string name="on_your_computer_open_a_new_browser_tab_and_go_to_vault_bitwarden_com">On your computer, open a new browser tab and go to vault.bitwarden.com</string>
|
||||
<string name="go_to_vault_bitwarden_com_highlight">go to vault.bitwarden.com</string>
|
||||
<string name="on_your_computer_open_a_new_browser_tab_and_go_to_vault_bitwarden_com">On your computer, open a new browser tab and go to %1$s</string>
|
||||
<string name="go_to_vault_bitwarden_com_highlight">go to %1$s</string>
|
||||
<string name="log_in_to_the_bitwarden_web_app">Log in to the Bitwarden web app.</string>
|
||||
<string name="step_2_of_3">Step 2 of 3</string>
|
||||
<string name="log_in_to_bitwarden">Log in to Bitwarden</string>
|
||||
|
@ -1053,7 +1053,7 @@ Kontu honetara aldatu nahi duzu?</string>
|
|||
<string name="then_done_highlight">then Done</string>
|
||||
<string name="for_your_security_be_sure_to_delete_your_saved_password_file">For your security, be sure to delete your saved password file.</string>
|
||||
<string name="delete_your_saved_password_file">delete your saved password file.</string>
|
||||
<string name="need_help_checkout_out_import_help">Need help? Checkout out import help.</string>
|
||||
<string name="need_help_check_out_import_help">Need help? Check out import help.</string>
|
||||
<string name="import_help_highlight">import help</string>
|
||||
<string name="save_the_exported_file_somewhere_on_your_computer_you_can_find_easily">Save the exported file somewhere on your computer you can find easily.</string>
|
||||
<string name="save_the_exported_file_highlight">Save the exported file</string>
|
||||
|
@ -1071,4 +1071,12 @@ Kontu honetara aldatu nahi duzu?</string>
|
|||
<string name="bitwarden_tools">Bitwarden Tools</string>
|
||||
<string name="got_it">Got it</string>
|
||||
<string name="no_logins_were_imported">No logins were imported</string>
|
||||
<string name="logins_imported">Logins imported</string>
|
||||
<string name="remember_to_delete_your_imported_password_file_from_your_computer">Remember to delete your imported password file from your computer</string>
|
||||
<string name="type_ssh_key">SSH key</string>
|
||||
<string name="public_key">Public key</string>
|
||||
<string name="private_key">Private key</string>
|
||||
<string name="ssh_keys">SSH keys</string>
|
||||
<string name="copy_public_key">Copy public key</string>
|
||||
<string name="copy_fingerprint">Copy fingerprint</string>
|
||||
</resources>
|
||||
|
|
|
@ -1001,7 +1001,7 @@
|
|||
<string name="please_restart_registration_or_try_logging_in">Please restart registration or try logging in. You may already have an account.</string>
|
||||
<string name="restart_registration">Restart registration</string>
|
||||
<string name="authenticator_sync">Authenticator Sync</string>
|
||||
<string name="allow_bitwarden_authenticator_syncing">Allow Bitwarden Authenticator Syncing</string>
|
||||
<string name="allow_bitwarden_authenticator_syncing">Allow authenticator syncing</string>
|
||||
<string name="there_was_an_issue_validating_the_registration_token">There was an issue validating the registration token.</string>
|
||||
<string name="turn_on_autofill">Turn on autofill</string>
|
||||
<string name="use_autofill_to_log_into_your_accounts">Use autofill to log into your accounts with a single tap.</string>
|
||||
|
@ -1040,8 +1040,8 @@
|
|||
<string name="step_1_of_3">Step 1 of 3</string>
|
||||
<string name="export_your_saved_logins">Export your saved logins</string>
|
||||
<string name="delete_this_file_after_import_is_complete">You’ll delete this file after import is complete.</string>
|
||||
<string name="on_your_computer_open_a_new_browser_tab_and_go_to_vault_bitwarden_com">On your computer, open a new browser tab and go to vault.bitwarden.com</string>
|
||||
<string name="go_to_vault_bitwarden_com_highlight">go to vault.bitwarden.com</string>
|
||||
<string name="on_your_computer_open_a_new_browser_tab_and_go_to_vault_bitwarden_com">On your computer, open a new browser tab and go to %1$s</string>
|
||||
<string name="go_to_vault_bitwarden_com_highlight">go to %1$s</string>
|
||||
<string name="log_in_to_the_bitwarden_web_app">Log in to the Bitwarden web app.</string>
|
||||
<string name="step_2_of_3">Step 2 of 3</string>
|
||||
<string name="log_in_to_bitwarden">Log in to Bitwarden</string>
|
||||
|
@ -1055,7 +1055,7 @@
|
|||
<string name="then_done_highlight">then Done</string>
|
||||
<string name="for_your_security_be_sure_to_delete_your_saved_password_file">For your security, be sure to delete your saved password file.</string>
|
||||
<string name="delete_your_saved_password_file">delete your saved password file.</string>
|
||||
<string name="need_help_checkout_out_import_help">Need help? Checkout out import help.</string>
|
||||
<string name="need_help_check_out_import_help">Need help? Check out import help.</string>
|
||||
<string name="import_help_highlight">import help</string>
|
||||
<string name="save_the_exported_file_somewhere_on_your_computer_you_can_find_easily">Save the exported file somewhere on your computer you can find easily.</string>
|
||||
<string name="save_the_exported_file_highlight">Save the exported file</string>
|
||||
|
@ -1073,4 +1073,12 @@
|
|||
<string name="bitwarden_tools">Bitwarden Tools</string>
|
||||
<string name="got_it">Got it</string>
|
||||
<string name="no_logins_were_imported">No logins were imported</string>
|
||||
<string name="logins_imported">Logins imported</string>
|
||||
<string name="remember_to_delete_your_imported_password_file_from_your_computer">Remember to delete your imported password file from your computer</string>
|
||||
<string name="type_ssh_key">SSH key</string>
|
||||
<string name="public_key">Public key</string>
|
||||
<string name="private_key">Private key</string>
|
||||
<string name="ssh_keys">SSH keys</string>
|
||||
<string name="copy_public_key">Copy public key</string>
|
||||
<string name="copy_fingerprint">Copy fingerprint</string>
|
||||
</resources>
|
||||
|
|
|
@ -321,7 +321,7 @@ Koodi skannataan automaattisesti.</string>
|
|||
<string name="title">Titteli</string>
|
||||
<string name="zip_postal_code">Postinumero</string>
|
||||
<string name="address">Osoite</string>
|
||||
<string name="expiration">Erääntymisaika</string>
|
||||
<string name="expiration">Voimassaolo päättyy</string>
|
||||
<string name="show_website_icons">Näytä sivustokuvakkeet</string>
|
||||
<string name="show_website_icons_description">Näytä tunnistettava kuva jokaiselle kirjautumistiedolle.</string>
|
||||
<string name="icons_url">Kuvakepalvelimen URL</string>
|
||||
|
@ -573,7 +573,7 @@ Koodi skannataan automaattisesti.</string>
|
|||
<string name="deletion_date_info">Send poistuu pysyvästi määritettynä ajankohtana.</string>
|
||||
<string name="pending_delete">Odottaa poistoa</string>
|
||||
<string name="expiration_date">Erääntymispäivä</string>
|
||||
<string name="expiration_time">Erääntymisaika</string>
|
||||
<string name="expiration_time">Voimassaolo päättyy</string>
|
||||
<string name="expiration_date_info">Send erääntyy määritettynä ajankohtana.</string>
|
||||
<string name="expired">Erääntynyt</string>
|
||||
<string name="maximum_access_count">Käyttökertojen enimmäismäärä</string>
|
||||
|
@ -1040,7 +1040,7 @@ Haluatko vaihtaa tähän tiliin?</string>
|
|||
<string name="step_1_of_3">Vaihe 1/3</string>
|
||||
<string name="export_your_saved_logins">Vie tallennetut kirjautumistietosi</string>
|
||||
<string name="delete_this_file_after_import_is_complete">Poistat tämän tiedoston, kun tuonti on valmis.</string>
|
||||
<string name="on_your_computer_open_a_new_browser_tab_and_go_to_vault_bitwarden_com">On your computer, open a new browser tab and go to vault.bitwarden.com</string>
|
||||
<string name="on_your_computer_open_a_new_browser_tab_and_go_to_vault_bitwarden_com">On your computer, open a new browser tab and go to %1$s</string>
|
||||
<string name="go_to_vault_bitwarden_com_highlight">mene osoitteeseen vault.bitwarden.com</string>
|
||||
<string name="log_in_to_the_bitwarden_web_app">Kirjaudu Bitwarden-verkkosovellukseen.</string>
|
||||
<string name="step_2_of_3">Vaihe 2/3</string>
|
||||
|
@ -1055,22 +1055,30 @@ Haluatko vaihtaa tähän tiliin?</string>
|
|||
<string name="then_done_highlight">then Done</string>
|
||||
<string name="for_your_security_be_sure_to_delete_your_saved_password_file">For your security, be sure to delete your saved password file.</string>
|
||||
<string name="delete_your_saved_password_file">delete your saved password file.</string>
|
||||
<string name="need_help_checkout_out_import_help">Need help? Checkout out import help.</string>
|
||||
<string name="need_help_check_out_import_help">Need help? Check out import help.</string>
|
||||
<string name="import_help_highlight">import help</string>
|
||||
<string name="save_the_exported_file_somewhere_on_your_computer_you_can_find_easily">Save the exported file somewhere on your computer you can find easily.</string>
|
||||
<string name="save_the_exported_file_highlight">Save the exported file</string>
|
||||
<string name="save_the_exported_file_highlight">Tallenna viety tiedosto</string>
|
||||
<string name="this_is_not_a_recognized_bitwarden_server_you_may_need_to_check_with_your_provider_or_update_your_server">This is not a recognized Bitwarden server. You may need to check with your provider or update your server.</string>
|
||||
<string name="syncing_logins_loading_message">Syncing logins...</string>
|
||||
<string name="syncing_logins_loading_message">Synkronoidaan kirjautumistietoja...</string>
|
||||
<string name="ssh_key_cipher_item_types">SSH Key Cipher Item Types</string>
|
||||
<string name="download_the_browser_extension">Download the browser extension</string>
|
||||
<string name="download_the_browser_extension">Lataa selaimen laajennus</string>
|
||||
<string name="go_to_bitwarden_com_download_to_integrate_bitwarden_into_browser">Go to bitwarden.com/download to integrate Bitwarden into your favorite browser for a seamless experience.</string>
|
||||
<string name="use_the_web_app">Use the web app</string>
|
||||
<string name="use_the_web_app">Käytä verkkosovellusta</string>
|
||||
<string name="log_in_at_bitwarden_com_to_easily_manage_your_account">Log in at bitwarden.com to easily manage your account and update settings.</string>
|
||||
<string name="autofill_passwords">Autofill passwords</string>
|
||||
<string name="autofill_passwords">Automaattitäytä salasanoja</string>
|
||||
<string name="set_up_autofill_on_all_your_devices">Set up autofill on all your devices to login with a single tap anywhere.</string>
|
||||
<string name="import_successful">Import Successful!</string>
|
||||
<string name="import_successful">Tuonti onnistui!</string>
|
||||
<string name="manage_your_logins_from_anywhere_with_bitwarden_tools">Manage your logins from anywhere with Bitwarden tools for web and desktop.</string>
|
||||
<string name="bitwarden_tools">Bitwarden Tools</string>
|
||||
<string name="got_it">Got it</string>
|
||||
<string name="no_logins_were_imported">No logins were imported</string>
|
||||
<string name="bitwarden_tools">Bitwarden-työkalut</string>
|
||||
<string name="got_it">Selvä</string>
|
||||
<string name="no_logins_were_imported">Kirjautumistietoja ei tuotu</string>
|
||||
<string name="logins_imported">Kirjautumistietoja tuotiin</string>
|
||||
<string name="remember_to_delete_your_imported_password_file_from_your_computer">Remember to delete your imported password file from your computer</string>
|
||||
<string name="type_ssh_key">SSH-avain</string>
|
||||
<string name="public_key">Julkinen avain</string>
|
||||
<string name="private_key">Yksityinen avain</string>
|
||||
<string name="ssh_keys">SSH-avaimet</string>
|
||||
<string name="copy_public_key">Copy public key</string>
|
||||
<string name="copy_fingerprint">Copy fingerprint</string>
|
||||
</resources>
|
||||
|
|
|
@ -1001,7 +1001,7 @@ Gusto mo bang pumunta sa account na ito?</string>
|
|||
<string name="please_restart_registration_or_try_logging_in">Please restart registration or try logging in. You may already have an account.</string>
|
||||
<string name="restart_registration">Restart registration</string>
|
||||
<string name="authenticator_sync">Authenticator Sync</string>
|
||||
<string name="allow_bitwarden_authenticator_syncing">Allow Bitwarden Authenticator Syncing</string>
|
||||
<string name="allow_bitwarden_authenticator_syncing">Allow authenticator syncing</string>
|
||||
<string name="there_was_an_issue_validating_the_registration_token">There was an issue validating the registration token.</string>
|
||||
<string name="turn_on_autofill">Turn on autofill</string>
|
||||
<string name="use_autofill_to_log_into_your_accounts">Use autofill to log into your accounts with a single tap.</string>
|
||||
|
@ -1040,8 +1040,8 @@ Gusto mo bang pumunta sa account na ito?</string>
|
|||
<string name="step_1_of_3">Step 1 of 3</string>
|
||||
<string name="export_your_saved_logins">Export your saved logins</string>
|
||||
<string name="delete_this_file_after_import_is_complete">You’ll delete this file after import is complete.</string>
|
||||
<string name="on_your_computer_open_a_new_browser_tab_and_go_to_vault_bitwarden_com">On your computer, open a new browser tab and go to vault.bitwarden.com</string>
|
||||
<string name="go_to_vault_bitwarden_com_highlight">go to vault.bitwarden.com</string>
|
||||
<string name="on_your_computer_open_a_new_browser_tab_and_go_to_vault_bitwarden_com">On your computer, open a new browser tab and go to %1$s</string>
|
||||
<string name="go_to_vault_bitwarden_com_highlight">go to %1$s</string>
|
||||
<string name="log_in_to_the_bitwarden_web_app">Log in to the Bitwarden web app.</string>
|
||||
<string name="step_2_of_3">Step 2 of 3</string>
|
||||
<string name="log_in_to_bitwarden">Log in to Bitwarden</string>
|
||||
|
@ -1055,7 +1055,7 @@ Gusto mo bang pumunta sa account na ito?</string>
|
|||
<string name="then_done_highlight">then Done</string>
|
||||
<string name="for_your_security_be_sure_to_delete_your_saved_password_file">For your security, be sure to delete your saved password file.</string>
|
||||
<string name="delete_your_saved_password_file">delete your saved password file.</string>
|
||||
<string name="need_help_checkout_out_import_help">Need help? Checkout out import help.</string>
|
||||
<string name="need_help_check_out_import_help">Need help? Check out import help.</string>
|
||||
<string name="import_help_highlight">import help</string>
|
||||
<string name="save_the_exported_file_somewhere_on_your_computer_you_can_find_easily">Save the exported file somewhere on your computer you can find easily.</string>
|
||||
<string name="save_the_exported_file_highlight">Save the exported file</string>
|
||||
|
@ -1073,4 +1073,12 @@ Gusto mo bang pumunta sa account na ito?</string>
|
|||
<string name="bitwarden_tools">Bitwarden Tools</string>
|
||||
<string name="got_it">Got it</string>
|
||||
<string name="no_logins_were_imported">No logins were imported</string>
|
||||
<string name="logins_imported">Logins imported</string>
|
||||
<string name="remember_to_delete_your_imported_password_file_from_your_computer">Remember to delete your imported password file from your computer</string>
|
||||
<string name="type_ssh_key">SSH key</string>
|
||||
<string name="public_key">Public key</string>
|
||||
<string name="private_key">Private key</string>
|
||||
<string name="ssh_keys">SSH keys</string>
|
||||
<string name="copy_public_key">Copy public key</string>
|
||||
<string name="copy_fingerprint">Copy fingerprint</string>
|
||||
</resources>
|
||||
|
|
|
@ -1001,7 +1001,7 @@ Voulez-vous basculer vers ce compte ?</string>
|
|||
<string name="please_restart_registration_or_try_logging_in">Veuillez recommencer l\'inscription ou essayer de vous connecter. Vous avez peut-être déjà un compte.</string>
|
||||
<string name="restart_registration">Recommencer l\'inscription</string>
|
||||
<string name="authenticator_sync">Authenticator Sync</string>
|
||||
<string name="allow_bitwarden_authenticator_syncing">Allow Bitwarden Authenticator Syncing</string>
|
||||
<string name="allow_bitwarden_authenticator_syncing">Allow authenticator syncing</string>
|
||||
<string name="there_was_an_issue_validating_the_registration_token">Un problème est survenu lors de la validation du jeton d\'enregistrement.</string>
|
||||
<string name="turn_on_autofill">Activer le remplissage automatique</string>
|
||||
<string name="use_autofill_to_log_into_your_accounts">Utilisez le remplissage automatique pour vous connecter à vos comptes en un seul clic.</string>
|
||||
|
@ -1040,8 +1040,8 @@ Voulez-vous basculer vers ce compte ?</string>
|
|||
<string name="step_1_of_3">Step 1 of 3</string>
|
||||
<string name="export_your_saved_logins">Export your saved logins</string>
|
||||
<string name="delete_this_file_after_import_is_complete">You’ll delete this file after import is complete.</string>
|
||||
<string name="on_your_computer_open_a_new_browser_tab_and_go_to_vault_bitwarden_com">On your computer, open a new browser tab and go to vault.bitwarden.com</string>
|
||||
<string name="go_to_vault_bitwarden_com_highlight">go to vault.bitwarden.com</string>
|
||||
<string name="on_your_computer_open_a_new_browser_tab_and_go_to_vault_bitwarden_com">On your computer, open a new browser tab and go to %1$s</string>
|
||||
<string name="go_to_vault_bitwarden_com_highlight">go to %1$s</string>
|
||||
<string name="log_in_to_the_bitwarden_web_app">Log in to the Bitwarden web app.</string>
|
||||
<string name="step_2_of_3">Step 2 of 3</string>
|
||||
<string name="log_in_to_bitwarden">Log in to Bitwarden</string>
|
||||
|
@ -1055,7 +1055,7 @@ Voulez-vous basculer vers ce compte ?</string>
|
|||
<string name="then_done_highlight">then Done</string>
|
||||
<string name="for_your_security_be_sure_to_delete_your_saved_password_file">For your security, be sure to delete your saved password file.</string>
|
||||
<string name="delete_your_saved_password_file">delete your saved password file.</string>
|
||||
<string name="need_help_checkout_out_import_help">Need help? Checkout out import help.</string>
|
||||
<string name="need_help_check_out_import_help">Need help? Check out import help.</string>
|
||||
<string name="import_help_highlight">import help</string>
|
||||
<string name="save_the_exported_file_somewhere_on_your_computer_you_can_find_easily">Save the exported file somewhere on your computer you can find easily.</string>
|
||||
<string name="save_the_exported_file_highlight">Save the exported file</string>
|
||||
|
@ -1073,4 +1073,12 @@ Voulez-vous basculer vers ce compte ?</string>
|
|||
<string name="bitwarden_tools">Bitwarden Tools</string>
|
||||
<string name="got_it">Got it</string>
|
||||
<string name="no_logins_were_imported">No logins were imported</string>
|
||||
<string name="logins_imported">Logins imported</string>
|
||||
<string name="remember_to_delete_your_imported_password_file_from_your_computer">Remember to delete your imported password file from your computer</string>
|
||||
<string name="type_ssh_key">SSH key</string>
|
||||
<string name="public_key">Public key</string>
|
||||
<string name="private_key">Private key</string>
|
||||
<string name="ssh_keys">SSH keys</string>
|
||||
<string name="copy_public_key">Copy public key</string>
|
||||
<string name="copy_fingerprint">Copy fingerprint</string>
|
||||
</resources>
|
||||
|
|
|
@ -1001,7 +1001,7 @@ Do you want to switch to this account?</string>
|
|||
<string name="please_restart_registration_or_try_logging_in">Please restart registration or try logging in. You may already have an account.</string>
|
||||
<string name="restart_registration">Restart registration</string>
|
||||
<string name="authenticator_sync">Authenticator Sync</string>
|
||||
<string name="allow_bitwarden_authenticator_syncing">Allow Bitwarden Authenticator Syncing</string>
|
||||
<string name="allow_bitwarden_authenticator_syncing">Allow authenticator syncing</string>
|
||||
<string name="there_was_an_issue_validating_the_registration_token">There was an issue validating the registration token.</string>
|
||||
<string name="turn_on_autofill">Turn on autofill</string>
|
||||
<string name="use_autofill_to_log_into_your_accounts">Use autofill to log into your accounts with a single tap.</string>
|
||||
|
@ -1040,8 +1040,8 @@ Do you want to switch to this account?</string>
|
|||
<string name="step_1_of_3">Step 1 of 3</string>
|
||||
<string name="export_your_saved_logins">Export your saved logins</string>
|
||||
<string name="delete_this_file_after_import_is_complete">You’ll delete this file after import is complete.</string>
|
||||
<string name="on_your_computer_open_a_new_browser_tab_and_go_to_vault_bitwarden_com">On your computer, open a new browser tab and go to vault.bitwarden.com</string>
|
||||
<string name="go_to_vault_bitwarden_com_highlight">go to vault.bitwarden.com</string>
|
||||
<string name="on_your_computer_open_a_new_browser_tab_and_go_to_vault_bitwarden_com">On your computer, open a new browser tab and go to %1$s</string>
|
||||
<string name="go_to_vault_bitwarden_com_highlight">go to %1$s</string>
|
||||
<string name="log_in_to_the_bitwarden_web_app">Log in to the Bitwarden web app.</string>
|
||||
<string name="step_2_of_3">Step 2 of 3</string>
|
||||
<string name="log_in_to_bitwarden">Log in to Bitwarden</string>
|
||||
|
@ -1055,7 +1055,7 @@ Do you want to switch to this account?</string>
|
|||
<string name="then_done_highlight">then Done</string>
|
||||
<string name="for_your_security_be_sure_to_delete_your_saved_password_file">For your security, be sure to delete your saved password file.</string>
|
||||
<string name="delete_your_saved_password_file">delete your saved password file.</string>
|
||||
<string name="need_help_checkout_out_import_help">Need help? Checkout out import help.</string>
|
||||
<string name="need_help_check_out_import_help">Need help? Check out import help.</string>
|
||||
<string name="import_help_highlight">import help</string>
|
||||
<string name="save_the_exported_file_somewhere_on_your_computer_you_can_find_easily">Save the exported file somewhere on your computer you can find easily.</string>
|
||||
<string name="save_the_exported_file_highlight">Save the exported file</string>
|
||||
|
@ -1073,4 +1073,12 @@ Do you want to switch to this account?</string>
|
|||
<string name="bitwarden_tools">Bitwarden Tools</string>
|
||||
<string name="got_it">Got it</string>
|
||||
<string name="no_logins_were_imported">No logins were imported</string>
|
||||
<string name="logins_imported">Logins imported</string>
|
||||
<string name="remember_to_delete_your_imported_password_file_from_your_computer">Remember to delete your imported password file from your computer</string>
|
||||
<string name="type_ssh_key">SSH key</string>
|
||||
<string name="public_key">Public key</string>
|
||||
<string name="private_key">Private key</string>
|
||||
<string name="ssh_keys">SSH keys</string>
|
||||
<string name="copy_public_key">Copy public key</string>
|
||||
<string name="copy_fingerprint">Copy fingerprint</string>
|
||||
</resources>
|
||||
|
|
|
@ -1000,7 +1000,7 @@ Do you want to switch to this account?</string>
|
|||
<string name="please_restart_registration_or_try_logging_in">Please restart registration or try logging in. You may already have an account.</string>
|
||||
<string name="restart_registration">Restart registration</string>
|
||||
<string name="authenticator_sync">Authenticator Sync</string>
|
||||
<string name="allow_bitwarden_authenticator_syncing">Allow Bitwarden Authenticator Syncing</string>
|
||||
<string name="allow_bitwarden_authenticator_syncing">Allow authenticator syncing</string>
|
||||
<string name="there_was_an_issue_validating_the_registration_token">There was an issue validating the registration token.</string>
|
||||
<string name="turn_on_autofill">Turn on autofill</string>
|
||||
<string name="use_autofill_to_log_into_your_accounts">Use autofill to log into your accounts with a single tap.</string>
|
||||
|
@ -1039,8 +1039,8 @@ Do you want to switch to this account?</string>
|
|||
<string name="step_1_of_3">Step 1 of 3</string>
|
||||
<string name="export_your_saved_logins">Export your saved logins</string>
|
||||
<string name="delete_this_file_after_import_is_complete">You’ll delete this file after import is complete.</string>
|
||||
<string name="on_your_computer_open_a_new_browser_tab_and_go_to_vault_bitwarden_com">On your computer, open a new browser tab and go to vault.bitwarden.com</string>
|
||||
<string name="go_to_vault_bitwarden_com_highlight">go to vault.bitwarden.com</string>
|
||||
<string name="on_your_computer_open_a_new_browser_tab_and_go_to_vault_bitwarden_com">On your computer, open a new browser tab and go to %1$s</string>
|
||||
<string name="go_to_vault_bitwarden_com_highlight">go to %1$s</string>
|
||||
<string name="log_in_to_the_bitwarden_web_app">Log in to the Bitwarden web app.</string>
|
||||
<string name="step_2_of_3">Step 2 of 3</string>
|
||||
<string name="log_in_to_bitwarden">Log in to Bitwarden</string>
|
||||
|
@ -1054,7 +1054,7 @@ Do you want to switch to this account?</string>
|
|||
<string name="then_done_highlight">then Done</string>
|
||||
<string name="for_your_security_be_sure_to_delete_your_saved_password_file">For your security, be sure to delete your saved password file.</string>
|
||||
<string name="delete_your_saved_password_file">delete your saved password file.</string>
|
||||
<string name="need_help_checkout_out_import_help">Need help? Checkout out import help.</string>
|
||||
<string name="need_help_check_out_import_help">Need help? Check out import help.</string>
|
||||
<string name="import_help_highlight">import help</string>
|
||||
<string name="save_the_exported_file_somewhere_on_your_computer_you_can_find_easily">Save the exported file somewhere on your computer you can find easily.</string>
|
||||
<string name="save_the_exported_file_highlight">Save the exported file</string>
|
||||
|
@ -1072,4 +1072,12 @@ Do you want to switch to this account?</string>
|
|||
<string name="bitwarden_tools">Bitwarden Tools</string>
|
||||
<string name="got_it">Got it</string>
|
||||
<string name="no_logins_were_imported">No logins were imported</string>
|
||||
<string name="logins_imported">Logins imported</string>
|
||||
<string name="remember_to_delete_your_imported_password_file_from_your_computer">Remember to delete your imported password file from your computer</string>
|
||||
<string name="type_ssh_key">SSH key</string>
|
||||
<string name="public_key">Public key</string>
|
||||
<string name="private_key">Private key</string>
|
||||
<string name="ssh_keys">SSH keys</string>
|
||||
<string name="copy_public_key">Copy public key</string>
|
||||
<string name="copy_fingerprint">Copy fingerprint</string>
|
||||
</resources>
|
||||
|
|
|
@ -1038,8 +1038,8 @@
|
|||
<string name="step_1_of_3">Step 1 of 3</string>
|
||||
<string name="export_your_saved_logins">Export your saved logins</string>
|
||||
<string name="delete_this_file_after_import_is_complete">You’ll delete this file after import is complete.</string>
|
||||
<string name="on_your_computer_open_a_new_browser_tab_and_go_to_vault_bitwarden_com">On your computer, open a new browser tab and go to vault.bitwarden.com</string>
|
||||
<string name="go_to_vault_bitwarden_com_highlight">go to vault.bitwarden.com</string>
|
||||
<string name="on_your_computer_open_a_new_browser_tab_and_go_to_vault_bitwarden_com">On your computer, open a new browser tab and go to %1$s</string>
|
||||
<string name="go_to_vault_bitwarden_com_highlight">go to %1$s</string>
|
||||
<string name="log_in_to_the_bitwarden_web_app">Log in to the Bitwarden web app.</string>
|
||||
<string name="step_2_of_3">Step 2 of 3</string>
|
||||
<string name="log_in_to_bitwarden">Log in to Bitwarden</string>
|
||||
|
@ -1053,7 +1053,7 @@
|
|||
<string name="then_done_highlight">then Done</string>
|
||||
<string name="for_your_security_be_sure_to_delete_your_saved_password_file">For your security, be sure to delete your saved password file.</string>
|
||||
<string name="delete_your_saved_password_file">delete your saved password file.</string>
|
||||
<string name="need_help_checkout_out_import_help">Need help? Checkout out import help.</string>
|
||||
<string name="need_help_check_out_import_help">Need help? Check out import help.</string>
|
||||
<string name="import_help_highlight">import help</string>
|
||||
<string name="save_the_exported_file_somewhere_on_your_computer_you_can_find_easily">Save the exported file somewhere on your computer you can find easily.</string>
|
||||
<string name="save_the_exported_file_highlight">Save the exported file</string>
|
||||
|
@ -1071,4 +1071,12 @@
|
|||
<string name="bitwarden_tools">Bitwarden Tools</string>
|
||||
<string name="got_it">Got it</string>
|
||||
<string name="no_logins_were_imported">No logins were imported</string>
|
||||
<string name="logins_imported">Logins imported</string>
|
||||
<string name="remember_to_delete_your_imported_password_file_from_your_computer">Remember to delete your imported password file from your computer</string>
|
||||
<string name="type_ssh_key">SSH key</string>
|
||||
<string name="public_key">Public key</string>
|
||||
<string name="private_key">Private key</string>
|
||||
<string name="ssh_keys">SSH keys</string>
|
||||
<string name="copy_public_key">Copy public key</string>
|
||||
<string name="copy_fingerprint">Copy fingerprint</string>
|
||||
</resources>
|
||||
|
|
|
@ -1054,7 +1054,7 @@ Szeretnénk átváltani erre a fiókra?</string>
|
|||
<string name="then_done_highlight">majd Kész lehetőség</string>
|
||||
<string name="for_your_security_be_sure_to_delete_your_saved_password_file">A biztonság érdekében töröljük a mentett jelszó fájlt.</string>
|
||||
<string name="delete_your_saved_password_file">a mentett jelszó fájl törlése.</string>
|
||||
<string name="need_help_checkout_out_import_help">Segítségre van szükség? Nézzük meg az importálás súgót.</string>
|
||||
<string name="need_help_check_out_import_help">Segítségre van szükség? Nézzük meg az importálás súgót.</string>
|
||||
<string name="import_help_highlight">importálás súgó</string>
|
||||
<string name="save_the_exported_file_somewhere_on_your_computer_you_can_find_easily">Mentsük el az exportált fájlt olyan helyre a számítógépen, ahol könnyen megtalálhatjuk.</string>
|
||||
<string name="save_the_exported_file_highlight">Exportált fájl mentése</string>
|
||||
|
@ -1072,4 +1072,12 @@ Szeretnénk átváltani erre a fiókra?</string>
|
|||
<string name="bitwarden_tools">Bitwarden eszközök</string>
|
||||
<string name="got_it">Rendben</string>
|
||||
<string name="no_logins_were_imported">Nem lett bejelentkezés importáva.</string>
|
||||
<string name="logins_imported">A bejelentkezések importálásra kerültek.</string>
|
||||
<string name="remember_to_delete_your_imported_password_file_from_your_computer">Ne felejtsük el törölni az importált jelszófájlt a számítógépről.</string>
|
||||
<string name="type_ssh_key">SSH kulcs</string>
|
||||
<string name="public_key">Nyilvános kulcs</string>
|
||||
<string name="private_key">Személyes kulcs</string>
|
||||
<string name="ssh_keys">SSH kulcsok</string>
|
||||
<string name="copy_public_key">Copy public key</string>
|
||||
<string name="copy_fingerprint">Copy fingerprint</string>
|
||||
</resources>
|
||||
|
|
|
@ -1001,7 +1001,7 @@ Do you want to switch to this account?</string>
|
|||
<string name="please_restart_registration_or_try_logging_in">Please restart registration or try logging in. You may already have an account.</string>
|
||||
<string name="restart_registration">Restart registration</string>
|
||||
<string name="authenticator_sync">Authenticator Sync</string>
|
||||
<string name="allow_bitwarden_authenticator_syncing">Allow Bitwarden Authenticator Syncing</string>
|
||||
<string name="allow_bitwarden_authenticator_syncing">Allow authenticator syncing</string>
|
||||
<string name="there_was_an_issue_validating_the_registration_token">There was an issue validating the registration token.</string>
|
||||
<string name="turn_on_autofill">Turn on autofill</string>
|
||||
<string name="use_autofill_to_log_into_your_accounts">Use autofill to log into your accounts with a single tap.</string>
|
||||
|
@ -1040,8 +1040,8 @@ Do you want to switch to this account?</string>
|
|||
<string name="step_1_of_3">Step 1 of 3</string>
|
||||
<string name="export_your_saved_logins">Export your saved logins</string>
|
||||
<string name="delete_this_file_after_import_is_complete">You’ll delete this file after import is complete.</string>
|
||||
<string name="on_your_computer_open_a_new_browser_tab_and_go_to_vault_bitwarden_com">On your computer, open a new browser tab and go to vault.bitwarden.com</string>
|
||||
<string name="go_to_vault_bitwarden_com_highlight">go to vault.bitwarden.com</string>
|
||||
<string name="on_your_computer_open_a_new_browser_tab_and_go_to_vault_bitwarden_com">On your computer, open a new browser tab and go to %1$s</string>
|
||||
<string name="go_to_vault_bitwarden_com_highlight">go to %1$s</string>
|
||||
<string name="log_in_to_the_bitwarden_web_app">Log in to the Bitwarden web app.</string>
|
||||
<string name="step_2_of_3">Step 2 of 3</string>
|
||||
<string name="log_in_to_bitwarden">Log in to Bitwarden</string>
|
||||
|
@ -1055,7 +1055,7 @@ Do you want to switch to this account?</string>
|
|||
<string name="then_done_highlight">then Done</string>
|
||||
<string name="for_your_security_be_sure_to_delete_your_saved_password_file">For your security, be sure to delete your saved password file.</string>
|
||||
<string name="delete_your_saved_password_file">delete your saved password file.</string>
|
||||
<string name="need_help_checkout_out_import_help">Need help? Checkout out import help.</string>
|
||||
<string name="need_help_check_out_import_help">Need help? Check out import help.</string>
|
||||
<string name="import_help_highlight">import help</string>
|
||||
<string name="save_the_exported_file_somewhere_on_your_computer_you_can_find_easily">Save the exported file somewhere on your computer you can find easily.</string>
|
||||
<string name="save_the_exported_file_highlight">Save the exported file</string>
|
||||
|
@ -1073,4 +1073,12 @@ Do you want to switch to this account?</string>
|
|||
<string name="bitwarden_tools">Bitwarden Tools</string>
|
||||
<string name="got_it">Got it</string>
|
||||
<string name="no_logins_were_imported">No logins were imported</string>
|
||||
<string name="logins_imported">Logins imported</string>
|
||||
<string name="remember_to_delete_your_imported_password_file_from_your_computer">Remember to delete your imported password file from your computer</string>
|
||||
<string name="type_ssh_key">SSH key</string>
|
||||
<string name="public_key">Public key</string>
|
||||
<string name="private_key">Private key</string>
|
||||
<string name="ssh_keys">SSH keys</string>
|
||||
<string name="copy_public_key">Copy public key</string>
|
||||
<string name="copy_fingerprint">Copy fingerprint</string>
|
||||
</resources>
|
||||
|
|
|
@ -1039,8 +1039,8 @@ Vuoi passare a questo account?</string>
|
|||
<string name="step_1_of_3">Step 1 of 3</string>
|
||||
<string name="export_your_saved_logins">Export your saved logins</string>
|
||||
<string name="delete_this_file_after_import_is_complete">You’ll delete this file after import is complete.</string>
|
||||
<string name="on_your_computer_open_a_new_browser_tab_and_go_to_vault_bitwarden_com">On your computer, open a new browser tab and go to vault.bitwarden.com</string>
|
||||
<string name="go_to_vault_bitwarden_com_highlight">go to vault.bitwarden.com</string>
|
||||
<string name="on_your_computer_open_a_new_browser_tab_and_go_to_vault_bitwarden_com">On your computer, open a new browser tab and go to %1$s</string>
|
||||
<string name="go_to_vault_bitwarden_com_highlight">go to %1$s</string>
|
||||
<string name="log_in_to_the_bitwarden_web_app">Log in to the Bitwarden web app.</string>
|
||||
<string name="step_2_of_3">Step 2 of 3</string>
|
||||
<string name="log_in_to_bitwarden">Log in to Bitwarden</string>
|
||||
|
@ -1054,7 +1054,7 @@ Vuoi passare a questo account?</string>
|
|||
<string name="then_done_highlight">then Done</string>
|
||||
<string name="for_your_security_be_sure_to_delete_your_saved_password_file">For your security, be sure to delete your saved password file.</string>
|
||||
<string name="delete_your_saved_password_file">delete your saved password file.</string>
|
||||
<string name="need_help_checkout_out_import_help">Need help? Checkout out import help.</string>
|
||||
<string name="need_help_check_out_import_help">Need help? Check out import help.</string>
|
||||
<string name="import_help_highlight">import help</string>
|
||||
<string name="save_the_exported_file_somewhere_on_your_computer_you_can_find_easily">Save the exported file somewhere on your computer you can find easily.</string>
|
||||
<string name="save_the_exported_file_highlight">Save the exported file</string>
|
||||
|
@ -1072,4 +1072,12 @@ Vuoi passare a questo account?</string>
|
|||
<string name="bitwarden_tools">Bitwarden Tools</string>
|
||||
<string name="got_it">Got it</string>
|
||||
<string name="no_logins_were_imported">No logins were imported</string>
|
||||
<string name="logins_imported">Logins imported</string>
|
||||
<string name="remember_to_delete_your_imported_password_file_from_your_computer">Remember to delete your imported password file from your computer</string>
|
||||
<string name="type_ssh_key">SSH key</string>
|
||||
<string name="public_key">Public key</string>
|
||||
<string name="private_key">Private key</string>
|
||||
<string name="ssh_keys">SSH keys</string>
|
||||
<string name="copy_public_key">Copy public key</string>
|
||||
<string name="copy_fingerprint">Copy fingerprint</string>
|
||||
</resources>
|
||||
|
|
|
@ -1004,7 +1004,7 @@ Do you want to switch to this account?</string>
|
|||
<string name="please_restart_registration_or_try_logging_in">Please restart registration or try logging in. You may already have an account.</string>
|
||||
<string name="restart_registration">Restart registration</string>
|
||||
<string name="authenticator_sync">Authenticator Sync</string>
|
||||
<string name="allow_bitwarden_authenticator_syncing">Allow Bitwarden Authenticator Syncing</string>
|
||||
<string name="allow_bitwarden_authenticator_syncing">Allow authenticator syncing</string>
|
||||
<string name="there_was_an_issue_validating_the_registration_token">There was an issue validating the registration token.</string>
|
||||
<string name="turn_on_autofill">Turn on autofill</string>
|
||||
<string name="use_autofill_to_log_into_your_accounts">Use autofill to log into your accounts with a single tap.</string>
|
||||
|
@ -1043,8 +1043,8 @@ Do you want to switch to this account?</string>
|
|||
<string name="step_1_of_3">Step 1 of 3</string>
|
||||
<string name="export_your_saved_logins">Export your saved logins</string>
|
||||
<string name="delete_this_file_after_import_is_complete">You’ll delete this file after import is complete.</string>
|
||||
<string name="on_your_computer_open_a_new_browser_tab_and_go_to_vault_bitwarden_com">On your computer, open a new browser tab and go to vault.bitwarden.com</string>
|
||||
<string name="go_to_vault_bitwarden_com_highlight">go to vault.bitwarden.com</string>
|
||||
<string name="on_your_computer_open_a_new_browser_tab_and_go_to_vault_bitwarden_com">On your computer, open a new browser tab and go to %1$s</string>
|
||||
<string name="go_to_vault_bitwarden_com_highlight">go to %1$s</string>
|
||||
<string name="log_in_to_the_bitwarden_web_app">Log in to the Bitwarden web app.</string>
|
||||
<string name="step_2_of_3">Step 2 of 3</string>
|
||||
<string name="log_in_to_bitwarden">Log in to Bitwarden</string>
|
||||
|
@ -1058,7 +1058,7 @@ Do you want to switch to this account?</string>
|
|||
<string name="then_done_highlight">then Done</string>
|
||||
<string name="for_your_security_be_sure_to_delete_your_saved_password_file">For your security, be sure to delete your saved password file.</string>
|
||||
<string name="delete_your_saved_password_file">delete your saved password file.</string>
|
||||
<string name="need_help_checkout_out_import_help">Need help? Checkout out import help.</string>
|
||||
<string name="need_help_check_out_import_help">Need help? Check out import help.</string>
|
||||
<string name="import_help_highlight">import help</string>
|
||||
<string name="save_the_exported_file_somewhere_on_your_computer_you_can_find_easily">Save the exported file somewhere on your computer you can find easily.</string>
|
||||
<string name="save_the_exported_file_highlight">Save the exported file</string>
|
||||
|
@ -1076,4 +1076,12 @@ Do you want to switch to this account?</string>
|
|||
<string name="bitwarden_tools">Bitwarden Tools</string>
|
||||
<string name="got_it">Got it</string>
|
||||
<string name="no_logins_were_imported">No logins were imported</string>
|
||||
<string name="logins_imported">Logins imported</string>
|
||||
<string name="remember_to_delete_your_imported_password_file_from_your_computer">Remember to delete your imported password file from your computer</string>
|
||||
<string name="type_ssh_key">SSH key</string>
|
||||
<string name="public_key">Public key</string>
|
||||
<string name="private_key">Private key</string>
|
||||
<string name="ssh_keys">SSH keys</string>
|
||||
<string name="copy_public_key">Copy public key</string>
|
||||
<string name="copy_fingerprint">Copy fingerprint</string>
|
||||
</resources>
|
||||
|
|
|
@ -1040,8 +1040,8 @@
|
|||
<string name="step_1_of_3">Step 1 of 3</string>
|
||||
<string name="export_your_saved_logins">Export your saved logins</string>
|
||||
<string name="delete_this_file_after_import_is_complete">You’ll delete this file after import is complete.</string>
|
||||
<string name="on_your_computer_open_a_new_browser_tab_and_go_to_vault_bitwarden_com">On your computer, open a new browser tab and go to vault.bitwarden.com</string>
|
||||
<string name="go_to_vault_bitwarden_com_highlight">go to vault.bitwarden.com</string>
|
||||
<string name="on_your_computer_open_a_new_browser_tab_and_go_to_vault_bitwarden_com">On your computer, open a new browser tab and go to %1$s</string>
|
||||
<string name="go_to_vault_bitwarden_com_highlight">go to %1$s</string>
|
||||
<string name="log_in_to_the_bitwarden_web_app">Log in to the Bitwarden web app.</string>
|
||||
<string name="step_2_of_3">Step 2 of 3</string>
|
||||
<string name="log_in_to_bitwarden">Log in to Bitwarden</string>
|
||||
|
@ -1055,7 +1055,7 @@
|
|||
<string name="then_done_highlight">then Done</string>
|
||||
<string name="for_your_security_be_sure_to_delete_your_saved_password_file">For your security, be sure to delete your saved password file.</string>
|
||||
<string name="delete_your_saved_password_file">delete your saved password file.</string>
|
||||
<string name="need_help_checkout_out_import_help">Need help? Checkout out import help.</string>
|
||||
<string name="need_help_check_out_import_help">Need help? Check out import help.</string>
|
||||
<string name="import_help_highlight">import help</string>
|
||||
<string name="save_the_exported_file_somewhere_on_your_computer_you_can_find_easily">Save the exported file somewhere on your computer you can find easily.</string>
|
||||
<string name="save_the_exported_file_highlight">Save the exported file</string>
|
||||
|
@ -1073,4 +1073,12 @@
|
|||
<string name="bitwarden_tools">Bitwarden Tools</string>
|
||||
<string name="got_it">Got it</string>
|
||||
<string name="no_logins_were_imported">No logins were imported</string>
|
||||
<string name="logins_imported">Logins imported</string>
|
||||
<string name="remember_to_delete_your_imported_password_file_from_your_computer">Remember to delete your imported password file from your computer</string>
|
||||
<string name="type_ssh_key">SSH key</string>
|
||||
<string name="public_key">Public key</string>
|
||||
<string name="private_key">Private key</string>
|
||||
<string name="ssh_keys">SSH keys</string>
|
||||
<string name="copy_public_key">Copy public key</string>
|
||||
<string name="copy_fingerprint">Copy fingerprint</string>
|
||||
</resources>
|
||||
|
|
|
@ -1001,7 +1001,7 @@ Do you want to switch to this account?</string>
|
|||
<string name="please_restart_registration_or_try_logging_in">Please restart registration or try logging in. You may already have an account.</string>
|
||||
<string name="restart_registration">Restart registration</string>
|
||||
<string name="authenticator_sync">Authenticator Sync</string>
|
||||
<string name="allow_bitwarden_authenticator_syncing">Allow Bitwarden Authenticator Syncing</string>
|
||||
<string name="allow_bitwarden_authenticator_syncing">Allow authenticator syncing</string>
|
||||
<string name="there_was_an_issue_validating_the_registration_token">There was an issue validating the registration token.</string>
|
||||
<string name="turn_on_autofill">Turn on autofill</string>
|
||||
<string name="use_autofill_to_log_into_your_accounts">Use autofill to log into your accounts with a single tap.</string>
|
||||
|
@ -1040,8 +1040,8 @@ Do you want to switch to this account?</string>
|
|||
<string name="step_1_of_3">Step 1 of 3</string>
|
||||
<string name="export_your_saved_logins">Export your saved logins</string>
|
||||
<string name="delete_this_file_after_import_is_complete">You’ll delete this file after import is complete.</string>
|
||||
<string name="on_your_computer_open_a_new_browser_tab_and_go_to_vault_bitwarden_com">On your computer, open a new browser tab and go to vault.bitwarden.com</string>
|
||||
<string name="go_to_vault_bitwarden_com_highlight">go to vault.bitwarden.com</string>
|
||||
<string name="on_your_computer_open_a_new_browser_tab_and_go_to_vault_bitwarden_com">On your computer, open a new browser tab and go to %1$s</string>
|
||||
<string name="go_to_vault_bitwarden_com_highlight">go to %1$s</string>
|
||||
<string name="log_in_to_the_bitwarden_web_app">Log in to the Bitwarden web app.</string>
|
||||
<string name="step_2_of_3">Step 2 of 3</string>
|
||||
<string name="log_in_to_bitwarden">Log in to Bitwarden</string>
|
||||
|
@ -1055,7 +1055,7 @@ Do you want to switch to this account?</string>
|
|||
<string name="then_done_highlight">then Done</string>
|
||||
<string name="for_your_security_be_sure_to_delete_your_saved_password_file">For your security, be sure to delete your saved password file.</string>
|
||||
<string name="delete_your_saved_password_file">delete your saved password file.</string>
|
||||
<string name="need_help_checkout_out_import_help">Need help? Checkout out import help.</string>
|
||||
<string name="need_help_check_out_import_help">Need help? Check out import help.</string>
|
||||
<string name="import_help_highlight">import help</string>
|
||||
<string name="save_the_exported_file_somewhere_on_your_computer_you_can_find_easily">Save the exported file somewhere on your computer you can find easily.</string>
|
||||
<string name="save_the_exported_file_highlight">Save the exported file</string>
|
||||
|
@ -1073,4 +1073,12 @@ Do you want to switch to this account?</string>
|
|||
<string name="bitwarden_tools">Bitwarden Tools</string>
|
||||
<string name="got_it">Got it</string>
|
||||
<string name="no_logins_were_imported">No logins were imported</string>
|
||||
<string name="logins_imported">Logins imported</string>
|
||||
<string name="remember_to_delete_your_imported_password_file_from_your_computer">Remember to delete your imported password file from your computer</string>
|
||||
<string name="type_ssh_key">SSH key</string>
|
||||
<string name="public_key">Public key</string>
|
||||
<string name="private_key">Private key</string>
|
||||
<string name="ssh_keys">SSH keys</string>
|
||||
<string name="copy_public_key">Copy public key</string>
|
||||
<string name="copy_fingerprint">Copy fingerprint</string>
|
||||
</resources>
|
||||
|
|
|
@ -1001,7 +1001,7 @@ Do you want to switch to this account?</string>
|
|||
<string name="please_restart_registration_or_try_logging_in">Please restart registration or try logging in. You may already have an account.</string>
|
||||
<string name="restart_registration">Restart registration</string>
|
||||
<string name="authenticator_sync">Authenticator Sync</string>
|
||||
<string name="allow_bitwarden_authenticator_syncing">Allow Bitwarden Authenticator Syncing</string>
|
||||
<string name="allow_bitwarden_authenticator_syncing">Allow authenticator syncing</string>
|
||||
<string name="there_was_an_issue_validating_the_registration_token">There was an issue validating the registration token.</string>
|
||||
<string name="turn_on_autofill">Turn on autofill</string>
|
||||
<string name="use_autofill_to_log_into_your_accounts">Use autofill to log into your accounts with a single tap.</string>
|
||||
|
@ -1040,8 +1040,8 @@ Do you want to switch to this account?</string>
|
|||
<string name="step_1_of_3">Step 1 of 3</string>
|
||||
<string name="export_your_saved_logins">Export your saved logins</string>
|
||||
<string name="delete_this_file_after_import_is_complete">You’ll delete this file after import is complete.</string>
|
||||
<string name="on_your_computer_open_a_new_browser_tab_and_go_to_vault_bitwarden_com">On your computer, open a new browser tab and go to vault.bitwarden.com</string>
|
||||
<string name="go_to_vault_bitwarden_com_highlight">go to vault.bitwarden.com</string>
|
||||
<string name="on_your_computer_open_a_new_browser_tab_and_go_to_vault_bitwarden_com">On your computer, open a new browser tab and go to %1$s</string>
|
||||
<string name="go_to_vault_bitwarden_com_highlight">go to %1$s</string>
|
||||
<string name="log_in_to_the_bitwarden_web_app">Log in to the Bitwarden web app.</string>
|
||||
<string name="step_2_of_3">Step 2 of 3</string>
|
||||
<string name="log_in_to_bitwarden">Log in to Bitwarden</string>
|
||||
|
@ -1055,7 +1055,7 @@ Do you want to switch to this account?</string>
|
|||
<string name="then_done_highlight">then Done</string>
|
||||
<string name="for_your_security_be_sure_to_delete_your_saved_password_file">For your security, be sure to delete your saved password file.</string>
|
||||
<string name="delete_your_saved_password_file">delete your saved password file.</string>
|
||||
<string name="need_help_checkout_out_import_help">Need help? Checkout out import help.</string>
|
||||
<string name="need_help_check_out_import_help">Need help? Check out import help.</string>
|
||||
<string name="import_help_highlight">import help</string>
|
||||
<string name="save_the_exported_file_somewhere_on_your_computer_you_can_find_easily">Save the exported file somewhere on your computer you can find easily.</string>
|
||||
<string name="save_the_exported_file_highlight">Save the exported file</string>
|
||||
|
@ -1073,4 +1073,12 @@ Do you want to switch to this account?</string>
|
|||
<string name="bitwarden_tools">Bitwarden Tools</string>
|
||||
<string name="got_it">Got it</string>
|
||||
<string name="no_logins_were_imported">No logins were imported</string>
|
||||
<string name="logins_imported">Logins imported</string>
|
||||
<string name="remember_to_delete_your_imported_password_file_from_your_computer">Remember to delete your imported password file from your computer</string>
|
||||
<string name="type_ssh_key">SSH key</string>
|
||||
<string name="public_key">Public key</string>
|
||||
<string name="private_key">Private key</string>
|
||||
<string name="ssh_keys">SSH keys</string>
|
||||
<string name="copy_public_key">Copy public key</string>
|
||||
<string name="copy_fingerprint">Copy fingerprint</string>
|
||||
</resources>
|
||||
|
|
|
@ -1001,7 +1001,7 @@
|
|||
<string name="please_restart_registration_or_try_logging_in">Please restart registration or try logging in. You may already have an account.</string>
|
||||
<string name="restart_registration">Restart registration</string>
|
||||
<string name="authenticator_sync">Authenticator Sync</string>
|
||||
<string name="allow_bitwarden_authenticator_syncing">Allow Bitwarden Authenticator Syncing</string>
|
||||
<string name="allow_bitwarden_authenticator_syncing">Allow authenticator syncing</string>
|
||||
<string name="there_was_an_issue_validating_the_registration_token">There was an issue validating the registration token.</string>
|
||||
<string name="turn_on_autofill">Turn on autofill</string>
|
||||
<string name="use_autofill_to_log_into_your_accounts">Use autofill to log into your accounts with a single tap.</string>
|
||||
|
@ -1040,8 +1040,8 @@
|
|||
<string name="step_1_of_3">Step 1 of 3</string>
|
||||
<string name="export_your_saved_logins">Export your saved logins</string>
|
||||
<string name="delete_this_file_after_import_is_complete">You’ll delete this file after import is complete.</string>
|
||||
<string name="on_your_computer_open_a_new_browser_tab_and_go_to_vault_bitwarden_com">On your computer, open a new browser tab and go to vault.bitwarden.com</string>
|
||||
<string name="go_to_vault_bitwarden_com_highlight">go to vault.bitwarden.com</string>
|
||||
<string name="on_your_computer_open_a_new_browser_tab_and_go_to_vault_bitwarden_com">On your computer, open a new browser tab and go to %1$s</string>
|
||||
<string name="go_to_vault_bitwarden_com_highlight">go to %1$s</string>
|
||||
<string name="log_in_to_the_bitwarden_web_app">Log in to the Bitwarden web app.</string>
|
||||
<string name="step_2_of_3">Step 2 of 3</string>
|
||||
<string name="log_in_to_bitwarden">Log in to Bitwarden</string>
|
||||
|
@ -1055,7 +1055,7 @@
|
|||
<string name="then_done_highlight">then Done</string>
|
||||
<string name="for_your_security_be_sure_to_delete_your_saved_password_file">For your security, be sure to delete your saved password file.</string>
|
||||
<string name="delete_your_saved_password_file">delete your saved password file.</string>
|
||||
<string name="need_help_checkout_out_import_help">Need help? Checkout out import help.</string>
|
||||
<string name="need_help_check_out_import_help">Need help? Check out import help.</string>
|
||||
<string name="import_help_highlight">import help</string>
|
||||
<string name="save_the_exported_file_somewhere_on_your_computer_you_can_find_easily">Save the exported file somewhere on your computer you can find easily.</string>
|
||||
<string name="save_the_exported_file_highlight">Save the exported file</string>
|
||||
|
@ -1073,4 +1073,12 @@
|
|||
<string name="bitwarden_tools">Bitwarden Tools</string>
|
||||
<string name="got_it">Got it</string>
|
||||
<string name="no_logins_were_imported">No logins were imported</string>
|
||||
<string name="logins_imported">Logins imported</string>
|
||||
<string name="remember_to_delete_your_imported_password_file_from_your_computer">Remember to delete your imported password file from your computer</string>
|
||||
<string name="type_ssh_key">SSH key</string>
|
||||
<string name="public_key">Public key</string>
|
||||
<string name="private_key">Private key</string>
|
||||
<string name="ssh_keys">SSH keys</string>
|
||||
<string name="copy_public_key">Copy public key</string>
|
||||
<string name="copy_fingerprint">Copy fingerprint</string>
|
||||
</resources>
|
||||
|
|
|
@ -1001,7 +1001,7 @@ Ar norite pereiti prie šios paskyros?</string>
|
|||
<string name="please_restart_registration_or_try_logging_in">Please restart registration or try logging in. You may already have an account.</string>
|
||||
<string name="restart_registration">Restart registration</string>
|
||||
<string name="authenticator_sync">Authenticator Sync</string>
|
||||
<string name="allow_bitwarden_authenticator_syncing">Allow Bitwarden Authenticator Syncing</string>
|
||||
<string name="allow_bitwarden_authenticator_syncing">Allow authenticator syncing</string>
|
||||
<string name="there_was_an_issue_validating_the_registration_token">There was an issue validating the registration token.</string>
|
||||
<string name="turn_on_autofill">Turn on autofill</string>
|
||||
<string name="use_autofill_to_log_into_your_accounts">Use autofill to log into your accounts with a single tap.</string>
|
||||
|
@ -1040,8 +1040,8 @@ Ar norite pereiti prie šios paskyros?</string>
|
|||
<string name="step_1_of_3">Step 1 of 3</string>
|
||||
<string name="export_your_saved_logins">Export your saved logins</string>
|
||||
<string name="delete_this_file_after_import_is_complete">You’ll delete this file after import is complete.</string>
|
||||
<string name="on_your_computer_open_a_new_browser_tab_and_go_to_vault_bitwarden_com">On your computer, open a new browser tab and go to vault.bitwarden.com</string>
|
||||
<string name="go_to_vault_bitwarden_com_highlight">go to vault.bitwarden.com</string>
|
||||
<string name="on_your_computer_open_a_new_browser_tab_and_go_to_vault_bitwarden_com">On your computer, open a new browser tab and go to %1$s</string>
|
||||
<string name="go_to_vault_bitwarden_com_highlight">go to %1$s</string>
|
||||
<string name="log_in_to_the_bitwarden_web_app">Log in to the Bitwarden web app.</string>
|
||||
<string name="step_2_of_3">Step 2 of 3</string>
|
||||
<string name="log_in_to_bitwarden">Log in to Bitwarden</string>
|
||||
|
@ -1055,7 +1055,7 @@ Ar norite pereiti prie šios paskyros?</string>
|
|||
<string name="then_done_highlight">then Done</string>
|
||||
<string name="for_your_security_be_sure_to_delete_your_saved_password_file">For your security, be sure to delete your saved password file.</string>
|
||||
<string name="delete_your_saved_password_file">delete your saved password file.</string>
|
||||
<string name="need_help_checkout_out_import_help">Need help? Checkout out import help.</string>
|
||||
<string name="need_help_check_out_import_help">Need help? Check out import help.</string>
|
||||
<string name="import_help_highlight">import help</string>
|
||||
<string name="save_the_exported_file_somewhere_on_your_computer_you_can_find_easily">Save the exported file somewhere on your computer you can find easily.</string>
|
||||
<string name="save_the_exported_file_highlight">Save the exported file</string>
|
||||
|
@ -1073,4 +1073,12 @@ Ar norite pereiti prie šios paskyros?</string>
|
|||
<string name="bitwarden_tools">Bitwarden Tools</string>
|
||||
<string name="got_it">Got it</string>
|
||||
<string name="no_logins_were_imported">No logins were imported</string>
|
||||
<string name="logins_imported">Logins imported</string>
|
||||
<string name="remember_to_delete_your_imported_password_file_from_your_computer">Remember to delete your imported password file from your computer</string>
|
||||
<string name="type_ssh_key">SSH key</string>
|
||||
<string name="public_key">Public key</string>
|
||||
<string name="private_key">Private key</string>
|
||||
<string name="ssh_keys">SSH keys</string>
|
||||
<string name="copy_public_key">Copy public key</string>
|
||||
<string name="copy_fingerprint">Copy fingerprint</string>
|
||||
</resources>
|
||||
|
|
|
@ -1055,7 +1055,7 @@ Vai pārslēgties uz šo kontu?</string>
|
|||
<string name="then_done_highlight">tad \"Darīts\"</string>
|
||||
<string name="for_your_security_be_sure_to_delete_your_saved_password_file">Drošības dēļ jānodrošina, ka paroļu datne tiek izdzēsta.</string>
|
||||
<string name="delete_your_saved_password_file">jāizdzēš sava salgabātā paroļu datne.</string>
|
||||
<string name="need_help_checkout_out_import_help">Nepieciešama palīdzība? Ir vērts ieskatīties ievietošanas palīdzībā.</string>
|
||||
<string name="need_help_check_out_import_help">Nepieciešama palīdzība? Ir vērts ieskatīties ievietošanas palīdzībā.</string>
|
||||
<string name="import_help_highlight">ievietošanas palīdzība</string>
|
||||
<string name="save_the_exported_file_somewhere_on_your_computer_you_can_find_easily">Izgūtā datne jāsaglabā kaut kur viegli atrodamā vietā datorā.</string>
|
||||
<string name="save_the_exported_file_highlight">Izgūtā datne jāsaglabā</string>
|
||||
|
@ -1073,4 +1073,12 @@ Vai pārslēgties uz šo kontu?</string>
|
|||
<string name="bitwarden_tools">Bitwarden rīki</string>
|
||||
<string name="got_it">Sapratu</string>
|
||||
<string name="no_logins_were_imported">Netika ievietots neviens pieteikšanās vienums</string>
|
||||
<string name="logins_imported">Pieteikšanās vienumi ievietoti</string>
|
||||
<string name="remember_to_delete_your_imported_password_file_from_your_computer">Jāatceras datorā izdzēst savu ievietoto paroļu datni</string>
|
||||
<string name="type_ssh_key">SSH atslēga</string>
|
||||
<string name="public_key">Publiskā atslēga</string>
|
||||
<string name="private_key">Privātā atslēga</string>
|
||||
<string name="ssh_keys">SSH atslēgas</string>
|
||||
<string name="copy_public_key">Copy public key</string>
|
||||
<string name="copy_fingerprint">Copy fingerprint</string>
|
||||
</resources>
|
||||
|
|
|
@ -1001,7 +1001,7 @@ Do you want to switch to this account?</string>
|
|||
<string name="please_restart_registration_or_try_logging_in">Please restart registration or try logging in. You may already have an account.</string>
|
||||
<string name="restart_registration">Restart registration</string>
|
||||
<string name="authenticator_sync">Authenticator Sync</string>
|
||||
<string name="allow_bitwarden_authenticator_syncing">Allow Bitwarden Authenticator Syncing</string>
|
||||
<string name="allow_bitwarden_authenticator_syncing">Allow authenticator syncing</string>
|
||||
<string name="there_was_an_issue_validating_the_registration_token">There was an issue validating the registration token.</string>
|
||||
<string name="turn_on_autofill">Turn on autofill</string>
|
||||
<string name="use_autofill_to_log_into_your_accounts">Use autofill to log into your accounts with a single tap.</string>
|
||||
|
@ -1040,8 +1040,8 @@ Do you want to switch to this account?</string>
|
|||
<string name="step_1_of_3">Step 1 of 3</string>
|
||||
<string name="export_your_saved_logins">Export your saved logins</string>
|
||||
<string name="delete_this_file_after_import_is_complete">You’ll delete this file after import is complete.</string>
|
||||
<string name="on_your_computer_open_a_new_browser_tab_and_go_to_vault_bitwarden_com">On your computer, open a new browser tab and go to vault.bitwarden.com</string>
|
||||
<string name="go_to_vault_bitwarden_com_highlight">go to vault.bitwarden.com</string>
|
||||
<string name="on_your_computer_open_a_new_browser_tab_and_go_to_vault_bitwarden_com">On your computer, open a new browser tab and go to %1$s</string>
|
||||
<string name="go_to_vault_bitwarden_com_highlight">go to %1$s</string>
|
||||
<string name="log_in_to_the_bitwarden_web_app">Log in to the Bitwarden web app.</string>
|
||||
<string name="step_2_of_3">Step 2 of 3</string>
|
||||
<string name="log_in_to_bitwarden">Log in to Bitwarden</string>
|
||||
|
@ -1055,7 +1055,7 @@ Do you want to switch to this account?</string>
|
|||
<string name="then_done_highlight">then Done</string>
|
||||
<string name="for_your_security_be_sure_to_delete_your_saved_password_file">For your security, be sure to delete your saved password file.</string>
|
||||
<string name="delete_your_saved_password_file">delete your saved password file.</string>
|
||||
<string name="need_help_checkout_out_import_help">Need help? Checkout out import help.</string>
|
||||
<string name="need_help_check_out_import_help">Need help? Check out import help.</string>
|
||||
<string name="import_help_highlight">import help</string>
|
||||
<string name="save_the_exported_file_somewhere_on_your_computer_you_can_find_easily">Save the exported file somewhere on your computer you can find easily.</string>
|
||||
<string name="save_the_exported_file_highlight">Save the exported file</string>
|
||||
|
@ -1073,4 +1073,12 @@ Do you want to switch to this account?</string>
|
|||
<string name="bitwarden_tools">Bitwarden Tools</string>
|
||||
<string name="got_it">Got it</string>
|
||||
<string name="no_logins_were_imported">No logins were imported</string>
|
||||
<string name="logins_imported">Logins imported</string>
|
||||
<string name="remember_to_delete_your_imported_password_file_from_your_computer">Remember to delete your imported password file from your computer</string>
|
||||
<string name="type_ssh_key">SSH key</string>
|
||||
<string name="public_key">Public key</string>
|
||||
<string name="private_key">Private key</string>
|
||||
<string name="ssh_keys">SSH keys</string>
|
||||
<string name="copy_public_key">Copy public key</string>
|
||||
<string name="copy_fingerprint">Copy fingerprint</string>
|
||||
</resources>
|
||||
|
|
|
@ -1001,7 +1001,7 @@ Do you want to switch to this account?</string>
|
|||
<string name="please_restart_registration_or_try_logging_in">Please restart registration or try logging in. You may already have an account.</string>
|
||||
<string name="restart_registration">Restart registration</string>
|
||||
<string name="authenticator_sync">Authenticator Sync</string>
|
||||
<string name="allow_bitwarden_authenticator_syncing">Allow Bitwarden Authenticator Syncing</string>
|
||||
<string name="allow_bitwarden_authenticator_syncing">Allow authenticator syncing</string>
|
||||
<string name="there_was_an_issue_validating_the_registration_token">There was an issue validating the registration token.</string>
|
||||
<string name="turn_on_autofill">Turn on autofill</string>
|
||||
<string name="use_autofill_to_log_into_your_accounts">Use autofill to log into your accounts with a single tap.</string>
|
||||
|
@ -1040,8 +1040,8 @@ Do you want to switch to this account?</string>
|
|||
<string name="step_1_of_3">Step 1 of 3</string>
|
||||
<string name="export_your_saved_logins">Export your saved logins</string>
|
||||
<string name="delete_this_file_after_import_is_complete">You’ll delete this file after import is complete.</string>
|
||||
<string name="on_your_computer_open_a_new_browser_tab_and_go_to_vault_bitwarden_com">On your computer, open a new browser tab and go to vault.bitwarden.com</string>
|
||||
<string name="go_to_vault_bitwarden_com_highlight">go to vault.bitwarden.com</string>
|
||||
<string name="on_your_computer_open_a_new_browser_tab_and_go_to_vault_bitwarden_com">On your computer, open a new browser tab and go to %1$s</string>
|
||||
<string name="go_to_vault_bitwarden_com_highlight">go to %1$s</string>
|
||||
<string name="log_in_to_the_bitwarden_web_app">Log in to the Bitwarden web app.</string>
|
||||
<string name="step_2_of_3">Step 2 of 3</string>
|
||||
<string name="log_in_to_bitwarden">Log in to Bitwarden</string>
|
||||
|
@ -1055,7 +1055,7 @@ Do you want to switch to this account?</string>
|
|||
<string name="then_done_highlight">then Done</string>
|
||||
<string name="for_your_security_be_sure_to_delete_your_saved_password_file">For your security, be sure to delete your saved password file.</string>
|
||||
<string name="delete_your_saved_password_file">delete your saved password file.</string>
|
||||
<string name="need_help_checkout_out_import_help">Need help? Checkout out import help.</string>
|
||||
<string name="need_help_check_out_import_help">Need help? Check out import help.</string>
|
||||
<string name="import_help_highlight">import help</string>
|
||||
<string name="save_the_exported_file_somewhere_on_your_computer_you_can_find_easily">Save the exported file somewhere on your computer you can find easily.</string>
|
||||
<string name="save_the_exported_file_highlight">Save the exported file</string>
|
||||
|
@ -1073,4 +1073,12 @@ Do you want to switch to this account?</string>
|
|||
<string name="bitwarden_tools">Bitwarden Tools</string>
|
||||
<string name="got_it">Got it</string>
|
||||
<string name="no_logins_were_imported">No logins were imported</string>
|
||||
<string name="logins_imported">Logins imported</string>
|
||||
<string name="remember_to_delete_your_imported_password_file_from_your_computer">Remember to delete your imported password file from your computer</string>
|
||||
<string name="type_ssh_key">SSH key</string>
|
||||
<string name="public_key">Public key</string>
|
||||
<string name="private_key">Private key</string>
|
||||
<string name="ssh_keys">SSH keys</string>
|
||||
<string name="copy_public_key">Copy public key</string>
|
||||
<string name="copy_fingerprint">Copy fingerprint</string>
|
||||
</resources>
|
||||
|
|
|
@ -1001,7 +1001,7 @@ Do you want to switch to this account?</string>
|
|||
<string name="please_restart_registration_or_try_logging_in">Please restart registration or try logging in. You may already have an account.</string>
|
||||
<string name="restart_registration">Restart registration</string>
|
||||
<string name="authenticator_sync">Authenticator Sync</string>
|
||||
<string name="allow_bitwarden_authenticator_syncing">Allow Bitwarden Authenticator Syncing</string>
|
||||
<string name="allow_bitwarden_authenticator_syncing">Allow authenticator syncing</string>
|
||||
<string name="there_was_an_issue_validating_the_registration_token">There was an issue validating the registration token.</string>
|
||||
<string name="turn_on_autofill">Turn on autofill</string>
|
||||
<string name="use_autofill_to_log_into_your_accounts">Use autofill to log into your accounts with a single tap.</string>
|
||||
|
@ -1040,8 +1040,8 @@ Do you want to switch to this account?</string>
|
|||
<string name="step_1_of_3">Step 1 of 3</string>
|
||||
<string name="export_your_saved_logins">Export your saved logins</string>
|
||||
<string name="delete_this_file_after_import_is_complete">You’ll delete this file after import is complete.</string>
|
||||
<string name="on_your_computer_open_a_new_browser_tab_and_go_to_vault_bitwarden_com">On your computer, open a new browser tab and go to vault.bitwarden.com</string>
|
||||
<string name="go_to_vault_bitwarden_com_highlight">go to vault.bitwarden.com</string>
|
||||
<string name="on_your_computer_open_a_new_browser_tab_and_go_to_vault_bitwarden_com">On your computer, open a new browser tab and go to %1$s</string>
|
||||
<string name="go_to_vault_bitwarden_com_highlight">go to %1$s</string>
|
||||
<string name="log_in_to_the_bitwarden_web_app">Log in to the Bitwarden web app.</string>
|
||||
<string name="step_2_of_3">Step 2 of 3</string>
|
||||
<string name="log_in_to_bitwarden">Log in to Bitwarden</string>
|
||||
|
@ -1055,7 +1055,7 @@ Do you want to switch to this account?</string>
|
|||
<string name="then_done_highlight">then Done</string>
|
||||
<string name="for_your_security_be_sure_to_delete_your_saved_password_file">For your security, be sure to delete your saved password file.</string>
|
||||
<string name="delete_your_saved_password_file">delete your saved password file.</string>
|
||||
<string name="need_help_checkout_out_import_help">Need help? Checkout out import help.</string>
|
||||
<string name="need_help_check_out_import_help">Need help? Check out import help.</string>
|
||||
<string name="import_help_highlight">import help</string>
|
||||
<string name="save_the_exported_file_somewhere_on_your_computer_you_can_find_easily">Save the exported file somewhere on your computer you can find easily.</string>
|
||||
<string name="save_the_exported_file_highlight">Save the exported file</string>
|
||||
|
@ -1073,4 +1073,12 @@ Do you want to switch to this account?</string>
|
|||
<string name="bitwarden_tools">Bitwarden Tools</string>
|
||||
<string name="got_it">Got it</string>
|
||||
<string name="no_logins_were_imported">No logins were imported</string>
|
||||
<string name="logins_imported">Logins imported</string>
|
||||
<string name="remember_to_delete_your_imported_password_file_from_your_computer">Remember to delete your imported password file from your computer</string>
|
||||
<string name="type_ssh_key">SSH key</string>
|
||||
<string name="public_key">Public key</string>
|
||||
<string name="private_key">Private key</string>
|
||||
<string name="ssh_keys">SSH keys</string>
|
||||
<string name="copy_public_key">Copy public key</string>
|
||||
<string name="copy_fingerprint">Copy fingerprint</string>
|
||||
</resources>
|
||||
|
|
|
@ -1001,7 +1001,7 @@ Vil du bytte til denne kontoen?</string>
|
|||
<string name="please_restart_registration_or_try_logging_in">Please restart registration or try logging in. You may already have an account.</string>
|
||||
<string name="restart_registration">Restart registration</string>
|
||||
<string name="authenticator_sync">Authenticator Sync</string>
|
||||
<string name="allow_bitwarden_authenticator_syncing">Allow Bitwarden Authenticator Syncing</string>
|
||||
<string name="allow_bitwarden_authenticator_syncing">Allow authenticator syncing</string>
|
||||
<string name="there_was_an_issue_validating_the_registration_token">There was an issue validating the registration token.</string>
|
||||
<string name="turn_on_autofill">Turn on autofill</string>
|
||||
<string name="use_autofill_to_log_into_your_accounts">Use autofill to log into your accounts with a single tap.</string>
|
||||
|
@ -1040,8 +1040,8 @@ Vil du bytte til denne kontoen?</string>
|
|||
<string name="step_1_of_3">Step 1 of 3</string>
|
||||
<string name="export_your_saved_logins">Export your saved logins</string>
|
||||
<string name="delete_this_file_after_import_is_complete">You’ll delete this file after import is complete.</string>
|
||||
<string name="on_your_computer_open_a_new_browser_tab_and_go_to_vault_bitwarden_com">On your computer, open a new browser tab and go to vault.bitwarden.com</string>
|
||||
<string name="go_to_vault_bitwarden_com_highlight">go to vault.bitwarden.com</string>
|
||||
<string name="on_your_computer_open_a_new_browser_tab_and_go_to_vault_bitwarden_com">On your computer, open a new browser tab and go to %1$s</string>
|
||||
<string name="go_to_vault_bitwarden_com_highlight">go to %1$s</string>
|
||||
<string name="log_in_to_the_bitwarden_web_app">Log in to the Bitwarden web app.</string>
|
||||
<string name="step_2_of_3">Step 2 of 3</string>
|
||||
<string name="log_in_to_bitwarden">Log in to Bitwarden</string>
|
||||
|
@ -1055,7 +1055,7 @@ Vil du bytte til denne kontoen?</string>
|
|||
<string name="then_done_highlight">then Done</string>
|
||||
<string name="for_your_security_be_sure_to_delete_your_saved_password_file">For your security, be sure to delete your saved password file.</string>
|
||||
<string name="delete_your_saved_password_file">delete your saved password file.</string>
|
||||
<string name="need_help_checkout_out_import_help">Need help? Checkout out import help.</string>
|
||||
<string name="need_help_check_out_import_help">Need help? Check out import help.</string>
|
||||
<string name="import_help_highlight">import help</string>
|
||||
<string name="save_the_exported_file_somewhere_on_your_computer_you_can_find_easily">Save the exported file somewhere on your computer you can find easily.</string>
|
||||
<string name="save_the_exported_file_highlight">Save the exported file</string>
|
||||
|
@ -1073,4 +1073,12 @@ Vil du bytte til denne kontoen?</string>
|
|||
<string name="bitwarden_tools">Bitwarden Tools</string>
|
||||
<string name="got_it">Got it</string>
|
||||
<string name="no_logins_were_imported">No logins were imported</string>
|
||||
<string name="logins_imported">Logins imported</string>
|
||||
<string name="remember_to_delete_your_imported_password_file_from_your_computer">Remember to delete your imported password file from your computer</string>
|
||||
<string name="type_ssh_key">SSH key</string>
|
||||
<string name="public_key">Public key</string>
|
||||
<string name="private_key">Private key</string>
|
||||
<string name="ssh_keys">SSH keys</string>
|
||||
<string name="copy_public_key">Copy public key</string>
|
||||
<string name="copy_fingerprint">Copy fingerprint</string>
|
||||
</resources>
|
||||
|
|
|
@ -1001,7 +1001,7 @@ Do you want to switch to this account?</string>
|
|||
<string name="please_restart_registration_or_try_logging_in">Please restart registration or try logging in. You may already have an account.</string>
|
||||
<string name="restart_registration">Restart registration</string>
|
||||
<string name="authenticator_sync">Authenticator Sync</string>
|
||||
<string name="allow_bitwarden_authenticator_syncing">Allow Bitwarden Authenticator Syncing</string>
|
||||
<string name="allow_bitwarden_authenticator_syncing">Allow authenticator syncing</string>
|
||||
<string name="there_was_an_issue_validating_the_registration_token">There was an issue validating the registration token.</string>
|
||||
<string name="turn_on_autofill">Turn on autofill</string>
|
||||
<string name="use_autofill_to_log_into_your_accounts">Use autofill to log into your accounts with a single tap.</string>
|
||||
|
@ -1040,8 +1040,8 @@ Do you want to switch to this account?</string>
|
|||
<string name="step_1_of_3">Step 1 of 3</string>
|
||||
<string name="export_your_saved_logins">Export your saved logins</string>
|
||||
<string name="delete_this_file_after_import_is_complete">You’ll delete this file after import is complete.</string>
|
||||
<string name="on_your_computer_open_a_new_browser_tab_and_go_to_vault_bitwarden_com">On your computer, open a new browser tab and go to vault.bitwarden.com</string>
|
||||
<string name="go_to_vault_bitwarden_com_highlight">go to vault.bitwarden.com</string>
|
||||
<string name="on_your_computer_open_a_new_browser_tab_and_go_to_vault_bitwarden_com">On your computer, open a new browser tab and go to %1$s</string>
|
||||
<string name="go_to_vault_bitwarden_com_highlight">go to %1$s</string>
|
||||
<string name="log_in_to_the_bitwarden_web_app">Log in to the Bitwarden web app.</string>
|
||||
<string name="step_2_of_3">Step 2 of 3</string>
|
||||
<string name="log_in_to_bitwarden">Log in to Bitwarden</string>
|
||||
|
@ -1055,7 +1055,7 @@ Do you want to switch to this account?</string>
|
|||
<string name="then_done_highlight">then Done</string>
|
||||
<string name="for_your_security_be_sure_to_delete_your_saved_password_file">For your security, be sure to delete your saved password file.</string>
|
||||
<string name="delete_your_saved_password_file">delete your saved password file.</string>
|
||||
<string name="need_help_checkout_out_import_help">Need help? Checkout out import help.</string>
|
||||
<string name="need_help_check_out_import_help">Need help? Check out import help.</string>
|
||||
<string name="import_help_highlight">import help</string>
|
||||
<string name="save_the_exported_file_somewhere_on_your_computer_you_can_find_easily">Save the exported file somewhere on your computer you can find easily.</string>
|
||||
<string name="save_the_exported_file_highlight">Save the exported file</string>
|
||||
|
@ -1073,4 +1073,12 @@ Do you want to switch to this account?</string>
|
|||
<string name="bitwarden_tools">Bitwarden Tools</string>
|
||||
<string name="got_it">Got it</string>
|
||||
<string name="no_logins_were_imported">No logins were imported</string>
|
||||
<string name="logins_imported">Logins imported</string>
|
||||
<string name="remember_to_delete_your_imported_password_file_from_your_computer">Remember to delete your imported password file from your computer</string>
|
||||
<string name="type_ssh_key">SSH key</string>
|
||||
<string name="public_key">Public key</string>
|
||||
<string name="private_key">Private key</string>
|
||||
<string name="ssh_keys">SSH keys</string>
|
||||
<string name="copy_public_key">Copy public key</string>
|
||||
<string name="copy_fingerprint">Copy fingerprint</string>
|
||||
</resources>
|
||||
|
|
|
@ -1055,7 +1055,7 @@ Wilt u naar dit account wisselen?</string>
|
|||
<string name="then_done_highlight">dan Klaar</string>
|
||||
<string name="for_your_security_be_sure_to_delete_your_saved_password_file">Voor je eigen veiligheid, verwijder je opgeslagen wachtwoordbestand.</string>
|
||||
<string name="delete_your_saved_password_file">verwijder je opgeslagen wachtwoordbestand.</string>
|
||||
<string name="need_help_checkout_out_import_help">Hulp nodig? Bekijk importhulp.</string>
|
||||
<string name="need_help_check_out_import_help">Hulp nodig? Bekijk importhulp.</string>
|
||||
<string name="import_help_highlight">importhulp</string>
|
||||
<string name="save_the_exported_file_somewhere_on_your_computer_you_can_find_easily">Sla het geëxporteerde bestand ergens op je computer waar je deze gemakkelijk kunt vinden.</string>
|
||||
<string name="save_the_exported_file_highlight">Exportbestand opslaan</string>
|
||||
|
@ -1073,4 +1073,12 @@ Wilt u naar dit account wisselen?</string>
|
|||
<string name="bitwarden_tools">Bitwarden-hulpmiddelen</string>
|
||||
<string name="got_it">Ik snap het</string>
|
||||
<string name="no_logins_were_imported">Er zijn geen logins geïmporteerd</string>
|
||||
<string name="logins_imported">Inloggegevens geïmporteerd</string>
|
||||
<string name="remember_to_delete_your_imported_password_file_from_your_computer">Vergeet niet het geïmporteerde wachtwoordbestand van je computer te verwijderen</string>
|
||||
<string name="type_ssh_key">SSH-sleutel</string>
|
||||
<string name="public_key">Publieke sleutel</string>
|
||||
<string name="private_key">Privésleutel</string>
|
||||
<string name="ssh_keys">SSH-sleutels</string>
|
||||
<string name="copy_public_key">Copy public key</string>
|
||||
<string name="copy_fingerprint">Copy fingerprint</string>
|
||||
</resources>
|
||||
|
|
|
@ -1001,7 +1001,7 @@ Do you want to switch to this account?</string>
|
|||
<string name="please_restart_registration_or_try_logging_in">Please restart registration or try logging in. You may already have an account.</string>
|
||||
<string name="restart_registration">Restart registration</string>
|
||||
<string name="authenticator_sync">Authenticator Sync</string>
|
||||
<string name="allow_bitwarden_authenticator_syncing">Allow Bitwarden Authenticator Syncing</string>
|
||||
<string name="allow_bitwarden_authenticator_syncing">Allow authenticator syncing</string>
|
||||
<string name="there_was_an_issue_validating_the_registration_token">Det oppstod eit problem under validering av registreringsnøkkelen.</string>
|
||||
<string name="turn_on_autofill">Turn on autofill</string>
|
||||
<string name="use_autofill_to_log_into_your_accounts">Use autofill to log into your accounts with a single tap.</string>
|
||||
|
@ -1040,8 +1040,8 @@ Do you want to switch to this account?</string>
|
|||
<string name="step_1_of_3">Step 1 of 3</string>
|
||||
<string name="export_your_saved_logins">Export your saved logins</string>
|
||||
<string name="delete_this_file_after_import_is_complete">You’ll delete this file after import is complete.</string>
|
||||
<string name="on_your_computer_open_a_new_browser_tab_and_go_to_vault_bitwarden_com">On your computer, open a new browser tab and go to vault.bitwarden.com</string>
|
||||
<string name="go_to_vault_bitwarden_com_highlight">go to vault.bitwarden.com</string>
|
||||
<string name="on_your_computer_open_a_new_browser_tab_and_go_to_vault_bitwarden_com">On your computer, open a new browser tab and go to %1$s</string>
|
||||
<string name="go_to_vault_bitwarden_com_highlight">go to %1$s</string>
|
||||
<string name="log_in_to_the_bitwarden_web_app">Log in to the Bitwarden web app.</string>
|
||||
<string name="step_2_of_3">Step 2 of 3</string>
|
||||
<string name="log_in_to_bitwarden">Log in to Bitwarden</string>
|
||||
|
@ -1055,7 +1055,7 @@ Do you want to switch to this account?</string>
|
|||
<string name="then_done_highlight">then Done</string>
|
||||
<string name="for_your_security_be_sure_to_delete_your_saved_password_file">For your security, be sure to delete your saved password file.</string>
|
||||
<string name="delete_your_saved_password_file">delete your saved password file.</string>
|
||||
<string name="need_help_checkout_out_import_help">Need help? Checkout out import help.</string>
|
||||
<string name="need_help_check_out_import_help">Need help? Check out import help.</string>
|
||||
<string name="import_help_highlight">import help</string>
|
||||
<string name="save_the_exported_file_somewhere_on_your_computer_you_can_find_easily">Save the exported file somewhere on your computer you can find easily.</string>
|
||||
<string name="save_the_exported_file_highlight">Save the exported file</string>
|
||||
|
@ -1073,4 +1073,12 @@ Do you want to switch to this account?</string>
|
|||
<string name="bitwarden_tools">Bitwarden Tools</string>
|
||||
<string name="got_it">Got it</string>
|
||||
<string name="no_logins_were_imported">No logins were imported</string>
|
||||
<string name="logins_imported">Logins imported</string>
|
||||
<string name="remember_to_delete_your_imported_password_file_from_your_computer">Remember to delete your imported password file from your computer</string>
|
||||
<string name="type_ssh_key">SSH key</string>
|
||||
<string name="public_key">Public key</string>
|
||||
<string name="private_key">Private key</string>
|
||||
<string name="ssh_keys">SSH keys</string>
|
||||
<string name="copy_public_key">Copy public key</string>
|
||||
<string name="copy_fingerprint">Copy fingerprint</string>
|
||||
</resources>
|
||||
|
|
|
@ -1001,7 +1001,7 @@ Do you want to switch to this account?</string>
|
|||
<string name="please_restart_registration_or_try_logging_in">Please restart registration or try logging in. You may already have an account.</string>
|
||||
<string name="restart_registration">Restart registration</string>
|
||||
<string name="authenticator_sync">Authenticator Sync</string>
|
||||
<string name="allow_bitwarden_authenticator_syncing">Allow Bitwarden Authenticator Syncing</string>
|
||||
<string name="allow_bitwarden_authenticator_syncing">Allow authenticator syncing</string>
|
||||
<string name="there_was_an_issue_validating_the_registration_token">There was an issue validating the registration token.</string>
|
||||
<string name="turn_on_autofill">Turn on autofill</string>
|
||||
<string name="use_autofill_to_log_into_your_accounts">Use autofill to log into your accounts with a single tap.</string>
|
||||
|
@ -1040,8 +1040,8 @@ Do you want to switch to this account?</string>
|
|||
<string name="step_1_of_3">Step 1 of 3</string>
|
||||
<string name="export_your_saved_logins">Export your saved logins</string>
|
||||
<string name="delete_this_file_after_import_is_complete">You’ll delete this file after import is complete.</string>
|
||||
<string name="on_your_computer_open_a_new_browser_tab_and_go_to_vault_bitwarden_com">On your computer, open a new browser tab and go to vault.bitwarden.com</string>
|
||||
<string name="go_to_vault_bitwarden_com_highlight">go to vault.bitwarden.com</string>
|
||||
<string name="on_your_computer_open_a_new_browser_tab_and_go_to_vault_bitwarden_com">On your computer, open a new browser tab and go to %1$s</string>
|
||||
<string name="go_to_vault_bitwarden_com_highlight">go to %1$s</string>
|
||||
<string name="log_in_to_the_bitwarden_web_app">Log in to the Bitwarden web app.</string>
|
||||
<string name="step_2_of_3">Step 2 of 3</string>
|
||||
<string name="log_in_to_bitwarden">Log in to Bitwarden</string>
|
||||
|
@ -1055,7 +1055,7 @@ Do you want to switch to this account?</string>
|
|||
<string name="then_done_highlight">then Done</string>
|
||||
<string name="for_your_security_be_sure_to_delete_your_saved_password_file">For your security, be sure to delete your saved password file.</string>
|
||||
<string name="delete_your_saved_password_file">delete your saved password file.</string>
|
||||
<string name="need_help_checkout_out_import_help">Need help? Checkout out import help.</string>
|
||||
<string name="need_help_check_out_import_help">Need help? Check out import help.</string>
|
||||
<string name="import_help_highlight">import help</string>
|
||||
<string name="save_the_exported_file_somewhere_on_your_computer_you_can_find_easily">Save the exported file somewhere on your computer you can find easily.</string>
|
||||
<string name="save_the_exported_file_highlight">Save the exported file</string>
|
||||
|
@ -1073,4 +1073,12 @@ Do you want to switch to this account?</string>
|
|||
<string name="bitwarden_tools">Bitwarden Tools</string>
|
||||
<string name="got_it">Got it</string>
|
||||
<string name="no_logins_were_imported">No logins were imported</string>
|
||||
<string name="logins_imported">Logins imported</string>
|
||||
<string name="remember_to_delete_your_imported_password_file_from_your_computer">Remember to delete your imported password file from your computer</string>
|
||||
<string name="type_ssh_key">SSH key</string>
|
||||
<string name="public_key">Public key</string>
|
||||
<string name="private_key">Private key</string>
|
||||
<string name="ssh_keys">SSH keys</string>
|
||||
<string name="copy_public_key">Copy public key</string>
|
||||
<string name="copy_fingerprint">Copy fingerprint</string>
|
||||
</resources>
|
||||
|
|
|
@ -1001,7 +1001,7 @@ Czy chcesz przełączyć się na to konto?</string>
|
|||
<string name="please_restart_registration_or_try_logging_in">Zacznij rejestrację od początku lub spróbuj się zalogować. Możesz mieć już konto.</string>
|
||||
<string name="restart_registration">Zacznij rejestrację od początku</string>
|
||||
<string name="authenticator_sync">Authenticator Sync</string>
|
||||
<string name="allow_bitwarden_authenticator_syncing">Allow Bitwarden Authenticator Syncing</string>
|
||||
<string name="allow_bitwarden_authenticator_syncing">Allow authenticator syncing</string>
|
||||
<string name="there_was_an_issue_validating_the_registration_token">Wystąpił błąd podczas sprawdzania poprawności tokenu rejestracyjnego.</string>
|
||||
<string name="turn_on_autofill">Włącz autouzupełnienie</string>
|
||||
<string name="use_autofill_to_log_into_your_accounts">Użyj autouzupełniania, aby zalogować się na swoje konta jednym dotknięciem.</string>
|
||||
|
@ -1040,8 +1040,8 @@ Czy chcesz przełączyć się na to konto?</string>
|
|||
<string name="step_1_of_3">Step 1 of 3</string>
|
||||
<string name="export_your_saved_logins">Export your saved logins</string>
|
||||
<string name="delete_this_file_after_import_is_complete">You’ll delete this file after import is complete.</string>
|
||||
<string name="on_your_computer_open_a_new_browser_tab_and_go_to_vault_bitwarden_com">On your computer, open a new browser tab and go to vault.bitwarden.com</string>
|
||||
<string name="go_to_vault_bitwarden_com_highlight">go to vault.bitwarden.com</string>
|
||||
<string name="on_your_computer_open_a_new_browser_tab_and_go_to_vault_bitwarden_com">On your computer, open a new browser tab and go to %1$s</string>
|
||||
<string name="go_to_vault_bitwarden_com_highlight">go to %1$s</string>
|
||||
<string name="log_in_to_the_bitwarden_web_app">Log in to the Bitwarden web app.</string>
|
||||
<string name="step_2_of_3">Step 2 of 3</string>
|
||||
<string name="log_in_to_bitwarden">Log in to Bitwarden</string>
|
||||
|
@ -1055,7 +1055,7 @@ Czy chcesz przełączyć się na to konto?</string>
|
|||
<string name="then_done_highlight">then Done</string>
|
||||
<string name="for_your_security_be_sure_to_delete_your_saved_password_file">For your security, be sure to delete your saved password file.</string>
|
||||
<string name="delete_your_saved_password_file">delete your saved password file.</string>
|
||||
<string name="need_help_checkout_out_import_help">Need help? Checkout out import help.</string>
|
||||
<string name="need_help_check_out_import_help">Need help? Check out import help.</string>
|
||||
<string name="import_help_highlight">import help</string>
|
||||
<string name="save_the_exported_file_somewhere_on_your_computer_you_can_find_easily">Save the exported file somewhere on your computer you can find easily.</string>
|
||||
<string name="save_the_exported_file_highlight">Save the exported file</string>
|
||||
|
@ -1073,4 +1073,12 @@ Czy chcesz przełączyć się na to konto?</string>
|
|||
<string name="bitwarden_tools">Bitwarden Tools</string>
|
||||
<string name="got_it">Got it</string>
|
||||
<string name="no_logins_were_imported">No logins were imported</string>
|
||||
<string name="logins_imported">Logins imported</string>
|
||||
<string name="remember_to_delete_your_imported_password_file_from_your_computer">Remember to delete your imported password file from your computer</string>
|
||||
<string name="type_ssh_key">SSH key</string>
|
||||
<string name="public_key">Public key</string>
|
||||
<string name="private_key">Private key</string>
|
||||
<string name="ssh_keys">SSH keys</string>
|
||||
<string name="copy_public_key">Copy public key</string>
|
||||
<string name="copy_fingerprint">Copy fingerprint</string>
|
||||
</resources>
|
||||
|
|
|
@ -1029,7 +1029,7 @@ Você deseja mudar para esta conta?</string>
|
|||
<string name="import_logins">Importar Logins</string>
|
||||
<string name="from_your_computer_follow_these_instructions_to_export_saved_passwords">A partir do seu computador, siga estas instruções para exportar senhas salvas do seu navegador ou de outro gerenciador de senhas. Em seguida, importe-as com segurança para o Bitwarden.</string>
|
||||
<string name="give_your_vault_a_head_start">Dê ao seu cofre uma entrada de cabeça</string>
|
||||
<string name="class_3_biometrics_description">Unlock with biometrics requires strong biometric authentication and may not be compatible with all biometric options on this device.</string>
|
||||
<string name="class_3_biometrics_description">O desbloqueio com dados biométricos requer uma autenticação biométrica forte e pode não ser compatível com todas as opções biométricas deste dispositivo.</string>
|
||||
<string name="class_2_biometrics_description">Unlock with biometrics requires strong biometric authentication and is not compatible with the biometrics options available on this device.</string>
|
||||
<string name="on_your_computer_log_in_to_your_current_browser_or_password_manager">On your computer, log in to your current browser or password manager.</string>
|
||||
<string name="log_in_to_your_current_browser_or_password_manager_highlight">log in to your current browser or password manager.</string>
|
||||
|
@ -1055,7 +1055,7 @@ Você deseja mudar para esta conta?</string>
|
|||
<string name="then_done_highlight">then Done</string>
|
||||
<string name="for_your_security_be_sure_to_delete_your_saved_password_file">For your security, be sure to delete your saved password file.</string>
|
||||
<string name="delete_your_saved_password_file">delete your saved password file.</string>
|
||||
<string name="need_help_checkout_out_import_help">Need help? Checkout out import help.</string>
|
||||
<string name="need_help_check_out_import_help">Need help? Check out import help.</string>
|
||||
<string name="import_help_highlight">import help</string>
|
||||
<string name="save_the_exported_file_somewhere_on_your_computer_you_can_find_easily">Save the exported file somewhere on your computer you can find easily.</string>
|
||||
<string name="save_the_exported_file_highlight">Save the exported file</string>
|
||||
|
@ -1073,4 +1073,12 @@ Você deseja mudar para esta conta?</string>
|
|||
<string name="bitwarden_tools">Bitwarden Tools</string>
|
||||
<string name="got_it">Got it</string>
|
||||
<string name="no_logins_were_imported">No logins were imported</string>
|
||||
<string name="logins_imported">Logins imported</string>
|
||||
<string name="remember_to_delete_your_imported_password_file_from_your_computer">Remember to delete your imported password file from your computer</string>
|
||||
<string name="type_ssh_key">SSH key</string>
|
||||
<string name="public_key">Public key</string>
|
||||
<string name="private_key">Private key</string>
|
||||
<string name="ssh_keys">SSH keys</string>
|
||||
<string name="copy_public_key">Copy public key</string>
|
||||
<string name="copy_fingerprint">Copy fingerprint</string>
|
||||
</resources>
|
||||
|
|
|
@ -1055,7 +1055,7 @@ Anule a subscrição em qualquer altura.</string>
|
|||
<string name="then_done_highlight">em seguida, Concluído</string>
|
||||
<string name="for_your_security_be_sure_to_delete_your_saved_password_file">Para sua segurança, certifique-se de que elimina o ficheiro de palavras-passe guardadas.</string>
|
||||
<string name="delete_your_saved_password_file">elimine o seu ficheiro de palavras-passe guardadas.</string>
|
||||
<string name="need_help_checkout_out_import_help">Precisa de ajuda? Consulte a ajuda com a importação.</string>
|
||||
<string name="need_help_check_out_import_help">Precisa de ajuda? Consulte a ajuda com a importação.</string>
|
||||
<string name="import_help_highlight">ajuda com a importação</string>
|
||||
<string name="save_the_exported_file_somewhere_on_your_computer_you_can_find_easily">Guarde o ficheiro exportado num local do seu computador que possa encontrar facilmente.</string>
|
||||
<string name="save_the_exported_file_highlight">Guarde o ficheiro exportado</string>
|
||||
|
@ -1073,4 +1073,12 @@ Anule a subscrição em qualquer altura.</string>
|
|||
<string name="bitwarden_tools">Ferramentas do Bitwarden</string>
|
||||
<string name="got_it">Percebido</string>
|
||||
<string name="no_logins_were_imported">Não foram importadas credenciais</string>
|
||||
<string name="logins_imported">Credenciais importadas</string>
|
||||
<string name="remember_to_delete_your_imported_password_file_from_your_computer">Lembre-se de eliminar o ficheiro da palavra-passe importada do seu computador</string>
|
||||
<string name="type_ssh_key">Chave SSH</string>
|
||||
<string name="public_key">Chave pública</string>
|
||||
<string name="private_key">Chave privada</string>
|
||||
<string name="ssh_keys">Chaves SSH</string>
|
||||
<string name="copy_public_key">Copy public key</string>
|
||||
<string name="copy_fingerprint">Copy fingerprint</string>
|
||||
</resources>
|
||||
|
|
|
@ -1001,7 +1001,7 @@ Doriți să comutați la acest cont?</string>
|
|||
<string name="please_restart_registration_or_try_logging_in">Please restart registration or try logging in. You may already have an account.</string>
|
||||
<string name="restart_registration">Restart registration</string>
|
||||
<string name="authenticator_sync">Authenticator Sync</string>
|
||||
<string name="allow_bitwarden_authenticator_syncing">Allow Bitwarden Authenticator Syncing</string>
|
||||
<string name="allow_bitwarden_authenticator_syncing">Allow authenticator syncing</string>
|
||||
<string name="there_was_an_issue_validating_the_registration_token">There was an issue validating the registration token.</string>
|
||||
<string name="turn_on_autofill">Activează completarea automată</string>
|
||||
<string name="use_autofill_to_log_into_your_accounts">Use autofill to log into your accounts with a single tap.</string>
|
||||
|
@ -1040,8 +1040,8 @@ Doriți să comutați la acest cont?</string>
|
|||
<string name="step_1_of_3">Step 1 of 3</string>
|
||||
<string name="export_your_saved_logins">Export your saved logins</string>
|
||||
<string name="delete_this_file_after_import_is_complete">You’ll delete this file after import is complete.</string>
|
||||
<string name="on_your_computer_open_a_new_browser_tab_and_go_to_vault_bitwarden_com">On your computer, open a new browser tab and go to vault.bitwarden.com</string>
|
||||
<string name="go_to_vault_bitwarden_com_highlight">go to vault.bitwarden.com</string>
|
||||
<string name="on_your_computer_open_a_new_browser_tab_and_go_to_vault_bitwarden_com">On your computer, open a new browser tab and go to %1$s</string>
|
||||
<string name="go_to_vault_bitwarden_com_highlight">go to %1$s</string>
|
||||
<string name="log_in_to_the_bitwarden_web_app">Log in to the Bitwarden web app.</string>
|
||||
<string name="step_2_of_3">Step 2 of 3</string>
|
||||
<string name="log_in_to_bitwarden">Log in to Bitwarden</string>
|
||||
|
@ -1055,7 +1055,7 @@ Doriți să comutați la acest cont?</string>
|
|||
<string name="then_done_highlight">then Done</string>
|
||||
<string name="for_your_security_be_sure_to_delete_your_saved_password_file">For your security, be sure to delete your saved password file.</string>
|
||||
<string name="delete_your_saved_password_file">delete your saved password file.</string>
|
||||
<string name="need_help_checkout_out_import_help">Need help? Checkout out import help.</string>
|
||||
<string name="need_help_check_out_import_help">Need help? Check out import help.</string>
|
||||
<string name="import_help_highlight">import help</string>
|
||||
<string name="save_the_exported_file_somewhere_on_your_computer_you_can_find_easily">Save the exported file somewhere on your computer you can find easily.</string>
|
||||
<string name="save_the_exported_file_highlight">Save the exported file</string>
|
||||
|
@ -1073,4 +1073,12 @@ Doriți să comutați la acest cont?</string>
|
|||
<string name="bitwarden_tools">Bitwarden Tools</string>
|
||||
<string name="got_it">Got it</string>
|
||||
<string name="no_logins_were_imported">No logins were imported</string>
|
||||
<string name="logins_imported">Logins imported</string>
|
||||
<string name="remember_to_delete_your_imported_password_file_from_your_computer">Remember to delete your imported password file from your computer</string>
|
||||
<string name="type_ssh_key">SSH key</string>
|
||||
<string name="public_key">Public key</string>
|
||||
<string name="private_key">Private key</string>
|
||||
<string name="ssh_keys">SSH keys</string>
|
||||
<string name="copy_public_key">Copy public key</string>
|
||||
<string name="copy_fingerprint">Copy fingerprint</string>
|
||||
</resources>
|
||||
|
|
|
@ -1057,22 +1057,30 @@
|
|||
<string name="then_done_highlight">затем Готово</string>
|
||||
<string name="for_your_security_be_sure_to_delete_your_saved_password_file">В целях безопасности не забудьте удалить сохраненный файл с паролями.</string>
|
||||
<string name="delete_your_saved_password_file">удалите файл с сохраненными паролями.</string>
|
||||
<string name="need_help_checkout_out_import_help">Нужна помощь? Ознакомьтесь с помощью по импорту.</string>
|
||||
<string name="need_help_check_out_import_help">Нужна помощь? Ознакомьтесь с помощью по импорту.</string>
|
||||
<string name="import_help_highlight">помощь по импорту</string>
|
||||
<string name="save_the_exported_file_somewhere_on_your_computer_you_can_find_easily">Сохраните экспортированный файл на компьютере, где его можно будет легко найти.</string>
|
||||
<string name="save_the_exported_file_highlight">Сохранить экспортированный файл</string>
|
||||
<string name="this_is_not_a_recognized_bitwarden_server_you_may_need_to_check_with_your_provider_or_update_your_server">Этот сервер Bitwarden не распознан. Возможно вам следует связаться с провайдером или изменить свой сервер.</string>
|
||||
<string name="syncing_logins_loading_message">Синхронизация логинов...</string>
|
||||
<string name="ssh_key_cipher_item_types">SSH Key Cipher Item Types</string>
|
||||
<string name="download_the_browser_extension">Download the browser extension</string>
|
||||
<string name="go_to_bitwarden_com_download_to_integrate_bitwarden_into_browser">Go to bitwarden.com/download to integrate Bitwarden into your favorite browser for a seamless experience.</string>
|
||||
<string name="use_the_web_app">Use the web app</string>
|
||||
<string name="log_in_at_bitwarden_com_to_easily_manage_your_account">Log in at bitwarden.com to easily manage your account and update settings.</string>
|
||||
<string name="autofill_passwords">Autofill passwords</string>
|
||||
<string name="set_up_autofill_on_all_your_devices">Set up autofill on all your devices to login with a single tap anywhere.</string>
|
||||
<string name="import_successful">Import Successful!</string>
|
||||
<string name="manage_your_logins_from_anywhere_with_bitwarden_tools">Manage your logins from anywhere with Bitwarden tools for web and desktop.</string>
|
||||
<string name="bitwarden_tools">Bitwarden Tools</string>
|
||||
<string name="got_it">Got it</string>
|
||||
<string name="no_logins_were_imported">No logins were imported</string>
|
||||
<string name="ssh_key_cipher_item_types">Типы элементов ключей шифрования SSH</string>
|
||||
<string name="download_the_browser_extension">Скачать расширение браузера</string>
|
||||
<string name="go_to_bitwarden_com_download_to_integrate_bitwarden_into_browser">Перейдите на bitwarden.com/download для интеграции Bitwarden в ваш любимый браузер для удобной работы.</string>
|
||||
<string name="use_the_web_app">Использовать веб-приложение</string>
|
||||
<string name="log_in_at_bitwarden_com_to_easily_manage_your_account">Войдите на bitwarden.com для простого управления вашим аккаунтом и обновления настроек.</string>
|
||||
<string name="autofill_passwords">Автозаполнение паролей</string>
|
||||
<string name="set_up_autofill_on_all_your_devices">Настройте автозаполнение на всех своих устройствах, чтобы авторизоваться одним кликом везде.</string>
|
||||
<string name="import_successful">Импорт выполнен успешно!</string>
|
||||
<string name="manage_your_logins_from_anywhere_with_bitwarden_tools">Управляйте своими логинами из любого места с помощью инструментов Bitwarden в интернете и с компьютера.</string>
|
||||
<string name="bitwarden_tools">Инструменты Bitwarden</string>
|
||||
<string name="got_it">Понятно</string>
|
||||
<string name="no_logins_were_imported">Ни один логин не был импортирован</string>
|
||||
<string name="logins_imported">Логины импортированы</string>
|
||||
<string name="remember_to_delete_your_imported_password_file_from_your_computer">Не забудьте удалить файл импортированных паролей с компьютера</string>
|
||||
<string name="type_ssh_key">Ключ SSH</string>
|
||||
<string name="public_key">Публичный ключ</string>
|
||||
<string name="private_key">Приватный ключ</string>
|
||||
<string name="ssh_keys">Ключи SSH</string>
|
||||
<string name="copy_public_key">Copy public key</string>
|
||||
<string name="copy_fingerprint">Copy fingerprint</string>
|
||||
</resources>
|
||||
|
|
|
@ -1001,7 +1001,7 @@ Do you want to switch to this account?</string>
|
|||
<string name="please_restart_registration_or_try_logging_in">Please restart registration or try logging in. You may already have an account.</string>
|
||||
<string name="restart_registration">Restart registration</string>
|
||||
<string name="authenticator_sync">Authenticator Sync</string>
|
||||
<string name="allow_bitwarden_authenticator_syncing">Allow Bitwarden Authenticator Syncing</string>
|
||||
<string name="allow_bitwarden_authenticator_syncing">Allow authenticator syncing</string>
|
||||
<string name="there_was_an_issue_validating_the_registration_token">There was an issue validating the registration token.</string>
|
||||
<string name="turn_on_autofill">Turn on autofill</string>
|
||||
<string name="use_autofill_to_log_into_your_accounts">Use autofill to log into your accounts with a single tap.</string>
|
||||
|
@ -1040,8 +1040,8 @@ Do you want to switch to this account?</string>
|
|||
<string name="step_1_of_3">Step 1 of 3</string>
|
||||
<string name="export_your_saved_logins">Export your saved logins</string>
|
||||
<string name="delete_this_file_after_import_is_complete">You’ll delete this file after import is complete.</string>
|
||||
<string name="on_your_computer_open_a_new_browser_tab_and_go_to_vault_bitwarden_com">On your computer, open a new browser tab and go to vault.bitwarden.com</string>
|
||||
<string name="go_to_vault_bitwarden_com_highlight">go to vault.bitwarden.com</string>
|
||||
<string name="on_your_computer_open_a_new_browser_tab_and_go_to_vault_bitwarden_com">On your computer, open a new browser tab and go to %1$s</string>
|
||||
<string name="go_to_vault_bitwarden_com_highlight">go to %1$s</string>
|
||||
<string name="log_in_to_the_bitwarden_web_app">Log in to the Bitwarden web app.</string>
|
||||
<string name="step_2_of_3">Step 2 of 3</string>
|
||||
<string name="log_in_to_bitwarden">Log in to Bitwarden</string>
|
||||
|
@ -1055,7 +1055,7 @@ Do you want to switch to this account?</string>
|
|||
<string name="then_done_highlight">then Done</string>
|
||||
<string name="for_your_security_be_sure_to_delete_your_saved_password_file">For your security, be sure to delete your saved password file.</string>
|
||||
<string name="delete_your_saved_password_file">delete your saved password file.</string>
|
||||
<string name="need_help_checkout_out_import_help">Need help? Checkout out import help.</string>
|
||||
<string name="need_help_check_out_import_help">Need help? Check out import help.</string>
|
||||
<string name="import_help_highlight">import help</string>
|
||||
<string name="save_the_exported_file_somewhere_on_your_computer_you_can_find_easily">Save the exported file somewhere on your computer you can find easily.</string>
|
||||
<string name="save_the_exported_file_highlight">Save the exported file</string>
|
||||
|
@ -1073,4 +1073,12 @@ Do you want to switch to this account?</string>
|
|||
<string name="bitwarden_tools">Bitwarden Tools</string>
|
||||
<string name="got_it">Got it</string>
|
||||
<string name="no_logins_were_imported">No logins were imported</string>
|
||||
<string name="logins_imported">Logins imported</string>
|
||||
<string name="remember_to_delete_your_imported_password_file_from_your_computer">Remember to delete your imported password file from your computer</string>
|
||||
<string name="type_ssh_key">SSH key</string>
|
||||
<string name="public_key">Public key</string>
|
||||
<string name="private_key">Private key</string>
|
||||
<string name="ssh_keys">SSH keys</string>
|
||||
<string name="copy_public_key">Copy public key</string>
|
||||
<string name="copy_fingerprint">Copy fingerprint</string>
|
||||
</resources>
|
||||
|
|
|
@ -1055,7 +1055,7 @@ Chcete prepnúť na tento účet?</string>
|
|||
<string name="then_done_highlight">potom Hotovo</string>
|
||||
<string name="for_your_security_be_sure_to_delete_your_saved_password_file">V záujme vašej bezpečnosti nezabudnite odstrániť uložený súbor s heslami.</string>
|
||||
<string name="delete_your_saved_password_file">odstrániť súbor s uloženými heslami.</string>
|
||||
<string name="need_help_checkout_out_import_help">Potrebujete pomoc? Pozrite si pomoc pre importovanie.</string>
|
||||
<string name="need_help_check_out_import_help">Potrebujete pomoc? Pozrite si pomoc pre importovanie.</string>
|
||||
<string name="import_help_highlight">pomoc pre importovanie</string>
|
||||
<string name="save_the_exported_file_somewhere_on_your_computer_you_can_find_easily">Uložte exportovaný súbor na miesto v počítači, ktoré ľahko nájdete.</string>
|
||||
<string name="save_the_exported_file_highlight">Uložte exportovaný súbor</string>
|
||||
|
@ -1073,4 +1073,12 @@ Chcete prepnúť na tento účet?</string>
|
|||
<string name="bitwarden_tools">Nástroje Bitwardenu</string>
|
||||
<string name="got_it">Chápem</string>
|
||||
<string name="no_logins_were_imported">Neboli importované žiadne prihlasovacie údaje</string>
|
||||
<string name="logins_imported">Prihlasovacie údaje boli importované</string>
|
||||
<string name="remember_to_delete_your_imported_password_file_from_your_computer">Nezabudnite z počítača odstrániť importovaný súbor s heslami</string>
|
||||
<string name="type_ssh_key">SSH kľúč</string>
|
||||
<string name="public_key">Verejný kľúč</string>
|
||||
<string name="private_key">Súkromný kľúč</string>
|
||||
<string name="ssh_keys">SSH kľúče</string>
|
||||
<string name="copy_public_key">Copy public key</string>
|
||||
<string name="copy_fingerprint">Copy fingerprint</string>
|
||||
</resources>
|
||||
|
|
|
@ -1001,7 +1001,7 @@ Do you want to switch to this account?</string>
|
|||
<string name="please_restart_registration_or_try_logging_in">Please restart registration or try logging in. You may already have an account.</string>
|
||||
<string name="restart_registration">Restart registration</string>
|
||||
<string name="authenticator_sync">Authenticator Sync</string>
|
||||
<string name="allow_bitwarden_authenticator_syncing">Allow Bitwarden Authenticator Syncing</string>
|
||||
<string name="allow_bitwarden_authenticator_syncing">Allow authenticator syncing</string>
|
||||
<string name="there_was_an_issue_validating_the_registration_token">There was an issue validating the registration token.</string>
|
||||
<string name="turn_on_autofill">Turn on autofill</string>
|
||||
<string name="use_autofill_to_log_into_your_accounts">Use autofill to log into your accounts with a single tap.</string>
|
||||
|
@ -1040,8 +1040,8 @@ Do you want to switch to this account?</string>
|
|||
<string name="step_1_of_3">Step 1 of 3</string>
|
||||
<string name="export_your_saved_logins">Export your saved logins</string>
|
||||
<string name="delete_this_file_after_import_is_complete">You’ll delete this file after import is complete.</string>
|
||||
<string name="on_your_computer_open_a_new_browser_tab_and_go_to_vault_bitwarden_com">On your computer, open a new browser tab and go to vault.bitwarden.com</string>
|
||||
<string name="go_to_vault_bitwarden_com_highlight">go to vault.bitwarden.com</string>
|
||||
<string name="on_your_computer_open_a_new_browser_tab_and_go_to_vault_bitwarden_com">On your computer, open a new browser tab and go to %1$s</string>
|
||||
<string name="go_to_vault_bitwarden_com_highlight">go to %1$s</string>
|
||||
<string name="log_in_to_the_bitwarden_web_app">Log in to the Bitwarden web app.</string>
|
||||
<string name="step_2_of_3">Step 2 of 3</string>
|
||||
<string name="log_in_to_bitwarden">Log in to Bitwarden</string>
|
||||
|
@ -1055,7 +1055,7 @@ Do you want to switch to this account?</string>
|
|||
<string name="then_done_highlight">then Done</string>
|
||||
<string name="for_your_security_be_sure_to_delete_your_saved_password_file">For your security, be sure to delete your saved password file.</string>
|
||||
<string name="delete_your_saved_password_file">delete your saved password file.</string>
|
||||
<string name="need_help_checkout_out_import_help">Need help? Checkout out import help.</string>
|
||||
<string name="need_help_check_out_import_help">Need help? Check out import help.</string>
|
||||
<string name="import_help_highlight">import help</string>
|
||||
<string name="save_the_exported_file_somewhere_on_your_computer_you_can_find_easily">Save the exported file somewhere on your computer you can find easily.</string>
|
||||
<string name="save_the_exported_file_highlight">Save the exported file</string>
|
||||
|
@ -1073,4 +1073,12 @@ Do you want to switch to this account?</string>
|
|||
<string name="bitwarden_tools">Bitwarden Tools</string>
|
||||
<string name="got_it">Got it</string>
|
||||
<string name="no_logins_were_imported">No logins were imported</string>
|
||||
<string name="logins_imported">Logins imported</string>
|
||||
<string name="remember_to_delete_your_imported_password_file_from_your_computer">Remember to delete your imported password file from your computer</string>
|
||||
<string name="type_ssh_key">SSH key</string>
|
||||
<string name="public_key">Public key</string>
|
||||
<string name="private_key">Private key</string>
|
||||
<string name="ssh_keys">SSH keys</string>
|
||||
<string name="copy_public_key">Copy public key</string>
|
||||
<string name="copy_fingerprint">Copy fingerprint</string>
|
||||
</resources>
|
||||
|
|
|
@ -1002,7 +1002,7 @@
|
|||
<string name="please_restart_registration_or_try_logging_in">Поново покрените регистрацију или покушајте да се пријавите. Можда већ имате налог.</string>
|
||||
<string name="restart_registration">Поново покрените регистрацију</string>
|
||||
<string name="authenticator_sync">Authenticator Sync</string>
|
||||
<string name="allow_bitwarden_authenticator_syncing">Allow Bitwarden Authenticator Syncing</string>
|
||||
<string name="allow_bitwarden_authenticator_syncing">Allow authenticator syncing</string>
|
||||
<string name="there_was_an_issue_validating_the_registration_token">Дошло је до проблема са валидацијом регистрационог токена.</string>
|
||||
<string name="turn_on_autofill">Омогућите ауто-пуњење</string>
|
||||
<string name="use_autofill_to_log_into_your_accounts">Користите ауто-пуњење да бисте се пријавили на своје налоге једним додиром.</string>
|
||||
|
@ -1056,7 +1056,7 @@
|
|||
<string name="then_done_highlight">и после Заврши</string>
|
||||
<string name="for_your_security_be_sure_to_delete_your_saved_password_file">Ради ваше безбедности, обавезно избришите своју сачувану датотеку лозинке.</string>
|
||||
<string name="delete_your_saved_password_file">избришите своју сачувану датотеку лозинке.</string>
|
||||
<string name="need_help_checkout_out_import_help">Треба вам помоћ? Проверите помоћ за увоз.</string>
|
||||
<string name="need_help_check_out_import_help">Need help? Check out import help.</string>
|
||||
<string name="import_help_highlight">помоћ за увоз</string>
|
||||
<string name="save_the_exported_file_somewhere_on_your_computer_you_can_find_easily">Сачувајте извезену датотеку негде на рачунару где можете лако да пронађете.</string>
|
||||
<string name="save_the_exported_file_highlight">Сачувајте извезену датотеку</string>
|
||||
|
@ -1074,4 +1074,12 @@
|
|||
<string name="bitwarden_tools">Bitwarden Tools</string>
|
||||
<string name="got_it">Got it</string>
|
||||
<string name="no_logins_were_imported">No logins were imported</string>
|
||||
<string name="logins_imported">Logins imported</string>
|
||||
<string name="remember_to_delete_your_imported_password_file_from_your_computer">Remember to delete your imported password file from your computer</string>
|
||||
<string name="type_ssh_key">SSH key</string>
|
||||
<string name="public_key">Public key</string>
|
||||
<string name="private_key">Private key</string>
|
||||
<string name="ssh_keys">SSH keys</string>
|
||||
<string name="copy_public_key">Copy public key</string>
|
||||
<string name="copy_fingerprint">Copy fingerprint</string>
|
||||
</resources>
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue