1
0
mirror of https://github.com/bitwarden/mobile synced 2025-12-23 11:43:49 +00:00

Merge branch 'master' into feature/pm-1029-tde-login

# Conflicts:
#	src/App/Resources/AppResources.resx
This commit is contained in:
André Bispo
2023-07-28 07:33:54 +01:00
168 changed files with 7163 additions and 978 deletions

View File

@@ -4,7 +4,7 @@
# Bitwarden Mobile Application
<a href="https://play.google.com/store/apps/details?id=com.x8bit.bitwarden" target="_blank"><img alt="Get it on Google Play" src="https://imgur.com/YQzmZi9.png" width="153" height="46"></a> <a href="https://mobileapp.bitwarden.com/fdroid/" target="_blank"><img alt="Get it on Google Play" src="https://i.imgur.com/HDicnzz.png" width="154" height="46"></a> <a href="https://itunes.apple.com/us/app/bitwarden-free-password-manager/id1137397744?mt=8" target="_blank"><img src="https://imgur.com/GdGqPMY.png" width="135" height="40"></a>
<a href="https://play.google.com/store/apps/details?id=com.x8bit.bitwarden" target="_blank"><img alt="Get it on Google Play" src="https://imgur.com/YQzmZi9.png" width="153" height="46"></a> <a href="https://mobileapp.bitwarden.com/fdroid/" target="_blank"><img alt="Get it on F-Droid" src="https://i.imgur.com/HDicnzz.png" width="154" height="46"></a> <a href="https://itunes.apple.com/us/app/bitwarden-free-password-manager/id1137397744?mt=8" target="_blank"><img src="https://imgur.com/GdGqPMY.png" width="135" height="40"></a>
The Bitwarden mobile application is written in C# with Xamarin Android, Xamarin iOS, and Xamarin Forms.

Binary file not shown.

View File

@@ -3,7 +3,6 @@ using System.Threading.Tasks;
using Android.App;
using Android.Content;
using Android.Content.PM;
using Android.Media;
using Android.Nfc;
using Android.OS;
using Android.Provider;
@@ -18,14 +17,9 @@ using Bit.App.Utilities;
using Bit.App.Utilities.Prompts;
using Bit.Core.Abstractions;
using Bit.Core.Enums;
using Bit.Core.Utilities;
using Bit.Droid.Utilities;
using Plugin.CurrentActivity;
using Xamarin.Forms.Platform.Android;
using static Android.Icu.Text.CaseMap;
using static Android.Renderscripts.ScriptGroup;
using static Android.Util.EventLogTags;
using static Bit.App.Pages.SettingsPageViewModel;
namespace Bit.Droid.Services
{
@@ -267,6 +261,7 @@ namespace Bit.Droid.Services
var result = new TaskCompletionSource<ValidatablePromptResponse?>();
alertBuilder.SetOnCancelListener(new BasicDialogWithResultCancelListener(result));
alertBuilder.SetPositiveButton(config.OkButtonText ?? AppResources.Ok, listener: null);
alertBuilder.SetNegativeButton(config.CancelButtonText ?? AppResources.Cancel, (sender, args) => result.TrySetResult(null));
if (!string.IsNullOrEmpty(config.ThirdButtonText))
@@ -614,4 +609,20 @@ namespace Bit.Droid.Services
#pragma warning restore CS0618 // Type or member is obsolete
}
}
class BasicDialogWithResultCancelListener : Java.Lang.Object, IDialogInterfaceOnCancelListener
{
private readonly TaskCompletionSource<ValidatablePromptResponse?> _taskCompletionSource;
public BasicDialogWithResultCancelListener(TaskCompletionSource<ValidatablePromptResponse?> taskCompletionSource)
{
_taskCompletionSource = taskCompletionSource;
}
public void OnCancel(IDialogInterface dialog)
{
_taskCompletionSource?.TrySetResult(null);
dialog?.Dismiss();
}
}
}

View File

@@ -31,7 +31,7 @@ namespace Bit.App.Controls
public bool ShowIconImage
{
get => WebsiteIconsEnabled
&& !string.IsNullOrWhiteSpace(Cipher.Login?.Uri)
&& !string.IsNullOrWhiteSpace(Cipher.LaunchUri)
&& IconImageSource != null;
}
@@ -41,7 +41,7 @@ namespace Bit.App.Controls
{
if (_iconImageSource == string.Empty) // default value since icon source can return null
{
_iconImageSource = IconImageHelper.GetLoginIconImage(Cipher);
_iconImageSource = IconImageHelper.GetIconImage(Cipher);
}
return _iconImageSource;
}

View File

@@ -37,6 +37,8 @@ namespace Bit.App.Pages
set => SetProperty(ref _cipher, value, additionalPropertyNames: AdditionalPropertiesToRaiseOnCipherChanged);
}
public string CreationDate => string.Format(AppResources.CreatedX, Cipher.CreationDate.ToShortDateString());
public AsyncCommand CheckPasswordCommand { get; }
protected async Task CheckPasswordAsync()

View File

@@ -223,6 +223,17 @@
AutomationId="RegeneratePasswordButton" />
</Grid>
<Label
Text="{u:I18n Passkey}"
StyleClass="box-label"
Margin="0,10,0,0"
IsVisible="{Binding ShowPasskeyInfo}"/>
<Entry
Text="{u:I18n AvailableForTwoStepLogin}"
IsEnabled="False"
StyleClass="box-value,text-muted"
IsVisible="{Binding ShowPasskeyInfo}" />
<Grid StyleClass="box-row, box-row-input">
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
@@ -639,6 +650,38 @@
AutomationId="IdentityCountryEntry" />
</StackLayout>
</StackLayout>
<StackLayout IsVisible="{Binding IsFido2Key}" Spacing="0" Padding="0">
<Label
Text="{u:I18n Username}"
StyleClass="box-label"
Margin="0,10,0,0"/>
<Entry
x:Name="_fido2KeyUsernameEntry"
Text="{Binding Cipher.Fido2Key.UserName}"
StyleClass="box-value"
Grid.Row="1"/>
<Label
Text="{u:I18n Passkey}"
StyleClass="box-label"
Margin="0,10,0,0"/>
<Entry
Text="{Binding CreationDate}"
IsEnabled="False"
StyleClass="box-value,text-muted" />
<Label
Text="{u:I18n Application}"
StyleClass="box-label"
Margin="0,10,0,0"/>
<Entry
Text="{Binding Cipher.Fido2Key.LaunchUri}"
IsEnabled="False"
StyleClass="box-value,text-muted" />
<Label
Text="{u:I18n YouCannotEditPasskeyApplicationBecauseItWouldInvalidateThePasskey}"
StyleClass="box-sub-label" />
</StackLayout>
</StackLayout>
<StackLayout StyleClass="box" IsVisible="{Binding IsLogin}">
<StackLayout StyleClass="box-row-header">

View File

@@ -88,7 +88,6 @@ namespace Bit.App.Pages
_watchDeviceService = ServiceContainer.Resolve<IWatchDeviceService>();
_accountsManager = ServiceContainer.Resolve<IAccountsManager>();
GeneratePasswordCommand = new Command(GeneratePassword);
TogglePasswordCommand = new Command(TogglePassword);
ToggleCardNumberCommand = new Command(ToggleCardNumber);
@@ -297,6 +296,7 @@ namespace Bit.App.Pages
public bool IsIdentity => Cipher?.Type == CipherType.Identity;
public bool IsCard => Cipher?.Type == CipherType.Card;
public bool IsSecureNote => Cipher?.Type == CipherType.SecureNote;
public bool IsFido2Key => Cipher?.Type == CipherType.Fido2Key;
public bool ShowUris => IsLogin && Cipher.Login.HasUris;
public bool ShowAttachments => Cipher.HasAttachments;
public string ShowPasswordIcon => ShowPassword ? BitwardenIcons.EyeSlash : BitwardenIcons.Eye;
@@ -309,6 +309,7 @@ namespace Bit.App.Pages
public string PasswordVisibilityAccessibilityText => ShowPassword ? AppResources.PasswordIsVisibleTapToHide : AppResources.PasswordIsNotVisibleTapToShow;
public bool HasTotpValue => IsLogin && !string.IsNullOrEmpty(Cipher?.Login?.Totp);
public string SetupTotpText => $"{BitwardenIcons.Camera} {AppResources.SetupTotp}";
public bool ShowPasskeyInfo => Cipher?.Login?.Fido2Key != null && !CloneMode;
public void Init()
{
@@ -367,6 +368,11 @@ namespace Bit.App.Pages
{
Cipher.OrganizationId = OrganizationId;
}
if (Cipher.Type == CipherType.Login)
{
// passkeys can't be cloned
Cipher.Login.Fido2Key = null;
}
}
if (appOptions?.OtpData != null && Cipher.Type == CipherType.Login)
{

View File

@@ -45,7 +45,7 @@
x:Name="_attachmentsItem" x:Key="attachmentsItem" />
<ToolbarItem Text="{u:I18n Delete}" Clicked="Delete_Clicked" Order="Secondary" IsDestructive="True"
x:Name="_deleteItem" x:Key="deleteItem" />
<ToolbarItem Text="{u:I18n Clone}" Clicked="Clone_Clicked" Order="Secondary"
<ToolbarItem Text="{u:I18n Clone}" Command="{Binding CloneCommand}" Order="Secondary"
x:Name="_cloneItem" x:Key="cloneItem" />
<DataTemplate x:Key="TextCustomFieldDataTemplate">
@@ -195,6 +195,16 @@
</Grid>
<BoxView StyleClass="box-row-separator"
IsVisible="{Binding Cipher.Login.Password, Converter={StaticResource stringHasValue}}" />
<Label
Text="{u:I18n Passkey}"
StyleClass="box-label"
Margin="0,10,0,0"
IsVisible="{Binding Cipher.Login.Fido2Key, Converter={StaticResource notNull}}"/>
<Entry
Text="{u:I18n AvailableForTwoStepLogin}"
IsEnabled="False"
StyleClass="box-value,text-muted"
IsVisible="{Binding Cipher.Login.Fido2Key, Converter={StaticResource notNull}}" />
<Grid StyleClass="box-row"
IsVisible="{Binding ShowTotp}"
AutomationId="ItemRow">
@@ -569,6 +579,64 @@
</StackLayout>
<BoxView StyleClass="box-row-separator" IsVisible="{Binding ShowIdentityAddress}" />
</StackLayout>
<StackLayout
IsVisible="{Binding IsFido2Key}"
Spacing="0"
Padding="0"
Margin="0,10,0,0">
<Label
Text="{u:I18n Username}"
StyleClass="box-label" />
<Label
Text="{Binding Cipher.Fido2Key.UserName, Mode=OneWay}"
StyleClass="box-value" />
<BoxView StyleClass="box-row-separator" Margin="0,10,0,0" />
<Label
Text="{u:I18n Passkey}"
StyleClass="box-label"
Margin="0,10,0,0" />
<Label
Text="{Binding CreationDate, Mode=OneWay}"
StyleClass="box-value" />
<BoxView StyleClass="box-row-separator" Margin="0,10,0,0" />
<Grid
StyleClass="box-row"
RowDefinitions="Auto,*,Auto"
ColumnDefinitions="*,Auto,Auto">
<Label
Text="{u:I18n Application}"
StyleClass="box-label" />
<Label
Grid.Row="1"
Text="{Binding Cipher.Fido2Key.LaunchUri, Mode=OneWay}"
StyleClass="box-value" />
<controls:IconButton
StyleClass="box-row-button, box-row-button-platform"
Text="{Binding Source={x:Static core:BitwardenIcons.ShareSquare}}"
Command="{Binding LaunchUriCommand}"
CommandParameter="{Binding Cipher.Fido2Key}"
Grid.Column="1"
Grid.RowSpan="2"
VerticalOptions="End"
IsVisible="{Binding Cipher.Fido2Key.CanLaunch, Mode=OneWay}"
AutomationProperties.IsInAccessibleTree="True"
AutomationProperties.Name="{u:I18n Launch}" />
<controls:IconButton
StyleClass="box-row-button, box-row-button-platform"
Text="{Binding Source={x:Static core:BitwardenIcons.Clone}}"
Command="{Binding CopyCommand}"
CommandParameter="Fido2KeyApplication"
Grid.Column="2"
Grid.RowSpan="2"
AutomationProperties.IsInAccessibleTree="True"
AutomationProperties.Name="{u:I18n CopyApplication}" />
<BoxView
StyleClass="box-row-separator"
Margin="0,3,0,0"
Grid.Row="2"
Grid.ColumnSpan="3" />
</Grid>
</StackLayout>
</StackLayout>
<StackLayout StyleClass="box" IsVisible="{Binding ShowUris}">
<StackLayout StyleClass="box-row-header">

View File

@@ -204,20 +204,7 @@ namespace Bit.App.Pages
}
}
private async void Clone_Clicked(object sender, System.EventArgs e)
{
if (DoOnce())
{
if (!await _vm.PromptPasswordAsync())
{
return;
}
var page = new CipherAddEditPage(_vm.CipherId, cloneMode: true, cipherDetailsPage: this);
await Navigation.PushModalAsync(new NavigationPage(page));
}
}
private async void More_Clicked(object sender, System.EventArgs e)
private async void More_Clicked(object sender, EventArgs e)
{
if (!DoOnce())
{
@@ -226,8 +213,12 @@ namespace Bit.App.Pages
var options = new List<string> { AppResources.Attachments };
if (_vm.Cipher.OrganizationId == null)
{
if (_vm.CanClone)
{
options.Add(AppResources.Clone);
}
options.Add(AppResources.MoveToOrganization);
}
else
@@ -267,8 +258,7 @@ namespace Bit.App.Pages
}
else if (selection == AppResources.Clone)
{
var page = new CipherAddEditPage(_vm.CipherId, cloneMode: true, cipherDetailsPage: this);
await Navigation.PushModalAsync(new NavigationPage(page));
_vm.CloneCommand.Execute(null);
}
}
@@ -302,13 +292,13 @@ namespace Bit.App.Pages
{
ToolbarItems.Remove(_collectionsItem);
}
if (!ToolbarItems.Contains(_cloneItem))
if (_vm.CanClone && !ToolbarItems.Contains(_cloneItem))
{
ToolbarItems.Insert(1, _cloneItem);
}
if (!ToolbarItems.Contains(_shareItem))
{
ToolbarItems.Insert(2, _shareItem);
ToolbarItems.Insert(_vm.CanClone ? 2 : 1, _shareItem);
}
}
else

View File

@@ -68,7 +68,8 @@ namespace Bit.App.Pages
CopyCommand = new AsyncCommand<string>((id) => CopyAsync(id, null), onException: ex => _logger.Exception(ex), allowsMultipleExecutions: false);
CopyUriCommand = new AsyncCommand<LoginUriView>(uriView => CopyAsync("LoginUri", uriView.Uri), onException: ex => _logger.Exception(ex), allowsMultipleExecutions: false);
CopyFieldCommand = new AsyncCommand<FieldView>(field => CopyAsync(field.Type == FieldType.Hidden ? "H_FieldValue" : "FieldValue", field.Value), onException: ex => _logger.Exception(ex), allowsMultipleExecutions: false);
LaunchUriCommand = new Command<LoginUriView>(LaunchUri);
LaunchUriCommand = new Command<ILaunchableView>(LaunchUri);
CloneCommand = new AsyncCommand(CloneAsync, onException: ex => HandleException(ex), allowsMultipleExecutions: false);
TogglePasswordCommand = new Command(TogglePassword);
ToggleCardNumberCommand = new Command(ToggleCardNumber);
ToggleCardCodeCommand = new Command(ToggleCardCode);
@@ -81,6 +82,7 @@ namespace Bit.App.Pages
public ICommand CopyUriCommand { get; set; }
public ICommand CopyFieldCommand { get; set; }
public Command LaunchUriCommand { get; set; }
public ICommand CloneCommand { get; set; }
public Command TogglePasswordCommand { get; set; }
public Command ToggleCardNumberCommand { get; set; }
public Command ToggleCardCodeCommand { get; set; }
@@ -146,6 +148,7 @@ namespace Bit.App.Pages
public bool IsIdentity => Cipher?.Type == Core.Enums.CipherType.Identity;
public bool IsCard => Cipher?.Type == Core.Enums.CipherType.Card;
public bool IsSecureNote => Cipher?.Type == Core.Enums.CipherType.SecureNote;
public bool IsFido2Key => Cipher?.Type == Core.Enums.CipherType.Fido2Key;
public FormattedString ColoredPassword => GeneratedValueFormatter.Format(Cipher.Login.Password);
public FormattedString UpdatedText
{
@@ -246,6 +249,7 @@ namespace Bit.App.Pages
public double TotpProgress => string.IsNullOrEmpty(TotpSec) ? 0 : double.Parse(TotpSec) * 100 / _totpInterval;
public bool IsDeleted => Cipher.IsDeleted;
public bool CanEdit => !Cipher.IsDeleted;
public bool CanClone => Cipher.IsClonable;
public async Task<bool> LoadAsync(Action finishedLoadingAction = null)
{
@@ -645,6 +649,11 @@ namespace Bit.App.Pages
text = Cipher.Card.Code;
name = AppResources.SecurityCode;
}
else if (id == "Fido2KeyApplication")
{
text = Cipher.Fido2Key?.LaunchUri;
name = AppResources.Application;
}
if (text != null)
{
@@ -668,14 +677,25 @@ namespace Bit.App.Pages
}
}
private void LaunchUri(LoginUriView uri)
private void LaunchUri(ILaunchableView launchableView)
{
if (uri.CanLaunch && (Page as BaseContentPage).DoOnce())
if (launchableView.CanLaunch && (Page as BaseContentPage).DoOnce())
{
_platformUtilsService.LaunchUri(uri.LaunchUri);
_platformUtilsService.LaunchUri(launchableView.LaunchUri);
}
}
private async Task CloneAsync()
{
if (!await CanCloneAsync() || !await PromptPasswordAsync())
{
return;
}
var page = new CipherAddEditPage(CipherId, cloneMode: true, cipherDetailsPage: Page as CipherDetailsPage);
await Page.Navigation.PushModalAsync(new NavigationPage(page));
}
public async Task<bool> PromptPasswordAsync()
{
if (Cipher.Reprompt == CipherRepromptType.None || _passwordReprompted)
@@ -685,5 +705,21 @@ namespace Bit.App.Pages
return _passwordReprompted = await _passwordRepromptService.ShowPasswordPromptAsync();
}
private async Task<bool> CanCloneAsync()
{
if (Cipher.Type == CipherType.Fido2Key)
{
await _platformUtilsService.ShowDialogAsync(AppResources.PasskeyWillNotBeCopied);
return false;
}
if (Cipher.Type == CipherType.Login && Cipher.Login?.Fido2Key != null)
{
return await _platformUtilsService.ShowDialogAsync(AppResources.ThePasskeyWillNotBeCopiedToTheClonedItemDoYouWantToContinueCloningThisItem, AppResources.PasskeyWillNotBeCopied, AppResources.Yes, AppResources.No);
}
return true;
}
}
}

View File

@@ -60,6 +60,9 @@ namespace Bit.App.Pages
case CipherType.Identity:
_name = AppResources.TypeIdentity;
break;
case CipherType.Fido2Key:
_name = AppResources.Passkey;
break;
default:
break;
}
@@ -108,6 +111,9 @@ namespace Bit.App.Pages
case CipherType.Identity:
_icon = BitwardenIcons.IdCard;
break;
case CipherType.Fido2Key:
_icon = BitwardenIcons.Passkey;
break;
default:
_icon = BitwardenIcons.Globe;
break;

View File

@@ -235,35 +235,18 @@ namespace Bit.App.Pages
{
AddTotpGroupItem(groupedItems, uppercaseGroupNames);
groupedItems.Add(new GroupingsPageListGroup(
AppResources.Types, 4, uppercaseGroupNames, !hasFavorites)
var types = new CipherType[] { CipherType.Login, CipherType.Card, CipherType.Identity, CipherType.SecureNote };
var typesGroup = new GroupingsPageListGroup(AppResources.Types, types.Length, uppercaseGroupNames, !hasFavorites);
foreach (CipherType t in types)
{
new GroupingsPageListItem
typesGroup.Add(new GroupingsPageListItem
{
Type = CipherType.Login,
ItemCount = (_typeCounts.ContainsKey(CipherType.Login) ?
_typeCounts[CipherType.Login] : 0).ToString("N0")
},
new GroupingsPageListItem
{
Type = CipherType.Card,
ItemCount = (_typeCounts.ContainsKey(CipherType.Card) ?
_typeCounts[CipherType.Card] : 0).ToString("N0")
},
new GroupingsPageListItem
{
Type = CipherType.Identity,
ItemCount = (_typeCounts.ContainsKey(CipherType.Identity) ?
_typeCounts[CipherType.Identity] : 0).ToString("N0")
},
new GroupingsPageListItem
{
Type = CipherType.SecureNote,
ItemCount = (_typeCounts.ContainsKey(CipherType.SecureNote) ?
_typeCounts[CipherType.SecureNote] : 0).ToString("N0")
},
Type = t,
ItemCount = _typeCounts.GetValueOrDefault(t).ToString("N0")
});
}
groupedItems.Add(typesGroup);
}
if (NestedFolders?.Any() ?? false)
{
var folderListItems = NestedFolders.Select(f =>
@@ -584,7 +567,9 @@ namespace Bit.App.Pages
}
else if (Type != null)
{
Filter = c => c.Type == Type.Value && !c.IsDeleted;
Filter = c => !c.IsDeleted
&&
Type.Value.IsEqualToOrCanSignIn(c.Type);
}
else if (FolderId != null)
{
@@ -651,14 +636,11 @@ namespace Bit.App.Pages
NoFolderCiphers.Add(c);
}
if (_typeCounts.ContainsKey(c.Type))
{
_typeCounts[c.Type] = _typeCounts[c.Type] + 1;
}
else
{
_typeCounts.Add(c.Type, 1);
}
// Fido2Key ciphers should be counted as Login ciphers
var countType = c.Type == CipherType.Fido2Key ? CipherType.Login : c.Type;
_typeCounts[countType] = _typeCounts.TryGetValue(countType, out var currentTypeCount)
? currentTypeCount + 1
: 1;
}
if (c.IsDeleted)

View File

@@ -15,7 +15,7 @@
<ContentPage.ToolbarItems>
<ToolbarItem Text="{u:I18n Cancel}" Clicked="Close_Clicked" Order="Primary" Priority="-1" />
<ToolbarItem Text="{u:I18n Move}" Clicked="Save_Clicked" />
<ToolbarItem Text="{u:I18n Move}" Command="{Binding MoveCommand}" />
</ContentPage.ToolbarItems>
<ContentPage.Resources>

View File

