Merge branch 'master' into feature/maui-migration

Fixed conflicts

# Conflicts:
#	src/App/Resources/AppResources.cs.Designer.cs
#	src/App/Resources/AppResources.da.Designer.cs
#	src/App/Resources/AppResources.de.Designer.cs
#	src/App/Resources/AppResources.es.Designer.cs
#	src/App/Resources/AppResources.fi.Designer.cs
#	src/App/Resources/AppResources.fr.Designer.cs
#	src/App/Resources/AppResources.hi.Designer.cs
#	src/App/Resources/AppResources.hr.Designer.cs
#	src/App/Resources/AppResources.hu.Designer.cs
#	src/App/Resources/AppResources.id.Designer.cs
#	src/App/Resources/AppResources.it.Designer.cs
#	src/App/Resources/AppResources.ja.Designer.cs
#	src/App/Resources/AppResources.nl.Designer.cs
#	src/App/Resources/AppResources.pl.Designer.cs
#	src/App/Resources/AppResources.pt-BR.Designer.cs
#	src/App/Resources/AppResources.pt-PT.Designer.cs
#	src/App/Resources/AppResources.ro.Designer.cs
#	src/App/Resources/AppResources.ru.Designer.cs
#	src/App/Resources/AppResources.sk.Designer.cs
#	src/App/Resources/AppResources.sv.Designer.cs
#	src/App/Resources/AppResources.th.Designer.cs
#	src/App/Resources/AppResources.tr.Designer.cs
#	src/App/Resources/AppResources.uk.Designer.cs
#	src/App/Resources/AppResources.vi.Designer.cs
#	src/App/Resources/AppResources.zh-Hans.Designer.cs
#	src/App/Resources/AppResources.zh-Hant.Designer.cs
#	src/Core/Controls/Settings/BaseSettingControlView.cs
#	src/Core/Pages/Accounts/EnvironmentPageViewModel.cs
#	src/Core/Pages/Accounts/HomePage.xaml.cs
#	src/Core/Pages/Accounts/HomePageViewModel.cs
#	src/Core/Pages/Accounts/SetPasswordPageViewModel.cs
#	src/Core/Pages/Settings/SecuritySettingsPageViewModel.cs
#	src/Core/Pages/TabsPage.cs
#	src/Core/Services/StateMigrationService.cs
#	src/Core/Utilities/BoolToColorConverter.cs
This commit is contained in:
Dinis Vieira 2023-11-19 15:06:02 +00:00
commit eceb506c77
No known key found for this signature in database
GPG key ID: 9389160FF6C295F3
113 changed files with 1474 additions and 593 deletions

9
.github/CODEOWNERS vendored
View file

@ -20,12 +20,15 @@ src/watchOS @bitwarden/team-vault-dev
## Tools team files ##
src/Core/Services/EmailForwarders @bitwarden/team-tools-dev
## Crowdin Sync files ##
src/App/Resources @bitwarden/tech-leads
src/watchOS/bitwarden/bitwarden\ WatchKit\ Extension/Localization @bitwarden/tech-leads
src/App/Resources @bitwarden/team-tools-dev
src/watchOS/bitwarden/bitwarden\ WatchKit\ Extension/Localization @bitwarden/team-tools-dev
store/apple @bitwarden/team-tools-dev
store/google @bitwarden/team-tools-dev
## Locales ##
src/App/Resources/AppResources.Designer.cs
src/App/Resources/AppResources.resx
src/watchOS/bitwarden/bitwarden\ WatchKit\ Extension/Localization/en.lproj
store/apple/en
store/google/en

View file

@ -24,7 +24,7 @@ jobs:
- name: Retrieve secrets
id: retrieve-secrets
uses: bitwarden/gh-actions/get-keyvault-secrets@4a7ddc1b38ca5cb4e3e43578f4df5cabe4f55a67
uses: bitwarden/gh-actions/get-keyvault-secrets@main
with:
keyvault: "bitwarden-ci"
secrets: "crowdin-api-token, github-gpg-private-key, github-gpg-private-key-passphrase"

View file

@ -42,7 +42,7 @@ jobs:
- name: Check Release Version
id: version
uses: bitwarden/gh-actions/release-version-check@4a7ddc1b38ca5cb4e3e43578f4df5cabe4f55a67
uses: bitwarden/gh-actions/release-version-check@main
with:
release-type: ${{ github.event.inputs.release_type }}
project-type: xamarin

View file

@ -28,7 +28,7 @@ jobs:
- name: Retrieve secrets
id: retrieve-secrets
uses: bitwarden/gh-actions/get-keyvault-secrets@4a7ddc1b38ca5cb4e3e43578f4df5cabe4f55a67
uses: bitwarden/gh-actions/get-keyvault-secrets@main
with:
keyvault: "bitwarden-ci"
secrets: "github-gpg-private-key, github-gpg-private-key-passphrase"
@ -45,31 +45,31 @@ jobs:
run: git switch -c version_bump_${{ github.event.inputs.version_number }}
- name: Bump Version - Android XML
uses: bitwarden/gh-actions/version-bump@4a7ddc1b38ca5cb4e3e43578f4df5cabe4f55a67
uses: bitwarden/gh-actions/version-bump@main
with:
version: ${{ github.event.inputs.version_number }}
file_path: "./src/Android/Properties/AndroidManifest.xml"
- name: Bump Version - iOS.Autofill
uses: bitwarden/gh-actions/version-bump@4a7ddc1b38ca5cb4e3e43578f4df5cabe4f55a67
uses: bitwarden/gh-actions/version-bump@main
with:
version: ${{ github.event.inputs.version_number }}
file_path: "./src/iOS.Autofill/Info.plist"
- name: Bump Version - iOS.Extension
uses: bitwarden/gh-actions/version-bump@4a7ddc1b38ca5cb4e3e43578f4df5cabe4f55a67
uses: bitwarden/gh-actions/version-bump@main
with:
version: ${{ github.event.inputs.version_number }}
file_path: "./src/iOS.Extension/Info.plist"
- name: Bump Version - iOS.ShareExtension
uses: bitwarden/gh-actions/version-bump@4a7ddc1b38ca5cb4e3e43578f4df5cabe4f55a67
uses: bitwarden/gh-actions/version-bump@main
with:
version: ${{ github.event.inputs.version_number }}
file_path: "./src/iOS.ShareExtension/Info.plist"
- name: Bump Version - iOS
uses: bitwarden/gh-actions/version-bump@4a7ddc1b38ca5cb4e3e43578f4df5cabe4f55a67
uses: bitwarden/gh-actions/version-bump@main
with:
version: ${{ github.event.inputs.version_number }}
file_path: "./src/iOS/Info.plist"

View file

@ -8,4 +8,4 @@ on:
jobs:
call-workflow:
uses: bitwarden/gh-actions/.github/workflows/workflow-linter.yml@4a7ddc1b38ca5cb4e3e43578f4df5cabe4f55a67
uses: bitwarden/gh-actions/.github/workflows/workflow-linter.yml@main

View file

@ -1,11 +1,10 @@
using System;
using System.Collections.Generic;
using System.Net;
using System.Net.Http;
using System.Threading;
using System.Threading.Tasks;
using Bit.Core.Enums;
using Bit.Core.Models.Domain;
using Bit.Core.Models.Data;
using Bit.Core.Models.Request;
using Bit.Core.Models.Response;
using DeviceType = Bit.Core.Enums.DeviceType;
@ -52,7 +51,7 @@ namespace Bit.Core.Abstractions
Task<TResponse> SendAsync<TRequest, TResponse>(HttpMethod method, string path,
TRequest body, bool authed, bool hasResponse, Action<HttpRequestMessage> alterRequest, bool logoutOnUnauthorized = true, bool sendToIdentity = false);
Task<HttpResponseMessage> SendAsync(HttpRequestMessage requestMessage, CancellationToken cancellationToken = default);
void SetUrls(EnvironmentUrls urls);
void SetUrls(EnvironmentUrlData urls);
[Obsolete("Mar 25 2021: This method has been deprecated in favor of direct uploads. This method still exists for backward compatibility with old server versions.")]
Task<CipherResponse> PostCipherAttachmentLegacyAsync(string id, MultipartFormDataContent data);
Task<AttachmentUploadDataResponse> PostCipherAttachmentAsync(string id, AttachmentRequest request);

View file

@ -1,5 +1,5 @@
using System.Threading.Tasks;
using Bit.Core.Models.Data;
using Bit.Core.Models.Data;
using BwRegion = Bit.Core.Enums.Region;
namespace Bit.Core.Abstractions
{
@ -12,10 +12,12 @@ namespace Bit.Core.Abstractions
string NotificationsUrl { get; set; }
string WebVaultUrl { get; set; }
string EventsUrl { get; set; }
BwRegion SelectedRegion { get; set; }
string GetWebVaultUrl(bool returnNullIfDefault = false);
string GetWebSendUrl();
Task<EnvironmentUrlData> SetUrlsAsync(EnvironmentUrlData urls);
string GetCurrentDomain();
Task SetUrlsFromStorageAsync();
Task<EnvironmentUrlData> SetRegionAsync(BwRegion region, EnvironmentUrlData selfHostedUrls = null);
}
}

View file

@ -1,12 +1,9 @@
using System;
using System.Collections.Generic;
using System.Threading.Tasks;
using Bit.Core.Enums;
using Bit.Core.Enums;
using Bit.Core.Models.Data;
using Bit.Core.Models.Domain;
using Bit.Core.Models.Response;
using Bit.Core.Models.View;
using Bit.Core.Services;
using BwRegion = Bit.Core.Enums.Region;
namespace Bit.Core.Abstractions
{
@ -185,6 +182,10 @@ namespace Bit.Core.Abstractions
void SetConfigs(ConfigResponse value);
Task<bool> GetShouldTrustDeviceAsync();
Task SetShouldTrustDeviceAsync(bool value);
Task SetUserHasMasterPasswordAsync(bool value, string userId = null);
Task<BwRegion?> GetActiveUserRegionAsync();
Task<BwRegion?> GetPreAuthRegionAsync();
Task SetPreAuthRegionAsync(BwRegion value);
[Obsolete("Use GetPinKeyEncryptedUserKeyAsync instead, left for migration purposes")]
Task<string> GetPinProtectedAsync(string userId = null);
[Obsolete("Use SetPinKeyEncryptedUserKeyAsync instead, left for migration purposes")]

View file

@ -178,6 +178,11 @@ namespace Bit.App
new NavigationPage(new UpdateTempPasswordPage()));
});
}
else if (message.Command == Constants.ForceSetPassword)
{
await Device.InvokeOnMainThreadAsync(() => Application.Current.MainPage.Navigation.PushModalAsync(
new NavigationPage(new SetPasswordPage(orgIdentifier: (string)message.Data))));
}
else if (message.Command == "syncCompleted")
{
await _configService.GetAsync(true);

View file

@ -46,6 +46,7 @@ namespace Bit.Core
public const string PreLoginEmailKey = "preLoginEmailKey";
public const string ConfigsKey = "configsKey";
public const string DisplayEuEnvironmentFlag = "display-eu-environment";
public const string RegionEnvironment = "regionEnvironment";
/// <summary>
/// This key is used to store the value of "ShouldConnectToWatch" of the last user that had logged in
@ -56,6 +57,7 @@ namespace Bit.Core
public const string AppLocaleKey = "appLocale";
public const string ClearSensitiveFields = "clearSensitiveFields";
public const string ForceUpdatePassword = "forceUpdatePassword";
public const string ForceSetPassword = "forceSetPassword";
public const string ShouldTrustDevice = "shouldTrustDevice";
public const int SelectFileRequestCode = 42;
public const int SelectFilePermissionRequestCode = 43;

View file

@ -6,10 +6,10 @@ namespace Bit.App.Controls
public class BaseSettingItemView : ContentView
{
public static readonly BindableProperty TitleProperty = BindableProperty.Create(
nameof(Title), typeof(string), typeof(SwitchItemView), null, BindingMode.OneWay);
nameof(Title), typeof(string), typeof(SwitchItemView), null);
public static readonly BindableProperty SubtitleProperty = BindableProperty.Create(
nameof(Subtitle), typeof(string), typeof(SwitchItemView), null, BindingMode.OneWay);
nameof(Subtitle), typeof(string), typeof(SwitchItemView), null);
public string Title
{

View file

@ -7,7 +7,7 @@ namespace Bit.App.Controls
public partial class SettingChooserItemView : BaseSettingItemView
{
public static readonly BindableProperty DisplayValueProperty = BindableProperty.Create(
nameof(DisplayValue), typeof(string), typeof(SettingChooserItemView), null, BindingMode.OneWay);
nameof(DisplayValue), typeof(string), typeof(SettingChooserItemView), null);
public static readonly BindableProperty ChooseCommandProperty = BindableProperty.Create(
nameof(ChooseCommand), typeof(ICommand), typeof(ExternalLinkItemView));

10
src/Core/Enums/Region.cs Normal file
View file

@ -0,0 +1,10 @@
namespace Bit.Core.Enums
{
public enum Region
{
US,
EU,
SelfHosted
}
}

View file

@ -1,9 +1,34 @@
namespace Bit.Core.Models.Data
using System.Text.RegularExpressions;
using Bit.Core.Utilities;
using BwRegion = Bit.Core.Enums.Region;
namespace Bit.Core.Models.Data
{
public class EnvironmentUrlData
{
public static EnvironmentUrlData DefaultUS = new EnvironmentUrlData { Base = "https://vault.bitwarden.com" };
public static EnvironmentUrlData DefaultEU = new EnvironmentUrlData { Base = "https://vault.bitwarden.eu" };
public static EnvironmentUrlData DefaultUS = new EnvironmentUrlData
{
Base = "https://vault.bitwarden.com",
Api = "https://api.bitwarden.com",
Identity = "https://identity.bitwarden.com",
Icons = "https://icons.bitwarden.net",
WebVault = "https://vault.bitwarden.com",
Notifications = "https://notifications.bitwarden.com",
Events = "https://events.bitwarden.com",
Domain = "bitwarden.com"
};
public static EnvironmentUrlData DefaultEU = new EnvironmentUrlData
{
Base = "https://vault.bitwarden.eu",
Api = "https://api.bitwarden.eu",
Identity = "https://identity.bitwarden.eu",
Icons = "https://icons.bitwarden.eu",
WebVault = "https://vault.bitwarden.eu",
Notifications = "https://notifications.bitwarden.eu",
Events = "https://events.bitwarden.eu",
Domain = "bitwarden.eu"
};
public string Base { get; set; }
public string Api { get; set; }
@ -12,6 +37,7 @@
public string Notifications { get; set; }
public string WebVault { get; set; }
public string Events { get; set; }
public string Domain { get; set; }
public bool IsEmpty => string.IsNullOrEmpty(Base)
&& string.IsNullOrEmpty(Api)
@ -20,5 +46,63 @@
&& string.IsNullOrEmpty(Notifications)
&& string.IsNullOrEmpty(WebVault)
&& string.IsNullOrEmpty(Events);
public BwRegion Region
{
get
{
if (Base == BwRegion.US.BaseUrl())
{
return BwRegion.US;
}
if (Base == BwRegion.EU.BaseUrl())
{
return BwRegion.EU;
}
return BwRegion.SelfHosted;
}
}
public EnvironmentUrlData FormatUrls()
{
return new EnvironmentUrlData
{
Base = FormatUrl(Base),
Api = FormatUrl(Api),
Identity = FormatUrl(Identity),
Icons = FormatUrl(Icons),
Notifications = FormatUrl(Notifications),
WebVault = FormatUrl(WebVault),
Events = FormatUrl(Events)
};
}
private string FormatUrl(string url)
{
if (string.IsNullOrWhiteSpace(url))
{
return null;
}
url = Regex.Replace(url, "\\/+$", string.Empty);
if (!url.StartsWith("http://") && !url.StartsWith("https://"))
{
url = string.Concat("https://", url);
}
return url.Trim();
}
public string GetDomainOrHostname()
{
var url = WebVault ?? Base ?? Api ?? Identity;
if (string.IsNullOrWhiteSpace(url))
{
return string.Empty;
}
if (url.Contains(BwRegion.US.Domain()) || url.Contains(BwRegion.EU.Domain()))
{
return CoreHelpers.GetDomain(url);
}
return CoreHelpers.GetHostname(url);
}
}
}

View file

@ -15,5 +15,6 @@
public bool ManagePolicies { get; set; }
public bool ManageSso { get; set; }
public bool ManageUsers { get; set; }
public bool ManageResetPassword { get; set; }
}
}

View file

@ -1,6 +1,6 @@
using System;
using Bit.Core.Enums;
using Bit.Core.Enums;
using Bit.Core.Models.Data;
using BwRegion = Bit.Core.Enums.Region;
namespace Bit.Core.Models.Domain
{
@ -102,12 +102,14 @@ namespace Bit.Core.Models.Domain
return;
}
Region = copy.Region;
EnvironmentUrls = copy.EnvironmentUrls;
VaultTimeout = copy.VaultTimeout;
VaultTimeoutAction = copy.VaultTimeoutAction;
ScreenCaptureAllowed = copy.ScreenCaptureAllowed;
}
public BwRegion? Region;
public EnvironmentUrlData EnvironmentUrls;
[Obsolete("Feb 10 2023: VaultTimeout has been deprecated in favor of stored prefs to retain value after logout. It remains here to allow for migration during app upgrade.")]
public int? VaultTimeout;

View file

@ -1,10 +0,0 @@
namespace Bit.Core.Models.Domain
{
public class EnvironmentUrls
{
public string Base { get; set; }
public string Api { get; set; }
public string Identity { get; set; }
public string Events { get; set; }
}
}

View file

@ -11,6 +11,12 @@
/// Occurs when a user logs in with a master password that does not meet an organization's master password
/// policy that is enforced on login.
/// </summary>
WeakMasterPasswordOnLogin
WeakMasterPasswordOnLogin,
/// <summary>
/// Occurs when a TDE user without a password obtains the password reset permission.
/// Set post login & decryption client side and by server in sync (to catch logged in users).
/// </summary>
TdeUserWithoutPasswordHasPasswordResetPermission,
}
}

View file

@ -46,7 +46,11 @@ namespace Bit.Core.Models.Domain
case ForwardedEmailServiceType.DuckDuckGo:
return new ForwarderOptions { ApiKey = DuckDuckGoApiKey };
case ForwardedEmailServiceType.Fastmail:
return new ForwarderOptions { ApiKey = FastMailApiKey };
return new FastmailForwarderOptions
{
ApiKey = FastMailApiKey,
Website = EmailWebsite
};
case ForwardedEmailServiceType.FirefoxRelay:
return new ForwarderOptions { ApiKey = FirefoxRelayApiAccessToken };
case ForwardedEmailServiceType.SimpleLogin:

View file

@ -7,7 +7,7 @@ namespace Bit.Core.Models.Request
public string MasterPasswordHash { get; set; }
public string Key { get; set; }
public string MasterPasswordHint { get; set; }
public KeysRequest Keys { get; set; }
public KeysRequest? Keys { get; set; }
public KdfType Kdf { get; set; }
public int KdfIterations { get; set; }
public int? KdfMemory { get; set; }

View file

@ -20,5 +20,6 @@ namespace Bit.Core.Models.Response
public List<ProfileOrganizationResponse> Organizations { get; set; }
public bool UsesKeyConnector { get; set; }
public string AvatarColor { get; set; }
public bool HasManageResetPasswordPermission { get; set; }
}
}

View file

@ -22,21 +22,7 @@ namespace Bit.Core.Models.View
Email = a.Profile?.Email;
Name = a.Profile?.Name;
AvatarColor = a.Profile?.AvatarColor;
Hostname = ParseEndpoint(a.Settings?.EnvironmentUrls);
}
private string ParseEndpoint(EnvironmentUrlData urls)
{
var url = urls?.WebVault ?? urls?.Base;
if (!string.IsNullOrWhiteSpace(url))
{
if (url.Contains("bitwarden.com") || url.Contains("bitwarden.eu"))
{
return CoreHelpers.GetDomain(url);
}
return CoreHelpers.GetHostname(url);
}
return string.Empty;
Hostname = a.Settings?.EnvironmentUrls?.GetDomainOrHostname();
}
public bool IsAccount { get; set; }

View file

@ -1,8 +1,8 @@
using System.Windows.Input;
using Bit.Core.Resources.Localization;
using Bit.Core.Abstractions;
using Bit.Core.Models.Data;
using Bit.Core.Utilities;
using BwRegion = Bit.Core.Enums.Region;
namespace Bit.App.Pages
{
@ -16,14 +16,25 @@ namespace Bit.App.Pages
_environmentService = ServiceContainer.Resolve<IEnvironmentService>("environmentService");
PageTitle = AppResources.Settings;
BaseUrl = _environmentService.BaseUrl == EnvironmentUrlData.DefaultEU.Base || EnvironmentUrlData.DefaultUS.Base == _environmentService.BaseUrl ?
string.Empty : _environmentService.BaseUrl;
SubmitCommand = CreateDefaultAsyncRelayCommand(SubmitAsync, onException: OnSubmitException, allowsMultipleExecutions: false);
Init();
}
public void Init()
{
if (_environmentService.SelectedRegion != BwRegion.SelfHosted ||
_environmentService.BaseUrl == BwRegion.US.BaseUrl() ||
_environmentService.BaseUrl == BwRegion.EU.BaseUrl())
{
return;
}
BaseUrl = _environmentService.BaseUrl;
WebVaultUrl = _environmentService.WebVaultUrl;
ApiUrl = _environmentService.ApiUrl;
IdentityUrl = _environmentService.IdentityUrl;
IconsUrl = _environmentService.IconsUrl;
NotificationsUrls = _environmentService.NotificationsUrl;
SubmitCommand = CreateDefaultAsyncRelayCommand(SubmitAsync, onException: OnSubmitException, allowsMultipleExecutions: false);
}
public ICommand SubmitCommand { get; }
@ -43,8 +54,7 @@ namespace Bit.App.Pages
await Page.DisplayAlert(AppResources.AnErrorHasOccurred, AppResources.EnvironmentPageUrlsError, AppResources.Ok);
return;
}
var resUrls = await _environmentService.SetUrlsAsync(new Core.Models.Data.EnvironmentUrlData
var urls = new Core.Models.Data.EnvironmentUrlData
{
Base = BaseUrl,
Api = ApiUrl,
@ -52,7 +62,8 @@ namespace Bit.App.Pages
WebVault = WebVaultUrl,
Icons = IconsUrl,
Notifications = NotificationsUrls
});
};
var resUrls = await _environmentService.SetRegionAsync(urls.Region, urls);
// re-set urls since service can change them, ex: prefixing https://
BaseUrl = resUrls.Base;

View file

