Compare commits

...

107 Commits

Author SHA1 Message Date
Kyle Spearrin
cfe84963fa switch to access token, bump version 2020-07-06 13:54:44 -04:00
Kyle Spearrin
d908a599b1 bump version and build fixes 2020-07-06 13:28:19 -04:00
Kyle Spearrin
9b3ddb8da3 bump version via hub release command 2020-07-06 11:56:00 -04:00
Kyle Spearrin
56d994a69d bump version 2020-07-06 11:27:19 -04:00
Kyle Spearrin
67cd17c604 do actions on master push or release event 2020-07-06 11:26:51 -04:00
Kyle Spearrin
f4fb7eb8b7 New Crowdin updates (#1003)
* New translations AppResources.resx (Dutch)

* New translations AppResources.resx (Slovak)
2020-07-06 10:39:38 -04:00
Kyle Spearrin
b9021e4331 bump version 2020-07-06 10:36:23 -04:00
Kyle Spearrin
3583836d3e Upload release assets for ios too 2020-07-06 09:55:16 -04:00
Kyle Spearrin
278815119f update workflow for release tasks 2020-07-06 09:50:26 -04:00
Contribucious
1bb678e455 [KnownUsernameField] Compatibility with more browsers (#1000) 2020-07-01 10:31:12 -04:00
Kyle Spearrin
b9e5fc604b New Crowdin updates (#999)
* New translations AppResources.resx (Spanish)

* New translations AppResources.resx (Bulgarian)

* New translations AppResources.resx (Danish)

* New translations AppResources.resx (German)

* New translations AppResources.resx (Polish)

* New translations copy.resx (Polish)

* New translations copy.resx (Polish)
2020-06-29 11:30:02 -04:00
Kyle Spearrin
b65e8c48ce New Crowdin updates (#996)
* New translations AppResources.resx (Romanian)

* New translations AppResources.resx (Persian)

* New translations AppResources.resx (Ukrainian)

* New translations AppResources.resx (Chinese Traditional)

* New translations AppResources.resx (Vietnamese)

* New translations AppResources.resx (Indonesian)

* New translations AppResources.resx (Thai)

* New translations AppResources.resx (Hindi)

* New translations AppResources.resx (English, United Kingdom)

* New translations AppResources.resx (Sinhala)

* New translations copy.resx (Sinhala)

* New translations copy.resx (Sinhala)

* New translations AppResources.resx (Slovak)

* New translations AppResources.resx (Portuguese)

* New translations copy.resx (Romanian)

* New translations copy.resx (Romanian)

* New translations AppResources.resx (French)

* New translations AppResources.resx (Afrikaans)

* New translations AppResources.resx (Belarusian)

* New translations AppResources.resx (Bulgarian)

* New translations AppResources.resx (German)

* New translations AppResources.resx (Finnish)

* New translations AppResources.resx (Hebrew)

* New translations AppResources.resx (Korean)

* New translations AppResources.resx (Norwegian Bokmal)
2020-06-26 21:28:06 -04:00
Chad Scharf
e59bc1a08e version bump (#994)
* version bump

* version bump + fix manifest XML formatting
2020-06-25 17:30:14 -04:00
Kyle Spearrin
ff994629de Do not process hostname for regex logins (#987) 2020-06-18 11:58:19 -04:00
Matt Portune
a458b9bc88 Workaround for disabling predictive text in visible password fields (#983)
* Workaround for disabling predictive text in visible password fields

* Fix for non-master branch iOS builds (#984)

* Enable extra workflow steps to allow iOS builds to succeed from non-master branch

* re-enable provisioning profile setup
2020-06-16 11:09:26 -04:00
Matt Portune
2834e25151 Fix for non-master branch iOS builds (#984)
* Enable extra workflow steps to allow iOS builds to succeed from non-master branch

* re-enable provisioning profile setup
2020-06-16 09:55:08 -04:00
Oscar Hinton
c2582fe055 Resolve new ciphers defaulting to ViewPassword = false, causing passwords to be non editable. (#982) 2020-06-15 12:33:36 -04:00
Matt Portune
0980219c8d Add autofill/a11y support for ungoogled.chromium browser (#978) 2020-06-12 15:01:23 -04:00
Oscar Hinton
c5f158f1cf Resolve all passwords being hidden after upgrade (#977) 2020-06-12 09:50:36 -04:00
Kyle Spearrin
62afc023c8 print github ref 2020-06-11 16:26:10 -04:00
Oscar Hinton
52ca84946b Add support for hidden passwords (#920)
* Add support for hidden passwords

* Hide TOTP, hide hidden fields.

* Change _cipher to Cipher.
2020-06-11 16:16:43 -04:00
Kyle Spearrin
e64fb39c32 bump version 2020-06-10 13:49:58 -04:00
Kyle Spearrin
1066598150 fix ipa path 2020-06-10 13:30:08 -04:00
Kyle Spearrin
caed8c2cf0 explore paths 2020-06-10 13:13:03 -04:00
Kyle Spearrin
663be2402d list file system 2020-06-10 12:43:52 -04:00
Kyle Spearrin
6fd24c842f get proper ipa for app store 2020-06-10 12:24:52 -04:00
Kyle Spearrin
302631c4fa set CFBundlePackageType 2020-06-10 11:54:21 -04:00
Kyle Spearrin
8a94623b2b type ios 2020-06-10 11:48:02 -04:00
Kyle Spearrin
016dfdb455 dont archive for app store if not master 2020-06-10 11:33:43 -04:00
Kyle Spearrin
097415385e deploy to app store 2020-06-10 11:32:16 -04:00
Kyle Spearrin
8e6c6e04a3 cleanup export, ipa artifact 2020-06-10 10:53:57 -04:00
Kyle Spearrin
81a30e580e export ipa for app store 2020-06-10 10:02:15 -04:00
Kyle Spearrin
676efe7253 ls archive folder 2020-06-10 09:24:27 -04:00
Kyle Spearrin
39e0e77824 archive on build 2020-06-10 09:03:12 -04:00
Kyle Spearrin
363f5be8ff increment version for ios 2020-06-09 21:23:10 -04:00
Kyle Spearrin
df15fa2f0e move stuff to setup keychain script 2020-06-09 20:47:46 -04:00
Kyle Spearrin
e8c1fbb86f allow codesign to access certs and key 2020-06-09 20:36:44 -04:00
Kyle Spearrin
df986b9ecf timeout settings are for build.keychain 2020-06-09 20:32:23 -04:00
Kyle Spearrin
daabf4bab9 build again 2020-06-09 20:16:03 -04:00
Kyle Spearrin
3095948024 set keychain timeout 2020-06-09 20:14:40 -04:00
Kyle Spearrin
fad289305f add codesign to set-key-partition-list 2020-06-09 17:43:40 -04:00
Kyle Spearrin
97d8f07e0d Merge branch 'master' of github.com:bitwarden/mobile 2020-06-09 17:33:03 -04:00
Kyle Spearrin
dc374c7ce9 try unlocking keychain 2020-06-09 17:32:53 -04:00
Matt Portune
1584475bc3 added hi-res icon for google play (#966)
* added hi-res icon for google play

* moved to proper location
2020-06-09 17:24:19 -04:00
Kyle Spearrin
8f1db25c5c move cloc to its own job 2020-06-09 13:18:22 -04:00
Kyle Spearrin
092b536009 remove debug 2020-06-09 13:14:11 -04:00
Kyle Spearrin
f95bbaa0f7 resolve path of ~ 2020-06-09 13:09:00 -04:00
Kyle Spearrin
bc1f6464d3 change home path to ~ 2020-06-09 13:00:43 -04:00
Kyle Spearrin
b828cd5975 write out homePath 2020-06-09 12:56:53 -04:00
Kyle Spearrin
766b4f7971 create profiles dir path if it doesnt exist 2020-06-09 12:35:39 -04:00
Kyle Spearrin
45e2ffd71e properly escape space 2020-06-09 12:31:18 -04:00
Kyle Spearrin
98757c3f11 use proper params for copy-item 2020-06-09 12:27:40 -04:00
Kyle Spearrin
9aed6d350b setup provisioning profiles 2020-06-09 12:25:09 -04:00
Kyle Spearrin
ca6ce6db32 add mobile profiles 2020-06-09 12:15:06 -04:00
Kyle Spearrin
1c9a6a02af change all seps to / so that it works x-platform 2020-06-09 11:52:23 -04:00
Kyle Spearrin
ba9bafcb5f fix sep character 2020-06-09 11:48:11 -04:00
Kyle Spearrin
0628394122 update path sep character 2020-06-09 11:46:16 -04:00
Kyle Spearrin
99b2cd2ad0 fix pathing 2020-06-09 11:41:03 -04:00
Kyle Spearrin
707a6ecbaa setup ios keychain 2020-06-09 11:37:40 -04:00
Kyle Spearrin
aa2bc40f03 decrypt ios secrets 2020-06-09 11:19:02 -04:00
Kyle Spearrin
5e00e76c4b ios secrets 2020-06-09 11:16:13 -04:00
Kyle Spearrin
0dba992dd4 fix build for app store script path 2020-06-09 10:51:35 -04:00
Kyle Spearrin
b6f61cac9b build play store publisher 2020-06-09 10:47:20 -04:00
Kyle Spearrin
0e41945a8a build ios 2020-06-09 10:47:09 -04:00
Kyle Spearrin
a05e037308 deploy to play store 2020-06-09 10:21:46 -04:00
Kyle Spearrin
f40576c39d print lines of code from CLOC 2020-06-09 10:17:26 -04:00
Kyle Spearrin
9fc810182a print dotnet info 2020-06-09 09:58:28 -04:00
Kyle Spearrin
dd7a52ba08 print version code 2020-06-08 16:10:17 -04:00
Kyle Spearrin
fa6d2a3080 break steps out a bit more 2020-06-08 16:04:04 -04:00
Laurent Tréguier
36efc0c877 Tweak icons to better blend with Android and iOS (#962)
* Add shadow to Android icon

* Add gradient to iOS icon
2020-06-08 15:02:20 -04:00
Kyle Spearrin
e9efcf1b92 rework build scripts 2020-06-08 13:19:44 -04:00
Kyle Spearrin
f4ad1ec8e7 fix secretOutputPath 2020-06-08 13:02:38 -04:00
Kyle Spearrin
0027c21630 more pathing fixes 2020-06-08 13:00:52 -04:00
Kyle Spearrin
6173cab99f fix decryptSecretPath 2020-06-08 12:56:58 -04:00
Kyle Spearrin
80c8097a71 fix paths to ps scripts 2020-06-08 12:55:02 -04:00
Kyle Spearrin
ba3d577125 try shell: pwsh 2020-06-08 12:29:57 -04:00
Kyle Spearrin
8ce4ebb16e powershell Invoke-Expression 2020-06-08 12:25:39 -04:00
Kyle Spearrin
4358ff2338 run powershell commands 2020-06-08 12:21:43 -04:00
Kyle Spearrin
53f9eb083d branches ignore and only on master 2020-06-08 12:17:53 -04:00
Kyle Spearrin
0a3a982cb9 github action android build steps 2020-06-08 12:14:22 -04:00
Kyle Spearrin
c30239b3a8 encrypted GPG files for github actions 2020-06-08 12:14:22 -04:00
Matt Portune
183834689d Fix for accessibility overlay on Android 5 & 6 (#965)
* Fix for accessibility overlay on Android 5 & 6

* changed to skip check outright until API 26
2020-06-08 08:25:24 -04:00
Matt Portune
5da2f3279b biometrics cleanup (#964) 2020-06-08 08:25:13 -04:00
Kyle Spearrin
ec7d87e757 bump version 2020-06-07 11:56:16 -04:00
Kyle Spearrin
4155f69e3c formatting fixes 2020-06-07 11:54:14 -04:00
Matt Portune
473e93ea16 Fix for deadlock in iOS autofill & share extensions (#960) 2020-06-07 00:15:51 -04:00
Kyle Spearrin
fd1941cc3e target iPhone 2020-06-05 15:31:30 -04:00
Kyle Spearrin
dbb51b58db update platforms for ios core builds 2020-06-05 15:30:24 -04:00
Kyle Spearrin
e7d00cfe54 set iphone and sim platforms for ios core 2020-06-05 15:23:15 -04:00
Kyle Spearrin
63453fa962 fix syntax 2020-06-05 14:40:44 -04:00
Kyle Spearrin
689eb7f87b CI updates 2020-06-05 14:39:29 -04:00
Kyle Spearrin
67a4646a50 try out github actions 2020-06-05 13:51:57 -04:00
Kyle Spearrin
a4e0535464 null check all the things (#957) 2020-06-05 13:30:53 -04:00
Kyle Spearrin
61495cd428 bumping ios version to match what was released 2020-06-04 09:48:10 -04:00
Carl
9e7b7415a5 Add support for Bromite's vanilla build of Chromium (#951) 2020-06-02 23:18:30 -04:00
Kyle Spearrin
06a462d48c skip litedb from ios linker 2020-06-02 14:06:53 -04:00
Kyle Spearrin
d3e6e415b9 bump version 2020-06-02 13:08:04 -04:00
Kyle Spearrin
7e633d31a0 sign fdroid builds with a different keystore (#949) 2020-06-02 10:36:16 -04:00
Kyle Spearrin
0fcf006484 Send vaultTimeoutActionChanged event after save (#948) 2020-06-02 09:50:08 -04:00
Kyle Spearrin
48e5b1686f bump version 2020-06-02 09:21:58 -04:00
Kyle Spearrin
608d879c80 New Crowdin translations (#947)
* New translations AppResources.resx (French)

* New translations AppResources.resx (Catalan)

* New translations AppResources.resx (Danish)

* New translations AppResources.resx (German)

* New translations AppResources.resx (Greek)

* New translations AppResources.resx (Hungarian)

* New translations AppResources.resx (Dutch)

* New translations AppResources.resx (Portuguese)

* New translations AppResources.resx (Swedish)

* New translations AppResources.resx (Turkish)

* New translations AppResources.resx (Chinese Simplified)

* New translations AppResources.resx (Portuguese, Brazilian)

* New translations AppResources.resx (Estonian)

* New translations AppResources.resx (Hindi)
2020-06-02 09:20:55 -04:00
Kyle Spearrin
66055f1d7c Singleton LiteDatabase (#946)
* update litedb. initialize db as a static singleton instance.

* dont need to dispose anymore
2020-06-02 09:13:57 -04:00
Kyle Spearrin
1120bff34d Don't build the keyboard index for autofill if using logout action (#943)
* Don't build the keyboard index for autofill if using logout action

* trigger index rebuild on vault timeout changed event
2020-06-01 14:46:53 -04:00
Kyle Spearrin
24547e67bf check for empty string on malformed URL (#944)
* treat empty string host as null

* use `string.IsNullOrEmpty`
2020-06-01 14:46:37 -04:00
Kyle Spearrin
f8c7285f56 update ios language metadata. 2020-06-01 09:45:15 -04:00
Kyle Spearrin
82eb6a4568 New Crowdin translations (#942)
* New translations AppResources.resx (Ukrainian)

* New translations AppResources.resx (Persian)

* New translations AppResources.resx (French)

* New translations AppResources.resx (Italian)

* New translations AppResources.resx (Dutch)

* New translations AppResources.resx (Russian)

* New translations AppResources.resx (Ukrainian)

* New translations AppResources.resx (Portuguese, Brazilian)

* New translations AppResources.resx (Japanese)

* New translations AppResources.resx (Dutch)

* New translations AppResources.resx (Polish)

* New translations AppResources.resx (Italian)

* New translations AppResources.resx (Dutch)
2020-06-01 09:32:26 -04:00
Kyle Spearrin
a3f1f7c78d New Crowdin translations (#941)
* New translations AppResources.resx (Romanian)

* New translations AppResources.resx (Portuguese, Brazilian)

* New translations AppResources.resx (Swedish)

* New translations AppResources.resx (Turkish)

* New translations AppResources.resx (Ukrainian)

* New translations AppResources.resx (Chinese Simplified)

* New translations AppResources.resx (Chinese Traditional)

* New translations AppResources.resx (Vietnamese)

* New translations AppResources.resx (Indonesian)

* New translations AppResources.resx (Russian)

* New translations AppResources.resx (Persian)

* New translations AppResources.resx (Thai)

* New translations AppResources.resx (Croatian)

* New translations AppResources.resx (Estonian)

* New translations AppResources.resx (Hindi)

* New translations copy.resx (Hindi)

* New translations AppResources.resx (English, United Kingdom)

* New translations AppResources.resx (Slovak)

* New translations AppResources.resx (Portuguese)

* New translations AppResources.resx (French)

* New translations AppResources.resx (German)

* New translations AppResources.resx (Spanish)

* New translations AppResources.resx (Afrikaans)

* New translations AppResources.resx (Belarusian)

* New translations AppResources.resx (Bulgarian)

* New translations AppResources.resx (Catalan)

* New translations AppResources.resx (Czech)

* New translations AppResources.resx (Danish)

* New translations AppResources.resx (Greek)

* New translations AppResources.resx (Polish)

* New translations AppResources.resx (Finnish)

* New translations AppResources.resx (Hebrew)

* New translations AppResources.resx (Hungarian)

* New translations AppResources.resx (Italian)

* New translations AppResources.resx (Japanese)

* New translations AppResources.resx (Korean)

* New translations AppResources.resx (Dutch)

* New translations AppResources.resx (Norwegian Bokmal)
2020-06-01 08:53:20 -04:00
154 changed files with 4224 additions and 1396 deletions

View File

@@ -0,0 +1,17 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>method</key>
<string>ad-hoc</string>
<key>provisioningProfiles</key>
<dict>
<key>com.8bit.bitwarden</key>
<string>Ad hoc: Bitwarden 2020</string>
<key>com.8bit.bitwarden.autofill</key>
<string>Ad hoc: Autofill 2020</string>
<key>com.8bit.bitwarden.find-login-action-extension</key>
<string>Ad hoc: Extension 2020</string>
</dict>
</dict>
</plist>

View File

@@ -0,0 +1,17 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>method</key>
<string>app-store</string>
<key>provisioningProfiles</key>
<dict>
<key>com.8bit.bitwarden</key>
<string>Dist: Bitwarden 2020</string>
<key>com.8bit.bitwarden.autofill</key>
<string>Dist: Autofill 2020</string>
<key>com.8bit.bitwarden.find-login-action-extension</key>
<string>Dist: Extension 2020</string>
</dict>
</dict>
</plist>

13
.github/scripts/android/build.ps1 vendored Normal file
View File

@@ -0,0 +1,13 @@
param (
[Parameter(Mandatory=$true)]
[string] $configuration
)
$rootPath = $env:GITHUB_WORKSPACE;
$androidPath = $($rootPath + "/src/Android/Android.csproj");
Write-Output "########################################"
Write-Output "##### Build $configuration Configuration"
Write-Output "########################################"
msbuild "$($androidPath)" "/p:Configuration=$configuration"

View File

@@ -0,0 +1,75 @@
$rootPath = $env:GITHUB_WORKSPACE;
$androidPath = $($rootPath + "/src/Android/Android.csproj");
$appPath = $($rootPath + "/src/App/App.csproj");
$androidManifest = $($rootPath + "/src/Android/Properties/AndroidManifest.xml");
Write-Output "########################################"
Write-Output "##### Clean Android and App"
Write-Output "########################################"
msbuild "$($androidPath)" "/t:Clean" "/p:Configuration=FDroid"
msbuild "$($appPath)" "/t:Clean" "/p:Configuration=FDroid"
Write-Output "########################################"
Write-Output "##### Backup project files"
Write-Output "########################################"
Copy-Item $androidManifest $($androidManifest + ".original");
Copy-Item $androidPath $($androidPath + ".original");
Copy-Item $appPath $($appPath + ".original");
Write-Output "########################################"
Write-Output "##### Cleanup Android Manifest"
Write-Output "########################################"
$xml=New-Object XML;
$xml.Load($androidManifest);
$nsAndroid=New-Object System.Xml.XmlNamespaceManager($xml.NameTable);
$nsAndroid.AddNamespace("android", "http://schemas.android.com/apk/res/android");
$firebaseReceiver1=$xml.SelectSingleNode(`
"/manifest/application/receiver[@android:name='com.google.firebase.iid.FirebaseInstanceIdInternalReceiver']", `
$nsAndroid);
$firebaseReceiver1.ParentNode.RemoveChild($firebaseReceiver1);
$firebaseReceiver2=$xml.SelectSingleNode(`
"/manifest/application/receiver[@android:name='com.google.firebase.iid.FirebaseInstanceIdReceiver']", `
$nsAndroid);
$firebaseReceiver2.ParentNode.RemoveChild($firebaseReceiver2);
$xml.Save($androidManifest);
Write-Output "########################################"
Write-Output "##### Uninstall from Android.csproj"
Write-Output "########################################"
$xml=New-Object XML;
$xml.Load($androidPath);
$ns=New-Object System.Xml.XmlNamespaceManager($xml.NameTable);
$ns.AddNamespace("ns", $xml.DocumentElement.NamespaceURI);
$firebaseNode=$xml.SelectSingleNode(`
"/ns:Project/ns:ItemGroup/ns:PackageReference[@Include='Xamarin.Firebase.Messaging']", $ns);
$firebaseNode.ParentNode.RemoveChild($firebaseNode);
$safetyNetNode=$xml.SelectSingleNode(`
"/ns:Project/ns:ItemGroup/ns:PackageReference[@Include='Xamarin.GooglePlayServices.SafetyNet']", $ns);
$safetyNetNode.ParentNode.RemoveChild($safetyNetNode);
$xml.Save($androidPath);
Write-Output "########################################"
Write-Output "##### Uninstall from App.csproj"
Write-Output "########################################"
$xml=New-Object XML;
$xml.Load($appPath);
$appCenterNode=$xml.SelectSingleNode("/Project/ItemGroup/PackageReference[@Include='Microsoft.AppCenter.Crashes']");
$appCenterNode.ParentNode.RemoveChild($appCenterNode);
$xml.Save($appPath);

View File

@@ -0,0 +1,24 @@
#!/usr/bin/env bash
cd $GITHUB_WORKSPACE
mkdir dist
cp CNAME ./dist
cd store
chmod 600 fdroid/config.py fdroid/keystore.jks
mkdir -p temp/fdroid
TEMP_DIR="$GITHUB_WORKSPACE/store/temp/fdroid"
cd fdroid
echo "keypass=\"$FDROID_STORE_KEYSTORE_PASSWORD\"" >>config.py
echo "keystorepass=\"$FDROID_STORE_KEYSTORE_PASSWORD\"" >>config.py
echo "local_copy_dir=\"$TEMP_DIR\"" >>config.py
mkdir -p repo
curl -Lo repo/com.x8bit.bitwarden-fdroid.apk \
https://github.com/bitwarden/mobile/releases/download/$RELEASE_TAG_NAME/com.x8bit.bitwarden-fdroid.apk
fdroid update
fdroid server update
cd ..
rm -rf temp/fdroid/archive
mv -v temp/fdroid ../dist
cd fdroid
cp index.html btn.png qr.png ../../dist/fdroid
cd $GITHUB_WORKSPACE

View File

@@ -0,0 +1,22 @@
$rootPath = $env:GITHUB_WORKSPACE;
$decryptSecretPath = $($rootPath + "/.github/scripts/decrypt-secret.ps1");
$appKeystorePlayFilename = "app_play-keystore.jks";
$appKeystorePlayPath = $($rootPath + "/src/Android/$appKeystorePlayFilename");
$appKeystoreUploadFilename = "app_upload-keystore.jks";
$appKeystoreUploadPath = $($rootPath + "/src/Android/$appKeystoreUploadFilename");
$appKeystoreFdroidFilename = "app_fdroid-keystore.jks";
$appKeystoreFdroidPath = $($rootPath + "/src/Android/$appKeystoreFdroidFilename");
$googleServicesFilename = "google-services.json";
$googleServicesPath = $($rootPath + "/src/Android/$googleServicesFilename");
Invoke-Expression `
"& `"$decryptSecretPath`" -filename $($appKeystorePlayFilename + ".gpg") -output $($appKeystorePlayPath)"
Invoke-Expression `
"& `"$decryptSecretPath`" -filename $($appKeystoreUploadFilename + ".gpg") -output $($appKeystoreUploadPath)"
Invoke-Expression `
"& `"$decryptSecretPath`" -filename $($appKeystoreFdroidFilename + ".gpg") -output $($appKeystoreFdroidPath)"
Invoke-Expression `
"& `"$decryptSecretPath`" -filename $($googleServicesFilename + ".gpg") -output $($googleServicesPath)"
Invoke-Expression "& `"$decryptSecretPath`" -filename play_creds.json.gpg"

View File

@@ -0,0 +1,9 @@
$rootPath = $env:GITHUB_WORKSPACE;
$homePath = Resolve-Path "~" | Select-Object -ExpandProperty Path;
$publisherPath = $($rootPath + "/store/google/Publisher/bin/Release/netcoreapp2.0/Publisher.dll");
$credsPath = $($homePath + "/secrets/play_creds.json");
$aabPath = $($rootPath + "/com.x8bit.bitwarden.aab");
$track = "alpha";
dotnet $publisherPath $credsPath $aabPath $track

View File

@@ -0,0 +1,16 @@
$rootPath = $env:GITHUB_WORKSPACE;
$buildNumber = 3000 + [int]$env:GITHUB_RUN_NUMBER;
Write-Output "########################################"
Write-Output "##### Setting Version Code $buildNumber"
Write-Output "########################################"
$androidManifest = $($rootPath + "/src/Android/Properties/AndroidManifest.xml");
$xml=New-Object XML;
$xml.Load($androidManifest);
$node=$xml.SelectNodes("/manifest");
$node.SetAttribute("android:versionCode", [string]$buildNumber);
$xml.Save($androidManifest);

23
.github/scripts/android/sign-fdroid.ps1 vendored Normal file
View File

@@ -0,0 +1,23 @@
$rootPath = $env:GITHUB_WORKSPACE;
$androidPath = $($rootPath + "/src/Android/Android.csproj");
$appKeystoreFdroidFilename = "app_fdroid-keystore.jks";
Write-Output "########################################"
Write-Output "##### Sign FDroid Configuration"
Write-Output "########################################"
msbuild "$($androidPath)" "/t:SignAndroidPackage" "/p:Configuration=FDroid" "/p:AndroidKeyStore=true" `
"/p:AndroidSigningKeyAlias=bitwarden" "/p:AndroidSigningKeyPass=$($env:FDROID_KEYSTORE_PASSWORD)" `
"/p:AndroidSigningKeyStore=$($appKeystoreFdroidFilename)" `
"/p:AndroidSigningStorePass=$($env:FDROID_KEYSTORE_PASSWORD)" "/v:quiet"
Write-Output "########################################"
Write-Output "##### Copy FDroid apk to project root"
Write-Output "########################################"
$signedApkPath = $($rootPath + "/src/Android/bin/FDroid/com.x8bit.bitwarden-Signed.apk");
$signedApkDestPath = $($rootPath + "/com.x8bit.bitwarden-fdroid.apk");
Copy-Item $signedApkPath $signedApkDestPath

42
.github/scripts/android/sign-play.ps1 vendored Normal file
View File

@@ -0,0 +1,42 @@
$rootPath = $env:GITHUB_WORKSPACE;
$androidPath = $($rootPath + "/src/Android/Android.csproj");
$appKeystorePlayFilename = "app_play-keystore.jks";
$appKeystoreUploadFilename = "app_upload-keystore.jks";
Write-Output "########################################"
Write-Output "##### Sign Google Play Bundle Release Configuration"
Write-Output "########################################"
msbuild "$($androidPath)" "/t:SignAndroidPackage" "/p:Configuration=Release" "/p:AndroidKeyStore=true" `
"/p:AndroidSigningKeyAlias=upload" "/p:AndroidSigningKeyPass=$($env:UPLOAD_KEYSTORE_PASSWORD)" `
"/p:AndroidSigningKeyStore=$($appKeystoreUploadFilename)" `
"/p:AndroidSigningStorePass=$($env:UPLOAD_KEYSTORE_PASSWORD)" "/p:AndroidPackageFormat=aab" "/v:quiet"
Write-Output "########################################"
Write-Output "##### Copy Google Play Bundle to project root"
Write-Output "########################################"
$signedAabPath = $($rootPath + "/src/Android/bin/Release/com.x8bit.bitwarden-Signed.aab");
$signedAabDestPath = $($rootPath + "/com.x8bit.bitwarden.aab");
Copy-Item $signedAabPath $signedAabDestPath
Write-Output "########################################"
Write-Output "##### Sign APK Release Configuration"
Write-Output "########################################"
msbuild "$($androidPath)" "/t:SignAndroidPackage" "/p:Configuration=Release" "/p:AndroidKeyStore=true" `
"/p:AndroidSigningKeyAlias=bitwarden" "/p:AndroidSigningKeyPass=$($env:PLAY_KEYSTORE_PASSWORD)" `
"/p:AndroidSigningKeyStore=$($appKeystorePlayFilename)" `
"/p:AndroidSigningStorePass=$($env:PLAY_KEYSTORE_PASSWORD)" "/v:quiet"
Write-Output "########################################"
Write-Output "##### Copy Release APK to project root"
Write-Output "########################################"
$signedApkPath = $($rootPath + "/src/Android/bin/Release/com.x8bit.bitwarden-Signed.apk");
$signedApkDestPath = $($rootPath + "/com.x8bit.bitwarden.apk");
Copy-Item $signedApkPath $signedApkDestPath

29
.github/scripts/decrypt-secret.ps1 vendored Normal file
View File

@@ -0,0 +1,29 @@
param (
[Parameter(Mandatory=$true)]
[string] $filename,
[string] $output
)
$homePath = Resolve-Path "~" | Select-Object -ExpandProperty Path
$rootPath = $env:GITHUB_WORKSPACE
$secretInputPath = $rootPath + "/.github/secrets"
$input = $secretInputPath + "/" + $filename
$passphrase = $env:DECRYPT_FILE_PASSWORD
$secretOutputPath = $homePath + "/secrets"
if ([string]::IsNullOrEmpty($output)) {
if ($filename.EndsWith(".gpg")) {
$output = $secretOutputPath + "/" + $filename.TrimEnd(".gpg")
} else {
$output = $secretOutputPath + "/" + $filename + ".plaintext"
}
}
if (!(Test-Path -Path $secretOutputPath))
{
New-Item -ItemType Directory -Path $secretOutputPath
}
gpg --quiet --batch --yes --decrypt --passphrase="$passphrase" --output $output $input

29
.github/scripts/ios/build.ps1 vendored Normal file
View File

@@ -0,0 +1,29 @@
param (
[Parameter(Mandatory=$true)]
[string] $configuration,
[string] $platform = "iPhone",
[switch] $archive
)
$rootPath = $env:GITHUB_WORKSPACE;
$iosPath = $($rootPath + "/src/iOS/iOS.csproj");
if ($archive)
{
Write-Output "########################################"
Write-Output "##### Archive $configuration Configuration for $platform Platform"
Write-Output "########################################"
msbuild "$($iosPath)" "/p:Platform=$platform" "/p:Configuration=$configuration" `
"/p:ArchiveOnBuild=true" "/t:`"Build`""
Write-Output "########################################"
Write-Output "##### Done"
Write-Output "########################################"
ls ~/Library/Developer/Xcode/Archives
} else
{
Write-Output "########################################"
Write-Output "##### Build $configuration Configuration for $platform Platform"
Write-Output "########################################"
msbuild "$($iosPath)" "/p:Platform=$platform" "/p:Configuration=$configuration" "/t:`"Build`""
}

View File

@@ -0,0 +1,9 @@
$rootPath = $env:GITHUB_WORKSPACE;
$decryptSecretPath = $($rootPath + "/.github/scripts/decrypt-secret.ps1");
Invoke-Expression "& `"$decryptSecretPath`" -filename bitwarden-mobile-key.p12.gpg"
Invoke-Expression "& `"$decryptSecretPath`" -filename iphone-distribution-cert.p12.gpg"
Invoke-Expression "& `"$decryptSecretPath`" -filename dist_autofill.mobileprovision.gpg"
Invoke-Expression "& `"$decryptSecretPath`" -filename dist_bitwarden.mobileprovision.gpg"
Invoke-Expression "& `"$decryptSecretPath`" -filename dist_extension.mobileprovision.gpg"

View File

@@ -0,0 +1,5 @@
$rootPath = $env:GITHUB_WORKSPACE;
$ipaPath = "$rootPath/bitwarden-export/Bitwarden.ipa"
xcrun altool --upload-app --type ios --file "$ipaPath" `
--username "$env:APPLE_ID_USERNAME" --password "$env:APPLE_ID_PASSWORD"

13
.github/scripts/ios/export-ipa.ps1 vendored Normal file
View File

@@ -0,0 +1,13 @@
param (
[Parameter(Mandatory=$true)]
[string] $method
)
$rootPath = $env:GITHUB_WORKSPACE;
$homePath = Resolve-Path "~" | Select-Object -ExpandProperty Path
$exportOptionsPath = "$rootPath/.github/resources/export-options-$method.plist";
$archivePath = "$homePath/Library/Developer/Xcode/Archives/*/*.xcarchive";
$exportPath = "$rootPath/bitwarden-export";
xcodebuild -exportArchive -archivePath $archivePath -exportPath $exportPath -exportOptionsPlist $exportOptionsPath

View File

@@ -0,0 +1,26 @@
$rootPath = $env:GITHUB_WORKSPACE;
$buildNumber = 100 + [int]$env:GITHUB_RUN_NUMBER;
$bitwardenInfo = $($rootPath + "/src/iOS/Info.plist");
$extensionInfo = $($rootPath + "/src/iOS.Extension/Info.plist");
$autofillInfo = $($rootPath + "/src/iOS.Autofill/Info.plist");
Write-Output "########################################"
Write-Output "##### Setting CFBundleVersion $buildNumber"
Write-Output "########################################"
function Update-Version($file) {
$xml=New-Object XML;
$xml.Load($file);
Select-Xml -xml $xml -XPath "//dict/key[. = 'CFBundleVersion']/following-sibling::string[1]" |
%{
$_.Node.InnerXml = $buildNumber
}
$xml.Save($file);
}
Update-Version $bitwardenInfo
Update-Version $extensionInfo
Update-Version $autofillInfo

13
.github/scripts/ios/setup-keychain.ps1 vendored Normal file
View File

@@ -0,0 +1,13 @@
$homePath = Resolve-Path "~" | Select-Object -ExpandProperty Path;
$secretsPath = $homePath + "/secrets"
$mobileKeyPath = $($secretsPath + "/bitwarden-mobile-key.p12");
$distCertPath = $($secretsPath + "/iphone-distribution-cert.p12");
security create-keychain -p $env:KEYCHAIN_PASSWORD build.keychain
security default-keychain -s build.keychain
security unlock-keychain -p $env:KEYCHAIN_PASSWORD build.keychain
security set-keychain-settings -lut 1200 build.keychain
security import $mobileKeyPath -k build.keychain -P $env:MOBILE_KEY_PASSWORD -T /usr/bin/codesign -T /usr/bin/security
security import $distCertPath -k build.keychain -P $env:DIST_CERT_PASSWORD -T /usr/bin/codesign -T /usr/bin/security
security set-key-partition-list -S apple-tool:,apple:,codesign: -s -k $env:KEYCHAIN_PASSWORD build.keychain

21
.github/scripts/ios/setup-profiles.ps1 vendored Normal file
View File

@@ -0,0 +1,21 @@
$homePath = Resolve-Path "~" | Select-Object -ExpandProperty Path;
$secretsPath = $homePath + "/secrets"
$autofillProfilePath = $($secretsPath + "/dist_autofill.mobileprovision");
$bitwardenProfilePath = $($secretsPath + "/dist_bitwarden.mobileprovision");
$extensionProfilePath = $($secretsPath + "/dist_extension.mobileprovision");
$profilesDirPath = "~/Library/MobileDevice/Provisioning Profiles"
if (!(Test-Path -Path $profilesDirPath))
{
New-Item -ItemType Directory -Path $profilesDirPath
}
$autofill_uuid = grep UUID -A1 -a $autofillProfilePath | grep -io "[-A-F0-9]\{36\}"
Copy-Item $autofillProfilePath -destination "$profilesDirPath/$autofill_uuid.mobileprovision"
$bitwarden_uuid = grep UUID -A1 -a $bitwardenProfilePath | grep -io "[-A-F0-9]\{36\}"
Copy-Item $bitwardenProfilePath -destination "$profilesDirPath/$bitwarden_uuid.mobileprovision"
$extension_uuid = grep UUID -A1 -a $extensionProfilePath | grep -io "[-A-F0-9]\{36\}"
Copy-Item $extensionProfilePath -destination "$profilesDirPath/$extension_uuid.mobileprovision"

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -0,0 +1,3 @@
Œ
 KØY#æ(˜õÒéEIÖ<49>ß„T?)lÿ´¬—üƒ"=Ä|¯'e•Àm…/~åè' F±É>Üæ÷lŒb¶[ý+RöÌiLŸ"”ñê~V:£³pÜañÚµel%8t„âíŠÔy<¶nÓâÌaU‡wêJD¡ª•ìWe¦9ýÑôž<x8d»O®j\דëûóVq¤¹Ö
Ǻ½-Î#ªîƒó]$l,×Br†«¬d¾·®Â•a-±¥…: Ù:œ„9b,!EmµŽÐQf®DçgˆÑ©x(PìÈ¡~ÊÍ¹êµ –š[§‡!:×;fÜý

Binary file not shown.

BIN
.github/secrets/play_creds.json.gpg vendored Normal file

Binary file not shown.

Binary file not shown.

299
.github/workflows/build.yml vendored Normal file
View File

@@ -0,0 +1,299 @@
name: Build
on:
push:
branches-ignore:
- 'l10n_master'
- 'gh-pages'
release:
types:
- published
jobs:
cloc:
runs-on: ubuntu-latest
steps:
- name: Checkout repo
uses: actions/checkout@v2
- name: Set up cloc
run: |
sudo apt-get update
sudo apt-get -y install cloc
- name: Print lines of code
run: cloc --vcs git --exclude-dir Resources,store,test,Properties --include-lang C#,XAML
android:
runs-on: windows-latest
steps:
- name: Set up NuGet
uses: nuget/setup-nuget@v1
with:
nuget-version: 'latest'
- name: Set up MSBuild
uses: microsoft/setup-msbuild@v1.0.0
- name: Print environment
run: |
nuget help
msbuild -version
dotnet --info
Write-Output "GitHub ref: $env:GITHUB_REF"
Write-Output "GitHub event: $env:GITHUB_EVENT"
shell: pwsh
env:
GITHUB_REF: ${{ github.ref }}
GITHUB_EVENT: ${{ github.event_name }}
- name: Checkout repo
uses: actions/checkout@v2
- name: Decrypt secrets
if: github.ref == 'refs/heads/master' || github.event_name == 'release'
run: ./.github/scripts/android/decrypt-secrets.ps1
shell: pwsh
env:
DECRYPT_FILE_PASSWORD: ${{ secrets.DECRYPT_FILE_PASSWORD }}
- name: Increment version
if: github.ref == 'refs/heads/master' || github.event_name == 'release'
run: ./.github/scripts/android/increment-version.ps1
shell: pwsh
- name: Restore packages
run: nuget restore
- name: Build Play Store publisher
run: dotnet build ./store/google/Publisher/Publisher.csproj -p:Configuration=Release
- name: Build for Play Store
run: ./.github/scripts/android/build.ps1 -configuration Release
shell: pwsh
- name: Sign for Play Store
if: github.ref == 'refs/heads/master' || github.event_name == 'release'
run: ./.github/scripts/android/sign-play.ps1
shell: pwsh
env:
PLAY_KEYSTORE_PASSWORD: ${{ secrets.PLAY_KEYSTORE_PASSWORD }}
UPLOAD_KEYSTORE_PASSWORD: ${{ secrets.UPLOAD_KEYSTORE_PASSWORD }}
- name: Upload Play Store .aab artifact
if: github.ref == 'refs/heads/master' || github.event_name == 'release'
uses: actions/upload-artifact@v2
with:
name: com.x8bit.bitwarden.aab
path: ./com.x8bit.bitwarden.aab
- name: Upload Play Store .apk artifact
if: github.ref == 'refs/heads/master' || github.event_name == 'release'
uses: actions/upload-artifact@v2
with:
name: com.x8bit.bitwarden.apk
path: ./com.x8bit.bitwarden.apk
- name: Clean for F-Droid
run: ./.github/scripts/android/clean-fdroid.ps1
shell: pwsh
- name: Restore packages
run: nuget restore
- name: Build for F-Droid
run: ./.github/scripts/android/build.ps1 -configuration FDroid
shell: pwsh
- name: Sign for F-Droid
if: github.ref == 'refs/heads/master' || github.event_name == 'release'
run: ./.github/scripts/android/sign-fdroid.ps1
shell: pwsh
env:
FDROID_KEYSTORE_PASSWORD: ${{ secrets.FDROID_KEYSTORE_PASSWORD }}
- name: Upload F-Droid .apk artifact
if: github.ref == 'refs/heads/master' || github.event_name == 'release'
uses: actions/upload-artifact@v2
with:
name: com.x8bit.bitwarden-fdroid.apk
path: ./com.x8bit.bitwarden-fdroid.apk
- name: Deploy to Play Store
if: github.ref == 'refs/heads/master' || github.event_name == 'release'
run: ./.github/scripts/android/deploy-play.ps1
shell: pwsh
- name: Upload release assets
if: github.event_name == 'release'
run: |
hub release edit `
-a ./com.x8bit.bitwarden.aab `
-a ./com.x8bit.bitwarden.apk `
-a ./com.x8bit.bitwarden-fdroid.apk `
-m "Version $($env:RELEASE_TAG_NAME.TrimStart('v'))" `
$env:RELEASE_TAG_NAME
shell: pwsh
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
RELEASE_TAG_NAME: ${{ github.event.release.tag_name }}
android-ubuntu:
runs-on: ubuntu-latest
needs: android
steps:
- name: Set up Node
if: github.event_name == 'release'
uses: actions/setup-node@v1
with:
node-version: '10.x'
- name: Set up F-Droid server
if: github.event_name == 'release'
run: |
sudo apt-get -qq update
sudo apt-get -qqy install --no-install-recommends fdroidserver wget
- name: Set up git credentials
if: github.event_name == 'release'
env:
ACCESS_TOKEN: ${{ secrets.ACCESS_TOKEN }}
run: |
git config --global credential.helper store
echo "https://${ACCESS_TOKEN}:x-oauth-basic@github.com" >> ~/.git-credentials
git config --global user.email "ci@bitwarden.com"
git config --global user.name "Bitwarden CI"
- name: Print environment
if: github.event_name == 'release'
run: |
node --version
npm --version
git --version
Write-Output "GitHub ref: $env:GITHUB_REF"
Write-Output "GitHub event: $env:GITHUB_EVENT"
shell: pwsh
env:
GITHUB_REF: ${{ github.ref }}
GITHUB_EVENT: ${{ github.event_name }}
- name: Checkout repo
if: github.event_name == 'release'
uses: actions/checkout@v2
- name: Install Node dependencies
if: github.event_name == 'release'
run: npm install
- name: Decrypt secrets
if: github.event_name == 'release'
run: |
./.github/scripts/decrypt-secret.ps1 -filename store_fdroid-keystore.jks.gpg `
-output ./store/fdroid/keystore.jks
shell: pwsh
env:
DECRYPT_FILE_PASSWORD: ${{ secrets.DECRYPT_FILE_PASSWORD }}
- name: Compile for F-Droid Store
if: github.event_name == 'release'
run: |
sudo chmod +x ./.github/scripts/android/compile-fdroid.sh
./.github/scripts/android/compile-fdroid.sh
env:
FDROID_STORE_KEYSTORE_PASSWORD: ${{ secrets.FDROID_STORE_KEYSTORE_PASSWORD }}
RELEASE_TAG_NAME: ${{ github.event.release.tag_name }}
- name: Deploy to gh-pages
if: github.event_name == 'release'
run: npm run deploy
ios:
runs-on: macos-latest
steps:
- name: Print environment
run: |
nuget help
msbuild -version
dotnet --info
Write-Output "GitHub ref: $env:GITHUB_REF"
Write-Output "GitHub event: $env:GITHUB_EVENT"
shell: pwsh
env:
GITHUB_REF: ${{ github.ref }}
GITHUB_EVENT: ${{ github.event_name }}
- name: Checkout repo
uses: actions/checkout@v2
- name: Decrypt secrets
run: ./.github/scripts/ios/decrypt-secrets.ps1
shell: pwsh
env:
DECRYPT_FILE_PASSWORD: ${{ secrets.DECRYPT_FILE_PASSWORD }}
- name: Increment version
if: github.ref == 'refs/heads/master' || github.event_name == 'release'
run: ./.github/scripts/ios/increment-version.ps1
shell: pwsh
- name: Set up keychain
run: ./.github/scripts/ios/setup-keychain.ps1
shell: pwsh
env:
KEYCHAIN_PASSWORD: ${{ secrets.IOS_KEYCHAIN_PASSWORD }}
MOBILE_KEY_PASSWORD: ${{ secrets.IOS_KEY_PASSWORD }}
DIST_CERT_PASSWORD: ${{ secrets.IOS_DIST_CERT_PASSWORD }}
- name: Set up provisioning profiles
run: ./.github/scripts/ios/setup-profiles.ps1
shell: pwsh
- name: Restore packages
run: nuget restore
- name: Archive Build for App Store
if: github.ref == 'refs/heads/master' || github.event_name == 'release'
run: ./.github/scripts/ios/build.ps1 -configuration AppStore -platform iPhone -archive
shell: pwsh
- name: Build for App Store
if: github.ref != 'refs/heads/master'
run: ./.github/scripts/ios/build.ps1 -configuration AppStore -platform iPhone
shell: pwsh
- name: Export .ipa for App Store
if: github.ref == 'refs/heads/master' || github.event_name == 'release'
run: ./.github/scripts/ios/export-ipa.ps1 -method app-store
shell: pwsh
- name: Upload App Store .ipa artifact
if: github.ref == 'refs/heads/master' || github.event_name == 'release'
uses: actions/upload-artifact@v2
with:
name: Bitwarden.ipa
path: ./bitwarden-export/Bitwarden.ipa
- name: Deploy to App Store
if: github.ref == 'refs/heads/master' || github.event_name == 'release'
run: ./.github/scripts/ios/deploy-app-store.ps1
shell: pwsh
env:
APPLE_ID_USERNAME: ${{ secrets.APPLE_ID_USERNAME }}
APPLE_ID_PASSWORD: ${{ secrets.APPLE_ID_PASSWORD }}
- name: Upload release assets
if: github.event_name == 'release'
run: |
hub release edit `
-a ./bitwarden-export/Bitwarden.ipa `
-m "Version $($env:RELEASE_TAG_NAME.TrimStart('v'))" `
$env:RELEASE_TAG_NAME
shell: pwsh
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
RELEASE_TAG_NAME: ${{ github.event.release.tag_name }}

View File

@@ -24,6 +24,7 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution
.editorconfig = .editorconfig
.gitignore = .gitignore
appveyor.yml = appveyor.yml
.github\workflows\build.yml = .github\workflows\build.yml
CONTRIBUTING.md = CONTRIBUTING.md
crowdin.yml = crowdin.yml
README.md = README.md
@@ -238,22 +239,22 @@ Global
{256F9E44-0AF5-4D97-A2F9-DA26080C0A5D}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
{E71F3053-056C-4381-9638-048ED73BDFF6}.Ad-Hoc|Any CPU.ActiveCfg = Ad-Hoc|Any CPU
{E71F3053-056C-4381-9638-048ED73BDFF6}.Ad-Hoc|Any CPU.Build.0 = Ad-Hoc|Any CPU
{E71F3053-056C-4381-9638-048ED73BDFF6}.Ad-Hoc|iPhone.ActiveCfg = Ad-Hoc|Any CPU
{E71F3053-056C-4381-9638-048ED73BDFF6}.Ad-Hoc|iPhone.Build.0 = Ad-Hoc|Any CPU
{E71F3053-056C-4381-9638-048ED73BDFF6}.Ad-Hoc|iPhoneSimulator.ActiveCfg = Ad-Hoc|Any CPU
{E71F3053-056C-4381-9638-048ED73BDFF6}.Ad-Hoc|iPhoneSimulator.Build.0 = Ad-Hoc|Any CPU
{E71F3053-056C-4381-9638-048ED73BDFF6}.Ad-Hoc|iPhone.ActiveCfg = Ad-Hoc|iPhone
{E71F3053-056C-4381-9638-048ED73BDFF6}.Ad-Hoc|iPhone.Build.0 = Ad-Hoc|iPhone
{E71F3053-056C-4381-9638-048ED73BDFF6}.Ad-Hoc|iPhoneSimulator.ActiveCfg = Ad-Hoc|iPhoneSimulator
{E71F3053-056C-4381-9638-048ED73BDFF6}.Ad-Hoc|iPhoneSimulator.Build.0 = Ad-Hoc|iPhoneSimulator
{E71F3053-056C-4381-9638-048ED73BDFF6}.AppStore|Any CPU.ActiveCfg = AppStore|Any CPU
{E71F3053-056C-4381-9638-048ED73BDFF6}.AppStore|Any CPU.Build.0 = AppStore|Any CPU
{E71F3053-056C-4381-9638-048ED73BDFF6}.AppStore|iPhone.ActiveCfg = AppStore|Any CPU
{E71F3053-056C-4381-9638-048ED73BDFF6}.AppStore|iPhone.Build.0 = AppStore|Any CPU
{E71F3053-056C-4381-9638-048ED73BDFF6}.AppStore|iPhoneSimulator.ActiveCfg = AppStore|Any CPU
{E71F3053-056C-4381-9638-048ED73BDFF6}.AppStore|iPhoneSimulator.Build.0 = AppStore|Any CPU
{E71F3053-056C-4381-9638-048ED73BDFF6}.AppStore|iPhone.ActiveCfg = AppStore|iPhone
{E71F3053-056C-4381-9638-048ED73BDFF6}.AppStore|iPhone.Build.0 = AppStore|iPhone
{E71F3053-056C-4381-9638-048ED73BDFF6}.AppStore|iPhoneSimulator.ActiveCfg = AppStore|iPhoneSimulator
{E71F3053-056C-4381-9638-048ED73BDFF6}.AppStore|iPhoneSimulator.Build.0 = AppStore|iPhoneSimulator
{E71F3053-056C-4381-9638-048ED73BDFF6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{E71F3053-056C-4381-9638-048ED73BDFF6}.Debug|Any CPU.Build.0 = Debug|Any CPU
{E71F3053-056C-4381-9638-048ED73BDFF6}.Debug|iPhone.ActiveCfg = Debug|Any CPU
{E71F3053-056C-4381-9638-048ED73BDFF6}.Debug|iPhone.Build.0 = Debug|Any CPU
{E71F3053-056C-4381-9638-048ED73BDFF6}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
{E71F3053-056C-4381-9638-048ED73BDFF6}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU
{E71F3053-056C-4381-9638-048ED73BDFF6}.Debug|iPhone.ActiveCfg = Debug|iPhone
{E71F3053-056C-4381-9638-048ED73BDFF6}.Debug|iPhone.Build.0 = Debug|iPhone
{E71F3053-056C-4381-9638-048ED73BDFF6}.Debug|iPhoneSimulator.ActiveCfg = Debug|iPhoneSimulator
{E71F3053-056C-4381-9638-048ED73BDFF6}.Debug|iPhoneSimulator.Build.0 = Debug|iPhoneSimulator
{E71F3053-056C-4381-9638-048ED73BDFF6}.FDroid|Any CPU.ActiveCfg = FDroid|Any CPU
{E71F3053-056C-4381-9638-048ED73BDFF6}.FDroid|Any CPU.Build.0 = FDroid|Any CPU
{E71F3053-056C-4381-9638-048ED73BDFF6}.FDroid|iPhone.ActiveCfg = FDroid|Any CPU

View File

@@ -70,6 +70,7 @@ namespace Bit.Droid.Accessibility
new Browser("org.adblockplus.browser", "url_bar,url_bar_title"), // 2nd = Legacy (before v2)
new Browser("org.adblockplus.browser.beta", "url_bar,url_bar_title"), // 2nd = Legacy (before v2)
new Browser("org.bromite.bromite", "url_bar"),
new Browser("org.bromite.chromium", "url_bar"),
new Browser("org.chromium.chrome", "url_bar"),
new Browser("org.codeaurora.swe.browser", "url_bar"),
new Browser("org.gnu.icecat", "url_bar_title,mozac_browser_toolbar_url_view"), // 2nd = Anticipation
@@ -85,6 +86,7 @@ namespace Bit.Droid.Accessibility
new Browser("org.mozilla.rocket", "display_url"),
new Browser("org.torproject.torbrowser", "url_bar_title,mozac_browser_toolbar_url_view"), // 2nd = Anticipation
new Browser("org.torproject.torbrowser_alpha", "url_bar_title,mozac_browser_toolbar_url_view"), // 2nd = Anticipation
new Browser("org.ungoogled.chromium", "url_bar"),
// [Section B] Entries only present here
//
@@ -306,11 +308,13 @@ namespace Bit.Droid.Accessibility
public static AccessibilityNodeInfo GetUsernameEditText(string uriString,
IEnumerable<AccessibilityNodeInfo> allEditTexts)
{
string uriAuthority = null;
string uriKey = null;
string uriLocalPath = null;
if (Uri.TryCreate(uriString, UriKind.Absolute, out var uri))
{
uriKey = uri.Authority;
uriAuthority = uri.Authority;
uriKey = uriAuthority.StartsWith("www.") ? uriAuthority.Substring(4) : uriAuthority;
uriLocalPath = uri.LocalPath;
}
@@ -600,7 +604,12 @@ namespace Bit.Droid.Accessibility
public static bool IsAutofillServicePromptVisible(IEnumerable<AccessibilityWindowInfo> windows)
{
return windows?.Any(w => w.Title?.ToLower().Contains("autofill") ?? false) ?? false;
// Autofill framework not available until API 26
if (Build.VERSION.SdkInt >= BuildVersionCodes.O)
{
return windows?.Any(w => w.Title?.ToLower().Contains("autofill") ?? false) ?? false;
}
return false;
}
public static int GetNodeHeight(AccessibilityNodeInfo node)

View File

@@ -150,6 +150,7 @@
<None Include="ci-build-apks.ps1" />
<GoogleServicesJson Include="google-services.json" />
<GoogleServicesJson Include="google-services.json.enc" />
<None Include="fdroid-keystore.jks.enc" />
<None Include="Properties\AndroidManifest.xml" />
<None Include="upload-keystore.jks.enc" />
</ItemGroup>

View File

@@ -75,6 +75,7 @@ namespace Bit.Droid.Autofill
"org.adblockplus.browser",
"org.adblockplus.browser.beta",
"org.bromite.bromite",
"org.bromite.chromium",
"org.chromium.chrome",
"org.codeaurora.swe.browser",
"org.gnu.icecat",
@@ -88,6 +89,7 @@ namespace Bit.Droid.Autofill
"org.mozilla.rocket",
"org.torproject.torbrowser",
"org.torproject.torbrowser_alpha",
"org.ungoogled.chromium",
};
// The URLs are blacklisted from autofilling

View File

@@ -3,7 +3,7 @@
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:versionCode="1"
android:versionName="2.4.0"
android:versionName="2.5.5"
package="com.x8bit.bitwarden">
<uses-sdk android:minSdkVersion="21" android:targetSdkVersion="29" />

View File

@@ -1,5 +1,9 @@
using Android.Content;
using System.ComponentModel;
using Android.Content;
using Android.Graphics;
using Android.Text;
using Android.Views.InputMethods;
using Android.Widget;
using Bit.Droid.Renderers;
using Xamarin.Forms;
using Xamarin.Forms.Platform.Android;
@@ -24,5 +28,42 @@ namespace Bit.Droid.Renderers
(ImeAction)ImeFlags.NoExtractUi;
}
}
// Workaround for failure to disable text prediction on non-password fields
// see https://github.com/xamarin/Xamarin.Forms/issues/10857
protected override void OnElementPropertyChanged(object sender, PropertyChangedEventArgs e)
{
base.OnElementPropertyChanged(sender, e);
// Check if changed property is "IsPassword", otherwise ignore
if (e.PropertyName == Entry.IsPasswordProperty.PropertyName)
{
// Check if field type is text, otherwise ignore (numeric passwords, etc.)
EditText.InputType = Element.Keyboard.ToInputType();
if ((EditText.InputType & InputTypes.ClassText) == InputTypes.ClassText)
{
if (Element.IsPassword)
{
// Element is a password field, set inputType to TextVariationPassword which disables
// predictive text by default
EditText.InputType = EditText.InputType | InputTypes.TextVariationPassword;
}
else
{
// Element is not a password field, set inputType to TextVariationVisiblePassword to
// disable predictive text while still displaying the content.
EditText.InputType = EditText.InputType | InputTypes.TextVariationVisiblePassword;
}
// The workaround above forces a reset of the style properties, so we need to re-apply the font.
// see https://xamarin.github.io/bugzilla-archives/33/33666/bug.html
var typeface = Typeface.CreateFromAsset(Context.Assets, "RobotoMono_Regular.ttf");
if (Control is TextView label)
{
label.Typeface = typeface;
}
}
}
}
}
}

View File

@@ -1,13 +1,33 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:aapt="http://schemas.android.com/aapt"
android:width="108dp"
android:height="108dp"
android:viewportWidth="1024.4897"
android:viewportHeight="1024.4897">
<group android:translateX="300.2449"
android:translateY="261.2449">
<path
android:pathData="M393.4,52.2C389.7,48.5 385.3,46.6 380.3,46.6L43.7,46.6C38.6,46.6 34.3,48.5 30.6,52.2C26.9,55.9 25,60.2 25,65.3L25,289.7C25,306.4 28.3,323.1 34.8,339.5C41.3,356 49.4,370.6 59.1,383.3C68.7,396.1 80.2,408.5 93.6,420.5C106.9,432.6 119.3,442.6 130.6,450.6C141.9,458.6 153.7,466.1 166,473.2C178.3,480.3 187,485.1 192.2,487.7C197.4,490.2 201.5,492.2 204.6,493.5C206.9,494.7 209.5,495.3 212.2,495.3C214.9,495.3 217.5,494.7 219.8,493.5C222.9,492.1 227.1,490.2 232.2,487.7C237.4,485.2 246.1,480.3 258.4,473.2C270.7,466.1 282.5,458.5 293.8,450.6C305.1,442.6 317.4,432.6 330.8,420.5C344.1,408.4 355.6,396 365.3,383.3C374.9,370.5 383,355.9 389.5,339.5C396,323 399.3,306.4 399.3,289.7L399.3,65.3C399,60.2 397.1,55.9 393.4,52.2ZM350,291.8C350,373 212,443 212,443L212,94.6L350,94.6L350,291.8Z"
android:fillColor="#ffffff"
android:fillType="nonZero"/>
</group>
android:viewportWidth="108"
android:viewportHeight="108">
<group
android:scaleX="0.099"
android:scaleY="0.099"
android:translateX="24.3"
android:translateY="24.3">
<path android:pathData="M482,103l418,418l-235,434l-495,-495l130,75l175,-175z">
<aapt:attr name="android:fillColor">
<gradient
android:endX="573.9931"
android:endY="815.5847"
android:startX="57.80515"
android:startY="213.12973"
android:type="linear">
<item
android:color="#3F000000"
android:offset="0" />
<item
android:color="#00000000"
android:offset="1" />
</gradient>
</aapt:attr>
</path>
<path
android:fillColor="#ffffff"
android:pathData="M481.4,102.2c-3.7,-3.7 -8.1,-5.6 -13.1,-5.6L131.7,96.6c-5.1,0 -9.4,1.9 -13.1,5.6C114.9,105.9 113,110.2 113,115.3v224.4c0,16.7 3.3,33.4 9.8,49.8c6.5,16.5 14.6,31.1 24.3,43.8c9.6,12.8 21.1,25.2 34.5,37.2c13.3,12.1 25.7,22.1 37,30.1c11.3,8 23.1,15.5 35.4,22.6c12.3,7.1 21,11.9 26.2,14.5c5.2,2.5 9.3,4.5 12.4,5.8c2.3,1.2 4.9,1.8 7.6,1.8c2.7,0 5.3,-0.6 7.6,-1.8c3.1,-1.4 7.3,-3.3 12.4,-5.8c5.2,-2.5 13.9,-7.4 26.2,-14.5c12.3,-7.1 24.1,-14.7 35.4,-22.6c11.3,-8 23.6,-18 37,-30.1c13.3,-12.1 24.8,-24.5 34.5,-37.2c9.6,-12.8 17.7,-27.4 24.2,-43.8c6.5,-16.5 9.8,-33.1 9.8,-49.8L487.3,115.3C487,110.2 485.1,105.9 481.4,102.2zM438,341.8C438,423 300,493 300,493L300,144.6h138C438,144.6 438,260.6 438,341.8z" />
</group>
</vector>

View File

@@ -1,12 +1,30 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:aapt="http://schemas.android.com/aapt"
android:width="1024dp"
android:height="1024dp"
android:viewportWidth="1024"
android:viewportHeight="1024">
<path
android:pathData="M1024,864c0,88.4 -71.6,160 -160,160H160C71.6,1024 0,952.4 0,864V160C0,71.6 71.6,0 160,0h704c88.4,0 160,71.6 160,160V864z"
android:fillColor="#175DDC"/>
<path
android:pathData="M829.8,128.6c-6.5,-6.5 -14.2,-9.7 -23,-9.7H217.2c-8.9,0 -16.5,3.2 -23,9.7c-6.5,6.5 -9.7,14.2 -9.7,23v393.1c0,29.3 5.7,58.4 17.1,87.3c11.4,28.8 25.6,54.4 42.5,76.8c16.9,22.3 37,44.1 60.4,65.3c23.4,21.2 45,38.7 64.7,52.7c19.8,14 40.4,27.2 61.9,39.7c21.5,12.5 36.8,20.9 45.8,25.3c9,4.4 16.3,7.9 21.7,10.2c4.1,2 8.5,3.1 13.3,3.1c4.8,0 9.2,-1 13.3,-3.1c5.5,-2.4 12.7,-5.8 21.8,-10.2c9,-4.4 24.3,-12.9 45.8,-25.3c21.5,-12.5 42.1,-25.7 61.9,-39.7c19.8,-14 41.4,-31.6 64.8,-52.7c23.4,-21.2 43.5,-42.9 60.4,-65.3c16.9,-22.4 31,-47.9 42.5,-76.8c11.4,-28.8 17.1,-57.9 17.1,-87.3V151.7C839.6,142.8 836.3,135.1 829.8,128.6zM753.8,548.4c0,142.3 -241.8,264.9 -241.8,264.9V203.1h241.8C753.8,203.1 753.8,406.1 753.8,548.4z"
android:fillColor="#FFFFFF"/>
<path
android:fillColor="#175DDC"
android:pathData="M1024,864c0,88.4 -71.6,160 -160,160H160C71.6,1024 0,952.4 0,864V160C0,71.6 71.6,0 160,0h704c88.4,0 160,71.6 160,160V864z" />
<path android:pathData="M803.2,195.8l668.8,668.8l-376,694.4l-792,-792l208,120l280,-280z">
<aapt:attr name="android:fillColor">
<gradient
android:endX="922.23486"
android:endY="1353.2649"
android:startX="96.33417"
android:startY="389.33688"
android:type="linear">
<item
android:color="#3F000000"
android:offset="0" />
<item
android:color="#00000000"
android:offset="1" />
</gradient>
</aapt:attr>
</path>
<path
android:fillColor="#ffffff"
android:pathData="M802.24,194.52c-5.92,-5.92 -12.96,-8.96 -20.96,-8.96L242.72,185.56c-8.16,0 -15.04,3.04 -20.96,8.96C215.84,200.44 212.8,207.32 212.8,215.48l0,359.04c0,26.72 5.28,53.44 15.68,79.68c10.4,26.4 23.36,49.76 38.88,70.08c15.36,20.48 33.76,40.32 55.2,59.52c21.28,19.36 41.12,35.36 59.2,48.16c18.08,12.8 36.96,24.8 56.64,36.16c19.68,11.36 33.6,19.04 41.92,23.2c8.32,4 14.88,7.2 19.84,9.28c3.68,1.92 7.84,2.88 12.16,2.88c4.32,0 8.48,-0.96 12.16,-2.88c4.96,-2.24 11.68,-5.28 19.84,-9.28c8.32,-4 22.24,-11.84 41.92,-23.2c19.68,-11.36 38.56,-23.52 56.64,-36.16c18.08,-12.8 37.76,-28.8 59.2,-48.16c21.28,-19.36 39.68,-39.2 55.2,-59.52c15.36,-20.48 28.32,-43.84 38.72,-70.08c10.4,-26.4 15.68,-52.96 15.68,-79.68L811.68,215.48C811.2,207.32 808.16,200.44 802.24,194.52zM732.8,577.88C732.8,707.8 512,819.8 512,819.8L512,262.36l220.8,0C732.8,262.36 732.8,447.96 732.8,577.88z" />
</vector>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 KiB

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.0 KiB

After

Width:  |  Height:  |  Size: 3.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 968 B

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.9 KiB

After

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.7 KiB

After

Width:  |  Height:  |  Size: 2.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.3 KiB

After

Width:  |  Height:  |  Size: 4.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.6 KiB

After

Width:  |  Height:  |  Size: 3.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.8 KiB

After

Width:  |  Height:  |  Size: 7.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.6 KiB

After

Width:  |  Height:  |  Size: 4.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.8 KiB

After

Width:  |  Height:  |  Size: 11 KiB

View File

@@ -121,6 +121,9 @@
<compatibility-package
android:name="org.bromite.bromite"
android:maxLongVersionCode="10000000000"/>
<compatibility-package
android:name="org.bromite.chromium"
android:maxLongVersionCode="10000000000"/>
<compatibility-package
android:name="org.chromium.chrome"
android:maxLongVersionCode="10000000000"/>
@@ -160,4 +163,7 @@
<compatibility-package
android:name="org.torproject.torbrowser_alpha"
android:maxLongVersionCode="10000000000"/>
<compatibility-package
android:name="org.ungoogled.chromium"
android:maxLongVersionCode="10000000000"/>
</autofill-service>

View File

@@ -8,12 +8,9 @@ using Android.App;
using Android.App.Assist;
using Android.Content;
using Android.Content.PM;
using Android.Hardware.Biometrics;
using Android.Hardware.Fingerprints;
using Android.Nfc;
using Android.OS;
using Android.Provider;
using Android.Runtime;
using Android.Text;
using Android.Text.Method;
using Android.Views.Autofill;
@@ -31,7 +28,6 @@ using Bit.Core.Models.View;
using Bit.Core.Utilities;
using Bit.Droid.Autofill;
using Plugin.CurrentActivity;
using Plugin.Fingerprint;
namespace Bit.Droid.Services
{
@@ -389,71 +385,16 @@ namespace Bit.Droid.Services
public bool SupportsFaceBiometric()
{
// only used by iOS
return false;
}
public Task<bool> SupportsFaceBiometricAsync()
{
// only used by iOS
return Task.FromResult(SupportsFaceBiometric());
}
public async Task<bool> BiometricAvailableAsync()
{
if (UseNativeBiometric())
{
var activity = (MainActivity)CrossCurrentActivity.Current.Activity;
var manager = activity.GetSystemService(Context.BiometricService) as BiometricManager;
return manager.CanAuthenticate() == BiometricCode.Success;
}
else
{
try
{
return await CrossFingerprint.Current.IsAvailableAsync();
}
catch
{
return false;
}
}
}
public bool UseNativeBiometric()
{
return (int)Build.VERSION.SdkInt >= 29;
}
public Task<bool> AuthenticateBiometricAsync(string text = null)
{
if (string.IsNullOrWhiteSpace(text))
{
text = AppResources.BiometricsDirection;
}
var activity = (MainActivity)CrossCurrentActivity.Current.Activity;
using (var builder = new BiometricPrompt.Builder(activity))
{
builder.SetTitle(text);
builder.SetConfirmationRequired(false);
builder.SetNegativeButton(AppResources.Cancel, activity.MainExecutor,
new DialogInterfaceOnClickListener
{
Clicked = () => { }
});
var prompt = builder.Build();
var result = new TaskCompletionSource<bool>();
prompt.Authenticate(new CancellationSignal(), activity.MainExecutor,
new BiometricAuthenticationCallback
{
Success = authResult => result.TrySetResult(true),
Error = () => result.TrySetResult(false),
Failed = () => { },
Help = (helpCode, helpString) => { }
});
return result.Task;
}
}
public bool SupportsNfc()
{
var activity = (MainActivity)CrossCurrentActivity.Current.Activity;
@@ -870,48 +811,5 @@ namespace Bit.Droid.Services
Context.ClipboardService) as Android.Content.ClipboardManager;
clipboardManager.PrimaryClip = ClipData.NewPlainText("bitwarden", text);
}
private class BiometricAuthenticationCallback : BiometricPrompt.AuthenticationCallback
{
public Action<BiometricPrompt.AuthenticationResult> Success { get; set; }
public Action Error { get; set; }
public Action Failed { get; set; }
public Action<BiometricAcquiredStatus, Java.Lang.ICharSequence> Help { get; set; }
public override void OnAuthenticationSucceeded(BiometricPrompt.AuthenticationResult authResult)
{
base.OnAuthenticationSucceeded(authResult);
Success?.Invoke(authResult);
}
public override void OnAuthenticationError([GeneratedEnum] BiometricErrorCode errorCode, Java.Lang.ICharSequence errString)
{
base.OnAuthenticationError(errorCode, errString);
Error?.Invoke();
}
public override void OnAuthenticationFailed()
{
base.OnAuthenticationFailed();
Failed?.Invoke();
}
public override void OnAuthenticationHelp([GeneratedEnum] BiometricAcquiredStatus helpCode,
Java.Lang.ICharSequence helpString)
{
base.OnAuthenticationHelp(helpCode, helpString);
Help?.Invoke(helpCode, helpString);
}
}
private class DialogInterfaceOnClickListener : Java.Lang.Object, IDialogInterfaceOnClickListener
{
public Action Clicked { get; set; }
public void OnClick(IDialogInterface dialog, int which)
{
Clicked?.Invoke();
}
}
}
}

View File

@@ -22,10 +22,12 @@ echo "##### Decrypt Keystore"
echo "########################################"
$encKeystorePath = $($rootPath + "\src\Android\8bit.keystore.enc");
$encFdroidKeystorePath = $($rootPath + "\src\Android\fdroid-keystore.jks.enc");
$encUploadKeystorePath = $($rootPath + "\src\Android\upload-keystore.jks.enc");
$secureFilePath = $($rootPath + "\secure-file\tools\secure-file.exe");
Invoke-Expression "& `"$secureFilePath`" -decrypt $($encKeystorePath) -secret $($env:keystore_dec_secret)"
Invoke-Expression "& `"$secureFilePath`" -decrypt $($encFdroidKeystorePath) -secret $($env:fdroid_apk_keystore_dec_secret)"
Invoke-Expression "& `"$secureFilePath`" -decrypt $($encUploadKeystorePath) -secret $($env:upload_keystore_dec_secret)"
echo "########################################"
@@ -146,9 +148,10 @@ echo "########################################"
msbuild "$($androidPath)" "/logger:C:\Program Files\AppVeyor\BuildAgent\Appveyor.MSBuildLogger.dll" `
"/p:Configuration=FDroid"
msbuild "$($androidPath)" "/t:SignAndroidPackage" "/p:Configuration=FDroid" "/p:AndroidKeyStore=true" `
"/p:AndroidSigningKeyAlias=bitwarden" "/p:AndroidSigningKeyPass=$($env:keystore_password)" `
"/p:AndroidSigningKeyStore=8bit.keystore" "/p:AndroidSigningStorePass=$($env:keystore_password)" "/v:quiet"
"/p:AndroidSigningKeyAlias=bitwarden" "/p:AndroidSigningKeyPass=$($env:fdroid_apk_keystore_password)" `
"/p:AndroidSigningKeyStore=fdroid-keystore.jks" "/p:AndroidSigningStorePass=$($env:fdroid_apk_keystore_password)" `
"/v:quiet"
echo "########################################"
echo "##### Copy FDroid apk to project root"
echo "########################################"

Binary file not shown.

View File

@@ -23,9 +23,6 @@ namespace Bit.App.Abstractions
void RateApp();
bool SupportsFaceBiometric();
Task<bool> SupportsFaceBiometricAsync();
Task<bool> BiometricAvailableAsync();
bool UseNativeBiometric();
Task<bool> AuthenticateBiometricAsync(string text = null);
bool SupportsNfc();
bool SupportsCamera();
bool SupportsAutofillService();

View File

@@ -219,7 +219,7 @@ namespace Bit.App
SyncIfNeeded();
if (Current.MainPage is NavigationPage navPage && navPage.CurrentPage is LockPage lockPage)
{
await lockPage.PromptFingerprintAfterResumeAsync();
await lockPage.PromptBiometricAfterResumeAsync();
}
}
@@ -246,7 +246,7 @@ namespace Bit.App
_passwordGenerationService.ClearAsync(),
_vaultTimeoutService.ClearAsync(),
_stateService.PurgeAsync());
_vaultTimeoutService.FingerprintLocked = true;
_vaultTimeoutService.BiometricLocked = true;
_searchService.ClearIndex();
_authService.LogOut(() =>
{
@@ -404,21 +404,20 @@ namespace Bit.App
}
}
private async Task LockedAsync(bool autoPromptFingerprint)
private async Task LockedAsync(bool autoPromptBiometric)
{
await _stateService.PurgeAsync();
if (autoPromptFingerprint && Device.RuntimePlatform == Device.iOS)
if (autoPromptBiometric && Device.RuntimePlatform == Device.iOS)
{
var vaultTimeout = await _storageService.GetAsync<int?>(Constants.VaultTimeoutKey);
if (vaultTimeout == 0)
{
autoPromptFingerprint = false;
autoPromptBiometric = false;
}
}
else if (autoPromptFingerprint && Device.RuntimePlatform == Device.Android &&
_deviceActionService.UseNativeBiometric())
else if (autoPromptBiometric && Device.RuntimePlatform == Device.Android)
{
autoPromptFingerprint = false;
autoPromptBiometric = false;
}
PreviousPageInfo lastPageBeforeLock = null;
if (Current.MainPage is TabbedPage tabbedPage && tabbedPage.Navigation.ModalStack.Count > 0)
@@ -445,7 +444,7 @@ namespace Bit.App
}
}
await _storageService.SaveAsync(Constants.PreviousPageKey, lastPageBeforeLock);
var lockPage = new LockPage(Options, autoPromptFingerprint);
var lockPage = new LockPage(Options, autoPromptBiometric);
Device.BeginInvokeOnMainThread(() => Current.MainPage = new NavigationPage(lockPage));
}
}

View File

@@ -106,8 +106,8 @@
Margin="0, 10, 0, 0" />
</StackLayout>
<StackLayout Padding="10, 0">
<Button Text="{Binding FingerprintButtonText}" Clicked="Fingerprint_Clicked"
IsVisible="{Binding FingerprintLock}"></Button>
<Button Text="{Binding BiometricButtonText}" Clicked="Biometric_Clicked"
IsVisible="{Binding BiometricLock}"></Button>
<Button Text="{u:I18n LogOut}" Clicked="LogOut_Clicked"></Button>
</StackLayout>
</StackLayout>

View File

@@ -12,17 +12,17 @@ namespace Bit.App.Pages
{
private readonly IStorageService _storageService;
private readonly AppOptions _appOptions;
private readonly bool _autoPromptFingerprint;
private readonly bool _autoPromptBiometric;
private readonly LockPageViewModel _vm;
private bool _promptedAfterResume;
private bool _appeared;
public LockPage(AppOptions appOptions = null, bool autoPromptFingerprint = true)
public LockPage(AppOptions appOptions = null, bool autoPromptBiometric = true)
{
_storageService = ServiceContainer.Resolve<IStorageService>("storageService");
_appOptions = appOptions;
_autoPromptFingerprint = autoPromptFingerprint;
_autoPromptBiometric = autoPromptBiometric;
InitializeComponent();
_vm = BindingContext as LockPageViewModel;
_vm.Page = this;
@@ -34,15 +34,15 @@ namespace Bit.App.Pages
public Entry MasterPasswordEntry { get; set; }
public Entry PinEntry { get; set; }
public async Task PromptFingerprintAfterResumeAsync()
public async Task PromptBiometricAfterResumeAsync()
{
if (_vm.FingerprintLock)
if (_vm.BiometricLock)
{
await Task.Delay(500);
if (!_promptedAfterResume)
{
_promptedAfterResume = true;
await _vm?.PromptFingerprintAsync();
await _vm?.PromptBiometricAsync();
}
}
}
@@ -55,8 +55,8 @@ namespace Bit.App.Pages
return;
}
_appeared = true;
await _vm.InitAsync(_autoPromptFingerprint);
if (!_vm.FingerprintLock)
await _vm.InitAsync(_autoPromptBiometric);
if (!_vm.BiometricLock)
{
if (_vm.PinLock)
{
@@ -89,11 +89,11 @@ namespace Bit.App.Pages
}
}
private async void Fingerprint_Clicked(object sender, EventArgs e)
private async void Biometric_Clicked(object sender, EventArgs e)
{
if (DoOnce())
{
await _vm.PromptFingerprintAsync();
await _vm.PromptBiometricAsync();
}
}

View File

@@ -28,8 +28,8 @@ namespace Bit.App.Pages
private string _email;
private bool _showPassword;
private bool _pinLock;
private bool _fingerprintLock;
private string _fingerprintButtonText;
private bool _biometricLock;
private string _biometricButtonText;
private string _loggedInAsText;
private string _lockedVerifyText;
private int _invalidPinAttempts = 0;
@@ -69,16 +69,16 @@ namespace Bit.App.Pages
set => SetProperty(ref _pinLock, value);
}
public bool FingerprintLock
public bool BiometricLock
{
get => _fingerprintLock;
set => SetProperty(ref _fingerprintLock, value);
get => _biometricLock;
set => SetProperty(ref _biometricLock, value);
}
public string FingerprintButtonText
public string BiometricButtonText
{
get => _fingerprintButtonText;
set => SetProperty(ref _fingerprintButtonText, value);
get => _biometricButtonText;
set => SetProperty(ref _biometricButtonText, value);
}
public string LoggedInAsText
@@ -100,11 +100,11 @@ namespace Bit.App.Pages
public string Pin { get; set; }
public Action UnlockedAction { get; set; }
public async Task InitAsync(bool autoPromptFingerprint)
public async Task InitAsync(bool autoPromptBiometric)
{
_pinSet = await _vaultTimeoutService.IsPinLockSetAsync();
PinLock = (_pinSet.Item1 && _vaultTimeoutService.PinProtectedKey != null) || _pinSet.Item2;
FingerprintLock = await _vaultTimeoutService.IsFingerprintLockSetAsync();
BiometricLock = await _vaultTimeoutService.IsBiometricLockSetAsync();
_email = await _userService.GetEmailAsync();
var webVault = _environmentService.GetWebVaultUrl();
if (string.IsNullOrWhiteSpace(webVault))
@@ -124,27 +124,21 @@ namespace Bit.App.Pages
LockedVerifyText = AppResources.VaultLockedMasterPassword;
}
if (FingerprintLock)
if (BiometricLock)
{
var supportsFace = await _deviceActionService.SupportsFaceBiometricAsync();
if (Device.RuntimePlatform == Device.iOS && supportsFace)
BiometricButtonText = AppResources.UseBiometricsToUnlock;
if (Device.RuntimePlatform == Device.iOS)
{
FingerprintButtonText = AppResources.UseFaceIDToUnlock;
var supportsFace = await _deviceActionService.SupportsFaceBiometricAsync();
BiometricButtonText = supportsFace ? AppResources.UseFaceIDToUnlock :
AppResources.UseFingerprintToUnlock;
}
else if (Device.RuntimePlatform == Device.Android && _deviceActionService.UseNativeBiometric())
{
FingerprintButtonText = AppResources.UseBiometricsToUnlock;
}
else
{
FingerprintButtonText = AppResources.UseFingerprintToUnlock;
}
if (autoPromptFingerprint)
if (autoPromptBiometric)
{
var tasks = Task.Run(async () =>
{
await Task.Delay(500);
Device.BeginInvokeOnMainThread(async () => await PromptFingerprintAsync());
Device.BeginInvokeOnMainThread(async () => await PromptBiometricAsync());
});
}
}
@@ -271,9 +265,9 @@ namespace Bit.App.Pages
entry.Focus();
}
public async Task PromptFingerprintAsync()
public async Task PromptBiometricAsync()
{
if (!FingerprintLock)
if (!BiometricLock)
{
return;
}
@@ -290,7 +284,7 @@ namespace Bit.App.Pages
page.MasterPasswordEntry.Focus();
}
});
_vaultTimeoutService.FingerprintLocked = !success;
_vaultTimeoutService.BiometricLocked = !success;
if (success)
{
await DoContinueAsync();
@@ -309,7 +303,7 @@ namespace Bit.App.Pages
private async Task DoContinueAsync()
{
_vaultTimeoutService.FingerprintLocked = false;
_vaultTimeoutService.BiometricLocked = false;
var disableFavicon = await _storageService.GetAsync<bool?>(Constants.DisableFaviconKey);
await _stateService.SaveAsync(Constants.DisableFaviconKey, disableFavicon.GetValueOrDefault());
_messagingService.Send("unlocked");

View File

@@ -143,19 +143,15 @@ namespace Bit.App.Pages
}
else
{
var fingerprintName = AppResources.Fingerprint;
var biometricName = AppResources.Biometrics;
if (Device.RuntimePlatform == Device.iOS)
{
var supportsFace = await _deviceActionService.SupportsFaceBiometricAsync();
fingerprintName = supportsFace ? AppResources.FaceID : AppResources.TouchID;
biometricName = supportsFace ? AppResources.FaceID : AppResources.TouchID;
}
else if (Device.RuntimePlatform == Device.Android && _deviceActionService.UseNativeBiometric())
if (item.Name == string.Format(AppResources.UnlockWith, biometricName))
{
fingerprintName = AppResources.Biometrics;
}
if (item.Name == string.Format(AppResources.UnlockWith, fingerprintName))
{
await _vm.UpdateFingerprintAsync();
await _vm.UpdateBiometricAsync();
}
}
}

View File

@@ -23,9 +23,9 @@ namespace Bit.App.Pages
private readonly IStorageService _storageService;
private readonly ISyncService _syncService;
private bool _supportsFingerprint;
private bool _supportsBiometric;
private bool _pin;
private bool _fingerprint;
private bool _biometric;
private string _lastSyncDate;
private string _vaultTimeoutDisplayValue;
private string _vaultTimeoutActionDisplayValue;
@@ -69,7 +69,7 @@ namespace Bit.App.Pages
public async Task InitAsync()
{
_supportsFingerprint = await _platformUtilsService.SupportsBiometricAsync();
_supportsBiometric = await _platformUtilsService.SupportsBiometricAsync();
var lastSync = await _syncService.GetLastSyncAsync();
if (lastSync != null)
{
@@ -83,7 +83,7 @@ namespace Bit.App.Pages
_vaultTimeoutActionDisplayValue = _vaultTimeoutActions.FirstOrDefault(o => o.Value == action).Key;
var pinSet = await _vaultTimeoutService.IsPinLockSetAsync();
_pin = pinSet.Item1 || pinSet.Item2;
_fingerprint = await _vaultTimeoutService.IsFingerprintLockSetAsync();
_biometric = await _vaultTimeoutService.IsBiometricLockSetAsync();
BuildList();
}
@@ -112,7 +112,7 @@ namespace Bit.App.Pages
{
fingerprint = await _cryptoService.GetFingerprintAsync(await _userService.GetUserIdAsync());
}
catch (Exception e) when(e.Message == "No public key available.")
catch (Exception e) when (e.Message == "No public key available.")
{
return;
}
@@ -193,8 +193,10 @@ namespace Bit.App.Pages
public async Task VaultTimeoutAsync()
{
var options = _vaultTimeouts.Select(o => o.Key == _vaultTimeoutDisplayValue ? $"✓ {o.Key}" : o.Key).ToArray();
var selection = await Page.DisplayActionSheet(AppResources.VaultTimeout, AppResources.Cancel, null, options);
var options = _vaultTimeouts.Select(
o => o.Key == _vaultTimeoutDisplayValue ? $"✓ {o.Key}" : o.Key).ToArray();
var selection = await Page.DisplayActionSheet(AppResources.VaultTimeout,
AppResources.Cancel, null, options);
if (selection == null || selection == AppResources.Cancel)
{
return;
@@ -206,11 +208,13 @@ namespace Bit.App.Pages
GetVaultTimeoutActionFromKey(_vaultTimeoutActionDisplayValue));
BuildList();
}
public async Task VaultTimeoutActionAsync()
{
var options = _vaultTimeoutActions.Select(o => o.Key == _vaultTimeoutActionDisplayValue ? $"✓ {o.Key}" : o.Key).ToArray();
var selection = await Page.DisplayActionSheet(AppResources.VaultTimeoutAction, AppResources.Cancel, null, options);
var options = _vaultTimeoutActions.Select(o =>
o.Key == _vaultTimeoutActionDisplayValue ? $"✓ {o.Key}" : o.Key).ToArray();
var selection = await Page.DisplayActionSheet(AppResources.VaultTimeoutAction,
AppResources.Cancel, null, options);
if (selection == null || selection == AppResources.Cancel)
{
return;
@@ -227,9 +231,14 @@ namespace Bit.App.Pages
}
}
var selectionOption = _vaultTimeoutActions.FirstOrDefault(o => o.Key == cleanSelection);
var changed = _vaultTimeoutActionDisplayValue != selectionOption.Key;
_vaultTimeoutActionDisplayValue = selectionOption.Key;
await _vaultTimeoutService.SetVaultTimeoutOptionsAsync(GetVaultTimeoutFromKey(_vaultTimeoutDisplayValue),
selectionOption.Value);
if (changed)
{
_messagingService.Send("vaultTimeoutActionChanged");
}
BuildList();
}
@@ -279,31 +288,31 @@ namespace Bit.App.Pages
BuildList();
}
public async Task UpdateFingerprintAsync()
public async Task UpdateBiometricAsync()
{
var current = _fingerprint;
if (_fingerprint)
var current = _biometric;
if (_biometric)
{
_fingerprint = false;
_biometric = false;
}
else if (await _platformUtilsService.SupportsBiometricAsync())
{
_fingerprint = await _platformUtilsService.AuthenticateBiometricAsync(null,
_biometric = await _platformUtilsService.AuthenticateBiometricAsync(null,
_deviceActionService.DeviceType == Core.Enums.DeviceType.Android ? "." : null);
}
if (_fingerprint == current)
if (_biometric == current)
{
return;
}
if (_fingerprint)
if (_biometric)
{
await _storageService.SaveAsync(Constants.FingerprintUnlockKey, true);
await _storageService.SaveAsync(Constants.BiometricUnlockKey, true);
}
else
{
await _storageService.RemoveAsync(Constants.FingerprintUnlockKey);
await _storageService.RemoveAsync(Constants.BiometricUnlockKey);
}
_vaultTimeoutService.FingerprintLocked = false;
_vaultTimeoutService.BiometricLocked = false;
await _cryptoService.ToggleKeyAsync();
BuildList();
}
@@ -349,7 +358,11 @@ namespace Bit.App.Pages
var securityItems = new List<SettingsPageListItem>
{
new SettingsPageListItem { Name = AppResources.VaultTimeout, SubLabel = _vaultTimeoutDisplayValue },
new SettingsPageListItem { Name = AppResources.VaultTimeoutAction, SubLabel = _vaultTimeoutActionDisplayValue },
new SettingsPageListItem
{
Name = AppResources.VaultTimeoutAction,
SubLabel = _vaultTimeoutActionDisplayValue
},
new SettingsPageListItem
{
Name = AppResources.UnlockWithPIN,
@@ -358,22 +371,18 @@ namespace Bit.App.Pages
new SettingsPageListItem { Name = AppResources.LockNow },
new SettingsPageListItem { Name = AppResources.TwoStepLogin }
};
if (_supportsFingerprint || _fingerprint)
if (_supportsBiometric || _biometric)
{
var fingerprintName = AppResources.Fingerprint;
var biometricName = AppResources.Biometrics;
if (Device.RuntimePlatform == Device.iOS)
{
fingerprintName = _deviceActionService.SupportsFaceBiometric() ? AppResources.FaceID :
biometricName = _deviceActionService.SupportsFaceBiometric() ? AppResources.FaceID :
AppResources.TouchID;
}
else if (Device.RuntimePlatform == Device.Android && _deviceActionService.UseNativeBiometric())
{
fingerprintName = AppResources.Biometrics;
}
var item = new SettingsPageListItem
{
Name = string.Format(AppResources.UnlockWith, fingerprintName),
SubLabel = _fingerprint ? AppResources.Enabled : AppResources.Disabled
Name = string.Format(AppResources.UnlockWith, biometricName),
SubLabel = _biometric ? AppResources.Enabled : AppResources.Disabled
};
securityItems.Insert(2, item);
}

View File

@@ -112,9 +112,11 @@
StyleClass="box-value"
Grid.Row="1"
Grid.Column="0"
Grid.ColumnSpan="{Binding PasswordFieldColSpan}"
IsPassword="{Binding ShowPassword, Converter={StaticResource inverseBool}}"
IsSpellCheckEnabled="False"
IsTextPredictionEnabled="False" />
IsTextPredictionEnabled="False"
IsEnabled="{Binding Cipher.ViewPassword}"/>
<controls:FaButton
StyleClass="box-row-button, box-row-button-platform"
Text="&#xf058;"
@@ -123,7 +125,8 @@
Grid.Column="1"
Grid.RowSpan="2"
AutomationProperties.IsInAccessibleTree="True"
AutomationProperties.Name="{u:I18n CheckPassword}" />
AutomationProperties.Name="{u:I18n CheckPassword}"
IsVisible="{Binding Cipher.ViewPassword}" />
<controls:FaButton
StyleClass="box-row-button, box-row-button-platform"
Text="{Binding ShowPasswordIcon}"
@@ -132,7 +135,8 @@
Grid.Column="2"
Grid.RowSpan="2"
AutomationProperties.IsInAccessibleTree="True"
AutomationProperties.Name="{u:I18n ToggleVisibility}" />
AutomationProperties.Name="{u:I18n ToggleVisibility}"
IsVisible="{Binding Cipher.ViewPassword}" />
<controls:FaButton
StyleClass="box-row-button, box-row-button-platform"
Text="&#xf021;"
@@ -141,7 +145,8 @@
Grid.Column="3"
Grid.RowSpan="2"
AutomationProperties.IsInAccessibleTree="True"
AutomationProperties.Name="{u:I18n GeneratePassword}" />
AutomationProperties.Name="{u:I18n GeneratePassword}"
IsVisible="{Binding Cipher.ViewPassword}" />
</Grid>
<Grid StyleClass="box-row, box-row-input">
@@ -163,9 +168,12 @@
Text="{Binding Cipher.Login.Totp}"
IsSpellCheckEnabled="False"
IsTextPredictionEnabled="False"
IsPassword="{Binding Cipher.ViewPassword, Converter={StaticResource inverseBool}}"
IsEnabled="{Binding Cipher.ViewPassword}"
StyleClass="box-value"
Grid.Row="1"
Grid.Column="0" />
Grid.Column="0"
Grid.ColumnSpan="{Binding TotpColumnSpan}" />
<controls:FaButton
StyleClass="box-row-button, box-row-button-platform"
Text="&#xf030;"
@@ -173,6 +181,7 @@
Grid.Row="0"
Grid.Column="1"
Grid.RowSpan="2"
IsVisible="{Binding Cipher.ViewPassword}"
AutomationProperties.IsInAccessibleTree="True"
AutomationProperties.Name="{u:I18n ScanQrTitle}" />
</Grid>
@@ -562,6 +571,7 @@
Grid.Column="0"
IsVisible="{Binding IsHiddenType}"
IsPassword="{Binding ShowHiddenValue, Converter={StaticResource inverseBool}}"
IsEnabled="{Binding ShowViewHidden}"
IsSpellCheckEnabled="False"
IsTextPredictionEnabled="False">
<Entry.Keyboard>
@@ -582,7 +592,7 @@
StyleClass="box-row-button, box-row-button-platform"
Text="{Binding ShowHiddenValueIcon}"
Command="{Binding ToggleHiddenValueCommand}"
IsVisible="{Binding IsHiddenType}"
IsVisible="{Binding ShowViewHidden}"
Grid.Row="0"
Grid.Column="1"
Grid.RowSpan="2"

View File

@@ -274,6 +274,8 @@ namespace Bit.App.Pages
public bool ShowAttachments => Cipher.HasAttachments;
public string ShowPasswordIcon => ShowPassword ? "" : "";
public string ShowCardCodeIcon => ShowCardCode ? "" : "";
public int PasswordFieldColSpan => Cipher.ViewPassword ? 1 : 4;
public int TotpColumnSpan => Cipher.ViewPassword ? 1 : 2;
public void Init()
{
@@ -631,7 +633,8 @@ namespace Bit.App.Pages
Fields.Add(new AddEditPageFieldViewModel(Cipher, new FieldView
{
Type = type,
Name = string.IsNullOrWhiteSpace(name) ? null : name
Name = string.IsNullOrWhiteSpace(name) ? null : name,
NewField = true,
}));
}
}
@@ -818,6 +821,7 @@ namespace Bit.App.Pages
public bool IsTextType => _field.Type == FieldType.Text;
public bool IsBooleanType => _field.Type == FieldType.Boolean;
public bool IsHiddenType => _field.Type == FieldType.Hidden;
public bool ShowViewHidden => IsHiddenType && (_cipher.ViewPassword || _field.NewField);
public void ToggleHiddenValue()
{

View File

@@ -134,7 +134,8 @@
Grid.Column="1"
Grid.RowSpan="2"
AutomationProperties.IsInAccessibleTree="True"
AutomationProperties.Name="{u:I18n CheckPassword}" />
AutomationProperties.Name="{u:I18n CheckPassword}"
IsVisible="{Binding Cipher.ViewPassword}" />
<controls:FaButton
StyleClass="box-row-button, box-row-button-platform"
Text="{Binding ShowPasswordIcon}"
@@ -143,7 +144,8 @@
Grid.Column="2"
Grid.RowSpan="2"
AutomationProperties.IsInAccessibleTree="True"
AutomationProperties.Name="{u:I18n ToggleVisibility}" />
AutomationProperties.Name="{u:I18n ToggleVisibility}"
IsVisible="{Binding Cipher.ViewPassword}" />
<controls:FaButton
StyleClass="box-row-button, box-row-button-platform"
Text="&#xf0ea;"
@@ -153,7 +155,8 @@
Grid.Column="3"
Grid.RowSpan="2"
AutomationProperties.IsInAccessibleTree="True"
AutomationProperties.Name="{u:I18n CopyPassword}" />
AutomationProperties.Name="{u:I18n CopyPassword}"
IsVisible="{Binding Cipher.ViewPassword}" />
</Grid>
<BoxView StyleClass="box-row-separator"
IsVisible="{Binding Cipher.Login.Password, Converter={StaticResource stringHasValue}}" />
@@ -570,7 +573,7 @@
StyleClass="box-row-button, box-row-button-platform"
Text="{Binding ShowHiddenValueIcon}"
Command="{Binding ToggleHiddenValueCommand}"
IsVisible="{Binding IsHiddenType}"
IsVisible="{Binding ShowViewHidden}"
Grid.Row="0"
Grid.Column="1"
Grid.RowSpan="2"

View File

@@ -684,8 +684,9 @@ namespace Bit.App.Pages
public bool IsTextType => _field.Type == Core.Enums.FieldType.Text;
public bool IsBooleanType => _field.Type == Core.Enums.FieldType.Boolean;
public bool IsHiddenType => _field.Type == Core.Enums.FieldType.Hidden;
public bool ShowViewHidden => IsHiddenType && _cipher.ViewPassword;
public bool ShowCopyButton => _field.Type != Core.Enums.FieldType.Boolean &&
!string.IsNullOrWhiteSpace(_field.Value);
!string.IsNullOrWhiteSpace(_field.Value) && !(IsHiddenType && !_cipher.ViewPassword);
public void ToggleHiddenValue()
{

View File

@@ -9,7 +9,6 @@
namespace Bit.App.Resources {
using System;
using System.Reflection;
[System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")]

View File

@@ -518,23 +518,29 @@
<data name="Lock" xml:space="preserve">
<value>Lock</value>
</data>
<data name="LockOption15Minutes" xml:space="preserve">
<data name="FifteenMinutes" xml:space="preserve">
<value>15 minutes</value>
</data>
<data name="LockOption1Hour" xml:space="preserve">
<data name="OneHour" xml:space="preserve">
<value>1 hour</value>
</data>
<data name="LockOption1Minute" xml:space="preserve">
<data name="OneMinute" xml:space="preserve">
<value>1 minute</value>
</data>
<data name="LockOption4Hours" xml:space="preserve">
<data name="FourHours" xml:space="preserve">
<value>4 hours</value>
</data>
<data name="LockOptionImmediately" xml:space="preserve">
<data name="Immediately" xml:space="preserve">
<value>Immediately</value>
</data>
<data name="LockOptions" xml:space="preserve">
<value>Lock Options</value>
<data name="VaultTimeout" xml:space="preserve">
<value>Vault Timeout</value>
</data>
<data name="VaultTimeoutAction" xml:space="preserve">
<value>Vault Timeout Action</value>
</data>
<data name="VaultTimeoutLogOutConfirmation" xml:space="preserve">
<value>Logging out will remove all access to your vault and requires online authentication after the timeout period. Are you sure you want to use this setting?</value>
</data>
<data name="LoggingIn" xml:space="preserve">
<value>Logging in...</value>
@@ -1433,12 +1439,9 @@
<data name="Unlock" xml:space="preserve">
<value>Unlock</value>
</data>
<data name="LockOption30Minutes" xml:space="preserve">
<data name="ThirtyMinutes" xml:space="preserve">
<value>30 minutes</value>
</data>
<data name="LockOption5Minutes" xml:space="preserve">
<value>5 minutes</value>
</data>
<data name="SetPINDescription" xml:space="preserve">
<value>Set your PIN code for unlocking Bitwarden. Your PIN settings will be reset if you ever fully log out of the application.</value>
</data>
@@ -1463,9 +1466,6 @@
<data name="FiveMinutes" xml:space="preserve">
<value>5 minutes</value>
</data>
<data name="OneMinute" xml:space="preserve">
<value>1 minute</value>
</data>
<data name="TenSeconds" xml:space="preserve">
<value>10 seconds</value>
</data>
@@ -1517,7 +1517,7 @@
<value>Are you sure you want to exit Bitwarden?</value>
</data>
<data name="PINRequireMasterPasswordRestart" xml:space="preserve">
<value>Do you want to require unlocking with your master password when the application is restarted?</value>
<value>You you want to require unlocking with your master password when the application is restarted?</value>
</data>
<data name="Black" xml:space="preserve">
<value>Black</value>
@@ -1535,7 +1535,7 @@
<data name="DisableSavePromptDescription" xml:space="preserve">
<value>The "Save Prompt" automatically prompts you to save new items to your vault whenever you enter them for the first time.</value>
</data>
<data name="LockOptionOnRestart" xml:space="preserve">
<data name="OnRestart" xml:space="preserve">
<value>On App Restart</value>
</data>
<data name="AutofillServiceNotEnabled" xml:space="preserve">
@@ -1564,7 +1564,7 @@
<value>Your login session has expired.</value>
</data>
<data name="BiometricsDirection" xml:space="preserve">
<value>Use biometrics to verify.</value>
<value>Biometric Verification</value>
</data>
<data name="Biometrics" xml:space="preserve">
<value>Biometrics</value>

View File

@@ -518,23 +518,29 @@
<data name="Lock" xml:space="preserve">
<value>Заблакіраваць</value>
</data>
<data name="LockOption15Minutes" xml:space="preserve">
<data name="FifteenMinutes" xml:space="preserve">
<value>15 хвілін</value>
</data>
<data name="LockOption1Hour" xml:space="preserve">
<data name="OneHour" xml:space="preserve">
<value>1 гадзіна</value>
</data>
<data name="LockOption1Minute" xml:space="preserve">
<data name="OneMinute" xml:space="preserve">
<value>1 хвіліна</value>
</data>
<data name="LockOption4Hours" xml:space="preserve">
<data name="FourHours" xml:space="preserve">
<value>4 гадзіны</value>
</data>
<data name="LockOptionImmediately" xml:space="preserve">
<data name="Immediately" xml:space="preserve">
<value>Адразу</value>
</data>
<data name="LockOptions" xml:space="preserve">
<value>Параметры блакіроўкі</value>
<data name="VaultTimeout" xml:space="preserve">
<value>Таймаўт сховішча</value>
</data>
<data name="VaultTimeoutAction" xml:space="preserve">
<value>Дзеянне пры таймаўце</value>
</data>
<data name="VaultTimeoutLogOutConfirmation" xml:space="preserve">
<value>Выхад з сістэмы выдаліць доступ да сховішча і патрабуе анлайн-аутэнтыфікацію па заканчэнні перыяду чакання. Вы сапраўды жадаеце ўключыць гэтую наладу?</value>
</data>
<data name="LoggingIn" xml:space="preserve">
<value>Уваход...</value>
@@ -1433,12 +1439,9 @@
<data name="Unlock" xml:space="preserve">
<value>Разблакіраваць</value>
</data>
<data name="LockOption30Minutes" xml:space="preserve">
<data name="ThirtyMinutes" xml:space="preserve">
<value>30 хвілін</value>
</data>
<data name="LockOption5Minutes" xml:space="preserve">
<value>5 хвілін</value>
</data>
<data name="SetPINDescription" xml:space="preserve">
<value>Задайце PIN-код для разблакіроўкі Bitwarden. Налады PIN-кода будуць скінуты, калі вы калі-небудзь цалкам выйдзеце з праграмы.</value>
</data>
@@ -1463,9 +1466,6 @@
<data name="FiveMinutes" xml:space="preserve">
<value>5 хвілін</value>
</data>
<data name="OneMinute" xml:space="preserve">
<value>1 хвіліна</value>
</data>
<data name="TenSeconds" xml:space="preserve">
<value>10 секунд</value>
</data>
@@ -1535,7 +1535,7 @@
<data name="DisableSavePromptDescription" xml:space="preserve">
<value>Апавяшчэнне аб захаванні аўтаматычна прапануе вам захаваць новыя элементы ў сховішчы пасля іх дадання.</value>
</data>
<data name="LockOptionOnRestart" xml:space="preserve">
<data name="OnRestart" xml:space="preserve">
<value>Пры перазапуску</value>
</data>
<data name="AutofillServiceNotEnabled" xml:space="preserve">

View File

@@ -518,23 +518,29 @@
<data name="Lock" xml:space="preserve">
<value>Заключване</value>
</data>
<data name="LockOption15Minutes" xml:space="preserve">
<data name="FifteenMinutes" xml:space="preserve">
<value>15 минути</value>
</data>
<data name="LockOption1Hour" xml:space="preserve">
<data name="OneHour" xml:space="preserve">
<value>1 час</value>
</data>
<data name="LockOption1Minute" xml:space="preserve">
<data name="OneMinute" xml:space="preserve">
<value>1 минута</value>
</data>
<data name="LockOption4Hours" xml:space="preserve">
<data name="FourHours" xml:space="preserve">
<value>4 часа</value>
</data>
<data name="LockOptionImmediately" xml:space="preserve">
<data name="Immediately" xml:space="preserve">
<value>Незабавно</value>
</data>
<data name="LockOptions" xml:space="preserve">
<value>Настройки на заключването</value>
<data name="VaultTimeout" xml:space="preserve">
<value>Време за достъп</value>
</data>
<data name="VaultTimeoutAction" xml:space="preserve">
<value>Действие при изтичане на времето</value>
</data>
<data name="VaultTimeoutLogOutConfirmation" xml:space="preserve">
<value>Излизането от трезора изцяло спира достъпа до него след изтичане на времето. Ще ви се наложи отново да се идентифицирате, за да го достъпите. Сигурни ли сте, че искате това действие?</value>
</data>
<data name="LoggingIn" xml:space="preserve">
<value>Вписване…</value>
@@ -1433,12 +1439,9 @@
<data name="Unlock" xml:space="preserve">
<value>Отключване</value>
</data>
<data name="LockOption30Minutes" xml:space="preserve">
<data name="ThirtyMinutes" xml:space="preserve">
<value>30 минути</value>
</data>
<data name="LockOption5Minutes" xml:space="preserve">
<value>5 минути</value>
</data>
<data name="SetPINDescription" xml:space="preserve">
<value>Задайте ПИН за отключване на Битуорден. Настройките за ПИН се изчистват при всяко пълно излизане от програмата.</value>
</data>
@@ -1463,9 +1466,6 @@
<data name="FiveMinutes" xml:space="preserve">
<value>5 минути</value>
</data>
<data name="OneMinute" xml:space="preserve">
<value>1 минута</value>
</data>
<data name="TenSeconds" xml:space="preserve">
<value>10 секунди</value>
</data>
@@ -1535,8 +1535,8 @@
<data name="DisableSavePromptDescription" xml:space="preserve">
<value>Дали да бъдете автоматично подканени да запазите в трезора данни за вписване, които въвеждате за първи път.</value>
</data>
<data name="LockOptionOnRestart" xml:space="preserve">
<value>При повторно пускане</value>
<data name="OnRestart" xml:space="preserve">
<value>При рестартиране на приложението</value>
</data>
<data name="AutofillServiceNotEnabled" xml:space="preserve">
<value>Автоматичното дописване позволява сигурен достъп до трезора от сайтове и приложения. Изглежда не сте включили тази възможност в Битуорден, можете да го направите от екрана за настройките.</value>

View File

@@ -518,23 +518,29 @@
<data name="Lock" xml:space="preserve">
<value>Bloqueja</value>
</data>
<data name="LockOption15Minutes" xml:space="preserve">
<data name="FifteenMinutes" xml:space="preserve">
<value>15 minuts</value>
</data>
<data name="LockOption1Hour" xml:space="preserve">
<data name="OneHour" xml:space="preserve">
<value>1 hora</value>
</data>
<data name="LockOption1Minute" xml:space="preserve">
<data name="OneMinute" xml:space="preserve">
<value>1 minut</value>
</data>
<data name="LockOption4Hours" xml:space="preserve">
<data name="FourHours" xml:space="preserve">
<value>4 hores</value>
</data>
<data name="LockOptionImmediately" xml:space="preserve">
<data name="Immediately" xml:space="preserve">
<value>Immediatament</value>
</data>
<data name="LockOptions" xml:space="preserve">
<value>Opcions de bloqueig</value>
<data name="VaultTimeout" xml:space="preserve">
<value>Temps d'espera de la caixa forta</value>
</data>
<data name="VaultTimeoutAction" xml:space="preserve">
<value>Acció del temps d'espera de la caixa forta</value>
</data>
<data name="VaultTimeoutLogOutConfirmation" xml:space="preserve">
<value>En tancar la sessió s'eliminarà tot l'accés a la vostra caixa forta i es requerirà una autenticació en línia després del període de temps d'espera. Esteu segur que voleu utilitzar aquesta configuració?</value>
</data>
<data name="LoggingIn" xml:space="preserve">
<value>S'està iniciant sessió...</value>
@@ -1433,12 +1439,9 @@
<data name="Unlock" xml:space="preserve">
<value>Desbloqueja</value>
</data>
<data name="LockOption30Minutes" xml:space="preserve">
<data name="ThirtyMinutes" xml:space="preserve">
<value>30 minuts</value>
</data>
<data name="LockOption5Minutes" xml:space="preserve">
<value>5 minuts</value>
</data>
<data name="SetPINDescription" xml:space="preserve">
<value>Estableix el teu codi PIN per desbloquejar Bitwarden. La configuració PIN es restablirà si tanqueu sessió de manera completa de l'aplicació.</value>
</data>
@@ -1463,9 +1466,6 @@
<data name="FiveMinutes" xml:space="preserve">
<value>5 minuts</value>
</data>
<data name="OneMinute" xml:space="preserve">
<value>1 minut</value>
</data>
<data name="TenSeconds" xml:space="preserve">
<value>10 segons</value>
</data>
@@ -1535,8 +1535,8 @@
<data name="DisableSavePromptDescription" xml:space="preserve">
<value>"Guarda elements nous" demanarà automàticament que guardeu elements nous al magatzem cada volta que els introduïu per primera vegada.</value>
</data>
<data name="LockOptionOnRestart" xml:space="preserve">
<value>En reiniciar aplicació</value>
<data name="OnRestart" xml:space="preserve">
<value>En reiniciar l'aplicació</value>
</data>
<data name="AutofillServiceNotEnabled" xml:space="preserve">
<value>L'emplenament automàtic facilita l'accés de forma segura a la vostra caixa forta de Bitwarden des d'altres llocs web i aplicacions. Sembla que no heu habilitat un servei demplenament automàtic per a Bitwarden. Habiliteu-lo a la pantalla "Configuració".</value>

View File

@@ -518,23 +518,29 @@
<data name="Lock" xml:space="preserve">
<value>Zamknout</value>
</data>
<data name="LockOption15Minutes" xml:space="preserve">
<value>Po 15 minutách</value>
<data name="FifteenMinutes" xml:space="preserve">
<value>15 minutes</value>
</data>
<data name="LockOption1Hour" xml:space="preserve">
<value>Po 1 hodině</value>
<data name="OneHour" xml:space="preserve">
<value>1 hour</value>
</data>
<data name="LockOption1Minute" xml:space="preserve">
<value>Po 1 minutě</value>
<data name="OneMinute" xml:space="preserve">
<value>1 minuta</value>
</data>
<data name="LockOption4Hours" xml:space="preserve">
<value>Po 4 hodinách</value>
<data name="FourHours" xml:space="preserve">
<value>4 hours</value>
</data>
<data name="LockOptionImmediately" xml:space="preserve">
<value>Okamžitě</value>
<data name="Immediately" xml:space="preserve">
<value>Immediately</value>
</data>
<data name="LockOptions" xml:space="preserve">
<value>Možnosti zamknutí</value>
<data name="VaultTimeout" xml:space="preserve">
<value>Vault Timeout</value>
</data>
<data name="VaultTimeoutAction" xml:space="preserve">
<value>Vault Timeout Action</value>
</data>
<data name="VaultTimeoutLogOutConfirmation" xml:space="preserve">
<value>Logging out will remove all access to your vault and requires online authentication after the timeout period. Are you sure you want to use this setting?</value>
</data>
<data name="LoggingIn" xml:space="preserve">
<value>Přihlašování…</value>
@@ -1132,7 +1138,7 @@
<value>V této složce nejsou žádné položky.</value>
</data>
<data name="NoItemsTrash" xml:space="preserve">
<value>There are no items in the trash.</value>
<value>V koši nejsou žádné položky.</value>
</data>
<data name="AutofillAccessibilityService" xml:space="preserve">
<value>Služba přístupnosti</value>
@@ -1433,11 +1439,8 @@
<data name="Unlock" xml:space="preserve">
<value>Odemknout</value>
</data>
<data name="LockOption30Minutes" xml:space="preserve">
<value>Po 30 minutách</value>
</data>
<data name="LockOption5Minutes" xml:space="preserve">
<value>Po 5 minutách</value>
<data name="ThirtyMinutes" xml:space="preserve">
<value>30 minutes</value>
</data>
<data name="SetPINDescription" xml:space="preserve">
<value>Nastavte svůj PIN kód pro odemknutí trezoru. Pokud se zcela odhlásíte z aplikace bude váš současný PIN bude resetován.</value>
@@ -1463,9 +1466,6 @@
<data name="FiveMinutes" xml:space="preserve">
<value>5 minut</value>
</data>
<data name="OneMinute" xml:space="preserve">
<value>1 minuta</value>
</data>
<data name="TenSeconds" xml:space="preserve">
<value>10 sekund</value>
</data>
@@ -1535,8 +1535,8 @@
<data name="DisableSavePromptDescription" xml:space="preserve">
<value>„Výzva k uložení“ vás automaticky vyzve k uložení nových položek do trezoru, kdykoli je poprvé zadáte.</value>
</data>
<data name="LockOptionOnRestart" xml:space="preserve">
<value>Při restartu aplikace</value>
<data name="OnRestart" xml:space="preserve">
<value>On App Restart</value>
</data>
<data name="AutofillServiceNotEnabled" xml:space="preserve">
<value>Automatické vyplňování usnadňuje bezpečný přístup k trezoru Bitwarden z jiných webových stránek a aplikací. Vypadá to, že jste službu Bitwarden nepovolili. Povolte automatické vyplnění pro Bitwarden z obrazovky „Nastavení“.</value>
@@ -1629,49 +1629,49 @@
<value>Příloha byla úspěšně uložena</value>
</data>
<data name="AutofillTileAccessibilityRequired" xml:space="preserve">
<value>Please enable "Auto-fill Accessibility Service" from Bitwarden Settings to use the Auto-fill tile.</value>
<value>Povolte službu automatického vyplnění v nastavení Bitwarden pro použití dlaždice automatického vyplnění.</value>
</data>
<data name="AutofillTileUriNotFound" xml:space="preserve">
<value>Nenalezena žádná pole pro hesla</value>
</data>
<data name="SoftDeleting" xml:space="preserve">
<value>Sending to trash...</value>
<value>Přesouvání do koše…</value>
<comment>Message shown when interacting with the server</comment>
</data>
<data name="ItemSoftDeleted" xml:space="preserve">
<value>Item has been sent to trash.</value>
<value>Položka byla přesunuta do koše.</value>
<comment>Confirmation message after successfully soft-deleting a login</comment>
</data>
<data name="Restore" xml:space="preserve">
<value>Restore</value>
<value>Obnovit</value>
<comment>Restores an entity (verb).</comment>
</data>
<data name="Restoring" xml:space="preserve">
<value>Restoring...</value>
<value>Obnovování…</value>
<comment>Message shown when interacting with the server</comment>
</data>
<data name="ItemRestored" xml:space="preserve">
<value>Item has been restored.</value>
<value>Položka byla obnovena.</value>
<comment>Confirmation message after successfully restoring a soft-deleted item</comment>
</data>
<data name="Trash" xml:space="preserve">
<value>Trash</value>
<value>Koš</value>
<comment>(noun) Location of deleted items which have not yet been permanently deleted</comment>
</data>
<data name="SearchTrash" xml:space="preserve">
<value>Search trash</value>
<value>Hledat v koši</value>
<comment>(action prompt) Label for the search text field when viewing the trash folder</comment>
</data>
<data name="DoYouReallyWantToPermanentlyDeleteCipher" xml:space="preserve">
<value>Do you really want to permanently delete? This cannot be undone.</value>
<value>Opravdu chcete trvale smazat tuto položku? Akce je nevratná.</value>
<comment>Confirmation alert message when permanently deleteing a cipher.</comment>
</data>
<data name="DoYouReallyWantToRestoreCipher" xml:space="preserve">
<value>Do you really want to restore this item?</value>
<value>Opravdu chcete tuto položku obnovit?</value>
<comment>Confirmation alert message when restoring a soft-deleted cipher.</comment>
</data>
<data name="DoYouReallyWantToSoftDeleteCipher" xml:space="preserve">
<value>Do you really want to send to the trash?</value>
<value>Opravdu chcete položku přesunout do koše?</value>
<comment>Confirmation alert message when soft-deleting a cipher.</comment>
</data>
</root>

View File

@@ -518,23 +518,29 @@
<data name="Lock" xml:space="preserve">
<value>Lås</value>
</data>
<data name="LockOption15Minutes" xml:space="preserve">
<data name="FifteenMinutes" xml:space="preserve">
<value>15 minutter</value>
</data>
<data name="LockOption1Hour" xml:space="preserve">
<data name="OneHour" xml:space="preserve">
<value>1 time</value>
</data>
<data name="LockOption1Minute" xml:space="preserve">
<data name="OneMinute" xml:space="preserve">
<value>1 minut</value>
</data>
<data name="LockOption4Hours" xml:space="preserve">
<data name="FourHours" xml:space="preserve">
<value>4 timer</value>
</data>
<data name="LockOptionImmediately" xml:space="preserve">
<data name="Immediately" xml:space="preserve">
<value>Straks</value>
</data>
<data name="LockOptions" xml:space="preserve">
<value>Låseindstillinger</value>
<data name="VaultTimeout" xml:space="preserve">
<value>Boks-timeout</value>
</data>
<data name="VaultTimeoutAction" xml:space="preserve">
<value>Boks-timeout handling</value>
</data>
<data name="VaultTimeoutLogOutConfirmation" xml:space="preserve">
<value>Udlogning vil fjerne al adgang til din boks og vil kræve online-godkendelse efter timeout-perioden. Sikker på, at du vil benytte denne indstilling?</value>
</data>
<data name="LoggingIn" xml:space="preserve">
<value>Logger ind...</value>
@@ -1433,12 +1439,9 @@
<data name="Unlock" xml:space="preserve">
<value>Lås op</value>
</data>
<data name="LockOption30Minutes" xml:space="preserve">
<data name="ThirtyMinutes" xml:space="preserve">
<value>30 minutter</value>
</data>
<data name="LockOption5Minutes" xml:space="preserve">
<value>5 minutter</value>
</data>
<data name="SetPINDescription" xml:space="preserve">
<value>Indstil din pinkode til at låse Bitwarden op. Dine pin-indstillinger nulstilles, hvis du nogensinde logger helt ud af app'en.</value>
</data>
@@ -1463,9 +1466,6 @@
<data name="FiveMinutes" xml:space="preserve">
<value>5 minutter</value>
</data>
<data name="OneMinute" xml:space="preserve">
<value>1 minut</value>
</data>
<data name="TenSeconds" xml:space="preserve">
<value>10 sekunder</value>
</data>
@@ -1535,7 +1535,7 @@
<data name="DisableSavePromptDescription" xml:space="preserve">
<value>"Gem"-forespørgslen beder dig automatisk gemme nye emner i din boks, når du angiver dem for første gang.</value>
</data>
<data name="LockOptionOnRestart" xml:space="preserve">
<data name="OnRestart" xml:space="preserve">
<value>Ved app-genstart</value>
</data>
<data name="AutofillServiceNotEnabled" xml:space="preserve">
@@ -1564,7 +1564,7 @@
<value>Din login-session er udløbet.</value>
</data>
<data name="BiometricsDirection" xml:space="preserve">
<value>Benyt biometri til godkendelse.</value>
<value>Biometrisk godkendelse</value>
</data>
<data name="Biometrics" xml:space="preserve">
<value>Biometri</value>

View File

@@ -518,23 +518,29 @@
<data name="Lock" xml:space="preserve">
<value>Sperren</value>
</data>
<data name="LockOption15Minutes" xml:space="preserve">
<data name="FifteenMinutes" xml:space="preserve">
<value>15 Minuten</value>
</data>
<data name="LockOption1Hour" xml:space="preserve">
<data name="OneHour" xml:space="preserve">
<value>1 Stunde</value>
</data>
<data name="LockOption1Minute" xml:space="preserve">
<data name="OneMinute" xml:space="preserve">
<value>1 Minute</value>
</data>
<data name="LockOption4Hours" xml:space="preserve">
<data name="FourHours" xml:space="preserve">
<value>4 Stunden</value>
</data>
<data name="LockOptionImmediately" xml:space="preserve">
<data name="Immediately" xml:space="preserve">
<value>Sofort</value>
</data>
<data name="LockOptions" xml:space="preserve">
<value>Sperroptionen</value>
<data name="VaultTimeout" xml:space="preserve">
<value>Tresor-Timeout</value>
</data>
<data name="VaultTimeoutAction" xml:space="preserve">
<value>Aktion bei Tresor-Timeout</value>
</data>
<data name="VaultTimeoutLogOutConfirmation" xml:space="preserve">
<value>Nach dem Ausloggen verlieren Sie jeglichen Zugriff auf Ihren Tresor und es ist nach Ablauf der Timeout-Zeit eine Online-Authentifizierung erforderlich. Sind Sie sicher, dass Sie diese Einstellung nutzen möchten?</value>
</data>
<data name="LoggingIn" xml:space="preserve">
<value>Anmeldung läuft...</value>
@@ -756,13 +762,13 @@
<value>Die einfachste Möglichkeit, neue Anmeldedaten zu Ihrem Tresor hinzuzufügen, ist der automatische Fülldienst von Bitwarden. Erfahren Sie mehr über den automatischen Fülldienst von Bitwarden, indem Sie zu dem "Einstellungen"-Bildschirm navigieren.</value>
</data>
<data name="Autofill" xml:space="preserve">
<value>Auto-Ausfüllen</value>
<value>Automatisch Einfügen</value>
</data>
<data name="AutofillOrView" xml:space="preserve">
<value>Möchtest du diese Zugangsdaten automatisch einfügen oder ansehen?</value>
</data>
<data name="BitwardenAutofillServiceMatchConfirm" xml:space="preserve">
<value>Bist du sicher, dass du die Zugangsdaten einfügen möchten? Sie stimmen nicht komplett mit "{0}" überein.</value>
<value>Bist du sicher, dass du diesen Eintrag automatisch einfügen möchtest? Er stimmt nicht komplett mit "{0}" überein.</value>
</data>
<data name="MatchingItems" xml:space="preserve">
<value>Passende Einträge</value>
@@ -774,7 +780,7 @@
<value>Durchsuchen</value>
</data>
<data name="BitwardenAutofillServiceSearch" xml:space="preserve">
<value>Du suchst nach einem Auto-Fill Objekt für "{0}".</value>
<value>Du suchst nach einem Eintrag zum automatischen Einfügen für "{0}".</value>
</data>
<data name="ShareVault" xml:space="preserve">
<value>Ihren Tresor teilen</value>
@@ -1316,10 +1322,10 @@
<comment>A loading message when doing an exposed password check.</comment>
</data>
<data name="CheckPassword" xml:space="preserve">
<value>Überprüfen Sie, ob das Passwort entblößt wurde.</value>
<value>Überprüfen Sie, ob das Passwort kompromittiert wurde.</value>
</data>
<data name="PasswordExposed" xml:space="preserve">
<value>Dieses Passwort wurde {0}-mal in Datenlecks entblößt. Sie sollten es ändern.</value>
<value>Dieses Passwort wurde {0}-mal in Datenlecks gefunden. Sie sollten es ändern.</value>
</data>
<data name="PasswordSafe" xml:space="preserve">
<value>Dieses Passwort wurde in keinem bekannten Datenleck gefunden. Seine Verwendung sollte sicher sein.</value>
@@ -1433,12 +1439,9 @@
<data name="Unlock" xml:space="preserve">
<value>Entsperren</value>
</data>
<data name="LockOption30Minutes" xml:space="preserve">
<data name="ThirtyMinutes" xml:space="preserve">
<value>30 Minuten</value>
</data>
<data name="LockOption5Minutes" xml:space="preserve">
<value>5 Minuten</value>
</data>
<data name="SetPINDescription" xml:space="preserve">
<value>Legen Sie Ihre PIN für das Entsperren von Bitwarden fest. Ihre PIN-Einstellungen werden zurückgesetzt, wenn Sie sich jemals vollständig aus der Anwendung abmelden.</value>
</data>
@@ -1463,9 +1466,6 @@
<data name="FiveMinutes" xml:space="preserve">
<value>5 Minuten</value>
</data>
<data name="OneMinute" xml:space="preserve">
<value>1 Minute</value>
</data>
<data name="TenSeconds" xml:space="preserve">
<value>10 Sekunden</value>
</data>
@@ -1505,7 +1505,7 @@
<comment>Referring to restarting the application.</comment>
</data>
<data name="Restarting" xml:space="preserve">
<value>Neustarten...</value>
<value>Wird neugestartet...</value>
</data>
<data name="CopyNotes" xml:space="preserve">
<value>Notizen kopieren</value>
@@ -1517,7 +1517,7 @@
<value>Sind Sie sicher, dass Sie Bitwarden verlassen möchten?</value>
</data>
<data name="PINRequireMasterPasswordRestart" xml:space="preserve">
<value>Do you want to require unlocking with your master password when the application is restarted?</value>
<value>Möchten Sie mit Ihrem Master-Passwort entsperren, wenn die Anwendung neu gestartet wird?</value>
</data>
<data name="Black" xml:space="preserve">
<value>Schwarz</value>
@@ -1527,7 +1527,7 @@
<value>Gesperrte URIs</value>
</data>
<data name="BlacklistedUrisDescription" xml:space="preserve">
<value>URIs that are blacklisted will not offer auto-fill. The list of apps should be comma separated. Ex: "https://twitter.com, androidapp://com.twitter.android".</value>
<value>URIs auf der Sperrliste, werden nicht automatisch ausgefüllt. Die Listeneinträge sollten durch Komma getrennt sein. Z.B.: "https://twitter.com, androidapp://com.twitter.android".</value>
</data>
<data name="DisableSavePrompt" xml:space="preserve">
<value>Speichern-Prompt deaktivieren</value>
@@ -1535,8 +1535,8 @@
<data name="DisableSavePromptDescription" xml:space="preserve">
<value>Der "Speichern-Prompt" fordert Sie automatisch dazu auf, neue Einträge in den Tresor zu speichern, wenn Sie sie zum ersten Mal eingeben.</value>
</data>
<data name="LockOptionOnRestart" xml:space="preserve">
<value>Bei App Neustart</value>
<data name="OnRestart" xml:space="preserve">
<value>Beim Neustart der App</value>
</data>
<data name="AutofillServiceNotEnabled" xml:space="preserve">
<value>Durch automatisches Füllen ist es leicht, auf Ihren Bitwarden Tresor von anderen Webseiten und Apps sicher zuzugreifen. Es sieht aus, als ob Sie den Automatisches Fülldienst für Bitwarden nicht aktiviert haben. Aktivieren Sie automatisches Füllen im "Einstellungen"-Bildschirm.</value>
@@ -1567,10 +1567,10 @@
<value>Biometrische Daten zur Verifizierung nutzen.</value>
</data>
<data name="Biometrics" xml:space="preserve">
<value>Biometrisch</value>
<value>Biometrie-Verfahren</value>
</data>
<data name="UseBiometricsToUnlock" xml:space="preserve">
<value>Biometrische Daten zum entsperren verwenden</value>
<value>Biometrie zum Entsperren verwenden</value>
</data>
<data name="AccessibilityOverlayPermissionAlert" xml:space="preserve">
<value>Bitwarden braucht Aufmerksamkeit - Siehe "Auto-Fill-Bedienungshilfe" in den Bitwarden-Einstellungen</value>
@@ -1603,7 +1603,7 @@
<value>Dieser Export enthält Ihre Tresor-Daten in einem unverschlüsseltem Format. Sie sollten die Datei daher nicht über unsichere Kanäle (z.B. E-Mail) versenden oder speichern. Löschen Sie die Datei sofort nach ihrer Verwendung.</value>
</data>
<data name="Warning" xml:space="preserve">
<value>Achtung</value>
<value>Warnung</value>
</data>
<data name="ExportVaultFailure" xml:space="preserve">
<value>Beim Exportieren Ihres Tresors ist ein Problem aufgetreten. Wenn das Problem weiterhin besteht, müssen Sie aus dem Web-Tresor exportieren.</value>
@@ -1635,7 +1635,7 @@
<value>Keine Passwortfelder erkannt</value>
</data>
<data name="SoftDeleting" xml:space="preserve">
<value>Lege in den Papierkorb…</value>
<value>Wird in den Papierkorb verschoben…</value>
<comment>Message shown when interacting with the server</comment>
</data>
<data name="ItemSoftDeleted" xml:space="preserve">
@@ -1647,7 +1647,7 @@
<comment>Restores an entity (verb).</comment>
</data>
<data name="Restoring" xml:space="preserve">
<value>Stelle wieder her</value>
<value>Wird wiederhergestellt...</value>
<comment>Message shown when interacting with the server</comment>
</data>
<data name="ItemRestored" xml:space="preserve">

View File

@@ -519,23 +519,29 @@
<data name="Lock" xml:space="preserve">
<value>Κλείδωμα</value>
</data>
<data name="LockOption15Minutes" xml:space="preserve">
<data name="FifteenMinutes" xml:space="preserve">
<value>15 λεπτά</value>
</data>
<data name="LockOption1Hour" xml:space="preserve">
<data name="OneHour" xml:space="preserve">
<value>1 ώρα</value>
</data>
<data name="LockOption1Minute" xml:space="preserve">
<data name="OneMinute" xml:space="preserve">
<value>1 λεπτό</value>
</data>
<data name="LockOption4Hours" xml:space="preserve">
<data name="FourHours" xml:space="preserve">
<value>4 ώρες</value>
</data>
<data name="LockOptionImmediately" xml:space="preserve">
<data name="Immediately" xml:space="preserve">
<value>Άμεσα</value>
</data>
<data name="LockOptions" xml:space="preserve">
<value>Επιλογές Κλειδώματος</value>
<data name="VaultTimeout" xml:space="preserve">
<value>Χρόνος Λήξης Vault</value>
</data>
<data name="VaultTimeoutAction" xml:space="preserve">
<value>Ενέργεια Χρόνου Λήξης Vault</value>
</data>
<data name="VaultTimeoutLogOutConfirmation" xml:space="preserve">
<value>Η αποσύνδεση θα καταργήσει όλη την πρόσβαση στο vault σας και απαιτεί online έλεγχο ταυτότητας μετά το χρονικό όριο λήξης. Είστε βέβαιοι ότι θέλετε να χρησιμοποιήσετε αυτήν τη ρύθμιση;</value>
</data>
<data name="LoggingIn" xml:space="preserve">
<value>Σύνδεση...</value>
@@ -1133,7 +1139,7 @@
<value>Δεν υπάρχουν στοιχεία σε αυτόν τον φάκελο.</value>
</data>
<data name="NoItemsTrash" xml:space="preserve">
<value>There are no items in the trash.</value>
<value>Δεν υπάρχουν αντικείμενα στον κάδο απορριμμάτων.</value>
</data>
<data name="AutofillAccessibilityService" xml:space="preserve">
<value>Υπηρεσία προσβασιμότητας αυτόματης συμπλήρωσης</value>
@@ -1434,12 +1440,9 @@
<data name="Unlock" xml:space="preserve">
<value>Ξεκλείδωμα</value>
</data>
<data name="LockOption30Minutes" xml:space="preserve">
<data name="ThirtyMinutes" xml:space="preserve">
<value>30 λεπτά</value>
</data>
<data name="LockOption5Minutes" xml:space="preserve">
<value>5 λεπτά</value>
</data>
<data name="SetPINDescription" xml:space="preserve">
<value>Ορίστε τον κωδικό PIN για να ξεκλειδώσετε το Bitwarden. Οι ρυθμίσεις PIN θα επαναρυθμιστούν αν αποσυνδεθείτε πλήρως από την εφαρμογή.</value>
</data>
@@ -1464,9 +1467,6 @@
<data name="FiveMinutes" xml:space="preserve">
<value>5 λεπτά</value>
</data>
<data name="OneMinute" xml:space="preserve">
<value>1 λεπτό</value>
</data>
<data name="TenSeconds" xml:space="preserve">
<value>10 δευτερόλεπτα</value>
</data>
@@ -1536,7 +1536,7 @@
<data name="DisableSavePromptDescription" xml:space="preserve">
<value>Η "προτροπή αποθήκευσης" σας ζητάει αυτόματα να αποθηκεύετε νέα στοιχεία στο vault σας, κάθε φορά που τα εισάγετε για πρώτη φορά.</value>
</data>
<data name="LockOptionOnRestart" xml:space="preserve">
<data name="OnRestart" xml:space="preserve">
<value>Κατά την Επανεκκίνηση Εφαρμογής</value>
</data>
<data name="AutofillServiceNotEnabled" xml:space="preserve">
@@ -1636,43 +1636,43 @@
<value>Δεν εντοπίστηκαν πεδία κωδικού πρόσβασης</value>
</data>
<data name="SoftDeleting" xml:space="preserve">
<value>Sending to trash...</value>
<value>Αποστολή στον κάδο απορριμμάτων ...</value>
<comment>Message shown when interacting with the server</comment>
</data>
<data name="ItemSoftDeleted" xml:space="preserve">
<value>Item has been sent to trash.</value>
<value>Το στοιχείο έχει σταλεί στον κάδο απορριμμάτων.</value>
<comment>Confirmation message after successfully soft-deleting a login</comment>
</data>
<data name="Restore" xml:space="preserve">
<value>Restore</value>
<value>Ανάκτηση</value>
<comment>Restores an entity (verb).</comment>
</data>
<data name="Restoring" xml:space="preserve">
<value>Restoring...</value>
<value>Γίνεται επαναφορά...</value>
<comment>Message shown when interacting with the server</comment>
</data>
<data name="ItemRestored" xml:space="preserve">
<value>Item has been restored.</value>
<value>Το στοιχείο έχει ανακτηθεί.</value>
<comment>Confirmation message after successfully restoring a soft-deleted item</comment>
</data>
<data name="Trash" xml:space="preserve">
<value>Trash</value>
<value>Κάδος</value>
<comment>(noun) Location of deleted items which have not yet been permanently deleted</comment>
</data>
<data name="SearchTrash" xml:space="preserve">
<value>Search trash</value>
<value>Αναζήτηση Κάδου</value>
<comment>(action prompt) Label for the search text field when viewing the trash folder</comment>
</data>
<data name="DoYouReallyWantToPermanentlyDeleteCipher" xml:space="preserve">
<value>Do you really want to permanently delete? This cannot be undone.</value>
<value>Θέλετε πραγματικά να διαγράψετε οριστικά; Αυτό δεν μπορεί να αναιρεθεί.</value>
<comment>Confirmation alert message when permanently deleteing a cipher.</comment>
</data>
<data name="DoYouReallyWantToRestoreCipher" xml:space="preserve">
<value>Do you really want to restore this item?</value>
<value>Θέλετε πραγματικά να επαναφέρετε αυτό το στοιχείο;</value>
<comment>Confirmation alert message when restoring a soft-deleted cipher.</comment>
</data>
<data name="DoYouReallyWantToSoftDeleteCipher" xml:space="preserve">
<value>Do you really want to send to the trash?</value>
<value>Θέλετε πραγματικά να στείλετε στον κάδο απορριμμάτων;</value>
<comment>Confirmation alert message when soft-deleting a cipher.</comment>
</data>
</root>

View File

@@ -518,23 +518,29 @@
<data name="Lock" xml:space="preserve">
<value>Lock</value>
</data>
<data name="LockOption15Minutes" xml:space="preserve">
<data name="FifteenMinutes" xml:space="preserve">
<value>15 minutes</value>
</data>
<data name="LockOption1Hour" xml:space="preserve">
<data name="OneHour" xml:space="preserve">
<value>1 hour</value>
</data>
<data name="LockOption1Minute" xml:space="preserve">
<data name="OneMinute" xml:space="preserve">
<value>1 minute</value>
</data>
<data name="LockOption4Hours" xml:space="preserve">
<data name="FourHours" xml:space="preserve">
<value>4 hours</value>
</data>
<data name="LockOptionImmediately" xml:space="preserve">
<data name="Immediately" xml:space="preserve">
<value>Immediately</value>
</data>
<data name="LockOptions" xml:space="preserve">
<value>Lock options</value>
<data name="VaultTimeout" xml:space="preserve">
<value>Vault timeout</value>
</data>
<data name="VaultTimeoutAction" xml:space="preserve">
<value>Vault timeout action</value>
</data>
<data name="VaultTimeoutLogOutConfirmation" xml:space="preserve">
<value>Logging out will remove all access to your vault and requires online authentication after the timeout period. Are you sure you want to use this setting?</value>
</data>
<data name="LoggingIn" xml:space="preserve">
<value>Logging in...</value>
@@ -1433,12 +1439,9 @@
<data name="Unlock" xml:space="preserve">
<value>Unlock</value>
</data>
<data name="LockOption30Minutes" xml:space="preserve">
<data name="ThirtyMinutes" xml:space="preserve">
<value>30 minutes</value>
</data>
<data name="LockOption5Minutes" xml:space="preserve">
<value>5 minutes</value>
</data>
<data name="SetPINDescription" xml:space="preserve">
<value>Set your PIN code for unlocking Bitwarden. Your PIN settings will be reset if you ever fully log out of the application.</value>
</data>
@@ -1463,9 +1466,6 @@
<data name="FiveMinutes" xml:space="preserve">
<value>5 minutes</value>
</data>
<data name="OneMinute" xml:space="preserve">
<value>1 minute</value>
</data>
<data name="TenSeconds" xml:space="preserve">
<value>10 seconds</value>
</data>
@@ -1535,7 +1535,7 @@
<data name="DisableSavePromptDescription" xml:space="preserve">
<value>The "save prompt" automatically prompts you to save new items to your vault whenever you enter them for the first time.</value>
</data>
<data name="LockOptionOnRestart" xml:space="preserve">
<data name="OnRestart" xml:space="preserve">
<value>On app restart</value>
</data>
<data name="AutofillServiceNotEnabled" xml:space="preserve">

View File

@@ -518,23 +518,29 @@
<data name="Lock" xml:space="preserve">
<value>Bloquear</value>
</data>
<data name="LockOption15Minutes" xml:space="preserve">
<data name="FifteenMinutes" xml:space="preserve">
<value>15 minutos</value>
</data>
<data name="LockOption1Hour" xml:space="preserve">
<data name="OneHour" xml:space="preserve">
<value>1 hora</value>
</data>
<data name="LockOption1Minute" xml:space="preserve">
<data name="OneMinute" xml:space="preserve">
<value>1 minuto</value>
</data>
<data name="LockOption4Hours" xml:space="preserve">
<data name="FourHours" xml:space="preserve">
<value>4 horas</value>
</data>
<data name="LockOptionImmediately" xml:space="preserve">
<data name="Immediately" xml:space="preserve">
<value>Inmediatamente</value>
</data>
<data name="LockOptions" xml:space="preserve">
<value>Opciones de bloqueo</value>
<data name="VaultTimeout" xml:space="preserve">
<value>Tiempo de espera de la bóveda</value>
</data>
<data name="VaultTimeoutAction" xml:space="preserve">
<value>Acción de tiempo de espera de la bóveda</value>
</data>
<data name="VaultTimeoutLogOutConfirmation" xml:space="preserve">
<value>Cerrar sesión eliminará todo el acceso a su bóveda y requiere autenticación en línea después del período de espera. ¿Estás seguro de que quieres usar esta configuración?</value>
</data>
<data name="LoggingIn" xml:space="preserve">
<value>Iniciando sesión...</value>
@@ -1132,7 +1138,7 @@
<value>No hay elementos en esta carpeta.</value>
</data>
<data name="NoItemsTrash" xml:space="preserve">
<value>There are no items in the trash.</value>
<value>No hay elementos en la papelera.</value>
</data>
<data name="AutofillAccessibilityService" xml:space="preserve">
<value>Servicio de accesibilidad de autorellenado</value>
@@ -1433,12 +1439,9 @@
<data name="Unlock" xml:space="preserve">
<value>Desbloquear</value>
</data>
<data name="LockOption30Minutes" xml:space="preserve">
<data name="ThirtyMinutes" xml:space="preserve">
<value>30 minutos</value>
</data>
<data name="LockOption5Minutes" xml:space="preserve">
<value>5 minutos</value>
</data>
<data name="SetPINDescription" xml:space="preserve">
<value>Establece tu código PIN para desbloquear Bitwarden. Tus ajustes de PIN se reiniciarán si alguna vez cierras tu sesión completamente de la aplicación.</value>
</data>
@@ -1463,9 +1466,6 @@
<data name="FiveMinutes" xml:space="preserve">
<value>5 minutos</value>
</data>
<data name="OneMinute" xml:space="preserve">
<value>1 minuto</value>
</data>
<data name="TenSeconds" xml:space="preserve">
<value>10 segundos</value>
</data>
@@ -1517,7 +1517,7 @@
<value>¿Estás seguro de que deseas salir de Bitwarden?</value>
</data>
<data name="PINRequireMasterPasswordRestart" xml:space="preserve">
<value>Do you want to require unlocking with your master password when the application is restarted?</value>
<value>You you want to require unlocking with your master password when the application is restarted?</value>
</data>
<data name="Black" xml:space="preserve">
<value>Negro</value>
@@ -1535,8 +1535,8 @@
<data name="DisableSavePromptDescription" xml:space="preserve">
<value>La "Notificación para añadir entradas" pregunta automáticamente si quieres salvar nuevas entradas en tu caja fuerte cuando te identificas en un sitio web por primera vez.</value>
</data>
<data name="LockOptionOnRestart" xml:space="preserve">
<value>Al reiniciar la App</value>
<data name="OnRestart" xml:space="preserve">
<value>Al reiniciar la aplicación</value>
</data>
<data name="AutofillServiceNotEnabled" xml:space="preserve">
<value>El autocompletado facilita el acceso seguro a la caja fuerte de Bitwarden desde otros sitios web y aplicaciones. Parece que no has habilitado un servicio de autocompletado para Bitwarden. Habilita el autocompletado para Bitwarden desde la pantalla "Ajustes".</value>
@@ -1635,43 +1635,43 @@
<value>No se han detectado campos de contraseña</value>
</data>
<data name="SoftDeleting" xml:space="preserve">
<value>Sending to trash...</value>
<value>Enviando a la papelera...</value>
<comment>Message shown when interacting with the server</comment>
</data>
<data name="ItemSoftDeleted" xml:space="preserve">
<value>Item has been sent to trash.</value>
<value>El elemento ha sido enviado a la papelera.</value>
<comment>Confirmation message after successfully soft-deleting a login</comment>
</data>
<data name="Restore" xml:space="preserve">
<value>Restore</value>
<value>Restaurar</value>
<comment>Restores an entity (verb).</comment>
</data>
<data name="Restoring" xml:space="preserve">
<value>Restoring...</value>
<value>Restaurando...</value>
<comment>Message shown when interacting with the server</comment>
</data>
<data name="ItemRestored" xml:space="preserve">
<value>Item has been restored.</value>
<value>El elemento ha sido restaurado.</value>
<comment>Confirmation message after successfully restoring a soft-deleted item</comment>
</data>
<data name="Trash" xml:space="preserve">
<value>Trash</value>
<value>Papelera</value>
<comment>(noun) Location of deleted items which have not yet been permanently deleted</comment>
</data>
<data name="SearchTrash" xml:space="preserve">
<value>Search trash</value>
<value>Buscar en la papelera</value>
<comment>(action prompt) Label for the search text field when viewing the trash folder</comment>
</data>
<data name="DoYouReallyWantToPermanentlyDeleteCipher" xml:space="preserve">
<value>Do you really want to permanently delete? This cannot be undone.</value>
<value>¿Seguro que quieres eliminarlo permanentemente? Esto no se puede deshacer.</value>
<comment>Confirmation alert message when permanently deleteing a cipher.</comment>
</data>
<data name="DoYouReallyWantToRestoreCipher" xml:space="preserve">
<value>Do you really want to restore this item?</value>
<value>¿Seguro que quieres restaurar este elemento?</value>
<comment>Confirmation alert message when restoring a soft-deleted cipher.</comment>
</data>
<data name="DoYouReallyWantToSoftDeleteCipher" xml:space="preserve">
<value>Do you really want to send to the trash?</value>
<value>¿Seguro que quieres enviarlo a la papelera?</value>
<comment>Confirmation alert message when soft-deleting a cipher.</comment>
</data>
</root>

View File

@@ -518,23 +518,29 @@
<data name="Lock" xml:space="preserve">
<value>Lukusta</value>
</data>
<data name="LockOption15Minutes" xml:space="preserve">
<data name="FifteenMinutes" xml:space="preserve">
<value>15 minuti pärast</value>
</data>
<data name="LockOption1Hour" xml:space="preserve">
<data name="OneHour" xml:space="preserve">
<value>1 tunni pärast</value>
</data>
<data name="LockOption1Minute" xml:space="preserve">
<data name="OneMinute" xml:space="preserve">
<value>1 minuti pärast</value>
</data>
<data name="LockOption4Hours" xml:space="preserve">
<data name="FourHours" xml:space="preserve">
<value>4 tunni pärast</value>
</data>
<data name="LockOptionImmediately" xml:space="preserve">
<data name="Immediately" xml:space="preserve">
<value>Koheselt</value>
</data>
<data name="LockOptions" xml:space="preserve">
<value>Lukustamine</value>
<data name="VaultTimeout" xml:space="preserve">
<value>Hoidla ajalõpp</value>
</data>
<data name="VaultTimeoutAction" xml:space="preserve">
<value>Hoidla ajalõpu tegevus</value>
</data>
<data name="VaultTimeoutLogOutConfirmation" xml:space="preserve">
<value>Väljalogimine eemaldab hoidlale ligipääsu ning nõuab pärast ajalõpu perioodi uuesti autentimist. Oled kindel, et soovid seda valikut kasutada?</value>
</data>
<data name="LoggingIn" xml:space="preserve">
<value>Sisselogimine...</value>
@@ -1433,12 +1439,9 @@
<data name="Unlock" xml:space="preserve">
<value>Lukusta lahti</value>
</data>
<data name="LockOption30Minutes" xml:space="preserve">
<data name="ThirtyMinutes" xml:space="preserve">
<value>30 minuti pärast</value>
</data>
<data name="LockOption5Minutes" xml:space="preserve">
<value>5 minuti pärast</value>
</data>
<data name="SetPINDescription" xml:space="preserve">
<value>Määra Bitwardeni lahtilukustamiseks PIN kood. Rakendusest täielikult välja logides nullitakse ka PIN koodi seaded.</value>
</data>
@@ -1463,9 +1466,6 @@
<data name="FiveMinutes" xml:space="preserve">
<value>5 minuti pärast</value>
</data>
<data name="OneMinute" xml:space="preserve">
<value>1 minuti pärast</value>
</data>
<data name="TenSeconds" xml:space="preserve">
<value>10 sekundi pärast</value>
</data>
@@ -1517,7 +1517,7 @@
<value>Kas soovid tõesti Bitwardeni sulgeda?</value>
</data>
<data name="PINRequireMasterPasswordRestart" xml:space="preserve">
<value>Do you want to require unlocking with your master password when the application is restarted?</value>
<value>You you want to require unlocking with your master password when the application is restarted?</value>
</data>
<data name="Black" xml:space="preserve">
<value>Must</value>
@@ -1535,7 +1535,7 @@
<data name="DisableSavePromptDescription" xml:space="preserve">
<value>"Lisa konto andmed" märguanne ilmub pärast esimest sisselogimist ning võimaldab kontoandmeid salvestada.</value>
</data>
<data name="LockOptionOnRestart" xml:space="preserve">
<data name="OnRestart" xml:space="preserve">
<value>Äpi taaskäivitamisel</value>
</data>
<data name="AutofillServiceNotEnabled" xml:space="preserve">

View File

@@ -507,7 +507,7 @@
<value>شما میتوانید موارد را بصورت فله ای در گاوصندوق وب bitwarden.com وارد کنید. آیا مایل به دیدن وبسایت هستید؟</value>
</data>
<data name="ImportItemsDescription" xml:space="preserve">
<value>موارد مهم خود را سریعاً از دیگر برنامه های مدیریت رمز عبور وارد کنید.</value>
<value>موارد مهم خود را سریعاً از دیگر برنامه های مدیریت کلمه عبور وارد کنید.</value>
</data>
<data name="LastSync" xml:space="preserve">
<value>آخرین همگام‌سازی:</value>
@@ -518,23 +518,29 @@
<data name="Lock" xml:space="preserve">
<value>قفل</value>
</data>
<data name="LockOption15Minutes" xml:space="preserve">
<data name="FifteenMinutes" xml:space="preserve">
<value>۱۵ دقیقه</value>
</data>
<data name="LockOption1Hour" xml:space="preserve">
<data name="OneHour" xml:space="preserve">
<value>۱ ساعت</value>
</data>
<data name="LockOption1Minute" xml:space="preserve">
<data name="OneMinute" xml:space="preserve">
<value>۱ دقیقه</value>
</data>
<data name="LockOption4Hours" xml:space="preserve">
<data name="FourHours" xml:space="preserve">
<value>۴ ساعت</value>
</data>
<data name="LockOptionImmediately" xml:space="preserve">
<data name="Immediately" xml:space="preserve">
<value>بلافاصله</value>
</data>
<data name="LockOptions" xml:space="preserve">
<value>گزینه‌های قفل</value>
<data name="VaultTimeout" xml:space="preserve">
<value>متوقف شدن گاو‌صندوق</value>
</data>
<data name="VaultTimeoutAction" xml:space="preserve">
<value>عمل متوقف شدن گاو‌صندوق</value>
</data>
<data name="VaultTimeoutLogOutConfirmation" xml:space="preserve">
<value>خروج از سیستم تمام دسترسی ها به گاو‌صندوق شما را از بین می برد و نیاز به احراز هویت آنلاین پس از مدت زمان توقف دارد. آیا مطمئن هستید که می خواهید از این تنظیمات استفاده کنید؟</value>
</data>
<data name="LoggingIn" xml:space="preserve">
<value>در حال ورود...</value>
@@ -550,16 +556,16 @@
<value>تایید کلمه عبور صحیح نیست.</value>
</data>
<data name="MasterPasswordDescription" xml:space="preserve">
<value>گذرواژه اصلی رمز عبوری است که شما برای دسترسی به گاوصندوق خود استفاده میکنید. بیاد داشتن گذرواژه اصلی بسیار اهمیت دارد. اگر فراموشش کنید هیچ راهی برای بازگردانی آن وجود ندارد.</value>
<value>کلمه عبور اصلی کلمه عبوری است که شما برای دسترسی به گاوصندوق خود استفاده میکنید. بیاد داشتن کلمه عبور اصلی بسیار اهمیت دارد. اگر فراموشش کنید هیچ راهی برای بازگردانی آن وجود ندارد.</value>
</data>
<data name="MasterPasswordHint" xml:space="preserve">
<value>راهنمای گذرواژه اصلی (اختیاری)</value>
<value>راهنمای کلمه عبور اصلی (اختیاری)</value>
</data>
<data name="MasterPasswordHintDescription" xml:space="preserve">
<value>راهنمای گذرواژه اصلی می تواند در صورت فراموشی آن را بیاد بیارید.</value>
<value>راهنمای کلمه عبور اصلی می تواند در صورت فراموشی آن را بیاد بیارید.</value>
</data>
<data name="MasterPasswordLengthValMessage" xml:space="preserve">
<value>طول گذرواژه اصلی باید حداقل ۸ کاراکتر باشد.</value>
<value>طول کلمه عبور اصلی باید حداقل ۸ کاراکتر باشد.</value>
</data>
<data name="MinNumbers" xml:space="preserve">
<value>حداقل اعداد</value>
@@ -591,14 +597,14 @@
<value>هیج علاقه مندی برای این وب سایت در گاوصندوقتان موجود نیست. برای افزودن ضربه بزنید.</value>
</data>
<data name="NoUsernamePasswordConfigured" xml:space="preserve">
<value>این ورود هیچ نام کاربری و رمز عبور پیکربندی شده ای ندارد.</value>
<value>این ورود هیچ نام کاربری و کلمه عبور پیکربندی شده ای ندارد.</value>
</data>
<data name="OkGotIt" xml:space="preserve">
<value>باشه، فهمیدم!</value>
<comment>Confirmation, like "Ok, I understand it"</comment>
</data>
<data name="OptionDefaults" xml:space="preserve">
<value>گزینه های پیش فرض از ابزار تولید رمز عبور Bitwarden تنظیم شد.</value>
<value>گزینه های پیش فرض از ابزار تولید کلمه عبور Bitwarden تنظیم شد.</value>
</data>
<data name="Options" xml:space="preserve">
<value>گزینه‌ها</value>
@@ -616,10 +622,10 @@
<value>راهنمای کلمه عبور</value>
</data>
<data name="PasswordHintAlert" xml:space="preserve">
<value>ما یک رایانامه همراه با راهنمای گذرواژه اصلی برایتان ارسال کردیم.</value>
<value>ما یک رایانامه همراه با راهنمای کلمه عبور اصلی برایتان ارسال کردیم.</value>
</data>
<data name="PasswordOverrideAlert" xml:space="preserve">
<value>آیا از بازنویسی بر روی رمز عبور فعلی مطمئن هستید؟</value>
<value>آیا از بازنویسی بر روی کلمه عبور فعلی مطمئن هستید؟</value>
</data>
<data name="PushNotificationAlert" xml:space="preserve">
<value>Bitwarden گاوصندوق شما را بصورت خودکار از طریق نشان دادن اطلاعیه ها به هنگام سازی میکند. برای بهترین تجربه کاربری ممکن، لطفاً زمانی که از شما پرسیده شد "مجاز" را سریعاً انتخاب کنید تا نمایش اعلانیه ها فعال شود.</value>
@@ -632,10 +638,10 @@
<value>لطفاً با یک بررسی خوب به ما کمک کنید!</value>
</data>
<data name="RegeneratePassword" xml:space="preserve">
<value>تولید رمز عبور</value>
<value>تولید کلمه عبور</value>
</data>
<data name="RetypeMasterPassword" xml:space="preserve">
<value>تایپ دوباره گذرواژه اصلی</value>
<value>تایپ دوباره کلمه عبور اصلی</value>
</data>
<data name="SearchVault" xml:space="preserve">
<value>جستجوی گاوصندوق</value>
@@ -1263,7 +1269,7 @@
<value>پیشهاز ما این است که اگر از اپ های پرکردن خودکار دیگری استفاده میکنید آنها را غیرفعال کنید اگر برنامه ای برای استفاده از آنها ندارید.</value>
</data>
<data name="BitwardenAutofillDescription" xml:space="preserve">
<value>دسترسی به گاوصندوقتان بصورت مستقیم از طرق کیبوردتان برای سریعتر پرکردن خودکار رمزهای عبور.</value>
<value>دسترسی به گاوصندوقتان بصورت مستقیم از طرق کیبوردتان برای سریعتر پرکردن خودکار کلمه های عبور.</value>
</data>
<data name="AutofillTurnOn" xml:space="preserve">
<value>برای فعال کردن پر کردن خودکار کلمه عبور بر روی دستگاهتان، این دستورالعمل ها را دنبال کنید:</value>
@@ -1287,7 +1293,7 @@
<value>پرکردن خودکار کلمه عبور</value>
</data>
<data name="BitwardenAutofillAlert2" xml:space="preserve">
<value>ساده ترین روش برای افزودن اطلاعات ورود به گاوصندوق از طریق افزونه پرکردن خودکار رمز عبور Bitwarden است. برای اطلاع بیشتر از چگونگی استفاده از پرکردن خودکار رمز عبور Bitwarden مرورکردن صفحه "تنظیمات" است.</value>
<value>ساده ترین روش برای افزودن اطلاعات ورود به گاوصندوق از طریق افزونه پرکردن خودکار رمز عبور Bitwarden است. برای اطلاع بیشتر از چگونگی استفاده از پرکردن خودکار کلمه عبور Bitwarden مرورکردن صفحه "تنظیمات" است.</value>
</data>
<data name="InvalidEmail" xml:space="preserve">
<value>نشانی رایانامه نامعتبر است.</value>
@@ -1312,17 +1318,17 @@
<comment>Plural form of a URI</comment>
</data>
<data name="CheckingPassword" xml:space="preserve">
<value>درحال بررسی گذرواژه…</value>
<value>درحال بررسی کلمه عبور…</value>
<comment>A loading message when doing an exposed password check.</comment>
</data>
<data name="CheckPassword" xml:space="preserve">
<value>بررسی کنید که آیا رمز عبور افشا شده است.</value>
<value>بررسی کنید که آیا کلمه عبور افشا شده است.</value>
</data>
<data name="PasswordExposed" xml:space="preserve">
<value>این رمز عبور در رخنه داده ها {0} بار افشا شده است. باید تغییرش دهید.</value>
<value>این کلمه عبور در رخنه داده ها {0} بار افشا شده است. باید تغییرش دهید.</value>
</data>
<data name="PasswordSafe" xml:space="preserve">
<value>این رمز عبور در هیچ رخنه داده ای شناخته نشده است. باید برای امنیت از آن استفاده کنید.</value>
<value>این کلمه عبور در هیچ رخنه داده ای شناخته نشده است. باید برای امنیت از آن استفاده کنید.</value>
</data>
<data name="IdentityName" xml:space="preserve">
<value>نام شناسایی</value>
@@ -1433,12 +1439,9 @@
<data name="Unlock" xml:space="preserve">
<value>باز کردن قفل</value>
</data>
<data name="LockOption30Minutes" xml:space="preserve">
<data name="ThirtyMinutes" xml:space="preserve">
<value>۳۰ دقیقه</value>
</data>
<data name="LockOption5Minutes" xml:space="preserve">
<value>۵ دقیقه</value>
</data>
<data name="SetPINDescription" xml:space="preserve">
<value>پین کد خود را برای باز کردن بیت واردن خود استفاده کنید. اگر به صورت کامل از حساب خود خارج شوید تنظیمات پین شما ریست می شود.</value>
</data>
@@ -1447,10 +1450,10 @@
<comment>ex: Logged in as user@example.com on bitwarden.com.</comment>
</data>
<data name="VaultLockedMasterPassword" xml:space="preserve">
<value>گاوصندوق شما فقل شد. برای ادامه گذرواژه اصلی را وارد کنید.</value>
<value>گاوصندوق شما فقل شد. برای ادامه کلمه عبور اصلی را وارد کنید.</value>
</data>
<data name="VaultLockedPIN" xml:space="preserve">
<value>گاوصندوق شما قفل شده است. برای ادامه کد پین خود را تایید کنید.</value>
<value>گاوصندوق شما قفل شده است. برای ادامه کد پین خود را تأیید کنید.</value>
</data>
<data name="Dark" xml:space="preserve">
<value>تیره</value>
@@ -1463,9 +1466,6 @@
<data name="FiveMinutes" xml:space="preserve">
<value>۵ دقیقه</value>
</data>
<data name="OneMinute" xml:space="preserve">
<value>۱ دقیقه</value>
</data>
<data name="TenSeconds" xml:space="preserve">
<value>۱۰ ثانیه</value>
</data>
@@ -1517,7 +1517,7 @@
<value>آیا مطمئنید که می‌خواهید از Bitwarden خارج شوید؟</value>
</data>
<data name="PINRequireMasterPasswordRestart" xml:space="preserve">
<value>Do you want to require unlocking with your master password when the application is restarted?</value>
<value>You you want to require unlocking with your master password when the application is restarted?</value>
</data>
<data name="Black" xml:space="preserve">
<value>سیاه</value>
@@ -1535,7 +1535,7 @@
<data name="DisableSavePromptDescription" xml:space="preserve">
<value>"ذخیره سریع" به صورت خودکار باعث افزایش سرعت شما برای ذخیره موارد جدید در گاوصندوقتان می شود زمانی که شما آنها را برای اولین بار وارد میکند.</value>
</data>
<data name="LockOptionOnRestart" xml:space="preserve">
<data name="OnRestart" xml:space="preserve">
<value>راه اندازی مجدد در برنامه</value>
</data>
<data name="AutofillServiceNotEnabled" xml:space="preserve">
@@ -1597,7 +1597,7 @@
<value>فرمت پرونده</value>
</data>
<data name="ExportVaultMasterPasswordDescription" xml:space="preserve">
<value>گذرواژه اصلی اصلی خود را برای خروجی گرفتن از گاوصندوقتان وارد کنید.</value>
<value>کلمه عبور اصلی اصلی خود را برای خروجی گرفتن از گاوصندوقتان وارد کنید.</value>
</data>
<data name="ExportVaultWarning" xml:space="preserve">
<value>این خروجی شامل داده‌های گاوصندوق در یک قالب رمزنگاری نشده است. شما نباید آن را از طریق یک راه ارتباطی ناامن (مثل ایمیل) ذخیره یا ارسال کنید. به محض اینکه استفاده‌تان از آن تمام شد، آن را حذف کنید.</value>

View File

@@ -518,23 +518,29 @@
<data name="Lock" xml:space="preserve">
<value>Lukitse</value>
</data>
<data name="LockOption15Minutes" xml:space="preserve">
<data name="FifteenMinutes" xml:space="preserve">
<value>15 minuuttia</value>
</data>
<data name="LockOption1Hour" xml:space="preserve">
<data name="OneHour" xml:space="preserve">
<value>1 tunti</value>
</data>
<data name="LockOption1Minute" xml:space="preserve">
<data name="OneMinute" xml:space="preserve">
<value>1 minuutti</value>
</data>
<data name="LockOption4Hours" xml:space="preserve">
<data name="FourHours" xml:space="preserve">
<value>4 tuntia</value>
</data>
<data name="LockOptionImmediately" xml:space="preserve">
<data name="Immediately" xml:space="preserve">
<value>Välittömästi</value>
</data>
<data name="LockOptions" xml:space="preserve">
<value>Lukitseminen</value>
<data name="VaultTimeout" xml:space="preserve">
<value>Holvin aikakatkaisu</value>
</data>
<data name="VaultTimeoutAction" xml:space="preserve">
<value>Holvin aikakatkaisutoiminto</value>
</data>
<data name="VaultTimeoutLogOutConfirmation" xml:space="preserve">
<value>Uloskirjautuminen poistaa kaiken pääsyn holviisi ja vaatii online-todennuksen aikakatkaisuajan jälkeen. Haluatko varmasti käyttää tätä asetusta?</value>
</data>
<data name="LoggingIn" xml:space="preserve">
<value>Kirjaudutaan sisään…</value>
@@ -1433,12 +1439,9 @@
<data name="Unlock" xml:space="preserve">
<value>Avaa</value>
</data>
<data name="LockOption30Minutes" xml:space="preserve">
<data name="ThirtyMinutes" xml:space="preserve">
<value>30 minuuttia</value>
</data>
<data name="LockOption5Minutes" xml:space="preserve">
<value>5 minuuttia</value>
</data>
<data name="SetPINDescription" xml:space="preserve">
<value>Aseta PIN-koodi Bitwardenin avaamista varten. PIN-asetukset nollautuvat, jos kirjaudut täysin ulos sovelluksesta.</value>
</data>
@@ -1463,9 +1466,6 @@
<data name="FiveMinutes" xml:space="preserve">
<value>5 minuuttia</value>
</data>
<data name="OneMinute" xml:space="preserve">
<value>1 minuutti</value>
</data>
<data name="TenSeconds" xml:space="preserve">
<value>10 sekuntia</value>
</data>
@@ -1535,7 +1535,7 @@
<data name="DisableSavePromptDescription" xml:space="preserve">
<value>Tallennuskehote kysyy, haluatko tallentaa kirjautumistiedot holviisi, kun kirjaudut sivustoille ensimmäistä kertaa.</value>
</data>
<data name="LockOptionOnRestart" xml:space="preserve">
<data name="OnRestart" xml:space="preserve">
<value>Sovellusta uudelleenkäynnistettäessä</value>
</data>
<data name="AutofillServiceNotEnabled" xml:space="preserve">

View File

@@ -518,23 +518,29 @@
<data name="Lock" xml:space="preserve">
<value>Verrouiller</value>
</data>
<data name="LockOption15Minutes" xml:space="preserve">
<data name="FifteenMinutes" xml:space="preserve">
<value>15 minutes</value>
</data>
<data name="LockOption1Hour" xml:space="preserve">
<data name="OneHour" xml:space="preserve">
<value>1 heure</value>
</data>
<data name="LockOption1Minute" xml:space="preserve">
<data name="OneMinute" xml:space="preserve">
<value>1 minute</value>
</data>
<data name="LockOption4Hours" xml:space="preserve">
<data name="FourHours" xml:space="preserve">
<value>4 heures</value>
</data>
<data name="LockOptionImmediately" xml:space="preserve">
<data name="Immediately" xml:space="preserve">
<value>Immédiatement</value>
</data>
<data name="LockOptions" xml:space="preserve">
<value>Options de verrouillage</value>
<data name="VaultTimeout" xml:space="preserve">
<value>Délai d'expiration du coffre</value>
</data>
<data name="VaultTimeoutAction" xml:space="preserve">
<value>Action lors de l'expiration du délai du coffre</value>
</data>
<data name="VaultTimeoutLogOutConfirmation" xml:space="preserve">
<value>La déconnexion supprimera tous les accès à votre coffre et nécessite une authentification en ligne après la période d'expiration. Êtes-vous sûr de vouloir utiliser ce paramètre ?</value>
</data>
<data name="LoggingIn" xml:space="preserve">
<value>Identification...</value>
@@ -1433,12 +1439,9 @@
<data name="Unlock" xml:space="preserve">
<value>Déverrouiller</value>
</data>
<data name="LockOption30Minutes" xml:space="preserve">
<data name="ThirtyMinutes" xml:space="preserve">
<value>30 minutes</value>
</data>
<data name="LockOption5Minutes" xml:space="preserve">
<value>5 minutes</value>
</data>
<data name="SetPINDescription" xml:space="preserve">
<value>Définissez votre code PIN pour déverrouiller Bitwarden. Les paramètres relatifs à votre code PIN seront réinitialisés si vous vous déconnectez complètement de l'application.</value>
</data>
@@ -1463,9 +1466,6 @@
<data name="FiveMinutes" xml:space="preserve">
<value>5 minutes</value>
</data>
<data name="OneMinute" xml:space="preserve">
<value>1 minute</value>
</data>
<data name="TenSeconds" xml:space="preserve">
<value>10 secondes</value>
</data>
@@ -1535,7 +1535,7 @@
<data name="DisableSavePromptDescription" xml:space="preserve">
<value>La "Demande d'enregistrement" vous invite automatiquement à enregistrer de nouveaux éléments dans votre coffre à chaque fois que vous les entrez pour la première fois.</value>
</data>
<data name="LockOptionOnRestart" xml:space="preserve">
<data name="OnRestart" xml:space="preserve">
<value>Au redémarrage de l'application</value>
</data>
<data name="AutofillServiceNotEnabled" xml:space="preserve">
@@ -1564,7 +1564,7 @@
<value>Votre session a expiré.</value>
</data>
<data name="BiometricsDirection" xml:space="preserve">
<value>Utilisez une empreinte biométrique pour vous authentifier.</value>
<value>Utiliser une empreinte biométrique pour vérifier.</value>
</data>
<data name="Biometrics" xml:space="preserve">
<value>Empreintes biométriques</value>

View File

@@ -518,23 +518,29 @@
<data name="Lock" xml:space="preserve">
<value>נעל</value>
</data>
<data name="LockOption15Minutes" xml:space="preserve">
<data name="FifteenMinutes" xml:space="preserve">
<value>15 דקות</value>
</data>
<data name="LockOption1Hour" xml:space="preserve">
<value>שעה</value>
<data name="OneHour" xml:space="preserve">
<value>1 שעה</value>
</data>
<data name="LockOption1Minute" xml:space="preserve">
<value>דקה</value>
<data name="OneMinute" xml:space="preserve">
<value>דקה אחת</value>
</data>
<data name="LockOption4Hours" xml:space="preserve">
<data name="FourHours" xml:space="preserve">
<value>4 שעות</value>
</data>
<data name="LockOptionImmediately" xml:space="preserve">
<value>באופן מיידי</value>
<data name="Immediately" xml:space="preserve">
<value>מיד</value>
</data>
<data name="LockOptions" xml:space="preserve">
<value>אפשרויות נעילה</value>
<data name="VaultTimeout" xml:space="preserve">
<value>משך זמן מירבי עבור חיבור לכספת</value>
</data>
<data name="VaultTimeoutAction" xml:space="preserve">
<value>פעולה לביצוע בכספת בתום זמן החיבור</value>
</data>
<data name="VaultTimeoutLogOutConfirmation" xml:space="preserve">
<value>יציאה תגרום להסרת כל גישה שיש לך לכספת ודורשת אימות אונליין לאחר משך זמן מסויים. האם אתה בטוח שברצונך להשתמש באפשרות זו?</value>
</data>
<data name="LoggingIn" xml:space="preserve">
<value>מתחבר...</value>
@@ -1133,7 +1139,7 @@ Bitwarden בעזרת פתיחת חלון "הגדרות".</value>
<value>אין פריטים בתיקיה זו.</value>
</data>
<data name="NoItemsTrash" xml:space="preserve">
<value>There are no items in the trash.</value>
<value>אין פריטים בסל המחזור.</value>
</data>
<data name="AutofillAccessibilityService" xml:space="preserve">
<value>שירות נגישות עבור ההשלמה האוטומטית</value>
@@ -1434,12 +1440,9 @@ Bitwarden בעזרת פתיחת חלון "הגדרות".</value>
<data name="Unlock" xml:space="preserve">
<value>בטל נעילה</value>
</data>
<data name="LockOption30Minutes" xml:space="preserve">
<data name="ThirtyMinutes" xml:space="preserve">
<value>30 דקות</value>
</data>
<data name="LockOption5Minutes" xml:space="preserve">
<value>5 דקות</value>
</data>
<data name="SetPINDescription" xml:space="preserve">
<value>קבע קוד PIN לביטול נעילת Bitwarden. הגדרות הPIN יאופסו אם תבצע יציאה מהתוכנה.</value>
</data>
@@ -1464,9 +1467,6 @@ Bitwarden בעזרת פתיחת חלון "הגדרות".</value>
<data name="FiveMinutes" xml:space="preserve">
<value>5 דקות</value>
</data>
<data name="OneMinute" xml:space="preserve">
<value>דקה אחת</value>
</data>
<data name="TenSeconds" xml:space="preserve">
<value>10 שניות</value>
</data>
@@ -1536,7 +1536,7 @@ Bitwarden בעזרת פתיחת חלון "הגדרות".</value>
<data name="DisableSavePromptDescription" xml:space="preserve">
<value>החלון "שמור" מופיע כשאתה מזין פרטי כניסה בפעם הראשונה.</value>
</data>
<data name="LockOptionOnRestart" xml:space="preserve">
<data name="OnRestart" xml:space="preserve">
<value>באתחול האפליקציה</value>
</data>
<data name="AutofillServiceNotEnabled" xml:space="preserve">
@@ -1636,43 +1636,43 @@ Bitwarden בעזרת פתיחת חלון "הגדרות".</value>
<value>לא זוהו תיבות לכתיבת סיסמאות</value>
</data>
<data name="SoftDeleting" xml:space="preserve">
<value>Sending to trash...</value>
<value>שולח לסל המחזור...</value>
<comment>Message shown when interacting with the server</comment>
</data>
<data name="ItemSoftDeleted" xml:space="preserve">
<value>Item has been sent to trash.</value>
<value>הפריט הועבר לסל המחזור.</value>
<comment>Confirmation message after successfully soft-deleting a login</comment>
</data>
<data name="Restore" xml:space="preserve">
<value>Restore</value>
<value>שחזור</value>
<comment>Restores an entity (verb).</comment>
</data>
<data name="Restoring" xml:space="preserve">
<value>Restoring...</value>
<value>משחזר...</value>
<comment>Message shown when interacting with the server</comment>
</data>
<data name="ItemRestored" xml:space="preserve">
<value>Item has been restored.</value>
<value>הפריט שוחזר.</value>
<comment>Confirmation message after successfully restoring a soft-deleted item</comment>
</data>
<data name="Trash" xml:space="preserve">
<value>Trash</value>
<value>סל המחזור</value>
<comment>(noun) Location of deleted items which have not yet been permanently deleted</comment>
</data>
<data name="SearchTrash" xml:space="preserve">
<value>Search trash</value>
<value>חפש בסל המחזור</value>
<comment>(action prompt) Label for the search text field when viewing the trash folder</comment>
</data>
<data name="DoYouReallyWantToPermanentlyDeleteCipher" xml:space="preserve">
<value>Do you really want to permanently delete? This cannot be undone.</value>
<value>האם אתה בטוח שברצונך למחוק? זוהי פעולה בלתי הפיכה.</value>
<comment>Confirmation alert message when permanently deleteing a cipher.</comment>
</data>
<data name="DoYouReallyWantToRestoreCipher" xml:space="preserve">
<value>Do you really want to restore this item?</value>
<value>האם אתה בטוח שברצונך לשחזר פריט זה?</value>
<comment>Confirmation alert message when restoring a soft-deleted cipher.</comment>
</data>
<data name="DoYouReallyWantToSoftDeleteCipher" xml:space="preserve">
<value>Do you really want to send to the trash?</value>
<value>האם אתה בטוח שברצונך לשלוח פריט זה לסל המחזור?</value>
<comment>Confirmation alert message when soft-deleting a cipher.</comment>
</data>
</root>

View File

@@ -172,14 +172,14 @@
<comment>Message shown when interacting with the server</comment>
</data>
<data name="DoYouReallyWantToDelete" xml:space="preserve">
<value>Do you really want to delete? This cannot be undone.</value>
<value>क्या आप वास्तव में हटाना चाहते हैं? इसे नष्ट नहीं किया जा सकता है</value>
<comment>Confirmation alert message when deleteing something.</comment>
</data>
<data name="Edit" xml:space="preserve">
<value>संशोधन करें</value>
</data>
<data name="EditFolder" xml:space="preserve">
<value>Edit Folder</value>
<value>फ़ोल्डर संपादित करें</value>
</data>
<data name="Email" xml:space="preserve">
<value>ईमेल</value>
@@ -193,7 +193,7 @@
<value>हमें ईमेल करें</value>
</data>
<data name="EmailUsDescription" xml:space="preserve">
<value>Email us directly to get help or leave feedback.</value>
<value>सहायता प्राप्त करने या प्रतिक्रिया छोड़ने के लिए हमें ईमेल करें।</value>
</data>
<data name="EnterPIN" xml:space="preserve">
<value>अपना पिन डालें</value>
@@ -203,10 +203,10 @@
<comment>Title for your favorite items in the vault.</comment>
</data>
<data name="FileBugReport" xml:space="preserve">
<value>File a Bug Report</value>
<value>बग रिपोर्ट दर्ज करें</value>
</data>
<data name="FileBugReportDescription" xml:space="preserve">
<value>Open an issue at our GitHub repository.</value>
<value>हमारे GitHub भंडार में एक मुद्दे को बताएं।</value>
</data>
<data name="FingerprintDirection" xml:space="preserve">
<value>फिंगरप्रिंट से सत्यापन करें</value>
@@ -243,37 +243,37 @@
<comment>Hide a secret value that is currently shown (password).</comment>
</data>
<data name="InternetConnectionRequiredMessage" xml:space="preserve">
<value>Please connect to the internet before continuing.</value>
<value>जारी रखने से पहले कृपया इंटरनेट से जुड़े।</value>
<comment>Description message for the alert when internet connection is required to continue.</comment>
</data>
<data name="InternetConnectionRequiredTitle" xml:space="preserve">
<value>Internet Connection Required</value>
<value>इंटरनेट से जुड़िए।</value>
<comment>Title for the alert when internet connection is required to continue.</comment>
</data>
<data name="InvalidMasterPassword" xml:space="preserve">
<value>Invalid Master Password. Try again.</value>
<value>मास्टर पासवर्ड गलत है। फिर कोशिश करें।</value>
</data>
<data name="InvalidPIN" xml:space="preserve">
<value>Invalid PIN. Try again.</value>
<value>पिन गलत है। फिर कोशिश करें।</value>
</data>
<data name="Launch" xml:space="preserve">
<value>Launch</value>
<value>खोलें</value>
<comment>The button text that allows user to launch the website to their web browser.</comment>
</data>
<data name="LogIn" xml:space="preserve">
<value>Log In</value>
<value>लॉग इन करें</value>
<comment>The login button text (verb).</comment>
</data>
<data name="LogInNoun" xml:space="preserve">
<value>Login</value>
<value>लॉग इन</value>
<comment>Title for login page. (noun)</comment>
</data>
<data name="LogOut" xml:space="preserve">
<value>Log Out</value>
<value>लॉग आउट</value>
<comment>The log out button text (verb).</comment>
</data>
<data name="LogoutConfirmation" xml:space="preserve">
<value>Are you sure you want to log out?</value>
<value>क्या आप वाकई लॉग आउट करना चाहते हैं?</value>
</data>
<data name="MasterPassword" xml:space="preserve">
<value>मास्टर / मुख्य पासवर्ड</value>
@@ -284,22 +284,22 @@
<comment>Text to define that there are more options things to see.</comment>
</data>
<data name="MyVault" xml:space="preserve">
<value>My Vault</value>
<value>मेरी तिजोरी</value>
<comment>The title for the vault page.</comment>
</data>
<data name="Name" xml:space="preserve">
<value>Name</value>
<value>नाम</value>
<comment>Label for an entity name.</comment>
</data>
<data name="No" xml:space="preserve">
<value>No</value>
<value>नहीं</value>
</data>
<data name="Notes" xml:space="preserve">
<value>टिप्पणियाँ</value>
<comment>Label for notes.</comment>
</data>
<data name="Ok" xml:space="preserve">
<value>Ok</value>
<value>ठीक</value>
<comment>Acknowledgement.</comment>
</data>
<data name="Password" xml:space="preserve">
@@ -323,14 +323,14 @@
<comment>Reveal a hidden value (password).</comment>
</data>
<data name="ItemDeleted" xml:space="preserve">
<value>Item has been deleted.</value>
<value>आइटम हटा दिया गया है।</value>
<comment>Confirmation message after successfully deleting a login.</comment>
</data>
<data name="Submit" xml:space="preserve">
<value>Submit</value>
<value>जमा करें</value>
</data>
<data name="Sync" xml:space="preserve">
<value>Sync</value>
<value>संकालन</value>
<comment>The title for the sync page.</comment>
</data>
<data name="ThankYou" xml:space="preserve">
@@ -345,28 +345,28 @@
<comment>Label for a uri/url.</comment>
</data>
<data name="UseFingerprintToUnlock" xml:space="preserve">
<value>Use Fingerprint to Unlock</value>
<value>अंगुलिछाप से खोलें</value>
</data>
<data name="Username" xml:space="preserve">
<value>उपयोगकर्ता नाम:</value>
<comment>Label for a username.</comment>
</data>
<data name="ValidationFieldRequired" xml:space="preserve">
<value>The {0} field is required.</value>
<value>{0} की आश्यकता है।</value>
<comment>Validation message for when a form field is left blank and is required to be entered.</comment>
</data>
<data name="ValueHasBeenCopied" xml:space="preserve">
<value>{0} has been copied.</value>
<value>{0} कॉपी कर लिया गया है।</value>
<comment>Confirmation message after suceessfully copying a value to the clipboard.</comment>
</data>
<data name="VerifyFingerprint" xml:space="preserve">
<value>Verify Fingerprint</value>
<value>अंगुलिछाप दें</value>
</data>
<data name="VerifyMasterPassword" xml:space="preserve">
<value>Verify Master Password</value>
<value>मास्टर पासवर्ड बताएं।</value>
</data>
<data name="VerifyPIN" xml:space="preserve">
<value>Verify PIN</value>
<value>पिन बताएं।</value>
</data>
<data name="Version" xml:space="preserve">
<value>संस्करण</value>
@@ -397,13 +397,13 @@
<value>आइटम जोड़ें</value>
</data>
<data name="AppExtension" xml:space="preserve">
<value>App Extension</value>
<value>ऐप का विस्तारण</value>
</data>
<data name="AutofillAccessibilityDescription" xml:space="preserve">
<value>Use the bitwarden accessibility service to auto-fill your logins across apps and the web.</value>
</data>
<data name="AutofillService" xml:space="preserve">
<value>Auto-fill Service</value>
<value>भरण सेवा</value>
</data>
<data name="AvoidAmbiguousCharacters" xml:space="preserve">
<value>अस्पष्ट अक्षर से बचें</value>
@@ -412,7 +412,7 @@
<value>bitwarden App Extension</value>
</data>
<data name="BitwardenAppExtensionAlert2" xml:space="preserve">
<value>The easiest way to add new logins to your vault is from the Bitwarden App Extension. Learn more about using the Bitwarden App Extension by navigating to the "Settings" screen.</value>
<value>अपने तिजोरी में नए आइटम डालने का सबसे सरल तरीका है Bitwarden ऐप विस्तारण। Bitwarden ऐप विस्तरण के उपयोग संबंधी जानकारी पाने के लिए "सेटिंग्स" में जाएं।</value>
</data>
<data name="BitwardenAppExtensionDescription" xml:space="preserve">
<value>Use bitwarden in Safari and other apps to auto-fill your logins.</value>
@@ -433,13 +433,13 @@
<value>मास्टर पासवर्ड बदलें</value>
</data>
<data name="ChangePasswordConfirmation" xml:space="preserve">
<value>You can change your master password on the bitwarden.com web vault. Do you want to visit the website now?</value>
<value>मास्टर पासवर्ड Bitwarden के वेब-तिजोरी पर जाकर बदला जा सकता है। क्या आप वहां जाना चाहते हैं?</value>
</data>
<data name="Close" xml:space="preserve">
<value>Close</value>
<value>बंद करें</value>
</data>
<data name="Continue" xml:space="preserve">
<value>Continue</value>
<value>जारी रखें</value>
</data>
<data name="CreateAccount" xml:space="preserve">
<value>खाता बनाएँ</value>
@@ -452,26 +452,26 @@
<value>आइटम संपादित करें</value>
</data>
<data name="EnableAutomaticSyncing" xml:space="preserve">
<value>Enable Automatic Syncing</value>
<value>स्वतः सिंक चालू करें।</value>
</data>
<data name="EnterEmailForHint" xml:space="preserve">
<value>Enter your account email address to receive your master password hint.</value>
<value>अपने मास्टर पासवर्ड संकेत प्राप्त करने के लिए अपने खाते का ईमेल पता दर्ज करें।</value>
</data>
<data name="ExntesionReenable" xml:space="preserve">
<value>Re-enable App Extension</value>
<value>ऐप विस्तारण को फिर चालू करें</value>
</data>
<data name="ExtensionAlmostDone" xml:space="preserve">
<value>लगभग सम्पूर्ण!</value>
</data>
<data name="ExtensionEnable" xml:space="preserve">
<value>Enable App Extension</value>
<value>ऐप विस्तारण को चालू करें</value>
</data>
<data name="ExtensionInSafari" xml:space="preserve">
<value>In Safari, find bitwarden using the share icon (hint: scroll to the right on the bottom row of the menu).</value>
<comment>Safari is the name of apple's web browser</comment>
</data>
<data name="ExtensionInstantAccess" xml:space="preserve">
<value>Get instant access to your passwords!</value>
<value>अपने पासवर्ड को तुरंत प्राप्त करें</value>
</data>
<data name="ExtensionReady" xml:space="preserve">
<value>आप लॉग इन करने के लिए तैयार हैं!</value>
@@ -504,69 +504,76 @@
<value>आइटम्स आयात करें</value>
</data>
<data name="ImportItemsConfirmation" xml:space="preserve">
<value>You can bulk import items from the bitwarden.com web vault. Do you want to visit the website now?</value>
<value>Bitwarden के वेब-तिजोरी से एक साथ कई आइटम आयातित किए जा सकते हैं। क्या आप वहां जाना चाहते हैं?</value>
</data>
<data name="ImportItemsDescription" xml:space="preserve">
<value>Quickly bulk import your items from other password management apps.</value>
<value>दूसरे पासवर्ड प्रबंधन ऐप से एक साथ कई आइटम जल्दी आयातित करें।</value>
</data>
<data name="LastSync" xml:space="preserve">
<value>Last Sync:</value>
<value>आखिरी बार सिंक हुआ:</value>
</data>
<data name="Length" xml:space="preserve">
<value>Length</value>
<value>लंबाई</value>
</data>
<data name="Lock" xml:space="preserve">
<value>लॉक</value>
</data>
<data name="LockOption15Minutes" xml:space="preserve">
<data name="FifteenMinutes" xml:space="preserve">
<value>15 मिनिट</value>
</data>
<data name="LockOption1Hour" xml:space="preserve">
<data name="OneHour" xml:space="preserve">
<value>1 घंटा</value>
</data>
<data name="LockOption1Minute" xml:space="preserve">
<data name="OneMinute" xml:space="preserve">
<value>1 मिनट</value>
</data>
<data name="LockOption4Hours" xml:space="preserve">
<data name="FourHours" xml:space="preserve">
<value>4 घंटे</value>
</data>
<data name="LockOptionImmediately" xml:space="preserve">
<value>तत्‍काल</value>
<data name="Immediately" xml:space="preserve">
<value>तत्‍काल
</value>
</data>
<data name="LockOptions" xml:space="preserve">
<value>अवरोध विकल्प</value>
<data name="VaultTimeout" xml:space="preserve">
<value>तिजोरी का समय समाप्त</value>
</data>
<data name="VaultTimeoutAction" xml:space="preserve">
<value>Vault Timeout Action</value>
</data>
<data name="VaultTimeoutLogOutConfirmation" xml:space="preserve">
<value>लॉग आउट करने से तिजोरी में प्रवेश संभव नहीं होगा और समय समाप्त होने के बाद ऑनलाइन प्रमाणीकरण की आश्यकता होगी। आप इस सेटिंग्स को प्रयोग करने के लिए विश्वस्त हैं?</value>
</data>
<data name="LoggingIn" xml:space="preserve">
<value>लॉगिन कर रहा है...</value>
<comment>Message shown when interacting with the server</comment>
</data>
<data name="LoginOrCreateNewAccount" xml:space="preserve">
<value>Log in or create a new account to access your secure vault.</value>
<value>सुरक्षित तिजोरी में प्रवेश करने के लिए नया खाता बनाएं या लॉग इन करें।</value>
</data>
<data name="Manage" xml:space="preserve">
<value>प्रबंधन</value>
</data>
<data name="MasterPasswordConfirmationValMessage" xml:space="preserve">
<value>Password confirmation is not correct.</value>
<value>पासवर्ड गलत है।</value>
</data>
<data name="MasterPasswordDescription" xml:space="preserve">
<value>The master password is the password you use to access your vault. It is very important that you do not forget your master password. There is no way to recover the password in the event that you forget it.</value>
<value>मास्टर पासवर्ड वह पासवर्ड है जो तिजोरी में प्रवेश के लिए प्रयोग होता है। आप मास्टर पासवर्ड ना भूले यह अतिआवश्यक है। भूलने की अवस्था में पासवर्ड को दोबारा पाना संभव नहीं होगा।</value>
</data>
<data name="MasterPasswordHint" xml:space="preserve">
<value>Master Password Hint (optional)</value>
<value>मास्टर पासवर्ड संकेत (वैकल्पिक)</value>
</data>
<data name="MasterPasswordHintDescription" xml:space="preserve">
<value>A master password hint can help you remember your password if you forget it.</value>
<value>मास्टर पासवर्ड संकेत आपको भूल जाने की अवस्था में पासवर्ड को याद करने में सहायता करता है।</value>
</data>
<data name="MasterPasswordLengthValMessage" xml:space="preserve">
<value>Master password must be at least 8 characters long.</value>
<value>मास्टर पासवर्ड में कम से कम 8 अक्षर होने चाहिएं।</value>
</data>
<data name="MinNumbers" xml:space="preserve">
<value>Minimum Numbers</value>
<value>कम से कम अंक</value>
<comment>Minimum numeric characters for password generator settings</comment>
</data>
<data name="MinSpecial" xml:space="preserve">
<value>Minimum Special</value>
<value>कम से कम विशेष अक्षर</value>
<comment>Minimum special characters for password generator settings</comment>
</data>
<data name="MoreSettings" xml:space="preserve">
@@ -579,19 +586,19 @@
<value>कभी नहीं</value>
</data>
<data name="NewItemCreated" xml:space="preserve">
<value>New item created.</value>
<value>नया आइटम बनाया गया</value>
</data>
<data name="NoFavorites" xml:space="preserve">
<value>There are no favorites in your vault.</value>
<value>तिजोरी में कोई अभिमत आइटम नहीं है।</value>
</data>
<data name="NoItems" xml:space="preserve">
<value>There are no items in your vault.</value>
<value>तिजोरी में कोई आइटम नहीं है।</value>
</data>
<data name="NoItemsTap" xml:space="preserve">
<value>There are no items in your vault for this website. Tap to add one.</value>
</data>
<data name="NoUsernamePasswordConfigured" xml:space="preserve">
<value>This login does not have a username or password configured.</value>
<value>इस आइटम में कोई यूजरनेम या पासवर्ड नहीं पड़ा है।</value>
</data>
<data name="OkGotIt" xml:space="preserve">
<value>ठीक है, समझ गए!</value>
@@ -616,10 +623,10 @@
<value>पासवर्ड संकेत</value>
</data>
<data name="PasswordHintAlert" xml:space="preserve">
<value>We've sent you an email with your master password hint.</value>
<value>हमने आपको मास्टर पासवर्ड संकेत के साथ एक ईमेल भेजा है।</value>
</data>
<data name="PasswordOverrideAlert" xml:space="preserve">
<value>Are you sure you want to overwrite the current password?</value>
<value>आप पुराने पासवर्ड के ऊपर दूसरा पासवर्ड लिखने के लिए आश्वस्त हैं?</value>
</data>
<data name="PushNotificationAlert" xml:space="preserve">
<value>bitwarden keeps your vault automatically synced by using push notifications. For the best possible experience, please select "Ok" on the following prompt when asked to enable push notifications.</value>
@@ -629,13 +636,13 @@
<value>इस एप्प का मूल्यांकन करें</value>
</data>
<data name="RateTheAppDescription" xml:space="preserve">
<value>Please consider helping us out with a good review!</value>
<value>कृपया हमें एक अच्छी समीक्षा के साथ बाहर की मदद करने पर विचार करें!</value>
</data>
<data name="RegeneratePassword" xml:space="preserve">
<value>Regenerate Password</value>
<value>पासवर्ड पुन: जनरेट करें</value>
</data>
<data name="RetypeMasterPassword" xml:space="preserve">
<value>Re-type Master Password</value>
<value>मास्टर पासवर्ड पुनः टाइप करें</value>
</data>
<data name="SearchVault" xml:space="preserve">
<value>Search vault</value>
@@ -656,24 +663,24 @@
<value>आइटम सूचना</value>
</data>
<data name="ItemUpdated" xml:space="preserve">
<value>Item updated.</value>
<value>आइटम अपडेट किया गया।</value>
</data>
<data name="Submitting" xml:space="preserve">
<value>Submitting...</value>
<value>सबमिट हो रहा हैं...</value>
<comment>Message shown when interacting with the server</comment>
</data>
<data name="Syncing" xml:space="preserve">
<value>Syncing...</value>
<value>सिंक हो रहा है…</value>
<comment>Message shown when interacting with the server</comment>
</data>
<data name="SyncingComplete" xml:space="preserve">
<value>Syncing complete.</value>
<value>सिंकिंग पूर्ण</value>
</data>
<data name="SyncingFailed" xml:space="preserve">
<value>Syncing failed.</value>
<value>सिंकिंग असफल।</value>
</data>
<data name="SyncVaultNow" xml:space="preserve">
<value>Sync Vault Now</value>
<value>तिजोरी अभी सिंक करें।</value>
</data>
<data name="TouchID" xml:space="preserve">
<value>Touch ID</value>
@@ -899,28 +906,28 @@
<value>Attachment added</value>
</data>
<data name="AttachmentDeleted" xml:space="preserve">
<value>Attachment deleted</value>
<value>संग्लित वस्तु डिलीट करी गई</value>
</data>
<data name="ChooseFile" xml:space="preserve">
<value>Choose File</value>
<value>फ़ाइल चुनें</value>
</data>
<data name="File" xml:space="preserve">
<value>फ़ाइल</value>
</data>
<data name="NoFileChosen" xml:space="preserve">
<value>No file chosen</value>
<value>कोई फाइल नहीं चुनी गई।</value>
</data>
<data name="NoAttachments" xml:space="preserve">
<value>There are no attachments.</value>
<value>कोई संग्लित वस्तु नहीं है।</value>
</data>
<data name="FileSource" xml:space="preserve">
<value>File Source</value>
<value>फ़ाइल स्रोत</value>
</data>
<data name="FeatureUnavailable" xml:space="preserve">
<value>Feature Unavailable</value>
<value>फीचर उपलब्ध नहीं है</value>
</data>
<data name="MaxFileSize" xml:space="preserve">
<value>Maximum file size is 100 MB.</value>
<value>अधिकतम फाइल आकार 100 MB है</value>
</data>
<data name="UpdateKey" xml:space="preserve">
<value>You cannot use this feature until you update your encryption key.</value>
@@ -1433,12 +1440,9 @@
<data name="Unlock" xml:space="preserve">
<value>Unlock</value>
</data>
<data name="LockOption30Minutes" xml:space="preserve">
<data name="ThirtyMinutes" xml:space="preserve">
<value>30 minutes</value>
</data>
<data name="LockOption5Minutes" xml:space="preserve">
<value>5 minutes</value>
</data>
<data name="SetPINDescription" xml:space="preserve">
<value>Set your PIN code for unlocking Bitwarden. Your PIN settings will be reset if you ever fully log out of the application.</value>
</data>
@@ -1463,9 +1467,6 @@
<data name="FiveMinutes" xml:space="preserve">
<value>5 minutes</value>
</data>
<data name="OneMinute" xml:space="preserve">
<value>1 minute</value>
</data>
<data name="TenSeconds" xml:space="preserve">
<value>10 seconds</value>
</data>
@@ -1535,7 +1536,7 @@
<data name="DisableSavePromptDescription" xml:space="preserve">
<value>The "Save Prompt" automatically prompts you to save new items to your vault whenever you enter them for the first time.</value>
</data>
<data name="LockOptionOnRestart" xml:space="preserve">
<data name="OnRestart" xml:space="preserve">
<value>On App Restart</value>
</data>
<data name="AutofillServiceNotEnabled" xml:space="preserve">
@@ -1564,7 +1565,7 @@
<value>Your login session has expired.</value>
</data>
<data name="BiometricsDirection" xml:space="preserve">
<value>Use biometrics to verify.</value>
<value>Biometric Verification</value>
</data>
<data name="Biometrics" xml:space="preserve">
<value>Biometrics</value>

View File

@@ -518,23 +518,29 @@
<data name="Lock" xml:space="preserve">
<value>Zaključaj</value>
</data>
<data name="LockOption15Minutes" xml:space="preserve">
<value>15 minuta</value>
<data name="FifteenMinutes" xml:space="preserve">
<value>15 minutes</value>
</data>
<data name="LockOption1Hour" xml:space="preserve">
<value>1 sat</value>
<data name="OneHour" xml:space="preserve">
<value>1 hour</value>
</data>
<data name="LockOption1Minute" xml:space="preserve">
<data name="OneMinute" xml:space="preserve">
<value>1 minuta</value>
</data>
<data name="LockOption4Hours" xml:space="preserve">
<value>4 sata</value>
<data name="FourHours" xml:space="preserve">
<value>4 hours</value>
</data>
<data name="LockOptionImmediately" xml:space="preserve">
<value>Odmah</value>
<data name="Immediately" xml:space="preserve">
<value>Immediately</value>
</data>
<data name="LockOptions" xml:space="preserve">
<value>Opcije zaključavanja</value>
<data name="VaultTimeout" xml:space="preserve">
<value>Vault Timeout</value>
</data>
<data name="VaultTimeoutAction" xml:space="preserve">
<value>Vault Timeout Action</value>
</data>
<data name="VaultTimeoutLogOutConfirmation" xml:space="preserve">
<value>Logging out will remove all access to your vault and requires online authentication after the timeout period. Are you sure you want to use this setting?</value>
</data>
<data name="LoggingIn" xml:space="preserve">
<value>Prijavljivanje...</value>
@@ -1433,11 +1439,8 @@
<data name="Unlock" xml:space="preserve">
<value>Otključaj</value>
</data>
<data name="LockOption30Minutes" xml:space="preserve">
<value>30 minuta</value>
</data>
<data name="LockOption5Minutes" xml:space="preserve">
<value>5 minuta</value>
<data name="ThirtyMinutes" xml:space="preserve">
<value>30 minutes</value>
</data>
<data name="SetPINDescription" xml:space="preserve">
<value>Postavite Vaš PIN kod za otključavanje Bitwardena. Vaše postavke PIN-a će biti resetirane ako se ikada potpuno odjavite iz aplikacije.</value>
@@ -1463,9 +1466,6 @@
<data name="FiveMinutes" xml:space="preserve">
<value>5 minuta</value>
</data>
<data name="OneMinute" xml:space="preserve">
<value>1 minuta</value>
</data>
<data name="TenSeconds" xml:space="preserve">
<value>10 sekundi</value>
</data>
@@ -1535,8 +1535,8 @@
<data name="DisableSavePromptDescription" xml:space="preserve">
<value>"Upit za spremanje" automatski traži da spremite nove unose u trezor prvi put kad u njih uđete.</value>
</data>
<data name="LockOptionOnRestart" xml:space="preserve">
<value>Kada se aplikacija ponovno pokrene</value>
<data name="OnRestart" xml:space="preserve">
<value>On App Restart</value>
</data>
<data name="AutofillServiceNotEnabled" xml:space="preserve">
<value>Automatsko punjenje olakšava siguran pristup Vašem Bitwarden trezoru s drugih web stranica i aplikacija. Izgleda da niste omogućili uslugu automatskog popunjavanja Bitwardena. Omogućite automatsko popunjavanje Bitwardena na zaslonu "Postavke".</value>

View File

@@ -518,23 +518,29 @@
<data name="Lock" xml:space="preserve">
<value>Lezárás</value>
</data>
<data name="LockOption15Minutes" xml:space="preserve">
<data name="FifteenMinutes" xml:space="preserve">
<value>15 perc</value>
</data>
<data name="LockOption1Hour" xml:space="preserve">
<data name="OneHour" xml:space="preserve">
<value>1 óra</value>
</data>
<data name="LockOption1Minute" xml:space="preserve">
<data name="OneMinute" xml:space="preserve">
<value>1 perc</value>
</data>
<data name="LockOption4Hours" xml:space="preserve">
<data name="FourHours" xml:space="preserve">
<value>4 óra</value>
</data>
<data name="LockOptionImmediately" xml:space="preserve">
<data name="Immediately" xml:space="preserve">
<value>Azonnal</value>
</data>
<data name="LockOptions" xml:space="preserve">
<value>Zárolási beállítások</value>
<data name="VaultTimeout" xml:space="preserve">
<value>Széf időkifutás</value>
</data>
<data name="VaultTimeoutAction" xml:space="preserve">
<value>Széf időkifutás művelet</value>
</data>
<data name="VaultTimeoutLogOutConfirmation" xml:space="preserve">
<value>Kijelentkezve az összes széf elérés eltávolításra kerül és webes hitelesítésre van szükség az időkifutás után. Biztosan szeretnénk használni ezt a beállítást?</value>
</data>
<data name="LoggingIn" xml:space="preserve">
<value>Bejelentkezés...</value>
@@ -1433,12 +1439,9 @@
<data name="Unlock" xml:space="preserve">
<value>Feloldás</value>
</data>
<data name="LockOption30Minutes" xml:space="preserve">
<data name="ThirtyMinutes" xml:space="preserve">
<value>30 perc</value>
</data>
<data name="LockOption5Minutes" xml:space="preserve">
<value>5 perc</value>
</data>
<data name="SetPINDescription" xml:space="preserve">
<value>A pinkód beállítása a Bitwarden feloldásához. A pinkód beállítás alaphelyzetbe kerül, ha teljesen kijelentkezünk az alkalmazásból.</value>
</data>
@@ -1463,9 +1466,6 @@
<data name="FiveMinutes" xml:space="preserve">
<value>5 perc</value>
</data>
<data name="OneMinute" xml:space="preserve">
<value>1 perc</value>
</data>
<data name="TenSeconds" xml:space="preserve">
<value>10 másodperc</value>
</data>
@@ -1517,7 +1517,7 @@
<value>Biztos vagy benne, hogy kilépsz?</value>
</data>
<data name="PINRequireMasterPasswordRestart" xml:space="preserve">
<value>Do you want to require unlocking with your master password when the application is restarted?</value>
<value>You you want to require unlocking with your master password when the application is restarted?</value>
</data>
<data name="Black" xml:space="preserve">
<value>Fekete</value>
@@ -1535,7 +1535,7 @@
<data name="DisableSavePromptDescription" xml:space="preserve">
<value>A "Bejelentkezés felkérés hozzáadása" automatikusan felajánlja a bejelentkezés széfbe mentését az első bejelentkezéskor.</value>
</data>
<data name="LockOptionOnRestart" xml:space="preserve">
<data name="OnRestart" xml:space="preserve">
<value>Újraindításkor</value>
</data>
<data name="AutofillServiceNotEnabled" xml:space="preserve">

View File

@@ -518,23 +518,29 @@
<data name="Lock" xml:space="preserve">
<value>Kunci</value>
</data>
<data name="LockOption15Minutes" xml:space="preserve">
<value>15 menit</value>
<data name="FifteenMinutes" xml:space="preserve">
<value>15 minutes</value>
</data>
<data name="LockOption1Hour" xml:space="preserve">
<value>1 jam</value>
<data name="OneHour" xml:space="preserve">
<value>1 hour</value>
</data>
<data name="LockOption1Minute" xml:space="preserve">
<data name="OneMinute" xml:space="preserve">
<value>1 menit</value>
</data>
<data name="LockOption4Hours" xml:space="preserve">
<value>4 jam</value>
<data name="FourHours" xml:space="preserve">
<value>4 hours</value>
</data>
<data name="LockOptionImmediately" xml:space="preserve">
<value>Segera</value>
<data name="Immediately" xml:space="preserve">
<value>Immediately</value>
</data>
<data name="LockOptions" xml:space="preserve">
<value>Pilihan Penguncian</value>
<data name="VaultTimeout" xml:space="preserve">
<value>Vault Timeout</value>
</data>
<data name="VaultTimeoutAction" xml:space="preserve">
<value>Vault Timeout Action</value>
</data>
<data name="VaultTimeoutLogOutConfirmation" xml:space="preserve">
<value>Logging out will remove all access to your vault and requires online authentication after the timeout period. Are you sure you want to use this setting?</value>
</data>
<data name="LoggingIn" xml:space="preserve">
<value>Sedang masuk...</value>
@@ -1433,11 +1439,8 @@
<data name="Unlock" xml:space="preserve">
<value>Unlock</value>
</data>
<data name="LockOption30Minutes" xml:space="preserve">
<value>30 menit</value>
</data>
<data name="LockOption5Minutes" xml:space="preserve">
<value>5 menit</value>
<data name="ThirtyMinutes" xml:space="preserve">
<value>30 minutes</value>
</data>
<data name="SetPINDescription" xml:space="preserve">
<value>Set your PIN code for unlocking Bitwarden. Your PIN settings will be reset if you ever fully log out of the application.</value>
@@ -1463,9 +1466,6 @@
<data name="FiveMinutes" xml:space="preserve">
<value>5 menit</value>
</data>
<data name="OneMinute" xml:space="preserve">
<value>1 menit</value>
</data>
<data name="TenSeconds" xml:space="preserve">
<value>10 detik</value>
</data>
@@ -1517,7 +1517,7 @@
<value>Apakah anda yakin ingin keluar dari Bitwarden?</value>
</data>
<data name="PINRequireMasterPasswordRestart" xml:space="preserve">
<value>Do you want to require unlocking with your master password when the application is restarted?</value>
<value>You you want to require unlocking with your master password when the application is restarted?</value>
</data>
<data name="Black" xml:space="preserve">
<value>Hitam</value>
@@ -1535,8 +1535,8 @@
<data name="DisableSavePromptDescription" xml:space="preserve">
<value>"Saran Simpan" secara otomatis meminta anda untuk menyimpan item baru ke brankas anda setiap kali anda memasukkannya untuk pertama kali.</value>
</data>
<data name="LockOptionOnRestart" xml:space="preserve">
<value>Saat Aplikasi Memulai Ulang</value>
<data name="OnRestart" xml:space="preserve">
<value>On App Restart</value>
</data>
<data name="AutofillServiceNotEnabled" xml:space="preserve">
<value>Isi-otomatis memudahkan untuk mengakses brankas Bitwarden anda dengan aman dari situs web dan aplikasi lain. Sepertinya anda belum mengaktifkan layanan pengisian-otomatis untuk Bitwarden. Aktifkan pengisian-otomatis untuk Bitwarden dari layar "Pengaturan".</value>
@@ -1564,7 +1564,7 @@
<value>Your login session has expired.</value>
</data>
<data name="BiometricsDirection" xml:space="preserve">
<value>Use biometrics to verify.</value>
<value>Biometric Verification</value>
</data>
<data name="Biometrics" xml:space="preserve">
<value>Biometrics</value>

View File

@@ -518,23 +518,29 @@
<data name="Lock" xml:space="preserve">
<value>Blocca</value>
</data>
<data name="LockOption15Minutes" xml:space="preserve">
<data name="FifteenMinutes" xml:space="preserve">
<value>15 minuti</value>
</data>
<data name="LockOption1Hour" xml:space="preserve">
<data name="OneHour" xml:space="preserve">
<value>1 ora</value>
</data>
<data name="LockOption1Minute" xml:space="preserve">
<data name="OneMinute" xml:space="preserve">
<value>1 minuto</value>
</data>
<data name="LockOption4Hours" xml:space="preserve">
<data name="FourHours" xml:space="preserve">
<value>4 ore</value>
</data>
<data name="LockOptionImmediately" xml:space="preserve">
<data name="Immediately" xml:space="preserve">
<value>Immediatamente</value>
</data>
<data name="LockOptions" xml:space="preserve">
<value>Opzioni di blocco</value>
<data name="VaultTimeout" xml:space="preserve">
<value>Scadenza Cassaforte</value>
</data>
<data name="VaultTimeoutAction" xml:space="preserve">
<value>Azione Scadenza Cassaforte</value>
</data>
<data name="VaultTimeoutLogOutConfirmation" xml:space="preserve">
<value>La disconnessione rimuove tutti gli accessi alla tua cassaforte e richiede l'autenticazione online dopo il periodo di scadenza. Sei sicuro di voler utilizzare questa impostazione?</value>
</data>
<data name="LoggingIn" xml:space="preserve">
<value>Connessione in corso...</value>
@@ -1433,12 +1439,9 @@
<data name="Unlock" xml:space="preserve">
<value>Sblocca</value>
</data>
<data name="LockOption30Minutes" xml:space="preserve">
<data name="ThirtyMinutes" xml:space="preserve">
<value>30 minuti</value>
</data>
<data name="LockOption5Minutes" xml:space="preserve">
<value>5 minuti</value>
</data>
<data name="SetPINDescription" xml:space="preserve">
<value>Imposta il tuo codice PIN per sbloccare Bitwarden. Le impostazioni PIN verranno reimpostate se si effettuerà il logout completo dall'applicazione.</value>
</data>
@@ -1463,9 +1466,6 @@
<data name="FiveMinutes" xml:space="preserve">
<value>5 minuti</value>
</data>
<data name="OneMinute" xml:space="preserve">
<value>1 minuto</value>
</data>
<data name="TenSeconds" xml:space="preserve">
<value>10 secondi</value>
</data>
@@ -1517,7 +1517,7 @@
<value>Sei sicuro di voler uscire da Bitwarden?</value>
</data>
<data name="PINRequireMasterPasswordRestart" xml:space="preserve">
<value>Do you want to require unlocking with your master password when the application is restarted?</value>
<value>You you want to require unlocking with your master password when the application is restarted?</value>
</data>
<data name="Black" xml:space="preserve">
<value>Nero</value>
@@ -1535,8 +1535,8 @@
<data name="DisableSavePromptDescription" xml:space="preserve">
<value>La "Richiesta di salvataggio" ti richiede automaticamente di salvare nuovi elementi nella tua cassaforte quando le utilizzi per la prima volta.</value>
</data>
<data name="LockOptionOnRestart" xml:space="preserve">
<value>Al riavvio dell'applicazione</value>
<data name="OnRestart" xml:space="preserve">
<value>Al Riavvio dell'App</value>
</data>
<data name="AutofillServiceNotEnabled" xml:space="preserve">
<value>Auto-riempimento rende facile accedere in modo sicuro alla tua cassaforte Bitwarden da altri siti web e applicazioni. Sembra che tu non abbia abilitato un servizio di auto-riempimento per Bitwarden. Abilita l'auto-riempimento per Bitwarden dalla schermata "Impostazioni".</value>

View File

@@ -518,23 +518,29 @@
<data name="Lock" xml:space="preserve">
<value>ロック</value>
</data>
<data name="LockOption15Minutes" xml:space="preserve">
<data name="FifteenMinutes" xml:space="preserve">
<value>15分</value>
</data>
<data name="LockOption1Hour" xml:space="preserve">
<data name="OneHour" xml:space="preserve">
<value>1時間</value>
</data>
<data name="LockOption1Minute" xml:space="preserve">
<value>1分</value>
<data name="OneMinute" xml:space="preserve">
<value>1 分</value>
</data>
<data name="LockOption4Hours" xml:space="preserve">
<data name="FourHours" xml:space="preserve">
<value>4時間</value>
</data>
<data name="LockOptionImmediately" xml:space="preserve">
<value>すぐに</value>
<data name="Immediately" xml:space="preserve">
<value>即時</value>
</data>
<data name="LockOptions" xml:space="preserve">
<value>ロックオプション</value>
<data name="VaultTimeout" xml:space="preserve">
<value>保管庫のタイムアウト</value>
</data>
<data name="VaultTimeoutAction" xml:space="preserve">
<value>保管庫タイムアウト時のアクション</value>
</data>
<data name="VaultTimeoutLogOutConfirmation" xml:space="preserve">
<value>ログアウトすると保管庫へのすべてのアクセスが制限され、タイムアウト期間後にオンライン認証が必要になります。 この設定を使用してもよろしいですか?</value>
</data>
<data name="LoggingIn" xml:space="preserve">
<value>ログイン中...</value>
@@ -1433,11 +1439,8 @@
<data name="Unlock" xml:space="preserve">
<value>ロック解除</value>
</data>
<data name="LockOption30Minutes" xml:space="preserve">
<value>30 分</value>
</data>
<data name="LockOption5Minutes" xml:space="preserve">
<value>5 分</value>
<data name="ThirtyMinutes" xml:space="preserve">
<value>30分</value>
</data>
<data name="SetPINDescription" xml:space="preserve">
<value>Bitwarden のロックを解除するための PIN コードを設定します。アプリから完全にログアウトすると、PIN 設定はリセットされます。</value>
@@ -1463,9 +1466,6 @@
<data name="FiveMinutes" xml:space="preserve">
<value>5 分</value>
</data>
<data name="OneMinute" xml:space="preserve">
<value>1 分</value>
</data>
<data name="TenSeconds" xml:space="preserve">
<value>10 秒</value>
</data>
@@ -1535,7 +1535,7 @@
<data name="DisableSavePromptDescription" xml:space="preserve">
<value>新しいアイテムを入力したとき、保管庫に保存するかどうか尋ねるためのプロンプトを自動的に表示します。</value>
</data>
<data name="LockOptionOnRestart" xml:space="preserve">
<data name="OnRestart" xml:space="preserve">
<value>アプリ再起動時</value>
</data>
<data name="AutofillServiceNotEnabled" xml:space="preserve">

View File

@@ -518,23 +518,29 @@
<data name="Lock" xml:space="preserve">
<value>잠금</value>
</data>
<data name="LockOption15Minutes" xml:space="preserve">
<data name="FifteenMinutes" xml:space="preserve">
<value>15분</value>
</data>
<data name="LockOption1Hour" xml:space="preserve">
<data name="OneHour" xml:space="preserve">
<value>1시간</value>
</data>
<data name="LockOption1Minute" xml:space="preserve">
<data name="OneMinute" xml:space="preserve">
<value>1분</value>
</data>
<data name="LockOption4Hours" xml:space="preserve">
<data name="FourHours" xml:space="preserve">
<value>4시간</value>
</data>
<data name="LockOptionImmediately" xml:space="preserve">
<data name="Immediately" xml:space="preserve">
<value>즉시</value>
</data>
<data name="LockOptions" xml:space="preserve">
<value>잠금 옵션</value>
<data name="VaultTimeout" xml:space="preserve">
<value>보관함 시간 제한</value>
</data>
<data name="VaultTimeoutAction" xml:space="preserve">
<value>보관함 시간 제한 초과시 동작</value>
</data>
<data name="VaultTimeoutLogOutConfirmation" xml:space="preserve">
<value>로그아웃하면 보관함에 대한 모든 접근이 제거되며 시간 제한을 초과하면 온라인 인증을 요구합니다. 정말로 이 설정을 사용하시겠습니까?</value>
</data>
<data name="LoggingIn" xml:space="preserve">
<value>로그인 중...</value>
@@ -1433,12 +1439,9 @@
<data name="Unlock" xml:space="preserve">
<value>잠금 해제</value>
</data>
<data name="LockOption30Minutes" xml:space="preserve">
<data name="ThirtyMinutes" xml:space="preserve">
<value>30분</value>
</data>
<data name="LockOption5Minutes" xml:space="preserve">
<value>5분</value>
</data>
<data name="SetPINDescription" xml:space="preserve">
<value>Bitwarden 잠금해제에 사용될 PIN 코드를 설정합니다. 이 애플리케이션에서 완전히 로그아웃할 경우 PIN 설정이 초기화됩니다.</value>
</data>
@@ -1463,9 +1466,6 @@
<data name="FiveMinutes" xml:space="preserve">
<value>5분</value>
</data>
<data name="OneMinute" xml:space="preserve">
<value>1분</value>
</data>
<data name="TenSeconds" xml:space="preserve">
<value>10초</value>
</data>
@@ -1517,7 +1517,7 @@
<value>정말로 Bitwarden에서 나가시려는 건가요?</value>
</data>
<data name="PINRequireMasterPasswordRestart" xml:space="preserve">
<value>Do you want to require unlocking with your master password when the application is restarted?</value>
<value>You you want to require unlocking with your master password when the application is restarted?</value>
</data>
<data name="Black" xml:space="preserve">
<value>검은 테마</value>
@@ -1535,7 +1535,7 @@
<data name="DisableSavePromptDescription" xml:space="preserve">
<value>"저장 프롬포트"를 사용하면 처음 입력할 때마다 보관함에 그 항목을 추가할 것인지 물어봅니다.</value>
</data>
<data name="LockOptionOnRestart" xml:space="preserve">
<data name="OnRestart" xml:space="preserve">
<value>앱 재시작 시</value>
</data>
<data name="AutofillServiceNotEnabled" xml:space="preserve">
@@ -1643,7 +1643,7 @@
<comment>Confirmation message after successfully soft-deleting a login</comment>
</data>
<data name="Restore" xml:space="preserve">
<value>복</value>
<value>복</value>
<comment>Restores an entity (verb).</comment>
</data>
<data name="Restoring" xml:space="preserve">

View File

@@ -518,23 +518,29 @@
<data name="Lock" xml:space="preserve">
<value>Lås</value>
</data>
<data name="LockOption15Minutes" xml:space="preserve">
<data name="FifteenMinutes" xml:space="preserve">
<value>15 minutter</value>
</data>
<data name="LockOption1Hour" xml:space="preserve">
<data name="OneHour" xml:space="preserve">
<value>1 time</value>
</data>
<data name="LockOption1Minute" xml:space="preserve">
<data name="OneMinute" xml:space="preserve">
<value>1 minutt</value>
</data>
<data name="LockOption4Hours" xml:space="preserve">
<data name="FourHours" xml:space="preserve">
<value>4 timer</value>
</data>
<data name="LockOptionImmediately" xml:space="preserve">
<data name="Immediately" xml:space="preserve">
<value>Umiddelbart</value>
</data>
<data name="LockOptions" xml:space="preserve">
<value>Låsingsinnstillinger</value>
<data name="VaultTimeout" xml:space="preserve">
<value>Tidsavbrudd i hvelvet</value>
</data>
<data name="VaultTimeoutAction" xml:space="preserve">
<value>Handling ved pause i hvelvet</value>
</data>
<data name="VaultTimeoutLogOutConfirmation" xml:space="preserve">
<value>Hvis du logger ut, fjerner du all tilgang til hvelvet ditt og krever online godkjenning etter tidsavbrudd. Er du sikker på at du vil bruke denne innstillingen?</value>
</data>
<data name="LoggingIn" xml:space="preserve">
<value>Logger på...</value>
@@ -1433,12 +1439,9 @@
<data name="Unlock" xml:space="preserve">
<value>Lås opp</value>
</data>
<data name="LockOption30Minutes" xml:space="preserve">
<data name="ThirtyMinutes" xml:space="preserve">
<value>30 minutter</value>
</data>
<data name="LockOption5Minutes" xml:space="preserve">
<value>5 minutter</value>
</data>
<data name="SetPINDescription" xml:space="preserve">
<value>Angi PIN-koden din for å låse opp Bitwarden. PIN-innstillingene tilbakestilles hvis du logger deg helt ut av programmet.</value>
</data>
@@ -1463,9 +1466,6 @@
<data name="FiveMinutes" xml:space="preserve">
<value>5 minutter</value>
</data>
<data name="OneMinute" xml:space="preserve">
<value>1 minutt</value>
</data>
<data name="TenSeconds" xml:space="preserve">
<value>10 sekunder</value>
</data>
@@ -1517,7 +1517,7 @@
<value>Er du sikker på at du vil lukke Bitwarden?</value>
</data>
<data name="PINRequireMasterPasswordRestart" xml:space="preserve">
<value>Do you want to require unlocking with your master password when the application is restarted?</value>
<value>You you want to require unlocking with your master password when the application is restarted?</value>
</data>
<data name="Black" xml:space="preserve">
<value>Svart</value>
@@ -1535,8 +1535,8 @@
<data name="DisableSavePromptDescription" xml:space="preserve">
<value>"Lagreforespørselen" spør deg automatisk om du vil lagre nye elementer i hvelvet ditt når du skriver dem inn for første gang.</value>
</data>
<data name="LockOptionOnRestart" xml:space="preserve">
<value>Ved app-omstart</value>
<data name="OnRestart" xml:space="preserve">
<value>Ved omstart av appen</value>
</data>
<data name="AutofillServiceNotEnabled" xml:space="preserve">
<value>Auto-utfylling gjør det lett å få sikker tilgang til Bitwarden-hvelvet ditt fra andre nettsteder og apper. Det ser ut til at du ikke har skrudd på noen auto-utfyllingstjenester for Bitwarden. Du kan skru på auto-utfylling for Bitwarden i «Innstillinger»-menyen.</value>

View File

@@ -518,23 +518,29 @@
<data name="Lock" xml:space="preserve">
<value>Vergrendelen</value>
</data>
<data name="LockOption15Minutes" xml:space="preserve">
<data name="FifteenMinutes" xml:space="preserve">
<value>15 minuten</value>
</data>
<data name="LockOption1Hour" xml:space="preserve">
<data name="OneHour" xml:space="preserve">
<value>1 uur</value>
</data>
<data name="LockOption1Minute" xml:space="preserve">
<data name="OneMinute" xml:space="preserve">
<value>1 minuut</value>
</data>
<data name="LockOption4Hours" xml:space="preserve">
<data name="FourHours" xml:space="preserve">
<value>4 uur</value>
</data>
<data name="LockOptionImmediately" xml:space="preserve">
<data name="Immediately" xml:space="preserve">
<value>Onmiddellijk</value>
</data>
<data name="LockOptions" xml:space="preserve">
<value>Vergrendeling</value>
<data name="VaultTimeout" xml:space="preserve">
<value>Time-out van de kluis</value>
</data>
<data name="VaultTimeoutAction" xml:space="preserve">
<value>Actie bij time-out</value>
</data>
<data name="VaultTimeoutLogOutConfirmation" xml:space="preserve">
<value>Uitloggen ontneemt je de toegang tot je kluis en vereist online authenticatie na een periode van time-out. Weet je zeker dat je deze instelling wilt gebruiken?</value>
</data>
<data name="LoggingIn" xml:space="preserve">
<value>Inloggen...</value>
@@ -1433,12 +1439,9 @@
<data name="Unlock" xml:space="preserve">
<value>Ontgrendelen</value>
</data>
<data name="LockOption30Minutes" xml:space="preserve">
<data name="ThirtyMinutes" xml:space="preserve">
<value>30 minuten</value>
</data>
<data name="LockOption5Minutes" xml:space="preserve">
<value>5 minuten</value>
</data>
<data name="SetPINDescription" xml:space="preserve">
<value>Stel je PIN-code in voor het ontgrendelen van Bitwarden. Je PIN-code wordt opnieuw ingesteld als je je ooit volledig afmeldt bij de applicatie.</value>
</data>
@@ -1463,9 +1466,6 @@
<data name="FiveMinutes" xml:space="preserve">
<value>5 minuten</value>
</data>
<data name="OneMinute" xml:space="preserve">
<value>1 minuut</value>
</data>
<data name="TenSeconds" xml:space="preserve">
<value>10 seconden</value>
</data>
@@ -1535,8 +1535,8 @@
<data name="DisableSavePromptDescription" xml:space="preserve">
<value>De "Notificatie bij nieuwe site" vraagt automatisch om nieuwe sites op te slaan in je kluis wanneer je voor de eerste keer inlogt.</value>
</data>
<data name="LockOptionOnRestart" xml:space="preserve">
<value>Na opnieuw starten van de app</value>
<data name="OnRestart" xml:space="preserve">
<value>Na opnieuw starten</value>
</data>
<data name="AutofillServiceNotEnabled" xml:space="preserve">
<value>Automatisch aanvullen vereenvoudigt veilige toegang tot je Bitwarden-kluis vanuit andere websites en apps. Het lijkt erop dat Automatisch aanvullen niet is ingeschakeld. Schakel Automatisch aanvullen voor Bitwarden in via "Instellingen".</value>
@@ -1564,7 +1564,7 @@
<value>Je inlogsessie is verlopen.</value>
</data>
<data name="BiometricsDirection" xml:space="preserve">
<value>Biometrie-verificatie.</value>
<value>Biometrische verificatie</value>
</data>
<data name="Biometrics" xml:space="preserve">
<value>Biometrie</value>

View File

@@ -518,23 +518,29 @@
<data name="Lock" xml:space="preserve">
<value>Zablokuj</value>
</data>
<data name="LockOption15Minutes" xml:space="preserve">
<data name="FifteenMinutes" xml:space="preserve">
<value>15 minut</value>
</data>
<data name="LockOption1Hour" xml:space="preserve">
<data name="OneHour" xml:space="preserve">
<value>1 godzina</value>
</data>
<data name="LockOption1Minute" xml:space="preserve">
<data name="OneMinute" xml:space="preserve">
<value>1 minuta</value>
</data>
<data name="LockOption4Hours" xml:space="preserve">
<data name="FourHours" xml:space="preserve">
<value>4 godziny</value>
</data>
<data name="LockOptionImmediately" xml:space="preserve">
<data name="Immediately" xml:space="preserve">
<value>Natychmiast</value>
</data>
<data name="LockOptions" xml:space="preserve">
<value>Czas automatycznego blokowania</value>
<data name="VaultTimeout" xml:space="preserve">
<value>Blokowanie sejfu</value>
</data>
<data name="VaultTimeoutAction" xml:space="preserve">
<value>Sposób blokowania sejfu</value>
</data>
<data name="VaultTimeoutLogOutConfirmation" xml:space="preserve">
<value>Po wylogowaniu się z sejfu musisz ponownie zalogować się, aby uzyskać do niego dostęp. Czy na pewno chcesz użyć tego ustawienia?</value>
</data>
<data name="LoggingIn" xml:space="preserve">
<value>Logowanie...</value>
@@ -1433,12 +1439,9 @@
<data name="Unlock" xml:space="preserve">
<value>Odblokuj</value>
</data>
<data name="LockOption30Minutes" xml:space="preserve">
<data name="ThirtyMinutes" xml:space="preserve">
<value>30 minut</value>
</data>
<data name="LockOption5Minutes" xml:space="preserve">
<value>5 minut</value>
</data>
<data name="SetPINDescription" xml:space="preserve">
<value>Ustaw kod PIN do odblokowywania aplikacji Bitwarden. Ustawienia odblokowywania kodem PIN zostaną zresetowane po wylogowaniu.</value>
</data>
@@ -1463,9 +1466,6 @@
<data name="FiveMinutes" xml:space="preserve">
<value>5 minut</value>
</data>
<data name="OneMinute" xml:space="preserve">
<value>1 minuta</value>
</data>
<data name="TenSeconds" xml:space="preserve">
<value>10 sekund</value>
</data>
@@ -1535,7 +1535,7 @@
<data name="DisableSavePromptDescription" xml:space="preserve">
<value>"Monit o zapisywanie" automatycznie zapyta Cię o zapisanie nowych elementów do sejfu za każdym razem, gdy wpiszesz je po raz pierwszy.</value>
</data>
<data name="LockOptionOnRestart" xml:space="preserve">
<data name="OnRestart" xml:space="preserve">
<value>Po restarcie aplikacji</value>
</data>
<data name="AutofillServiceNotEnabled" xml:space="preserve">
@@ -1564,7 +1564,7 @@
<value>Twoja sesja wygasła.</value>
</data>
<data name="BiometricsDirection" xml:space="preserve">
<value>Użyj danych biometrycznych do weryfikacji.</value>
<value>Weryfikacja danych biometrycznych</value>
</data>
<data name="Biometrics" xml:space="preserve">
<value>Dane biometryczne</value>

View File

@@ -518,23 +518,29 @@
<data name="Lock" xml:space="preserve">
<value>Bloquear</value>
</data>
<data name="LockOption15Minutes" xml:space="preserve">
<data name="FifteenMinutes" xml:space="preserve">
<value>15 minutos</value>
</data>
<data name="LockOption1Hour" xml:space="preserve">
<data name="OneHour" xml:space="preserve">
<value>1 hora</value>
</data>
<data name="LockOption1Minute" xml:space="preserve">
<data name="OneMinute" xml:space="preserve">
<value>1 minuto</value>
</data>
<data name="LockOption4Hours" xml:space="preserve">
<data name="FourHours" xml:space="preserve">
<value>4 horas</value>
</data>
<data name="LockOptionImmediately" xml:space="preserve">
<data name="Immediately" xml:space="preserve">
<value>Imediatamente</value>
</data>
<data name="LockOptions" xml:space="preserve">
<value>Opções de Bloqueio</value>
<data name="VaultTimeout" xml:space="preserve">
<value>Tempo Limite do Cofre</value>
</data>
<data name="VaultTimeoutAction" xml:space="preserve">
<value>Ação de Tempo Limite do Cofre</value>
</data>
<data name="VaultTimeoutLogOutConfirmation" xml:space="preserve">
<value>Sair irá remover todo o acesso ao seu cofre e requer autenticação online após o período de tempo limite. Tem certeza de que deseja usar esta configuração?</value>
</data>
<data name="LoggingIn" xml:space="preserve">
<value>Iniciando Sessão...</value>
@@ -1433,12 +1439,9 @@
<data name="Unlock" xml:space="preserve">
<value>Desbloquear</value>
</data>
<data name="LockOption30Minutes" xml:space="preserve">
<data name="ThirtyMinutes" xml:space="preserve">
<value>30 minutos</value>
</data>
<data name="LockOption5Minutes" xml:space="preserve">
<value>5 minutos</value>
</data>
<data name="SetPINDescription" xml:space="preserve">
<value>Defina o seu código PIN para desbloquear o Bitwarden. As suas configurações de PIN serão redefinidas se você encerrar a sessão por completo do aplicativo.</value>
</data>
@@ -1463,9 +1466,6 @@
<data name="FiveMinutes" xml:space="preserve">
<value>5 minutos</value>
</data>
<data name="OneMinute" xml:space="preserve">
<value>1 minuto</value>
</data>
<data name="TenSeconds" xml:space="preserve">
<value>10 segundos</value>
</data>
@@ -1535,7 +1535,7 @@
<data name="DisableSavePromptDescription" xml:space="preserve">
<value>A "Solicitação de Salvamento" solicita automaticamente que você salve novos itens no seu cofre sempre que você inseri-los pela primeira vez.</value>
</data>
<data name="LockOptionOnRestart" xml:space="preserve">
<data name="OnRestart" xml:space="preserve">
<value>Ao Reiniciar o App</value>
</data>
<data name="AutofillServiceNotEnabled" xml:space="preserve">
@@ -1629,7 +1629,7 @@
<value>Anexo salvo com sucesso</value>
</data>
<data name="AutofillTileAccessibilityRequired" xml:space="preserve">
<value>Por favor, habilite "Serviço de Autopreenchimento de Acessibilidade" nas configurações do Bitwarden para usar o bloco de Autopreenchimento.</value>
<value>Por favor, habilite "Serviço de Acessibilidade de Autopreenchimento" nas configurações do Bitwarden para usar o bloco de Autopreenchimento.</value>
</data>
<data name="AutofillTileUriNotFound" xml:space="preserve">
<value>Nenhum campo de senha detectado</value>

View File

@@ -518,23 +518,29 @@
<data name="Lock" xml:space="preserve">
<value>Bloquear</value>
</data>
<data name="LockOption15Minutes" xml:space="preserve">
<data name="FifteenMinutes" xml:space="preserve">
<value>15 minutos</value>
</data>
<data name="LockOption1Hour" xml:space="preserve">
<data name="OneHour" xml:space="preserve">
<value>1 hora</value>
</data>
<data name="LockOption1Minute" xml:space="preserve">
<data name="OneMinute" xml:space="preserve">
<value>1 minuto</value>
</data>
<data name="LockOption4Hours" xml:space="preserve">
<data name="FourHours" xml:space="preserve">
<value>4 horas</value>
</data>
<data name="LockOptionImmediately" xml:space="preserve">
<data name="Immediately" xml:space="preserve">
<value>Imediatamente</value>
</data>
<data name="LockOptions" xml:space="preserve">
<value>Opções de bloqueio</value>
<data name="VaultTimeout" xml:space="preserve">
<value>Expiração do cofre</value>
</data>
<data name="VaultTimeoutAction" xml:space="preserve">
<value>Ação de expiração do cofre</value>
</data>
<data name="VaultTimeoutLogOutConfirmation" xml:space="preserve">
<value>Terminar sessão irá remover todos os acessos ao seu cofre e requer autenticação online após o período de expiração. Tem a certeza de que pretende utilizar esta definição?</value>
</data>
<data name="LoggingIn" xml:space="preserve">
<value>A iniciar sessão...</value>
@@ -1433,12 +1439,9 @@
<data name="Unlock" xml:space="preserve">
<value>Desbloquear</value>
</data>
<data name="LockOption30Minutes" xml:space="preserve">
<data name="ThirtyMinutes" xml:space="preserve">
<value>30 minutos</value>
</data>
<data name="LockOption5Minutes" xml:space="preserve">
<value>5 minutos</value>
</data>
<data name="SetPINDescription" xml:space="preserve">
<value>Defina o seu código PIN para desbloquear o Bitwarden. As suas definições PIN serão redefinidas se terminar sessão completamente da aplicação.</value>
</data>
@@ -1463,9 +1466,6 @@
<data name="FiveMinutes" xml:space="preserve">
<value>5 minutos</value>
</data>
<data name="OneMinute" xml:space="preserve">
<value>1 minuto</value>
</data>
<data name="TenSeconds" xml:space="preserve">
<value>10 segundos</value>
</data>
@@ -1535,7 +1535,7 @@
<data name="DisableSavePromptDescription" xml:space="preserve">
<value>A "solicitação de guardar" solicita-lhe automaticamente a guardar novos itens para o seu cofre quando os introduz pela primeira vez.</value>
</data>
<data name="LockOptionOnRestart" xml:space="preserve">
<data name="OnRestart" xml:space="preserve">
<value>Quando reiniciar a aplicação</value>
</data>
<data name="AutofillServiceNotEnabled" xml:space="preserve">

View File

@@ -1564,7 +1564,7 @@
<value>Your login session has expired.</value>
</data>
<data name="BiometricsDirection" xml:space="preserve">
<value>Use biometrics to verify.</value>
<value>Biometric Verification</value>
</data>
<data name="Biometrics" xml:space="preserve">
<value>Biometrics</value>

View File

@@ -518,23 +518,29 @@
<data name="Lock" xml:space="preserve">
<value>Blocare</value>
</data>
<data name="LockOption15Minutes" xml:space="preserve">
<data name="FifteenMinutes" xml:space="preserve">
<value>15 minute</value>
</data>
<data name="LockOption1Hour" xml:space="preserve">
<data name="OneHour" xml:space="preserve">
<value>1 oră</value>
</data>
<data name="LockOption1Minute" xml:space="preserve">
<data name="OneMinute" xml:space="preserve">
<value>1 minut</value>
</data>
<data name="LockOption4Hours" xml:space="preserve">
<data name="FourHours" xml:space="preserve">
<value>4 ore</value>
</data>
<data name="LockOptionImmediately" xml:space="preserve">
<data name="Immediately" xml:space="preserve">
<value>Imediat</value>
</data>
<data name="LockOptions" xml:space="preserve">
<value>Blocare</value>
<data name="VaultTimeout" xml:space="preserve">
<value>Timp Ieșire Seif</value>
</data>
<data name="VaultTimeoutAction" xml:space="preserve">
<value>Acțiune la Ieșire Seif</value>
</data>
<data name="VaultTimeoutLogOutConfirmation" xml:space="preserve">
<value>Deconectarea va elimina accesul la seiful dvs. și necesită autentificare online după perioada de expirare. Sunteți sigur că doriți să utilizați această setare?</value>
</data>
<data name="LoggingIn" xml:space="preserve">
<value>Autentificare...</value>
@@ -588,7 +594,7 @@
<value>Nu sunt articole în seiful dvs.</value>
</data>
<data name="NoItemsTap" xml:space="preserve">
<value>Nu sunt date de conectare în seif pentru acest sait. Atingeți pentru a adăuga un articol.</value>
<value>Niciun articol în seif pentru acest site/aplicație. Tapați ca să adăugați una.</value>
</data>
<data name="NoUsernamePasswordConfigured" xml:space="preserve">
<value>Această autentificare nu are un nume de utilizator sau parolă configurate.</value>
@@ -638,7 +644,7 @@
<value>Reintroduceţi parola principală</value>
</data>
<data name="SearchVault" xml:space="preserve">
<value>Căutare în seif</value>
<value>Căutaţi în seif</value>
</data>
<data name="Security" xml:space="preserve">
<value>Securitate</value>
@@ -729,7 +735,7 @@
<comment>This is used for the autofill service. ex. "There are no items in your vault for twitter.com".</comment>
</data>
<data name="BitwardenAutofillServiceOverlay" xml:space="preserve">
<value>When you select an input field and see a Bitwarden auto-fill overlay, you can tap it to launch the auto-fill service.</value>
<value>Când selectați un câmp de intrare și vedeți o propunere de auto-completare, tapați ca să lansați serviciu de auto-completare.</value>
</data>
<data name="BitwardenAutofillServiceNotificationContent" xml:space="preserve">
<value>Atingeți această notificare pentru a completa automat o autentificare din seiful dvs.</value>
@@ -753,7 +759,7 @@
<value>Stare</value>
</data>
<data name="BitwardenAutofillServiceAlert2" xml:space="preserve">
<value>Cea mai ușoară modalitate de a adăuga noi autentificări în seif este din Serviciul de completare automată Bitwarden. Aflați mai multe despre utilizarea Serviciului de completare automată Bitwarden accesând ecranul "Setări".</value>
<value>Cea mai ușoară modalitate de a adăuga noi logări în seif este cu Serviciul de auto-completare Bitwarden. Aflați mai multe despre folosirea acestui serviciu Bitwarden din ecranul "Setări".</value>
</data>
<data name="Autofill" xml:space="preserve">
<value>Completare automată</value>
@@ -1132,7 +1138,7 @@
<value>Nu există elemente în acest dosar.</value>
</data>
<data name="NoItemsTrash" xml:space="preserve">
<value>There are no items in the trash.</value>
<value>Nu există articole în coșul de gunoi.</value>
</data>
<data name="AutofillAccessibilityService" xml:space="preserve">
<value>Serviciul de accesibilitate pentru completare automată</value>
@@ -1231,16 +1237,16 @@
<comment>An entity of multiple related people (ex. a team or business organization).</comment>
</data>
<data name="HoldYubikeyNearTop" xml:space="preserve">
<value>Țineţi YubiKey-ul dumneavoastră în partea de sus a dispozitivului.</value>
<value>Țineți YubiKey-ul dvs. deasupra aparatului.</value>
</data>
<data name="TryAgain" xml:space="preserve">
<value>Încercaţi din nou</value>
</data>
<data name="YubiKeyInstructionIos" xml:space="preserve">
<value>Pentru a continua, ţineţi NEO-YubiKey-ul dumneavoastră către partea din spate a dispozitivului.</value>
<value>Pentru a continua, țineți-vă YubiKey NEO pe spatele aparatului.</value>
</data>
<data name="BitwardenAutofillAccessibilityServiceDescription2" xml:space="preserve">
<value>Serviciul de accesibilitate poate fi de ajutor atunci când unele aplicații nu acceptă serviciul standard de completare automată.</value>
<value>Serviciul de accesibilitate poate fi de ajutor când aplicațiile nu acceptă serviciul standard de auto-completare.</value>
</data>
<data name="DatePasswordUpdated" xml:space="preserve">
<value>Parolă actualizată</value>
@@ -1257,7 +1263,7 @@
<value>Trebuie să te loghezi în aplicația Bitwarden înainte să folosești Auto Completarea.</value>
</data>
<data name="AutofillSetup" xml:space="preserve">
<value>Your logins are now easily accessable right from your keyboard while logging into apps and websites.</value>
<value>Logările dvs. sunt acum ușor accesibile direct de pe tastatură atunci când vă conectați la aplicații și site-uri web.</value>
</data>
<data name="AutofillSetup2" xml:space="preserve">
<value>Recomandăm dezactivarea celorlalte aplicații care folosesc AutoFill din setări dacă nu intenționați să le utilizați.</value>
@@ -1290,7 +1296,7 @@
<value>Cea mai ușoară modalitate de a adăuga noi autentificări în seif este din extensia aplicaţiei Bitwarden. Aflați mai multe despre utilizarea extensiei aplicaţiei Bitwarden accesând ecranul "Setări".</value>
</data>
<data name="InvalidEmail" xml:space="preserve">
<value>Adresă de email greșită.</value>
<value>Adresă de e-mail greșită.</value>
</data>
<data name="Cards" xml:space="preserve">
<value>Carduri</value>
@@ -1299,13 +1305,13 @@
<value>Identități</value>
</data>
<data name="Logins" xml:space="preserve">
<value>Autentificări</value>
<value>Logări</value>
</data>
<data name="SecureNotes" xml:space="preserve">
<value>Note securizate</value>
<value>Note Securizate</value>
</data>
<data name="AllItems" xml:space="preserve">
<value>Toate elementele</value>
<value>Toate Elementele</value>
</data>
<data name="URIs" xml:space="preserve">
<value>URI-uri</value>
@@ -1316,13 +1322,13 @@
<comment>A loading message when doing an exposed password check.</comment>
</data>
<data name="CheckPassword" xml:space="preserve">
<value>Verificare dacă parola a fost dezvăluită.</value>
<value>Verificați dacă parola este compromisă.</value>
</data>
<data name="PasswordExposed" xml:space="preserve">
<value>Această parolă a fost dezvăluită de {0} ori într-o breșă de date. Ar trebui să o schimbați.</value>
<value>Această parolă a fost compromisă de {0} ori într-o breșă de date. Ar trebui să o schimbați.</value>
</data>
<data name="PasswordSafe" xml:space="preserve">
<value>Aceasta parola nu a fost găsită în nicio breșă de date cunoscută. Ar trebui să fie sigură pentru a fi utilizată.</value>
<value>Parola nu a fost găsită în nicio scurgere de date cunoscută. Este sigur de utilizat.</value>
</data>
<data name="IdentityName" xml:space="preserve">
<value>Numele Identității</value>
@@ -1337,10 +1343,10 @@
<value>Tipuri</value>
</data>
<data name="NoPasswordsToList" xml:space="preserve">
<value>Nicio parolă.</value>
<value>Nicio parolă de afișat.</value>
</data>
<data name="NoItemsToList" xml:space="preserve">
<value>Nu există niciun articol de afișat.</value>
<value>Niciun articol de afișat.</value>
</data>
<data name="SearchCollection" xml:space="preserve">
<value>Căutare colecție</value>
@@ -1349,7 +1355,7 @@
<value>Căutare dosar</value>
</data>
<data name="SearchType" xml:space="preserve">
<value>Tipul de căutare</value>
<value>Tip de căutare</value>
</data>
<data name="Type" xml:space="preserve">
<value>Tip</value>
@@ -1373,19 +1379,19 @@
<value>Nu există colecții în listă.</value>
</data>
<data name="ItemShared" xml:space="preserve">
<value>Articolul a fost distribuit.</value>
<value>Articolul a fost partajat.</value>
</data>
<data name="SelectOneCollection" xml:space="preserve">
<value>Este nevoie să alegeți măcar o colecție.</value>
</data>
<data name="Share" xml:space="preserve">
<value>Distribuire</value>
<value>Partajați</value>
</data>
<data name="ShareItem" xml:space="preserve">
<value>Distribuie element</value>
<value>Partajați element</value>
</data>
<data name="NoOrgsToList" xml:space="preserve">
<value>Nu există organizații care să fie afișate.</value>
<value>Nicio organizație de afișat.</value>
</data>
<data name="ShareDesc" xml:space="preserve">
<value>Alegeți o organizație căreia doriți să îi distribuiți acest element. Distribuirea transferă proprietatea asupra obiectului către organizație. Nu veți mai fi proprietarul direct al acestui element odată ce a fost distribuit.</value>
@@ -1433,12 +1439,9 @@
<data name="Unlock" xml:space="preserve">
<value>Deblocare</value>
</data>
<data name="LockOption30Minutes" xml:space="preserve">
<data name="ThirtyMinutes" xml:space="preserve">
<value>30 de minute</value>
</data>
<data name="LockOption5Minutes" xml:space="preserve">
<value>5 minute</value>
</data>
<data name="SetPINDescription" xml:space="preserve">
<value>Setaţi codul PIN de deblocare Bitwarden. Setările codului PIN vor fi resetate dacă vă deconectaţi vreodată din aplicație.</value>
</data>
@@ -1463,9 +1466,6 @@
<data name="FiveMinutes" xml:space="preserve">
<value>5 minute</value>
</data>
<data name="OneMinute" xml:space="preserve">
<value>1 minut</value>
</data>
<data name="TenSeconds" xml:space="preserve">
<value>10 secunde</value>
</data>
@@ -1517,7 +1517,7 @@
<value>Sunteți sigur că doriți să ieșiți?</value>
</data>
<data name="PINRequireMasterPasswordRestart" xml:space="preserve">
<value>Do you want to require unlocking with your master password when the application is restarted?</value>
<value>Doriți să solicitați deblocarea cu parola principală atunci când aplicația este repornită?</value>
</data>
<data name="Black" xml:space="preserve">
<value>Neagră</value>
@@ -1527,7 +1527,7 @@
<value>URI-uri în lista neagră</value>
</data>
<data name="BlacklistedUrisDescription" xml:space="preserve">
<value>URIs that are blacklisted will not offer auto-fill. The list of apps should be comma separated. Ex: "https://twitter.com, androidapp://com.twitter.android".</value>
<value>URI-urile de pe lista neagră nu vor oferi auto-completarea. Lista trebuie separată cu virgule. Ex: "https://twitter.com, androidapp: //com.twitter.android".</value>
</data>
<data name="DisableSavePrompt" xml:space="preserve">
<value>Dezactivați solicitarea de salvare</value>
@@ -1535,11 +1535,11 @@
<data name="DisableSavePromptDescription" xml:space="preserve">
<value>"Notificarea de salvare" solicită automat salvarea de noi elemente în seiful dvs. de fiecare dată când le introduceți pentru prima dată.</value>
</data>
<data name="LockOptionOnRestart" xml:space="preserve">
<data name="OnRestart" xml:space="preserve">
<value>La repornirea aplicației</value>
</data>
<data name="AutofillServiceNotEnabled" xml:space="preserve">
<value>Completarea automată simplifică accesarea securizată a seifului Bitwarden de pe alte site-uri web și aplicații. Se pare că nu ați activat un serviciu de completare automată pentru Bitwarden. Activați completarea automată pentru Bitwarden din ecranul „Setări”.</value>
<value>Auto-completarea ușurează accesul securizat al seifului Bitwarden de pe alte site-uri și aplicații. Se pare că nu ați activat serviciul de auto-completare pentru Bitwarden. Activați auto-completarea pentru Bitwarden din ecranul „Setări”.</value>
</data>
<data name="ThemeAppliedOnRestart" xml:space="preserve">
<value>Modificările temei se vor aplica după repornirea aplicației.</value>
@@ -1555,123 +1555,123 @@
<value>Descărcare</value>
</data>
<data name="Shared" xml:space="preserve">
<value>Distribuit</value>
<value>Partajate</value>
</data>
<data name="ToggleVisibility" xml:space="preserve">
<value>Toggle Visiblity</value>
<value>Comutare vizibilitate</value>
</data>
<data name="LoginExpired" xml:space="preserve">
<value>Sesiunea de autentificare a expirat.</value>
</data>
<data name="BiometricsDirection" xml:space="preserve">
<value>Folosiți datele biometrice pentru a verifica.</value>
<value>Utilizați biometria la verificări</value>
</data>
<data name="Biometrics" xml:space="preserve">
<value>Biometrice</value>
<value>Biometria</value>
</data>
<data name="UseBiometricsToUnlock" xml:space="preserve">
<value>Utilizați datele biometrice pentru a debloca</value>
<value>Folosiți Biometria la Deblocare</value>
</data>
<data name="AccessibilityOverlayPermissionAlert" xml:space="preserve">
<value>Bitwarden needs attention - See "Auto-fill Accessibility Service" from Bitwarden Settings</value>
<value>Bitwarden are nevoie de atenție! Vedeți în Setările Bitwarden "Servicii Accesibilitate Auto-completare"</value>
</data>
<data name="BitwardenAutofillServiceOverlayPermission" xml:space="preserve">
<value>3. On the Android App Settings screen for Bitwarden, go to the "Display over other apps" options (under Advanced) and tap the toggle to enable overlay support.</value>
<value>3. În ecranul Android de Setări pentru Bitwarden accesați "Opțiuni", tapați comutatorul "Afișați pete alte aplicații" (sub Avansat) pentru a activa suportul de suprapunere.</value>
</data>
<data name="OverlayPermission" xml:space="preserve">
<value>Permission</value>
<value>Permisiune</value>
</data>
<data name="BitwardenAutofillServiceOpenOverlayPermissionSettings" xml:space="preserve">
<value>Open Overlay Permission Settings</value>
<value>Deschideți Setările Permisiune de Suprapunere</value>
</data>
<data name="BitwardenAutofillServiceStep3" xml:space="preserve">
<value>3. On the Android App Settings screen for Bitwarden, select "Display over other apps" (under "Advanced") and switch on the toggle to allow the overlay.</value>
<value>3. În ecranul Android de Setări pentru Bitwarden accesați "Opțiuni", tapați comutatorul "Afișați pete alte aplicații" (sub "Avansat") pentru a activa suportul de suprapunere.</value>
</data>
<data name="Denied" xml:space="preserve">
<value>Denied</value>
<value>Interzis</value>
</data>
<data name="Granted" xml:space="preserve">
<value>Granted</value>
<value>Permis</value>
</data>
<data name="FileFormat" xml:space="preserve">
<value>File Format</value>
<value>Format fișier</value>
</data>
<data name="ExportVaultMasterPasswordDescription" xml:space="preserve">
<value>Enter your master password to export your vault data.</value>
<value>Introdu parola principală pentru a exporta datele seifului.</value>
</data>
<data name="ExportVaultWarning" xml:space="preserve">
<value>This export contains your vault data in an unencrypted format. You should not store or send the exported file over unsecure channels (such as email). Delete it immediately after you are done using it.</value>
<value>Acest export conține datele dvs. în format necriptat. Nu trebuie să le stocați sau să le trimiteți pe canale nesigure (cum ar fi e-mailuri). Ștergeți-le imediat după ce ați terminat cu utilizarea lor.</value>
</data>
<data name="Warning" xml:space="preserve">
<value>Warning</value>
<value>Avertisment</value>
</data>
<data name="ExportVaultFailure" xml:space="preserve">
<value>There was a problem exporting your vault. If the problem persists, you'll need to export from the web vault.</value>
<value>A apărut o problemă la exportul seifului dvs. Dacă problema persistă, va trebui să exportați din seiful web.</value>
</data>
<data name="ExportVaultSuccess" xml:space="preserve">
<value>Vault exported successfully</value>
<value>Seiful exportat cu succes</value>
</data>
<data name="Clone" xml:space="preserve">
<value>Clone</value>
<value>Clon</value>
<comment>Clone an entity (verb).</comment>
</data>
<data name="PasswordGeneratorPolicyInEffect" xml:space="preserve">
<value>One or more organization policies are affecting your generator settings</value>
<value>Una sau mai multe politici organizaționale afectează setările generatorului</value>
</data>
<data name="Open" xml:space="preserve">
<value>Open</value>
<value>Deschide</value>
<comment>Button text for an open operation (verb).</comment>
</data>
<data name="UnableToSaveAttachment" xml:space="preserve">
<value>There was a problem saving this attachment. If the problem persists, you can save it from the web vault.</value>
<value>A apărut o problemă la salvarea acestui atașament. Dacă problema persistă, o puteți salva din seiful web.</value>
</data>
<data name="SaveAttachmentSuccess" xml:space="preserve">
<value>Attachment saved successfully</value>
<value>Atașamente salvate cu succes</value>
</data>
<data name="AutofillTileAccessibilityRequired" xml:space="preserve">
<value>Please enable "Auto-fill Accessibility Service" from Bitwarden Settings to use the Auto-fill tile.</value>
<value>Activați "Serviciul Accesibilitate Auto-completare" în setările Bitwarden ca să utilizați placa de auto-completare.</value>
</data>
<data name="AutofillTileUriNotFound" xml:space="preserve">
<value>No password fields detected</value>
<value>Câmpul parolă nu a fost detectat</value>
</data>
<data name="SoftDeleting" xml:space="preserve">
<value>Sending to trash...</value>
<value>Se trimite la gunoi...</value>
<comment>Message shown when interacting with the server</comment>
</data>
<data name="ItemSoftDeleted" xml:space="preserve">
<value>Item has been sent to trash.</value>
<value>Elementul a fost trimis la gunoi.</value>
<comment>Confirmation message after successfully soft-deleting a login</comment>
</data>
<data name="Restore" xml:space="preserve">
<value>Restore</value>
<value>Restaurați</value>
<comment>Restores an entity (verb).</comment>
</data>
<data name="Restoring" xml:space="preserve">
<value>Restoring...</value>
<value>Se restaurează...</value>
<comment>Message shown when interacting with the server</comment>
</data>
<data name="ItemRestored" xml:space="preserve">
<value>Item has been restored.</value>
<value>Articolul a fost restaurat</value>
<comment>Confirmation message after successfully restoring a soft-deleted item</comment>
</data>
<data name="Trash" xml:space="preserve">
<value>Trash</value>
<value>Gunoi</value>
<comment>(noun) Location of deleted items which have not yet been permanently deleted</comment>
</data>
<data name="SearchTrash" xml:space="preserve">
<value>Search trash</value>
<value>Caută în coșul de gunoi</value>
<comment>(action prompt) Label for the search text field when viewing the trash folder</comment>
</data>
<data name="DoYouReallyWantToPermanentlyDeleteCipher" xml:space="preserve">
<value>Do you really want to permanently delete? This cannot be undone.</value>
<value>Doriți cu adevărat să ștergeți definitiv? Acest lucru nu poate fi anulat.</value>
<comment>Confirmation alert message when permanently deleteing a cipher.</comment>
</data>
<data name="DoYouReallyWantToRestoreCipher" xml:space="preserve">
<value>Do you really want to restore this item?</value>
<value>Doriți cu adevărat să restaurați acest articol?</value>
<comment>Confirmation alert message when restoring a soft-deleted cipher.</comment>
</data>
<data name="DoYouReallyWantToSoftDeleteCipher" xml:space="preserve">
<value>Do you really want to send to the trash?</value>
<value>Chiar vreți să trimiteți la coșul de gunoi?</value>
<comment>Confirmation alert message when soft-deleting a cipher.</comment>
</data>
</root>

View File

@@ -518,23 +518,29 @@
<data name="Lock" xml:space="preserve">
<value>Заблокировать</value>
</data>
<data name="LockOption15Minutes" xml:space="preserve">
<data name="FifteenMinutes" xml:space="preserve">
<value>15 минут</value>
</data>
<data name="LockOption1Hour" xml:space="preserve">
<data name="OneHour" xml:space="preserve">
<value>1 час</value>
</data>
<data name="LockOption1Minute" xml:space="preserve">
<data name="OneMinute" xml:space="preserve">
<value>1 минута</value>
</data>
<data name="LockOption4Hours" xml:space="preserve">
<data name="FourHours" xml:space="preserve">
<value>4 часа</value>
</data>
<data name="LockOptionImmediately" xml:space="preserve">
<data name="Immediately" xml:space="preserve">
<value>Немедленно</value>
</data>
<data name="LockOptions" xml:space="preserve">
<value>Параметры блокировки</value>
<data name="VaultTimeout" xml:space="preserve">
<value>Таймаут хранилища</value>
</data>
<data name="VaultTimeoutAction" xml:space="preserve">
<value>Действие по таймауту хранилища</value>
</data>
<data name="VaultTimeoutLogOutConfirmation" xml:space="preserve">
<value>По истечении таймаута будет выполнен выход, что приведет к отмене всех прав доступа к вашему хранилищу и потребует онлайн-аутентификации. Вы уверены, что хотите использовать этот параметр?</value>
</data>
<data name="LoggingIn" xml:space="preserve">
<value>Вход...</value>
@@ -1132,7 +1138,7 @@
<value>В этой папке нет элементов.</value>
</data>
<data name="NoItemsTrash" xml:space="preserve">
<value>Нет элементов в корзине.</value>
<value>В корзине нет элементов.</value>
</data>
<data name="AutofillAccessibilityService" xml:space="preserve">
<value>Служба специальных возможностей автозаполнения</value>
@@ -1433,12 +1439,9 @@
<data name="Unlock" xml:space="preserve">
<value>Разблокировать</value>
</data>
<data name="LockOption30Minutes" xml:space="preserve">
<data name="ThirtyMinutes" xml:space="preserve">
<value>30 минут</value>
</data>
<data name="LockOption5Minutes" xml:space="preserve">
<value>5 минут</value>
</data>
<data name="SetPINDescription" xml:space="preserve">
<value>Установите PIN-код для разблокировки Bitwarden. Настройки PIN-кода будут сброшены, если вы когда-либо полностью выйдете из приложения.</value>
</data>
@@ -1463,9 +1466,6 @@
<data name="FiveMinutes" xml:space="preserve">
<value>5 минут</value>
</data>
<data name="OneMinute" xml:space="preserve">
<value>1 минута</value>
</data>
<data name="TenSeconds" xml:space="preserve">
<value>10 секунд</value>
</data>
@@ -1535,7 +1535,7 @@
<data name="DisableSavePromptDescription" xml:space="preserve">
<value>Уведомление о сохранении автоматически предложит вам сохранить новые элементы в ваше хранилище.</value>
</data>
<data name="LockOptionOnRestart" xml:space="preserve">
<data name="OnRestart" xml:space="preserve">
<value>При перезапуске приложения</value>
</data>
<data name="AutofillServiceNotEnabled" xml:space="preserve">
@@ -1629,10 +1629,10 @@
<value>Вложение успешно сохранено</value>
</data>
<data name="AutofillTileAccessibilityRequired" xml:space="preserve">
<value>Включите службу автозаполнения в настройках Bitwarden для использования плитки автозаполнения.</value>
<value>Пожалуйста, включите службу специальных возможностей автозаполнения Bitwarden для использования панели автозаполнения.</value>
</data>
<data name="AutofillTileUriNotFound" xml:space="preserve">
<value>Поля пароля не обнаружены</value>
<value>Полей ввода пароля не обнаружено</value>
</data>
<data name="SoftDeleting" xml:space="preserve">
<value>Отправка в корзину...</value>
@@ -1663,7 +1663,7 @@
<comment>(action prompt) Label for the search text field when viewing the trash folder</comment>
</data>
<data name="DoYouReallyWantToPermanentlyDeleteCipher" xml:space="preserve">
<value>Вы настаиваете на окончательном удалении? Это действие необратимо.</value>
<value>Вы действительно хотите удалить окончательно? Это нельзя отменить.</value>
<comment>Confirmation alert message when permanently deleteing a cipher.</comment>
</data>
<data name="DoYouReallyWantToRestoreCipher" xml:space="preserve">
@@ -1671,7 +1671,7 @@
<comment>Confirmation alert message when restoring a soft-deleted cipher.</comment>
</data>
<data name="DoYouReallyWantToSoftDeleteCipher" xml:space="preserve">
<value>Вы настаиваете на отправке в корзину?</value>
<value>Вы действительно хотите отправить в корзину?</value>
<comment>Confirmation alert message when soft-deleting a cipher.</comment>
</data>
</root>

File diff suppressed because it is too large Load Diff

View File

@@ -518,23 +518,29 @@
<data name="Lock" xml:space="preserve">
<value>Zámok</value>
</data>
<data name="LockOption15Minutes" xml:space="preserve">
<data name="FifteenMinutes" xml:space="preserve">
<value>15 minút</value>
</data>
<data name="LockOption1Hour" xml:space="preserve">
<data name="OneHour" xml:space="preserve">
<value>1 hodina</value>
</data>
<data name="LockOption1Minute" xml:space="preserve">
<data name="OneMinute" xml:space="preserve">
<value>1 minúta</value>
</data>
<data name="LockOption4Hours" xml:space="preserve">
<data name="FourHours" xml:space="preserve">
<value>4 hodiny</value>
</data>
<data name="LockOptionImmediately" xml:space="preserve">
<data name="Immediately" xml:space="preserve">
<value>Okamžite</value>
</data>
<data name="LockOptions" xml:space="preserve">
<value>Možnosti zámku</value>
<data name="VaultTimeout" xml:space="preserve">
<value>Časový limit pre trezor</value>
</data>
<data name="VaultTimeoutAction" xml:space="preserve">
<value>Akcia pri vypršaní času pre trezor</value>
</data>
<data name="VaultTimeoutLogOutConfirmation" xml:space="preserve">
<value>Odhlásenie bude vyžadovať online prihlásenie po vypršaní časového limitu. Naozaj chcete použiť toto nastavenie?</value>
</data>
<data name="LoggingIn" xml:space="preserve">
<value>Prihlasovanie...</value>
@@ -1132,7 +1138,7 @@
<value>V tomto priečinku sa nenachádzajú žiadne položky.</value>
</data>
<data name="NoItemsTrash" xml:space="preserve">
<value>There are no items in the trash.</value>
<value>V koši nie sú žiadne položky</value>
</data>
<data name="AutofillAccessibilityService" xml:space="preserve">
<value>Služba automatického vypĺňania pre zjednodušený prístup</value>
@@ -1433,12 +1439,9 @@
<data name="Unlock" xml:space="preserve">
<value>Odomknúť</value>
</data>
<data name="LockOption30Minutes" xml:space="preserve">
<data name="ThirtyMinutes" xml:space="preserve">
<value>30 minút</value>
</data>
<data name="LockOption5Minutes" xml:space="preserve">
<value>5 minút</value>
</data>
<data name="SetPINDescription" xml:space="preserve">
<value>Nastaviť kód PIN na odomknutie Bitwarden. Nastavenie PIN sa vynuluje, ak úplne odhlásite z aplikácie.</value>
</data>
@@ -1463,9 +1466,6 @@
<data name="FiveMinutes" xml:space="preserve">
<value>5 minút</value>
</data>
<data name="OneMinute" xml:space="preserve">
<value>1 minúta</value>
</data>
<data name="TenSeconds" xml:space="preserve">
<value>10 sekúnd</value>
</data>
@@ -1517,7 +1517,7 @@
<value>Naozaj chcete ukončiť Bitwarden?</value>
</data>
<data name="PINRequireMasterPasswordRestart" xml:space="preserve">
<value>Do you want to require unlocking with your master password when the application is restarted?</value>
<value>You you want to require unlocking with your master password when the application is restarted?</value>
</data>
<data name="Black" xml:space="preserve">
<value>Čierna</value>
@@ -1535,7 +1535,7 @@
<data name="DisableSavePromptDescription" xml:space="preserve">
<value>"Notifikácia Pridať prihlasovacie údaje" vás automaticky upozorní na uloženie nových údajov do vášho trezoru vždy, keď sa s nimi prihlasujete po prvý krát.</value>
</data>
<data name="LockOptionOnRestart" xml:space="preserve">
<data name="OnRestart" xml:space="preserve">
<value>Po reštarte aplikácie</value>
</data>
<data name="AutofillServiceNotEnabled" xml:space="preserve">
@@ -1629,49 +1629,49 @@
<value>Príloha úspešne uložená</value>
</data>
<data name="AutofillTileAccessibilityRequired" xml:space="preserve">
<value>Please enable "Auto-fill Accessibility Service" from Bitwarden Settings to use the Auto-fill tile.</value>
<value>Zapnite službu dostupnosti pre automatické vypĺňanie v nastaveniach Bitwardenu aby ste mohli používať dlaždicu pre automatické dopĺňanie.</value>
</data>
<data name="AutofillTileUriNotFound" xml:space="preserve">
<value>No password fields detected</value>
<value>Nenájdené žiadne políčka na heslo</value>
</data>
<data name="SoftDeleting" xml:space="preserve">
<value>Sending to trash...</value>
<value>Posielanie do koša...</value>
<comment>Message shown when interacting with the server</comment>
</data>
<data name="ItemSoftDeleted" xml:space="preserve">
<value>Item has been sent to trash.</value>
<value>Položka bola poslaná do koša.</value>
<comment>Confirmation message after successfully soft-deleting a login</comment>
</data>
<data name="Restore" xml:space="preserve">
<value>Restore</value>
<value>Obnoviť</value>
<comment>Restores an entity (verb).</comment>
</data>
<data name="Restoring" xml:space="preserve">
<value>Restoring...</value>
<value>Obnovovanie...</value>
<comment>Message shown when interacting with the server</comment>
</data>
<data name="ItemRestored" xml:space="preserve">
<value>Item has been restored.</value>
<value>Položka bola obnovená.</value>
<comment>Confirmation message after successfully restoring a soft-deleted item</comment>
</data>
<data name="Trash" xml:space="preserve">
<value>Trash</value>
<value>Kôš</value>
<comment>(noun) Location of deleted items which have not yet been permanently deleted</comment>
</data>
<data name="SearchTrash" xml:space="preserve">
<value>Search trash</value>
<value>Hľadať v koši</value>
<comment>(action prompt) Label for the search text field when viewing the trash folder</comment>
</data>
<data name="DoYouReallyWantToPermanentlyDeleteCipher" xml:space="preserve">
<value>Do you really want to permanently delete? This cannot be undone.</value>
<value>Naozaj to chcete navždy odstrániť? Nedá sa to vrátiť späť.</value>
<comment>Confirmation alert message when permanently deleteing a cipher.</comment>
</data>
<data name="DoYouReallyWantToRestoreCipher" xml:space="preserve">
<value>Do you really want to restore this item?</value>
<value>Naozaj chcete obnoviť túto položku?</value>
<comment>Confirmation alert message when restoring a soft-deleted cipher.</comment>
</data>
<data name="DoYouReallyWantToSoftDeleteCipher" xml:space="preserve">
<value>Do you really want to send to the trash?</value>
<value>Naozaj to chcete poslať do koša?</value>
<comment>Confirmation alert message when soft-deleting a cipher.</comment>
</data>
</root>

View File

@@ -518,23 +518,29 @@
<data name="Lock" xml:space="preserve">
<value>Lås</value>
</data>
<data name="LockOption15Minutes" xml:space="preserve">
<data name="FifteenMinutes" xml:space="preserve">
<value>15 minuter</value>
</data>
<data name="LockOption1Hour" xml:space="preserve">
<data name="OneHour" xml:space="preserve">
<value>1 timme</value>
</data>
<data name="LockOption1Minute" xml:space="preserve">
<data name="OneMinute" xml:space="preserve">
<value>1 minut</value>
</data>
<data name="LockOption4Hours" xml:space="preserve">
<data name="FourHours" xml:space="preserve">
<value>4 timmar</value>
</data>
<data name="LockOptionImmediately" xml:space="preserve">
<data name="Immediately" xml:space="preserve">
<value>Omedelbart</value>
</data>
<data name="LockOptions" xml:space="preserve">
<value>Låsalternativ</value>
<data name="VaultTimeout" xml:space="preserve">
<value>Valvets tidsgräns</value>
</data>
<data name="VaultTimeoutAction" xml:space="preserve">
<value>Åtgärd när valvets tidsgräns överskrids</value>
</data>
<data name="VaultTimeoutLogOutConfirmation" xml:space="preserve">
<value>Genom att logga ut upphör all åtkomst till valvet och onlineautentisering krävs efter att tidsgränsen överskridits. Är du säker på att du vill använda denna inställning?</value>
</data>
<data name="LoggingIn" xml:space="preserve">
<value>Loggar in...</value>
@@ -1433,12 +1439,9 @@
<data name="Unlock" xml:space="preserve">
<value>Lås upp</value>
</data>
<data name="LockOption30Minutes" xml:space="preserve">
<data name="ThirtyMinutes" xml:space="preserve">
<value>30 minuter</value>
</data>
<data name="LockOption5Minutes" xml:space="preserve">
<value>5 minuter</value>
</data>
<data name="SetPINDescription" xml:space="preserve">
<value>Ange en PIN-kod att låsa upp Bitwarden med. Dina PIN-kodsinställningar återställs om du någonsin loggar ut helt från appen.</value>
</data>
@@ -1463,9 +1466,6 @@
<data name="FiveMinutes" xml:space="preserve">
<value>5 minuter</value>
</data>
<data name="OneMinute" xml:space="preserve">
<value>1 minut</value>
</data>
<data name="TenSeconds" xml:space="preserve">
<value>10 sekunder</value>
</data>
@@ -1535,7 +1535,7 @@
<data name="DisableSavePromptDescription" xml:space="preserve">
<value>"Sparförfrågan" frågar dig om du vill lägga till nya objekt i ditt valv automatiskt när du använder dem för första gången.</value>
</data>
<data name="LockOptionOnRestart" xml:space="preserve">
<data name="OnRestart" xml:space="preserve">
<value>Vid omstart av appen</value>
</data>
<data name="AutofillServiceNotEnabled" xml:space="preserve">

View File

@@ -518,23 +518,29 @@
<data name="Lock" xml:space="preserve">
<value>ล็อค</value>
</data>
<data name="LockOption15Minutes" xml:space="preserve">
<value>15 นาที</value>
<data name="FifteenMinutes" xml:space="preserve">
<value>15 minutes</value>
</data>
<data name="LockOption1Hour" xml:space="preserve">
<value>1 ชั่วโมง</value>
<data name="OneHour" xml:space="preserve">
<value>1 hour</value>
</data>
<data name="LockOption1Minute" xml:space="preserve">
<value>1 นาที</value>
<data name="OneMinute" xml:space="preserve">
<value>1 minute</value>
</data>
<data name="LockOption4Hours" xml:space="preserve">
<value>4 ชั่วโมง</value>
<data name="FourHours" xml:space="preserve">
<value>4 hours</value>
</data>
<data name="LockOptionImmediately" xml:space="preserve">
<value>ทันที</value>
<data name="Immediately" xml:space="preserve">
<value>Immediately</value>
</data>
<data name="LockOptions" xml:space="preserve">
<value>ตัวเลือกการล็อก</value>
<data name="VaultTimeout" xml:space="preserve">
<value>Vault Timeout</value>
</data>
<data name="VaultTimeoutAction" xml:space="preserve">
<value>Vault Timeout Action</value>
</data>
<data name="VaultTimeoutLogOutConfirmation" xml:space="preserve">
<value>Logging out will remove all access to your vault and requires online authentication after the timeout period. Are you sure you want to use this setting?</value>
</data>
<data name="LoggingIn" xml:space="preserve">
<value>กำลังเข้าสู่ระบบ...</value>
@@ -1433,12 +1439,9 @@
<data name="Unlock" xml:space="preserve">
<value>Unlock</value>
</data>
<data name="LockOption30Minutes" xml:space="preserve">
<data name="ThirtyMinutes" xml:space="preserve">
<value>30 minutes</value>
</data>
<data name="LockOption5Minutes" xml:space="preserve">
<value>5 minutes</value>
</data>
<data name="SetPINDescription" xml:space="preserve">
<value>Set your PIN code for unlocking Bitwarden. Your PIN settings will be reset if you ever fully log out of the application.</value>
</data>
@@ -1463,9 +1466,6 @@
<data name="FiveMinutes" xml:space="preserve">
<value>5 minutes</value>
</data>
<data name="OneMinute" xml:space="preserve">
<value>1 minute</value>
</data>
<data name="TenSeconds" xml:space="preserve">
<value>10 seconds</value>
</data>
@@ -1517,7 +1517,7 @@
<value>Are you sure you want to exit Bitwarden?</value>
</data>
<data name="PINRequireMasterPasswordRestart" xml:space="preserve">
<value>Do you want to require unlocking with your master password when the application is restarted?</value>
<value>You you want to require unlocking with your master password when the application is restarted?</value>
</data>
<data name="Black" xml:space="preserve">
<value>Black</value>
@@ -1535,7 +1535,7 @@
<data name="DisableSavePromptDescription" xml:space="preserve">
<value>The "Save Prompt" automatically prompts you to save new items to your vault whenever you enter them for the first time.</value>
</data>
<data name="LockOptionOnRestart" xml:space="preserve">
<data name="OnRestart" xml:space="preserve">
<value>On App Restart</value>
</data>
<data name="AutofillServiceNotEnabled" xml:space="preserve">
@@ -1564,7 +1564,7 @@
<value>Your login session has expired.</value>
</data>
<data name="BiometricsDirection" xml:space="preserve">
<value>Use biometrics to verify.</value>
<value>Biometric Verification</value>
</data>
<data name="Biometrics" xml:space="preserve">
<value>Biometrics</value>

View File

@@ -518,23 +518,29 @@
<data name="Lock" xml:space="preserve">
<value>Kilitle</value>
</data>
<data name="LockOption15Minutes" xml:space="preserve">
<data name="FifteenMinutes" xml:space="preserve">
<value>15 dakika</value>
</data>
<data name="LockOption1Hour" xml:space="preserve">
<data name="OneHour" xml:space="preserve">
<value>1 saat</value>
</data>
<data name="LockOption1Minute" xml:space="preserve">
<data name="OneMinute" xml:space="preserve">
<value>1 dakika</value>
</data>
<data name="LockOption4Hours" xml:space="preserve">
<data name="FourHours" xml:space="preserve">
<value>4 saat</value>
</data>
<data name="LockOptionImmediately" xml:space="preserve">
<data name="Immediately" xml:space="preserve">
<value>Hemen</value>
</data>
<data name="LockOptions" xml:space="preserve">
<value>Kilit Seçenekleri</value>
<data name="VaultTimeout" xml:space="preserve">
<value>Kasa Zaman Aşımı</value>
</data>
<data name="VaultTimeoutAction" xml:space="preserve">
<value>Kasa Zaman Aşımı Eylemi</value>
</data>
<data name="VaultTimeoutLogOutConfirmation" xml:space="preserve">
<value>Oturumu kapatmak kasanıza olan tüm erişiminizi kaldırır ve zaman aşımından sonra çevrimiçi kimlik doğrulaması gerektirir. Bu ayarı kullanmak istediğinizden emin misiniz?</value>
</data>
<data name="LoggingIn" xml:space="preserve">
<value>Oturum açılıyor...</value>
@@ -1132,7 +1138,7 @@
<value>Bu klasörde öğe yok.</value>
</data>
<data name="NoItemsTrash" xml:space="preserve">
<value>There are no items in the trash.</value>
<value>Çöp kutusunda hiç öge yok.</value>
</data>
<data name="AutofillAccessibilityService" xml:space="preserve">
<value>Otomatik Doldur Erişilebilirlik Hizmeti</value>
@@ -1433,12 +1439,9 @@
<data name="Unlock" xml:space="preserve">
<value>Kilidi Aç</value>
</data>
<data name="LockOption30Minutes" xml:space="preserve">
<data name="ThirtyMinutes" xml:space="preserve">
<value>30 dakika</value>
</data>
<data name="LockOption5Minutes" xml:space="preserve">
<value>5 dakika</value>
</data>
<data name="SetPINDescription" xml:space="preserve">
<value>Bitwarden'ı açmak için bir PIN kodu belirleyin. Uygulamadan tamamen çıkış yaparsanız PIN ayarlarınız sıfırlanacaktır.</value>
</data>
@@ -1463,9 +1466,6 @@
<data name="FiveMinutes" xml:space="preserve">
<value>5 dakika</value>
</data>
<data name="OneMinute" xml:space="preserve">
<value>1 dakika</value>
</data>
<data name="TenSeconds" xml:space="preserve">
<value>10 saniye</value>
</data>
@@ -1535,7 +1535,7 @@
<data name="DisableSavePromptDescription" xml:space="preserve">
<value>"Kaydet Uyarısı", ilk kez girdiğinizde yeni ögeleri kasanıza kaydetmeniz için otomatik olarak size sorar.</value>
</data>
<data name="LockOptionOnRestart" xml:space="preserve">
<data name="OnRestart" xml:space="preserve">
<value>Uygulama Yeniden Başlatılırken</value>
</data>
<data name="AutofillServiceNotEnabled" xml:space="preserve">
@@ -1635,43 +1635,43 @@
<value>Şifre alanı tespit edilmedi</value>
</data>
<data name="SoftDeleting" xml:space="preserve">
<value>Sending to trash...</value>
<value>Çöp kutusuna gönderiliyor...</value>
<comment>Message shown when interacting with the server</comment>
</data>
<data name="ItemSoftDeleted" xml:space="preserve">
<value>Item has been sent to trash.</value>
<value>Öge çöp kutusuna gönderildi.</value>
<comment>Confirmation message after successfully soft-deleting a login</comment>
</data>
<data name="Restore" xml:space="preserve">
<value>Restore</value>
<value>Geri Yükle</value>
<comment>Restores an entity (verb).</comment>
</data>
<data name="Restoring" xml:space="preserve">
<value>Restoring...</value>
<value>Geri yükleniyor...</value>
<comment>Message shown when interacting with the server</comment>
</data>
<data name="ItemRestored" xml:space="preserve">
<value>Item has been restored.</value>
<value>Öge geri yüklendi.</value>
<comment>Confirmation message after successfully restoring a soft-deleted item</comment>
</data>
<data name="Trash" xml:space="preserve">
<value>Trash</value>
<value>Çöp Kutusu</value>
<comment>(noun) Location of deleted items which have not yet been permanently deleted</comment>
</data>
<data name="SearchTrash" xml:space="preserve">
<value>Search trash</value>
<value>Çöplerde ara</value>
<comment>(action prompt) Label for the search text field when viewing the trash folder</comment>
</data>
<data name="DoYouReallyWantToPermanentlyDeleteCipher" xml:space="preserve">
<value>Do you really want to permanently delete? This cannot be undone.</value>
<value>Gerçekten kalıcı olarak silmek istiyor musunuz? Bu işlem geri alınamaz.</value>
<comment>Confirmation alert message when permanently deleteing a cipher.</comment>
</data>
<data name="DoYouReallyWantToRestoreCipher" xml:space="preserve">
<value>Do you really want to restore this item?</value>
<value>Bu ögeyi geri yüklemeyi gerçekten istiyor musunuz?</value>
<comment>Confirmation alert message when restoring a soft-deleted cipher.</comment>
</data>
<data name="DoYouReallyWantToSoftDeleteCipher" xml:space="preserve">
<value>Do you really want to send to the trash?</value>
<value>Bu ögeyi çöp kutusuna göndermeyi gerçekten istiyor musunuz?</value>
<comment>Confirmation alert message when soft-deleting a cipher.</comment>
</data>
</root>

View File

@@ -232,7 +232,7 @@
<value>Теку оновлено.</value>
</data>
<data name="GoToWebsite" xml:space="preserve">
<value>Перейти на веб-сайт</value>
<value>Перейти на вебсайт</value>
<comment>The button text that allows user to launch the website to their web browser.</comment>
</data>
<data name="HelpAndFeedback" xml:space="preserve">
@@ -269,7 +269,7 @@
<comment>Title for login page. (noun)</comment>
</data>
<data name="LogOut" xml:space="preserve">
<value>Вихід</value>
<value>Вийти</value>
<comment>The log out button text (verb).</comment>
</data>
<data name="LogoutConfirmation" xml:space="preserve">
@@ -375,13 +375,13 @@
<value>Переглянути</value>
</data>
<data name="VisitOurWebsite" xml:space="preserve">
<value>Відвідайте наш веб-сайт</value>
<value>Відвідайте наш вебсайт</value>
</data>
<data name="VisitOurWebsiteDescription" xml:space="preserve">
<value>Відвідайте наш веб-сайт, щоб прочитати новини, написати нам, або дізнатися більше про те, як ми використовуємо Bitwarden.</value>
<value>Відвідайте наш вебсайт, щоб отримати допомогу, дізнатися про новини, написати нам, або дізнатися більше про те, як використовувати Bitwarden.</value>
</data>
<data name="Website" xml:space="preserve">
<value>Веб-сайт</value>
<value>Вебсайт</value>
<comment>Label for a website.</comment>
</data>
<data name="Yes" xml:space="preserve">
@@ -400,7 +400,7 @@
<value>Розширення</value>
</data>
<data name="AutofillAccessibilityDescription" xml:space="preserve">
<value>Використовуйте службу автозаповнення Bitwarden, щоб автоматично вводити паролі в програмах та на веб-сайтах.</value>
<value>Використовуйте службу автозаповнення Bitwarden, щоб автоматично вводити паролі в програмах та на вебсайтах.</value>
</data>
<data name="AutofillService" xml:space="preserve">
<value>Служба автозаповнення</value>
@@ -427,13 +427,13 @@
<value>Змінити адресу е-пошти</value>
</data>
<data name="ChangeEmailConfirmation" xml:space="preserve">
<value>Ви можете змінити адресу е-пошти в сховищі на bitwarden.com. Хочете перейти на веб-сайт зараз?</value>
<value>Ви можете змінити адресу е-пошти в сховищі на bitwarden.com. Хочете перейти на вебсайт зараз?</value>
</data>
<data name="ChangeMasterPassword" xml:space="preserve">
<value>Змінити головний пароль</value>
</data>
<data name="ChangePasswordConfirmation" xml:space="preserve">
<value>Ви можете змінити головний пароль в сховищі на bitwarden.com. Хочете перейти на веб-сайт зараз?</value>
<value>Ви можете змінити головний пароль в сховищі на bitwarden.com. Хочете перейти на вебсайт зараз?</value>
</data>
<data name="Close" xml:space="preserve">
<value>Закрити</value>
@@ -504,7 +504,7 @@
<value>Імпорт записів</value>
</data>
<data name="ImportItemsConfirmation" xml:space="preserve">
<value>Ви можете робити масовий імпорт записів зі сховища на bitwarden.com. Хочете перейти на веб-сайт зараз?</value>
<value>Ви можете робити масовий імпорт записів зі сховища на bitwarden.com. Хочете перейти на вебсайт зараз?</value>
</data>
<data name="ImportItemsDescription" xml:space="preserve">
<value>Швидкий імпорт ваших записів з інших програм керування паролями.</value>
@@ -516,25 +516,31 @@
<value>Довжина</value>
</data>
<data name="Lock" xml:space="preserve">
<value>Заблокувати</value>
<value>Блокувати</value>
</data>
<data name="LockOption15Minutes" xml:space="preserve">
<data name="FifteenMinutes" xml:space="preserve">
<value>15 хвилин</value>
</data>
<data name="LockOption1Hour" xml:space="preserve">
<data name="OneHour" xml:space="preserve">
<value>1 година</value>
</data>
<data name="LockOption1Minute" xml:space="preserve">
<data name="OneMinute" xml:space="preserve">
<value>1 хвилина</value>
</data>
<data name="LockOption4Hours" xml:space="preserve">
<data name="FourHours" xml:space="preserve">
<value>4 години</value>
</data>
<data name="LockOptionImmediately" xml:space="preserve">
<data name="Immediately" xml:space="preserve">
<value>Негайно</value>
</data>
<data name="LockOptions" xml:space="preserve">
<value>Час блокування</value>
<data name="VaultTimeout" xml:space="preserve">
<value>Час очікування сховища</value>
</data>
<data name="VaultTimeoutAction" xml:space="preserve">
<value>Дія після часу очікування сховища</value>
</data>
<data name="VaultTimeoutLogOutConfirmation" xml:space="preserve">
<value>Вихід скасує всі права доступу до вашого сховища і вимагатиме авторизації після завершення часу очікування. Ви дійсно хочете використати цей параметр?</value>
</data>
<data name="LoggingIn" xml:space="preserve">
<value>Вхід...</value>
@@ -588,7 +594,7 @@
<value>У вашому сховищі немає записів.</value>
</data>
<data name="NoItemsTap" xml:space="preserve">
<value>У вашому сховищі немає записів для цього веб-сайту/програми. Торкніться, щоб додати.</value>
<value>У вашому сховищі немає записів для цього вебсайту/програми. Торкніться, щоб додати.</value>
</data>
<data name="NoUsernamePasswordConfigured" xml:space="preserve">
<value>Цей запис не має імені користувача або пароля.</value>
@@ -683,7 +689,7 @@
<value>Двоетапна перевірка</value>
</data>
<data name="TwoStepLoginConfirmation" xml:space="preserve">
<value>Двоетапна перевірка робить ваш обліковий запис більш захищеним, вимагаючи підтвердження входу з використанням іншого пристрою, наприклад, за допомогою коду безпеки, програми авторизації, SMS, телефонного виклику, або е-пошти. Ви можете увімкнути двоетапну перевірку в сховищі на bitwarden.com. Хочете перейти на веб-сайт зараз?</value>
<value>Двоетапна перевірка робить ваш обліковий запис більш захищеним, вимагаючи підтвердження входу з використанням іншого пристрою, наприклад, за допомогою коду безпеки, програми авторизації, SMS, телефонного виклику, або е-пошти. Ви можете увімкнути двоетапну перевірку в сховищі на bitwarden.com. Хочете перейти на вебсайт зараз?</value>
</data>
<data name="UnlockWith" xml:space="preserve">
<value>Розблокування з {0}</value>
@@ -702,7 +708,7 @@
<value>Перегляд запису</value>
</data>
<data name="WebVault" xml:space="preserve">
<value>Веб-сховище Bitwarden</value>
<value>Веб сховище Bitwarden</value>
</data>
<data name="Lost2FAApp" xml:space="preserve">
<value>Втратили доступ до програми перевірки?</value>
@@ -958,7 +964,7 @@
<value>URL-адреса сервера</value>
</data>
<data name="WebVaultUrl" xml:space="preserve">
<value>URL-адреса сервера веб-сховища</value>
<value>URL-адреса сервера веб сховища</value>
</data>
<data name="BitwardenAutofillServiceNotificationContentOld" xml:space="preserve">
<value>Торкніться цього сповіщення для перегляду записів з вашого сховища.</value>
@@ -1105,10 +1111,10 @@
<value>Термін дії</value>
</data>
<data name="DisableWebsiteIcons" xml:space="preserve">
<value>Вимкнути піктограми веб-сайтів</value>
<value>Вимкнути піктограми вебсайтів</value>
</data>
<data name="DisableWebsiteIconsDescription" xml:space="preserve">
<value>Впізнавані піктограми веб-сайтів додаються біля кожного запису вашого сховища.</value>
<value>Впізнавані піктограми вебсайтів додаються біля кожного запису вашого сховища.</value>
</data>
<data name="IconsUrl" xml:space="preserve">
<value>URL-адреса сервера піктограм</value>
@@ -1257,7 +1263,7 @@
<value>Ви повинні увійти в основну програму Bitwarden, щоб використовувати автозаповнення.</value>
</data>
<data name="AutofillSetup" xml:space="preserve">
<value>Тепер ви можете легко отримувати доступ до своїх записів з клавіатури під час входу в програмах і на веб-сайтах.</value>
<value>Тепер ви можете легко отримувати доступ до своїх записів з клавіатури під час входу в програмах і на вебсайтах.</value>
</data>
<data name="AutofillSetup2" xml:space="preserve">
<value>Ми радимо вимкнути будь-які інші програми з функцією автозаповнення в Параметрах, якщо ви не плануєте ними користуватися.</value>
@@ -1419,7 +1425,7 @@
<comment>A 'fingerprint phrase' is a unique word phrase (similar to a passphrase) that a user can use to authenticate their public key with another user, for the purposes of sharing.</comment>
</data>
<data name="ShareVaultConfirmation" xml:space="preserve">
<value>Bitwarden дозволяє вам надавати доступ до свого сховища іншим за допомогою облікового запису організації. Чи не бажаєте перейти на веб-сайт bitwarden.com, щоб дізнатися більше?</value>
<value>Bitwarden дозволяє вам надавати доступ до свого сховища іншим за допомогою облікового запису організації. Чи не бажаєте перейти на вебсайт bitwarden.com, щоб дізнатися більше?</value>
</data>
<data name="ExportVault" xml:space="preserve">
<value>Експорт сховища</value>
@@ -1433,12 +1439,9 @@
<data name="Unlock" xml:space="preserve">
<value>Розблокувати</value>
</data>
<data name="LockOption30Minutes" xml:space="preserve">
<data name="ThirtyMinutes" xml:space="preserve">
<value>30 хвилин</value>
</data>
<data name="LockOption5Minutes" xml:space="preserve">
<value>5 хвилин</value>
</data>
<data name="SetPINDescription" xml:space="preserve">
<value>Встановіть PIN-код для розблокування Bitwarden. Налаштування PIN-коду будуть скинуті, якщо ви коли-небудь повністю вийдете з програми.</value>
</data>
@@ -1463,9 +1466,6 @@
<data name="FiveMinutes" xml:space="preserve">
<value>5 хвилин</value>
</data>
<data name="OneMinute" xml:space="preserve">
<value>1 хвилина</value>
</data>
<data name="TenSeconds" xml:space="preserve">
<value>10 секунд</value>
</data>
@@ -1535,11 +1535,11 @@
<data name="DisableSavePromptDescription" xml:space="preserve">
<value>Запит про збереження автоматично пропонує вам зберегти нові записи до вашого сховища, щоразу, коли ви вперше заповнюєте облікові дані.</value>
</data>
<data name="LockOptionOnRestart" xml:space="preserve">
<data name="OnRestart" xml:space="preserve">
<value>При перезапуску програми</value>
</data>
<data name="AutofillServiceNotEnabled" xml:space="preserve">
<value>Автозаповнення дозволяє безпечно отримувати доступ до вашого сховища Bitwarden з інших веб-сайтів та програм. Схоже, що ви не активували функцію автозаповнення Bitwarden. Увімкніть автозаповнення на екрані налаштувань.</value>
<value>Автозаповнення дозволяє безпечно отримувати доступ до вашого сховища Bitwarden з інших вебсайтів та програм. Схоже, що ви не активували функцію автозаповнення Bitwarden. Увімкніть автозаповнення на екрані налаштувань.</value>
</data>
<data name="ThemeAppliedOnRestart" xml:space="preserve">
<value>Зміни теми застосуються після перезапуску додатка.</value>
@@ -1606,7 +1606,7 @@
<value>Попередження</value>
</data>
<data name="ExportVaultFailure" xml:space="preserve">
<value>Сталася помилка під час експорту вашого сховища. Якщо проблема не зникне, вам необхідно буде експортувати з веб-сховища.</value>
<value>Сталася помилка під час експорту вашого сховища. Якщо проблема не зникне, вам необхідно буде експортувати з веб сховища.</value>
</data>
<data name="ExportVaultSuccess" xml:space="preserve">
<value>Сховище успішно експортовано</value>
@@ -1623,7 +1623,7 @@
<comment>Button text for an open operation (verb).</comment>
</data>
<data name="UnableToSaveAttachment" xml:space="preserve">
<value>Виникла проблема зі збереженням цього вкладення. Якщо проблема не зникне, ви можете зберегти її з веб-сховища.</value>
<value>Виникла проблема зі збереженням цього вкладення. Якщо проблема не зникне, ви можете зберегти її з веб сховища.</value>
</data>
<data name="SaveAttachmentSuccess" xml:space="preserve">
<value>Вкладення успішно збережено</value>

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