@@ -32,19 +32,6 @@ namespace Bit.App.Pages
await LoadOnAppearedAsync(_scrollView, true, () => _vm.LoadAsync());
}
protected override void OnDisappearing()
{
base.OnDisappearing();
}
private async void Save_Clicked(object sender, System.EventArgs e)
{
if (DoOnce())
{
await _vm.SubmitAsync();
}
}
private async void Close_Clicked(object sender, System.EventArgs e)
{
if (DoOnce())

View File

@@ -1,6 +1,7 @@
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using System.Windows.Input;
using Bit.App.Abstractions;
using Bit.App.Resources;
using Bit.Core.Abstractions;
@@ -8,6 +9,7 @@ using Bit.Core.Enums;
using Bit.Core.Exceptions;
using Bit.Core.Models.View;
using Bit.Core.Utilities;
using Xamarin.CommunityToolkit.ObjectModel;
namespace Bit.App.Pages
{
@@ -34,6 +36,8 @@ namespace Bit.App.Pages
Collections = new ExtendedObservableCollection<CollectionViewModel>();
OrganizationOptions = new List<KeyValuePair<string, string>>();
PageTitle = AppResources.MoveToOrganization;
MoveCommand = new AsyncCommand(MoveAsync, onException: ex => HandleException(ex), allowsMultipleExecutions: false);
}
public string CipherId { get; set; }
@@ -62,6 +66,8 @@ namespace Bit.App.Pages
set => SetProperty(ref _hasOrganizations, value);
}
public ICommand MoveCommand { get; }
public async Task LoadAsync()
{
var allCollections = await _collectionService.GetAllDecryptedAsync();
@@ -84,7 +90,7 @@ namespace Bit.App.Pages
FilterCollections();
}
public async Task<bool> SubmitAsync()
public async Task<bool> MoveAsync()
{
var selectedCollectionIds = Collections?.Where(c => c.Checked).Select(c => c.Collection.Id);
if (!selectedCollectionIds?.Any() ?? true)
@@ -107,8 +113,15 @@ namespace Bit.App.Pages
try
{
await _deviceActionService.ShowLoadingAsync(AppResources.Saving);
await _cipherService.ShareWithServerAsync(cipherView, OrganizationId, checkedCollectionIds);
var error = await _cipherService.ShareWithServerAsync(cipherView, OrganizationId, checkedCollectionIds);
await _deviceActionService.HideLoadingAsync();
if (error == ICipherService.ShareWithServerError.DuplicatedPasskeyInOrg)
{
_platformUtilsService.ShowToast(null, null, AppResources.ThisItemCannotBeSharedWithTheOrganizationBecauseThereIsOneAlreadyWithTheSamePasskey);
return false;
}
var movedItemToOrgText = string.Format(AppResources.MovedItemToOrg, cipherView.Name,
(await _organizationService.GetAsync(OrganizationId)).Name);
_platformUtilsService.ShowToast("success", null, movedItemToOrgText);

View File

@@ -562,6 +562,15 @@ namespace Bit.App.Resources {
}
}
/// <summary>
/// Looks up a localized string similar to Application.
/// </summary>
public static string Application {
get {
return ResourceManager.GetString("Application", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Approve login requests.
/// </summary>
@@ -976,6 +985,15 @@ namespace Bit.App.Resources {
}
}
/// <summary>
/// Looks up a localized string similar to Available for two-step login.
/// </summary>
public static string AvailableForTwoStepLogin {
get {
return ResourceManager.GetString("AvailableForTwoStepLogin", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to A verification code was sent to your email.
/// </summary>
@@ -1597,6 +1615,15 @@ namespace Bit.App.Resources {
}
}
/// <summary>
/// Looks up a localized string similar to Copy application.
/// </summary>
public static string CopyApplication {
get {
return ResourceManager.GetString("CopyApplication", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Copy link.
/// </summary>
@@ -1705,6 +1732,15 @@ namespace Bit.App.Resources {
}
}
/// <summary>
/// Looks up a localized string similar to Created {0}.
/// </summary>
public static string CreatedX {
get {
return ResourceManager.GetString("CreatedX", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Creating account....
/// </summary>
@@ -4831,6 +4867,33 @@ namespace Bit.App.Resources {
}
}
/// <summary>
/// Looks up a localized string similar to Passkey.
/// </summary>
public static string Passkey {
get {
return ResourceManager.GetString("Passkey", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Passkeys.
/// </summary>
public static string Passkeys {
get {
return ResourceManager.GetString("Passkeys", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Passkey will not be copied.
/// </summary>
public static string PasskeyWillNotBeCopied {
get {
return ResourceManager.GetString("PasskeyWillNotBeCopied", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Passphrase.
/// </summary>
@@ -6263,6 +6326,15 @@ namespace Bit.App.Resources {
}
}
/// <summary>
/// Looks up a localized string similar to The passkey will not be copied to the cloned item. Do you want to continue cloning this item?.
/// </summary>
public static string ThePasskeyWillNotBeCopiedToTheClonedItemDoYouWantToContinueCloningThisItem {
get {
return ResourceManager.GetString("ThePasskeyWillNotBeCopiedToTheClonedItemDoYouWantToContinueCloningThisItem", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to There are no blocked URIs.
/// </summary>
@@ -6326,6 +6398,16 @@ namespace Bit.App.Resources {
}
}
/// <summary>
/// Looks up a localized string similar to This item cannot be shared with the organization because there is one already with the same passkey..
/// </summary>
public static string ThisItemCannotBeSharedWithTheOrganizationBecauseThereIsOneAlreadyWithTheSamePasskey {
get {
return ResourceManager.GetString("ThisItemCannotBeSharedWithTheOrganizationBecauseThereIsOneAlreadyWithTheSamePassk" +
"ey", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to This request is no longer valid.
/// </summary>
@@ -7325,6 +7407,15 @@ namespace Bit.App.Resources {
}
}
/// <summary>
/// Looks up a localized string similar to You cannot edit passkey application because it would invalidate the passkey.
/// </summary>
public static string YouCannotEditPasskeyApplicationBecauseItWouldInvalidateThePasskey {
get {
return ResourceManager.GetString("YouCannotEditPasskeyApplicationBecauseItWouldInvalidateThePasskey", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Your account has been permanently deleted.
/// </summary>

View File

@@ -1585,9 +1585,6 @@ Skandering gebeur outomaties.</value>
<data name="AutofillBlockedUris" xml:space="preserve">
<value>Versperde URIs vir outovul</value>
</data>
<data name="AutofillBlockedUrisDescription" xml:space="preserve">
<value>Outovul sal nie vir versperde URIs gebied word nie. Skei meerdere URIs met n komma. Byvoorbeeld: “https://twitter.com, androidapp://com.twitter.android”.</value>
</data>
<data name="AskToAddLogin" xml:space="preserve">
<value>Vra om aantekening toe te voeg</value>
</data>
@@ -2631,15 +2628,61 @@ Wil u na die rekening omskakel?</value>
<value>Huidige hoofwagwoord</value>
</data>
<data name="MasterPasswordRePromptHelp" xml:space="preserve">
<value>Master password re-prompt help</value>
<value>Hulpteks vir vra weer vir hoofwagwoord</value>
</data>
<data name="UnlockingMayFailDueToInsufficientMemoryDecreaseYourKDFMemorySettingsToResolve" xml:space="preserve">
<value>Unlocking may fail due to insufficient memory. Decrease your KDF memory settings to resolve.</value>
<value>Ontgrendeling kan misluk as daar onvoldoende geheue is. Verminder u KDF-geheue-instellings om dit op te los.</value>
</data>
<data name="InvalidAPIKey" xml:space="preserve">
<value>Invalid API key</value>
<value>Ongeldige API-sleutel</value>
</data>
<data name="InvalidAPIToken" xml:space="preserve">
<value>Invalid API token</value>
<value>Ongeldige API-teken</value>
</data>
<data name="BlockAutoFill" xml:space="preserve">
<value>Block auto-fill</value>
</data>
<data name="AutoFillWillNotBeOfferedForTheseURIs" xml:space="preserve">
<value>Auto-fill will not be offered for these URIs.</value>
</data>
<data name="NewBlockedURI" xml:space="preserve">
<value>New blocked URI</value>
</data>
<data name="URISaved" xml:space="preserve">
<value>URI saved</value>
</data>
<data name="InvalidFormatUseHttpsHttpOrAndroidApp" xml:space="preserve">
<value>Invalid format. Use https://, http://, or androidapp://</value>
<comment>https://, http://, androidapp:// should not be translated</comment>
</data>
<data name="EditURI" xml:space="preserve">
<value>Edit URI</value>
</data>
<data name="EnterURI" xml:space="preserve">
<value>Enter URI</value>
</data>
<data name="FormatXSeparateMultipleURIsWithAComma" xml:space="preserve">
<value>Format: {0}. Separate multiple URIs with a comma.</value>
</data>
<data name="FormatX" xml:space="preserve">
<value>Format: {0}</value>
</data>
<data name="InvalidURI" xml:space="preserve">
<value>Invalid URI</value>
</data>
<data name="URISaved" xml:space="preserve">
<value>URI saved</value>
</data>
<data name="URIRemoved" xml:space="preserve">
<value>URI removed</value>
</data>
<data name="ThereAreNoBlockedURIs" xml:space="preserve">
<value>There are no blocked URIs</value>
</data>
<data name="TheURIXIsAlreadyBlocked" xml:space="preserve">
<value>The URI {0} is already blocked</value>
</data>
<data name="CannotEditMultipleURIsAtOnce" xml:space="preserve">
<value>Cannot edit multiple URIs at once</value>
</data>
</root>

View File

@@ -1585,9 +1585,6 @@
<data name="AutofillBlockedUris" xml:space="preserve">
<value>تعبئة العناوين المحجوبة تلقائياً</value>
</data>
<data name="AutofillBlockedUrisDescription" xml:space="preserve">
<value>لن يتم عرض التعبئة التلقائية للعناوين المحجوبة. افصل عناوين متعددة بفاصلة. مثال: "https://twitter.com, androidapp://com.twitter.android".</value>
</data>
<data name="AskToAddLogin" xml:space="preserve">
<value>اطلب إضافة تسجيل الدخول</value>
</data>
@@ -2643,4 +2640,50 @@
<data name="InvalidAPIToken" xml:space="preserve">
<value>Invalid API token</value>
</data>
<data name="BlockAutoFill" xml:space="preserve">
<value>Block auto-fill</value>
</data>
<data name="AutoFillWillNotBeOfferedForTheseURIs" xml:space="preserve">
<value>Auto-fill will not be offered for these URIs.</value>
</data>
<data name="NewBlockedURI" xml:space="preserve">
<value>New blocked URI</value>
</data>
<data name="URISaved" xml:space="preserve">
<value>URI saved</value>
</data>
<data name="InvalidFormatUseHttpsHttpOrAndroidApp" xml:space="preserve">
<value>Invalid format. Use https://, http://, or androidapp://</value>
<comment>https://, http://, androidapp:// should not be translated</comment>
</data>
<data name="EditURI" xml:space="preserve">
<value>Edit URI</value>
</data>
<data name="EnterURI" xml:space="preserve">
<value>Enter URI</value>
</data>
<data name="FormatXSeparateMultipleURIsWithAComma" xml:space="preserve">
<value>Format: {0}. Separate multiple URIs with a comma.</value>
</data>
<data name="FormatX" xml:space="preserve">
<value>Format: {0}</value>
</data>
<data name="InvalidURI" xml:space="preserve">
<value>Invalid URI</value>
</data>
<data name="URISaved" xml:space="preserve">
<value>URI saved</value>
</data>
<data name="URIRemoved" xml:space="preserve">
<value>URI removed</value>
</data>
<data name="ThereAreNoBlockedURIs" xml:space="preserve">
<value>There are no blocked URIs</value>
</data>
<data name="TheURIXIsAlreadyBlocked" xml:space="preserve">
<value>The URI {0} is already blocked</value>
</data>
<data name="CannotEditMultipleURIsAtOnce" xml:space="preserve">
<value>Cannot edit multiple URIs at once</value>
</data>
</root>

View File

@@ -1585,9 +1585,6 @@ Skan prosesi avtomatik baş tutacaq.</value>
<data name="AutofillBlockedUris" xml:space="preserve">
<value>Əngəllənən URI-lərin avto-doldurulması</value>
</data>
<data name="AutofillBlockedUrisDescription" xml:space="preserve">
<value>Əngəllənən URI-lər üçün avto-doldurma təklif edilmir. Çoxlu URI-ni vergüllə ayırır. Nümunə: "https://twitter.com, androidapp://com.twitter.android".</value>
</data>
<data name="AskToAddLogin" xml:space="preserve">
<value>Giriş əlavə etmək üçün soruş</value>
</data>
@@ -2641,4 +2638,50 @@ Bu hesaba keçmək istəyirsiniz?</value>
<data name="InvalidAPIToken" xml:space="preserve">
<value>Yararsız API tokeni</value>
</data>
<data name="BlockAutoFill" xml:space="preserve">
<value>Avto-doldurmanı əngəllə</value>
</data>
<data name="AutoFillWillNotBeOfferedForTheseURIs" xml:space="preserve">
<value>Bu URI-lər üçün avto-doldurma təklif olunmayacaq.</value>
</data>
<data name="NewBlockedURI" xml:space="preserve">
<value>Yeni əngəllənən URI</value>
</data>
<data name="URISaved" xml:space="preserve">
<value>URI saxlanıldı</value>
</data>
<data name="InvalidFormatUseHttpsHttpOrAndroidApp" xml:space="preserve">
<value>Yararsız format. https://, http:// və ya androidapp:// istifadə edin</value>
<comment>https://, http://, androidapp:// should not be translated</comment>
</data>
<data name="EditURI" xml:space="preserve">
<value>URI-ə düzəliş et</value>
</data>
<data name="EnterURI" xml:space="preserve">
<value>URI-ni daxil et</value>
</data>
<data name="FormatXSeparateMultipleURIsWithAComma" xml:space="preserve">
<value>Format: {0}. Bir neçə URI-ı vergüllə ayırın.</value>
</data>
<data name="FormatX" xml:space="preserve">
<value>Format: {0}</value>
</data>
<data name="InvalidURI" xml:space="preserve">
<value>Yararsız URI</value>
</data>
<data name="URISaved" xml:space="preserve">
<value>URI saxlanıldı</value>
</data>
<data name="URIRemoved" xml:space="preserve">
<value>URI silindi</value>
</data>
<data name="ThereAreNoBlockedURIs" xml:space="preserve">
<value>Əngəllənən URI yoxdur</value>
</data>
<data name="TheURIXIsAlreadyBlocked" xml:space="preserve">
<value>URI {0} artıq əngəllənib</value>
</data>
<data name="CannotEditMultipleURIsAtOnce" xml:space="preserve">
<value>Bir dəfəyə bir neçə URI-a düzəliş etmək mümkün deyil</value>
</data>
</root>

View File

@@ -1584,9 +1584,6 @@
<data name="AutofillBlockedUris" xml:space="preserve">
<value>Аўтазапаўненне заблакіраваных URI</value>
</data>
<data name="AutofillBlockedUrisDescription" xml:space="preserve">
<value>Аўтазапаўненне не будзе прапаноўвацца для заблакіраваных URI. Раздзяляйце некалькі URI з дапамогай коскі. Напрыклад: "https://twitter.com, androidapp://com.twitter.android".</value>
</data>
<data name="AskToAddLogin" xml:space="preserve">
<value>Пытацца пры дадаванні лагіна</value>
</data>
@@ -2642,4 +2639,50 @@
<data name="InvalidAPIToken" xml:space="preserve">
<value>Памылковы токен API</value>
</data>
<data name="BlockAutoFill" xml:space="preserve">
<value>Block auto-fill</value>
</data>
<data name="AutoFillWillNotBeOfferedForTheseURIs" xml:space="preserve">
<value>Auto-fill will not be offered for these URIs.</value>
</data>
<data name="NewBlockedURI" xml:space="preserve">
<value>New blocked URI</value>
</data>
<data name="URISaved" xml:space="preserve">
<value>URI saved</value>
</data>
<data name="InvalidFormatUseHttpsHttpOrAndroidApp" xml:space="preserve">
<value>Invalid format. Use https://, http://, or androidapp://</value>
<comment>https://, http://, androidapp:// should not be translated</comment>
</data>
<data name="EditURI" xml:space="preserve">
<value>Edit URI</value>
</data>
<data name="EnterURI" xml:space="preserve">
<value>Enter URI</value>
</data>
<data name="FormatXSeparateMultipleURIsWithAComma" xml:space="preserve">
<value>Format: {0}. Separate multiple URIs with a comma.</value>
</data>
<data name="FormatX" xml:space="preserve">
<value>Format: {0}</value>
</data>
<data name="InvalidURI" xml:space="preserve">
<value>Invalid URI</value>
</data>
<data name="URISaved" xml:space="preserve">
<value>URI saved</value>
</data>
<data name="URIRemoved" xml:space="preserve">
<value>URI removed</value>
</data>
<data name="ThereAreNoBlockedURIs" xml:space="preserve">
<value>There are no blocked URIs</value>
</data>
<data name="TheURIXIsAlreadyBlocked" xml:space="preserve">
<value>The URI {0} is already blocked</value>
</data>
<data name="CannotEditMultipleURIsAtOnce" xml:space="preserve">
<value>Cannot edit multiple URIs at once</value>
</data>
</root>

View File

@@ -1585,9 +1585,6 @@
<data name="AutofillBlockedUris" xml:space="preserve">
<value>Блокирани за авт. попълване адреси</value>
</data>
<data name="AutofillBlockedUrisDescription" xml:space="preserve">
<value>За посочените блокирани адреси няма да се прави автоматично попълване. Разделяйте отделните адреси със запетая. Пример: „https://twitter.com, androidapp://com.twitter.android“.</value>
</data>
<data name="AskToAddLogin" xml:space="preserve">
<value>Питане за добавяне на запис</value>
</data>
@@ -2642,4 +2639,50 @@ select Add TOTP to store the key safely</value>
<data name="InvalidAPIToken" xml:space="preserve">
<value>Неправилен идентификатор за ППИ</value>
</data>
<data name="BlockAutoFill" xml:space="preserve">
<value>Блокиране на авт. попълване</value>
</data>
<data name="AutoFillWillNotBeOfferedForTheseURIs" xml:space="preserve">
<value>Автоматичното попълване няма да бъде предлагано за тези адреси.</value>
</data>
<data name="NewBlockedURI" xml:space="preserve">
<value>Нов блокиран адрес</value>
</data>
<data name="URISaved" xml:space="preserve">
<value>Адресът е запазен</value>
</data>
<data name="InvalidFormatUseHttpsHttpOrAndroidApp" xml:space="preserve">
<value>Неправилен формат. Използвайте https://, http:// или androidapp://</value>
<comment>https://, http://, androidapp:// should not be translated</comment>
</data>
<data name="EditURI" xml:space="preserve">
<value>Редактиране на адреса</value>
</data>
<data name="EnterURI" xml:space="preserve">
<value>Въведете адрес</value>
</data>
<data name="FormatXSeparateMultipleURIsWithAComma" xml:space="preserve">
<value>Формат: {0}. Ако въвеждате повече адреси, разделяйте ги със запетая.</value>
</data>
<data name="FormatX" xml:space="preserve">
<value>Формат: {0}</value>
</data>
<data name="InvalidURI" xml:space="preserve">
<value>Неправилен адрес</value>
</data>
<data name="URISaved" xml:space="preserve">
<value>Адресът е запазен</value>
</data>
<data name="URIRemoved" xml:space="preserve">
<value>Адресът е премахнат</value>
</data>
<data name="ThereAreNoBlockedURIs" xml:space="preserve">
<value>Няма блокирани адреси</value>
</data>
<data name="TheURIXIsAlreadyBlocked" xml:space="preserve">
<value>Адресът {0} вече е блокиран</value>
</data>
<data name="CannotEditMultipleURIsAtOnce" xml:space="preserve">
<value>Не може да редактирате повече от един адрес едновременно</value>
</data>
</root>

View File

@@ -1585,9 +1585,6 @@ Scanning will happen automatically.</value>
<data name="AutofillBlockedUris" xml:space="preserve">
<value>Auto-fill blocked URIs</value>
</data>
<data name="AutofillBlockedUrisDescription" xml:space="preserve">
<value>Auto-fill will not be offered for blocked URIs. Separate multiple URIs with a comma. For example: "https://twitter.com, androidapp://com.twitter.android".</value>
</data>
<data name="AskToAddLogin" xml:space="preserve">
<value>Ask to add login</value>
</data>
@@ -2643,4 +2640,50 @@ Do you want to switch to this account?</value>
<data name="InvalidAPIToken" xml:space="preserve">
<value>Invalid API token</value>
</data>
<data name="BlockAutoFill" xml:space="preserve">
<value>Block auto-fill</value>
</data>
<data name="AutoFillWillNotBeOfferedForTheseURIs" xml:space="preserve">
<value>Auto-fill will not be offered for these URIs.</value>
</data>
<data name="NewBlockedURI" xml:space="preserve">
<value>New blocked URI</value>
</data>
<data name="URISaved" xml:space="preserve">
<value>URI saved</value>
</data>
<data name="InvalidFormatUseHttpsHttpOrAndroidApp" xml:space="preserve">
<value>Invalid format. Use https://, http://, or androidapp://</value>
<comment>https://, http://, androidapp:// should not be translated</comment>
</data>
<data name="EditURI" xml:space="preserve">
<value>Edit URI</value>
</data>
<data name="EnterURI" xml:space="preserve">
<value>Enter URI</value>
</data>
<data name="FormatXSeparateMultipleURIsWithAComma" xml:space="preserve">
<value>Format: {0}. Separate multiple URIs with a comma.</value>
</data>
<data name="FormatX" xml:space="preserve">
<value>Format: {0}</value>
</data>
<data name="InvalidURI" xml:space="preserve">
<value>Invalid URI</value>
</data>
<data name="URISaved" xml:space="preserve">
<value>URI saved</value>
</data>
<data name="URIRemoved" xml:space="preserve">
<value>URI removed</value>
</data>
<data name="ThereAreNoBlockedURIs" xml:space="preserve">
<value>There are no blocked URIs</value>
</data>
<data name="TheURIXIsAlreadyBlocked" xml:space="preserve">
<value>The URI {0} is already blocked</value>
</data>
<data name="CannotEditMultipleURIsAtOnce" xml:space="preserve">
<value>Cannot edit multiple URIs at once</value>
</data>
</root>

View File

@@ -1585,9 +1585,6 @@ Skeniranje će biti izvršeno automatski.</value>
<data name="AutofillBlockedUris" xml:space="preserve">
<value>Auto-popunjavanje blokiranih URI-ja</value>
</data>
<data name="AutofillBlockedUrisDescription" xml:space="preserve">
<value>Auto-popunjavanje neće biti ponuđeno za blokirane URI-je. Odvoji višestruke URI-je zarezom. Npr. „https://twitter.com, androidapp://com.twitter.android”.</value>
</data>
<data name="AskToAddLogin" xml:space="preserve">
<value>Upitaj za dodavanje prijave</value>
</data>
@@ -2641,4 +2638,50 @@ Skeniranje će biti izvršeno automatski.</value>
<data name="InvalidAPIToken" xml:space="preserve">
<value>Invalid API token</value>
</data>
<data name="BlockAutoFill" xml:space="preserve">
<value>Block auto-fill</value>
</data>
<data name="AutoFillWillNotBeOfferedForTheseURIs" xml:space="preserve">
<value>Auto-fill will not be offered for these URIs.</value>
</data>
<data name="NewBlockedURI" xml:space="preserve">
<value>New blocked URI</value>
</data>
<data name="URISaved" xml:space="preserve">
<value>URI saved</value>
</data>
<data name="InvalidFormatUseHttpsHttpOrAndroidApp" xml:space="preserve">
<value>Invalid format. Use https://, http://, or androidapp://</value>
<comment>https://, http://, androidapp:// should not be translated</comment>
</data>
<data name="EditURI" xml:space="preserve">
<value>Edit URI</value>
</data>
<data name="EnterURI" xml:space="preserve">
<value>Enter URI</value>
</data>
<data name="FormatXSeparateMultipleURIsWithAComma" xml:space="preserve">
<value>Format: {0}. Separate multiple URIs with a comma.</value>
</data>
<data name="FormatX" xml:space="preserve">
<value>Format: {0}</value>
</data>
<data name="InvalidURI" xml:space="preserve">
<value>Invalid URI</value>
</data>
<data name="URISaved" xml:space="preserve">
<value>URI saved</value>
</data>
<data name="URIRemoved" xml:space="preserve">
<value>URI removed</value>
</data>
<data name="ThereAreNoBlockedURIs" xml:space="preserve">
<value>There are no blocked URIs</value>
</data>
<data name="TheURIXIsAlreadyBlocked" xml:space="preserve">
<value>The URI {0} is already blocked</value>
</data>
<data name="CannotEditMultipleURIsAtOnce" xml:space="preserve">
<value>Cannot edit multiple URIs at once</value>
</data>
</root>

View File

@@ -1585,9 +1585,6 @@ L'escaneig es farà automàticament.</value>
<data name="AutofillBlockedUris" xml:space="preserve">
<value>Emplena automàticament els URI bloquejats</value>
</data>
<data name="AutofillBlockedUrisDescription" xml:space="preserve">
<value>L'emplenament automàtic no s'oferirà per als URI bloquejats. Separeu diversos URI amb una coma. Per exemple: "https://twitter.com, androidapp://com.twitter.android".</value>
</data>
<data name="AskToAddLogin" xml:space="preserve">
<value>Sol·licita afegir els inicis de sessió</value>
</data>
@@ -2642,4 +2639,50 @@ Voleu canviar a aquest compte?</value>
<data name="InvalidAPIToken" xml:space="preserve">
<value>Token API no vàlid</value>
</data>
<data name="BlockAutoFill" xml:space="preserve">
<value>Block auto-fill</value>
</data>
<data name="AutoFillWillNotBeOfferedForTheseURIs" xml:space="preserve">
<value>Auto-fill will not be offered for these URIs.</value>
</data>
<data name="NewBlockedURI" xml:space="preserve">
<value>New blocked URI</value>
</data>
<data name="URISaved" xml:space="preserve">
<value>URI saved</value>
</data>
<data name="InvalidFormatUseHttpsHttpOrAndroidApp" xml:space="preserve">
<value>Invalid format. Use https://, http://, or androidapp://</value>
<comment>https://, http://, androidapp:// should not be translated</comment>
</data>
<data name="EditURI" xml:space="preserve">
<value>Edit URI</value>
</data>
<data name="EnterURI" xml:space="preserve">
<value>Enter URI</value>
</data>
<data name="FormatXSeparateMultipleURIsWithAComma" xml:space="preserve">
<value>Format: {0}. Separate multiple URIs with a comma.</value>
</data>
<data name="FormatX" xml:space="preserve">
<value>Format: {0}</value>
</data>
<data name="InvalidURI" xml:space="preserve">
<value>Invalid URI</value>
</data>
<data name="URISaved" xml:space="preserve">
<value>URI saved</value>
</data>
<data name="URIRemoved" xml:space="preserve">
<value>URI removed</value>
</data>
<data name="ThereAreNoBlockedURIs" xml:space="preserve">
<value>There are no blocked URIs</value>
</data>
<data name="TheURIXIsAlreadyBlocked" xml:space="preserve">
<value>The URI {0} is already blocked</value>
</data>
<data name="CannotEditMultipleURIsAtOnce" xml:space="preserve">
<value>Cannot edit multiple URIs at once</value>
</data>
</root>

View File

@@ -1585,9 +1585,6 @@ Načtení proběhne automaticky.</value>
<data name="AutofillBlockedUris" xml:space="preserve">
<value>Automatické vyplňování blokovaných URI</value>
</data>
<data name="AutofillBlockedUrisDescription" xml:space="preserve">
<value>Automatické vyplňování nebude pro blokované URI nabídnuto. Více URI oddělte čárkou. Například: "https://twitter.com,androidapp://com.twitter.android".</value>
</data>
<data name="AskToAddLogin" xml:space="preserve">
<value>Ptát se na přidání přihlášení</value>
</data>
@@ -2641,4 +2638,50 @@ Chcete se přepnout na tento účet?</value>
<data name="InvalidAPIToken" xml:space="preserve">
<value>Neplatný token API</value>
</data>
<data name="BlockAutoFill" xml:space="preserve">
<value>Blokovat automatické vyplňování</value>
</data>
<data name="AutoFillWillNotBeOfferedForTheseURIs" xml:space="preserve">
<value>Pro tento URI nebude nabízeno automatické vyplňování.</value>
</data>
<data name="NewBlockedURI" xml:space="preserve">
<value>Nový blokovaný URI</value>
</data>
<data name="URISaved" xml:space="preserve">
<value>URI byl uložen</value>
</data>
<data name="InvalidFormatUseHttpsHttpOrAndroidApp" xml:space="preserve">
<value>Neplatný formát. Použijte https://, http:// nebo androidapp://</value>
<comment>https://, http://, androidapp:// should not be translated</comment>
</data>
<data name="EditURI" xml:space="preserve">
<value>Upravit URI</value>
</data>
<data name="EnterURI" xml:space="preserve">
<value>Zadat URI</value>
</data>
<data name="FormatXSeparateMultipleURIsWithAComma" xml:space="preserve">
<value>Formát: {0}. Oddělte více URI čárkou.</value>
</data>
<data name="FormatX" xml:space="preserve">
<value>Formát: {0}</value>
</data>
<data name="InvalidURI" xml:space="preserve">
<value>Neplatný URI</value>
</data>
<data name="URISaved" xml:space="preserve">
<value>URI byl uložen</value>
</data>
<data name="URIRemoved" xml:space="preserve">
<value>URI byl odebrán</value>
</data>
<data name="ThereAreNoBlockedURIs" xml:space="preserve">
<value>Nejsou žádné blokované URI</value>
</data>
<data name="TheURIXIsAlreadyBlocked" xml:space="preserve">
<value>URI {0} je již blokován</value>
</data>
<data name="CannotEditMultipleURIsAtOnce" xml:space="preserve">
<value>Najednou nelze upravovat více URI</value>
</data>
</root>

View File

@@ -1585,9 +1585,6 @@ Scanning will happen automatically.</value>
<data name="AutofillBlockedUris" xml:space="preserve">
<value>Auto-fill blocked URIs</value>
</data>
<data name="AutofillBlockedUrisDescription" xml:space="preserve">
<value>Auto-fill will not be offered for blocked URIs. Separate multiple URIs with a comma. For example: "https://twitter.com, androidapp://com.twitter.android".</value>
</data>
<data name="AskToAddLogin" xml:space="preserve">
<value>Ask to add login</value>
</data>
@@ -2643,4 +2640,50 @@ Do you want to switch to this account?</value>
<data name="InvalidAPIToken" xml:space="preserve">
<value>Invalid API token</value>
</data>
<data name="BlockAutoFill" xml:space="preserve">
<value>Block auto-fill</value>
</data>
<data name="AutoFillWillNotBeOfferedForTheseURIs" xml:space="preserve">
<value>Auto-fill will not be offered for these URIs.</value>
</data>
<data name="NewBlockedURI" xml:space="preserve">
<value>New blocked URI</value>
</data>
<data name="URISaved" xml:space="preserve">
<value>URI saved</value>
</data>
<data name="InvalidFormatUseHttpsHttpOrAndroidApp" xml:space="preserve">
<value>Invalid format. Use https://, http://, or androidapp://</value>
<comment>https://, http://, androidapp:// should not be translated</comment>
</data>
<data name="EditURI" xml:space="preserve">
<value>Edit URI</value>
</data>
<data name="EnterURI" xml:space="preserve">
<value>Enter URI</value>
</data>
<data name="FormatXSeparateMultipleURIsWithAComma" xml:space="preserve">
<value>Format: {0}. Separate multiple URIs with a comma.</value>
</data>
<data name="FormatX" xml:space="preserve">
<value>Format: {0}</value>
</data>
<data name="InvalidURI" xml:space="preserve">
<value>Invalid URI</value>
</data>
<data name="URISaved" xml:space="preserve">
<value>URI saved</value>
</data>
<data name="URIRemoved" xml:space="preserve">
<value>URI removed</value>
</data>
<data name="ThereAreNoBlockedURIs" xml:space="preserve">
<value>There are no blocked URIs</value>
</data>
<data name="TheURIXIsAlreadyBlocked" xml:space="preserve">
<value>The URI {0} is already blocked</value>
</data>
<data name="CannotEditMultipleURIsAtOnce" xml:space="preserve">
<value>Cannot edit multiple URIs at once</value>
</data>
</root>

View File

@@ -1585,9 +1585,6 @@ Skanning vil ske automatisk.</value>
<data name="AutofillBlockedUris" xml:space="preserve">
<value>Autoudfyld blokerede URI'er</value>
</data>
<data name="AutofillBlockedUrisDescription" xml:space="preserve">
<value>Autoudfyldning tilbydes ikke for blokerede URI'er. Adskil flere URI'er med komma. F.eks.: "https://twitter.com, androidapp://com.twitter.android".</value>
</data>
<data name="AskToAddLogin" xml:space="preserve">
<value>Spørg om at tilføje login</value>
</data>
@@ -2642,4 +2639,50 @@ Vil du skifte til denne konto?</value>
<data name="InvalidAPIToken" xml:space="preserve">
<value>Ugyldigt API-token</value>
</data>
<data name="BlockAutoFill" xml:space="preserve">
<value>Blokér autoudfyldning</value>
</data>
<data name="AutoFillWillNotBeOfferedForTheseURIs" xml:space="preserve">
<value>Autoudfyldning vil ikke blive tilbudt for disse URI'er.</value>
</data>
<data name="NewBlockedURI" xml:space="preserve">
<value>Ny blokeret URI</value>
</data>
<data name="URISaved" xml:space="preserve">
<value>URI gemt</value>
</data>
<data name="InvalidFormatUseHttpsHttpOrAndroidApp" xml:space="preserve">
<value>Ugyldigt format. Brug https://, http:// eller androidapp://</value>
<comment>https://, http://, androidapp:// should not be translated</comment>
</data>
<data name="EditURI" xml:space="preserve">
<value>Redigér URI</value>
</data>
<data name="EnterURI" xml:space="preserve">
<value>Angiv URI</value>
</data>
<data name="FormatXSeparateMultipleURIsWithAComma" xml:space="preserve">
<value>Format: {0}. Separér flere URI'er med komma.</value>
</data>
<data name="FormatX" xml:space="preserve">
<value>Format: {0}</value>
</data>
<data name="InvalidURI" xml:space="preserve">
<value>Ugyldig URI</value>
</data>
<data name="URISaved" xml:space="preserve">
<value>URI gemt</value>
</data>
<data name="URIRemoved" xml:space="preserve">
<value>URI fjernet</value>
</data>
<data name="ThereAreNoBlockedURIs" xml:space="preserve">
<value>Der er ingen blokerede URI'er</value>
</data>
<data name="TheURIXIsAlreadyBlocked" xml:space="preserve">
<value>URI'en {0} er allerede blokeret</value>
</data>
<data name="CannotEditMultipleURIsAtOnce" xml:space="preserve">
<value>Kan ikke redigere flere URI'er på én gang</value>
</data>
</root>

View File

@@ -1585,9 +1585,6 @@ Das Scannen erfolgt automatisch.</value>
<data name="AutofillBlockedUris" xml:space="preserve">
<value>Blockierte URIs automatisch ausfüllen</value>
</data>
<data name="AutofillBlockedUrisDescription" xml:space="preserve">
<value>Auto-Ausfüllen wird für blockierte URIs nicht angeboten. Trenne mehrere URIs mit einem Komma. Beispiel: "https://twitter.com, androidapp://com.twitter.android".</value>
</data>
<data name="AskToAddLogin" xml:space="preserve">
<value>Nach dem Hinzufügen von Zugangsdaten fragen</value>
</data>
@@ -2641,4 +2638,50 @@ Möchtest du zu diesem Konto wechseln?</value>
<data name="InvalidAPIToken" xml:space="preserve">
<value>Ungültiger API-Token</value>
</data>
<data name="BlockAutoFill" xml:space="preserve">
<value>Auto-Ausfüllen blockieren</value>
</data>
<data name="AutoFillWillNotBeOfferedForTheseURIs" xml:space="preserve">
<value>Auto-Ausfüllen wird für diese URIs nicht angeboten.</value>
</data>
<data name="NewBlockedURI" xml:space="preserve">
<value>Neue gesperrte URI</value>
</data>
<data name="URISaved" xml:space="preserve">
<value>URI gespeichert</value>
</data>
<data name="InvalidFormatUseHttpsHttpOrAndroidApp" xml:space="preserve">
<value>Ungültiges Format. Verwende https://, http://, oder androidapp://</value>
<comment>https://, http://, androidapp:// should not be translated</comment>
</data>
<data name="EditURI" xml:space="preserve">
<value>URI bearbeiten</value>
</data>
<data name="EnterURI" xml:space="preserve">
<value>URI eingeben</value>
</data>
<data name="FormatXSeparateMultipleURIsWithAComma" xml:space="preserve">
<value>Format: {0}. Trenne mehrere URIs mit einem Komma.</value>
</data>
<data name="FormatX" xml:space="preserve">
<value>Format: {0}</value>
</data>
<data name="InvalidURI" xml:space="preserve">
<value>Ungültige URI</value>
</data>
<data name="URISaved" xml:space="preserve">
<value>URI gespeichert</value>
</data>
<data name="URIRemoved" xml:space="preserve">
<value>URI entfernt</value>
</data>
<data name="ThereAreNoBlockedURIs" xml:space="preserve">
<value>Es gibt keine gesperrten URIs</value>
</data>
<data name="TheURIXIsAlreadyBlocked" xml:space="preserve">
<value>Die URI {0} ist bereits gesperrt</value>
</data>
<data name="CannotEditMultipleURIsAtOnce" xml:space="preserve">
<value>Es können nicht mehrere URIs auf einmal bearbeitet werden</value>
</data>
</root>

View File

@@ -1585,9 +1585,6 @@
<data name="AutofillBlockedUris" xml:space="preserve">
<value>Αυτόματη συμπλήρωση μπλοκαρισμένων URIs</value>
</data>
<data name="AutofillBlockedUrisDescription" xml:space="preserve">
<value>Η αυτόματη συμπλήρωση δεν θα προσφερθεί για μπλοκαρισμένα URI. Ξεχωρίστε πολλαπλά URI με κόμμα. Για παράδειγμα: "https://twitter.com, androidapp://com.twitter.android".</value>
</data>
<data name="AskToAddLogin" xml:space="preserve">
<value>Ζητήστε να προσθέστε σύνδεση</value>
</data>
@@ -2642,4 +2639,50 @@
<data name="InvalidAPIToken" xml:space="preserve">
<value>Invalid API token</value>
</data>
<data name="BlockAutoFill" xml:space="preserve">
<value>Block auto-fill</value>
</data>
<data name="AutoFillWillNotBeOfferedForTheseURIs" xml:space="preserve">
<value>Auto-fill will not be offered for these URIs.</value>
</data>
<data name="NewBlockedURI" xml:space="preserve">
<value>New blocked URI</value>
</data>
<data name="URISaved" xml:space="preserve">
<value>URI saved</value>
</data>
<data name="InvalidFormatUseHttpsHttpOrAndroidApp" xml:space="preserve">
<value>Invalid format. Use https://, http://, or androidapp://</value>
<comment>https://, http://, androidapp:// should not be translated</comment>
</data>
<data name="EditURI" xml:space="preserve">
<value>Edit URI</value>
</data>
<data name="EnterURI" xml:space="preserve">
<value>Enter URI</value>
</data>
<data name="FormatXSeparateMultipleURIsWithAComma" xml:space="preserve">
<value>Format: {0}. Separate multiple URIs with a comma.</value>
</data>
<data name="FormatX" xml:space="preserve">
<value>Format: {0}</value>
</data>
<data name="InvalidURI" xml:space="preserve">
<value>Invalid URI</value>
</data>
<data name="URISaved" xml:space="preserve">
<value>URI saved</value>
</data>
<data name="URIRemoved" xml:space="preserve">
<value>URI removed</value>
</data>
<data name="ThereAreNoBlockedURIs" xml:space="preserve">
<value>There are no blocked URIs</value>
</data>
<data name="TheURIXIsAlreadyBlocked" xml:space="preserve">
<value>The URI {0} is already blocked</value>
</data>
<data name="CannotEditMultipleURIsAtOnce" xml:space="preserve">
<value>Cannot edit multiple URIs at once</value>
</data>
</root>

View File

@@ -1585,9 +1585,6 @@ Scanning will happen automatically.</value>
<data name="AutofillBlockedUris" xml:space="preserve">
<value>Auto-fill blocked URIs</value>
</data>
<data name="AutofillBlockedUrisDescription" xml:space="preserve">
<value>Auto-fill will not be offered for blocked URIs. Separate multiple URIs with a comma. For example: "https://twitter.com, androidapp://com.twitter.android".</value>
</data>
<data name="AskToAddLogin" xml:space="preserve">
<value>Ask to add login</value>
</data>
@@ -2642,4 +2639,50 @@ Do you want to switch to this account?</value>
<data name="InvalidAPIToken" xml:space="preserve">
<value>Invalid API token</value>
</data>
<data name="BlockAutoFill" xml:space="preserve">
<value>Block auto-fill</value>
</data>
<data name="AutoFillWillNotBeOfferedForTheseURIs" xml:space="preserve">
<value>Auto-fill will not be offered for these URIs.</value>
</data>
<data name="NewBlockedURI" xml:space="preserve">
<value>New blocked URI</value>
</data>
<data name="URISaved" xml:space="preserve">
<value>URI saved</value>
</data>
<data name="InvalidFormatUseHttpsHttpOrAndroidApp" xml:space="preserve">
<value>Invalid format. Use https://, http://, or androidapp://</value>
<comment>https://, http://, androidapp:// should not be translated</comment>
</data>
<data name="EditURI" xml:space="preserve">
<value>Edit URI</value>
</data>
<data name="EnterURI" xml:space="preserve">
<value>Enter URI</value>
</data>
<data name="FormatXSeparateMultipleURIsWithAComma" xml:space="preserve">
<value>Format: {0}. Separate multiple URIs with a comma.</value>
</data>
<data name="FormatX" xml:space="preserve">
<value>Format: {0}</value>
</data>
<data name="InvalidURI" xml:space="preserve">
<value>Invalid URI</value>
</data>
<data name="URISaved" xml:space="preserve">
<value>URI saved</value>
</data>
<data name="URIRemoved" xml:space="preserve">
<value>URI removed</value>
</data>
<data name="ThereAreNoBlockedURIs" xml:space="preserve">
<value>There are no blocked URIs</value>
</data>
<data name="TheURIXIsAlreadyBlocked" xml:space="preserve">
<value>The URI {0} is already blocked</value>
</data>
<data name="CannotEditMultipleURIsAtOnce" xml:space="preserve">
<value>Cannot edit multiple URIs at once</value>
</data>
</root>

View File

@@ -1585,9 +1585,6 @@ Scanning will happen automatically.</value>
<data name="AutofillBlockedUris" xml:space="preserve">
<value>Auto-fill blocked URIs</value>
</data>
<data name="AutofillBlockedUrisDescription" xml:space="preserve">
<value>Auto-fill will not be offered for blocked URIs. Separate multiple URIs with a comma. For example: "https://twitter.com, androidapp://com.twitter.android".</value>
</data>
<data name="AskToAddLogin" xml:space="preserve">
<value>Ask to add login</value>
</data>
@@ -2656,4 +2653,50 @@ Do you want to switch to this account?</value>
<data name="InvalidAPIToken" xml:space="preserve">
<value>Invalid API token</value>
</data>
<data name="BlockAutoFill" xml:space="preserve">
<value>Block auto-fill</value>
</data>
<data name="AutoFillWillNotBeOfferedForTheseURIs" xml:space="preserve">
<value>Auto-fill will not be offered for these URIs.</value>
</data>
<data name="NewBlockedURI" xml:space="preserve">
<value>New blocked URI</value>
</data>
<data name="URISaved" xml:space="preserve">
<value>URI saved</value>
</data>
<data name="InvalidFormatUseHttpsHttpOrAndroidApp" xml:space="preserve">
<value>Invalid format. Use https://, http://, or androidapp://</value>
<comment>https://, http://, androidapp:// should not be translated</comment>
</data>
<data name="EditURI" xml:space="preserve">
<value>Edit URI</value>
</data>
<data name="EnterURI" xml:space="preserve">
<value>Enter URI</value>
</data>
<data name="FormatXSeparateMultipleURIsWithAComma" xml:space="preserve">
<value>Format: {0}. Separate multiple URIs with a comma.</value>
</data>
<data name="FormatX" xml:space="preserve">
<value>Format: {0}</value>
</data>
<data name="InvalidURI" xml:space="preserve">
<value>Invalid URI</value>
</data>
<data name="URISaved" xml:space="preserve">
<value>URI saved</value>
</data>
<data name="URIRemoved" xml:space="preserve">
<value>URI removed</value>
</data>
<data name="ThereAreNoBlockedURIs" xml:space="preserve">
<value>There are no blocked URIs</value>
</data>
<data name="TheURIXIsAlreadyBlocked" xml:space="preserve">
<value>The URI {0} is already blocked</value>
</data>
<data name="CannotEditMultipleURIsAtOnce" xml:space="preserve">
<value>Cannot edit multiple URIs at once</value>
</data>
</root>

View File

@@ -1585,9 +1585,6 @@ El escaneo se realizará automáticamente.</value>
<data name="AutofillBlockedUris" xml:space="preserve">
<value>Autorellenar URIs bloqueadas</value>
</data>
<data name="AutofillBlockedUrisDescription" xml:space="preserve">
<value>El autorrelleno no se ofrecerá para URIs bloqueadas. Separe múltiples URIs con una coma. Por ejemplo: "https://twitter.com, androidapp://com.twitter.android".</value>
</data>
<data name="AskToAddLogin" xml:space="preserve">
<value>Pedir que se añada el inicio de sesión</value>
</data>
@@ -2643,4 +2640,50 @@ seleccione Agregar TOTP para almacenar la clave de forma segura</value>
<data name="InvalidAPIToken" xml:space="preserve">
<value>Token de API no válido</value>
</data>
<data name="BlockAutoFill" xml:space="preserve">
<value>Block auto-fill</value>
</data>
<data name="AutoFillWillNotBeOfferedForTheseURIs" xml:space="preserve">
<value>Auto-fill will not be offered for these URIs.</value>
</data>
<data name="NewBlockedURI" xml:space="preserve">
<value>New blocked URI</value>
</data>
<data name="URISaved" xml:space="preserve">
<value>URI saved</value>
</data>
<data name="InvalidFormatUseHttpsHttpOrAndroidApp" xml:space="preserve">
<value>Invalid format. Use https://, http://, or androidapp://</value>
<comment>https://, http://, androidapp:// should not be translated</comment>
</data>
<data name="EditURI" xml:space="preserve">
<value>Edit URI</value>
</data>
<data name="EnterURI" xml:space="preserve">
<value>Enter URI</value>
</data>
<data name="FormatXSeparateMultipleURIsWithAComma" xml:space="preserve">
<value>Format: {0}. Separate multiple URIs with a comma.</value>
</data>
<data name="FormatX" xml:space="preserve">
<value>Format: {0}</value>
</data>
<data name="InvalidURI" xml:space="preserve">
<value>Invalid URI</value>
</data>
<data name="URISaved" xml:space="preserve">
<value>URI saved</value>
</data>
<data name="URIRemoved" xml:space="preserve">
<value>URI removed</value>
</data>
<data name="ThereAreNoBlockedURIs" xml:space="preserve">
<value>There are no blocked URIs</value>
</data>
<data name="TheURIXIsAlreadyBlocked" xml:space="preserve">
<value>The URI {0} is already blocked</value>
</data>
<data name="CannotEditMultipleURIsAtOnce" xml:space="preserve">
<value>Cannot edit multiple URIs at once</value>
</data>
</root>

View File

@@ -1585,9 +1585,6 @@ Skaneerimine toimub automaatselt.</value>
<data name="AutofillBlockedUris" xml:space="preserve">
<value>Täida blokeeritud URId automaatselt</value>
</data>
<data name="AutofillBlockedUrisDescription" xml:space="preserve">
<value>Blokeeritud URIdele ei pakuta automaattäidet. Eralda erinevad URId komaga. Nt nagu: "https://twitter.com, androidapp://com.twitter.android".</value>
</data>
<data name="AskToAddLogin" xml:space="preserve">
<value>Küsi "Lisa konto andmed"</value>
</data>
@@ -2634,7 +2631,7 @@ Soovid selle konto peale lülituda?</value>
<value>Master password re-prompt help</value>
</data>
<data name="UnlockingMayFailDueToInsufficientMemoryDecreaseYourKDFMemorySettingsToResolve" xml:space="preserve">
<value>Unlocking may fail due to insufficient memory. Decrease your KDF memory settings to resolve.</value>
<value>Avamine võib ebapiisava mälu tõttu nurjuda. Probleemi lahendamiseks vähenda KDF mälu seadeid.</value>
</data>
<data name="InvalidAPIKey" xml:space="preserve">
<value>Vigane API võti</value>
@@ -2642,4 +2639,50 @@ Soovid selle konto peale lülituda?</value>
<data name="InvalidAPIToken" xml:space="preserve">
<value>Vigane API token</value>
</data>
<data name="BlockAutoFill" xml:space="preserve">
<value>Automaatse täitmise keelamine</value>
</data>
<data name="AutoFillWillNotBeOfferedForTheseURIs" xml:space="preserve">
<value>Automaattäitmist ei pakuta nende URId-e puhul.</value>
</data>
<data name="NewBlockedURI" xml:space="preserve">
<value>Uus blokeeritud URI</value>
</data>
<data name="URISaved" xml:space="preserve">
<value>URI salvestatud</value>
</data>
<data name="InvalidFormatUseHttpsHttpOrAndroidApp" xml:space="preserve">
<value>Vale vorming. Kasuta https://, http://, või androidapp://</value>
<comment>https://, http://, androidapp:// should not be translated</comment>
</data>
<data name="EditURI" xml:space="preserve">
<value>Muuda URI</value>
</data>
<data name="EnterURI" xml:space="preserve">
<value>Sisesta URI</value>
</data>
<data name="FormatXSeparateMultipleURIsWithAComma" xml:space="preserve">
<value>Vorming: {0}. Eralda mitu URI-t komadega.</value>
</data>
<data name="FormatX" xml:space="preserve">
<value>Vorming: {0}</value>
</data>
<data name="InvalidURI" xml:space="preserve">
<value>Vale URI</value>
</data>
<data name="URISaved" xml:space="preserve">
<value>URI salvestatud</value>
</data>
<data name="URIRemoved" xml:space="preserve">
<value>URI eemaldatud</value>
</data>
<data name="ThereAreNoBlockedURIs" xml:space="preserve">
<value>Puuduvad keelatud URI-d</value>
</data>
<data name="TheURIXIsAlreadyBlocked" xml:space="preserve">
<value>URI {0} on juba keelatud</value>
</data>
<data name="CannotEditMultipleURIsAtOnce" xml:space="preserve">
<value>Mitme URI korraga muutmine ei toiminud</value>
</data>
</root>

View File

@@ -1584,9 +1584,6 @@
<data name="AutofillBlockedUris" xml:space="preserve">
<value>Auto-bete blokeatutako URI-ak</value>
</data>
<data name="AutofillBlockedUrisDescription" xml:space="preserve">
<value>Blokeatutako URI-ei ez zaie berez auto-betetzea eskainiko. Koma batekin URI-ak bereizi. Adibidez: "https://twitter.com, androidapp://com.twitter.android".</value>
</data>
<data name="AskToAddLogin" xml:space="preserve">
<value>Galdetu saio-hasiera gehitzeko</value>
</data>
@@ -2615,10 +2612,10 @@ Kontu honetara aldatu nahi duzu?</value>
<value>EU</value>
</data>
<data name="SelfHosted" xml:space="preserve">
<value>Self-hosted</value>
<value>Norberak ostatatua</value>
</data>
<data name="DataRegion" xml:space="preserve">
<value>Data region</value>
<value>Data eskualdea</value>
</data>
<data name="Region" xml:space="preserve">
<value>Eskualdea</value>
@@ -2636,9 +2633,55 @@ Kontu honetara aldatu nahi duzu?</value>
<value>Unlocking may fail due to insufficient memory. Decrease your KDF memory settings to resolve.</value>
</data>
<data name="InvalidAPIKey" xml:space="preserve">
<value>Invalid API key</value>
<value>API giltza baliogabea</value>
</data>
<data name="InvalidAPIToken" xml:space="preserve">
<value>Invalid API token</value>
<value>API kode baliogabia</value>
</data>
<data name="BlockAutoFill" xml:space="preserve">
<value>Block auto-fill</value>
</data>
<data name="AutoFillWillNotBeOfferedForTheseURIs" xml:space="preserve">
<value>Auto-fill will not be offered for these URIs.</value>
</data>
<data name="NewBlockedURI" xml:space="preserve">
<value>New blocked URI</value>
</data>
<data name="URISaved" xml:space="preserve">
<value>URI saved</value>
</data>
<data name="InvalidFormatUseHttpsHttpOrAndroidApp" xml:space="preserve">
<value>Invalid format. Use https://, http://, or androidapp://</value>
<comment>https://, http://, androidapp:// should not be translated</comment>
</data>
<data name="EditURI" xml:space="preserve">
<value>Edit URI</value>
</data>
<data name="EnterURI" xml:space="preserve">
<value>Enter URI</value>
</data>
<data name="FormatXSeparateMultipleURIsWithAComma" xml:space="preserve">
<value>Format: {0}. Separate multiple URIs with a comma.</value>
</data>
<data name="FormatX" xml:space="preserve">
<value>Format: {0}</value>
</data>
<data name="InvalidURI" xml:space="preserve">
<value>Invalid URI</value>
</data>
<data name="URISaved" xml:space="preserve">
<value>URI saved</value>
</data>
<data name="URIRemoved" xml:space="preserve">
<value>URI removed</value>
</data>
<data name="ThereAreNoBlockedURIs" xml:space="preserve">
<value>There are no blocked URIs</value>
</data>
<data name="TheURIXIsAlreadyBlocked" xml:space="preserve">
<value>The URI {0} is already blocked</value>
</data>
<data name="CannotEditMultipleURIsAtOnce" xml:space="preserve">
<value>Cannot edit multiple URIs at once</value>
</data>
</root>

View File

@@ -1585,9 +1585,6 @@
<data name="AutofillBlockedUris" xml:space="preserve">
<value>پر کردن خودکار نشانی‌های اینترنتی مسدود شده</value>
</data>
<data name="AutofillBlockedUrisDescription" xml:space="preserve">
<value>پر کردن خودکار برای نشانی‌های اینترنتی مسدود شده ارائه نمی‌شود. چندین نشانی اینترنتی را با کاما جدا کنید. به عنوان مثال: "https://twitter.com، androidapp://com.twitter.android".</value>
</data>
<data name="AskToAddLogin" xml:space="preserve">
<value>درخواست افزودن ورود به سیستم</value>
</data>
@@ -2641,6 +2638,52 @@
<value>کلید API نامعتبر</value>
</data>
<data name="InvalidAPIToken" xml:space="preserve">
<value>کلید توکن API نامعتبر</value>
<value>توکن API نامعتبر</value>
</data>
<data name="BlockAutoFill" xml:space="preserve">
<value>Block auto-fill</value>
</data>
<data name="AutoFillWillNotBeOfferedForTheseURIs" xml:space="preserve">
<value>Auto-fill will not be offered for these URIs.</value>
</data>
<data name="NewBlockedURI" xml:space="preserve">
<value>New blocked URI</value>
</data>
<data name="URISaved" xml:space="preserve">
<value>URI saved</value>
</data>
<data name="InvalidFormatUseHttpsHttpOrAndroidApp" xml:space="preserve">
<value>Invalid format. Use https://, http://, or androidapp://</value>
<comment>https://, http://, androidapp:// should not be translated</comment>
</data>
<data name="EditURI" xml:space="preserve">
<value>Edit URI</value>
</data>
<data name="EnterURI" xml:space="preserve">
<value>Enter URI</value>
</data>
<data name="FormatXSeparateMultipleURIsWithAComma" xml:space="preserve">
<value>Format: {0}. Separate multiple URIs with a comma.</value>
</data>
<data name="FormatX" xml:space="preserve">
<value>Format: {0}</value>
</data>
<data name="InvalidURI" xml:space="preserve">
<value>Invalid URI</value>
</data>
<data name="URISaved" xml:space="preserve">
<value>URI saved</value>
</data>
<data name="URIRemoved" xml:space="preserve">
<value>URI removed</value>
</data>
<data name="ThereAreNoBlockedURIs" xml:space="preserve">
<value>There are no blocked URIs</value>
</data>
<data name="TheURIXIsAlreadyBlocked" xml:space="preserve">
<value>The URI {0} is already blocked</value>
</data>
<data name="CannotEditMultipleURIsAtOnce" xml:space="preserve">
<value>Cannot edit multiple URIs at once</value>
</data>
</root>

View File

@@ -1489,7 +1489,7 @@ Koodi luetaan automaattisesti.</value>
<value>30 minuuttia</value>
</data>
<data name="SetPINDescription" xml:space="preserve">
<value>Aseta PIN-koodi Bitwardenin avaukselle. PIN-asetukset tyhjentyvät, jos kirjaudut kokonaan ulos sovelluksesta.</value>
<value>Aseta PIN-koodi Bitwardenin avaukselle. PIN-asetus tyhjentyy, jos kirjaudut kokonaan ulos sovelluksesta.</value>
</data>
<data name="LoggedInAsOn" xml:space="preserve">
<value>Kirjautui palvelimelle {1} tunnuksella {0}.</value>
@@ -1585,9 +1585,6 @@ Koodi luetaan automaattisesti.</value>
<data name="AutofillBlockedUris" xml:space="preserve">
<value>Täytä estetyt URI:t automaattisesti</value>
</data>
<data name="AutofillBlockedUrisDescription" xml:space="preserve">
<value>Automaattista täyttöä ei tarjota estetyille URI-osoitteille. Erota useat osoitteet pilkuilla. Esimerkiksi: "https://twitter.com, androidapp://com.twitter.android".</value>
</data>
<data name="AskToAddLogin" xml:space="preserve">
<value>Kysy lisätäänkö kirjautimistieto</value>
</data>
@@ -2643,4 +2640,50 @@ Haluatko vaihtaa tähän tiliin?</value>
<data name="InvalidAPIToken" xml:space="preserve">
<value>Virheellinen API-tunniste</value>
</data>
<data name="BlockAutoFill" xml:space="preserve">
<value>Block auto-fill</value>
</data>
<data name="AutoFillWillNotBeOfferedForTheseURIs" xml:space="preserve">
<value>Auto-fill will not be offered for these URIs.</value>
</data>
<data name="NewBlockedURI" xml:space="preserve">
<value>New blocked URI</value>
</data>
<data name="URISaved" xml:space="preserve">
<value>URI saved</value>
</data>
<data name="InvalidFormatUseHttpsHttpOrAndroidApp" xml:space="preserve">
<value>Invalid format. Use https://, http://, or androidapp://</value>
<comment>https://, http://, androidapp:// should not be translated</comment>
</data>
<data name="EditURI" xml:space="preserve">
<value>Edit URI</value>
</data>
<data name="EnterURI" xml:space="preserve">
<value>Enter URI</value>
</data>
<data name="FormatXSeparateMultipleURIsWithAComma" xml:space="preserve">
<value>Format: {0}. Separate multiple URIs with a comma.</value>
</data>
<data name="FormatX" xml:space="preserve">
<value>Format: {0}</value>
</data>
<data name="InvalidURI" xml:space="preserve">
<value>Invalid URI</value>
</data>
<data name="URISaved" xml:space="preserve">
<value>URI saved</value>
</data>
<data name="URIRemoved" xml:space="preserve">
<value>URI removed</value>
</data>
<data name="ThereAreNoBlockedURIs" xml:space="preserve">
<value>There are no blocked URIs</value>
</data>
<data name="TheURIXIsAlreadyBlocked" xml:space="preserve">
<value>The URI {0} is already blocked</value>
</data>
<data name="CannotEditMultipleURIsAtOnce" xml:space="preserve">
<value>Cannot edit multiple URIs at once</value>
</data>
</root>

View File

@@ -1585,9 +1585,6 @@ Awtomatikong itong magsa-scan.</value>
<data name="AutofillBlockedUris" xml:space="preserve">
<value>Mga URI na hindi io-autofill-an</value>
</data>
<data name="AutofillBlockedUrisDescription" xml:space="preserve">
<value>Hindi iaalok ang autofill sa mga naharang na URI. Paghiwalayin ang mga URI gamit ang kuwit. Halimbawa: "https://twitter.com, androidapp://com.twitter.android".</value>
</data>
<data name="AskToAddLogin" xml:space="preserve">
<value>Magpaalam para magdagdag ng login</value>
</data>
@@ -2643,4 +2640,50 @@ Gusto mo bang pumunta sa account na ito?</value>
<data name="InvalidAPIToken" xml:space="preserve">
<value>Invalid API token</value>
</data>
<data name="BlockAutoFill" xml:space="preserve">
<value>Block auto-fill</value>
</data>
<data name="AutoFillWillNotBeOfferedForTheseURIs" xml:space="preserve">
<value>Auto-fill will not be offered for these URIs.</value>
</data>
<data name="NewBlockedURI" xml:space="preserve">
<value>New blocked URI</value>
</data>
<data name="URISaved" xml:space="preserve">
<value>URI saved</value>
</data>
<data name="InvalidFormatUseHttpsHttpOrAndroidApp" xml:space="preserve">
<value>Invalid format. Use https://, http://, or androidapp://</value>
<comment>https://, http://, androidapp:// should not be translated</comment>
</data>
<data name="EditURI" xml:space="preserve">
<value>Edit URI</value>
</data>
<data name="EnterURI" xml:space="preserve">
<value>Enter URI</value>
</data>
<data name="FormatXSeparateMultipleURIsWithAComma" xml:space="preserve">
<value>Format: {0}. Separate multiple URIs with a comma.</value>
</data>
<data name="FormatX" xml:space="preserve">
<value>Format: {0}</value>
</data>
<data name="InvalidURI" xml:space="preserve">
<value>Invalid URI</value>
</data>
<data name="URISaved" xml:space="preserve">
<value>URI saved</value>
</data>
<data name="URIRemoved" xml:space="preserve">
<value>URI removed</value>
</data>
<data name="ThereAreNoBlockedURIs" xml:space="preserve">
<value>There are no blocked URIs</value>
</data>
<data name="TheURIXIsAlreadyBlocked" xml:space="preserve">
<value>The URI {0} is already blocked</value>
</data>
<data name="CannotEditMultipleURIsAtOnce" xml:space="preserve">
<value>Cannot edit multiple URIs at once</value>
</data>
</root>

View File

@@ -1585,9 +1585,6 @@ La numérisation se fera automatiquement.</value>
<data name="AutofillBlockedUris" xml:space="preserve">
<value>Saisie automatique des URIs bloqués</value>
</data>
<data name="AutofillBlockedUrisDescription" xml:space="preserve">
<value>La saisie automatique ne sera pas proposée pour les URI bloqués. Séparez plusieurs URI par une virgule. Par exemple : "https://twitter.com, androidapp://com.twitter.android".</value>
</data>
<data name="AskToAddLogin" xml:space="preserve">
<value>Demander pour ajouter un identifiant</value>
</data>
@@ -2643,4 +2640,50 @@ Voulez-vous basculer vers ce compte ?</value>
<data name="InvalidAPIToken" xml:space="preserve">
<value>Jeton API invalide</value>
</data>
<data name="BlockAutoFill" xml:space="preserve">
<value>Bloquer la saisie automatique</value>
</data>
<data name="AutoFillWillNotBeOfferedForTheseURIs" xml:space="preserve">
<value>La saisie automatique ne sera pas proposée pour ces URI.</value>
</data>
<data name="NewBlockedURI" xml:space="preserve">
<value>Nouveau URI bloqué</value>
</data>
<data name="URISaved" xml:space="preserve">
<value>URI enregistré</value>
</data>
<data name="InvalidFormatUseHttpsHttpOrAndroidApp" xml:space="preserve">
<value>Format invalide. Utilisez https://, http://, ou androidapp://</value>
<comment>https://, http://, androidapp:// should not be translated</comment>
</data>
<data name="EditURI" xml:space="preserve">
<value>Modifier l'URI</value>
</data>
<data name="EnterURI" xml:space="preserve">
<value>Saisir l'URI</value>
</data>
<data name="FormatXSeparateMultipleURIsWithAComma" xml:space="preserve">
<value>Format : {0}. Séparez les URI multiples par une virgule.</value>
</data>
<data name="FormatX" xml:space="preserve">
<value>Format : {0}</value>
</data>
<data name="InvalidURI" xml:space="preserve">
<value>URI incorrect</value>
</data>
<data name="URISaved" xml:space="preserve">
<value>URI enregistré</value>
</data>
<data name="URIRemoved" xml:space="preserve">
<value>URI supprimé</value>
</data>
<data name="ThereAreNoBlockedURIs" xml:space="preserve">
<value>Il n'y a pas d'URI bloqués</value>
</data>
<data name="TheURIXIsAlreadyBlocked" xml:space="preserve">
<value>L'URI {0} est déjà bloqué</value>
</data>
<data name="CannotEditMultipleURIsAtOnce" xml:space="preserve">
<value>Impossible de modifier des URI multiples à la fois</value>
</data>
</root>

View File

@@ -1585,9 +1585,6 @@ Scanning will happen automatically.</value>
<data name="AutofillBlockedUris" xml:space="preserve">
<value>Auto-fill blocked URIs</value>
</data>
<data name="AutofillBlockedUrisDescription" xml:space="preserve">
<value>Auto-fill will not be offered for blocked URIs. Separate multiple URIs with a comma. For example: "https://twitter.com, androidapp://com.twitter.android".</value>
</data>
<data name="AskToAddLogin" xml:space="preserve">
<value>Ask to add login</value>
</data>
@@ -2643,4 +2640,50 @@ Do you want to switch to this account?</value>
<data name="InvalidAPIToken" xml:space="preserve">
<value>Invalid API token</value>
</data>
<data name="BlockAutoFill" xml:space="preserve">
<value>Block auto-fill</value>
</data>
<data name="AutoFillWillNotBeOfferedForTheseURIs" xml:space="preserve">
<value>Auto-fill will not be offered for these URIs.</value>
</data>
<data name="NewBlockedURI" xml:space="preserve">
<value>New blocked URI</value>
</data>
<data name="URISaved" xml:space="preserve">
<value>URI saved</value>
</data>
<data name="InvalidFormatUseHttpsHttpOrAndroidApp" xml:space="preserve">
<value>Invalid format. Use https://, http://, or androidapp://</value>
<comment>https://, http://, androidapp:// should not be translated</comment>
</data>
<data name="EditURI" xml:space="preserve">
<value>Edit URI</value>
</data>
<data name="EnterURI" xml:space="preserve">
<value>Enter URI</value>
</data>
<data name="FormatXSeparateMultipleURIsWithAComma" xml:space="preserve">
<value>Format: {0}. Separate multiple URIs with a comma.</value>
</data>
<data name="FormatX" xml:space="preserve">
<value>Format: {0}</value>
</data>
<data name="InvalidURI" xml:space="preserve">
<value>Invalid URI</value>
</data>
<data name="URISaved" xml:space="preserve">
<value>URI saved</value>
</data>
<data name="URIRemoved" xml:space="preserve">
<value>URI removed</value>
</data>
<data name="ThereAreNoBlockedURIs" xml:space="preserve">
<value>There are no blocked URIs</value>
</data>
<data name="TheURIXIsAlreadyBlocked" xml:space="preserve">
<value>The URI {0} is already blocked</value>
</data>
<data name="CannotEditMultipleURIsAtOnce" xml:space="preserve">
<value>Cannot edit multiple URIs at once</value>
</data>
</root>

View File

@@ -1587,9 +1587,6 @@ Scanning will happen automatically.</value>
<data name="AutofillBlockedUris" xml:space="preserve">
<value>Auto-fill blocked URIs</value>
</data>
<data name="AutofillBlockedUrisDescription" xml:space="preserve">
<value>Auto-fill will not be offered for blocked URIs. Separate multiple URIs with a comma. For example: "https://twitter.com, androidapp://com.twitter.android".</value>
</data>
<data name="AskToAddLogin" xml:space="preserve">
<value>Ask to add login</value>
</data>
@@ -2645,4 +2642,50 @@ Do you want to switch to this account?</value>
<data name="InvalidAPIToken" xml:space="preserve">
<value>Invalid API token</value>
</data>
<data name="BlockAutoFill" xml:space="preserve">
<value>Block auto-fill</value>
</data>
<data name="AutoFillWillNotBeOfferedForTheseURIs" xml:space="preserve">
<value>Auto-fill will not be offered for these URIs.</value>
</data>
<data name="NewBlockedURI" xml:space="preserve">
<value>New blocked URI</value>
</data>
<data name="URISaved" xml:space="preserve">
<value>URI saved</value>
</data>
<data name="InvalidFormatUseHttpsHttpOrAndroidApp" xml:space="preserve">
<value>Invalid format. Use https://, http://, or androidapp://</value>
<comment>https://, http://, androidapp:// should not be translated</comment>
</data>
<data name="EditURI" xml:space="preserve">
<value>Edit URI</value>
</data>
<data name="EnterURI" xml:space="preserve">
<value>Enter URI</value>
</data>
<data name="FormatXSeparateMultipleURIsWithAComma" xml:space="preserve">
<value>Format: {0}. Separate multiple URIs with a comma.</value>
</data>
<data name="FormatX" xml:space="preserve">
<value>Format: {0}</value>
</data>
<data name="InvalidURI" xml:space="preserve">
<value>Invalid URI</value>
</data>
<data name="URISaved" xml:space="preserve">
<value>URI saved</value>
</data>
<data name="URIRemoved" xml:space="preserve">
<value>URI removed</value>
</data>
<data name="ThereAreNoBlockedURIs" xml:space="preserve">
<value>There are no blocked URIs</value>
</data>
<data name="TheURIXIsAlreadyBlocked" xml:space="preserve">
<value>The URI {0} is already blocked</value>
</data>
<data name="CannotEditMultipleURIsAtOnce" xml:space="preserve">
<value>Cannot edit multiple URIs at once</value>
</data>
</root>

View File

@@ -1585,9 +1585,6 @@ Scanning will happen automatically.</value>
<data name="AutofillBlockedUris" xml:space="preserve">
<value>Auto-fill blocked URIs</value>
</data>
<data name="AutofillBlockedUrisDescription" xml:space="preserve">
<value>Auto-fill will not be offered for blocked URIs. Separate multiple URIs with a comma. For example: "https://twitter.com, androidapp://com.twitter.android".</value>
</data>
<data name="AskToAddLogin" xml:space="preserve">
<value>Ask to add login</value>
</data>
@@ -2643,4 +2640,50 @@ Do you want to switch to this account?</value>
<data name="InvalidAPIToken" xml:space="preserve">
<value>Invalid API token</value>
</data>
<data name="BlockAutoFill" xml:space="preserve">
<value>Block auto-fill</value>
</data>
<data name="AutoFillWillNotBeOfferedForTheseURIs" xml:space="preserve">
<value>Auto-fill will not be offered for these URIs.</value>
</data>
<data name="NewBlockedURI" xml:space="preserve">
<value>New blocked URI</value>
</data>
<data name="URISaved" xml:space="preserve">
<value>URI saved</value>
</data>
<data name="InvalidFormatUseHttpsHttpOrAndroidApp" xml:space="preserve">
<value>Invalid format. Use https://, http://, or androidapp://</value>
<comment>https://, http://, androidapp:// should not be translated</comment>
</data>
<data name="EditURI" xml:space="preserve">
<value>Edit URI</value>
</data>
<data name="EnterURI" xml:space="preserve">
<value>Enter URI</value>
</data>
<data name="FormatXSeparateMultipleURIsWithAComma" xml:space="preserve">
<value>Format: {0}. Separate multiple URIs with a comma.</value>
</data>
<data name="FormatX" xml:space="preserve">
<value>Format: {0}</value>
</data>
<data name="InvalidURI" xml:space="preserve">
<value>Invalid URI</value>
</data>
<data name="URISaved" xml:space="preserve">
<value>URI saved</value>
</data>
<data name="URIRemoved" xml:space="preserve">
<value>URI removed</value>
</data>
<data name="ThereAreNoBlockedURIs" xml:space="preserve">
<value>There are no blocked URIs</value>
</data>
<data name="TheURIXIsAlreadyBlocked" xml:space="preserve">
<value>The URI {0} is already blocked</value>
</data>
<data name="CannotEditMultipleURIsAtOnce" xml:space="preserve">
<value>Cannot edit multiple URIs at once</value>
</data>
</root>

View File

@@ -1584,9 +1584,6 @@
<data name="AutofillBlockedUris" xml:space="preserve">
<value>Auto-ispuna blokiranih URI-ja</value>
</data>
<data name="AutofillBlockedUrisDescription" xml:space="preserve">
<value>Auto-ispuna neće biti ponuđena za blokirane URI-je. Odvoji višestruke URI-je zarezom. Npr. „https://twitter.com, androidapp://com.twitter.android”</value>
</data>
<data name="AskToAddLogin" xml:space="preserve">
<value>Upitaj za dodavanje prijave</value>
</data>
@@ -2640,4 +2637,50 @@
<data name="InvalidAPIToken" xml:space="preserve">
<value>Invalid API token</value>
</data>
<data name="BlockAutoFill" xml:space="preserve">
<value>Block auto-fill</value>
</data>
<data name="AutoFillWillNotBeOfferedForTheseURIs" xml:space="preserve">
<value>Auto-fill will not be offered for these URIs.</value>
</data>
<data name="NewBlockedURI" xml:space="preserve">
<value>New blocked URI</value>
</data>
<data name="URISaved" xml:space="preserve">
<value>URI saved</value>
</data>
<data name="InvalidFormatUseHttpsHttpOrAndroidApp" xml:space="preserve">
<value>Invalid format. Use https://, http://, or androidapp://</value>
<comment>https://, http://, androidapp:// should not be translated</comment>
</data>
<data name="EditURI" xml:space="preserve">
<value>Edit URI</value>
</data>
<data name="EnterURI" xml:space="preserve">
<value>Enter URI</value>
</data>
<data name="FormatXSeparateMultipleURIsWithAComma" xml:space="preserve">
<value>Format: {0}. Separate multiple URIs with a comma.</value>
</data>
<data name="FormatX" xml:space="preserve">
<value>Format: {0}</value>
</data>
<data name="InvalidURI" xml:space="preserve">
<value>Invalid URI</value>
</data>
<data name="URISaved" xml:space="preserve">
<value>URI saved</value>
</data>
<data name="URIRemoved" xml:space="preserve">
<value>URI removed</value>
</data>
<data name="ThereAreNoBlockedURIs" xml:space="preserve">
<value>There are no blocked URIs</value>
</data>
<data name="TheURIXIsAlreadyBlocked" xml:space="preserve">
<value>The URI {0} is already blocked</value>
</data>
<data name="CannotEditMultipleURIsAtOnce" xml:space="preserve">
<value>Cannot edit multiple URIs at once</value>
</data>
</root>

View File

@@ -1584,9 +1584,6 @@
<data name="AutofillBlockedUris" xml:space="preserve">
<value>Automatikus kitöltés elől blokkolt URI elemek</value>
</data>
<data name="AutofillBlockedUrisDescription" xml:space="preserve">
<value>A blokkolt URI elemek esetében az automatikus kitöltés nem kerül felajánlásra. Több URI elemet vesszővel kell elválasztani. Például: "https://twitter.com, androidapp://com.twitter.android".</value>
</data>
<data name="AskToAddLogin" xml:space="preserve">
<value>Bejelentkezés hozzáadás kérése</value>
</data>
@@ -2641,4 +2638,50 @@ Szeretnénk átváltani erre a fiókra?</value>
<data name="InvalidAPIToken" xml:space="preserve">
<value>Érvénytelen API vezérjel</value>
</data>
<data name="BlockAutoFill" xml:space="preserve">
<value>Automatikus kitöltés blokkolása</value>
</data>
<data name="AutoFillWillNotBeOfferedForTheseURIs" xml:space="preserve">
<value>Az automatikus kitöltés nem kerül felajánlásra ezeknél a webcímeknél.</value>
</data>
<data name="NewBlockedURI" xml:space="preserve">
<value>Új blokkolt URI</value>
</data>
<data name="URISaved" xml:space="preserve">
<value>Az URI mentésre került.</value>
</data>
<data name="InvalidFormatUseHttpsHttpOrAndroidApp" xml:space="preserve">
<value>A formátum érvénytelen. Használjuk a https://, http:// vagy androidapp:// elemet.</value>
<comment>https://, http://, androidapp:// should not be translated</comment>
</data>
<data name="EditURI" xml:space="preserve">
<value>URI szerkesztése</value>
</data>
<data name="EnterURI" xml:space="preserve">
<value>URI megadása</value>
</data>
<data name="FormatXSeparateMultipleURIsWithAComma" xml:space="preserve">
<value>Formátum: {0}. A több URI elemet vesszővel válasszuk el.</value>
</data>
<data name="FormatX" xml:space="preserve">
<value>Formátum: {0}</value>
</data>
<data name="InvalidURI" xml:space="preserve">
<value>Az URI érvénytelen.</value>
</data>
<data name="URISaved" xml:space="preserve">
<value>Az URI mentésre került.</value>
</data>
<data name="URIRemoved" xml:space="preserve">
<value>Az URI eltávolításra került.</value>
</data>
<data name="ThereAreNoBlockedURIs" xml:space="preserve">
<value>Nincsenek blokkolt URI elemek.</value>
</data>
<data name="TheURIXIsAlreadyBlocked" xml:space="preserve">
<value>{0} URI már blokkolásra került.</value>
</data>
<data name="CannotEditMultipleURIsAtOnce" xml:space="preserve">
<value>Nem szerkeszthető több URI egyszerre.</value>
</data>
</root>

View File

@@ -1585,9 +1585,6 @@ Proses pindai akan terjadi secara otomatis.</value>
<data name="AutofillBlockedUris" xml:space="preserve">
<value>Auto-fill blocked URIs</value>
</data>
<data name="AutofillBlockedUrisDescription" xml:space="preserve">
<value>Auto-fill will not be offered for blocked URIs. Separate multiple URIs with a comma. For example: "https://twitter.com, androidapp://com.twitter.android".</value>
</data>
<data name="AskToAddLogin" xml:space="preserve">
<value>Ask to add login</value>
</data>
@@ -2642,4 +2639,50 @@ Do you want to switch to this account?</value>
<data name="InvalidAPIToken" xml:space="preserve">
<value>Invalid API token</value>
</data>
<data name="BlockAutoFill" xml:space="preserve">
<value>Block auto-fill</value>
</data>
<data name="AutoFillWillNotBeOfferedForTheseURIs" xml:space="preserve">
<value>Auto-fill will not be offered for these URIs.</value>
</data>
<data name="NewBlockedURI" xml:space="preserve">
<value>New blocked URI</value>
</data>
<data name="URISaved" xml:space="preserve">
<value>URI saved</value>
</data>
<data name="InvalidFormatUseHttpsHttpOrAndroidApp" xml:space="preserve">
<value>Invalid format. Use https://, http://, or androidapp://</value>
<comment>https://, http://, androidapp:// should not be translated</comment>
</data>
<data name="EditURI" xml:space="preserve">
<value>Edit URI</value>
</data>
<data name="EnterURI" xml:space="preserve">
<value>Enter URI</value>
</data>
<data name="FormatXSeparateMultipleURIsWithAComma" xml:space="preserve">
<value>Format: {0}. Separate multiple URIs with a comma.</value>
</data>
<data name="FormatX" xml:space="preserve">
<value>Format: {0}</value>
</data>
<data name="InvalidURI" xml:space="preserve">
<value>Invalid URI</value>
</data>
<data name="URISaved" xml:space="preserve">
<value>URI saved</value>
</data>
<data name="URIRemoved" xml:space="preserve">
<value>URI removed</value>
</data>
<data name="ThereAreNoBlockedURIs" xml:space="preserve">
<value>There are no blocked URIs</value>
</data>
<data name="TheURIXIsAlreadyBlocked" xml:space="preserve">
<value>The URI {0} is already blocked</value>
</data>
<data name="CannotEditMultipleURIsAtOnce" xml:space="preserve">
<value>Cannot edit multiple URIs at once</value>
</data>
</root>

View File

@@ -1584,9 +1584,6 @@
<data name="AutofillBlockedUris" xml:space="preserve">
<value>URI mai riempiti automaticamente</value>
</data>
<data name="AutofillBlockedUrisDescription" xml:space="preserve">
<value>Il riempimento automatico non sarà proposto per gli URI bloccati. Separa più URI con una virgola. Per esempio: "https://twitter.com, androidapp://com.twitter.android".</value>
</data>
<data name="AskToAddLogin" xml:space="preserve">
<value>Chiedi di aggiungere nuovi login</value>
</data>
@@ -2634,7 +2631,7 @@ Vuoi passare a questo account?</value>
<value>Aiuto per chiedere la password principale di nuovo</value>
</data>
<data name="UnlockingMayFailDueToInsufficientMemoryDecreaseYourKDFMemorySettingsToResolve" xml:space="preserve">
<value>Lo sblocco potrebbe fallire a causa di memoria insufficiente. Riduci le impostazioni della memoria KDF per risolvere il problema</value>
<value>Lo sblocco potrebbe non riuscire a causa di memoria insufficiente. Riduci le impostazioni della memoria KDF per risolvere il problema.</value>
</data>
<data name="InvalidAPIKey" xml:space="preserve">
<value>Chiave API non valida</value>
@@ -2642,4 +2639,50 @@ Vuoi passare a questo account?</value>
<data name="InvalidAPIToken" xml:space="preserve">
<value>Token API non valido</value>
</data>
<data name="BlockAutoFill" xml:space="preserve">
<value>Bocca riempimento automatico</value>
</data>
<data name="AutoFillWillNotBeOfferedForTheseURIs" xml:space="preserve">
<value>Il riempimento automatico non sarà offerto per questi URI.</value>
</data>
<data name="NewBlockedURI" xml:space="preserve">
<value>Nuovo URI bloccato</value>
</data>
<data name="URISaved" xml:space="preserve">
<value>URI salvato</value>
</data>
<data name="InvalidFormatUseHttpsHttpOrAndroidApp" xml:space="preserve">
<value>Formato non valido. Usa https://, http://, or androidapp://</value>
<comment>https://, http://, androidapp:// should not be translated</comment>
</data>
<data name="EditURI" xml:space="preserve">
<value>Modifica URI</value>
</data>
<data name="EnterURI" xml:space="preserve">
<value>Inserisci URI</value>
</data>
<data name="FormatXSeparateMultipleURIsWithAComma" xml:space="preserve">
<value>Formato: {0}. Separa più URI con una virgola.</value>
</data>
<data name="FormatX" xml:space="preserve">
<value>Formato: {0}</value>
</data>
<data name="InvalidURI" xml:space="preserve">
<value>URI non valido</value>
</data>
<data name="URISaved" xml:space="preserve">
<value>URI salvato</value>
</data>
<data name="URIRemoved" xml:space="preserve">
<value>URI rimosso</value>
</data>
<data name="ThereAreNoBlockedURIs" xml:space="preserve">
<value>Non ci sono URI bloccati</value>
</data>
<data name="TheURIXIsAlreadyBlocked" xml:space="preserve">
<value>L'URI {0} è già bloccato</value>
</data>
<data name="CannotEditMultipleURIsAtOnce" xml:space="preserve">
<value>Non puoi modificare più URI contemporaneamente</value>
</data>
</root>

View File

@@ -1585,9 +1585,6 @@
<data name="AutofillBlockedUris" xml:space="preserve">
<value>自動入力をブロックする URI</value>
</data>
<data name="AutofillBlockedUrisDescription" xml:space="preserve">
<value>自動入力をさせない URI を指定してください。複数の URI をコンマで区切ってください。例: "https://twitter.com, androidapp://com.twitter.android"</value>
</data>
<data name="AskToAddLogin" xml:space="preserve">
<value>ログイン情報の追加を尋ねる</value>
</data>
@@ -2642,4 +2639,50 @@
<data name="InvalidAPIToken" xml:space="preserve">
<value>無効な API トークン</value>
</data>
<data name="BlockAutoFill" xml:space="preserve">
<value>自動入力をブロック</value>
</data>
<data name="AutoFillWillNotBeOfferedForTheseURIs" xml:space="preserve">
<value>これらの URI に対しては自動入力しません。</value>
</data>
<data name="NewBlockedURI" xml:space="preserve">
<value>新しくブロックする URI</value>
</data>
<data name="URISaved" xml:space="preserve">
<value>URI を保存しました</value>
</data>
<data name="InvalidFormatUseHttpsHttpOrAndroidApp" xml:space="preserve">
<value>無効な形式です。https://、http://、androidapp:// を使用してください</value>
<comment>https://, http://, androidapp:// should not be translated</comment>
</data>
<data name="EditURI" xml:space="preserve">
<value>URI を編集</value>
</data>
<data name="EnterURI" xml:space="preserve">
<value>URI を入力</value>
</data>
<data name="FormatXSeparateMultipleURIsWithAComma" xml:space="preserve">
<value>形式は {0} です。複数の URI をカンマで区切ってください。</value>
</data>
<data name="FormatX" xml:space="preserve">
<value>形式: {0}</value>
</data>
<data name="InvalidURI" xml:space="preserve">
<value>不正な URI です</value>
</data>
<data name="URISaved" xml:space="preserve">
<value>URI を保存しました</value>
</data>
<data name="URIRemoved" xml:space="preserve">
<value>URI を削除しました</value>
</data>
<data name="ThereAreNoBlockedURIs" xml:space="preserve">
<value>ブロックした URI はありません</value>
</data>
<data name="TheURIXIsAlreadyBlocked" xml:space="preserve">
<value>URI {0} は既にブロックしています</value>
</data>
<data name="CannotEditMultipleURIsAtOnce" xml:space="preserve">
<value>一度に複数の URI を編集することはできません</value>
</data>
</root>

View File

@@ -1585,9 +1585,6 @@ Scanning will happen automatically.</value>
<data name="AutofillBlockedUris" xml:space="preserve">
<value>Auto-fill blocked URIs</value>
</data>
<data name="AutofillBlockedUrisDescription" xml:space="preserve">
<value>Auto-fill will not be offered for blocked URIs. Separate multiple URIs with a comma. For example: "https://twitter.com, androidapp://com.twitter.android".</value>
</data>
<data name="AskToAddLogin" xml:space="preserve">
<value>Ask to add login</value>
</data>
@@ -2643,4 +2640,50 @@ Do you want to switch to this account?</value>
<data name="InvalidAPIToken" xml:space="preserve">
<value>Invalid API token</value>
</data>
<data name="BlockAutoFill" xml:space="preserve">
<value>Block auto-fill</value>
</data>
<data name="AutoFillWillNotBeOfferedForTheseURIs" xml:space="preserve">
<value>Auto-fill will not be offered for these URIs.</value>
</data>
<data name="NewBlockedURI" xml:space="preserve">
<value>New blocked URI</value>
</data>
<data name="URISaved" xml:space="preserve">
<value>URI saved</value>
</data>
<data name="InvalidFormatUseHttpsHttpOrAndroidApp" xml:space="preserve">
<value>Invalid format. Use https://, http://, or androidapp://</value>
<comment>https://, http://, androidapp:// should not be translated</comment>
</data>
<data name="EditURI" xml:space="preserve">
<value>Edit URI</value>
</data>
<data name="EnterURI" xml:space="preserve">
<value>Enter URI</value>
</data>
<data name="FormatXSeparateMultipleURIsWithAComma" xml:space="preserve">
<value>Format: {0}. Separate multiple URIs with a comma.</value>
</data>
<data name="FormatX" xml:space="preserve">
<value>Format: {0}</value>
</data>
<data name="InvalidURI" xml:space="preserve">
<value>Invalid URI</value>
</data>
<data name="URISaved" xml:space="preserve">
<value>URI saved</value>
</data>
<data name="URIRemoved" xml:space="preserve">
<value>URI removed</value>
</data>
<data name="ThereAreNoBlockedURIs" xml:space="preserve">
<value>There are no blocked URIs</value>
</data>
<data name="TheURIXIsAlreadyBlocked" xml:space="preserve">
<value>The URI {0} is already blocked</value>
</data>
<data name="CannotEditMultipleURIsAtOnce" xml:space="preserve">
<value>Cannot edit multiple URIs at once</value>
</data>
</root>

View File

@@ -1586,9 +1586,6 @@ Scanning will happen automatically.</value>
<data name="AutofillBlockedUris" xml:space="preserve">
<value>Auto-fill blocked URIs</value>
</data>
<data name="AutofillBlockedUrisDescription" xml:space="preserve">
<value>Auto-fill will not be offered for blocked URIs. Separate multiple URIs with a comma. For example: "https://twitter.com, androidapp://com.twitter.android".</value>
</data>
<data name="AskToAddLogin" xml:space="preserve">
<value>Ask to add login</value>
</data>
@@ -2643,4 +2640,50 @@ Do you want to switch to this account?</value>
<data name="InvalidAPIToken" xml:space="preserve">
<value>Invalid API token</value>
</data>
<data name="BlockAutoFill" xml:space="preserve">
<value>Block auto-fill</value>
</data>
<data name="AutoFillWillNotBeOfferedForTheseURIs" xml:space="preserve">
<value>Auto-fill will not be offered for these URIs.</value>
</data>
<data name="NewBlockedURI" xml:space="preserve">
<value>New blocked URI</value>
</data>
<data name="URISaved" xml:space="preserve">
<value>URI saved</value>
</data>
<data name="InvalidFormatUseHttpsHttpOrAndroidApp" xml:space="preserve">
<value>Invalid format. Use https://, http://, or androidapp://</value>
<comment>https://, http://, androidapp:// should not be translated</comment>
</data>
<data name="EditURI" xml:space="preserve">
<value>Edit URI</value>
</data>
<data name="EnterURI" xml:space="preserve">
<value>Enter URI</value>
</data>
<data name="FormatXSeparateMultipleURIsWithAComma" xml:space="preserve">
<value>Format: {0}. Separate multiple URIs with a comma.</value>
</data>
<data name="FormatX" xml:space="preserve">
<value>Format: {0}</value>
</data>
<data name="InvalidURI" xml:space="preserve">
<value>Invalid URI</value>
</data>
<data name="URISaved" xml:space="preserve">
<value>URI saved</value>
</data>
<data name="URIRemoved" xml:space="preserve">
<value>URI removed</value>
</data>
<data name="ThereAreNoBlockedURIs" xml:space="preserve">
<value>There are no blocked URIs</value>
</data>
<data name="TheURIXIsAlreadyBlocked" xml:space="preserve">
<value>The URI {0} is already blocked</value>
</data>
<data name="CannotEditMultipleURIsAtOnce" xml:space="preserve">
<value>Cannot edit multiple URIs at once</value>
</data>
</root>

View File

@@ -1585,9 +1585,6 @@
<data name="AutofillBlockedUris" xml:space="preserve">
<value>차단된 URI를 자동으로 채우기</value>
</data>
<data name="AutofillBlockedUrisDescription" xml:space="preserve">
<value>자동 채우기는 차단된 URI에서는 작동하지 않습니다. 쉼표로 각각 URI를 나누십시오.</value>
</data>
<data name="AskToAddLogin" xml:space="preserve">
<value>로그인을 추가할 건지 물어보기</value>
</data>
@@ -2642,4 +2639,50 @@ Do you want to switch to this account?</value>
<data name="InvalidAPIToken" xml:space="preserve">
<value>Invalid API token</value>
</data>
<data name="BlockAutoFill" xml:space="preserve">
<value>Block auto-fill</value>
</data>
<data name="AutoFillWillNotBeOfferedForTheseURIs" xml:space="preserve">
<value>Auto-fill will not be offered for these URIs.</value>
</data>
<data name="NewBlockedURI" xml:space="preserve">
<value>New blocked URI</value>
</data>
<data name="URISaved" xml:space="preserve">
<value>URI saved</value>
</data>
<data name="InvalidFormatUseHttpsHttpOrAndroidApp" xml:space="preserve">
<value>Invalid format. Use https://, http://, or androidapp://</value>
<comment>https://, http://, androidapp:// should not be translated</comment>
</data>
<data name="EditURI" xml:space="preserve">
<value>Edit URI</value>
</data>
<data name="EnterURI" xml:space="preserve">
<value>Enter URI</value>
</data>
<data name="FormatXSeparateMultipleURIsWithAComma" xml:space="preserve">
<value>Format: {0}. Separate multiple URIs with a comma.</value>
</data>
<data name="FormatX" xml:space="preserve">
<value>Format: {0}</value>
</data>
<data name="InvalidURI" xml:space="preserve">
<value>Invalid URI</value>
</data>
<data name="URISaved" xml:space="preserve">
<value>URI saved</value>
</data>
<data name="URIRemoved" xml:space="preserve">
<value>URI removed</value>
</data>
<data name="ThereAreNoBlockedURIs" xml:space="preserve">
<value>There are no blocked URIs</value>
</data>
<data name="TheURIXIsAlreadyBlocked" xml:space="preserve">
<value>The URI {0} is already blocked</value>
</data>
<data name="CannotEditMultipleURIsAtOnce" xml:space="preserve">
<value>Cannot edit multiple URIs at once</value>
</data>
</root>

View File

@@ -1585,9 +1585,6 @@ Nuskaitymas vyks automatiškai.</value>
<data name="AutofillBlockedUris" xml:space="preserve">
<value>Automatiškai užpildyti užblokuotus URI</value>
</data>
<data name="AutofillBlockedUrisDescription" xml:space="preserve">
<value>Užblokuotų URI automatinis pildymas nebus siūlomas. Atskirkite kelis URI kableliais. Pavyzdžiui: „https://twitter.com, androidapp://com.twitter.android“.</value>
</data>
<data name="AskToAddLogin" xml:space="preserve">
<value>Prašyti pridėti prisijungimą</value>
</data>
@@ -2643,4 +2640,50 @@ Ar norite pereiti prie šios paskyros?</value>
<data name="InvalidAPIToken" xml:space="preserve">
<value>Invalid API token</value>
</data>
<data name="BlockAutoFill" xml:space="preserve">
<value>Block auto-fill</value>
</data>
<data name="AutoFillWillNotBeOfferedForTheseURIs" xml:space="preserve">
<value>Auto-fill will not be offered for these URIs.</value>
</data>
<data name="NewBlockedURI" xml:space="preserve">
<value>New blocked URI</value>
</data>
<data name="URISaved" xml:space="preserve">
<value>URI saved</value>
</data>
<data name="InvalidFormatUseHttpsHttpOrAndroidApp" xml:space="preserve">
<value>Invalid format. Use https://, http://, or androidapp://</value>
<comment>https://, http://, androidapp:// should not be translated</comment>
</data>
<data name="EditURI" xml:space="preserve">
<value>Edit URI</value>
</data>
<data name="EnterURI" xml:space="preserve">
<value>Enter URI</value>
</data>
<data name="FormatXSeparateMultipleURIsWithAComma" xml:space="preserve">
<value>Format: {0}. Separate multiple URIs with a comma.</value>
</data>
<data name="FormatX" xml:space="preserve">
<value>Format: {0}</value>
</data>
<data name="InvalidURI" xml:space="preserve">
<value>Invalid URI</value>
</data>
<data name="URISaved" xml:space="preserve">
<value>URI saved</value>
</data>
<data name="URIRemoved" xml:space="preserve">
<value>URI removed</value>
</data>
<data name="ThereAreNoBlockedURIs" xml:space="preserve">
<value>There are no blocked URIs</value>
</data>
<data name="TheURIXIsAlreadyBlocked" xml:space="preserve">
<value>The URI {0} is already blocked</value>
</data>
<data name="CannotEditMultipleURIsAtOnce" xml:space="preserve">
<value>Cannot edit multiple URIs at once</value>
</data>
</root>

View File

@@ -1585,9 +1585,6 @@ Nolasīšana notiks automātiski.</value>
<data name="AutofillBlockedUris" xml:space="preserve">
<value>Automātiskā aizpilde aizturētajos URI</value>
</data>
<data name="AutofillBlockedUrisDescription" xml:space="preserve">
<value>Automātiskā aizpilde aizturētajos URI netiks piedāvāta. Vairākus URI jāatdala ar komatu. Piemēram, "https://twitter.com, androidapp://com.twitter.android".</value>
</data>
<data name="AskToAddLogin" xml:space="preserve">
<value>Vaicāt, lai pievienotu pieteikšanās vienumu</value>
</data>
@@ -2642,4 +2639,50 @@ Vai pārslēgties uz šo kontu?</value>
<data name="InvalidAPIToken" xml:space="preserve">
<value>Nederīga API pilnvara</value>
</data>
<data name="BlockAutoFill" xml:space="preserve">
<value>Neļaut automātisko aizpildīšanu</value>
</data>
<data name="AutoFillWillNotBeOfferedForTheseURIs" xml:space="preserve">
<value>Šiem URI automātiskā aizpildīšana netiks piedāvāta.</value>
</data>
<data name="NewBlockedURI" xml:space="preserve">
<value>Jauns neatļautais URI</value>
</data>
<data name="URISaved" xml:space="preserve">
<value>URI saglabāts</value>
</data>
<data name="InvalidFormatUseHttpsHttpOrAndroidApp" xml:space="preserve">
<value>Nederīga vērtība. Jāizmanto https://, http:// vai androidapp://</value>
<comment>https://, http://, androidapp:// should not be translated</comment>
</data>
<data name="EditURI" xml:space="preserve">
<value>Labot URI</value>
</data>
<data name="EnterURI" xml:space="preserve">
<value>Ievadīt URI</value>
</data>
<data name="FormatXSeparateMultipleURIsWithAComma" xml:space="preserve">
<value>Pieraksts: {0}. Vairāki URI ir atdalāmi ar komatu.</value>
</data>
<data name="FormatX" xml:space="preserve">
<value>Pieraksts: {0}</value>
</data>
<data name="InvalidURI" xml:space="preserve">
<value>Nederīgs URI</value>
</data>
<data name="URISaved" xml:space="preserve">
<value>URI saglabāts</value>
</data>
<data name="URIRemoved" xml:space="preserve">
<value>URI noņemts</value>
</data>
<data name="ThereAreNoBlockedURIs" xml:space="preserve">
<value>Nav neatļautu URI</value>
</data>
<data name="TheURIXIsAlreadyBlocked" xml:space="preserve">
<value>URI {0} jau ir neatļauts</value>
</data>
<data name="CannotEditMultipleURIsAtOnce" xml:space="preserve">
<value>Nevar labot vairākus URI vienlaicīgi</value>
</data>
</root>

View File

@@ -1585,9 +1585,6 @@
<data name="AutofillBlockedUris" xml:space="preserve">
<value>Auto-fill blocked URIs</value>
</data>
<data name="AutofillBlockedUrisDescription" xml:space="preserve">
<value>Auto-fill will not be offered for blocked URIs. Separate multiple URIs with a comma. For example: "https://twitter.com, androidapp://com.twitter.android".</value>
</data>
<data name="AskToAddLogin" xml:space="preserve">
<value>Ask to add login</value>
</data>
@@ -2642,4 +2639,50 @@ Do you want to switch to this account?</value>
<data name="InvalidAPIToken" xml:space="preserve">
<value>Invalid API token</value>
</data>
<data name="BlockAutoFill" xml:space="preserve">
<value>Block auto-fill</value>
</data>
<data name="AutoFillWillNotBeOfferedForTheseURIs" xml:space="preserve">
<value>Auto-fill will not be offered for these URIs.</value>
</data>
<data name="NewBlockedURI" xml:space="preserve">
<value>New blocked URI</value>
</data>
<data name="URISaved" xml:space="preserve">
<value>URI saved</value>
</data>
<data name="InvalidFormatUseHttpsHttpOrAndroidApp" xml:space="preserve">
<value>Invalid format. Use https://, http://, or androidapp://</value>
<comment>https://, http://, androidapp:// should not be translated</comment>
</data>
<data name="EditURI" xml:space="preserve">
<value>Edit URI</value>
</data>
<data name="EnterURI" xml:space="preserve">
<value>Enter URI</value>
</data>
<data name="FormatXSeparateMultipleURIsWithAComma" xml:space="preserve">
<value>Format: {0}. Separate multiple URIs with a comma.</value>
</data>
<data name="FormatX" xml:space="preserve">
<value>Format: {0}</value>
</data>
<data name="InvalidURI" xml:space="preserve">
<value>Invalid URI</value>
</data>
<data name="URISaved" xml:space="preserve">
<value>URI saved</value>
</data>
<data name="URIRemoved" xml:space="preserve">
<value>URI removed</value>
</data>
<data name="ThereAreNoBlockedURIs" xml:space="preserve">
<value>There are no blocked URIs</value>
</data>
<data name="TheURIXIsAlreadyBlocked" xml:space="preserve">
<value>The URI {0} is already blocked</value>
</data>
<data name="CannotEditMultipleURIsAtOnce" xml:space="preserve">
<value>Cannot edit multiple URIs at once</value>
</data>
</root>

File diff suppressed because it is too large Load Diff

View File

@@ -1585,9 +1585,6 @@ Scanning will happen automatically.</value>
<data name="AutofillBlockedUris" xml:space="preserve">
<value>Auto-fill blocked URIs</value>
</data>
<data name="AutofillBlockedUrisDescription" xml:space="preserve">
<value>Auto-fill will not be offered for blocked URIs. Separate multiple URIs with a comma. For example: "https://twitter.com, androidapp://com.twitter.android".</value>
</data>
<data name="AskToAddLogin" xml:space="preserve">
<value>Ask to add login</value>
</data>
@@ -2643,4 +2640,50 @@ Do you want to switch to this account?</value>
<data name="InvalidAPIToken" xml:space="preserve">
<value>Invalid API token</value>
</data>
<data name="BlockAutoFill" xml:space="preserve">
<value>Block auto-fill</value>
</data>
<data name="AutoFillWillNotBeOfferedForTheseURIs" xml:space="preserve">
<value>Auto-fill will not be offered for these URIs.</value>
</data>
<data name="NewBlockedURI" xml:space="preserve">
<value>New blocked URI</value>
</data>
<data name="URISaved" xml:space="preserve">
<value>URI saved</value>
</data>
<data name="InvalidFormatUseHttpsHttpOrAndroidApp" xml:space="preserve">
<value>Invalid format. Use https://, http://, or androidapp://</value>
<comment>https://, http://, androidapp:// should not be translated</comment>
</data>
<data name="EditURI" xml:space="preserve">
<value>Edit URI</value>
</data>
<data name="EnterURI" xml:space="preserve">
<value>Enter URI</value>
</data>
<data name="FormatXSeparateMultipleURIsWithAComma" xml:space="preserve">
<value>Format: {0}. Separate multiple URIs with a comma.</value>
</data>
<data name="FormatX" xml:space="preserve">
<value>Format: {0}</value>
</data>
<data name="InvalidURI" xml:space="preserve">
<value>Invalid URI</value>
</data>
<data name="URISaved" xml:space="preserve">
<value>URI saved</value>
</data>
<data name="URIRemoved" xml:space="preserve">
<value>URI removed</value>
</data>
<data name="ThereAreNoBlockedURIs" xml:space="preserve">
<value>There are no blocked URIs</value>
</data>
<data name="TheURIXIsAlreadyBlocked" xml:space="preserve">
<value>The URI {0} is already blocked</value>
</data>
<data name="CannotEditMultipleURIsAtOnce" xml:space="preserve">
<value>Cannot edit multiple URIs at once</value>
</data>
</root>

View File

@@ -1585,9 +1585,6 @@ Skanning skjer automatisk.</value>
<data name="AutofillBlockedUris" xml:space="preserve">
<value>Auto-utfyll blokkerte URI-er</value>
</data>
<data name="AutofillBlockedUrisDescription" xml:space="preserve">
<value>Auto-utfyll vil ikke bli tilbudt for blokkerte URI-er. Separer flere URI-er med komma. For eksempel: "https://twitter.com, androidapp://com.twitter.android".</value>
</data>
<data name="AskToAddLogin" xml:space="preserve">
<value>Spør om å legge til innlogging</value>
</data>
@@ -2643,4 +2640,50 @@ Vil du bytte til denne kontoen?</value>
<data name="InvalidAPIToken" xml:space="preserve">
<value>Invalid API token</value>
</data>
<data name="BlockAutoFill" xml:space="preserve">
<value>Block auto-fill</value>
</data>
<data name="AutoFillWillNotBeOfferedForTheseURIs" xml:space="preserve">
<value>Auto-fill will not be offered for these URIs.</value>
</data>
<data name="NewBlockedURI" xml:space="preserve">
<value>New blocked URI</value>
</data>
<data name="URISaved" xml:space="preserve">
<value>URI saved</value>
</data>
<data name="InvalidFormatUseHttpsHttpOrAndroidApp" xml:space="preserve">
<value>Invalid format. Use https://, http://, or androidapp://</value>
<comment>https://, http://, androidapp:// should not be translated</comment>
</data>
<data name="EditURI" xml:space="preserve">
<value>Edit URI</value>
</data>
<data name="EnterURI" xml:space="preserve">
<value>Enter URI</value>
</data>
<data name="FormatXSeparateMultipleURIsWithAComma" xml:space="preserve">
<value>Format: {0}. Separate multiple URIs with a comma.</value>
</data>
<data name="FormatX" xml:space="preserve">
<value>Format: {0}</value>
</data>
<data name="InvalidURI" xml:space="preserve">
<value>Invalid URI</value>
</data>
<data name="URISaved" xml:space="preserve">
<value>URI saved</value>
</data>
<data name="URIRemoved" xml:space="preserve">
<value>URI removed</value>
</data>
<data name="ThereAreNoBlockedURIs" xml:space="preserve">
<value>There are no blocked URIs</value>
</data>
<data name="TheURIXIsAlreadyBlocked" xml:space="preserve">
<value>The URI {0} is already blocked</value>
</data>
<data name="CannotEditMultipleURIsAtOnce" xml:space="preserve">
<value>Cannot edit multiple URIs at once</value>
</data>
</root>

View File

@@ -1585,9 +1585,6 @@ Scanning will happen automatically.</value>
<data name="AutofillBlockedUris" xml:space="preserve">
<value>Auto-fill blocked URIs</value>
</data>
<data name="AutofillBlockedUrisDescription" xml:space="preserve">
<value>Auto-fill will not be offered for blocked URIs. Separate multiple URIs with a comma. For example: "https://twitter.com, androidapp://com.twitter.android".</value>
</data>
<data name="AskToAddLogin" xml:space="preserve">
<value>Ask to add login</value>
</data>
@@ -2643,4 +2640,50 @@ Do you want to switch to this account?</value>
<data name="InvalidAPIToken" xml:space="preserve">
<value>Invalid API token</value>
</data>
<data name="BlockAutoFill" xml:space="preserve">
<value>Block auto-fill</value>
</data>
<data name="AutoFillWillNotBeOfferedForTheseURIs" xml:space="preserve">
<value>Auto-fill will not be offered for these URIs.</value>
</data>
<data name="NewBlockedURI" xml:space="preserve">
<value>New blocked URI</value>
</data>
<data name="URISaved" xml:space="preserve">
<value>URI saved</value>
</data>
<data name="InvalidFormatUseHttpsHttpOrAndroidApp" xml:space="preserve">
<value>Invalid format. Use https://, http://, or androidapp://</value>
<comment>https://, http://, androidapp:// should not be translated</comment>
</data>
<data name="EditURI" xml:space="preserve">
<value>Edit URI</value>
</data>
<data name="EnterURI" xml:space="preserve">
<value>Enter URI</value>
</data>
<data name="FormatXSeparateMultipleURIsWithAComma" xml:space="preserve">
<value>Format: {0}. Separate multiple URIs with a comma.</value>
</data>
<data name="FormatX" xml:space="preserve">
<value>Format: {0}</value>
</data>
<data name="InvalidURI" xml:space="preserve">
<value>Invalid URI</value>
</data>
<data name="URISaved" xml:space="preserve">
<value>URI saved</value>
</data>
<data name="URIRemoved" xml:space="preserve">
<value>URI removed</value>
</data>
<data name="ThereAreNoBlockedURIs" xml:space="preserve">
<value>There are no blocked URIs</value>
</data>
<data name="TheURIXIsAlreadyBlocked" xml:space="preserve">
<value>The URI {0} is already blocked</value>
</data>
<data name="CannotEditMultipleURIsAtOnce" xml:space="preserve">
<value>Cannot edit multiple URIs at once</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>Rapporteer een fout (bug)</value>
<value>Rapporteer een foutmelding</value>
</data>
<data name="FileBugReportDescription" xml:space="preserve">
<value>Open een probleem op onze GitHub-repository.</value>
@@ -229,7 +229,7 @@
<value>Mappen</value>
</data>
<data name="FolderUpdated" xml:space="preserve">
<value>Map bijgewerkt</value>
<value>Map opgeslagen</value>
</data>
<data name="GoToWebsite" xml:space="preserve">
<value>Ga naar website</value>
@@ -247,7 +247,7 @@
<comment>Description message for the alert when internet connection is required to continue.</comment>
</data>
<data name="InternetConnectionRequiredTitle" xml:space="preserve">
<value>Internetverbinding vereist</value>
<value>Internetverbinding is vereist</value>
<comment>Title for the alert when internet connection is required to continue.</comment>
</data>
<data name="InvalidMasterPassword" xml:space="preserve">
@@ -1585,9 +1585,6 @@ Het scannen gebeurt automatisch.</value>
<data name="AutofillBlockedUris" xml:space="preserve">
<value>Automatisch invullen geblokkeerde URI's</value>
</data>
<data name="AutofillBlockedUrisDescription" xml:space="preserve">
<value>Automatisch invullen niet aanbieden voor geblokkeerde URIs. Scheid meerdere URI's met een komma. Bijvoorbeeld: "https://twitter.com, androidapp://com.twitter.android".</value>
</data>
<data name="AskToAddLogin" xml:space="preserve">
<value>Vragen login toe te voegen</value>
</data>
@@ -2637,9 +2634,55 @@ Wilt u naar dit account wisselen?</value>
<value>Ontgrendelen kan mislukken als er onvoldoende geheugen is. Verminder je KDF-geheugeninstellingen om dit op te lossen</value>
</data>
<data name="InvalidAPIKey" xml:space="preserve">
<value>Invalid API key</value>
<value>Ongeldige API-sleutel</value>
</data>
<data name="InvalidAPIToken" xml:space="preserve">
<value>Invalid API token</value>
<value>Ongeldige API-token</value>
</data>
<data name="BlockAutoFill" xml:space="preserve">
<value>Automatisch aanvullen blokkeren</value>
</data>
<data name="AutoFillWillNotBeOfferedForTheseURIs" xml:space="preserve">
<value>Automatisch is uitgeschakeld voor deze URIs.</value>
</data>
<data name="NewBlockedURI" xml:space="preserve">
<value>Nieuwe geblokkeerde URI</value>
</data>
<data name="URISaved" xml:space="preserve">
<value>URI opgeslagen</value>
</data>
<data name="InvalidFormatUseHttpsHttpOrAndroidApp" xml:space="preserve">
<value>Ongeldig formaat. Gebruik https://, http://, or androidapp://</value>
<comment>https://, http://, androidapp:// should not be translated</comment>
</data>
<data name="EditURI" xml:space="preserve">
<value>URI bewerken</value>
</data>
<data name="EnterURI" xml:space="preserve">
<value>URI invoeren</value>
</data>
<data name="FormatXSeparateMultipleURIsWithAComma" xml:space="preserve">
<value>Formaat: {0}. Meerdere URIs scheiden met een komma.</value>
</data>
<data name="FormatX" xml:space="preserve">
<value>Formaat: {0}</value>
</data>
<data name="InvalidURI" xml:space="preserve">
<value>Ongeldige URI</value>
</data>
<data name="URISaved" xml:space="preserve">
<value>URI opgeslagen</value>
</data>
<data name="URIRemoved" xml:space="preserve">
<value>URI verwijderd</value>
</data>
<data name="ThereAreNoBlockedURIs" xml:space="preserve">
<value>Er zijn geen geblokkeerde URIs</value>
</data>
<data name="TheURIXIsAlreadyBlocked" xml:space="preserve">
<value>De URI {0} is al geblokkeerd</value>
</data>
<data name="CannotEditMultipleURIsAtOnce" xml:space="preserve">
<value>Meerdere URIs in één keer bewerken kan niet</value>
</data>
</root>

View File

@@ -1216,16 +1216,16 @@ Skanning skjer automatisk.</value>
<value>Tekst</value>
</data>
<data name="NewCustomField" xml:space="preserve">
<value>New custom field</value>
<value>Nytt eigendefinert felt</value>
</data>
<data name="SelectTypeField" xml:space="preserve">
<value>What type of custom field do you want to add?</value>
<value>Kva for ein type eigendefinert felt vil du leggje til?</value>
</data>
<data name="Remove" xml:space="preserve">
<value>Remove</value>
<value>Fjern</value>
</data>
<data name="NewUri" xml:space="preserve">
<value>New URI</value>
<value>Ny URI</value>
</data>
<data name="URIPosition" xml:space="preserve">
<value>URI {0}</value>
@@ -1241,11 +1241,11 @@ Skanning skjer automatisk.</value>
<value>Nøyaktig</value>
</data>
<data name="Host" xml:space="preserve">
<value>Host</value>
<value>Vert</value>
<comment>A URL's host value. For example, the host of https://sub.domain.com:443 is 'sub.domain.com:443'.</comment>
</data>
<data name="RegEx" xml:space="preserve">
<value>Regular expression</value>
<value>Regulært uttrykk</value>
<comment>A programming term, also known as 'RegEx'.</comment>
</data>
<data name="StartsWith" xml:space="preserve">
@@ -1585,9 +1585,6 @@ Skanning skjer automatisk.</value>
<data name="AutofillBlockedUris" xml:space="preserve">
<value>Auto-fill blocked URIs</value>
</data>
<data name="AutofillBlockedUrisDescription" xml:space="preserve">
<value>Auto-fill will not be offered for blocked URIs. Separate multiple URIs with a comma. For example: "https://twitter.com, androidapp://com.twitter.android".</value>
</data>
<data name="AskToAddLogin" xml:space="preserve">
<value>Ask to add login</value>
</data>
@@ -2643,4 +2640,50 @@ Do you want to switch to this account?</value>
<data name="InvalidAPIToken" xml:space="preserve">
<value>Invalid API token</value>
</data>
<data name="BlockAutoFill" xml:space="preserve">
<value>Block auto-fill</value>
</data>
<data name="AutoFillWillNotBeOfferedForTheseURIs" xml:space="preserve">
<value>Auto-fill will not be offered for these URIs.</value>
</data>
<data name="NewBlockedURI" xml:space="preserve">
<value>New blocked URI</value>
</data>
<data name="URISaved" xml:space="preserve">
<value>URI saved</value>
</data>
<data name="InvalidFormatUseHttpsHttpOrAndroidApp" xml:space="preserve">
<value>Invalid format. Use https://, http://, or androidapp://</value>
<comment>https://, http://, androidapp:// should not be translated</comment>
</data>
<data name="EditURI" xml:space="preserve">
<value>Edit URI</value>
</data>
<data name="EnterURI" xml:space="preserve">
<value>Enter URI</value>
</data>
<data name="FormatXSeparateMultipleURIsWithAComma" xml:space="preserve">
<value>Format: {0}. Separate multiple URIs with a comma.</value>
</data>
<data name="FormatX" xml:space="preserve">
<value>Format: {0}</value>
</data>
<data name="InvalidURI" xml:space="preserve">
<value>Invalid URI</value>
</data>
<data name="URISaved" xml:space="preserve">
<value>URI saved</value>
</data>
<data name="URIRemoved" xml:space="preserve">
<value>URI removed</value>
</data>
<data name="ThereAreNoBlockedURIs" xml:space="preserve">
<value>There are no blocked URIs</value>
</data>
<data name="TheURIXIsAlreadyBlocked" xml:space="preserve">
<value>The URI {0} is already blocked</value>
</data>
<data name="CannotEditMultipleURIsAtOnce" xml:space="preserve">
<value>Cannot edit multiple URIs at once</value>
</data>
</root>

View File

@@ -1585,9 +1585,6 @@ Scanning will happen automatically.</value>
<data name="AutofillBlockedUris" xml:space="preserve">
<value>Auto-fill blocked URIs</value>
</data>
<data name="AutofillBlockedUrisDescription" xml:space="preserve">
<value>Auto-fill will not be offered for blocked URIs. Separate multiple URIs with a comma. For example: "https://twitter.com, androidapp://com.twitter.android".</value>
</data>
<data name="AskToAddLogin" xml:space="preserve">
<value>Ask to add login</value>
</data>
@@ -2643,4 +2640,50 @@ Do you want to switch to this account?</value>
<data name="InvalidAPIToken" xml:space="preserve">
<value>Invalid API token</value>
</data>
<data name="BlockAutoFill" xml:space="preserve">
<value>Block auto-fill</value>
</data>
<data name="AutoFillWillNotBeOfferedForTheseURIs" xml:space="preserve">
<value>Auto-fill will not be offered for these URIs.</value>
</data>
<data name="NewBlockedURI" xml:space="preserve">
<value>New blocked URI</value>
</data>
<data name="URISaved" xml:space="preserve">
<value>URI saved</value>
</data>
<data name="InvalidFormatUseHttpsHttpOrAndroidApp" xml:space="preserve">
<value>Invalid format. Use https://, http://, or androidapp://</value>
<comment>https://, http://, androidapp:// should not be translated</comment>
</data>
<data name="EditURI" xml:space="preserve">
<value>Edit URI</value>
</data>
<data name="EnterURI" xml:space="preserve">
<value>Enter URI</value>
</data>
<data name="FormatXSeparateMultipleURIsWithAComma" xml:space="preserve">
<value>Format: {0}. Separate multiple URIs with a comma.</value>
</data>
<data name="FormatX" xml:space="preserve">
<value>Format: {0}</value>
</data>
<data name="InvalidURI" xml:space="preserve">
<value>Invalid URI</value>
</data>
<data name="URISaved" xml:space="preserve">
<value>URI saved</value>
</data>
<data name="URIRemoved" xml:space="preserve">
<value>URI removed</value>
</data>
<data name="ThereAreNoBlockedURIs" xml:space="preserve">
<value>There are no blocked URIs</value>
</data>
<data name="TheURIXIsAlreadyBlocked" xml:space="preserve">
<value>The URI {0} is already blocked</value>
</data>
<data name="CannotEditMultipleURIsAtOnce" xml:space="preserve">
<value>Cannot edit multiple URIs at once</value>
</data>
</root>

View File

@@ -1585,9 +1585,6 @@ Skanowanie nastąpi automatycznie.</value>
<data name="AutofillBlockedUris" xml:space="preserve">
<value>Autouzupełnianie zablokowanych identyfikatorów URI</value>
</data>
<data name="AutofillBlockedUrisDescription" xml:space="preserve">
<value>Autouzupełnianie nie będzie oferowane w przypadku zablokowanych identyfikatorów URI. Oddziel wiele identyfikatorów URI przecinkami. Na przykład: „https://twitter.com, androidapp://com.twitter.android”.</value>
</data>
<data name="AskToAddLogin" xml:space="preserve">
<value>Poproś o dodanie danych logowania</value>
</data>
@@ -2642,4 +2639,50 @@ Czy chcesz przełączyć się na to konto?</value>
<data name="InvalidAPIToken" xml:space="preserve">
<value>Nieprawidłowy token API.</value>
</data>
<data name="BlockAutoFill" xml:space="preserve">
<value>Blokuj autouzupełnianie</value>
</data>
<data name="AutoFillWillNotBeOfferedForTheseURIs" xml:space="preserve">
<value>Autouzupełnianie nie będzie oferowane dla tych URI.</value>
</data>
<data name="NewBlockedURI" xml:space="preserve">
<value>Nowy zablokowany URI</value>
</data>
<data name="URISaved" xml:space="preserve">
<value>Zapisano URI</value>
</data>
<data name="InvalidFormatUseHttpsHttpOrAndroidApp" xml:space="preserve">
<value>Nieprawidłowy format. Użyj https://, http://, lub androidapp://</value>
<comment>https://, http://, androidapp:// should not be translated</comment>
</data>
<data name="EditURI" xml:space="preserve">
<value>Edytuj URI</value>
</data>
<data name="EnterURI" xml:space="preserve">
<value>Wpisz URI</value>
</data>
<data name="FormatXSeparateMultipleURIsWithAComma" xml:space="preserve">
<value>Format: {0}. Oddziel wiele URI przecinkiem.</value>
</data>
<data name="FormatX" xml:space="preserve">
<value>Format: {0}</value>
</data>
<data name="InvalidURI" xml:space="preserve">
<value>Nieprawidłowy URI</value>
</data>
<data name="URISaved" xml:space="preserve">
<value>Zapisano URI</value>
</data>
<data name="URIRemoved" xml:space="preserve">
<value>Usunięto URI</value>
</data>
<data name="ThereAreNoBlockedURIs" xml:space="preserve">
<value>Brak zablokowanych URI </value>
</data>
<data name="TheURIXIsAlreadyBlocked" xml:space="preserve">
<value>URI {0} jest już zablokowany</value>
</data>
<data name="CannotEditMultipleURIsAtOnce" xml:space="preserve">
<value>Nie można edytować wielu URI na raz</value>
</data>
</root>

View File

@@ -1585,9 +1585,6 @@ A leitura será feita automaticamente.</value>
<data name="AutofillBlockedUris" xml:space="preserve">
<value>Auto-preencher URIs bloqueadas</value>
</data>
<data name="AutofillBlockedUrisDescription" xml:space="preserve">
<value>O preenchimento automático não será oferecido para URIs bloqueados. Separe vários URIs com uma vírgula. Por exemplo: "https://twitter.com, androidapp://com.twitter.android".</value>
</data>
<data name="AskToAddLogin" xml:space="preserve">
<value>Pedir para adicionar uma conta</value>
</data>
@@ -2643,4 +2640,50 @@ Você deseja mudar para esta conta?</value>
<data name="InvalidAPIToken" xml:space="preserve">
<value>Token de API inválido</value>
</data>
<data name="BlockAutoFill" xml:space="preserve">
<value>Bloquear preenchimento automático</value>
</data>
<data name="AutoFillWillNotBeOfferedForTheseURIs" xml:space="preserve">
<value>O autopreenchimento não será oferecido para estas URIs.</value>
</data>
<data name="NewBlockedURI" xml:space="preserve">
<value>Nova URI bloqueada</value>
</data>
<data name="URISaved" xml:space="preserve">
<value>URI salva</value>
</data>
<data name="InvalidFormatUseHttpsHttpOrAndroidApp" xml:space="preserve">
<value>Formato inválido. Use https://, http://, ou androidapp://</value>
<comment>https://, http://, androidapp:// should not be translated</comment>
</data>
<data name="EditURI" xml:space="preserve">
<value>Editar URI</value>
</data>
<data name="EnterURI" xml:space="preserve">
<value>Digitar URI</value>
</data>
<data name="FormatXSeparateMultipleURIsWithAComma" xml:space="preserve">
<value>Formato: {0}. Separe vários URIs com uma vírgula.</value>
</data>
<data name="FormatX" xml:space="preserve">
<value>Formato: {0}</value>
</data>
<data name="InvalidURI" xml:space="preserve">
<value>URL inválida</value>
</data>
<data name="URISaved" xml:space="preserve">
<value>URI salva</value>
</data>
<data name="URIRemoved" xml:space="preserve">
<value>URI removida</value>
</data>
<data name="ThereAreNoBlockedURIs" xml:space="preserve">
<value>Não há URIs bloqueadas</value>
</data>
<data name="TheURIXIsAlreadyBlocked" xml:space="preserve">
<value>A URI {0} já está bloqueada</value>
</data>
<data name="CannotEditMultipleURIsAtOnce" xml:space="preserve">
<value>Não é possível editar várias URIs de uma vez</value>
</data>
</root>

View File

@@ -1585,9 +1585,6 @@ A leitura será efetuada automaticamente.</value>
<data name="AutofillBlockedUris" xml:space="preserve">
<value>Preencher automaticamente URIs bloqueados</value>
</data>
<data name="AutofillBlockedUrisDescription" xml:space="preserve">
<value>O preenchimento automático não será oferecido para URIs bloqueados. Separe vários URIs com uma vírgula. Por exemplo: "https://twitter.com, androidapp://com.twitter.android".</value>
</data>
<data name="AskToAddLogin" xml:space="preserve">
<value>Pedir para adicionar credencial</value>
</data>
@@ -2641,4 +2638,50 @@ Deseja mudar para esta conta?</value>
<data name="InvalidAPIToken" xml:space="preserve">
<value>Token da API inválido</value>
</data>
<data name="BlockAutoFill" xml:space="preserve">
<value>Bloquear preenchimento automático</value>
</data>
<data name="AutoFillWillNotBeOfferedForTheseURIs" xml:space="preserve">
<value>O preenchimento automático não será oferecido para estes URIs.</value>
</data>
<data name="NewBlockedURI" xml:space="preserve">
<value>Novo URI bloqueado</value>
</data>
<data name="URISaved" xml:space="preserve">
<value>URI guardado</value>
</data>
<data name="InvalidFormatUseHttpsHttpOrAndroidApp" xml:space="preserve">
<value>Formato inválido. Utilize https://, http://, ou androidapp://</value>
<comment>https://, http://, androidapp:// should not be translated</comment>
</data>
<data name="EditURI" xml:space="preserve">
<value>Editar URI</value>
</data>
<data name="EnterURI" xml:space="preserve">
<value>Introduzir URI</value>
</data>
<data name="FormatXSeparateMultipleURIsWithAComma" xml:space="preserve">
<value>Formato: {0}. Separe vários URIs com uma vírgula.</value>
</data>
<data name="FormatX" xml:space="preserve">
<value>Formato: {0}</value>
</data>
<data name="InvalidURI" xml:space="preserve">
<value>URI inválido</value>
</data>
<data name="URISaved" xml:space="preserve">
<value>URI guardado</value>
</data>
<data name="URIRemoved" xml:space="preserve">
<value>URI removido</value>
</data>
<data name="ThereAreNoBlockedURIs" xml:space="preserve">
<value>Não existem URIs bloqueados</value>
</data>
<data name="TheURIXIsAlreadyBlocked" xml:space="preserve">
<value>O URI {0} já está bloqueado</value>
</data>
<data name="CannotEditMultipleURIsAtOnce" xml:space="preserve">
<value>Não é possível editar vários URIs ao mesmo tempo</value>
</data>
</root>

View File

@@ -2646,6 +2646,34 @@ Do you want to switch to this account?</value>
<data name="RememberThisDevice" xml:space="preserve">
<value>Remember this device</value>
</data>
<data name="Passkey" xml:space="preserve">
<value>Passkey</value>
</data>
<data name="Passkeys" xml:space="preserve">
<value>Passkeys</value>
</data>
<data name="CreatedX" xml:space="preserve">
<value>Created {0}</value>
<comment>To state the date in which the cipher was created: Created 03/21/2023</comment>
</data>
<data name="Application" xml:space="preserve">
<value>Application</value>
</data>
<data name="YouCannotEditPasskeyApplicationBecauseItWouldInvalidateThePasskey" xml:space="preserve">
<value>You cannot edit passkey application because it would invalidate the passkey</value>
</data>
<data name="PasskeyWillNotBeCopied" xml:space="preserve">
<value>Passkey will not be copied</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>
</data>
<data name="CopyApplication" xml:space="preserve">
<value>Copy application</value>
</data>
<data name="AvailableForTwoStepLogin" xml:space="preserve">
<value>Available for two-step login</value>
</data>
<data name="MasterPasswordRePromptHelp" xml:space="preserve">
<value>Master password re-prompt help</value>
</data>
@@ -2676,6 +2704,9 @@ Do you want to switch to this account?</value>
<data name="VaultTimeoutActionChangedToLogOut" xml:space="preserve">
<value>Vault timeout action changed to log out</value>
</data>
<data name="ThisItemCannotBeSharedWithTheOrganizationBecauseThereIsOneAlreadyWithTheSamePasskey" xml:space="preserve">
<value>This item cannot be shared with the organization because there is one already with the same passkey.</value>
</data>
<data name="BlockAutoFill" xml:space="preserve">
<value>Block auto-fill</value>
</data>
@@ -2707,9 +2738,6 @@ Do you want to switch to this account?</value>
<data name="InvalidURI" xml:space="preserve">
<value>Invalid URI</value>
</data>
<data name="URISaved" xml:space="preserve">
<value>URI saved</value>
</data>
<data name="URIRemoved" xml:space="preserve">
<value>URI removed</value>
</data>

View File

@@ -1585,9 +1585,6 @@ Scanarea se va face automat.</value>
<data name="AutofillBlockedUris" xml:space="preserve">
<value>Completarea automată a URI-urilor blocate</value>
</data>
<data name="AutofillBlockedUrisDescription" xml:space="preserve">
<value>Completarea automată nu va fi oferită pentru URI-urile blocate. Separați cu virgulă mai multe URI-uri. De exemplu: „https://twitter.com, androidapp://com.twitter.android”.</value>
</data>
<data name="AskToAddLogin" xml:space="preserve">
<value>Solicitare de adăugare cont</value>
</data>
@@ -2642,4 +2639,50 @@ Doriți să comutați la acest cont?</value>
<data name="InvalidAPIToken" xml:space="preserve">
<value>Invalid API token</value>
</data>
<data name="BlockAutoFill" xml:space="preserve">
<value>Block auto-fill</value>
</data>
<data name="AutoFillWillNotBeOfferedForTheseURIs" xml:space="preserve">
<value>Auto-fill will not be offered for these URIs.</value>
</data>
<data name="NewBlockedURI" xml:space="preserve">
<value>New blocked URI</value>
</data>
<data name="URISaved" xml:space="preserve">
<value>URI saved</value>
</data>
<data name="InvalidFormatUseHttpsHttpOrAndroidApp" xml:space="preserve">
<value>Invalid format. Use https://, http://, or androidapp://</value>
<comment>https://, http://, androidapp:// should not be translated</comment>
</data>
<data name="EditURI" xml:space="preserve">
<value>Edit URI</value>
</data>
<data name="EnterURI" xml:space="preserve">
<value>Enter URI</value>
</data>
<data name="FormatXSeparateMultipleURIsWithAComma" xml:space="preserve">
<value>Format: {0}. Separate multiple URIs with a comma.</value>
</data>
<data name="FormatX" xml:space="preserve">
<value>Format: {0}</value>
</data>
<data name="InvalidURI" xml:space="preserve">
<value>Invalid URI</value>
</data>
<data name="URISaved" xml:space="preserve">
<value>URI saved</value>
</data>
<data name="URIRemoved" xml:space="preserve">
<value>URI removed</value>
</data>
<data name="ThereAreNoBlockedURIs" xml:space="preserve">
<value>There are no blocked URIs</value>
</data>
<data name="TheURIXIsAlreadyBlocked" xml:space="preserve">
<value>The URI {0} is already blocked</value>
</data>
<data name="CannotEditMultipleURIsAtOnce" xml:space="preserve">
<value>Cannot edit multiple URIs at once</value>
</data>
</root>

View File

@@ -1585,9 +1585,6 @@
<data name="AutofillBlockedUris" xml:space="preserve">
<value>Автозаполнение заблокированных URI</value>
</data>
<data name="AutofillBlockedUrisDescription" xml:space="preserve">
<value>Автозаполнение не будет предлагаться для заблокированных URI. Разделяйте несколько URI запятой. Например: "https://twitter.com, androidapp://com.twitter.android".</value>
</data>
<data name="AskToAddLogin" xml:space="preserve">
<value>Спрашивать при добавлении логина</value>
</data>
@@ -2631,10 +2628,10 @@
<value>Текущий мастер-пароль</value>
</data>
<data name="MasterPasswordRePromptHelp" xml:space="preserve">
<value>Помощь с повторным запросом мастер-пароля</value>
<value>Помощь по повторному запросу мастер-пароля</value>
</data>
<data name="UnlockingMayFailDueToInsufficientMemoryDecreaseYourKDFMemorySettingsToResolve" xml:space="preserve">
<value>Разблокировка может завершиться ошибкой из-за нехватки памяти. Уменьшите настройки памяти KDF для решения этой проблемы</value>
<value>Разблокировка может завершиться ошибкой из-за нехватки памяти. Уменьшите настройки памяти KDF для решения этой проблемы.</value>
</data>
<data name="InvalidAPIKey" xml:space="preserve">
<value>Некорректный ключ API</value>
@@ -2642,4 +2639,50 @@
<data name="InvalidAPIToken" xml:space="preserve">
<value>Некорректный токен API</value>
</data>
<data name="BlockAutoFill" xml:space="preserve">
<value>Block auto-fill</value>
</data>
<data name="AutoFillWillNotBeOfferedForTheseURIs" xml:space="preserve">
<value>Auto-fill will not be offered for these URIs.</value>
</data>
<data name="NewBlockedURI" xml:space="preserve">
<value>New blocked URI</value>
</data>
<data name="URISaved" xml:space="preserve">
<value>URI saved</value>
</data>
<data name="InvalidFormatUseHttpsHttpOrAndroidApp" xml:space="preserve">
<value>Invalid format. Use https://, http://, or androidapp://</value>
<comment>https://, http://, androidapp:// should not be translated</comment>
</data>
<data name="EditURI" xml:space="preserve">
<value>Edit URI</value>
</data>
<data name="EnterURI" xml:space="preserve">
<value>Enter URI</value>
</data>
<data name="FormatXSeparateMultipleURIsWithAComma" xml:space="preserve">
<value>Format: {0}. Separate multiple URIs with a comma.</value>
</data>
<data name="FormatX" xml:space="preserve">
<value>Format: {0}</value>
</data>
<data name="InvalidURI" xml:space="preserve">
<value>Invalid URI</value>
</data>
<data name="URISaved" xml:space="preserve">
<value>URI saved</value>
</data>
<data name="URIRemoved" xml:space="preserve">
<value>URI removed</value>
</data>
<data name="ThereAreNoBlockedURIs" xml:space="preserve">
<value>There are no blocked URIs</value>
</data>
<data name="TheURIXIsAlreadyBlocked" xml:space="preserve">
<value>The URI {0} is already blocked</value>
</data>
<data name="CannotEditMultipleURIsAtOnce" xml:space="preserve">
<value>Cannot edit multiple URIs at once</value>
</data>
</root>

View File

@@ -1585,9 +1585,6 @@ Scanning will happen automatically.</value>
<data name="AutofillBlockedUris" xml:space="preserve">
<value>Auto-fill blocked URIs</value>
</data>
<data name="AutofillBlockedUrisDescription" xml:space="preserve">
<value>Auto-fill will not be offered for blocked URIs. Separate multiple URIs with a comma. For example: "https://twitter.com, androidapp://com.twitter.android".</value>
</data>
<data name="AskToAddLogin" xml:space="preserve">
<value>Ask to add login</value>
</data>
@@ -2643,4 +2640,50 @@ Do you want to switch to this account?</value>
<data name="InvalidAPIToken" xml:space="preserve">
<value>Invalid API token</value>
</data>
<data name="BlockAutoFill" xml:space="preserve">
<value>Block auto-fill</value>
</data>
<data name="AutoFillWillNotBeOfferedForTheseURIs" xml:space="preserve">
<value>Auto-fill will not be offered for these URIs.</value>
</data>
<data name="NewBlockedURI" xml:space="preserve">
<value>New blocked URI</value>
</data>
<data name="URISaved" xml:space="preserve">
<value>URI saved</value>
</data>
<data name="InvalidFormatUseHttpsHttpOrAndroidApp" xml:space="preserve">
<value>Invalid format. Use https://, http://, or androidapp://</value>
<comment>https://, http://, androidapp:// should not be translated</comment>
</data>
<data name="EditURI" xml:space="preserve">
<value>Edit URI</value>
</data>
<data name="EnterURI" xml:space="preserve">
<value>Enter URI</value>
</data>
<data name="FormatXSeparateMultipleURIsWithAComma" xml:space="preserve">
<value>Format: {0}. Separate multiple URIs with a comma.</value>
</data>
<data name="FormatX" xml:space="preserve">
<value>Format: {0}</value>
</data>
<data name="InvalidURI" xml:space="preserve">
<value>Invalid URI</value>
</data>
<data name="URISaved" xml:space="preserve">
<value>URI saved</value>
</data>
<data name="URIRemoved" xml:space="preserve">
<value>URI removed</value>
</data>
<data name="ThereAreNoBlockedURIs" xml:space="preserve">
<value>There are no blocked URIs</value>
</data>
<data name="TheURIXIsAlreadyBlocked" xml:space="preserve">
<value>The URI {0} is already blocked</value>
</data>
<data name="CannotEditMultipleURIsAtOnce" xml:space="preserve">
<value>Cannot edit multiple URIs at once</value>
</data>
</root>

View File

@@ -1585,9 +1585,6 @@ Skenovanie prebehne automaticky.</value>
<data name="AutofillBlockedUris" xml:space="preserve">
<value>Blokované URI pre automatické vypĺňanie</value>
</data>
<data name="AutofillBlockedUrisDescription" xml:space="preserve">
<value>Automatické vypĺňanie sa nebude ponúkať pre zablokované URI. Viaceré URI oddeľte čiarkou. Napríklad: "https://twitter.com, androidapp://com.twitter.android".</value>
</data>
<data name="AskToAddLogin" xml:space="preserve">
<value>Požiadať o pridanie prihlásenia</value>
</data>
@@ -2642,4 +2639,50 @@ Chcete prepnúť na toto konto?</value>
<data name="InvalidAPIToken" xml:space="preserve">
<value>Neplatný token API</value>
</data>
<data name="BlockAutoFill" xml:space="preserve">
<value>Blokovať automatické vypĺňanie</value>
</data>
<data name="AutoFillWillNotBeOfferedForTheseURIs" xml:space="preserve">
<value>Pre tieto URI nebude automatické vypĺňanie ponukané.</value>
</data>
<data name="NewBlockedURI" xml:space="preserve">
<value>Nové blokované URI</value>
</data>
<data name="URISaved" xml:space="preserve">
<value>URI uložené</value>
</data>
<data name="InvalidFormatUseHttpsHttpOrAndroidApp" xml:space="preserve">
<value>Neplatný formát. Použite https://, http://, alebo androidapp://</value>
<comment>https://, http://, androidapp:// should not be translated</comment>
</data>
<data name="EditURI" xml:space="preserve">
<value>Upraviť URI</value>
</data>
<data name="EnterURI" xml:space="preserve">
<value>Zadať URI</value>
</data>
<data name="FormatXSeparateMultipleURIsWithAComma" xml:space="preserve">
<value>Formát: {0}. Viaceré URI oddeľte čiarkou.</value>
</data>
<data name="FormatX" xml:space="preserve">
<value>Formát: {0}</value>
</data>
<data name="InvalidURI" xml:space="preserve">
<value>Neplatné URI</value>
</data>
<data name="URISaved" xml:space="preserve">
<value>URI uložené</value>
</data>
<data name="URIRemoved" xml:space="preserve">
<value>URI odstránené</value>
</data>
<data name="ThereAreNoBlockedURIs" xml:space="preserve">
<value>Neexistujú žiadne blokované URI</value>
</data>
<data name="TheURIXIsAlreadyBlocked" xml:space="preserve">
<value>URI {0} je už blokované</value>
</data>
<data name="CannotEditMultipleURIsAtOnce" xml:space="preserve">
<value>Nie je možné upravovať viacero URI naraz</value>
</data>
</root>

View File

@@ -1585,9 +1585,6 @@ Scanning will happen automatically.</value>
<data name="AutofillBlockedUris" xml:space="preserve">
<value>URI-ji brez samodejnega izpolnjevanja</value>
</data>
<data name="AutofillBlockedUrisDescription" xml:space="preserve">
<value>Za te URI-je Bitwarden ne bo ponujal samodejnega izpolnjevanja. URI-je ločite z vejicami, n.pr.: "https://twitter.com, androidapp://com.twitter.android".</value>
</data>
<data name="AskToAddLogin" xml:space="preserve">
<value>Ponudi shranjevanje prijav</value>
</data>
@@ -2642,4 +2639,50 @@ Do you want to switch to this account?</value>
<data name="InvalidAPIToken" xml:space="preserve">
<value>Invalid API token</value>
</data>
<data name="BlockAutoFill" xml:space="preserve">
<value>Block auto-fill</value>
</data>
<data name="AutoFillWillNotBeOfferedForTheseURIs" xml:space="preserve">
<value>Auto-fill will not be offered for these URIs.</value>
</data>
<data name="NewBlockedURI" xml:space="preserve">
<value>New blocked URI</value>
</data>
<data name="URISaved" xml:space="preserve">
<value>URI saved</value>
</data>
<data name="InvalidFormatUseHttpsHttpOrAndroidApp" xml:space="preserve">
<value>Invalid format. Use https://, http://, or androidapp://</value>
<comment>https://, http://, androidapp:// should not be translated</comment>
</data>
<data name="EditURI" xml:space="preserve">
<value>Edit URI</value>
</data>
<data name="EnterURI" xml:space="preserve">
<value>Enter URI</value>
</data>
<data name="FormatXSeparateMultipleURIsWithAComma" xml:space="preserve">
<value>Format: {0}. Separate multiple URIs with a comma.</value>
</data>
<data name="FormatX" xml:space="preserve">
<value>Format: {0}</value>
</data>
<data name="InvalidURI" xml:space="preserve">
<value>Invalid URI</value>
</data>
<data name="URISaved" xml:space="preserve">
<value>URI saved</value>
</data>
<data name="URIRemoved" xml:space="preserve">
<value>URI removed</value>
</data>
<data name="ThereAreNoBlockedURIs" xml:space="preserve">
<value>There are no blocked URIs</value>
</data>
<data name="TheURIXIsAlreadyBlocked" xml:space="preserve">
<value>The URI {0} is already blocked</value>
</data>
<data name="CannotEditMultipleURIsAtOnce" xml:space="preserve">
<value>Cannot edit multiple URIs at once</value>
</data>
</root>

View File

@@ -1585,9 +1585,6 @@
<data name="AutofillBlockedUris" xml:space="preserve">
<value>Ауто-попуни клокиране УРЛ</value>
</data>
<data name="AutofillBlockedUrisDescription" xml:space="preserve">
<value>Ауто-пуњење неће радити за блокиране УРЛ. Одвојите више УРЛ са зарезом. Нпр: "https://twitter.com, androidapp://com.twitter.android".</value>
</data>
<data name="AskToAddLogin" xml:space="preserve">
<value>Питај да се дода пријава</value>
</data>
@@ -2639,9 +2636,55 @@
<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="BlockAutoFill" xml:space="preserve">
<value>Блокирати ауто-пуњење</value>
</data>
<data name="AutoFillWillNotBeOfferedForTheseURIs" xml:space="preserve">
<value>Ауто-пуњење неће бити понуђено за ове УРЛ.</value>
</data>
<data name="NewBlockedURI" xml:space="preserve">
<value>Нов блокиран УРЛ</value>
</data>
<data name="URISaved" xml:space="preserve">
<value>УРЛ сачуван</value>
</data>
<data name="InvalidFormatUseHttpsHttpOrAndroidApp" xml:space="preserve">
<value>Погрешан формат. Употребити https://, http://, или androidapp://</value>
<comment>https://, http://, androidapp:// should not be translated</comment>
</data>
<data name="EditURI" xml:space="preserve">
<value>Уредити УРЛ</value>
</data>
<data name="EnterURI" xml:space="preserve">
<value>Унос УРЛ-а</value>
</data>
<data name="FormatXSeparateMultipleURIsWithAComma" xml:space="preserve">
<value>Формат: {0}. Одвојите више УРЛ-ове са зарезом.</value>
</data>
<data name="FormatX" xml:space="preserve">
<value>Формат: {0}</value>
</data>
<data name="InvalidURI" xml:space="preserve">
<value>Неисправна адреса</value>
</data>
<data name="URISaved" xml:space="preserve">
<value>УРЛ сачуван</value>
</data>
<data name="URIRemoved" xml:space="preserve">
<value>УРЛ уклоњен</value>
</data>
<data name="ThereAreNoBlockedURIs" xml:space="preserve">
<value>Нема блокираних адреса</value>
</data>
<data name="TheURIXIsAlreadyBlocked" xml:space="preserve">
<value>Адреса {0} је већ блокирана</value>
</data>
<data name="CannotEditMultipleURIsAtOnce" xml:space="preserve">
<value>Не може да се уреди истовремено више адресе</value>
</data>
</root>

View File

@@ -1586,9 +1586,6 @@ Skanningen sker automatiskt.</value>
<data name="AutofillBlockedUris" xml:space="preserve">
<value>Fyll automatiskt i blockerade URI:er</value>
</data>
<data name="AutofillBlockedUrisDescription" xml:space="preserve">
<value>Automatisk ifyllnad kommer inte att erbjudas för blockerade URI:er. Separera flera URI:er med kommatecken. Till exempel: "https://twitter.com, androidapp://com.twitter.android".</value>
</data>
<data name="AskToAddLogin" xml:space="preserve">
<value>Be om att lägga till inloggning</value>
</data>
@@ -1754,10 +1751,10 @@ Skanningen sker automatiskt.</value>
<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>Biometrisk upplåsning för automatisk ifyllnad är inaktiverad i väntan på bekräftelse av huvudlösenordet.</value>
</data>
<data name="AccountBiometricInvalidatedExtension" xml:space="preserve">
<value>Autofill biometric unlock for this account is disabled pending verification of master password.</value>
<value>Den biometriska upplåsningen av automatisk ifyllning för detta konto är inaktiverat i väntan på verifiering av huvudlösenordet.</value>
</data>
<data name="EnableSyncOnRefresh" xml:space="preserve">
<value>Aktivera synkronisering vid uppdatering</value>
@@ -2145,10 +2142,10 @@ Skanningen sker automatiskt.</value>
<value>Dina organisationsprinciper påverkar ditt valvs tid för timeout. Maximal tillåten tid innan timeout är {0} timme(ar) och {1} minut(er)</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>Dina organisationsprinciper påverkar ditt valvs tid för timeout. Maximal tillåten tid innan timeout är {0} timme(ar) och {1} minut(er). Ditt valvs timouttid är angivet som {2}.</value>
</data>
<data name="VaultTimeoutActionPolicyInEffect" xml:space="preserve">
<value>Your organization policies have set your vault timeout action to {0}.</value>
<value>Dina organisationsprinciper har satt din timeout-åtgärd till {0}.</value>
</data>
<data name="VaultTimeoutToLarge" xml:space="preserve">
<value>Ditt valvs tid för timeout överskrider de begränsningar som fastställts av din organisation.</value>
@@ -2612,31 +2609,31 @@ Vill du byta till detta konto?</value>
<value>Det finns inga objekt som matchar sökningen</value>
</data>
<data name="US" xml:space="preserve">
<value>US</value>
<value>USA</value>
</data>
<data name="EU" xml:space="preserve">
<value>EU</value>
</data>
<data name="SelfHosted" xml:space="preserve">
<value>Self-hosted</value>
<value>Lokalt installerad</value>
</data>
<data name="DataRegion" xml:space="preserve">
<value>Data region</value>
<value>Dataområde</value>
</data>
<data name="Region" xml:space="preserve">
<value>Region</value>
<value>Område</value>
</data>
<data name="UpdateWeakMasterPasswordWarning" xml:space="preserve">
<value>Your master password does not meet one or more of your organization policies. In order to access the vault, you must update your master password now. Proceeding will log you out of your current session, requiring you to log back in. Active sessions on other devices may continue to remain active for up to one hour.</value>
<value>Ditt huvudlösenord följer inte ett eller flera av din organisations regler. För att komma åt ditt valv så måste du ändra ditt huvudlösenord nu. Om du gör det kommer du att loggas du ut ur din nuvarande session så du måste logga in på nytt. Aktiva sessioner på andra enheter kommer fortsatt vara aktiva i upp till en timme.</value>
</data>
<data name="CurrentMasterPassword" xml:space="preserve">
<value>Nuvarande huvudlösenord</value>
</data>
<data name="MasterPasswordRePromptHelp" xml:space="preserve">
<value>Master password re-prompt help</value>
<value>Återupprepa huvudlösenord hjälp</value>
</data>
<data name="UnlockingMayFailDueToInsufficientMemoryDecreaseYourKDFMemorySettingsToResolve" xml:space="preserve">
<value>Unlocking may fail due to insufficient memory. Decrease your KDF memory settings to resolve.</value>
<value>Upplåsning kan misslyckas på grund av otillräckligt minne. Minska dina KDF-minnesinställningar för att lösa detta.</value>
</data>
<data name="InvalidAPIKey" xml:space="preserve">
<value>Ogiltig API-nyckel</value>
@@ -2644,4 +2641,50 @@ Vill du byta till detta konto?</value>
<data name="InvalidAPIToken" xml:space="preserve">
<value>Ogiltig API-token</value>
</data>
<data name="BlockAutoFill" xml:space="preserve">
<value>Block auto-fill</value>
</data>
<data name="AutoFillWillNotBeOfferedForTheseURIs" xml:space="preserve">
<value>Auto-fill will not be offered for these URIs.</value>
</data>
<data name="NewBlockedURI" xml:space="preserve">
<value>Ny blockerad URI</value>
</data>
<data name="URISaved" xml:space="preserve">
<value>URI har sparats</value>
</data>
<data name="InvalidFormatUseHttpsHttpOrAndroidApp" xml:space="preserve">
<value>Ogiltigt format. Använd https://, http:// eller androidapp://</value>
<comment>https://, http://, androidapp:// should not be translated</comment>
</data>
<data name="EditURI" xml:space="preserve">
<value>Redigera URI</value>
</data>
<data name="EnterURI" xml:space="preserve">
<value>Ange URI</value>
</data>
<data name="FormatXSeparateMultipleURIsWithAComma" xml:space="preserve">
<value>Format: {0}. Separera flera URI:er med ett kommatecken.</value>
</data>
<data name="FormatX" xml:space="preserve">
<value>Format: {0}</value>
</data>
<data name="InvalidURI" xml:space="preserve">
<value>Ogiltig URI</value>
</data>
<data name="URISaved" xml:space="preserve">
<value>URI saved</value>
</data>
<data name="URIRemoved" xml:space="preserve">
<value>URI har tagits bort</value>
</data>
<data name="ThereAreNoBlockedURIs" xml:space="preserve">
<value>Det finns inga blockerade URI:er</value>
</data>
<data name="TheURIXIsAlreadyBlocked" xml:space="preserve">
<value>URI:n {0} har redan blockerats</value>
</data>
<data name="CannotEditMultipleURIsAtOnce" xml:space="preserve">
<value>Det går inte att redigera flera URI:er samtidigt</value>
</data>
</root>

View File

@@ -1586,9 +1586,6 @@
<data name="AutofillBlockedUris" xml:space="preserve">
<value>தடுக்கப்பட்ட உரலிகளைத் தன்னிரப்பு</value>
</data>
<data name="AutofillBlockedUrisDescription" xml:space="preserve">
<value>தடுக்கப்பட்ட உரலிகளுக்கு தன்னிரப்பல் அளிக்கப்படா. பல உரலிகள் காற்புள்ளியுடன் பிரிக்கவும். எ.கா:"https://twitter.com, androidapp://com.twitter.android".</value>
</data>
<data name="AskToAddLogin" xml:space="preserve">
<value>உள்நுழைவைச் சேர்க்க கேள்</value>
</data>
@@ -2643,4 +2640,50 @@ select Add TOTP to store the key safely</value>
<data name="InvalidAPIToken" xml:space="preserve">
<value>Invalid API token</value>
</data>
<data name="BlockAutoFill" xml:space="preserve">
<value>Block auto-fill</value>
</data>
<data name="AutoFillWillNotBeOfferedForTheseURIs" xml:space="preserve">
<value>Auto-fill will not be offered for these URIs.</value>
</data>
<data name="NewBlockedURI" xml:space="preserve">
<value>New blocked URI</value>
</data>
<data name="URISaved" xml:space="preserve">
<value>URI saved</value>
</data>
<data name="InvalidFormatUseHttpsHttpOrAndroidApp" xml:space="preserve">
<value>Invalid format. Use https://, http://, or androidapp://</value>
<comment>https://, http://, androidapp:// should not be translated</comment>
</data>
<data name="EditURI" xml:space="preserve">
<value>Edit URI</value>
</data>
<data name="EnterURI" xml:space="preserve">
<value>Enter URI</value>
</data>
<data name="FormatXSeparateMultipleURIsWithAComma" xml:space="preserve">
<value>Format: {0}. Separate multiple URIs with a comma.</value>
</data>
<data name="FormatX" xml:space="preserve">
<value>Format: {0}</value>
</data>
<data name="InvalidURI" xml:space="preserve">
<value>Invalid URI</value>
</data>
<data name="URISaved" xml:space="preserve">
<value>URI saved</value>
</data>
<data name="URIRemoved" xml:space="preserve">
<value>URI removed</value>
</data>
<data name="ThereAreNoBlockedURIs" xml:space="preserve">
<value>There are no blocked URIs</value>
</data>
<data name="TheURIXIsAlreadyBlocked" xml:space="preserve">
<value>The URI {0} is already blocked</value>
</data>
<data name="CannotEditMultipleURIsAtOnce" xml:space="preserve">
<value>Cannot edit multiple URIs at once</value>
</data>
</root>

View File

@@ -1585,9 +1585,6 @@ Scanning will happen automatically.</value>
<data name="AutofillBlockedUris" xml:space="preserve">
<value>Auto-fill blocked URIs</value>
</data>
<data name="AutofillBlockedUrisDescription" xml:space="preserve">
<value>Auto-fill will not be offered for blocked URIs. Separate multiple URIs with a comma. For example: "https://twitter.com, androidapp://com.twitter.android".</value>
</data>
<data name="AskToAddLogin" xml:space="preserve">
<value>Ask to add login</value>
</data>
@@ -2643,4 +2640,50 @@ Do you want to switch to this account?</value>
<data name="InvalidAPIToken" xml:space="preserve">
<value>Invalid API token</value>
</data>
<data name="BlockAutoFill" xml:space="preserve">
<value>Block auto-fill</value>
</data>
<data name="AutoFillWillNotBeOfferedForTheseURIs" xml:space="preserve">
<value>Auto-fill will not be offered for these URIs.</value>
</data>
<data name="NewBlockedURI" xml:space="preserve">
<value>New blocked URI</value>
</data>
<data name="URISaved" xml:space="preserve">
<value>URI saved</value>
</data>
<data name="InvalidFormatUseHttpsHttpOrAndroidApp" xml:space="preserve">
<value>Invalid format. Use https://, http://, or androidapp://</value>
<comment>https://, http://, androidapp:// should not be translated</comment>
</data>
<data name="EditURI" xml:space="preserve">
<value>Edit URI</value>
</data>
<data name="EnterURI" xml:space="preserve">
<value>Enter URI</value>
</data>
<data name="FormatXSeparateMultipleURIsWithAComma" xml:space="preserve">
<value>Format: {0}. Separate multiple URIs with a comma.</value>
</data>
<data name="FormatX" xml:space="preserve">
<value>Format: {0}</value>
</data>
<data name="InvalidURI" xml:space="preserve">
<value>Invalid URI</value>
</data>
<data name="URISaved" xml:space="preserve">
<value>URI saved</value>
</data>
<data name="URIRemoved" xml:space="preserve">
<value>URI removed</value>
</data>
<data name="ThereAreNoBlockedURIs" xml:space="preserve">
<value>There are no blocked URIs</value>
</data>
<data name="TheURIXIsAlreadyBlocked" xml:space="preserve">
<value>The URI {0} is already blocked</value>
</data>
<data name="CannotEditMultipleURIsAtOnce" xml:space="preserve">
<value>Cannot edit multiple URIs at once</value>
</data>
</root>

View File

@@ -1592,9 +1592,6 @@ Scanning will happen automatically.</value>
<data name="AutofillBlockedUris" xml:space="preserve">
<value>Auto-fill blocked URIs</value>
</data>
<data name="AutofillBlockedUrisDescription" xml:space="preserve">
<value>Auto-fill will not be offered for blocked URIs. Separate multiple URIs with a comma. For example: "https://twitter.com, androidapp://com.twitter.android".</value>
</data>
<data name="AskToAddLogin" xml:space="preserve">
<value>Ask to add login</value>
</data>
@@ -2650,4 +2647,50 @@ Do you want to switch to this account?</value>
<data name="InvalidAPIToken" xml:space="preserve">
<value>Invalid API token</value>
</data>
<data name="BlockAutoFill" xml:space="preserve">
<value>Block auto-fill</value>
</data>
<data name="AutoFillWillNotBeOfferedForTheseURIs" xml:space="preserve">
<value>Auto-fill will not be offered for these URIs.</value>
</data>
<data name="NewBlockedURI" xml:space="preserve">
<value>New blocked URI</value>
</data>
<data name="URISaved" xml:space="preserve">
<value>URI saved</value>
</data>
<data name="InvalidFormatUseHttpsHttpOrAndroidApp" xml:space="preserve">
<value>Invalid format. Use https://, http://, or androidapp://</value>
<comment>https://, http://, androidapp:// should not be translated</comment>
</data>
<data name="EditURI" xml:space="preserve">
<value>Edit URI</value>
</data>
<data name="EnterURI" xml:space="preserve">
<value>Enter URI</value>
</data>
<data name="FormatXSeparateMultipleURIsWithAComma" xml:space="preserve">
<value>Format: {0}. Separate multiple URIs with a comma.</value>
</data>
<data name="FormatX" xml:space="preserve">
<value>Format: {0}</value>
</data>
<data name="InvalidURI" xml:space="preserve">
<value>Invalid URI</value>
</data>
<data name="URISaved" xml:space="preserve">
<value>URI saved</value>
</data>
<data name="URIRemoved" xml:space="preserve">
<value>URI removed</value>
</data>
<data name="ThereAreNoBlockedURIs" xml:space="preserve">
<value>There are no blocked URIs</value>
</data>
<data name="TheURIXIsAlreadyBlocked" xml:space="preserve">
<value>The URI {0} is already blocked</value>
</data>
<data name="CannotEditMultipleURIsAtOnce" xml:space="preserve">
<value>Cannot edit multiple URIs at once</value>
</data>
</root>

View File

@@ -1585,9 +1585,6 @@ Kod otomatik olarak taranacaktır.</value>
<data name="AutofillBlockedUris" xml:space="preserve">
<value>Engellenmiş URI'leri otomatik doldur</value>
</data>
<data name="AutofillBlockedUrisDescription" xml:space="preserve">
<value>Engellenen URI'lerde otomatik doldurma önerilmeyecektir. Birden fazla URI'yi virgülle ayırabilirsiniz. Örnek: "https://twitter.com, androidapp://com.twitter.android".</value>
</data>
<data name="AskToAddLogin" xml:space="preserve">
<value>Hesap eklemeyi öner</value>
</data>
@@ -2641,4 +2638,50 @@ Bu hesaba geçmek ister misiniz?</value>
<data name="InvalidAPIToken" xml:space="preserve">
<value>Geçersiz API token'ı</value>
</data>
<data name="BlockAutoFill" xml:space="preserve">
<value>Otomatik doldurmayı engelle</value>
</data>
<data name="AutoFillWillNotBeOfferedForTheseURIs" xml:space="preserve">
<value>Aşağıdaki adresler için otomatik doldurma önerilmeyecektir.</value>
</data>
<data name="NewBlockedURI" xml:space="preserve">
<value>Yeni engelli URI</value>
</data>
<data name="URISaved" xml:space="preserve">
<value>URl kaydedildi</value>
</data>
<data name="InvalidFormatUseHttpsHttpOrAndroidApp" xml:space="preserve">
<value>Invalid format. Use https://, http://, or androidapp://</value>
<comment>https://, http://, androidapp:// should not be translated</comment>
</data>
<data name="EditURI" xml:space="preserve">
<value>Edit URI</value>
</data>
<data name="EnterURI" xml:space="preserve">
<value>Enter URI</value>
</data>
<data name="FormatXSeparateMultipleURIsWithAComma" xml:space="preserve">
<value>Format: {0}. Separate multiple URIs with a comma.</value>
</data>
<data name="FormatX" xml:space="preserve">
<value>Format: {0}</value>
</data>
<data name="InvalidURI" xml:space="preserve">
<value>Invalid URI</value>
</data>
<data name="URISaved" xml:space="preserve">
<value>URI saved</value>
</data>
<data name="URIRemoved" xml:space="preserve">
<value>URI removed</value>
</data>
<data name="ThereAreNoBlockedURIs" xml:space="preserve">
<value>There are no blocked URIs</value>
</data>
<data name="TheURIXIsAlreadyBlocked" xml:space="preserve">
<value>The URI {0} is already blocked</value>
</data>
<data name="CannotEditMultipleURIsAtOnce" xml:space="preserve">
<value>Cannot edit multiple URIs at once</value>
</data>
</root>

View File

@@ -1585,9 +1585,6 @@
<data name="AutofillBlockedUris" xml:space="preserve">
<value>Заблоковані для автозаповнення URI</value>
</data>
<data name="AutofillBlockedUrisDescription" xml:space="preserve">
<value>Автозаповнення не пропонуватиметься для заблокованих URI-адрес. Розділяйте різні URI комою. Наприклад: "https://twitter.com, androidapp://com.twitter.android".</value>
</data>
<data name="AskToAddLogin" xml:space="preserve">
<value>Запитувати про додавання запису</value>
</data>
@@ -1668,7 +1665,7 @@
<value>Підтвердьте свої облікові дані для продовження.</value>
</data>
<data name="ExportVaultWarning" xml:space="preserve">
<value>Експортовані дані вашого сховища знаходяться в незашифрованому вигляді. Вам не слід зберігати чи надсилати їх через незахищені канали (наприклад, е-поштою). Після використання негайно видаліть їх.</value>
<value>Ваші експортовані дані сховища незашифровані. Не зберігайте і не надсилайте їх незахищеними каналами (як-от електронна пошта). Після використання негайно видаліть їх.</value>
</data>
<data name="EncExportKeyWarning" xml:space="preserve">
<value>Цей експорт шифрує ваші дані за допомогою ключа шифрування облікового запису. Якщо ви коли-небудь оновите ключ шифрування облікового запису, необхідно виконати експорт знову, оскільки не зможете розшифрувати цей файл експорту.</value>
@@ -2642,4 +2639,50 @@
<data name="InvalidAPIToken" xml:space="preserve">
<value>Недійсний токен API</value>
</data>
<data name="BlockAutoFill" xml:space="preserve">
<value>Block auto-fill</value>
</data>
<data name="AutoFillWillNotBeOfferedForTheseURIs" xml:space="preserve">
<value>Auto-fill will not be offered for these URIs.</value>
</data>
<data name="NewBlockedURI" xml:space="preserve">
<value>New blocked URI</value>
</data>
<data name="URISaved" xml:space="preserve">
<value>URI saved</value>
</data>
<data name="InvalidFormatUseHttpsHttpOrAndroidApp" xml:space="preserve">
<value>Invalid format. Use https://, http://, or androidapp://</value>
<comment>https://, http://, androidapp:// should not be translated</comment>
</data>
<data name="EditURI" xml:space="preserve">
<value>Edit URI</value>
</data>
<data name="EnterURI" xml:space="preserve">
<value>Enter URI</value>
</data>
<data name="FormatXSeparateMultipleURIsWithAComma" xml:space="preserve">
<value>Format: {0}. Separate multiple URIs with a comma.</value>
</data>
<data name="FormatX" xml:space="preserve">
<value>Format: {0}</value>
</data>
<data name="InvalidURI" xml:space="preserve">
<value>Invalid URI</value>
</data>
<data name="URISaved" xml:space="preserve">
<value>URI saved</value>
</data>
<data name="URIRemoved" xml:space="preserve">
<value>URI removed</value>
</data>
<data name="ThereAreNoBlockedURIs" xml:space="preserve">
<value>There are no blocked URIs</value>
</data>
<data name="TheURIXIsAlreadyBlocked" xml:space="preserve">
<value>The URI {0} is already blocked</value>
</data>
<data name="CannotEditMultipleURIsAtOnce" xml:space="preserve">
<value>Cannot edit multiple URIs at once</value>
</data>
</root>

View File

@@ -584,7 +584,7 @@
<value>Một gợi ý mật khẩu có thể giúp bạn nhớ lại mật khẩu chủ của bạn nếu bạn quên nó.</value>
</data>
<data name="MasterPasswordLengthValMessageX" xml:space="preserve">
<value>Master password must be at least {0} characters long.</value>
<value>Siêu mật khẩu bắt buộc phải dài ít nhất {0} kí tự.</value>
</data>
<data name="MinNumbers" xml:space="preserve">
<value>Số chữ số tối thiểu</value>
@@ -1585,9 +1585,6 @@ Quá trình quét sẽ diễn ra tự động.</value>
<data name="AutofillBlockedUris" xml:space="preserve">
<value>Tự động điền các URI bị chặn</value>
</data>
<data name="AutofillBlockedUrisDescription" xml:space="preserve">
<value>Tính năng tự động điền sẽ không được cung cấp cho các URI bị chặn. Phân tách nhiều URI bằng dấu phẩy. Ví dụ: "https://twitter.com, androidapp://com.twitter.android".</value>
</data>
<data name="AskToAddLogin" xml:space="preserve">
<value>Yêu cầu thêm thông tin đăng nhập</value>
</data>
@@ -1753,10 +1750,10 @@ Quá trình quét sẽ diễn ra tự động.</value>
<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>Mở khóa bằng sinh trc học cho tài khoản này bị vô hiệu hóa trong khi chờ xác minh mật khẩu chính.</value>
</data>
<data name="AccountBiometricInvalidatedExtension" xml:space="preserve">
<value>Autofill biometric unlock for this account is disabled pending verification of master password.</value>
<value>Mở khóa bằng sinh trc học cho tài khoản này bị vô hiệu hóa trong khi chờ xác minh mật khẩu chính.</value>
</data>
<data name="EnableSyncOnRefresh" xml:space="preserve">
<value>Kích hoạt đồng bộ khi làm tươi(refresh)</value>
@@ -2541,13 +2538,13 @@ Do you want to switch to this account?</value>
<value>Requests declined</value>
</data>
<data name="NoPendingRequests" xml:space="preserve">
<value>No pending requests</value>
<value>Không có yêu cầu đang chờ phê duyệt</value>
</data>
<data name="EnableCamerPermissionToUseTheScanner" xml:space="preserve">
<value>Bật quyền của máy ảnh để sử dụng máy quét</value>
</data>
<data name="Language" xml:space="preserve">
<value>Language</value>
<value>Ngôn ngữ</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>
@@ -2556,7 +2553,7 @@ Do you want to switch to this account?</value>
<value>Language change requires app restart</value>
</data>
<data name="DefaultSystem" xml:space="preserve">
<value>Default (System)</value>
<value>Mặc định (Hệ thống)</value>
</data>
<data name="Important" xml:space="preserve">
<value>Quan trọng</value>
@@ -2580,19 +2577,19 @@ Do you want to switch to this account?</value>
<value>Mạnh</value>
</data>
<data name="CheckKnownDataBreachesForThisPassword" xml:space="preserve">
<value>Check known data breaches for this password</value>
<value>Kiểm tra xem mật khẩu có thuộc các vụ rò rỉ dữ liệu hay không</value>
</data>
<data name="ExposedMasterPassword" xml:space="preserve">
<value>Mật Khẩu Chính Bị Lộ</value>
</data>
<data name="PasswordFoundInADataBreachAlertDescription" xml:space="preserve">
<value>Password found in a data breach. Use a unique password to protect your account. Are you sure you want to use an exposed password?</value>
<value>Phát hiện mật khẩu này đã bị rò rỉ trong một vụ xâm nhập dữ liệu. Hãy sử dụng một mật khẩu độc nhất để bảo vệ tài khoản của bạn. Bạn có chắc chắn muốn sử dụng mật khẩu đã bị rò rỉ này không?</value>
</data>
<data name="WeakAndExposedMasterPassword" xml:space="preserve">
<value>Weak and Exposed Master Password</value>
</data>
<data name="WeakPasswordIdentifiedAndFoundInADataBreachAlertDescription" xml:space="preserve">
<value>Weak password identified and found in a data breach. Use a strong and unique password to protect your account. Are you sure you want to use this password?</value>
<value>Phát hiện mật khẩu yếu này đã bị rò rỉ trong một vụ xâm nhập dữ liệu. Hãy sử dụng một mật khẩu mạnh và độc nhất để bảo vệ tài khoản của bạn. Bạn có chắc chắn muốn sử dụng mật khẩu này không?</value>
</data>
<data name="OrganizationSsoIdentifierRequired" xml:space="preserve">
<value>Organization SSO identifier required.</value>
@@ -2642,4 +2639,50 @@ Do you want to switch to this account?</value>
<data name="InvalidAPIToken" xml:space="preserve">
<value>Invalid API token</value>
</data>
<data name="BlockAutoFill" xml:space="preserve">
<value>Block auto-fill</value>
</data>
<data name="AutoFillWillNotBeOfferedForTheseURIs" xml:space="preserve">
<value>Auto-fill will not be offered for these URIs.</value>
</data>
<data name="NewBlockedURI" xml:space="preserve">
<value>New blocked URI</value>
</data>
<data name="URISaved" xml:space="preserve">
<value>URI saved</value>
</data>
<data name="InvalidFormatUseHttpsHttpOrAndroidApp" xml:space="preserve">
<value>Invalid format. Use https://, http://, or androidapp://</value>
<comment>https://, http://, androidapp:// should not be translated</comment>
</data>
<data name="EditURI" xml:space="preserve">
<value>Edit URI</value>
</data>
<data name="EnterURI" xml:space="preserve">
<value>Enter URI</value>
</data>
<data name="FormatXSeparateMultipleURIsWithAComma" xml:space="preserve">
<value>Format: {0}. Separate multiple URIs with a comma.</value>
</data>
<data name="FormatX" xml:space="preserve">
<value>Format: {0}</value>
</data>
<data name="InvalidURI" xml:space="preserve">
<value>Invalid URI</value>
</data>
<data name="URISaved" xml:space="preserve">
<value>URI saved</value>
</data>
<data name="URIRemoved" xml:space="preserve">
<value>URI removed</value>
</data>
<data name="ThereAreNoBlockedURIs" xml:space="preserve">
<value>There are no blocked URIs</value>
</data>
<data name="TheURIXIsAlreadyBlocked" xml:space="preserve">
<value>The URI {0} is already blocked</value>
</data>
<data name="CannotEditMultipleURIsAtOnce" xml:space="preserve">
<value>Cannot edit multiple URIs at once</value>
</data>
</root>

View File

@@ -273,7 +273,7 @@
<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>
@@ -964,7 +964,7 @@
<value>自定义环境</value>
</data>
<data name="CustomEnvironmentFooter" xml:space="preserve">
<value>适用于高级用户。可以分别指定各个服务的基础 URL。</value>
<value>适用于高级用户。可以分别指定各个服务的基础 URL。</value>
</data>
<data name="EnvironmentSaved" xml:space="preserve">
<value>各环境 URL 已保存。</value>
@@ -1585,9 +1585,6 @@
<data name="AutofillBlockedUris" xml:space="preserve">
<value>自动填充已屏蔽的 URI</value>
</data>
<data name="AutofillBlockedUrisDescription" xml:space="preserve">
<value>不会对已阻止的 URI 提供自动填充功能。使用逗号分隔多个 URI。例如「 https://twitter.com, androidapp://com.twitter.android」。</value>
</data>
<data name="AskToAddLogin" xml:space="preserve">
<value>询问添加登录</value>
</data>
@@ -2553,7 +2550,7 @@
<value>语言已更改为 {0}。请重新启动应用程序以查看更改</value>
</data>
<data name="LanguageChangeRequiresAppRestart" xml:space="preserve">
<value>更改语言需要重新启动 app</value>
<value>更改语言需要重新启动应用程序</value>
</data>
<data name="DefaultSystem" xml:space="preserve">
<value>默认(系统)</value>
@@ -2642,4 +2639,50 @@
<data name="InvalidAPIToken" xml:space="preserve">
<value>无效的 API 令牌</value>
</data>
<data name="BlockAutoFill" xml:space="preserve">
<value>阻止自动填充</value>
</data>
<data name="AutoFillWillNotBeOfferedForTheseURIs" xml:space="preserve">
<value>不会为这些 URI 提供自动填充。</value>
</data>
<data name="NewBlockedURI" xml:space="preserve">
<value>新增屏蔽的 URI</value>
</data>
<data name="URISaved" xml:space="preserve">
<value>URI 已保存</value>
</data>
<data name="InvalidFormatUseHttpsHttpOrAndroidApp" xml:space="preserve">
<value>无效格式。请使用 https://、http:// 或 androidapp://</value>
<comment>https://, http://, androidapp:// should not be translated</comment>
</data>
<data name="EditURI" xml:space="preserve">
<value>编辑 URI</value>
</data>
<data name="EnterURI" xml:space="preserve">
<value>输入 URI</value>
</data>
<data name="FormatXSeparateMultipleURIsWithAComma" xml:space="preserve">
<value>格式:{0}。使用逗号分隔多个 URI。</value>
</data>
<data name="FormatX" xml:space="preserve">
<value>格式:{0}</value>
</data>
<data name="InvalidURI" xml:space="preserve">
<value>无效的 URI</value>
</data>
<data name="URISaved" xml:space="preserve">
<value>URI 已保存</value>
</data>
<data name="URIRemoved" xml:space="preserve">
<value>URI 已移除</value>
</data>
<data name="ThereAreNoBlockedURIs" xml:space="preserve">
<value>没有已屏蔽的 URI</value>
</data>
<data name="TheURIXIsAlreadyBlocked" xml:space="preserve">
<value>URI {0} 已被屏蔽</value>
</data>
<data name="CannotEditMultipleURIsAtOnce" xml:space="preserve">
<value>一次不能编辑多个 URI</value>
</data>
</root>

View File

@@ -1585,9 +1585,6 @@
<data name="AutofillBlockedUris" xml:space="preserve">
<value>自動填入已阻止的 URI</value>
</data>
<data name="AutofillBlockedUrisDescription" xml:space="preserve">
<value>不會對已阻止的 URI 提供自動填入功能。多個 URI 用逗號分隔範例「https://twitter.com, androidapp://com.twitter.android」。</value>
</data>
<data name="AskToAddLogin" xml:space="preserve">
<value>詢問新增登入資料</value>
</data>
@@ -2547,7 +2544,7 @@
<value>允許相機權限以使用掃描功能</value>
</data>
<data name="Language" xml:space="preserve">
<value>Language</value>
<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>
@@ -2610,10 +2607,10 @@
<value>There are no items that match the search</value>
</data>
<data name="US" xml:space="preserve">
<value>US</value>
<value>美國</value>
</data>
<data name="EU" xml:space="preserve">
<value>EU</value>
<value>歐盟</value>
</data>
<data name="SelfHosted" xml:space="preserve">
<value>Self-hosted</value>
@@ -2622,7 +2619,7 @@
<value>Data region</value>
</data>
<data name="Region" xml:space="preserve">
<value>Region</value>
<value>區域</value>
</data>
<data name="UpdateWeakMasterPasswordWarning" xml:space="preserve">
<value>您的主密碼不符合您的組織政策之一或多個要求。您必須立即更新您的主密碼以存取密碼庫。進行此操作將登出您目前的工作階段,需要您重新登入。其他裝置上的工作階段可能繼續長達一小時。</value>
@@ -2642,4 +2639,50 @@
<data name="InvalidAPIToken" xml:space="preserve">
<value>Invalid API token</value>
</data>
<data name="BlockAutoFill" xml:space="preserve">
<value>封鎖表單自動填入功能</value>
</data>
<data name="AutoFillWillNotBeOfferedForTheseURIs" xml:space="preserve">
<value>不對下列 URI 提供自動填寫功能。</value>
</data>
<data name="NewBlockedURI" xml:space="preserve">
<value>新增要封鎖的 URI</value>
</data>
<data name="URISaved" xml:space="preserve">
<value>已儲存 URI</value>
</data>
<data name="InvalidFormatUseHttpsHttpOrAndroidApp" xml:space="preserve">
<value>格式無效,請用 https://、http:// 或 androidapp:// 開頭</value>
<comment>https://, http://, androidapp:// should not be translated</comment>
</data>
<data name="EditURI" xml:space="preserve">
<value>編輯 URI</value>
</data>
<data name="EnterURI" xml:space="preserve">
<value>輸入 URI</value>
</data>
<data name="FormatXSeparateMultipleURIsWithAComma" xml:space="preserve">
<value>格式:{0},可用逗號分隔多組 URI。</value>
</data>
<data name="FormatX" xml:space="preserve">
<value>格式:{0}</value>
</data>
<data name="InvalidURI" xml:space="preserve">
<value>URI 無效</value>
</data>
<data name="URISaved" xml:space="preserve">
<value>已儲存 URI</value>
</data>
<data name="URIRemoved" xml:space="preserve">
<value>已刪除 URI</value>
</data>
<data name="ThereAreNoBlockedURIs" xml:space="preserve">
<value>沒有封鎖的 URI</value>
</data>
<data name="TheURIXIsAlreadyBlocked" xml:space="preserve">
<value>已經封鎖 URI {0}</value>
</data>
<data name="CannotEditMultipleURIsAtOnce" xml:space="preserve">
<value>無法一次編輯多組 URI</value>
</data>
</root>

View File

@@ -78,6 +78,18 @@ namespace Bit.App.Utilities
options.Add(AppResources.CopyNotes);
}
}
if (cipher.Type == Core.Enums.CipherType.Fido2Key)
{
if (!string.IsNullOrWhiteSpace(cipher.Fido2Key.UserName))
{
options.Add(AppResources.CopyUsername);
}
if (cipher.Fido2Key.CanLaunch)
{
options.Add(AppResources.Launch);
}
}
var selection = await page.DisplayActionSheet(cipher.Name, AppResources.Cancel, null, options.ToArray());
if (await vaultTimeoutService.IsLockedAsync())
{
@@ -96,7 +108,7 @@ namespace Bit.App.Utilities
}
else if (selection == AppResources.CopyUsername)
{
await clipboardService.CopyTextAsync(cipher.Login.Username);
await clipboardService.CopyTextAsync(cipher.Type == CipherType.Login ? cipher.Login.Username : cipher.Fido2Key.UserName);
platformUtilsService.ShowToastForCopiedValue(AppResources.Username);
}
else if (selection == AppResources.CopyPassword)
@@ -121,9 +133,9 @@ namespace Bit.App.Utilities
}
}
}
else if (selection == AppResources.Launch)
else if (selection == AppResources.Launch && cipher.CanLaunch)
{
platformUtilsService.LaunchUri(cipher.Login.LaunchUri);
platformUtilsService.LaunchUri(cipher.LaunchUri);
}
else if (selection == AppResources.CopyNumber)
{

View File

@@ -8,25 +8,20 @@ namespace Bit.App.Utilities
{
public static string GetIcon(this CipherView cipher)
{
string icon = null;
switch (cipher.Type)
{
case CipherType.Login:
icon = GetLoginIconGlyph(cipher);
break;
return GetLoginIconGlyph(cipher);
case CipherType.SecureNote:
icon = BitwardenIcons.StickyNote;
break;
return BitwardenIcons.StickyNote;
case CipherType.Card:
icon = BitwardenIcons.CreditCard;
break;
return BitwardenIcons.CreditCard;
case CipherType.Identity:
icon = BitwardenIcons.IdCard;
break;
default:
break;
return BitwardenIcons.IdCard;
case CipherType.Fido2Key:
return BitwardenIcons.Passkey;
}
return icon;
return null;
}
static string GetLoginIconGlyph(CipherView cipher)

View File

@@ -13,31 +13,29 @@ namespace Bit.App.Utilities
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
{
var cipher = value as CipherView;
return GetIcon(cipher);
return IconImageHelper.GetIconImage(cipher);
}
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
{
throw new NotImplementedException();
}
private string GetIcon(CipherView cipher)
{
string icon = null;
switch (cipher.Type)
{
case CipherType.Login:
icon = IconImageHelper.GetLoginIconImage(cipher);
break;
default:
break;
}
return icon;
}
}
public static class IconImageHelper
{
public static string GetIconImage(CipherView cipher)
{
switch (cipher.Type)
{
case CipherType.Login:
return IconImageHelper.GetLoginIconImage(cipher);
case CipherType.Fido2Key:
return IconImageHelper.GetFido2KeyIconImage(cipher);
}
return null;
}
public static string GetLoginIconImage(CipherView cipher)
{
string image = null;
@@ -67,6 +65,26 @@ namespace Bit.App.Utilities
return image;
}
public static string GetFido2KeyIconImage(CipherView cipher)
{
var hostnameUri = cipher.Fido2Key.LaunchUri;
if (!hostnameUri.Contains("."))
{
return null;
}
if (!hostnameUri.Contains("://"))
{
hostnameUri = string.Concat("https://", hostnameUri);
}
if (hostnameUri.StartsWith("http"))
{
return GetIconUrl(hostnameUri);
}
return null;
}
private static string GetIconUrl(string hostnameUri)
{
IEnvironmentService _environmentService = ServiceContainer.Resolve<IEnvironmentService>("environmentService");
@@ -85,7 +103,6 @@ namespace Bit.App.Utilities
}
}
return string.Format("{0}/{1}/icon.png", iconsUrl, hostname);
}
}
}

View File

@@ -10,6 +10,12 @@ namespace Bit.Core.Abstractions
{
public interface ICipherService
{
public enum ShareWithServerError
{
None,
DuplicatedPasskeyInOrg
}
Task ClearAsync(string userId);
Task ClearCacheAsync();
Task DeleteAsync(List<string> ids);
@@ -31,7 +37,7 @@ namespace Bit.Core.Abstractions
Task SaveCollectionsWithServerAsync(Cipher cipher);
Task SaveNeverDomainAsync(string domain);
Task SaveWithServerAsync(Cipher cipher);
Task ShareWithServerAsync(CipherView cipher, string organizationId, HashSet<string> collectionIds);
Task<ShareWithServerError> ShareWithServerAsync(CipherView cipher, string organizationId, HashSet<string> collectionIds);
Task UpdateLastUsedDateAsync(string id);
Task UpsertAsync(CipherData cipher);
Task UpsertAsync(List<CipherData> cipher);

View File

@@ -114,5 +114,6 @@
public const string ViewCellMenu = "\xe5d3";
public const string Device = "\xe986";
public const string Suitcase = "\xe98c";
public const string Passkey = "\xe99f";
}
}

View File

@@ -66,6 +66,9 @@ namespace Bit.Core
public const int Argon2MemoryInMB = 64;
public const int Argon2Parallelism = 4;
public const int MasterPasswordMinimumChars = 12;
public const string DefaultFido2KeyType = "public-key";
public const string DefaultFido2KeyAlgorithm = "ECDSA";
public const string DefaultFido2KeyCurve = "P-256";
public static readonly string[] AndroidAllClearCipherCacheKeys =
{

View File

@@ -7,6 +7,7 @@
Login = 1,
SecureNote = 2,
Card = 3,
Identity = 4
Identity = 4,
Fido2Key = 5
}
}

View File

@@ -0,0 +1,37 @@
using Bit.Core.Models.Domain;
using Bit.Core.Models.Export;
namespace Bit.Core.Models.Api
{
public class Fido2KeyApi
{
public Fido2KeyApi()
{
}
public Fido2KeyApi(Fido2Key fido2Key)
{
NonDiscoverableId = fido2Key.NonDiscoverableId?.EncryptedString;
KeyType = fido2Key.KeyType?.EncryptedString;
KeyAlgorithm = fido2Key.KeyAlgorithm?.EncryptedString;
KeyCurve = fido2Key.KeyCurve?.EncryptedString;
KeyValue = fido2Key.KeyValue?.EncryptedString;
RpId = fido2Key.RpId?.EncryptedString;
RpName = fido2Key.RpName?.EncryptedString;
UserHandle = fido2Key.UserHandle?.EncryptedString;
UserName = fido2Key.UserName?.EncryptedString;
Counter = fido2Key.Counter?.EncryptedString;
}
public string NonDiscoverableId { get; set; }
public string KeyType { get; set; } = Constants.DefaultFido2KeyType;
public string KeyAlgorithm { get; set; } = Constants.DefaultFido2KeyAlgorithm;
public string KeyCurve { get; set; } = Constants.DefaultFido2KeyCurve;
public string KeyValue { get; set; }
public string RpId { get; set; }
public string RpName { get; set; }
public string UserHandle { get; set; }
public string UserName { get; set; }
public string Counter { get; set; }
}
}

View File

@@ -10,5 +10,6 @@ namespace Bit.Core.Models.Api
public string Password { get; set; }
public DateTime? PasswordRevisionDate { get; set; }
public string Totp { get; set; }
public Fido2KeyApi Fido2Key { get; set; }
}
}

View File

@@ -21,6 +21,8 @@ namespace Bit.Core.Models.Data
OrganizationUseTotp = response.OrganizationUseTotp;
Favorite = response.Favorite;
RevisionDate = response.RevisionDate;
CreationDate = response.CreationDate;
DeletedDate = response.DeletedDate;
Type = response.Type;
Name = response.Name;
Notes = response.Notes;
@@ -43,6 +45,9 @@ namespace Bit.Core.Models.Data
case Enums.CipherType.Identity:
Identity = new IdentityData(response.Identity);
break;
case Enums.CipherType.Fido2Key:
Fido2Key = new Fido2KeyData(response.Fido2Key);
break;
default:
break;
}
@@ -61,7 +66,6 @@ namespace Bit.Core.Models.Data
Fields = response.Fields?.Select(f => new FieldData(f)).ToList();
Attachments = response.Attachments?.Select(a => new AttachmentData(a)).ToList();
PasswordHistory = response.PasswordHistory?.Select(ph => new PasswordHistoryData(ph)).ToList();
DeletedDate = response.DeletedDate;
}
public string Id { get; set; }
@@ -73,6 +77,8 @@ namespace Bit.Core.Models.Data
public bool OrganizationUseTotp { get; set; }
public bool Favorite { get; set; }
public DateTime RevisionDate { get; set; }
public DateTime CreationDate { get; set; }
public DateTime? DeletedDate { get; set; }
public Enums.CipherType Type { get; set; }
public string Name { get; set; }
public string Notes { get; set; }
@@ -80,11 +86,11 @@ namespace Bit.Core.Models.Data
public SecureNoteData SecureNote { get; set; }
public CardData Card { get; set; }
public IdentityData Identity { get; set; }
public Fido2KeyData Fido2Key { get; set; }
public List<FieldData> Fields { get; set; }
public List<AttachmentData> Attachments { get; set; }
public List<PasswordHistoryData> PasswordHistory { get; set; }
public List<string> CollectionIds { get; set; }
public DateTime? DeletedDate { get; set; }
public Enums.CipherRepromptType Reprompt { get; set; }
}
}

View File

@@ -0,0 +1,34 @@
using Bit.Core.Models.Api;
namespace Bit.Core.Models.Data
{
public class Fido2KeyData : Data
{
public Fido2KeyData() { }
public Fido2KeyData(Fido2KeyApi apiData)
{
NonDiscoverableId = apiData.NonDiscoverableId;
KeyType = apiData.KeyType;
KeyAlgorithm = apiData.KeyAlgorithm;
KeyCurve = apiData.KeyCurve;
KeyValue = apiData.KeyValue;
RpId = apiData.RpId;
RpName = apiData.RpName;
UserHandle = apiData.UserHandle;
UserName = apiData.UserName;
Counter = apiData.Counter;
}
public string NonDiscoverableId { get; set; }
public string KeyType { get; set; } = Constants.DefaultFido2KeyType;
public string KeyAlgorithm { get; set; } = Constants.DefaultFido2KeyAlgorithm;
public string KeyCurve { get; set; } = Constants.DefaultFido2KeyCurve;
public string KeyValue { get; set; }
public string RpId { get; set; }
public string RpName { get; set; }
public string UserHandle { get; set; }
public string UserName { get; set; }
public string Counter { get; set; }
}
}

View File

@@ -16,6 +16,7 @@ namespace Bit.Core.Models.Data
PasswordRevisionDate = data.PasswordRevisionDate;
Totp = data.Totp;
Uris = data.Uris?.Select(u => new LoginUriData(u)).ToList();
Fido2Key = data.Fido2Key != null ? new Fido2KeyData(data.Fido2Key) : null;
}
public List<LoginUriData> Uris { get; set; }
@@ -23,5 +24,6 @@ namespace Bit.Core.Models.Data
public string Password { get; set; }
public DateTime? PasswordRevisionDate { get; set; }
public string Totp { get; set; }
public Fido2KeyData Fido2Key { get; set; }
}
}

View File

@@ -29,6 +29,7 @@ namespace Bit.Core.Models.Domain
Edit = obj.Edit;
ViewPassword = obj.ViewPassword;
RevisionDate = obj.RevisionDate;
CreationDate = obj.CreationDate;
CollectionIds = obj.CollectionIds != null ? new HashSet<string>(obj.CollectionIds) : null;
LocalData = localData;
Reprompt = obj.Reprompt;
@@ -47,6 +48,9 @@ namespace Bit.Core.Models.Domain
case Enums.CipherType.Identity:
Identity = new Identity(obj.Identity, alreadyEncrypted);
break;
case CipherType.Fido2Key:
Fido2Key = new Fido2Key(obj.Fido2Key, alreadyEncrypted);
break;
default:
break;
}
@@ -68,16 +72,18 @@ namespace Bit.Core.Models.Domain
public bool Edit { get; set; }
public bool ViewPassword { get; set; }
public DateTime RevisionDate { get; set; }
public DateTime CreationDate { get; set; }
public DateTime? DeletedDate { get; set; }
public Dictionary<string, object> LocalData { get; set; }
public Login Login { get; set; }
public Identity Identity { get; set; }
public Card Card { get; set; }
public SecureNote SecureNote { get; set; }
public Fido2Key Fido2Key { get; set; }
public List<Attachment> Attachments { get; set; }
public List<Field> Fields { get; set; }
public List<PasswordHistory> PasswordHistory { get; set; }
public HashSet<string> CollectionIds { get; set; }
public DateTime? DeletedDate { get; set; }
public CipherRepromptType Reprompt { get; set; }
public async Task<CipherView> DecryptAsync()
@@ -103,6 +109,9 @@ namespace Bit.Core.Models.Domain
case Enums.CipherType.Identity:
model.Identity = await Identity.DecryptAsync(OrganizationId);
break;
case Enums.CipherType.Fido2Key:
model.Fido2Key = await Fido2Key.DecryptAsync(OrganizationId);
break;
default:
break;
}
@@ -167,6 +176,7 @@ namespace Bit.Core.Models.Domain
OrganizationUseTotp = OrganizationUseTotp,
Favorite = Favorite,
RevisionDate = RevisionDate,
CreationDate = CreationDate,
Type = Type,
CollectionIds = CollectionIds.ToList(),
DeletedDate = DeletedDate,
@@ -191,6 +201,9 @@ namespace Bit.Core.Models.Domain
case Enums.CipherType.Identity:
c.Identity = Identity.ToIdentityData();
break;
case Enums.CipherType.Fido2Key:
c.Fido2Key = Fido2Key.ToFido2KeyData();
break;
default:
break;
}

View File

@@ -0,0 +1,54 @@
using System.Collections.Generic;
using System.Threading.Tasks;
using Bit.Core.Models.Data;
using Bit.Core.Models.View;
namespace Bit.Core.Models.Domain
{
public class Fido2Key : Domain
{
public static HashSet<string> EncryptableProperties => new HashSet<string>
{
nameof(NonDiscoverableId),
nameof(KeyType),
nameof(KeyAlgorithm),
nameof(KeyCurve),
nameof(KeyValue),
nameof(RpId),
nameof(RpName),
nameof(UserHandle),
nameof(UserName),
nameof(Counter)
};
public Fido2Key() { }
public Fido2Key(Fido2KeyData data, bool alreadyEncrypted = false)
{
BuildDomainModel(this, data, EncryptableProperties, alreadyEncrypted);
}
public EncString NonDiscoverableId { get; set; }
public EncString KeyType { get; set; }
public EncString KeyAlgorithm { get; set; }
public EncString KeyCurve { get; set; }
public EncString KeyValue { get; set; }
public EncString RpId { get; set; }
public EncString RpName { get; set; }
public EncString UserHandle { get; set; }
public EncString UserName { get; set; }
public EncString Counter { get; set; }
public async Task<Fido2KeyView> DecryptAsync(string orgId)
{
return await DecryptObjAsync(new Fido2KeyView(), this, EncryptableProperties, orgId);
}
public Fido2KeyData ToFido2KeyData()
{
var data = new Fido2KeyData();
BuildDataModel(this, data, EncryptableProperties);
return data;
}
}
}

View File

@@ -15,6 +15,7 @@ namespace Bit.Core.Models.Domain
{
PasswordRevisionDate = obj.PasswordRevisionDate;
Uris = obj.Uris?.Select(u => new LoginUri(u, alreadyEncrypted)).ToList();
Fido2Key = obj.Fido2Key != null ? new Fido2Key(obj.Fido2Key, alreadyEncrypted) : null;
BuildDomainModel(this, obj, new HashSet<string>
{
"Username",
@@ -28,6 +29,7 @@ namespace Bit.Core.Models.Domain
public EncString Password { get; set; }
public DateTime? PasswordRevisionDate { get; set; }
public EncString Totp { get; set; }
public Fido2Key Fido2Key { get; set; }
public async Task<LoginView> DecryptAsync(string orgId)
{
@@ -45,6 +47,10 @@ namespace Bit.Core.Models.Domain
view.Uris.Add(await uri.DecryptAsync(orgId));
}
}
if (Fido2Key != null)
{
view.Fido2Key = await Fido2Key.DecryptAsync(orgId);
}
return view;
}
@@ -62,6 +68,10 @@ namespace Bit.Core.Models.Domain
{
l.Uris = Uris.Select(u => u.ToLoginUriData()).ToList();
}
if (Fido2Key != null)
{
l.Fido2Key = Fido2Key.ToFido2KeyData();
}
return l;
}
}

View File

@@ -30,7 +30,8 @@ namespace Bit.Core.Models.Request
Username = cipher.Login.Username?.EncryptedString,
Password = cipher.Login.Password?.EncryptedString,
PasswordRevisionDate = cipher.Login.PasswordRevisionDate,
Totp = cipher.Login.Totp?.EncryptedString
Totp = cipher.Login.Totp?.EncryptedString,
Fido2Key = cipher.Login.Fido2Key != null ? new Fido2KeyApi(cipher.Login.Fido2Key) : null
};
break;
case CipherType.Card:
@@ -73,6 +74,9 @@ namespace Bit.Core.Models.Request
Type = cipher.SecureNote.Type
};
break;
case CipherType.Fido2Key:
Fido2Key = new Fido2KeyApi(cipher.Fido2Key);
break;
default:
break;
}
@@ -118,6 +122,7 @@ namespace Bit.Core.Models.Request
public SecureNoteApi SecureNote { get; set; }
public CardApi Card { get; set; }
public IdentityApi Identity { get; set; }
public Fido2KeyApi Fido2Key { get; set; }
public List<FieldApi> Fields { get; set; }
public List<PasswordHistoryRequest> PasswordHistory { get; set; }
public Dictionary<string, string> Attachments { get; set; }