@ -58,7 +58,6 @@ namespace Bit.App.Pages
try
{
_accountAvatar?.OnAppearing();
if (!_appOptions?.HideAccountSwitcher ?? false)
{
await MainThread.InvokeOnMainThreadAsync(async () => _vm.AvatarImageSource = await GetAvatarImageSourceAsync(false));
@ -71,14 +70,14 @@ namespace Bit.App.Pages
}
});
await _vm.UpdateEnvironment();
await _vm.UpdateEnvironmentAsync();
}
catch (Exception ex)
{
_logger.Value?.Exception(ex);
}
}
protected override void OnNavigatingFrom(NavigatingFromEventArgs args)
{
base.OnNavigatingFrom(args);
@ -89,7 +88,7 @@ namespace Bit.App.Pages
protected override bool OnBackButtonPressed()
{
if (_accountListOverlay.IsVisible)
if (_accountListOverlay.IsVisible)
{
_accountListOverlay.HideAsync().FireAndForget();
return true;

View file

@ -1,24 +1,17 @@
using System;
using System.Threading.Tasks;
using Bit.App.Abstractions;
using Bit.App.Abstractions;
using Bit.App.Controls;
using Bit.Core.Resources.Localization;
using Bit.App.Utilities;
using Bit.Core;
using Bit.Core.Abstractions;
using Bit.Core.Models.Data;
using Bit.Core.Utilities;
using Microsoft.Maui.Controls;
using Microsoft.Maui;
using BwRegion = Bit.Core.Enums.Region;
using CommunityToolkit.Mvvm.Input;
namespace Bit.App.Pages
{
public class HomeViewModel : BaseViewModel
{
private const string LOGGING_IN_ON_US = "bitwarden.com";
private const string LOGGING_IN_ON_EU = "bitwarden.eu";
private readonly IStateService _stateService;
private readonly IMessagingService _messagingService;
@ -167,10 +160,10 @@ namespace Bit.App.Pages
{
_displayEuEnvironment = await _configService.GetFeatureFlagBoolAsync(Constants.DisplayEuEnvironmentFlag);
var options = _displayEuEnvironment
? new string[] { LOGGING_IN_ON_US, LOGGING_IN_ON_EU, AppResources.SelfHosted }
: new string[] { LOGGING_IN_ON_US, AppResources.SelfHosted };
? new string[] { BwRegion.US.Domain(), BwRegion.EU.Domain(), AppResources.SelfHosted }
: new string[] { BwRegion.US.Domain(), AppResources.SelfHosted };
await Device.InvokeOnMainThreadAsync(async () =>
await MainThread.InvokeOnMainThreadAsync(async () =>
{
var result = await Page.DisplayActionSheet(AppResources.LoggingInOn, AppResources.Cancel, null, options);
@ -185,35 +178,23 @@ namespace Bit.App.Pages
return;
}
await _environmentService.SetUrlsAsync(result == LOGGING_IN_ON_EU ? EnvironmentUrlData.DefaultEU : EnvironmentUrlData.DefaultUS);
await _environmentService.SetRegionAsync(result == BwRegion.EU.Domain() ? BwRegion.EU : BwRegion.US);
await _configService.GetAsync(true);
SelectedEnvironmentName = result;
});
}
public async Task UpdateEnvironment()
public async Task UpdateEnvironmentAsync()
{
var environmentsSaved = await _stateService.GetPreAuthEnvironmentUrlsAsync();
if (environmentsSaved == null || environmentsSaved.IsEmpty)
var region = _environmentService.SelectedRegion;
if (region == BwRegion.SelfHosted)
{
await _environmentService.SetUrlsAsync(EnvironmentUrlData.DefaultUS);
environmentsSaved = EnvironmentUrlData.DefaultUS;
SelectedEnvironmentName = LOGGING_IN_ON_US;
return;
}
if (environmentsSaved.Base == EnvironmentUrlData.DefaultUS.Base)
{
SelectedEnvironmentName = LOGGING_IN_ON_US;
}
else if (environmentsSaved.Base == EnvironmentUrlData.DefaultEU.Base)
{
SelectedEnvironmentName = LOGGING_IN_ON_EU;
SelectedEnvironmentName = AppResources.SelfHosted;
await _configService.GetAsync(true);
}
else
{
await _configService.GetAsync(true);
SelectedEnvironmentName = AppResources.SelfHosted;
SelectedEnvironmentName = region.Domain();
}
}
}

View file

@ -208,13 +208,8 @@ namespace Bit.App.Pages
_logger.Exception(new NullReferenceException("Email not found in storage"));
return;
}
var webVault = _environmentService.GetWebVaultUrl(true);
if (string.IsNullOrWhiteSpace(webVault))
{
webVault = "https://bitwarden.com";
}
var webVaultHostname = CoreHelpers.GetHostname(webVault);
LoggedInAsText = string.Format(AppResources.LoggedInAsOn, _email, webVaultHostname);
LoggedInAsText = string.Format(AppResources.LoggedInAsOn, _email, _environmentService.GetCurrentDomain());
if (PinEnabled)
{
PageTitle = AppResources.VerifyPIN;

View file

@ -163,7 +163,7 @@ namespace Bit.App.Pages
Email = await _stateService.GetRememberedEmailAsync();
}
CanRemoveAccount = await _stateService.GetActiveUserEmailAsync() != Email;
EnvironmentDomainName = CoreHelpers.GetDomain((await _stateService.GetPreAuthEnvironmentUrlsAsync())?.Base);
EnvironmentDomainName = _environmentService.GetCurrentDomain();
IsKnownDevice = await _apiService.GetKnownDeviceAsync(Email, await _appIdService.GetAppIdAsync());
}
catch (ApiException apiEx) when (apiEx.Error.StatusCode == System.Net.HttpStatusCode.Unauthorized)

View file

@ -231,19 +231,18 @@ namespace Bit.App.Pages
StartDeviceApprovalOptionsAction?.Invoke();
return;
}
// If user doesn't have a MP, but has reset password permission, they must set a MP
if (!decryptOptions.HasMasterPassword &&
decryptOptions.TrustedDeviceOption.HasManageResetPasswordPermission)
{
StartSetPasswordAction?.Invoke();
return;
}
// Update temp password only if the device is trusted and therefore has a decrypted User Key set
if (response.ForcePasswordReset)
{
UpdateTempPasswordAction?.Invoke();
return;
}
// If user doesn't have a MP, but has reset password permission, they must set a MP
if (!decryptOptions.HasMasterPassword &&
decryptOptions.TrustedDeviceOption.HasManageResetPasswordPermission)
{
await _stateService.SetForcePasswordResetReasonAsync(ForcePasswordResetReason.TdeUserWithoutPasswordHasPasswordResetPermission);
}
// Device is trusted and has keys, so we can decrypt
_syncService.FullSyncAsync(true).FireAndForget();
SsoAuthSuccessAction?.Invoke();

View file

@ -29,7 +29,7 @@
<StackLayout Spacing="20">
<StackLayout StyleClass="box">
<StackLayout StyleClass="box-row">
<Label Text="{u:I18n SetMasterPasswordSummary}"
<Label Text="{Binding SetMasterPasswordSummary}"
StyleClass="text-md"
HorizontalTextAlignment="Start"></Label>
</StackLayout>

View file

@ -1,11 +1,7 @@
using System;
using System.Collections.Generic;
using System.Text;
using System.Text;
using System.Text.RegularExpressions;
using System.Threading.Tasks;
using Bit.App.Abstractions;
using Bit.Core.Resources.Localization;
using Bit.App.Utilities;
using Bit.Core;
using Bit.Core.Abstractions;
using Bit.Core.Enums;
@ -13,9 +9,6 @@ using Bit.Core.Exceptions;
using Bit.Core.Models.Domain;
using Bit.Core.Models.Request;
using Bit.Core.Utilities;
using Microsoft.Maui.Networking;
using Microsoft.Maui.Controls;
using Microsoft.Maui;
namespace Bit.App.Pages
{
@ -29,6 +22,7 @@ namespace Bit.App.Pages
private readonly IPolicyService _policyService;
private readonly IPasswordGenerationService _passwordGenerationService;
private readonly II18nService _i18nService;
private readonly ISyncService _syncService;
private bool _showPassword;
private bool _isPolicyInEffect;
@ -47,6 +41,7 @@ namespace Bit.App.Pages
_passwordGenerationService =
ServiceContainer.Resolve<IPasswordGenerationService>("passwordGenerationService");
_i18nService = ServiceContainer.Resolve<II18nService>("i18nService");
_syncService = ServiceContainer.Resolve<ISyncService>();
PageTitle = AppResources.SetMasterPassword;
TogglePasswordCommand = new Command(TogglePassword);
@ -101,11 +96,17 @@ namespace Bit.App.Pages
public Action CloseAction { get; set; }
public string OrgIdentifier { get; set; }
public string OrgId { get; set; }
public ForcePasswordResetReason? ForceSetPasswordReason { get; private set; }
public string SetMasterPasswordSummary => ForceSetPasswordReason == ForcePasswordResetReason.TdeUserWithoutPasswordHasPasswordResetPermission
? AppResources.YourOrganizationPermissionsWereUpdatedRequeringYouToSetAMasterPassword
: AppResources.YourOrganizationRequiresYouToSetAMasterPassword;
public async Task InitAsync()
{
await CheckPasswordPolicy();
ForceSetPasswordReason = await _stateService.GetForcePasswordResetReasonAsync();
TriggerPropertyChanged(nameof(SetMasterPasswordSummary));
try
{
var response = await _apiService.GetOrganizationAutoEnrollStatusAsync(OrgIdentifier);
@ -172,8 +173,7 @@ namespace Bit.App.Pages
var (newUserKey, newProtectedUserKey) = await _cryptoService.EncryptUserKeyWithMasterKeyAsync(newMasterKey,
await _cryptoService.GetUserKeyAsync() ?? await _cryptoService.MakeUserKeyAsync());
var (newPublicKey, newProtectedPrivateKey) = await _cryptoService.MakeKeyPairAsync(newUserKey);
var keysRequest = await GetKeysForSetPasswordRequestAsync(newUserKey);
var request = new SetPasswordRequest
{
MasterPasswordHash = masterPasswordHash,
@ -184,16 +184,12 @@ namespace Bit.App.Pages
KdfMemory = kdfConfig.Memory,
KdfParallelism = kdfConfig.Parallelism,
OrgIdentifier = OrgIdentifier,
Keys = new KeysRequest
{
PublicKey = newPublicKey,
EncryptedPrivateKey = newProtectedPrivateKey.EncryptedString
}
Keys = keysRequest
};
try
{
await _deviceActionService.ShowLoadingAsync(AppResources.CreatingAccount);
await _deviceActionService.ShowLoadingAsync(AppResources.Loading);
// Set Password and relevant information
await _apiService.SetPasswordAsync(request);
await _stateService.SetKdfConfigurationAsync(kdfConfig);
@ -201,7 +197,13 @@ namespace Bit.App.Pages
await _cryptoService.SetMasterKeyAsync(newMasterKey);
await _cryptoService.SetMasterKeyHashAsync(localMasterPasswordHash);
await _cryptoService.SetMasterKeyEncryptedUserKeyAsync(newProtectedUserKey.EncryptedString);
await _cryptoService.SetUserPrivateKeyAsync(newProtectedPrivateKey.EncryptedString);
// Set private key only for new JIT provisioned users in MP encryption orgs
// Existing TDE users will have private key set on sync or on login
if (keysRequest != null)
{
await _cryptoService.SetUserPrivateKeyAsync(keysRequest.EncryptedPrivateKey);
}
if (ResetPasswordAutoEnroll)
{
@ -222,6 +224,9 @@ namespace Bit.App.Pages
await _apiService.PutOrganizationUserResetPasswordEnrollmentAsync(OrgId, userId, resetRequest);
}
await _stateService.SetForcePasswordResetReasonAsync(null);
await _stateService.SetUserHasMasterPasswordAsync(true);
await _syncService.FullSyncAsync(true);
await _deviceActionService.HideLoadingAsync();
SetPasswordSuccessAction?.Invoke();
}
@ -236,6 +241,21 @@ namespace Bit.App.Pages
}
}
private async Task<KeysRequest> GetKeysForSetPasswordRequestAsync(UserKey newUserKey)
{
if (ForceSetPasswordReason == ForcePasswordResetReason.TdeUserWithoutPasswordHasPasswordResetPermission)
{
return null;
}
var (newPublicKey, newProtectedPrivateKey) = await _cryptoService.MakeKeyPairAsync(newUserKey);
return new KeysRequest
{
PublicKey = newPublicKey,
EncryptedPrivateKey = newProtectedPrivateKey.EncryptedString
};
}
public void TogglePassword()
{
ShowPassword = !ShowPassword;

View file

@ -10,6 +10,7 @@ using Bit.App.Utilities;
using Bit.Core.Abstractions;
using Bit.Core.Enums;
using Bit.Core.Exceptions;
using Bit.Core.Models.Domain;
using Bit.Core.Models.Request;
using Bit.Core.Services;
using Bit.Core.Utilities;
@ -338,20 +339,18 @@ Device.RuntimePlatform == Device.iOS ? AppResources.YubiKeyInstructionIos :
StartDeviceApprovalOptionsAction?.Invoke();
return;
}
// If user doesn't have a MP, but has reset password permission, they must set a MP
if (!decryptOptions.HasMasterPassword &&
decryptOptions.TrustedDeviceOption.HasManageResetPasswordPermission)
{
StartSetPasswordAction?.Invoke();
return;
}
// Update temp password only if the device is trusted and therefore has a decrypted User Key set
if (result.ForcePasswordReset)
{
UpdateTempPasswordAction?.Invoke();
return;
}
// If user doesn't have a MP, but has reset password permission, they must set a MP
if (!decryptOptions.HasMasterPassword &&
decryptOptions.TrustedDeviceOption.HasManageResetPasswordPermission)
{
await _stateService.SetForcePasswordResetReasonAsync(ForcePasswordResetReason.TdeUserWithoutPasswordHasPasswordResetPermission);
}
// Device is trusted and has keys, so we can decrypt
_syncService.FullSyncAsync(true).FireAndForget();
await TwoFactorAuthSuccessAsync();

View file

@ -53,6 +53,7 @@
Title="{u:I18n AllowScreenCapture}"
IsToggled="{Binding IsScreenCaptureAllowed}"
IsEnabled="{Binding CanToggleeScreenCaptureAllowed}"
IsVisible="{OnPlatform Android=True, iOS=False}"
AutomationId="AllowScreenCaptureSwitch"
StyleClass="settings-item-view"
HorizontalOptions="FillAndExpand" />

View file

@ -67,7 +67,7 @@
<controls:CustomLabel
Text="{u:I18n SessionTimeout}"
StyleClass="settings-header" />
<Frame
IsVisible="{Binding ShowVaultTimeoutPolicyInfo}"
Padding="10"
@ -109,8 +109,10 @@
<controls:SettingChooserItemView
Title="{u:I18n SessionTimeoutAction}"
Subtitle="{Binding SetUpUnlockMethodLabel}"
DisplayValue="{Binding VaultTimeoutActionPickerViewModel.SelectedValue}"
ChooseCommand="{Binding VaultTimeoutActionPickerViewModel.SelectOptionCommand}"
IsEnabled="{Binding IsVaultTimeoutActionLockAllowed}"
AutomationId="VaultTimeoutActionChooser"
StyleClass="settings-item-view"
HorizontalOptions="FillAndExpand"/>
@ -147,6 +149,7 @@
<controls:CustomLabel
Text="{u:I18n LockNow}"
IsVisible="{Binding IsVaultTimeoutActionLockAllowed}"
StyleClass="settings-navigatable-label"
AutomationId="LockNowLabel">
<Label.GestureRecognizers>

View file

@ -70,7 +70,7 @@ namespace Bit.App.Pages
_logger,
OnVaultTimeoutActionChangingAsync,
AppResources.SessionTimeoutAction,
() => _inited && !HasVaultTimeoutActionPolicy,
() => _inited && !HasVaultTimeoutActionPolicy && IsVaultTimeoutActionLockAllowed,
ex => HandleException(ex));
ToggleUseThisDeviceToApproveLoginRequestsCommand = CreateDefaultAsyncRelayCommand(ToggleUseThisDeviceToApproveLoginRequestsAsync, () => _inited, allowsMultipleExecutions: false);
@ -123,6 +123,7 @@ namespace Bit.App.Pages
get => _canUnlockWithBiometrics;
set
{
TriggerVaultTimeoutActionLockAllowedPropertyChanged();
if (SetProperty(ref _canUnlockWithBiometrics, value))
{
((ICommand)ToggleCanUnlockWithBiometricsCommand).Execute(null);
@ -135,6 +136,7 @@ namespace Bit.App.Pages
get => _canUnlockWithPin;
set
{
TriggerVaultTimeoutActionLockAllowedPropertyChanged();
if (SetProperty(ref _canUnlockWithPin, value))
{
((ICommand)ToggleCanUnlockWithPinCommand).Execute(null);
@ -142,6 +144,10 @@ namespace Bit.App.Pages
}
}
public bool IsVaultTimeoutActionLockAllowed => _hasMasterPassword || _canUnlockWithBiometrics || _canUnlockWithPin;
public string SetUpUnlockMethodLabel => IsVaultTimeoutActionLockAllowed ? null : AppResources.SetUpAnUnlockOptionToChangeYourVaultTimeoutAction;
public TimeSpan? CustomVaultTimeoutTime
{
get => _customVaultTimeoutTime;
@ -158,6 +164,7 @@ namespace Bit.App.Pages
MainThread.BeginInvokeOnMainThread(() => SetProperty(ref _customVaultTimeoutTime, oldValue));
});
}
TriggerVaultTimeoutActionLockAllowedPropertyChanged();
}
}
@ -197,8 +204,6 @@ namespace Bit.App.Pages
public bool ShowChangeMasterPassword { get; private set; }
private bool IsVaultTimeoutActionLockAllowed => _hasMasterPassword || _canUnlockWithBiometrics || _canUnlockWithPin;
private int? CurrentVaultTimeout => GetRawVaultTimeoutFrom(VaultTimeoutPickerViewModel.SelectedKey);
private bool IncludeLinksWithSubscriptionInfo => DeviceInfo.Platform != DevicePlatform.iOS;
@ -247,6 +252,7 @@ namespace Bit.App.Pages
TriggerPropertyChanged(nameof(VaultTimeoutPolicyDescription));
TriggerPropertyChanged(nameof(ShowChangeMasterPassword));
TriggerUpdateCustomVaultTimeoutPicker();
TriggerVaultTimeoutActionLockAllowedPropertyChanged();
ToggleUseThisDeviceToApproveLoginRequestsCommand.NotifyCanExecuteChanged();
ToggleCanUnlockWithBiometricsCommand.NotifyCanExecuteChanged();
ToggleCanUnlockWithPinCommand.NotifyCanExecuteChanged();
@ -299,6 +305,7 @@ namespace Bit.App.Pages
{
_customVaultTimeoutTime = TimeSpan.FromMinutes(vaultTimeout);
}
TriggerVaultTimeoutActionLockAllowedPropertyChanged();
}
private async Task InitVaultTimeoutActionPickerAsync()
@ -318,6 +325,7 @@ namespace Bit.App.Pages
}
VaultTimeoutActionPickerViewModel.Init(options, timeoutAction, IsVaultTimeoutActionLockAllowed ? VaultTimeoutAction.Lock : VaultTimeoutAction.Logout);
TriggerVaultTimeoutActionLockAllowedPropertyChanged();
}
private async Task ToggleUseThisDeviceToApproveLoginRequestsAsync()
@ -354,6 +362,7 @@ namespace Bit.App.Pages
{
if (!_canUnlockWithBiometrics)
{
MainThread.BeginInvokeOnMainThread(() => TriggerPropertyChanged(nameof(CanUnlockWithBiometrics)));
await UpdateVaultTimeoutActionIfNeededAsync();
await _biometricsService.SetCanUnlockWithBiometricsAsync(CanUnlockWithBiometrics);
return;
@ -369,11 +378,12 @@ namespace Bit.App.Pages
}
await _biometricsService.SetCanUnlockWithBiometricsAsync(CanUnlockWithBiometrics);
await InitVaultTimeoutActionPickerAsync();
}
public async Task ToggleCanUnlockWithPinAsync()
{
if (!CanUnlockWithPin)
if (!_canUnlockWithPin)
{
await _vaultTimeoutService.ClearAsync();
await UpdateVaultTimeoutActionIfNeededAsync();
@ -397,10 +407,12 @@ namespace Bit.App.Pages
AppResources.No);
await _userPinService.SetupPinAsync(newPin, requireMasterPasswordOnRestart);
await InitVaultTimeoutActionPickerAsync();
}
private async Task UpdateVaultTimeoutActionIfNeededAsync()
{
TriggerVaultTimeoutActionLockAllowedPropertyChanged();
if (IsVaultTimeoutActionLockAllowed)
{
return;
@ -461,6 +473,16 @@ namespace Bit.App.Pages
TriggerPropertyChanged(nameof(CustomVaultTimeoutTime));
}
private void TriggerVaultTimeoutActionLockAllowedPropertyChanged()
{
MainThread.BeginInvokeOnMainThread(() =>
{
TriggerPropertyChanged(nameof(IsVaultTimeoutActionLockAllowed));
TriggerPropertyChanged(nameof(SetUpUnlockMethodLabel));
VaultTimeoutActionPickerViewModel.SelectOptionCommand.NotifyCanExecuteChanged();
});
}
private int? GetRawVaultTimeoutFrom(int vaultTimeoutPickerKey)
{
if (vaultTimeoutPickerKey == NEVER_SESSION_TIMEOUT_VALUE)
@ -495,7 +517,7 @@ namespace Bit.App.Pages
await _vaultTimeoutService.SetVaultTimeoutOptionsAsync(CurrentVaultTimeout, timeoutActionKey);
_messagingService.Send(AppHelpers.VAULT_TIMEOUT_ACTION_CHANGED_MESSAGE_COMMAND);
TriggerVaultTimeoutActionLockAllowedPropertyChanged();
return true;
}

View file

@ -1,10 +1,14 @@
using Bit.App.Effects;
using System;
using System.Linq;
using System.Threading.Tasks;
using Bit.App.Effects;
using Bit.App.Models;
using Bit.Core.Resources.Localization;
using Bit.App.Utilities;
using Bit.Core;
using Bit.Core.Abstractions;
using Bit.Core.Models.Data;
using Bit.Core.Models.Domain;
using Bit.Core.Utilities;
namespace Bit.App.Pages
@ -97,11 +101,38 @@ namespace Bit.App.Pages
_messagingService.Send("convertAccountToKeyConnector");
}
var forcePasswordResetReason = await _stateService.GetForcePasswordResetReasonAsync();
await ForcePasswordResetIfNeededAsync();
}
if (forcePasswordResetReason.HasValue)
private async Task ForcePasswordResetIfNeededAsync()
{
var forcePasswordResetReason = await _stateService.GetForcePasswordResetReasonAsync();
switch (forcePasswordResetReason)
{
_messagingService.Send(Constants.ForceUpdatePassword);
case ForcePasswordResetReason.TdeUserWithoutPasswordHasPasswordResetPermission:
// TDE users should only have one org
var userOrgs = await _stateService.GetOrganizationsAsync();
if (userOrgs != null && userOrgs.Any())
{
_messagingService.Send(Constants.ForceSetPassword, userOrgs.First().Value.Identifier);
return;
}
_logger.Value.Error("TDE user needs to set password but has no organizations.");
var rememberedOrg = _stateService.GetRememberedOrgIdentifierAsync();
if (rememberedOrg == null)
{
_logger.Value.Error("TDE user needs to set password but has no organizations or remembered org identifier.");
return;
}
_messagingService.Send(Constants.ForceSetPassword, rememberedOrg);
return;
case ForcePasswordResetReason.AdminForcePasswordReset:
case ForcePasswordResetReason.WeakMasterPasswordOnLogin:
_messagingService.Send(Constants.ForceUpdatePassword);
break;
default:
return;
}
}

View file