View File

@@ -18,6 +18,7 @@ namespace Bit.Core.Models.Response
public CardApi Card { get; set; }
public IdentityApi Identity { get; set; }
public SecureNoteApi SecureNote { get; set; }
public Fido2KeyApi Fido2Key { get; set; }
public bool Favorite { get; set; }
public bool Edit { get; set; }
public bool ViewPassword { get; set; } = true; // Fallback for old server versions
@@ -28,5 +29,6 @@ namespace Bit.Core.Models.Response
public List<string> CollectionIds { get; set; }
public DateTime? DeletedDate { get; set; }
public CipherRepromptType Reprompt { get; set; }
public DateTime CreationDate { get; set; }
}
}

View File

@@ -6,7 +6,7 @@ using Bit.Core.Models.Domain;
namespace Bit.Core.Models.View
{
public class CipherView : View
public class CipherView : View, ILaunchableView
{
public CipherView() { }
@@ -23,6 +23,7 @@ namespace Bit.Core.Models.View
LocalData = c.LocalData;
CollectionIds = c.CollectionIds;
RevisionDate = c.RevisionDate;
CreationDate = c.CreationDate;
DeletedDate = c.DeletedDate;
Reprompt = c.Reprompt;
}
@@ -42,11 +43,13 @@ namespace Bit.Core.Models.View
public IdentityView Identity { get; set; }
public CardView Card { get; set; }
public SecureNoteView SecureNote { get; set; }
public Fido2KeyView Fido2Key { get; set; }
public List<AttachmentView> Attachments { get; set; }
public List<FieldView> Fields { get; set; }
public List<PasswordHistoryView> PasswordHistory { get; set; }
public HashSet<string> CollectionIds { get; set; }
public DateTime RevisionDate { get; set; }
public DateTime CreationDate { get; set; }
public DateTime? DeletedDate { get; set; }
public CipherRepromptType Reprompt { get; set; }
@@ -64,6 +67,8 @@ namespace Bit.Core.Models.View
return Card;
case CipherType.Identity:
return Identity;
case CipherType.Fido2Key:
return Fido2Key;
default:
break;
}
@@ -110,5 +115,12 @@ namespace Bit.Core.Models.View
return LinkedFieldOptions.Find(lfo => lfo.Value == id).Key;
}
public string ComparableName => Name + Login?.Username + Fido2Key?.UserName;
public bool CanLaunch => Login?.CanLaunch == true || Fido2Key?.CanLaunch == true;
public string LaunchUri => Login?.LaunchUri ?? Fido2Key?.LaunchUri;
public bool IsClonable => OrganizationId is null && Type != CipherType.Fido2Key;
}
}