@ -6227,6 +6227,15 @@ namespace Bit.Core.Resources.Localization {
}
}
/// <summary>
/// Looks up a localized string similar to Set up an unlock option to change your vault timeout action..
/// </summary>
public static string SetUpAnUnlockOptionToChangeYourVaultTimeoutAction {
get {
return ResourceManager.GetString("SetUpAnUnlockOptionToChangeYourVaultTimeoutAction", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Set up TOTP.
/// </summary>
@ -7766,6 +7775,24 @@ namespace Bit.Core.Resources.Localization {
}
}
/// <summary>
/// Looks up a localized string similar to Your organization permissions were updated, requiring you to set a master password..
/// </summary>
public static string YourOrganizationPermissionsWereUpdatedRequeringYouToSetAMasterPassword {
get {
return ResourceManager.GetString("YourOrganizationPermissionsWereUpdatedRequeringYouToSetAMasterPassword", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Your organization requires you to set a master password..
/// </summary>
public static string YourOrganizationRequiresYouToSetAMasterPassword {
get {
return ResourceManager.GetString("YourOrganizationRequiresYouToSetAMasterPassword", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Your request has been sent to your admin..
/// </summary>

View file

@ -2861,4 +2861,13 @@ Wil u na die rekening omskakel?</value>
<data name="AccountLoggedOutBiometricExceeded" xml:space="preserve">
<value>Account logged out.</value>
</data>
<data name="YourOrganizationPermissionsWereUpdatedRequeringYouToSetAMasterPassword" xml:space="preserve">
<value>Your organization permissions were updated, requiring you to set a master password.</value>
</data>
<data name="YourOrganizationRequiresYouToSetAMasterPassword" xml:space="preserve">
<value>Your organization requires you to set a master password.</value>
</data>
<data name="SetUpAnUnlockOptionToChangeYourVaultTimeoutAction" xml:space="preserve">
<value>Set up an unlock option to change your vault timeout action.</value>
</data>
</root>

View file

@ -2751,109 +2751,109 @@
<value>جارٍ تسجيل الدخول</value>
</data>
<data name="Vault" xml:space="preserve">
<value>Vault</value>
<value>الخزنة</value>
</data>
<data name="Appearance" xml:space="preserve">
<value>Appearance</value>
<value>المظهر</value>
</data>
<data name="AccountSecurity" xml:space="preserve">
<value>Account security</value>
<value>أمان الحساب</value>
</data>
<data name="BitwardenHelpCenter" xml:space="preserve">
<value>Bitwarden Help Center</value>
<value>مركز المساعدة Bitwarden</value>
</data>
<data name="ContactBitwardenSupport" xml:space="preserve">
<value>Contact Bitwarden support</value>
<value>اتصل بالدعم Bitwarden</value>
</data>
<data name="CopyAppInformation" xml:space="preserve">
<value>Copy app information</value>
<value>نسخ معلومات التطبيق</value>
</data>
<data name="SyncNow" xml:space="preserve">
<value>Sync now</value>
<value>المزامنة الآن</value>
</data>
<data name="UnlockOptions" xml:space="preserve">
<value>Unlock options</value>
<value>خيارات فتح القفل</value>
</data>
<data name="SessionTimeout" xml:space="preserve">
<value>Session timeout</value>
<value>مهلة الجلسة</value>
</data>
<data name="SessionTimeoutAction" xml:space="preserve">
<value>Session timeout action</value>
<value>إجراء مهلة الجلسة</value>
</data>
<data name="AccountFingerprintPhrase" xml:space="preserve">
<value>Account fingerprint phrase</value>
<value>عبارة بصمة الحساب</value>
<comment>A 'fingerprint phrase' is a unique word phrase (similar to a passphrase) that a user can use to authenticate their public key with another user, for the purposes of sharing.</comment>
</data>
<data name="OneHourAndOneMinute" xml:space="preserve">
<value>One hour and one minute</value>
<value>ساعة واحدة ودقيقة واحدة</value>
</data>
<data name="OneHourAndXMinute" xml:space="preserve">
<value>One hour and {0} minutes</value>
<value>ساعة واحدة و {0} دقيقة</value>
</data>
<data name="XHoursAndOneMinute" xml:space="preserve">
<value>{0} hours and one minute</value>
<value>{0} ساعات ودقيقة واحدة</value>
</data>
<data name="XHoursAndYMinutes" xml:space="preserve">
<value>{0} hours and {1} minutes</value>
<value>{0} ساعات و {1} دقيقة</value>
</data>
<data name="XHours" xml:space="preserve">
<value>{0} hours</value>
<value>{0} ساعات</value>
</data>
<data name="AutofillServicesExplanationLong" xml:space="preserve">
<value>The Android Autofill Framework is used to assist in filling login information into other apps on your device.</value>
<value>يتم استخدام إطار التعبئة التلقائية لأندرويد للمساعدة في ملء معلومات تسجيل الدخول في تطبيقات أخرى على جهازك.</value>
</data>
<data name="UseInlineAutofillExplanationLong" xml:space="preserve">
<value>Use inline autofill if your selected keyboard supports it. Otherwise, use the default overlay.</value>
<value>استخدم التعبئة التلقائية المضمنة إذا كانت لوحة المفاتيح المحددة تدعمها. وإلا استخدم التراكب الافتراضي.</value>
</data>
<data name="AdditionalOptions" xml:space="preserve">
<value>Additional options</value>
<value>خيارات إضافية</value>
</data>
<data name="ContinueToWebApp" xml:space="preserve">
<value>Continue to web app?</value>
<value>متابعة إلى تطبيق الويب؟</value>
</data>
<data name="ContinueToX" xml:space="preserve">
<value>Continue to {0}?</value>
<value>الإستمرار إلى {0}؟</value>
<comment>The parameter is an URL, like bitwarden.com.</comment>
</data>
<data name="ContinueToHelpCenter" xml:space="preserve">
<value>Continue to Help center?</value>
<value>هل تريد المتابعة إلى مركز المساعدة؟</value>
</data>
<data name="ContinueToContactSupport" xml:space="preserve">
<value>Continue to contact support?</value>
<value>مواصلة الاتصال بالدعم؟</value>
</data>
<data name="ContinueToAppStore" xml:space="preserve">
<value>Continue to app store?</value>
<value>هل تريد المتابعة إلى متجر التطبيقات؟</value>
</data>
<data name="TwoStepLoginDescriptionLong" xml:space="preserve">
<value>Make your account more secure by setting up two-step login in the Bitwarden web app.</value>
<value>اجعل حسابك أكثر أمنا من خلال إعداد تسجيل الدخول بخطوتين في تطبيق Bitwarden على شبكة الإنترنت.</value>
</data>
<data name="ChangeMasterPasswordDescriptionLong" xml:space="preserve">
<value>You can change your master password on the Bitwarden web app.</value>
<value>يمكنك تغيير كلمة المرور الرئيسية الخاصة بك على تطبيق ويب Bitwarden.</value>
</data>
<data name="YouCanImportDataToYourVaultOnX" xml:space="preserve">
<value>You can import data to your vault on {0}.</value>
<value>يمكنك استيراد البيانات إلى خزانتك على {0}.</value>
<comment>The parameter is an URL, like vault.bitwarden.com.</comment>
</data>
<data name="LearnMoreAboutHowToUseBitwardenOnTheHelpCenter" xml:space="preserve">
<value>Learn more about how to use Bitwarden on the Help center.</value>
<value>تعرف على المزيد حول كيفية استخدام Bitwarden في مركز المساعدة.</value>
</data>
<data name="ContactSupportDescriptionLong" xml:space="preserve">
<value>Cant find what you are looking for? Reach out to Bitwarden support on bitwarden.com.</value>
<value>لا يمكن العثور على ما تبحث عنه؟ قم بالتواصل مع دعم Bitwarden على bitwarden.com.</value>
</data>
<data name="ExploreMoreFeaturesOfYourBitwardenAccountOnTheWebApp" xml:space="preserve">
<value>Explore more features of your Bitwarden account on the web app.</value>
<value>استكشف المزيد من الميزات لحساب Bitwarden الخاص بك على تطبيق الويب.</value>
</data>
<data name="LearnAboutOrganizationsDescriptionLong" xml:space="preserve">
<value>Bitwarden allows you to share your vault items with others by using an organization. Learn more on the bitwarden.com website.</value>
<value>يتيح لك Bitwarden مشاركة عناصر خزنتك مع الآخرين باستخدام حساب المؤسسة. تعرف على المزيد على موقع bitwarden.com على شبكة الإنترنت.</value>
</data>
<data name="RateAppDescriptionLong" xml:space="preserve">
<value>Help others find out if Bitwarden is right for them. Visit the app store and leave a rating now.</value>
<value>ساعد الآخرين في معرفة ما إذا كان Bitwarden مناسبا لهم. قم بزيارة متجر التطبيقات وترك التقييم الآن.</value>
</data>
<data name="DefaultDarkThemeDescriptionLong" xml:space="preserve">
<value>Choose the dark theme to use when your devices dark mode is in use</value>
<value>اختر السمة المظلمة لاستخدامها عند استخدام الوضع المظلم لجهازك</value>
</data>
<data name="CreatedXY" xml:space="preserve">
<value>Created {0}, {1}</value>
<value>أنشئ {0}، {1}</value>
<comment>To state the date/time in which the cipher was created: Created 03/21/2023, 09:25 AM. First parameter is the date and the second parameter is the time.</comment>
</data>
<data name="TooManyAttempts" xml:space="preserve">
@ -2862,4 +2862,13 @@
<data name="AccountLoggedOutBiometricExceeded" xml:space="preserve">
<value>تم تسجيل الخروج من الحساب.</value>
</data>
<data name="YourOrganizationPermissionsWereUpdatedRequeringYouToSetAMasterPassword" xml:space="preserve">
<value>Your organization permissions were updated, requiring you to set a master password.</value>
</data>
<data name="YourOrganizationRequiresYouToSetAMasterPassword" xml:space="preserve">
<value>Your organization requires you to set a master password.</value>
</data>
<data name="SetUpAnUnlockOptionToChangeYourVaultTimeoutAction" xml:space="preserve">
<value>Set up an unlock option to change your vault timeout action.</value>
</data>
</root>

View file

@ -2860,4 +2860,13 @@ Bu hesaba keçmək istəyirsiniz?</value>
<data name="AccountLoggedOutBiometricExceeded" xml:space="preserve">
<value>Hesabdan çıxış edildi.</value>
</data>
<data name="YourOrganizationPermissionsWereUpdatedRequeringYouToSetAMasterPassword" xml:space="preserve">
<value>Təşkilatınızın icazələri güncəlləndi və bir ana parol ayarlamağınızı tələb edir.</value>
</data>
<data name="YourOrganizationRequiresYouToSetAMasterPassword" xml:space="preserve">
<value>Təşkilatınız bir ana parol ayarlamağı tələb edir.</value>
</data>
<data name="SetUpAnUnlockOptionToChangeYourVaultTimeoutAction" xml:space="preserve">
<value>Anbar vaxt bitməsi əməliyyatınızı dəyişdirmək üçün bir kilid açma seçimi qurun.</value>
</data>
</root>

View file

@ -2861,4 +2861,13 @@
<data name="AccountLoggedOutBiometricExceeded" xml:space="preserve">
<value>Account logged out.</value>
</data>
<data name="YourOrganizationPermissionsWereUpdatedRequeringYouToSetAMasterPassword" xml:space="preserve">
<value>Your organization permissions were updated, requiring you to set a master password.</value>
</data>
<data name="YourOrganizationRequiresYouToSetAMasterPassword" xml:space="preserve">
<value>Your organization requires you to set a master password.</value>
</data>
<data name="SetUpAnUnlockOptionToChangeYourVaultTimeoutAction" xml:space="preserve">
<value>Set up an unlock option to change your vault timeout action.</value>
</data>
</root>

View file

@ -2861,4 +2861,13 @@ select Add TOTP to store the key safely</value>
<data name="AccountLoggedOutBiometricExceeded" xml:space="preserve">
<value>Акаунтът е отписан.</value>
</data>
<data name="YourOrganizationPermissionsWereUpdatedRequeringYouToSetAMasterPassword" xml:space="preserve">
<value>Правата Ви в организацията бяха променени, необходимо е да зададете главна парола.</value>
</data>
<data name="YourOrganizationRequiresYouToSetAMasterPassword" xml:space="preserve">
<value>Организацията Ви изисква да зададете главна парола.</value>
</data>
<data name="SetUpAnUnlockOptionToChangeYourVaultTimeoutAction" xml:space="preserve">
<value>Задайте начин за отключване, за да може да промените действието при изтичане на времето за достъп до трезора.</value>
</data>
</root>

View file

@ -2862,4 +2862,13 @@ Do you want to switch to this account?</value>
<data name="AccountLoggedOutBiometricExceeded" xml:space="preserve">
<value>Account logged out.</value>
</data>
<data name="YourOrganizationPermissionsWereUpdatedRequeringYouToSetAMasterPassword" xml:space="preserve">
<value>Your organization permissions were updated, requiring you to set a master password.</value>
</data>
<data name="YourOrganizationRequiresYouToSetAMasterPassword" xml:space="preserve">
<value>Your organization requires you to set a master password.</value>
</data>
<data name="SetUpAnUnlockOptionToChangeYourVaultTimeoutAction" xml:space="preserve">
<value>Set up an unlock option to change your vault timeout action.</value>
</data>
</root>

View file

@ -2860,4 +2860,13 @@ Skeniranje će biti izvršeno automatski.</value>
<data name="AccountLoggedOutBiometricExceeded" xml:space="preserve">
<value>Account logged out.</value>
</data>
<data name="YourOrganizationPermissionsWereUpdatedRequeringYouToSetAMasterPassword" xml:space="preserve">
<value>Your organization permissions were updated, requiring you to set a master password.</value>
</data>
<data name="YourOrganizationRequiresYouToSetAMasterPassword" xml:space="preserve">
<value>Your organization requires you to set a master password.</value>
</data>
<data name="SetUpAnUnlockOptionToChangeYourVaultTimeoutAction" xml:space="preserve">
<value>Set up an unlock option to change your vault timeout action.</value>
</data>
</root>

View file

@ -2861,4 +2861,13 @@ Voleu canviar a aquest compte?</value>
<data name="AccountLoggedOutBiometricExceeded" xml:space="preserve">
<value>S'ha tancat la sessió del compte.</value>
</data>
<data name="YourOrganizationPermissionsWereUpdatedRequeringYouToSetAMasterPassword" xml:space="preserve">
<value>Els permisos de la vostra organització s'han actualitzat, cal que establiu una contrasenya mestra.</value>
</data>
<data name="YourOrganizationRequiresYouToSetAMasterPassword" xml:space="preserve">
<value>La vostra organització requereix que establiu una contrasenya mestra.</value>
</data>
<data name="SetUpAnUnlockOptionToChangeYourVaultTimeoutAction" xml:space="preserve">
<value>Configura una opció de desbloqueig per canviar l'acció de temps d'espera de la caixa forta.</value>
</data>
</root>

View file

@ -375,7 +375,7 @@
<comment>Validation message for when a form field is left blank and is required to be entered.</comment>
</data>
<data name="ValueHasBeenCopied" xml:space="preserve">
<value>{0} bylo zkopírováno.</value>
<value>{0}: zkopírováno</value>
<comment>Confirmation message after successfully copying a value to the clipboard.</comment>
</data>
<data name="VerifyFingerprint" xml:space="preserve">
@ -499,7 +499,7 @@
<value>Pro spuštění rozšíření klepněte na ikonu Bitwardenu v menu.</value>
</data>
<data name="ExtensionTurnOn" xml:space="preserve">
<value>Pro zapnutí Bitwardenu v prohlížeči Safari a dalších aplikacích klepněte na ikonu Další“ v dolní části menu.</value>
<value>Pro zapnutí Bitwardenu v prohlížeči Safari a dalších aplikacích klepněte na ikonu "Další“ v dolní části menu.</value>
</data>
<data name="Favorite" xml:space="preserve">
<value>Oblíbené</value>
@ -958,10 +958,10 @@ Načtení proběhne automaticky.</value>
<value>Vlastní prostředí</value>
</data>
<data name="CustomEnvironmentFooter" xml:space="preserve">
<value>Pro pokročilé uživatele. Můžete zadat základní URL adresu každé služby zvlášť.</value>
<value>Pro pokročilé uživatele. Můžete zadat základní URL každé služby zvlášť.</value>
</data>
<data name="EnvironmentSaved" xml:space="preserve">
<value>URL adresy vlastního prostředí byly uloženy.</value>
<value>URL vlastního prostředí byly uloženy.</value>
</data>
<data name="FormattedIncorrectly" xml:space="preserve">
<value>{0} nemá správný formát.</value>
@ -975,7 +975,7 @@ Načtení proběhne automaticky.</value>
<value>Vlastní hostované prostředí</value>
</data>
<data name="SelfHostedEnvironmentFooter" xml:space="preserve">
<value>Zadejte základní URL adresu vlastní hostované aplikace Bitwarden.</value>
<value>Zadejte základní URL vlastní hostované aplikace Bitwarden.</value>
</data>
<data name="ServerUrl" xml:space="preserve">
<value>URL serveru</value>
@ -1023,13 +1023,13 @@ Načtení proběhne automaticky.</value>
<value>Adresa 3</value>
</data>
<data name="April" xml:space="preserve">
<value>Duben</value>
<value>duben</value>
</data>
<data name="August" xml:space="preserve">
<value>Srpen</value>
<value>srpen</value>
</data>
<data name="Brand" xml:space="preserve">
<value>Značka</value>
<value>Vydavatel</value>
</data>
<data name="CardholderName" xml:space="preserve">
<value>Jméno držitele karty</value>
@ -1044,10 +1044,10 @@ Načtení proběhne automaticky.</value>
<value>Stát</value>
</data>
<data name="December" xml:space="preserve">
<value>Prosinec</value>
<value>prosinec</value>
</data>
<data name="Dr" xml:space="preserve">
<value>MUDr.</value>
<value>Dr.</value>
</data>
<data name="ExpirationMonth" xml:space="preserve">
<value>Měsíc expirace</value>
@ -1056,19 +1056,19 @@ Načtení proběhne automaticky.</value>
<value>Rok expirace</value>
</data>
<data name="February" xml:space="preserve">
<value>Únor</value>
<value>únor</value>
</data>
<data name="FirstName" xml:space="preserve">
<value>Křestní jméno</value>
</data>
<data name="January" xml:space="preserve">
<value>Leden</value>
<value>leden</value>
</data>
<data name="July" xml:space="preserve">
<value>Červenec</value>
<value>červenec</value>
</data>
<data name="June" xml:space="preserve">
<value>Červen</value>
<value>červen</value>
</data>
<data name="LastName" xml:space="preserve">
<value>Příjmení</value>
@ -1080,10 +1080,10 @@ Načtení proběhne automaticky.</value>
<value>Číslo dokladu totožnosti</value>
</data>
<data name="March" xml:space="preserve">
<value>Březen</value>
<value>březen</value>
</data>
<data name="May" xml:space="preserve">
<value>Květen</value>
<value>květen</value>
</data>
<data name="MiddleName" xml:space="preserve">
<value>Prostřední jméno</value>
@ -1101,10 +1101,10 @@ Načtení proběhne automaticky.</value>
<value>Neutrální</value>
</data>
<data name="November" xml:space="preserve">
<value>Listopad</value>
<value>listopad</value>
</data>
<data name="October" xml:space="preserve">
<value>Říjen</value>
<value>říjen</value>
</data>
<data name="PassportNumber" xml:space="preserve">
<value>Číslo cestovního pasu</value>
@ -1113,10 +1113,10 @@ Načtení proběhne automaticky.</value>
<value>Telefon</value>
</data>
<data name="September" xml:space="preserve">
<value>Září</value>
<value>září</value>
</data>
<data name="SSN" xml:space="preserve">
<value>Číslo sociálního pojištění</value>
<value>Rodné číslo</value>
</data>
<data name="StateProvince" xml:space="preserve">
<value>Kraj / Provincie</value>
@ -1298,22 +1298,22 @@ Načtení proběhne automaticky.</value>
<value>Přistupujte k Vašemu trezoru přímo z Vaší klávesnice pro rychlejší automatické vyplnění hesel.</value>
</data>
<data name="AutofillTurnOn" xml:space="preserve">
<value>Pokyny pro zapnutí automatického vyplňování hesel na vašem zařízení:</value>
<value>Pokyny pro zapnutí automatického vyplňování hesel na Vašem zařízení:</value>
</data>
<data name="AutofillTurnOn1" xml:space="preserve">
<value>1. Přejděte do aplikace "Nastavení" v iOS</value>
</data>
<data name="AutofillTurnOn2" xml:space="preserve">
<value>2. Klepněte na „Hesla“ > „Volby hesla“</value>
<value>2. Klepněte na "Hesla" > "Volby hesla"</value>
</data>
<data name="AutofillTurnOn3" xml:space="preserve">
<value>3. Povolte „Automatické vyplnění hesel“</value>
<value>3. Zapněte přepínač u položky "Automatické vyplnění hesel"</value>
</data>
<data name="AutofillTurnOn4" xml:space="preserve">
<value>4. Najděte sekci „Povolit vyplňování z“</value>
<value>4. Najděte sekci "Povolit vyplňování z:"</value>
</data>
<data name="AutofillTurnOn5" xml:space="preserve">
<value>5. Zvolte „Bitwarden“</value>
<value>5. Zvolte "Bitwarden"</value>
</data>
<data name="PasswordAutofill" xml:space="preserve">
<value>Automatické vyplňování hesel</value>
@ -1562,7 +1562,7 @@ Načtení proběhne automaticky.</value>
<value>Chcete po restartování aplikace vyžadovat hlavní heslo pro odemknutí trezoru?</value>
</data>
<data name="Black" xml:space="preserve">
<value>Černá</value>
<value>Černý</value>
<comment>The color black</comment>
</data>
<data name="Nord" xml:space="preserve">
@ -1570,7 +1570,7 @@ Načtení proběhne automaticky.</value>
<comment>'Nord' is the name of a specific color scheme. It should not be translated.</comment>
</data>
<data name="SolarizedDark" xml:space="preserve">
<value>Tmavý Solarized</value>
<value>Tmavý (solární)</value>
<comment>'Solarized Dark' is the name of a specific color scheme. It should not be translated.</comment>
</data>
<data name="AutofillBlockedUris" xml:space="preserve">
@ -1947,7 +1947,7 @@ Načtení proběhne automaticky.</value>
<value>Nové heslo</value>
</data>
<data name="PasswordInfo" xml:space="preserve">
<value>Volitelně vyžadovat heslo pro přístup k tomuto Send.</value>
<value>Volitelně bude vyžadovat heslo pro přístup k tomuto Send.</value>
<comment>'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated.</comment>
</data>
<data name="RemovePassword" xml:space="preserve">
@ -1967,7 +1967,7 @@ Načtení proběhne automaticky.</value>
<comment>'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated.</comment>
</data>
<data name="DisableSend" xml:space="preserve">
<value>Deaktivuje tento Send, díky čemuž k němu nebude moci nikdo přistoupit</value>
<value>Deaktivovat tento Send (nikdo k němu nebude mít přístup)</value>
<comment>'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated.</comment>
</data>
<data name="NoSends" xml:space="preserve">
@ -2299,13 +2299,13 @@ Načtení proběhne automaticky.</value>
<value>Nastavení zámku na "Nikdy" ponechá Váš trezor k dispozici komukoli s přístupem k Vašemu zařízení. Používáte-li tuto možnost, měli byste zajistit, aby Vaše zařízení bylo náležitě chráněno.</value>
</data>
<data name="EnvironmentPageUrlsError" xml:space="preserve">
<value>Jedna nebo více zadaných adres URL jsou neplatné. Zkontrolujte je a opakujte akci znovu.</value>
<value>Jedna nebo více zadaných URL jsou neplatné. Zkontrolujte je a opakujte akci znovu.</value>
</data>
<data name="GenericErrorMessage" xml:space="preserve">
<value>Nepodařilo se nám zpracovat Váš požadavek. Zkuste to znovu nebo nás kontaktujte.</value>
</data>
<data name="AllowScreenCapture" xml:space="preserve">
<value>Povolit záznam obrazovky</value>
<value>Zapnout záznam obrazovky</value>
</data>
<data name="AreYouSureYouWantToEnableScreenCapture" xml:space="preserve">
<value>Opravdu chcete zapnout záznam obrazovky?</value>
@ -2544,7 +2544,7 @@ Chcete se přepnout na tento účet?</value>
<value>Jazyk byl změněn na {0}. Pro zobrazení změn restartujte aplikaci.</value>
</data>
<data name="LanguageChangeRequiresAppRestart" xml:space="preserve">
<value>Změna jazyku vyžaduje restart aplikace</value>
<value>Změna jazyka vyžaduje restart aplikace.</value>
</data>
<data name="DefaultSystem" xml:space="preserve">
<value>Výchozí (Systémový)</value>
@ -2860,4 +2860,13 @@ Chcete se přepnout na tento účet?</value>
<data name="AccountLoggedOutBiometricExceeded" xml:space="preserve">
<value>Účet byl odhlášen.</value>
</data>
<data name="YourOrganizationPermissionsWereUpdatedRequeringYouToSetAMasterPassword" xml:space="preserve">
<value>Oprávnění Vaší organizace byla aktualizována. To vyžaduje nastavení hlavního hesla.</value>
</data>
<data name="YourOrganizationRequiresYouToSetAMasterPassword" xml:space="preserve">
<value>Vaše organizace vyžaduje nastavení hlavního hesla.</value>
</data>
<data name="SetUpAnUnlockOptionToChangeYourVaultTimeoutAction" xml:space="preserve">
<value>Nastavte volbu odemknutí, abyste změnili časový limit Vašeho trezoru.</value>
</data>
</root>

View file

@ -2862,4 +2862,13 @@ Do you want to switch to this account?</value>
<data name="AccountLoggedOutBiometricExceeded" xml:space="preserve">
<value>Account logged out.</value>
</data>
<data name="YourOrganizationPermissionsWereUpdatedRequeringYouToSetAMasterPassword" xml:space="preserve">
<value>Your organization permissions were updated, requiring you to set a master password.</value>
</data>
<data name="YourOrganizationRequiresYouToSetAMasterPassword" xml:space="preserve">
<value>Your organization requires you to set a master password.</value>
</data>
<data name="SetUpAnUnlockOptionToChangeYourVaultTimeoutAction" xml:space="preserve">
<value>Set up an unlock option to change your vault timeout action.</value>
</data>
</root>

View file

@ -2861,4 +2861,13 @@ Vil du skifte til denne konto?</value>
<data name="AccountLoggedOutBiometricExceeded" xml:space="preserve">
<value>Konto logget ud.</value>
</data>
<data name="YourOrganizationPermissionsWereUpdatedRequeringYouToSetAMasterPassword" xml:space="preserve">
<value>Organisationstilladelserne er blevet opdateret, og der kræves nu oprettelse af en hovedadgangskode.</value>
</data>
<data name="YourOrganizationRequiresYouToSetAMasterPassword" xml:space="preserve">
<value>Organisationen kræver, at der oprettes en hovedadgangskode.</value>
</data>
<data name="SetUpAnUnlockOptionToChangeYourVaultTimeoutAction" xml:space="preserve">
<value>Opsæt en oplåsningsmetode for at ændre Bokstimeouthandlingen.</value>
</data>
</root>

View file

@ -946,7 +946,7 @@ Das Scannen erfolgt automatisch.</value>
<value>Du kannst diese Funktion nicht nutzen, solange du deinen Verschlüsselungsschlüssel nicht aktualisiert hast.</value>
</data>
<data name="EncryptionKeyMigrationRequiredDescriptionLong" xml:space="preserve">
<value>Encryption key migration required. Please login through the web vault to update your encryption key.</value>
<value>Verschlüsselungscode-Migration erforderlich. Bitte melde dich über den Web-Tresor an, um deinen Verschlüsselungscode zu aktualisieren.</value>
</data>
<data name="LearnMore" xml:space="preserve">
<value>Mehr erfahren</value>
@ -2860,4 +2860,13 @@ Möchtest du zu diesem Konto wechseln?</value>
<data name="AccountLoggedOutBiometricExceeded" xml:space="preserve">
<value>Konto abgemeldet.</value>
</data>
<data name="YourOrganizationPermissionsWereUpdatedRequeringYouToSetAMasterPassword" xml:space="preserve">
<value>Deine Organisationsberechtigungen wurden aktualisiert und verlangen, dass du ein Master-Passwort festlegen musst.</value>
</data>
<data name="YourOrganizationRequiresYouToSetAMasterPassword" xml:space="preserve">
<value>Deine Organisation verlangt, dass du ein Master-Passwort festlegen musst.</value>
</data>
<data name="SetUpAnUnlockOptionToChangeYourVaultTimeoutAction" xml:space="preserve">
<value>Richte eine Entsperroption ein, um deine Aktion bei Tresor-Timeout zu ändern.</value>
</data>
</root>

View file

@ -247,8 +247,7 @@
<comment>Description message for the alert when internet connection is required to continue.</comment>
</data>
<data name="InternetConnectionRequiredTitle" xml:space="preserve">
<value>28/5000
Απαιτείται σύνδεση στο διαδίκτυο</value>
<value>Απαιτείται σύνδεση στο διαδίκτυο</value>
<comment>Title for the alert when internet connection is required to continue.</comment>
</data>
<data name="InvalidMasterPassword" xml:space="preserve">
@ -946,7 +945,7 @@
<value>Δεν μπορείτε να χρησιμοποιήσετε αυτήν τη δυνατότητα μέχρι να ενημερώσετε το κλειδί κρυπτογράφησης.</value>
</data>
<data name="EncryptionKeyMigrationRequiredDescriptionLong" xml:space="preserve">
<value>Encryption key migration required. Please login through the web vault to update your encryption key.</value>
<value>Απαιτείται μεταφορά του κλειδιού κρυπτογράφησης. Παρακαλούμε συνδεθείτε μέσω του web vault για να ενημερώσετε το κλειδί κρυπτογράφησης.</value>
</data>
<data name="LearnMore" xml:space="preserve">
<value>Μάθετε Περισσότερα</value>
@ -2623,28 +2622,28 @@
<value>Τρέχων κύριος κωδικός</value>
</data>
<data name="LoggedIn" xml:space="preserve">
<value>Logged in!</value>
<value>Έχετε συνδεθεί!</value>
</data>
<data name="ApproveWithMyOtherDevice" xml:space="preserve">
<value>Approve with my other device</value>
<value>Έγκριση μέσω άλλης συσκευής μου</value>
</data>
<data name="RequestAdminApproval" xml:space="preserve">
<value>Request admin approval</value>
<value>Αίτηση έγκρισης από διαχειριστή</value>
</data>
<data name="ApproveWithMasterPassword" xml:space="preserve">
<value>Approve with master password</value>
<value>Έγκριση με τον κύριο κωδικό πρόσβασης</value>
</data>
<data name="TurnOffUsingPublicDevice" xml:space="preserve">
<value>Turn off using a public device</value>
<value>Απενεργοποίηση με χρήση δημόσιας συσκευής</value>
</data>
<data name="RememberThisDevice" xml:space="preserve">
<value>Remember this device</value>
<value>Απομνημόνευση αυτής της συσκευής</value>
</data>
<data name="Passkey" xml:space="preserve">
<value>Συνθηματικό</value>
<value>Κλειδί πρόσβασης</value>
</data>
<data name="Passkeys" xml:space="preserve">
<value>Συνθηματικά</value>
<value>Κλειδιά πρόσβασης</value>
</data>
<data name="Application" xml:space="preserve">
<value>Εφαρμογή</value>
@ -2659,13 +2658,13 @@
<value>Το κλειδί πρόσβασης δεν θα αντιγραφεί στο κλωνοποιημένο στοιχείο. Θέλετε να συνεχίσετε την κλωνοποίηση αυτού του στοιχείου;</value>
</data>
<data name="CopyApplication" xml:space="preserve">
<value>Copy application</value>
<value>Αντιγραφή εφαρμογής</value>
</data>
<data name="AvailableForTwoStepLogin" xml:space="preserve">
<value>Διαθέσιμο για σύνδεση με δύο βήματα</value>
</data>
<data name="MasterPasswordRePromptHelp" xml:space="preserve">
<value>Master password re-prompt help</value>
<value>Βοήθεια προτροπής κύριου κωδικού πρόσβασης</value>
</data>
<data name="UnlockingMayFailDueToInsufficientMemoryDecreaseYourKDFMemorySettingsToResolve" xml:space="preserve">
<value>Το ξεκλείδωμα μπορεί να αποτύχει λόγω ανεπαρκούς μνήμης. Μειώστε τις ρυθμίσεις μνήμης KDF ή ρυθμίστε το βιομετρικό ξεκλείδωμα για επίλυση.</value>
@ -2677,188 +2676,197 @@
<value>Μη έγκυρο API token</value>
</data>
<data name="AdminApprovalRequested" xml:space="preserve">
<value>Admin approval requested</value>
<value>Ζητήθηκε έγκριση διαχειριστή</value>
</data>
<data name="YourRequestHasBeenSentToYourAdmin" xml:space="preserve">
<value>Your request has been sent to your admin.</value>
<value>Το αίτημά σας έχει σταλεί στον διαχειριστή σας.</value>
</data>
<data name="YouWillBeNotifiedOnceApproved" xml:space="preserve">
<value>You will be notified once approved. </value>
<value>Θα ειδοποιηθείτε μόλις εγκριθεί. </value>
</data>
<data name="TroubleLoggingIn" xml:space="preserve">
<value>Trouble logging in?</value>
<value>Δεν μπορείτε να συνδεθείτε;</value>
</data>
<data name="LoggingInAsX" xml:space="preserve">
<value>Logging in as {0}</value>
<value>Σύνδεση ως {0}</value>
</data>
<data name="VaultTimeoutActionChangedToLogOut" xml:space="preserve">
<value>Vault timeout action changed to log out</value>
<value>Η ενέργεια στη λήξη χρόνου του vault άλλαξε σε αποσύνδεση</value>
</data>
<data name="BlockAutoFill" xml:space="preserve">
<value>Block auto-fill</value>
<value>Αποκλείστε την αυτόματη συμπλήρωση</value>
</data>
<data name="AutoFillWillNotBeOfferedForTheseURIs" xml:space="preserve">
<value>Auto-fill will not be offered for these URIs.</value>
<value>Η αυτόματη συμπλήρωση δε θα προσφέρεται για αυτά τα URI.</value>
</data>
<data name="NewBlockedURI" xml:space="preserve">
<value>New blocked URI</value>
<value>Νέο αποκλεισμένο URI</value>
</data>
<data name="URISaved" xml:space="preserve">
<value>URI saved</value>
<value>URI αποθηκεύτηκε</value>
</data>
<data name="InvalidFormatUseHttpsHttpOrAndroidApp" xml:space="preserve">
<value>Invalid format. Use https://, http://, or androidapp://</value>
<value>Μη έγκυρη μορφή. Χρησιμοποιήστε https://, http://, ή androidapp://</value>
<comment>https://, http://, androidapp:// should not be translated</comment>
</data>
<data name="EditURI" xml:space="preserve">
<value>Edit URI</value>
<value>Επεξεργασία του URI</value>
</data>
<data name="EnterURI" xml:space="preserve">
<value>Enter URI</value>
<value>Καταχωρήστε URI</value>
</data>
<data name="FormatXSeparateMultipleURIsWithAComma" xml:space="preserve">
<value>Format: {0}. Separate multiple URIs with a comma.</value>
<value>Μορφή: {0}. Διαχωρίστε τα πολλαπλά URI με κόμμα.</value>
</data>
<data name="FormatX" xml:space="preserve">
<value>Format: {0}</value>
<value>Μορφή: {0}</value>
</data>
<data name="InvalidURI" xml:space="preserve">
<value>Invalid URI</value>
<value>Μη έγκυρο URI</value>
</data>
<data name="URIRemoved" xml:space="preserve">
<value>URI removed</value>
<value>Το URI αφαιρέθηκε</value>
</data>
<data name="ThereAreNoBlockedURIs" xml:space="preserve">
<value>There are no blocked URIs</value>
<value>Δεν υπάρχουν αποκλεισμένα URI</value>
</data>
<data name="TheURIXIsAlreadyBlocked" xml:space="preserve">
<value>The URI {0} is already blocked</value>
<value>Το URI {0} είναι ήδη αποκλεισμένο</value>
</data>
<data name="CannotEditMultipleURIsAtOnce" xml:space="preserve">
<value>Cannot edit multiple URIs at once</value>
<value>Αδυναμία επεξεργασίας πολλαπλών URI ταυτόχρονα</value>
</data>
<data name="LoginApproved" xml:space="preserve">
<value>Login approved</value>
<value>Η σύνδεση εγκρίθηκε</value>
</data>
<data name="LogInWithDeviceMustBeSetUpInTheSettingsOfTheBitwardenAppNeedAnotherOption" xml:space="preserve">
<value>Log in with device must be set up in the settings of the Bitwarden app. Need another option?</value>
<value>Η σύνδεση με χρήση συσκευής πρέπει να ρυθμιστεί στις ρυθμίσεις της εφαρμογής Bitwarden. Χρειάζεστε άλλη επιλογή;</value>
</data>
<data name="LogInWithDevice" xml:space="preserve">
<value>Log in with device</value>
<value>Σύνδεση με χρήση συσκευής</value>
</data>
<data name="LoggingInOn" xml:space="preserve">
<value>Logging in on</value>
<value>Σύνδεση στο</value>
</data>
<data name="Vault" xml:space="preserve">
<value>Vault</value>
</data>
<data name="Appearance" xml:space="preserve">
<value>Appearance</value>
<value>Εμφάνιση</value>
</data>
<data name="AccountSecurity" xml:space="preserve">
<value>Account security</value>
<value>Ασφάλεια λογαριασμού</value>
</data>
<data name="BitwardenHelpCenter" xml:space="preserve">
<value>Bitwarden Help Center</value>
<value>Κέντρο Βοήθειας Bitwarden</value>
</data>
<data name="ContactBitwardenSupport" xml:space="preserve">
<value>Contact Bitwarden support</value>
<value>Επικοινωνία με την υποστήριξη του Bitwarden</value>
</data>
<data name="CopyAppInformation" xml:space="preserve">
<value>Copy app information</value>
<value>Αντιγραφή πληροφοριών εφαρμογής</value>
</data>
<data name="SyncNow" xml:space="preserve">
<value>Sync now</value>
<value>Συγχρονισμός τώρα</value>
</data>
<data name="UnlockOptions" xml:space="preserve">
<value>Unlock options</value>
<value>Επιλογές Κλειδώματος</value>
</data>
<data name="SessionTimeout" xml:space="preserve">
<value>Session timeout</value>
<value>Χρονικό όριο συνεδρίας</value>
</data>
<data name="SessionTimeoutAction" xml:space="preserve">
<value>Session timeout action</value>
<value>Ενέργεια στη λήξη χρόνου συνεδρίας</value>
</data>
<data name="AccountFingerprintPhrase" xml:space="preserve">
<value>Account fingerprint phrase</value>
<value>"Φράση αποτυπώματος" λογαριασμού</value>
<comment>A 'fingerprint phrase' is a unique word phrase (similar to a passphrase) that a user can use to authenticate their public key with another user, for the purposes of sharing.</comment>
</data>
<data name="OneHourAndOneMinute" xml:space="preserve">
<value>One hour and one minute</value>
<value>Μία ώρα και ένα λεπτό</value>
</data>
<data name="OneHourAndXMinute" xml:space="preserve">
<value>One hour and {0} minutes</value>
<value>Μία ώρα και {0} λεπτά</value>
</data>
<data name="XHoursAndOneMinute" xml:space="preserve">
<value>{0} hours and one minute</value>
<value>{0} ώρες και ένα λεπτό</value>
</data>
<data name="XHoursAndYMinutes" xml:space="preserve">
<value>{0} hours and {1} minutes</value>
<value>{0} ώρες και {1} λεπτά</value>
</data>
<data name="XHours" xml:space="preserve">
<value>{0} hours</value>
<value>{0} ώρες</value>
</data>
<data name="AutofillServicesExplanationLong" xml:space="preserve">
<value>The Android Autofill Framework is used to assist in filling login information into other apps on your device.</value>
<value>Το Android Autofill Framework χρησιμοποιείται για να προσφέρει αυτόματη συμπλήρωση στοιχείων σύνδεσης σε άλλες εφαρμογές στη συσκευή σας.</value>
</data>
<data name="UseInlineAutofillExplanationLong" xml:space="preserve">
<value>Use inline autofill if your selected keyboard supports it. Otherwise, use the default overlay.</value>
<value>Χρησιμοποιήστε την ενσωματωμένη αυτόματη συμπλήρωση αν το πληκτρολόγιο σας την υποστηρίζει. Διαφορετικά, χρησιμοποιήστε την προεπιλεγμένη επικάλυψη.</value>
</data>
<data name="AdditionalOptions" xml:space="preserve">
<value>Additional options</value>
<value>Πρόσθετες επιλογές</value>
</data>
<data name="ContinueToWebApp" xml:space="preserve">
<value>Continue to web app?</value>
<value>Συνέχεια στην εφαρμογή διαδικτύου;</value>
</data>
<data name="ContinueToX" xml:space="preserve">
<value>Continue to {0}?</value>
<value>Συνέχεια στο {0};</value>
<comment>The parameter is an URL, like bitwarden.com.</comment>
</data>
<data name="ContinueToHelpCenter" xml:space="preserve">
<value>Continue to Help center?</value>
<value>Συνέχεια στο κέντρο βοήθειας;</value>
</data>
<data name="ContinueToContactSupport" xml:space="preserve">
<value>Continue to contact support?</value>
<value>Συνέχεια στην επικοινωνία με την υποστήριξη;</value>
</data>
<data name="ContinueToAppStore" xml:space="preserve">
<value>Continue to app store?</value>
<value>Συνέχεια στο κατάστημα εφαρμογών;</value>
</data>
<data name="TwoStepLoginDescriptionLong" xml:space="preserve">
<value>Make your account more secure by setting up two-step login in the Bitwarden web app.</value>
<value>Κάντε τον λογαριασμό σας πιο ασφαλή με τη ρύθμιση δύο βημάτων σύνδεσης στην εφαρμογή διαδικτύου Bitwarden.</value>
</data>
<data name="ChangeMasterPasswordDescriptionLong" xml:space="preserve">
<value>You can change your master password on the Bitwarden web app.</value>
<value>Μπορείτε να αλλάξετε τον κύριο κωδικό πρόσβασης στην εφαρμογή διαδικτύου Bitwarden.</value>
</data>
<data name="YouCanImportDataToYourVaultOnX" xml:space="preserve">
<value>You can import data to your vault on {0}.</value>
<value>Μπορείτε να εισαγάγετε δεδομένα στο vault σας στο {0}.</value>
<comment>The parameter is an URL, like vault.bitwarden.com.</comment>
</data>
<data name="LearnMoreAboutHowToUseBitwardenOnTheHelpCenter" xml:space="preserve">
<value>Learn more about how to use Bitwarden on the Help center.</value>
<value>Μάθετε περισσότερα για το πώς να χρησιμοποιήσετε το Bitwarden στο κέντρο βοήθειας.</value>
</data>
<data name="ContactSupportDescriptionLong" xml:space="preserve">
<value>Cant find what you are looking for? Reach out to Bitwarden support on bitwarden.com.</value>
<value>Δεν μπορείτε να βρείτε αυτό που ψάχνετε; Επικοινωνήστε με την υποστήριξη Bitwarden στο bitwarden.com.</value>
</data>
<data name="ExploreMoreFeaturesOfYourBitwardenAccountOnTheWebApp" xml:space="preserve">
<value>Explore more features of your Bitwarden account on the web app.</value>
<value>Εξερευνήστε περισσότερες δυνατότητες του Bitwarden λογαριασμού σας, στην εφαρμογή διαδικτύου.</value>
</data>
<data name="LearnAboutOrganizationsDescriptionLong" xml:space="preserve">
<value>Bitwarden allows you to share your vault items with others by using an organization. Learn more on the bitwarden.com website.</value>
<value>Το Bitwarden σας επιτρέπει να μοιράζεστε τα στοιχεία του vault σας με άλλους, χρησιμοποιώντας έναν λογαριασμό οργανισμού. Μάθετε περισσότερα στην ιστοσελίδα bitwarden.com.</value>
</data>
<data name="RateAppDescriptionLong" xml:space="preserve">
<value>Help others find out if Bitwarden is right for them. Visit the app store and leave a rating now.</value>
<value>Βοηθήστε άλλους να μάθουν αν το Bitwarden είναι κατάλληλο για αυτούς. Επισκεφθείτε το κατάστημα εφαρμογών και αφήστε τώρα μια βαθμολογία.</value>
</data>
<data name="DefaultDarkThemeDescriptionLong" xml:space="preserve">
<value>Choose the dark theme to use when your devices dark mode is in use</value>
<value>Επιλέξτε να χρησιμοποιείται το σκούρο θέμα όταν η συσκευή σας βρίσκεται σε σκοτεινή λειτουργία</value>
</data>
<data name="CreatedXY" xml:space="preserve">
<value>Created {0}, {1}</value>
<value>Δημιουργήθηκε {0}, {1}</value>
<comment>To state the date/time in which the cipher was created: Created 03/21/2023, 09:25 AM. First parameter is the date and the second parameter is the time.</comment>
</data>
<data name="TooManyAttempts" xml:space="preserve">
<value>Too many attempts</value>
<value>Πάρα πολλές προσπάθειες</value>
</data>
<data name="AccountLoggedOutBiometricExceeded" xml:space="preserve">
<value>Account logged out.</value>
<value>Ο λογαριασμός αποσυνδέθηκε.</value>
</data>
<data name="YourOrganizationPermissionsWereUpdatedRequeringYouToSetAMasterPassword" xml:space="preserve">
<value>Τα δικαιώματα του οργανισμού σας ενημερώθηκαν, απαιτώντας από εσάς να ορίσετε έναν κύριο κωδικό πρόσβασης.</value>
</data>
<data name="YourOrganizationRequiresYouToSetAMasterPassword" xml:space="preserve">
<value>Ο οργανισμός σας απαιτεί να ορίσετε έναν κύριο κωδικό πρόσβασης.</value>
</data>
<data name="SetUpAnUnlockOptionToChangeYourVaultTimeoutAction" xml:space="preserve">
<value>Ρυθμίστε μια επιλογή κλειδώματος για να αλλάξετε την ενέργεια στη λήξη χρόνου του vault σας.</value>
</data>
</root>

View file

@ -2861,4 +2861,13 @@ Do you want to switch to this account?</value>
<data name="AccountLoggedOutBiometricExceeded" xml:space="preserve">
<value>Account logged out.</value>
</data>
<data name="YourOrganizationPermissionsWereUpdatedRequeringYouToSetAMasterPassword" xml:space="preserve">
<value>Your organization permissions were updated, requiring you to set a master password.</value>
</data>
<data name="YourOrganizationRequiresYouToSetAMasterPassword" xml:space="preserve">
<value>Your organization requires you to set a master password.</value>
</data>
<data name="SetUpAnUnlockOptionToChangeYourVaultTimeoutAction" xml:space="preserve">
<value>Set up an unlock option to change your vault timeout action.</value>
</data>
</root>

View file

@ -2875,4 +2875,13 @@ Do you want to switch to this account?</value>
<data name="AccountLoggedOutBiometricExceeded" xml:space="preserve">
<value>Account logged out.</value>
</data>
<data name="YourOrganizationPermissionsWereUpdatedRequeringYouToSetAMasterPassword" xml:space="preserve">
<value>Your organization permissions were updated, requiring you to set a master password.</value>
</data>
<data name="YourOrganizationRequiresYouToSetAMasterPassword" xml:space="preserve">
<value>Your organization requires you to set a master password.</value>
</data>
<data name="SetUpAnUnlockOptionToChangeYourVaultTimeoutAction" xml:space="preserve">
<value>Set up an unlock option to change your vault timeout action.</value>
</data>
</root>

View file

@ -2862,4 +2862,13 @@ seleccione Agregar TOTP para almacenar la clave de forma segura</value>
<data name="AccountLoggedOutBiometricExceeded" xml:space="preserve">
<value>Account logged out.</value>
</data>
<data name="YourOrganizationPermissionsWereUpdatedRequeringYouToSetAMasterPassword" xml:space="preserve">
<value>Your organization permissions were updated, requiring you to set a master password.</value>
</data>
<data name="YourOrganizationRequiresYouToSetAMasterPassword" xml:space="preserve">
<value>Your organization requires you to set a master password.</value>
</data>
<data name="SetUpAnUnlockOptionToChangeYourVaultTimeoutAction" xml:space="preserve">
<value>Set up an unlock option to change your vault timeout action.</value>
</data>
</root>

View file

@ -2861,4 +2861,13 @@ Soovid selle konto peale lülituda?</value>
<data name="AccountLoggedOutBiometricExceeded" xml:space="preserve">
<value>Account logged out.</value>
</data>
<data name="YourOrganizationPermissionsWereUpdatedRequeringYouToSetAMasterPassword" xml:space="preserve">
<value>Your organization permissions were updated, requiring you to set a master password.</value>
</data>
<data name="YourOrganizationRequiresYouToSetAMasterPassword" xml:space="preserve">
<value>Your organization requires you to set a master password.</value>
</data>
<data name="SetUpAnUnlockOptionToChangeYourVaultTimeoutAction" xml:space="preserve">
<value>Set up an unlock option to change your vault timeout action.</value>
</data>
</root>

View file

@ -2860,4 +2860,13 @@ Kontu honetara aldatu nahi duzu?</value>
<data name="AccountLoggedOutBiometricExceeded" xml:space="preserve">
<value>Account logged out.</value>
</data>
<data name="YourOrganizationPermissionsWereUpdatedRequeringYouToSetAMasterPassword" xml:space="preserve">
<value>Your organization permissions were updated, requiring you to set a master password.</value>
</data>
<data name="YourOrganizationRequiresYouToSetAMasterPassword" xml:space="preserve">
<value>Your organization requires you to set a master password.</value>
</data>
<data name="SetUpAnUnlockOptionToChangeYourVaultTimeoutAction" xml:space="preserve">
<value>Set up an unlock option to change your vault timeout action.</value>
</data>
</root>

View file

@ -2862,4 +2862,13 @@
<data name="AccountLoggedOutBiometricExceeded" xml:space="preserve">
<value>حساب از سیستم خارج شد.</value>
</data>
<data name="YourOrganizationPermissionsWereUpdatedRequeringYouToSetAMasterPassword" xml:space="preserve">
<value>Your organization permissions were updated, requiring you to set a master password.</value>
</data>
<data name="YourOrganizationRequiresYouToSetAMasterPassword" xml:space="preserve">
<value>Your organization requires you to set a master password.</value>
</data>
<data name="SetUpAnUnlockOptionToChangeYourVaultTimeoutAction" xml:space="preserve">
<value>Set up an unlock option to change your vault timeout action.</value>
</data>
</root>

View file

@ -2862,4 +2862,13 @@ Haluatko vaihtaa tähän tiliin?</value>
<data name="AccountLoggedOutBiometricExceeded" xml:space="preserve">
<value>Tili kirjattiin ulos.</value>
</data>
<data name="YourOrganizationPermissionsWereUpdatedRequeringYouToSetAMasterPassword" xml:space="preserve">
<value>Organisaatiosi käyttöoikeuksia muutettiin ja tämän seurauksena sinun on asetettava pääsalasana.</value>
</data>
<data name="YourOrganizationRequiresYouToSetAMasterPassword" xml:space="preserve">
<value>Organisaatiosi edellyttää, että asetat pääsalasanan.</value>
</data>
<data name="SetUpAnUnlockOptionToChangeYourVaultTimeoutAction" xml:space="preserve">
<value>Muuta holvisi aikakatkaisutoimintoa määrittämällä lukituksen avaustapa.</value>
</data>
</root>

View file

@ -2862,4 +2862,13 @@ Gusto mo bang pumunta sa account na ito?</value>
<data name="AccountLoggedOutBiometricExceeded" xml:space="preserve">
<value>Account logged out.</value>
</data>
<data name="YourOrganizationPermissionsWereUpdatedRequeringYouToSetAMasterPassword" xml:space="preserve">
<value>Your organization permissions were updated, requiring you to set a master password.</value>
</data>
<data name="YourOrganizationRequiresYouToSetAMasterPassword" xml:space="preserve">
<value>Your organization requires you to set a master password.</value>
</data>
<data name="SetUpAnUnlockOptionToChangeYourVaultTimeoutAction" xml:space="preserve">
<value>Set up an unlock option to change your vault timeout action.</value>
</data>
</root>

View file

@ -455,7 +455,7 @@
<value>Continuer</value>
</data>
<data name="CreateAccount" xml:space="preserve">
<value>Créer un compte</value>
<value>Créez un compte</value>
</data>
<data name="CreatingAccount" xml:space="preserve">
<value>Création du compte...</value>
@ -686,10 +686,10 @@
<comment>Message shown when interacting with the server</comment>
</data>
<data name="SyncingComplete" xml:space="preserve">
<value>Synchronisation terminée</value>
<value>Synchronisation achevée</value>
</data>
<data name="SyncingFailed" xml:space="preserve">
<value>Échec de la synchronisation</value>
<value>Synchronisation échouée</value>
</data>
<data name="SyncVaultNow" xml:space="preserve">
<value>Synchroniser le coffre maintenant</value>
@ -778,7 +778,7 @@
<value>Le moyen le plus simple d'ajouter de nouveaux identifiants à votre coffre est d'utiliser le service de saisie automatique Bitwarden. Pour en savoir davantage sur l'utilisation du service de saisie automatique Bitwarden, naviguez jusqu'à l'écran "Paramètres".</value>
</data>
<data name="Autofill" xml:space="preserve">
<value>Saisir automatiquement</value>
<value>Saisie automatique</value>
</data>
<data name="AutofillOrView" xml:space="preserve">
<value>Voulez-vous saisir automatiquement ou afficher cet élément ?</value>
@ -907,7 +907,7 @@ La numérisation se fera automatiquement.</value>
<value>Copier le TOTP</value>
</data>
<data name="CopyTotpAutomaticallyDescription" xml:space="preserve">
<value>Si un identifiant a une clé d'authentification, copier le code de vérification TOTP dans votre presse-papier quand vous remplissez automatiquement l'identifiant.</value>
<value>Si un identifiant possède une clé d'authentification, copiez le code de vérification TOTP dans votre presse-papiers lorsque vous saisissez automatiquement l'identifiant.</value>
</data>
<data name="CopyTotpAutomatically" xml:space="preserve">
<value>Copier TOTP automatiquement</value>
@ -1134,7 +1134,7 @@ La numérisation se fera automatiquement.</value>
<value>Expiration</value>
</data>
<data name="ShowWebsiteIcons" xml:space="preserve">
<value>Afficher les icônes du site web</value>
<value>Afficher les icônes des sites web</value>
</data>
<data name="ShowWebsiteIconsDescription" xml:space="preserve">
<value>Affichez une image reconnaissable à côté de chaque identifiant.</value>
@ -1304,13 +1304,13 @@ La numérisation se fera automatiquement.</value>
<value>1. Allez dans l'application "Réglages" d'iOS</value>
</data>
<data name="AutofillTurnOn2" xml:space="preserve">
<value>2. Appuyez sur "Mots de passe et comptes"</value>
<value>2. Appuyez sur "Mots de passe"</value>
</data>
<data name="AutofillTurnOn3" xml:space="preserve">
<value>3. Appuyez sur "Préremplir mots de passe"</value>
<value>3. Appuyez sur "Options des mots de passe"</value>
</data>
<data name="AutofillTurnOn4" xml:space="preserve">
<value>4. Activez "Préremplir mots de passe"</value>
<value>4. Activez "Remplir automatiquement les mots de passe et les clés d'identification"</value>
</data>
<data name="AutofillTurnOn5" xml:space="preserve">
<value>5. Sélectionnez "Bitwarden"</value>
@ -1378,10 +1378,10 @@ La numérisation se fera automatiquement.</value>
<value>Rechercher dans la collection</value>
</data>
<data name="SearchFileSends" xml:space="preserve">
<value>Rechercher des fichiers Sends</value>
<value>Rechercher des Send fichier</value>
</data>
<data name="SearchTextSends" xml:space="preserve">
<value>Rechercher des textes Sends</value>
<value>Rechercher des Sends texte</value>
</data>
<data name="SearchGroup" xml:space="preserve">
<value>Rechercher {0} :</value>
@ -1400,7 +1400,7 @@ La numérisation se fera automatiquement.</value>
<value>Divers</value>
</data>
<data name="Ownership" xml:space="preserve">
<value>Propriété</value>
<value>Propriétaire</value>
</data>
<data name="WhoOwnsThisItem" xml:space="preserve">
<value>À qui appartient cet élément ?</value>
@ -1431,7 +1431,7 @@ La numérisation se fera automatiquement.</value>
<value>Aucune organisation à lister.</value>
</data>
<data name="MoveToOrgDesc" xml:space="preserve">
<value>Choisissez une organisation vers laquelle vous souhaitez déplacer cet élément. Déplacer un élément vers une organisation transfère la propriété de l'élément à cette organisation. Vous ne serez plus le propriétaire direct de cet élément une fois qu'il aura été déplacé.</value>
<value>Choisissez une organisation vers laquelle vous souhaitez déplacer cet élément. Le déplacement vers une organisation transfère le Propriétaire de l'élément à cette organisation. Vous ne serez plus le propriétaire direct de cet élément une fois qu'il aura été déplacé.</value>
</data>
<data name="NumberOfWords" xml:space="preserve">
<value>Nombre de mots</value>
@ -1526,7 +1526,7 @@ La numérisation se fera automatiquement.</value>
<comment>Clipboard is the operating system thing where you copy/paste data to on your device.</comment>
</data>
<data name="ClearClipboardDescription" xml:space="preserve">
<value>Effacer automatiquement de votre presse-papiers les valeurs copiées.</value>
<value>Effacez automatiquement les valeurs copiées de votre presse-papiers.</value>
<comment>Clipboard is the operating system thing where you copy/paste data to on your device.</comment>
</data>
<data name="DefaultUriMatchDetection" xml:space="preserve">
@ -1750,7 +1750,7 @@ La numérisation se fera automatiquement.</value>
<value>Autoriser la synchronisation au rafraîchissement</value>
</data>
<data name="EnableSyncOnRefreshDescription" xml:space="preserve">
<value>Synchronisation du coffre avec un geste vers le bas</value>
<value>Synchronisez le coffre avec un geste vers le bas.</value>
</data>
<data name="LogInSso" xml:space="preserve">
<value>Portail de connexion unique d'entreprise</value>
@ -1853,10 +1853,10 @@ La numérisation se fera automatiquement.</value>
<value>Si cette option est activée, l'accessibilité affichera une popup pour améliorer le service de remplissage automatique pour les anciennes applications qui ne prennent pas en charge les outils de remplissage automatique d'Android.</value>
</data>
<data name="PersonalOwnershipSubmitError" xml:space="preserve">
<value>En raison d'une Politique d'Entreprise, il vous est interdit d'enregistrer des objets dans votre coffre personnel. Changez l'option Propriété pour une organisation et choisissez parmi les Collections disponibles.</value>
<value>En raison d'une politique d'entreprise, il vous est interdit d'enregistrer des éléments dans votre coffre personnel. Changez l'option Propriétaire au profit d'une organisation et choisissez parmi les collections disponibles.</value>
</data>
<data name="PersonalOwnershipPolicyInEffect" xml:space="preserve">
<value>Une politique d'organisation affecte vos options de propriété.</value>
<value>Une politique d'organisation affecte vos options de Propriétaire.</value>
</data>
<data name="Send" xml:space="preserve">
<value>Send</value>
@ -1968,7 +1968,7 @@ La numérisation se fera automatiquement.</value>
<comment>'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated.</comment>
</data>
<data name="DisableSend" xml:space="preserve">
<value>Désactiver cet envoi pour que personne ne puisse y accéder.</value>
<value>Désactiver ce Send pour que personne ne puisse y accéder</value>
<comment>'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated.</comment>
</data>
<data name="NoSends" xml:space="preserve">
@ -1998,7 +1998,7 @@ La numérisation se fera automatiquement.</value>
<comment>'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated.</comment>
</data>
<data name="AddSend" xml:space="preserve">
<value>Ajouter un Send</value>
<value>Nouveau Send</value>
<comment>'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated.</comment>
</data>
<data name="AreYouSureDeleteSend" xml:space="preserve">
@ -2006,7 +2006,7 @@ La numérisation se fera automatiquement.</value>
<comment>'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated.</comment>
</data>
<data name="SendDeleted" xml:space="preserve">
<value>Le Send a été supprimé.</value>
<value>Send supprimé</value>
<comment>'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated.</comment>
</data>
<data name="SendUpdated" xml:space="preserve">
@ -2014,7 +2014,7 @@ La numérisation se fera automatiquement.</value>
<comment>'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated.</comment>
</data>
<data name="NewSendCreated" xml:space="preserve">
<value>Nouveau Send créé.</value>
<value>Send créé</value>
<comment>'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated.</comment>
</data>
<data name="OneDay" xml:space="preserve">
@ -2036,7 +2036,7 @@ La numérisation se fera automatiquement.</value>
<value>Personnalisé</value>
</data>
<data name="ShareOnSave" xml:space="preserve">
<value>Partager ce Send lors de l'enregistrement.</value>
<value>Partagez ce Send au moment de l'enregistrement</value>
<comment>'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated.</comment>
</data>
<data name="SendDisabledWarning" xml:space="preserve">
@ -2355,7 +2355,7 @@ sélectionnez Ajouter TOTP pour stocker la clé en toute sécurité</value>
<value>Approuver les demandes de connexion</value>
</data>
<data name="UseThisDeviceToApproveLoginRequestsMadeFromOtherDevices" xml:space="preserve">
<value>Utiliser cet appareil pour approuver les demandes de connexion faites à partir d'autres appareils.</value>
<value>Utiliser cet appareil pour approuver les demandes de connexion faites à partir d'autres appareils</value>
</data>
<data name="AllowNotifications" xml:space="preserve">
<value>Autoriser les notifications</value>
@ -2546,7 +2546,7 @@ Voulez-vous basculer vers ce compte ?</value>
<value>La langue a été changée en {0}. Veuillez redémarrer l'application pour voir le changement</value>
</data>
<data name="LanguageChangeRequiresAppRestart" xml:space="preserve">
<value>Le changement de langue nécessite le redémarrage de l'application</value>
<value>Le changement de la langue nécessite le redémarrage de l'application.</value>
</data>
<data name="DefaultSystem" xml:space="preserve">
<value>Par défaut (système)</value>
@ -2781,7 +2781,7 @@ Voulez-vous basculer vers ce compte ?</value>
<value>Action après délai d'expiration de la session</value>
</data>
<data name="AccountFingerprintPhrase" xml:space="preserve">
<value>La phrase d'empreinte du compte</value>
<value>Phrase d'empreinte du compte</value>
<comment>A 'fingerprint phrase' is a unique word phrase (similar to a passphrase) that a user can use to authenticate their public key with another user, for the purposes of sharing.</comment>
</data>
<data name="OneHourAndOneMinute" xml:space="preserve">
@ -2862,4 +2862,13 @@ Voulez-vous basculer vers ce compte ?</value>
<data name="AccountLoggedOutBiometricExceeded" xml:space="preserve">
<value>Compte déconnecté.</value>
</data>
<data name="YourOrganizationPermissionsWereUpdatedRequeringYouToSetAMasterPassword" xml:space="preserve">
<value>Les autorisations de votre organisation ont été mises à jour, vous obligeant à définir un mot de passe principal.</value>
</data>
<data name="YourOrganizationRequiresYouToSetAMasterPassword" xml:space="preserve">
<value>Votre organisation vous demande de définir un mot de passe principal.</value>
</data>
<data name="SetUpAnUnlockOptionToChangeYourVaultTimeoutAction" xml:space="preserve">
<value>Configurez une méthode de déverrouillage pour modifier l'action après délai d'expiration de votre coffre.</value>
</data>
</root>

View file

@ -2862,4 +2862,13 @@ Do you want to switch to this account?</value>
<data name="AccountLoggedOutBiometricExceeded" xml:space="preserve">
<value>Account logged out.</value>
</data>
<data name="YourOrganizationPermissionsWereUpdatedRequeringYouToSetAMasterPassword" xml:space="preserve">
<value>Your organization permissions were updated, requiring you to set a master password.</value>
</data>
<data name="YourOrganizationRequiresYouToSetAMasterPassword" xml:space="preserve">
<value>Your organization requires you to set a master password.</value>
</data>
<data name="SetUpAnUnlockOptionToChangeYourVaultTimeoutAction" xml:space="preserve">
<value>Set up an unlock option to change your vault timeout action.</value>
</data>
</root>

View file

@ -2864,4 +2864,13 @@ Do you want to switch to this account?</value>
<data name="AccountLoggedOutBiometricExceeded" xml:space="preserve">
<value>Account logged out.</value>
</data>
<data name="YourOrganizationPermissionsWereUpdatedRequeringYouToSetAMasterPassword" xml:space="preserve">
<value>Your organization permissions were updated, requiring you to set a master password.</value>
</data>
<data name="YourOrganizationRequiresYouToSetAMasterPassword" xml:space="preserve">
<value>Your organization requires you to set a master password.</value>
</data>
<data name="SetUpAnUnlockOptionToChangeYourVaultTimeoutAction" xml:space="preserve">
<value>Set up an unlock option to change your vault timeout action.</value>
</data>
</root>

View file

@ -2862,4 +2862,13 @@ Do you want to switch to this account?</value>
<data name="AccountLoggedOutBiometricExceeded" xml:space="preserve">
<value>Account logged out.</value>
</data>
<data name="YourOrganizationPermissionsWereUpdatedRequeringYouToSetAMasterPassword" xml:space="preserve">
<value>Your organization permissions were updated, requiring you to set a master password.</value>
</data>
<data name="YourOrganizationRequiresYouToSetAMasterPassword" xml:space="preserve">
<value>Your organization requires you to set a master password.</value>
</data>
<data name="SetUpAnUnlockOptionToChangeYourVaultTimeoutAction" xml:space="preserve">
<value>Set up an unlock option to change your vault timeout action.</value>
</data>
</root>

View file

@ -2423,7 +2423,7 @@
<comment>"Fastmail" is the product name and should not be translated.</comment>
</data>
<data name="ForwardEmail" xml:space="preserve">
<value>ForwardEmail</value>
<value>FowardEmail</value>
<comment>"ForwardEmail" is the product name and should not be translated.</comment>
</data>
<data name="APIAccessToken" xml:space="preserve">
@ -2748,106 +2748,106 @@
<value>Prijava na</value>
</data>
<data name="Vault" xml:space="preserve">
<value>Vault</value>
<value>Trezor</value>
</data>
<data name="Appearance" xml:space="preserve">
<value>Appearance</value>
<value>Izgled</value>
</data>
<data name="AccountSecurity" xml:space="preserve">
<value>Account security</value>
<value>Sigurnost računa</value>
</data>
<data name="BitwardenHelpCenter" xml:space="preserve">
<value>Bitwarden Help Center</value>
<value>Bitwarden centar za pomoć</value>
</data>
<data name="ContactBitwardenSupport" xml:space="preserve">
<value>Contact Bitwarden support</value>
<value>Kontaktiraj Bitwarden pomoć</value>
</data>
<data name="CopyAppInformation" xml:space="preserve">
<value>Copy app information</value>
<value>Kopiraj podake o aplikaciji</value>
</data>
<data name="SyncNow" xml:space="preserve">
<value>Sync now</value>
<value>Sinkroniziraj</value>
</data>
<data name="UnlockOptions" xml:space="preserve">
<value>Unlock options</value>
<value>Otključaj mogućnosti</value>
</data>
<data name="SessionTimeout" xml:space="preserve">
<value>Session timeout</value>
<value>Istek sesije</value>
</data>
<data name="SessionTimeoutAction" xml:space="preserve">
<value>Session timeout action</value>
<value>Radnja kod isteka sesije</value>
</data>
<data name="AccountFingerprintPhrase" xml:space="preserve">
<value>Account fingerprint phrase</value>
<value>Jedinstvena fraza računa</value>
<comment>A 'fingerprint phrase' is a unique word phrase (similar to a passphrase) that a user can use to authenticate their public key with another user, for the purposes of sharing.</comment>
</data>
<data name="OneHourAndOneMinute" xml:space="preserve">
<value>One hour and one minute</value>
<value>Jedan sat i jedna minuta</value>
</data>
<data name="OneHourAndXMinute" xml:space="preserve">
<value>One hour and {0} minutes</value>
<value>Jedan sat i {0} minuta</value>
</data>
<data name="XHoursAndOneMinute" xml:space="preserve">
<value>{0} hours and one minute</value>
<value>{0} sat/i i jedna minuta</value>
</data>
<data name="XHoursAndYMinutes" xml:space="preserve">
<value>{0} hours and {1} minutes</value>
<value>{0} sat/i {1} minuta</value>
</data>
<data name="XHours" xml:space="preserve">
<value>{0} hours</value>
<value>{0} sat/i</value>
</data>
<data name="AutofillServicesExplanationLong" xml:space="preserve">
<value>The Android Autofill Framework is used to assist in filling login information into other apps on your device.</value>
<value>Android Autofill Framework se koristi za pomoć pri ispunjavanju prijava, platnih kartica i identifikacijskih podataka u drugim aplikacijama na tvojem uređaju.</value>
</data>
<data name="UseInlineAutofillExplanationLong" xml:space="preserve">
<value>Use inline autofill if your selected keyboard supports it. Otherwise, use the default overlay.</value>
<value>Koristi izravnu auto-ispunu ako ga tvoja odabrana tipkovnica podržava. U suprotnom, koristit će se zadana usluga auto-ispune.</value>
</data>
<data name="AdditionalOptions" xml:space="preserve">
<value>Additional options</value>
<value>Dodatne mogućnosti</value>
</data>
<data name="ContinueToWebApp" xml:space="preserve">
<value>Continue to web app?</value>
<value>Nastavi na web aplikaciju?</value>
</data>
<data name="ContinueToX" xml:space="preserve">
<value>Continue to {0}?</value>
<value>Nastavi na {0}?</value>
<comment>The parameter is an URL, like bitwarden.com.</comment>
</data>
<data name="ContinueToHelpCenter" xml:space="preserve">
<value>Continue to Help center?</value>
<value>Nastavi u centar za pomoć?</value>
</data>
<data name="ContinueToContactSupport" xml:space="preserve">
<value>Continue to contact support?</value>
<value>Kontaktiraj podršku?</value>
</data>
<data name="ContinueToAppStore" xml:space="preserve">
<value>Continue to app store?</value>
<value>Nastavi u trgovinu aplikacijama?</value>
</data>
<data name="TwoStepLoginDescriptionLong" xml:space="preserve">
<value>Make your account more secure by setting up two-step login in the Bitwarden web app.</value>
<value>Učini svoj račun sigurnijim uključivanjem prijave dvofaktorskom autentifikacijom u Bitwarden web aplikaciji.</value>
</data>
<data name="ChangeMasterPasswordDescriptionLong" xml:space="preserve">
<value>You can change your master password on the Bitwarden web app.</value>
<value>Svoju lozinku možeš promijeniti u Bitwarden web aplikaciji.</value>
</data>
<data name="YouCanImportDataToYourVaultOnX" xml:space="preserve">
<value>You can import data to your vault on {0}.</value>
<value>Svoje podatke možeš uvesti u trezor na {0}.</value>
<comment>The parameter is an URL, like vault.bitwarden.com.</comment>
</data>
<data name="LearnMoreAboutHowToUseBitwardenOnTheHelpCenter" xml:space="preserve">
<value>Learn more about how to use Bitwarden on the Help center.</value>
<value>Za pomoć oko korištenja Bitwardena posjeti centar za pomoć.</value>
</data>
<data name="ContactSupportDescriptionLong" xml:space="preserve">
<value>Cant find what you are looking for? Reach out to Bitwarden support on bitwarden.com.</value>
<value>Ne možeš naći što te zanima? Kontaktiraj Bitwarden podršku na bitwarden.com.</value>
</data>
<data name="ExploreMoreFeaturesOfYourBitwardenAccountOnTheWebApp" xml:space="preserve">
<value>Explore more features of your Bitwarden account on the web app.</value>
<value>Pronađi viđe značajki svojeg Bitwarden računa u web aplikaciji.</value>
</data>
<data name="LearnAboutOrganizationsDescriptionLong" xml:space="preserve">
<value>Bitwarden allows you to share your vault items with others by using an organization. Learn more on the bitwarden.com website.</value>
<value>Bitwarden omogućuje dijeljenje trezora s drugima pomoću organizacijskog računa. Za više informacija posjeti bitwarden.com.</value>
</data>
<data name="RateAppDescriptionLong" xml:space="preserve">
<value>Help others find out if Bitwarden is right for them. Visit the app store and leave a rating now.</value>
<value>Želiš preporučiti Bitwarden drugima? Posjeti app store i ostavi recenziju.</value>
</data>
<data name="DefaultDarkThemeDescriptionLong" xml:space="preserve">
<value>Choose the dark theme to use when your devices dark mode is in use</value>
<value>Odaberi tamnu temu kada se tvoj uređaj nalazi u tamnom načinu rada</value>
</data>
<data name="CreatedXY" xml:space="preserve">
<value>Stvoreno {0}, {1}</value>
@ -2859,4 +2859,13 @@
<data name="AccountLoggedOutBiometricExceeded" xml:space="preserve">
<value>Račun odjavljen.</value>
</data>
<data name="YourOrganizationPermissionsWereUpdatedRequeringYouToSetAMasterPassword" xml:space="preserve">
<value>Moraš postaviti glavnu lozinku jer su dopuštenja tvoje organizacije ažurirana.</value>
</data>
<data name="YourOrganizationRequiresYouToSetAMasterPassword" xml:space="preserve">
<value>Tvoja organizacija zahtijeva da postaviš glavnu lozinku.</value>
</data>
<data name="SetUpAnUnlockOptionToChangeYourVaultTimeoutAction" xml:space="preserve">
<value>Za promjenu vremena isteka trezora, odredi način otključavanja.</value>
</data>
</root>

View file

@ -2860,4 +2860,13 @@ Szeretnénk átváltani erre a fiókra?</value>
<data name="AccountLoggedOutBiometricExceeded" xml:space="preserve">
<value>A fiók kijelentkezett.</value>
</data>
<data name="YourOrganizationPermissionsWereUpdatedRequeringYouToSetAMasterPassword" xml:space="preserve">
<value>A szervezeti jogosultságok frissítésre kerültek, ezért be kell állítani egy mesterjelszót.</value>
</data>
<data name="YourOrganizationRequiresYouToSetAMasterPassword" xml:space="preserve">
<value>A szervezet megköveteli egy mesterjelszó beállítását.</value>
</data>
<data name="SetUpAnUnlockOptionToChangeYourVaultTimeoutAction" xml:space="preserve">
<value>Állítsunk be egy feloldási módot a széf időkifutási műveletének módosításához.</value>
</data>
</root>

View file

@ -2861,4 +2861,13 @@ Do you want to switch to this account?</value>
<data name="AccountLoggedOutBiometricExceeded" xml:space="preserve">
<value>Account logged out.</value>
</data>
<data name="YourOrganizationPermissionsWereUpdatedRequeringYouToSetAMasterPassword" xml:space="preserve">
<value>Your organization permissions were updated, requiring you to set a master password.</value>
</data>
<data name="YourOrganizationRequiresYouToSetAMasterPassword" xml:space="preserve">
<value>Your organization requires you to set a master password.</value>
</data>
<data name="SetUpAnUnlockOptionToChangeYourVaultTimeoutAction" xml:space="preserve">
<value>Set up an unlock option to change your vault timeout action.</value>
</data>
</root>

View file

@ -2695,7 +2695,7 @@ Vuoi passare a questo account?</value>
<value>Azione timeout cassaforte impostata su uscire</value>
</data>
<data name="BlockAutoFill" xml:space="preserve">
<value>Bocca riempimento automatico</value>
<value>Blocca riempimento automatico</value>
</data>
<data name="AutoFillWillNotBeOfferedForTheseURIs" xml:space="preserve">
<value>Il riempimento automatico non sarà offerto per questi URI.</value>
@ -2861,4 +2861,13 @@ Vuoi passare a questo account?</value>
<data name="AccountLoggedOutBiometricExceeded" xml:space="preserve">
<value>Account uscito.</value>
</data>
<data name="YourOrganizationPermissionsWereUpdatedRequeringYouToSetAMasterPassword" xml:space="preserve">
<value>Le autorizzazioni della tua organizzazione sono state aggiornate, obbligandoti a impostare una password principale.</value>
</data>
<data name="YourOrganizationRequiresYouToSetAMasterPassword" xml:space="preserve">
<value>La tua organizzazione ti obbliga di impostare di una password principale.</value>
</data>
<data name="SetUpAnUnlockOptionToChangeYourVaultTimeoutAction" xml:space="preserve">
<value>Imposta un metodo di sblocco per modificare l'azione timeout cassaforte.</value>
</data>
</root>

View file

@ -2861,4 +2861,13 @@
<data name="AccountLoggedOutBiometricExceeded" xml:space="preserve">
<value>アカウントからログアウトしました。</value>
</data>
<data name="YourOrganizationPermissionsWereUpdatedRequeringYouToSetAMasterPassword" xml:space="preserve">
<value>組織の権限が更新され、マスターパスワードの設定が必要になりました。</value>
</data>
<data name="YourOrganizationRequiresYouToSetAMasterPassword" xml:space="preserve">
<value>あなたの組織では、マスターパスワードの設定が義務付けられています。</value>
</data>
<data name="SetUpAnUnlockOptionToChangeYourVaultTimeoutAction" xml:space="preserve">
<value>保管庫のタイムアウト動作を変更するには、ロック解除方法を設定してください。</value>
</data>
</root>

View file

@ -2862,4 +2862,13 @@ Do you want to switch to this account?</value>
<data name="AccountLoggedOutBiometricExceeded" xml:space="preserve">
<value>Account logged out.</value>
</data>
<data name="YourOrganizationPermissionsWereUpdatedRequeringYouToSetAMasterPassword" xml:space="preserve">
<value>Your organization permissions were updated, requiring you to set a master password.</value>
</data>
<data name="YourOrganizationRequiresYouToSetAMasterPassword" xml:space="preserve">
<value>Your organization requires you to set a master password.</value>
</data>
<data name="SetUpAnUnlockOptionToChangeYourVaultTimeoutAction" xml:space="preserve">
<value>Set up an unlock option to change your vault timeout action.</value>
</data>
</root>

View file

@ -2862,4 +2862,13 @@ Do you want to switch to this account?</value>
<data name="AccountLoggedOutBiometricExceeded" xml:space="preserve">
<value>Account logged out.</value>
</data>
<data name="YourOrganizationPermissionsWereUpdatedRequeringYouToSetAMasterPassword" xml:space="preserve">
<value>Your organization permissions were updated, requiring you to set a master password.</value>
</data>
<data name="YourOrganizationRequiresYouToSetAMasterPassword" xml:space="preserve">
<value>Your organization requires you to set a master password.</value>
</data>
<data name="SetUpAnUnlockOptionToChangeYourVaultTimeoutAction" xml:space="preserve">
<value>Set up an unlock option to change your vault timeout action.</value>
</data>
</root>

View file

@ -2861,4 +2861,13 @@ Do you want to switch to this account?</value>
<data name="AccountLoggedOutBiometricExceeded" xml:space="preserve">
<value>Account logged out.</value>
</data>
<data name="YourOrganizationPermissionsWereUpdatedRequeringYouToSetAMasterPassword" xml:space="preserve">
<value>Your organization permissions were updated, requiring you to set a master password.</value>
</data>
<data name="YourOrganizationRequiresYouToSetAMasterPassword" xml:space="preserve">
<value>Your organization requires you to set a master password.</value>
</data>
<data name="SetUpAnUnlockOptionToChangeYourVaultTimeoutAction" xml:space="preserve">
<value>Set up an unlock option to change your vault timeout action.</value>
</data>
</root>

View file

@ -2862,4 +2862,13 @@ Ar norite pereiti prie šios paskyros?</value>
<data name="AccountLoggedOutBiometricExceeded" xml:space="preserve">
<value>Account logged out.</value>
</data>
<data name="YourOrganizationPermissionsWereUpdatedRequeringYouToSetAMasterPassword" xml:space="preserve">
<value>Your organization permissions were updated, requiring you to set a master password.</value>
</data>
<data name="YourOrganizationRequiresYouToSetAMasterPassword" xml:space="preserve">
<value>Your organization requires you to set a master password.</value>
</data>
<data name="SetUpAnUnlockOptionToChangeYourVaultTimeoutAction" xml:space="preserve">
<value>Set up an unlock option to change your vault timeout action.</value>
</data>
</root>

View file

@ -2862,4 +2862,13 @@ Vai pārslēgties uz šo kontu?</value>
<data name="AccountLoggedOutBiometricExceeded" xml:space="preserve">
<value>Konts tika izrakstīts.</value>
</data>
<data name="YourOrganizationPermissionsWereUpdatedRequeringYouToSetAMasterPassword" xml:space="preserve">
<value>Apvienības atļaujas tika atjauninātas, un tās pieprasa iestatīt galveno paroli.</value>
</data>
<data name="YourOrganizationRequiresYouToSetAMasterPassword" xml:space="preserve">
<value>Apvienība pieprasa iestatīt galveno paroli.</value>
</data>
<data name="SetUpAnUnlockOptionToChangeYourVaultTimeoutAction" xml:space="preserve">
<value>Jāuzstāda atslēgšanas iespēja, lai mainītu glabātavas noildzes darbību.</value>
</data>
</root>

View file

@ -2861,4 +2861,13 @@ Do you want to switch to this account?</value>
<data name="AccountLoggedOutBiometricExceeded" xml:space="preserve">
<value>Account logged out.</value>
</data>
<data name="YourOrganizationPermissionsWereUpdatedRequeringYouToSetAMasterPassword" xml:space="preserve">
<value>Your organization permissions were updated, requiring you to set a master password.</value>
</data>
<data name="YourOrganizationRequiresYouToSetAMasterPassword" xml:space="preserve">
<value>Your organization requires you to set a master password.</value>
</data>
<data name="SetUpAnUnlockOptionToChangeYourVaultTimeoutAction" xml:space="preserve">
<value>Set up an unlock option to change your vault timeout action.</value>
</data>
</root>

View file

@ -2862,4 +2862,13 @@ Do you want to switch to this account?</value>
<data name="AccountLoggedOutBiometricExceeded" xml:space="preserve">
<value>Account logged out.</value>
</data>
<data name="YourOrganizationPermissionsWereUpdatedRequeringYouToSetAMasterPassword" xml:space="preserve">
<value>Your organization permissions were updated, requiring you to set a master password.</value>
</data>
<data name="YourOrganizationRequiresYouToSetAMasterPassword" xml:space="preserve">
<value>Your organization requires you to set a master password.</value>
</data>
<data name="SetUpAnUnlockOptionToChangeYourVaultTimeoutAction" xml:space="preserve">
<value>Set up an unlock option to change your vault timeout action.</value>
</data>
</root>

View file

@ -2862,4 +2862,13 @@ Do you want to switch to this account?</value>
<data name="AccountLoggedOutBiometricExceeded" xml:space="preserve">
<value>Account logged out.</value>
</data>
<data name="YourOrganizationPermissionsWereUpdatedRequeringYouToSetAMasterPassword" xml:space="preserve">
<value>Your organization permissions were updated, requiring you to set a master password.</value>
</data>
<data name="YourOrganizationRequiresYouToSetAMasterPassword" xml:space="preserve">
<value>Your organization requires you to set a master password.</value>
</data>
<data name="SetUpAnUnlockOptionToChangeYourVaultTimeoutAction" xml:space="preserve">
<value>Set up an unlock option to change your vault timeout action.</value>
</data>
</root>

View file

@ -946,7 +946,7 @@ Skanning skjer automatisk.</value>
<value>Du kan ikke bruke denne funksjonen før du oppdaterer krypteringsnøkkelen din.</value>
</data>
<data name="EncryptionKeyMigrationRequiredDescriptionLong" xml:space="preserve">
<value>Encryption key migration required. Please login through the web vault to update your encryption key.</value>
<value>Krypteringsnøkkelmigrasjon kreves. Logg inn gjennom web-hvelvet ditt for å oppdatere krypteringsnøkkelen din.</value>
</data>
<data name="LearnMore" xml:space="preserve">
<value>Lær mer</value>
@ -2862,4 +2862,13 @@ Vil du bytte til denne kontoen?</value>
<data name="AccountLoggedOutBiometricExceeded" xml:space="preserve">
<value>Konto logget ut.</value>
</data>
<data name="YourOrganizationPermissionsWereUpdatedRequeringYouToSetAMasterPassword" xml:space="preserve">
<value>Your organization permissions were updated, requiring you to set a master password.</value>
</data>
<data name="YourOrganizationRequiresYouToSetAMasterPassword" xml:space="preserve">
<value>Your organization requires you to set a master password.</value>
</data>
<data name="SetUpAnUnlockOptionToChangeYourVaultTimeoutAction" xml:space="preserve">
<value>Set up an unlock option to change your vault timeout action.</value>
</data>
</root>

View file

@ -2862,4 +2862,13 @@ Do you want to switch to this account?</value>
<data name="AccountLoggedOutBiometricExceeded" xml:space="preserve">
<value>Account logged out.</value>
</data>
<data name="YourOrganizationPermissionsWereUpdatedRequeringYouToSetAMasterPassword" xml:space="preserve">
<value>Your organization permissions were updated, requiring you to set a master password.</value>
</data>
<data name="YourOrganizationRequiresYouToSetAMasterPassword" xml:space="preserve">
<value>Your organization requires you to set a master password.</value>
</data>
<data name="SetUpAnUnlockOptionToChangeYourVaultTimeoutAction" xml:space="preserve">
<value>Set up an unlock option to change your vault timeout action.</value>
</data>
</root>

View file

@ -2861,4 +2861,13 @@ Wilt u naar dit account wisselen?</value>
<data name="AccountLoggedOutBiometricExceeded" xml:space="preserve">
<value>Account logged out.</value>
</data>
<data name="YourOrganizationPermissionsWereUpdatedRequeringYouToSetAMasterPassword" xml:space="preserve">
<value>Your organization permissions were updated, requiring you to set a master password.</value>
</data>
<data name="YourOrganizationRequiresYouToSetAMasterPassword" xml:space="preserve">
<value>Your organization requires you to set a master password.</value>
</data>
<data name="SetUpAnUnlockOptionToChangeYourVaultTimeoutAction" xml:space="preserve">
<value>Stel een ontgrendelingsmethode in om je kluis time-out actie te wijzigen.</value>
</data>
</root>

View file

@ -2862,4 +2862,13 @@ Do you want to switch to this account?</value>
<data name="AccountLoggedOutBiometricExceeded" xml:space="preserve">
<value>Account logged out.</value>
</data>
<data name="YourOrganizationPermissionsWereUpdatedRequeringYouToSetAMasterPassword" xml:space="preserve">
<value>Your organization permissions were updated, requiring you to set a master password.</value>
</data>
<data name="YourOrganizationRequiresYouToSetAMasterPassword" xml:space="preserve">
<value>Your organization requires you to set a master password.</value>
</data>
<data name="SetUpAnUnlockOptionToChangeYourVaultTimeoutAction" xml:space="preserve">
<value>Set up an unlock option to change your vault timeout action.</value>
</data>
</root>

View file

@ -2862,4 +2862,13 @@ Do you want to switch to this account?</value>
<data name="AccountLoggedOutBiometricExceeded" xml:space="preserve">
<value>Account logged out.</value>
</data>
<data name="YourOrganizationPermissionsWereUpdatedRequeringYouToSetAMasterPassword" xml:space="preserve">
<value>Your organization permissions were updated, requiring you to set a master password.</value>
</data>
<data name="YourOrganizationRequiresYouToSetAMasterPassword" xml:space="preserve">
<value>Your organization requires you to set a master password.</value>
</data>
<data name="SetUpAnUnlockOptionToChangeYourVaultTimeoutAction" xml:space="preserve">
<value>Set up an unlock option to change your vault timeout action.</value>
</data>
</root>

View file

@ -2861,4 +2861,13 @@ Czy chcesz przełączyć się na to konto?</value>
<data name="AccountLoggedOutBiometricExceeded" xml:space="preserve">
<value>Konto wylogowane.</value>
</data>
<data name="YourOrganizationPermissionsWereUpdatedRequeringYouToSetAMasterPassword" xml:space="preserve">
<value>Uprawnienia w Twojej organizacji zostały zaktualizowane, musisz teraz ustawić hasło główne.</value>
</data>
<data name="YourOrganizationRequiresYouToSetAMasterPassword" xml:space="preserve">
<value>Twoja organizacja wymaga ustawienia hasła głównego.</value>
</data>
<data name="SetUpAnUnlockOptionToChangeYourVaultTimeoutAction" xml:space="preserve">
<value>Ustaw opcje odblokowania, aby zmienić czas blokowania sejfu.</value>
</data>
</root>

View file

@ -1116,7 +1116,7 @@ A leitura será feita automaticamente.</value>
<value>Setembro</value>
</data>
<data name="SSN" xml:space="preserve">
<value>Número de Segurança Social</value>
<value>Cadastro de Pessoas Físicas (CPF)</value>
</data>
<data name="StateProvince" xml:space="preserve">
<value>Estado / Província</value>
@ -2800,29 +2800,29 @@ Você deseja mudar para esta conta?</value>
<value>{0} horas</value>
</data>
<data name="AutofillServicesExplanationLong" xml:space="preserve">
<value>The Android Autofill Framework is used to assist in filling login information into other apps on your device.</value>
<value>O Framework de Preenchimento Automático do Android é usado para ajudar a preencher informações de login em outros aplicativos do seu dispositivo.</value>
</data>
<data name="UseInlineAutofillExplanationLong" xml:space="preserve">
<value>Use inline autofill if your selected keyboard supports it. Otherwise, use the default overlay.</value>
<value>Use o autopreenchimento interno se o teclado selecionado o suporta. Caso contrário, use a sobreposição padrão.</value>
</data>
<data name="AdditionalOptions" xml:space="preserve">
<value>Opções adicionais</value>
</data>
<data name="ContinueToWebApp" xml:space="preserve">
<value>Continue to web app?</value>
<value>Continuar no aplicativo web?</value>
</data>
<data name="ContinueToX" xml:space="preserve">
<value>Continue to {0}?</value>
<value>Continuar para {0}?</value>
<comment>The parameter is an URL, like bitwarden.com.</comment>
</data>
<data name="ContinueToHelpCenter" xml:space="preserve">
<value>Continue to Help center?</value>
<value>Continuar para o centro de ajuda?</value>
</data>
<data name="ContinueToContactSupport" xml:space="preserve">
<value>Continue to contact support?</value>
<value>Continuar e contatar o suporte?</value>
</data>
<data name="ContinueToAppStore" xml:space="preserve">
<value>Continue to app store?</value>
<value>Continuar para a loja de apps?</value>
</data>
<data name="TwoStepLoginDescriptionLong" xml:space="preserve">
<value>Make your account more secure by setting up two-step login in the Bitwarden web app.</value>
@ -2850,7 +2850,7 @@ Você deseja mudar para esta conta?</value>
<value>Help others find out if Bitwarden is right for them. Visit the app store and leave a rating now.</value>
</data>
<data name="DefaultDarkThemeDescriptionLong" xml:space="preserve">
<value>Choose the dark theme to use when your devices dark mode is in use</value>
<value>Usar o tema escuro quando o modo escuro do seu dispositivo estiver ativado</value>
</data>
<data name="CreatedXY" xml:space="preserve">
<value>Criado em {0}, {1}</value>
@ -2862,4 +2862,13 @@ Você deseja mudar para esta conta?</value>
<data name="AccountLoggedOutBiometricExceeded" xml:space="preserve">
<value>Conta desconectada.</value>
</data>
<data name="YourOrganizationPermissionsWereUpdatedRequeringYouToSetAMasterPassword" xml:space="preserve">
<value>Your organization permissions were updated, requiring you to set a master password.</value>
</data>
<data name="YourOrganizationRequiresYouToSetAMasterPassword" xml:space="preserve">
<value>Your organization requires you to set a master password.</value>
</data>
<data name="SetUpAnUnlockOptionToChangeYourVaultTimeoutAction" xml:space="preserve">
<value>Set up an unlock option to change your vault timeout action.</value>
</data>
</root>

View file

@ -1813,7 +1813,7 @@ A leitura será efetuada automaticamente.</value>
<value>Política de privacidade</value>
</data>
<data name="AccessibilityDrawOverPermissionAlert" xml:space="preserve">
<value>O Bitwarden precisa de atenção - Ative "Aparecer sobre outras" em "Serviços de preenchimento automático" nas definições do Bitwarden</value>
<value>O Bitwarden precisa de atenção - Ative a definição "Aparecer sobre outras" em "Serviços de preenchimento automático" nas definições do Bitwarden</value>
</data>
<data name="AutofillServices" xml:space="preserve">
<value>Serviços de preenchimento automático</value>
@ -1831,16 +1831,16 @@ A leitura será efetuada automaticamente.</value>
<value>Utilize o Serviço de acessibilidade do Bitwarden para preencher automaticamente as suas credenciais em aplicações e na web. Quando configurado, exibiremos um pop-up quando os campos de início de sessão forem selecionados.</value>
</data>
<data name="AccessibilityDescription2" xml:space="preserve">
<value>Utilize o Serviço de acessibilidade do Bitwarden para preencher automaticamente as suas credenciais em aplicações e na web. (Requer que a definição Aparecer sobre outras também esteja ativada)</value>
<value>Utilize o Serviço de acessibilidade do Bitwarden para preencher automaticamente as suas credenciais em aplicações e na Web. (Requer que a definição "Aparecer sobre outras" também esteja ativada)</value>
</data>
<data name="AccessibilityDescription3" xml:space="preserve">
<value>Utilize o Serviço de acessibilidade do Bitwarden para utilizar o botão de preenchimento automático do Painel instantâneo e/ou mostrar um pop-up utilizando a definição Aparecer sobre outras (se estiver ativada).</value>
<value>Utilize o Serviço de acessibilidade do Bitwarden para utilizar o botão de preenchimento automático do Painel instantâneo e/ou mostrar um pop-up utilizando a definição "Aparecer sobre outras" (se estiver ativada).</value>
</data>
<data name="AccessibilityDescription4" xml:space="preserve">
<value>Necessário para utilizar o botão de preenchimento automático do Painel instantâneo, ou para aumentar o serviço de preenchimento automático utilizando a definição Aparecer sobre outras (se estiver ativada).</value>
<value>Necessário para utilizar o botão de preenchimento automático do Painel instantâneo, ou para aumentar o serviço de preenchimento automático utilizando a definição "Aparecer sobre outras" (se estiver ativada).</value>
</data>
<data name="DrawOver" xml:space="preserve">
<value>Utilizar definição Aparecer sobre outras</value>
<value>Utilizar a definição "Aparecer sobre outras"</value>
</data>
<data name="DrawOverDescription" xml:space="preserve">
<value>Permite que o Serviço de acessibilidade do Bitwarden apresente um pop-up quando os campos de início de sessão são selecionados.</value>
@ -2694,7 +2694,7 @@ Deseja mudar para esta conta?</value>
<value>Ação de tempo limite do cofre alterada para terminar sessão</value>
</data>
<data name="BlockAutoFill" xml:space="preserve">
<value>Bloquear preenchimento automático</value>
<value>Bloquear o preenchimento automático</value>
</data>
<data name="AutoFillWillNotBeOfferedForTheseURIs" xml:space="preserve">
<value>O preenchimento automático não será oferecido para estes URIs.</value>
@ -2860,4 +2860,13 @@ Deseja mudar para esta conta?</value>
<data name="AccountLoggedOutBiometricExceeded" xml:space="preserve">
<value>Conta com sessão terminada.</value>
</data>
<data name="YourOrganizationPermissionsWereUpdatedRequeringYouToSetAMasterPassword" xml:space="preserve">
<value>As permissões da sua organização foram atualizadas, exigindo a definição de uma palavra-passe mestra.</value>
</data>
<data name="YourOrganizationRequiresYouToSetAMasterPassword" xml:space="preserve">
<value>A sua organização exige a definição de uma palavra-passe mestra.</value>
</data>
<data name="SetUpAnUnlockOptionToChangeYourVaultTimeoutAction" xml:space="preserve">
<value>Configure uma opção de desbloqueio para alterar a ação de tempo limite do seu cofre.</value>
</data>
</root>

View file

@ -2862,4 +2862,13 @@ Do you want to switch to this account?</value>
<data name="AccountLoggedOutBiometricExceeded" xml:space="preserve">
<value>Account logged out.</value>
</data>
<data name="YourOrganizationPermissionsWereUpdatedRequeringYouToSetAMasterPassword" xml:space="preserve">
<value>Your organization permissions were updated, requiring you to set a master password.</value>
</data>
<data name="YourOrganizationRequiresYouToSetAMasterPassword" xml:space="preserve">
<value>Your organization requires you to set a master password.</value>
</data>
<data name="SetUpAnUnlockOptionToChangeYourVaultTimeoutAction" xml:space="preserve">
<value>Set up an unlock option to change your vault timeout action.</value>
</data>
</root>

View file

@ -2861,4 +2861,13 @@ Doriți să comutați la acest cont?</value>
<data name="AccountLoggedOutBiometricExceeded" xml:space="preserve">
<value>Account logged out.</value>
</data>
<data name="YourOrganizationPermissionsWereUpdatedRequeringYouToSetAMasterPassword" xml:space="preserve">
<value>Your organization permissions were updated, requiring you to set a master password.</value>
</data>
<data name="YourOrganizationRequiresYouToSetAMasterPassword" xml:space="preserve">
<value>Your organization requires you to set a master password.</value>
</data>
<data name="SetUpAnUnlockOptionToChangeYourVaultTimeoutAction" xml:space="preserve">
<value>Set up an unlock option to change your vault timeout action.</value>
</data>
</root>

View file

@ -2863,4 +2863,13 @@
<data name="AccountLoggedOutBiometricExceeded" xml:space="preserve">
<value>Аккаунт не авторизован.</value>
</data>
<data name="YourOrganizationPermissionsWereUpdatedRequeringYouToSetAMasterPassword" xml:space="preserve">
<value>Права доступа организации были обновлены, требуется установить мастер-пароль.</value>
</data>
<data name="YourOrganizationRequiresYouToSetAMasterPassword" xml:space="preserve">
<value>Необходимо установить мастер-пароль для организации.</value>
</data>
<data name="SetUpAnUnlockOptionToChangeYourVaultTimeoutAction" xml:space="preserve">
<value>Настройте опцию разблокировки для изменения действия по тайм-ауту хранилища.</value>
</data>
</root>

View file

@ -2862,4 +2862,13 @@ Do you want to switch to this account?</value>
<data name="AccountLoggedOutBiometricExceeded" xml:space="preserve">
<value>Account logged out.</value>
</data>
<data name="YourOrganizationPermissionsWereUpdatedRequeringYouToSetAMasterPassword" xml:space="preserve">
<value>Your organization permissions were updated, requiring you to set a master password.</value>
</data>
<data name="YourOrganizationRequiresYouToSetAMasterPassword" xml:space="preserve">
<value>Your organization requires you to set a master password.</value>
</data>
<data name="SetUpAnUnlockOptionToChangeYourVaultTimeoutAction" xml:space="preserve">
<value>Set up an unlock option to change your vault timeout action.</value>
</data>
</root>

View file

@ -2861,4 +2861,13 @@ Chcete prepnúť na toto konto?</value>
<data name="AccountLoggedOutBiometricExceeded" xml:space="preserve">
<value>Účet bol odhlásený.</value>
</data>
<data name="YourOrganizationPermissionsWereUpdatedRequeringYouToSetAMasterPassword" xml:space="preserve">
<value>Povolenia vašej organizácie boli aktualizované, čo si vyžaduje nastavenie hlavného hesla.</value>
</data>
<data name="YourOrganizationRequiresYouToSetAMasterPassword" xml:space="preserve">
<value>Vaša organizácia vyžaduje, aby ste nastavili hlavné heslo.</value>
</data>
<data name="SetUpAnUnlockOptionToChangeYourVaultTimeoutAction" xml:space="preserve">
<value>Nastavte možnosť odomknutia, aby ste zmenili akciu pri vypršaní času trezoru.</value>
</data>
</root>

View file

@ -2861,4 +2861,13 @@ Do you want to switch to this account?</value>
<data name="AccountLoggedOutBiometricExceeded" xml:space="preserve">
<value>Account logged out.</value>
</data>
<data name="YourOrganizationPermissionsWereUpdatedRequeringYouToSetAMasterPassword" xml:space="preserve">
<value>Your organization permissions were updated, requiring you to set a master password.</value>
</data>
<data name="YourOrganizationRequiresYouToSetAMasterPassword" xml:space="preserve">
<value>Your organization requires you to set a master password.</value>
</data>
<data name="SetUpAnUnlockOptionToChangeYourVaultTimeoutAction" xml:space="preserve">
<value>Set up an unlock option to change your vault timeout action.</value>
</data>
</root>

View file

@ -2863,4 +2863,13 @@
<data name="AccountLoggedOutBiometricExceeded" xml:space="preserve">
<value>Налог је одјављен.</value>
</data>
<data name="YourOrganizationPermissionsWereUpdatedRequeringYouToSetAMasterPassword" xml:space="preserve">
<value>Дозволе за вашу организацију су ажуриране, што захтева да поставите главну лозинку.</value>
</data>
<data name="YourOrganizationRequiresYouToSetAMasterPassword" xml:space="preserve">
<value>Ваша организација захтева да поставите главну лозинку.</value>
</data>
<data name="SetUpAnUnlockOptionToChangeYourVaultTimeoutAction" xml:space="preserve">
<value>Подесите опцију откључавања да бисте променили радњу временског ограничења сефа.</value>
</data>
</root>

View file

@ -2863,4 +2863,13 @@ Vill du byta till detta konto?</value>
<data name="AccountLoggedOutBiometricExceeded" xml:space="preserve">
<value>Account logged out.</value>
</data>
<data name="YourOrganizationPermissionsWereUpdatedRequeringYouToSetAMasterPassword" xml:space="preserve">
<value>Your organization permissions were updated, requiring you to set a master password.</value>
</data>
<data name="YourOrganizationRequiresYouToSetAMasterPassword" xml:space="preserve">
<value>Your organization requires you to set a master password.</value>
</data>
<data name="SetUpAnUnlockOptionToChangeYourVaultTimeoutAction" xml:space="preserve">
<value>Set up an unlock option to change your vault timeout action.</value>
</data>
</root>

View file

@ -2797,16 +2797,16 @@
<value>{0} hours and {1} minutes</value>
</data>
<data name="XHours" xml:space="preserve">
<value>{0} hours</value>
<value>{0} மணிநேரம்</value>
</data>
<data name="AutofillServicesExplanationLong" xml:space="preserve">
<value>The Android Autofill Framework is used to assist in filling login information into other apps on your device.</value>
<value>தானியங்கு நிரப்புதல் சேவைகள் விளக்கம் இன்னுங்கூடுதலான.</value>
</data>
<data name="UseInlineAutofillExplanationLong" xml:space="preserve">
<value>Use inline autofill if your selected keyboard supports it. Otherwise, use the default overlay.</value>
<value>தானியங்கு நிரப்புதலை பயன்படுத்தவும்.</value>
</data>
<data name="AdditionalOptions" xml:space="preserve">
<value>Additional options</value>
<value>கூடுதல் தேர்வுகள்</value>
</data>
<data name="ContinueToWebApp" xml:space="preserve">
<value>Continue to web app?</value>
@ -2862,4 +2862,13 @@
<data name="AccountLoggedOutBiometricExceeded" xml:space="preserve">
<value>கணக்கிலிருந்து வெளியேறப்பட்டது.</value>
</data>
<data name="YourOrganizationPermissionsWereUpdatedRequeringYouToSetAMasterPassword" xml:space="preserve">
<value>Your organization permissions were updated, requiring you to set a master password.</value>
</data>
<data name="YourOrganizationRequiresYouToSetAMasterPassword" xml:space="preserve">
<value>Your organization requires you to set a master password.</value>
</data>
<data name="SetUpAnUnlockOptionToChangeYourVaultTimeoutAction" xml:space="preserve">
<value>Set up an unlock option to change your vault timeout action.</value>
</data>
</root>

View file

@ -2862,4 +2862,13 @@ Do you want to switch to this account?</value>
<data name="AccountLoggedOutBiometricExceeded" xml:space="preserve">
<value>Account logged out.</value>
</data>
<data name="YourOrganizationPermissionsWereUpdatedRequeringYouToSetAMasterPassword" xml:space="preserve">
<value>Your organization permissions were updated, requiring you to set a master password.</value>
</data>
<data name="YourOrganizationRequiresYouToSetAMasterPassword" xml:space="preserve">
<value>Your organization requires you to set a master password.</value>
</data>
<data name="SetUpAnUnlockOptionToChangeYourVaultTimeoutAction" xml:space="preserve">
<value>Set up an unlock option to change your vault timeout action.</value>
</data>
</root>

View file

@ -2869,4 +2869,13 @@ Do you want to switch to this account?</value>
<data name="AccountLoggedOutBiometricExceeded" xml:space="preserve">
<value>Account logged out.</value>
</data>
<data name="YourOrganizationPermissionsWereUpdatedRequeringYouToSetAMasterPassword" xml:space="preserve">
<value>Your organization permissions were updated, requiring you to set a master password.</value>
</data>
<data name="YourOrganizationRequiresYouToSetAMasterPassword" xml:space="preserve">
<value>Your organization requires you to set a master password.</value>
</data>
<data name="SetUpAnUnlockOptionToChangeYourVaultTimeoutAction" xml:space="preserve">
<value>Set up an unlock option to change your vault timeout action.</value>
</data>
</root>

View file

@ -2424,7 +2424,7 @@ Kod otomatik olarak taranacaktır.</value>
<comment>"Fastmail" is the product name and should not be translated.</comment>
</data>
<data name="ForwardEmail" xml:space="preserve">
<value>E-posta ilet</value>
<value>ForwardEmail</value>
<comment>"ForwardEmail" is the product name and should not be translated.</comment>
</data>
<data name="APIAccessToken" xml:space="preserve">
@ -2860,4 +2860,13 @@ Bu hesaba geçmek ister misiniz?</value>
<data name="AccountLoggedOutBiometricExceeded" xml:space="preserve">
<value>Hesabın oturumu kapatıldı.</value>
</data>
<data name="YourOrganizationPermissionsWereUpdatedRequeringYouToSetAMasterPassword" xml:space="preserve">
<value>Kuruluş izinleriniz güncellendi ve bir ana parola belirlemeniz gerekiyor.</value>
</data>
<data name="YourOrganizationRequiresYouToSetAMasterPassword" xml:space="preserve">
<value>Kuruluşunuz bir ana parola belirlemenizi gerektiriyor.</value>
</data>
<data name="SetUpAnUnlockOptionToChangeYourVaultTimeoutAction" xml:space="preserve">
<value>Kasa zaman aşımı eyleminizi değiştirmek için bir kilit açma yöntemi ayarlayın.</value>
</data>
</root>

View file

@ -2861,4 +2861,13 @@
<data name="AccountLoggedOutBiometricExceeded" xml:space="preserve">
<value>Ви вийшли з облікового запису.</value>
</data>
<data name="YourOrganizationPermissionsWereUpdatedRequeringYouToSetAMasterPassword" xml:space="preserve">
<value>Оновлено дозволи вашої організації вимагається встановлення головного пароля.</value>
</data>
<data name="YourOrganizationRequiresYouToSetAMasterPassword" xml:space="preserve">
<value>Ваша організація вимагає, щоб ви встановили головний пароль.</value>
</data>
<data name="SetUpAnUnlockOptionToChangeYourVaultTimeoutAction" xml:space="preserve">
<value>Налаштуйте спосіб розблокування, щоб змінити час очікування сховища.</value>
</data>
</root>

View file

@ -203,7 +203,7 @@
<comment>Title for your favorite items in the vault.</comment>
</data>
<data name="FileBugReport" xml:space="preserve">
<value>Báo lỗi</value>
<value>Gửi báo cáo lỗi</value>
</data>
<data name="FileBugReportDescription" xml:space="preserve">
<value>Tạo một vấn đề tại trang GitHub của chúng tôi.</value>
@ -279,7 +279,7 @@
<value>Xóa tài khoản</value>
</data>
<data name="RemoveAccountConfirmation" xml:space="preserve">
<value>Bạn có chắc muốn xóa tài khoản này?</value>
<value>Bạn có chắc muốn xóa tài khoản này không?</value>
</data>
<data name="AccountAlreadyAdded" xml:space="preserve">
<value>Tài khoản này đã có rồi</value>
@ -300,7 +300,7 @@
<comment>The title for the vault page.</comment>
</data>
<data name="Authenticator" xml:space="preserve">
<value>Trình xác thực</value>
<value>Authenticator</value>
<comment>Authenticator TOTP feature</comment>
</data>
<data name="Name" xml:space="preserve">
@ -371,7 +371,7 @@
<comment>Label for a username.</comment>
</data>
<data name="ValidationFieldRequired" xml:space="preserve">
<value>Trường {0} là bắt buộc.</value>
<value>Vui lòng nhập {0}.</value>
<comment>Validation message for when a form field is left blank and is required to be entered.</comment>
</data>
<data name="ValueHasBeenCopied" xml:space="preserve">
@ -394,7 +394,7 @@
<value>Xem</value>
</data>
<data name="VisitOurWebsite" xml:space="preserve">
<value>Ghé thăm trang chủ</value>
<value>Ghé thăm trang web</value>
</data>
<data name="Website" xml:space="preserve">
<value>Trang web</value>
@ -419,7 +419,7 @@
<value>Sử dụng dịch vụ trợ năng của Bitwarden để tự động điền thông tin đăng nhập của bạn vào các ứng dụng và trang web.</value>
</data>
<data name="AutofillService" xml:space="preserve">
<value>Dịch vụ điền tự động</value>
<value>Dịch vụ tự động điền</value>
</data>
<data name="AvoidAmbiguousCharacters" xml:space="preserve">
<value>Tránh các ký tự dễ gây nhầm lẫn</value>
@ -490,7 +490,7 @@
<value>Bạn đã sẵn sàng để đăng nhập!</value>
</data>
<data name="ExtensionSetup" xml:space="preserve">
<value>Dễ dàng truy cập thông tin đăng nhập của bạn từ Safari, Chrome và các ứng dụng được hỗ trợ khác.</value>
<value>Thông tin đăng nhập của bạn giờ đây có thể dễ dàng truy cập từ Safari, Chrome và các ứng dụng được hỗ trợ khác.</value>
</data>
<data name="ExtensionSetup2" xml:space="preserve">
<value>Trong Safari và Chrome, tìm Bitwarden bằng cách sử dụng biểu tượng chia sẻ (gợi ý: di chuyển sang phải ở cuối cùng của trình đơn chia sẻ).</value>
@ -544,7 +544,7 @@
<value>4 giờ</value>
</data>
<data name="Immediately" xml:space="preserve">
<value>Lập tức</value>
<value>Tức thì</value>
</data>
<data name="VaultTimeout" xml:space="preserve">
<value>Thời gian mở kho</value>
@ -569,7 +569,7 @@
<value>Mật khẩu nhập lại không trùng khớp.</value>
</data>
<data name="MasterPasswordDescription" xml:space="preserve">
<value>Mật khẩu chính là mật khẩu bạn sử dụng để truy cập kho mật khẩu của bạn. Nó rất quan trọng nên bạn không được quên mật khẩu chủ của mình. Không thể khôi phục lại mật khẩu chính nếu bạn quên nó.</value>
<value>Mật khẩu chính là mật khẩu bạn sử dụng để truy cập kho mật khẩu của bạn. Nó rất quan trọng vì sẽ không có cách nào để lấy lại mật khẩu nếu bạn quên.</value>
</data>
<data name="MasterPasswordHint" xml:space="preserve">
<value>Gợi ý mật khẩu chính (tùy chọn)</value>
@ -578,7 +578,7 @@
<value>Một gợi ý mật khẩu có thể giúp bạn nhớ lại mật khẩu chính của bạn nếu bạn quên nó.</value>
</data>
<data name="MasterPasswordLengthValMessageX" xml:space="preserve">
<value>Mật khẩu chính phải tối thiểu {0} kí tự.</value>
<value>Mật khẩu chính phải tối thiểu {0} kí tự.</value>
</data>
<data name="MinNumbers" xml:space="preserve">
<value>Số chữ số</value>
@ -607,7 +607,7 @@
<value>Không có mục nào trong kho của bạn.</value>
</data>
<data name="NoItemsTap" xml:space="preserve">
<value>Không có mục nào trong kho của bạn cho trang web này. Nhấn để thêm.</value>
<value>Không có mục nào trong kho của bạn phù hợp với trang web/app này. Nhấn để thêm.</value>
</data>
<data name="NoUsernamePasswordConfigured" xml:space="preserve">
<value>Thông tin đăng nhập này không có tên người dùng hoặc mật khẩu được định cấu hình.</value>
@ -806,7 +806,7 @@
<comment>Message shown when trying to launch an app that does not exist on the user's device.</comment>
</data>
<data name="AuthenticatorAppTitle" xml:space="preserve">
<value>Ứng dụng xác thực</value>
<value>Ứng dụng Authenticator</value>
<comment>For 2FA</comment>
</data>
<data name="EnterVerificationCodeApp" xml:space="preserve">
@ -822,7 +822,7 @@
<comment>For 2FA whenever there are no available providers on this device.</comment>
</data>
<data name="NoTwoStepAvailable" xml:space="preserve">
<value>Tài khoản này đã kích hoạt xác minh 2 bước, tuy nhiên dịch vụ xác minh 2 bước đã chọn không được hỗ trợ trên thiết bị này. Vui lòng sử dụng thiết bị được hỗ trợ hoặc cài đặt một ứng dụng xác thực tốt hơn.</value>
<value>Tài khoản này đã kích hoạt xác thực 2 bước, tuy nhiên dịch vụ xác thực hai bước đã chọn không được hỗ trợ trên thiết bị này. Vui lòng sử dụng thiết bị được hỗ trợ và/hoặc dịch vụ xác thực bổ sung có thể hoạt động tốt trên thiết bị (chẳng hạn như một ứng dụng Authenticator).</value>
</data>
<data name="RecoveryCodeTitle" xml:space="preserve">
<value>Mã khôi phục</value>
@ -907,7 +907,7 @@ Quá trình quét sẽ diễn ra tự động.</value>
<value>Sao chép TOTP</value>
</data>
<data name="CopyTotpAutomaticallyDescription" xml:space="preserve">
<value>Nếu thông tin đăng nhập có khóa xác thực, hãy sao chép mã xác minh TOTP vào bộ nhớ tạm khi bạn tự động điền thông tin đăng nhập.</value>
<value>Nếu thông tin đăng nhập có khóa xác thực, hãy sao chép mã xác minh TOTP khi bạn tự động điền thông tin đăng nhập.</value>
</data>
<data name="CopyTotpAutomatically" xml:space="preserve">
<value>Tự động sao chép mã TOTP</value>
@ -987,7 +987,7 @@ Quá trình quét sẽ diễn ra tự động.</value>
<value>Chạm vào thông báo này để xem thông tin đăng nhập từ kho của bạn.</value>
</data>
<data name="CustomFields" xml:space="preserve">
<value>Mục tùy chỉnh</value>
<value>Trường tùy chỉnh</value>
</data>
<data name="CopyNumber" xml:space="preserve">
<value>Chép số</value>
@ -996,7 +996,7 @@ Quá trình quét sẽ diễn ra tự động.</value>
<value>Sao chép mã bảo mật</value>
</data>
<data name="Number" xml:space="preserve">
<value>Số</value>
<value>Số thẻ</value>
</data>
<data name="SecurityCode" xml:space="preserve">
<value>Mã bảo mật</value>
@ -1161,7 +1161,7 @@ Quá trình quét sẽ diễn ra tự động.</value>
<value>Không có mục nào trong thư mục này.</value>
</data>
<data name="NoItemsTrash" xml:space="preserve">
<value>Không có gì trong thùng rác.</value>
<value>Không có gì trong thùng rác</value>
</data>
<data name="AutofillAccessibilityService" xml:space="preserve">
<value>Tự động điền bằng trợ năng</value>
@ -1195,7 +1195,7 @@ Quá trình quét sẽ diễn ra tự động.</value>
<value>Chúng tôi không thể mở cài đặt tự động điền cho bạn. Bạn có thể đi đến cài đặt tự động điền theo cách thủ công bằng cách vào Cài đặt &gt; Hệ thống &gt; Ngôn ngữ và nhập liệu &gt; Nâng cao &gt; Dịch vụ tự động điền.</value>
</data>
<data name="CustomFieldName" xml:space="preserve">
<value>Tên mục tùy chỉnh</value>
<value>Tên trường tùy chỉnh</value>
</data>
<data name="FieldTypeBoolean" xml:space="preserve">
<value>Đúng/Sai</value>
@ -1210,7 +1210,7 @@ Quá trình quét sẽ diễn ra tự động.</value>
<value>Văn bản</value>
</data>
<data name="NewCustomField" xml:space="preserve">
<value>Thêm mục tùy chỉnh</value>
<value>Trường tùy chỉnh mới</value>
</data>
<data name="SelectTypeField" xml:space="preserve">
<value>Bạn muốn thêm loại trường tùy chỉnh nào?</value>
@ -1753,7 +1753,7 @@ Quá trình quét sẽ diễn ra tự động.</value>
<value>Đồng bộ kho bằng cách vuốt xuống.</value>
</data>
<data name="LogInSso" xml:space="preserve">
<value>Đăng nhập một lần cho doanh nghiệp</value>
<value>Đăng nhập doanh nghiệp</value>
</data>
<data name="LogInSsoSummary" xml:space="preserve">
<value>Đăng nhập nhanh bằng cách sử dụng cổng đăng nhập một lần của tổ chức. Vui lòng nhập thông tin nhận dạng tổ chức để bắt đầu.</value>
@ -1801,7 +1801,7 @@ Quá trình quét sẽ diễn ra tự động.</value>
<value>Đang tải</value>
</data>
<data name="AcceptPolicies" xml:space="preserve">
<value>Bật tính năng nghĩa là bạn đồng ý các điều kiện sau:
<value>Bạn đồng ý các điều kiện sau:
</value>
</data>
<data name="AcceptPoliciesError" xml:space="preserve">
@ -2600,7 +2600,7 @@ Bạn có muốn chuyển sang tài khoản này không?</value>
<value>Tìm kiếm một mục hoặc thêm mục mới</value>
</data>
<data name="ThereAreNoItemsThatMatchTheSearch" xml:space="preserve">
<value>Không có mục nào phù hợp với tìm kiếm</value>
<value>Không tìm thấy</value>
</data>
<data name="US" xml:space="preserve">
<value>Hoa Kỳ</value>
@ -2699,7 +2699,7 @@ Bạn có muốn chuyển sang tài khoản này không?</value>
<value>Chặn tự động điền</value>
</data>
<data name="AutoFillWillNotBeOfferedForTheseURIs" xml:space="preserve">
<value>Tính năng tự động điền sẽ không được cung cấp cho các URI này.</value>
<value>Vô hiệu hóa tính năng tự động điền với các URI sau.</value>
</data>
<data name="NewBlockedURI" xml:space="preserve">
<value>URI bị chặn mới</value>
@ -2800,10 +2800,10 @@ Bạn có muốn chuyển sang tài khoản này không?</value>
<value>{0} giờ</value>
</data>
<data name="AutofillServicesExplanationLong" xml:space="preserve">
<value>Android Autofill Framework được dùng để hỗ trợ điền thông tin đăng nhập vào các ứng dụng khác trên thiết bị của bạn.</value>
<value>Dùng Android Autofill Framework để điền thông tin đăng nhập vào các ứng dụng khác trên thiết bị của bạn.</value>
</data>
<data name="UseInlineAutofillExplanationLong" xml:space="preserve">
<value>Sử dụng tính năng tự động điền nội tuyến nếu bàn phím hỗ trợ tính năng này. Nếu không, hãy sử dụng lớp phủ mặc định.</value>
<value>Dùng tính năng tự động điền nội tuyến nếu bàn phím hỗ trợ. Nếu không, sẽ dùng lớp phủ mặc định.</value>
</data>
<data name="AdditionalOptions" xml:space="preserve">
<value>Tùy chọn bổ sung</value>
@ -2862,4 +2862,13 @@ Bạn có muốn chuyển sang tài khoản này không?</value>
<data name="AccountLoggedOutBiometricExceeded" xml:space="preserve">
<value>Đã đăng xuất tài khoản.</value>
</data>
<data name="YourOrganizationPermissionsWereUpdatedRequeringYouToSetAMasterPassword" xml:space="preserve">
<value>Quyền tổ chức của bạn đã được cập nhật, yêu cầu bạn đặt mật khẩu chính.</value>
</data>
<data name="YourOrganizationRequiresYouToSetAMasterPassword" xml:space="preserve">
<value>Tổ chức của bạn yêu cầu bạn đặt mật khẩu chính.</value>
</data>
<data name="SetUpAnUnlockOptionToChangeYourVaultTimeoutAction" xml:space="preserve">
<value>Thiết lập khóa khi hết thời gian chờ kho.</value>
</data>
</root>

View file

@ -273,13 +273,13 @@
<comment>The log out button text (verb).</comment>
</data>
<data name="LogoutConfirmation" xml:space="preserve">
<value>确定要注销吗?</value>
<value>确定要注销吗?</value>
</data>
<data name="RemoveAccount" xml:space="preserve">
<value>移除账户</value>
</data>
<data name="RemoveAccountConfirmation" xml:space="preserve">
<value>确定要移除此账户吗?</value>
<value>确定要移除此账户吗?</value>
</data>
<data name="AccountAlreadyAdded" xml:space="preserve">
<value>账户已添加</value>
@ -638,7 +638,7 @@
<value>我们已经为您发送了包含主密码提示的邮件。</value>
</data>
<data name="PasswordOverrideAlert" xml:space="preserve">
<value>确定要覆盖当前密码吗?</value>
<value>确定要覆盖当前密码吗?</value>
</data>
<data name="PushNotificationAlert" xml:space="preserve">
<value>Bitwarden 使用推送通知来自动同步您的密码库。为了获得最佳体验,接下来询问是否开启通知时,请选择「允许」。</value>
@ -784,7 +784,7 @@
<value>您想自动填充还是查看此项目?</value>
</data>
<data name="BitwardenAutofillServiceMatchConfirm" xml:space="preserve">
<value>确定要自动填充吗?它与「{0}」并不完全匹配。</value>
<value>确定要自动填充此项目吗?它与「{0}」并不完全匹配。</value>
</data>
<data name="MatchingItems" xml:space="preserve">
<value>匹配项目</value>
@ -874,7 +874,7 @@
<comment>Message shown when downloading a file</comment>
</data>
<data name="AttachmentLargeWarning" xml:space="preserve">
<value>此附件大小是 {0} 。您确定要下载到设备吗?</value>
<value>此附件大小为 {0} 。确定要将其下载到您的设备上吗?</value>
<comment>The placeholder will show the file size of the attachment. Ex "25 MB"</comment>
</data>
<data name="AuthenticatorKey" xml:space="preserve">
@ -1340,7 +1340,7 @@
<value>所有项目</value>
</data>
<data name="URIs" xml:space="preserve">
<value>URIs</value>
<value>URI</value>
<comment>Plural form of a URI</comment>
</data>
<data name="CheckingPassword" xml:space="preserve">
@ -1556,7 +1556,7 @@
<value>退出</value>
</data>
<data name="ExitConfirmation" xml:space="preserve">
<value>确定要退出 Bitwarden 吗?</value>
<value>确定要退出 Bitwarden 吗?</value>
</data>
<data name="PINRequireMasterPasswordRestart" xml:space="preserve">
<value>当应用程序重启时,要求使用主密码解锁吗?</value>
@ -2098,7 +2098,7 @@
<value>{0} 正在使用客户管理加密的 SSO。继续操作将删除您的账户主密码并要求 SSO 登录。</value>
</data>
<data name="RemoveMasterPasswordWarning2" xml:space="preserve">
<value>如果您不想移除您的主密码,您可以退出这个组织。</value>
<value>如果您不想移除您的主密码,您可以退出组织。</value>
</data>
<data name="LeaveOrganization" xml:space="preserve">
<value>退出组织</value>
@ -2432,7 +2432,7 @@
<value>API 访问令牌</value>
</data>
<data name="AreYouSureYouWantToOverwriteTheCurrentUsername" xml:space="preserve">
<value>确定要覆盖当前用户名吗?</value>
<value>确定要覆盖当前用户名吗?</value>
</data>
<data name="GenerateUsername" xml:space="preserve">
<value>生成用户名</value>
@ -2527,7 +2527,7 @@
<value>拒绝所有请求</value>
</data>
<data name="AreYouSureYouWantToDeclineAllPendingLogInRequests" xml:space="preserve">
<value>确定要拒绝所有待处理的登录请求吗?</value>
<value>确定要拒绝所有待处理的登录请求吗?</value>
</data>
<data name="RequestsDeclined" xml:space="preserve">
<value>请求被拒绝</value>
@ -2846,7 +2846,7 @@
<value>Bitwarden 允许您使用组织与他人共享您的密码库项目。访问 bitwarden.com 网站以了解更多。</value>
</data>
<data name="RateAppDescriptionLong" xml:space="preserve">
<value>帮助别人了解 Bitwarden 是否适合他们。立即访问应用商店并留下评分。</value>
<value>帮助别人了解 Bitwarden 是否适合他们。立即访问 App Store 并留下评分。</value>
</data>
<data name="DefaultDarkThemeDescriptionLong" xml:space="preserve">
<value>当设备的深色模式启用时,选择要使用的深色主题。</value>
@ -2861,4 +2861,13 @@
<data name="AccountLoggedOutBiometricExceeded" xml:space="preserve">
<value>账户已注销。</value>
</data>
<data name="YourOrganizationPermissionsWereUpdatedRequeringYouToSetAMasterPassword" xml:space="preserve">
<value>您的组织权限已更新,要求您设置主密码。</value>
</data>
<data name="YourOrganizationRequiresYouToSetAMasterPassword" xml:space="preserve">
<value>您的组织要求您设置主密码。</value>
</data>
<data name="SetUpAnUnlockOptionToChangeYourVaultTimeoutAction" xml:space="preserve">
<value>设置解锁选项以更改您的密码库超时操作。</value>
</data>
</root>

View file

@ -854,7 +854,7 @@
<value>若要繼續,請將您的 YubiKey 靠在裝置的背面或者將 YubiKey 插入您裝置的 USB 連接埠,然後按下按鈕。</value>
</data>
<data name="YubiKeyTitle" xml:space="preserve">
<value>YubiKey 安全鑰</value>
<value>YubiKey 安全鑰</value>
<comment>"YubiKey" is the product name and should not be translated.</comment>
</data>
<data name="AddNewAttachment" xml:space="preserve">
@ -946,7 +946,7 @@
<value>更新加密金鑰前不能使用此功能。</value>
</data>
<data name="EncryptionKeyMigrationRequiredDescriptionLong" xml:space="preserve">
<value>Encryption key migration required. Please login through the web vault to update your encryption key.</value>
<value>需要遷移加密金鑰。請透過網頁版密碼庫登入以更新您的加密金鑰。</value>
</data>
<data name="LearnMore" xml:space="preserve">
<value>深入了解</value>
@ -1180,7 +1180,7 @@
<comment>What Apple calls their facial recognition reader.</comment>
</data>
<data name="FaceIDDirection" xml:space="preserve">
<value>使用 Face ID 驗證</value>
<value>使用 Face ID 驗證</value>
</data>
<data name="UseFaceIDToUnlock" xml:space="preserve">
<value>使用 Face ID 解鎖</value>
@ -1678,7 +1678,7 @@
<value>已成功匯出密碼庫</value>
</data>
<data name="Clone" xml:space="preserve">
<value>複製</value>
<value>克隆</value>
<comment>Clone an entity (verb).</comment>
</data>
<data name="PasswordGeneratorPolicyInEffect" xml:space="preserve">
@ -1741,10 +1741,10 @@
<comment>Confirmation alert message when soft-deleting a cipher.</comment>
</data>
<data name="AccountBiometricInvalidated" xml:space="preserve">
<value>Biometric unlock for this account is disabled pending verification of master password.</value>
<value>該帳戶的生物特徵識別解鎖已被停用,等待驗證主密碼。</value>
</data>
<data name="AccountBiometricInvalidatedExtension" xml:space="preserve">
<value>Autofill biometric unlock for this account is disabled pending verification of master password.</value>
<value>該帳戶的自動填入生物特徵識別解鎖已停用,等待驗證主密碼。</value>
</data>
<data name="EnableSyncOnRefresh" xml:space="preserve">
<value>啟用重新整理時同步</value>
@ -2110,10 +2110,10 @@
<value>FIDO2 WebAuthn</value>
</data>
<data name="Fido2Instruction" xml:space="preserve">
<value>若要繼續,請準備好 FIDO2 WebAuthn 相容的安全鑰,在下個畫面按下 [驗證 WebAuthn],接著遵循指引。</value>
<value>若要繼續,請準備好 FIDO2 WebAuthn 相容的安全鑰,在下個畫面按下 [驗證 WebAuthn],接著遵循指引。</value>
</data>
<data name="Fido2Desc" xml:space="preserve">
<value>使用 FIDO2 WebAuthn 驗證,您可以使用外部安全鑰進行驗證。</value>
<value>使用 FIDO2 WebAuthn 驗證,您可以使用外部安全鑰進行驗證。</value>
</data>
<data name="Fido2AuthenticateWebAuthn" xml:space="preserve">
<value>驗證 WebAuthn</value>
@ -2131,10 +2131,10 @@
<value>您的組織原則正在影響您的密碼庫逾時時間。密碼庫逾時時間最多可以設定到 {0} 小時 {1} 分鐘。</value>
</data>
<data name="VaultTimeoutPolicyWithActionInEffect" xml:space="preserve">
<value>Your organization policies are affecting your vault timeout. Maximum allowed vault timeout is {0} hour(s) and {1} minute(s). Your vault timeout action is set to {2}.</value>
<value>您的組織原則正在影響您的密碼庫逾時時間。密碼庫逾時時間最多可以設定到 {0} 小時 {1} 分鐘。您密碼庫的逾時動作被設定為 {2}。</value>
</data>
<data name="VaultTimeoutActionPolicyInEffect" xml:space="preserve">
<value>Your organization policies have set your vault timeout action to {0}.</value>
<value>您的組織原則已將密碼庫逾時動作設定為 {0}。</value>
</data>
<data name="VaultTimeoutToLarge" xml:space="preserve">
<value>您的密碼庫逾時時間超過組織設定的限制。</value>
@ -2488,7 +2488,7 @@
<value>獲取主密碼提示</value>
</data>
<data name="LoggingInAsXOnY" xml:space="preserve">
<value>Logging in as {0} on {1}</value>
<value>在 {1} 上以 {0} 身份登入</value>
</data>
<data name="NotYou" xml:space="preserve">
<value>不是您嗎?</value>
@ -2524,16 +2524,16 @@
<value>待處理的登入請求。</value>
</data>
<data name="DeclineAllRequests" xml:space="preserve">
<value>Decline all requests</value>
<value>拒絕所有要求</value>
</data>
<data name="AreYouSureYouWantToDeclineAllPendingLogInRequests" xml:space="preserve">
<value>Are you sure you want to decline all pending login requests?</value>
<value>您確定要拒絕所有待處理的登入要求嗎?</value>
</data>
<data name="RequestsDeclined" xml:space="preserve">
<value>Requests declined</value>
<value>要求已拒絕</value>
</data>
<data name="NoPendingRequests" xml:space="preserve">
<value>No pending requests</value>
<value>無待處理的要求</value>
</data>
<data name="EnableCamerPermissionToUseTheScanner" xml:space="preserve">
<value>允許相機權限以使用掃描功能</value>
@ -2542,13 +2542,13 @@
<value>語言</value>
</data>
<data name="LanguageChangeXDescription" xml:space="preserve">
<value>The language has been changed to {0}. Please restart the app to see the change</value>
<value>語言已被變更為 {0}。請重啓應用程式以查看變更</value>
</data>
<data name="LanguageChangeRequiresAppRestart" xml:space="preserve">
<value>Language change requires app restart</value>
<value>變更語言需要重啓應用程式</value>
</data>
<data name="DefaultSystem" xml:space="preserve">
<value>Default (System)</value>
<value>預設(系統)</value>
</data>
<data name="Important" xml:space="preserve">
<value>重要</value>
@ -2584,22 +2584,22 @@
<value>強度不足且已暴露的主密碼</value>
</data>
<data name="WeakPasswordIdentifiedAndFoundInADataBreachAlertDescription" xml:space="preserve">
<value>是密碼強度不足,且在其他資料庫中找到這個密碼。使用一個強度足夠和獨特的密碼來保護您的帳號。請問您確定要用這個密碼嗎?</value>
<value>密碼強度不足,且在資料外洩事件中找到了這個密碼。使用一個強度足夠和獨特的密碼來保護您的帳戶。您確定要使用這個密碼嗎?</value>
</data>
<data name="OrganizationSsoIdentifierRequired" xml:space="preserve">
<value>需要單一登入 (SSO) 組織識別碼。</value>
</data>
<data name="AddTheKeyToAnExistingOrNewItem" xml:space="preserve">
<value>Add the key to an existing or new item</value>
<value>將金輪新增到現有或新的項目</value>
</data>
<data name="ThereAreNoItemsInYourVaultThatMatchX" xml:space="preserve">
<value>There are no items in your vault that match "{0}"</value>
<value>您的密碼庫中沒有與「{0}」一致的項目</value>
</data>
<data name="SearchForAnItemOrAddANewItem" xml:space="preserve">
<value>Search for an item or add a new item</value>
<value>搜尋項目或新增項目</value>
</data>
<data name="ThereAreNoItemsThatMatchTheSearch" xml:space="preserve">
<value>There are no items that match the search</value>
<value>您的密碼庫中沒有與搜尋一致的項目</value>
</data>
<data name="US" xml:space="preserve">
<value>美國</value>
@ -2608,10 +2608,10 @@
<value>歐盟</value>
</data>
<data name="SelfHosted" xml:space="preserve">
<value>Self-hosted</value>
<value>自我裝載</value>
</data>
<data name="DataRegion" xml:space="preserve">
<value>Data region</value>
<value>資料區域</value>
</data>
<data name="Region" xml:space="preserve">
<value>區域</value>
@ -2623,76 +2623,76 @@
<value>目前主密碼</value>
</data>
<data name="LoggedIn" xml:space="preserve">
<value>Logged in!</value>
<value>已登入!</value>
</data>
<data name="ApproveWithMyOtherDevice" xml:space="preserve">
<value>Approve with my other device</value>
<value>使用我的其他裝置核准</value>
</data>
<data name="RequestAdminApproval" xml:space="preserve">
<value>Request admin approval</value>
<value>要求管理員核准</value>
</data>
<data name="ApproveWithMasterPassword" xml:space="preserve">
<value>Approve with master password</value>
<value>使用主密碼核准</value>
</data>
<data name="TurnOffUsingPublicDevice" xml:space="preserve">
<value>Turn off using a public device</value>
<value>不允許使用公用裝置</value>
</data>
<data name="RememberThisDevice" xml:space="preserve">
<value>Remember this device</value>
<value>記住這個裝置</value>
</data>
<data name="Passkey" xml:space="preserve">
<value>Passkey</value>
<value>密碼金鑰</value>
</data>
<data name="Passkeys" xml:space="preserve">
<value>Passkeys</value>
<value>密碼金鑰</value>
</data>
<data name="Application" xml:space="preserve">
<value>應用程式</value>
</data>
<data name="YouCannotEditPasskeyApplicationBecauseItWouldInvalidateThePasskey" xml:space="preserve">
<value>You cannot edit passkey application because it would invalidate the passkey</value>
<value>您不能編輯密碼金鑰應用程式,因為這會使密碼金鑰失效</value>
</data>
<data name="PasskeyWillNotBeCopied" xml:space="preserve">
<value>Passkey will not be copied</value>
<value>密碼金鑰不會被複製</value>
</data>
<data name="ThePasskeyWillNotBeCopiedToTheClonedItemDoYouWantToContinueCloningThisItem" xml:space="preserve">
<value>The passkey will not be copied to the cloned item. Do you want to continue cloning this item?</value>
<value>密碼金鑰不會被複製到克隆的項目。 您想繼續克隆該項目嗎?</value>
</data>
<data name="CopyApplication" xml:space="preserve">
<value>Copy application</value>
<value>複製應用程式</value>
</data>
<data name="AvailableForTwoStepLogin" xml:space="preserve">
<value>Available for two-step login</value>
<value>可用於兩步驟登入</value>
</data>
<data name="MasterPasswordRePromptHelp" xml:space="preserve">
<value>Master password re-prompt help</value>
<value>重新詢問主密碼幫助</value>
</data>
<data name="UnlockingMayFailDueToInsufficientMemoryDecreaseYourKDFMemorySettingsToResolve" xml:space="preserve">
<value>Unlocking may fail due to insufficient memory. Decrease your KDF memory settings or set up biometric unlock to resolve.</value>
<value>由於記憶體不足,解鎖可能會失敗。請減少您的 KDF 記憶體設定或設定生物特徵識別解鎖來解決此問題。</value>
</data>
<data name="InvalidAPIKey" xml:space="preserve">
<value>Invalid API key</value>
<value>無效的 API 金輪</value>
</data>
<data name="InvalidAPIToken" xml:space="preserve">
<value>Invalid API token</value>
<value>無效的 API 權杖</value>
</data>
<data name="AdminApprovalRequested" xml:space="preserve">
<value>Admin approval requested</value>
<value>已要求管理員核准</value>
</data>
<data name="YourRequestHasBeenSentToYourAdmin" xml:space="preserve">
<value>Your request has been sent to your admin.</value>
<value>您的要求已傳送給您的管理員</value>
</data>
<data name="YouWillBeNotifiedOnceApproved" xml:space="preserve">
<value>You will be notified once approved. </value>
<value>核准後將通知您。 </value>
</data>
<data name="TroubleLoggingIn" xml:space="preserve">
<value>Trouble logging in?</value>
<value>登入時遇到困難?</value>
</data>
<data name="LoggingInAsX" xml:space="preserve">
<value>Logging in as {0}</value>
<value>正以 {0} 身分登入</value>
</data>
<data name="VaultTimeoutActionChangedToLogOut" xml:space="preserve">
<value>Vault timeout action changed to log out</value>
<value>密碼庫逾時動作已變更為登出</value>
</data>
<data name="BlockAutoFill" xml:space="preserve">
<value>封鎖表單自動填入功能</value>
@ -2738,127 +2738,136 @@
<value>無法一次編輯多組 URI</value>
</data>
<data name="LoginApproved" xml:space="preserve">
<value>Login approved</value>
<value>登入已核准</value>
</data>
<data name="LogInWithDeviceMustBeSetUpInTheSettingsOfTheBitwardenAppNeedAnotherOption" xml:space="preserve">
<value>Log in with device must be set up in the settings of the Bitwarden app. Need another option?</value>
<value>必須先在 Bitwarden 應用程式設定中開啟後,才可以使用裝置登入。要改用其他選項嗎?</value>
</data>
<data name="LogInWithDevice" xml:space="preserve">
<value>Log in with device</value>
<value>使用裝置登入</value>
</data>
<data name="LoggingInOn" xml:space="preserve">
<value>Logging in on</value>
<value>正登入到</value>
</data>
<data name="Vault" xml:space="preserve">
<value>Vault</value>
<value>密碼庫</value>
</data>
<data name="Appearance" xml:space="preserve">
<value>Appearance</value>
<value>外觀</value>
</data>
<data name="AccountSecurity" xml:space="preserve">
<value>Account security</value>
<value>帳戶安全性</value>
</data>
<data name="BitwardenHelpCenter" xml:space="preserve">
<value>Bitwarden Help Center</value>
<value>Bitwarden 幫助中心</value>
</data>
<data name="ContactBitwardenSupport" xml:space="preserve">
<value>Contact Bitwarden support</value>
<value>連絡 Bitwarden 支援</value>
</data>
<data name="CopyAppInformation" xml:space="preserve">
<value>Copy app information</value>
<value>複製應用程式資訊</value>
</data>
<data name="SyncNow" xml:space="preserve">
<value>Sync now</value>
<value>立即同步</value>
</data>
<data name="UnlockOptions" xml:space="preserve">
<value>Unlock options</value>
<value>解鎖選項</value>
</data>
<data name="SessionTimeout" xml:space="preserve">
<value>Session timeout</value>
<value>工作階段逾時</value>
</data>
<data name="SessionTimeoutAction" xml:space="preserve">
<value>Session timeout action</value>
<value>工作階段逾時動作</value>
</data>
<data name="AccountFingerprintPhrase" xml:space="preserve">
<value>Account fingerprint phrase</value>
<value>帳戶指紋短語</value>
<comment>A 'fingerprint phrase' is a unique word phrase (similar to a passphrase) that a user can use to authenticate their public key with another user, for the purposes of sharing.</comment>
</data>
<data name="OneHourAndOneMinute" xml:space="preserve">
<value>One hour and one minute</value>
<value>1 小時 1 分鐘</value>
</data>
<data name="OneHourAndXMinute" xml:space="preserve">
<value>One hour and {0} minutes</value>
<value>1 小時 {0} 分鐘</value>
</data>
<data name="XHoursAndOneMinute" xml:space="preserve">
<value>{0} hours and one minute</value>
<value>{0} 小時 1 分鐘</value>
</data>
<data name="XHoursAndYMinutes" xml:space="preserve">
<value>{0} hours and {1} minutes</value>
<value>{0} 小時 {1} 分鐘</value>
</data>
<data name="XHours" xml:space="preserve">
<value>{0} hours</value>
<value>{0} 小時</value>
</data>
<data name="AutofillServicesExplanationLong" xml:space="preserve">
<value>The Android Autofill Framework is used to assist in filling login information into other apps on your device.</value>
<value>Android 自動填入框架用於協助將登入資訊填入裝置上的其他應用程式。</value>
</data>
<data name="UseInlineAutofillExplanationLong" xml:space="preserve">
<value>Use inline autofill if your selected keyboard supports it. Otherwise, use the default overlay.</value>
<value>如果您選擇的鍵盤支持,請使用内嵌式自動填入。否則,使用預設覆蓋。</value>
</data>
<data name="AdditionalOptions" xml:space="preserve">
<value>Additional options</value>
<value>額外選項</value>
</data>
<data name="ContinueToWebApp" xml:space="preserve">
<value>Continue to web app?</value>
<value>接下來造訪 Web App 嗎?</value>
</data>
<data name="ContinueToX" xml:space="preserve">
<value>Continue to {0}?</value>
<value>接下來造訪 {0} 嗎?</value>
<comment>The parameter is an URL, like bitwarden.com.</comment>
</data>
<data name="ContinueToHelpCenter" xml:space="preserve">
<value>Continue to Help center?</value>
<value>接下來造訪幫助中心嗎?</value>
</data>
<data name="ContinueToContactSupport" xml:space="preserve">
<value>Continue to contact support?</value>
<value>接下來聯絡支援嗎?</value>
</data>
<data name="ContinueToAppStore" xml:space="preserve">
<value>Continue to app store?</value>
<value>接下來造訪 App Store 嗎?</value>
</data>
<data name="TwoStepLoginDescriptionLong" xml:space="preserve">
<value>Make your account more secure by setting up two-step login in the Bitwarden web app.</value>
<value>在 Bitwarden Web 應用程式中設定兩步驟登入,讓您的帳戶更加安全。</value>
</data>
<data name="ChangeMasterPasswordDescriptionLong" xml:space="preserve">
<value>You can change your master password on the Bitwarden web app.</value>
<value>您可以在 Bitwarden Web 應用程式上變更主密碼。</value>
</data>
<data name="YouCanImportDataToYourVaultOnX" xml:space="preserve">
<value>You can import data to your vault on {0}.</value>
<value>您可以將資料匯入到 {0} 上的密碼庫。</value>
<comment>The parameter is an URL, like vault.bitwarden.com.</comment>
</data>
<data name="LearnMoreAboutHowToUseBitwardenOnTheHelpCenter" xml:space="preserve">
<value>Learn more about how to use Bitwarden on the Help center.</value>
<value>在幫助中心了解有關如何使用 Bitwarden 的更多資訊。</value>
</data>
<data name="ContactSupportDescriptionLong" xml:space="preserve">
<value>Cant find what you are looking for? Reach out to Bitwarden support on bitwarden.com.</value>
<value>不能找到你想要的?請在 bitwarden.com 上聯絡 Bitwarden 支援。</value>
</data>
<data name="ExploreMoreFeaturesOfYourBitwardenAccountOnTheWebApp" xml:space="preserve">
<value>Explore more features of your Bitwarden account on the web app.</value>
<value>在 Web 應用程式上探索 Bitwarden 帳戶的更多功能。</value>
</data>
<data name="LearnAboutOrganizationsDescriptionLong" xml:space="preserve">
<value>Bitwarden allows you to share your vault items with others by using an organization. Learn more on the bitwarden.com website.</value>
<value>Bitwarden 可讓您透過組織與其他人共用您的密碼庫項目。請造訪 bitwarden.com 網站以了解更多資訊。</value>
</data>
<data name="RateAppDescriptionLong" xml:space="preserve">
<value>Help others find out if Bitwarden is right for them. Visit the app store and leave a rating now.</value>
<value>幫助其他人了解 Bitwarden 是否適合他們。立即造訪 App Store 並留下評分。</value>
</data>
<data name="DefaultDarkThemeDescriptionLong" xml:space="preserve">
<value>Choose the dark theme to use when your devices dark mode is in use</value>
<value>選擇當您的裝置使用深色模式時要使用的深色主題</value>
</data>
<data name="CreatedXY" xml:space="preserve">
<value>Created {0}, {1}</value>
<value>建立於 {0}, {1}</value>
<comment>To state the date/time in which the cipher was created: Created 03/21/2023, 09:25 AM. First parameter is the date and the second parameter is the time.</comment>
</data>
<data name="TooManyAttempts" xml:space="preserve">
<value>嘗試次數過多</value>
</data>
<data name="AccountLoggedOutBiometricExceeded" xml:space="preserve">
<value>帳號已登出。</value>
<value>帳戶已登出。</value>
</data>
<data name="YourOrganizationPermissionsWereUpdatedRequeringYouToSetAMasterPassword" xml:space="preserve">
<value>Your organization permissions were updated, requiring you to set a master password.</value>
</data>
<data name="YourOrganizationRequiresYouToSetAMasterPassword" xml:space="preserve">
<value>Your organization requires you to set a master password.</value>
</data>
<data name="SetUpAnUnlockOptionToChangeYourVaultTimeoutAction" xml:space="preserve">
<value>Set up an unlock option to change your vault timeout action.</value>
</data>
</root>

View file

@ -6,6 +6,7 @@
x:Class="Bit.App.Styles.ControlTemplates">
<u:StringHasValueConverter x:Key="stringHasValueConverter" />
<u:BoolEnablementToTextColorConverter x:Key="boolEnablementToTextColorConverter" />
<ControlTemplate x:Key="SettingControlTemplate">
<Grid
@ -17,6 +18,7 @@
Grid.Column="0"
MaxLines="2"
Text="{TemplateBinding Title}"
TextColor="{TemplateBinding IsEnabled, Converter={StaticResource boolEnablementToTextColorConverter}}"
HorizontalOptions="StartAndExpand"
LineBreakMode="TailTruncation" />

View file

@ -9,7 +9,7 @@ using System.Threading.Tasks;
using Bit.Core.Abstractions;
using Bit.Core.Enums;
using Bit.Core.Exceptions;
using Bit.Core.Models.Domain;
using Bit.Core.Models.Data;
using Bit.Core.Models.Request;
using Bit.Core.Models.Response;
using Bit.Core.Utilities;
@ -55,7 +55,7 @@ namespace Bit.Core.Services
public string IdentityBaseUrl { get; set; }
public string EventsBaseUrl { get; set; }
public void SetUrls(EnvironmentUrls urls)
public void SetUrls(EnvironmentUrlData urls)
{
UrlsSet = true;
if (!string.IsNullOrWhiteSpace(urls.Base))

Some files were not shown because too many files have changed in this diff Show more