View File

@@ -0,0 +1,26 @@
using System.Collections.Generic;
using Bit.Core.Enums;
namespace Bit.Core.Models.View
{
public class Fido2KeyView : ItemView, ILaunchableView
{
public string NonDiscoverableId { get; set; }
public string KeyType { get; set; } = Constants.DefaultFido2KeyType;
public string KeyAlgorithm { get; set; } = Constants.DefaultFido2KeyAlgorithm;
public string KeyCurve { get; set; } = Constants.DefaultFido2KeyCurve;
public string KeyValue { get; set; }
public string RpId { get; set; }
public string RpName { get; set; }
public string UserHandle { get; set; }
public string UserName { get; set; }
public string Counter { get; set; }
public override string SubTitle => UserName;
public override List<KeyValuePair<string, LinkedIdType>> LinkedFieldOptions => new List<KeyValuePair<string, LinkedIdType>>();
public bool CanLaunch => !string.IsNullOrEmpty(RpId);
public string LaunchUri => $"https://{RpId}";
public bool IsUniqueAgainst(Fido2KeyView fido2View) => fido2View?.RpId != RpId || fido2View?.UserName != UserName;
}
}

View File

@@ -0,0 +1,8 @@
namespace Bit.Core.Models.View
{
public interface ILaunchableView
{
bool CanLaunch { get; }
string LaunchUri { get; }
}
}

View File

@@ -7,7 +7,7 @@ using Bit.Core.Utilities;
namespace Bit.Core.Models.View
{
public class LoginUriView : View
public class LoginUriView : View, ILaunchableView
{
private HashSet<string> _canLaunchWhitelist = new HashSet<string>
{

View File

@@ -20,6 +20,8 @@ namespace Bit.Core.Models.View
public DateTime? PasswordRevisionDate { get; set; }
public string Totp { get; set; }
public List<LoginUriView> Uris { get; set; }
public Fido2KeyView Fido2Key { get; set; }
public string Uri => HasUris ? Uris[0].Uri : null;
public string MaskedPassword => Password != null ? "••••••••" : null;
public override string SubTitle => Username;

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