mirror of
https://github.com/Kunzisoft/KeePassDX.git
synced 2025-12-04 15:49:33 +01:00
Compare commits
267 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
1c30d533ad | ||
|
|
845d1a581b | ||
|
|
23bebf9597 | ||
|
|
536e038306 | ||
|
|
9e1f6d29a5 | ||
|
|
7a9469e59d | ||
|
|
c12eb3d643 | ||
|
|
da0f02e536 | ||
|
|
04bcc6631c | ||
|
|
698e3b7fb1 | ||
|
|
6de02384c1 | ||
|
|
df3bd7e0a1 | ||
|
|
c8c232639f | ||
|
|
192d6eedd0 | ||
|
|
9cae3f0794 | ||
|
|
a680db9707 | ||
|
|
fe526089d7 | ||
|
|
dfd7ade416 | ||
|
|
3cd65345c5 | ||
|
|
2d398908de | ||
|
|
756454abc3 | ||
|
|
b7619b45b1 | ||
|
|
1369a3cad9 | ||
|
|
f46c062c4e | ||
|
|
0a0abef4d4 | ||
|
|
3a8245ee74 | ||
|
|
7be554a378 | ||
|
|
6c37f7b12c | ||
|
|
3a67ec09d5 | ||
|
|
dca800b1bb | ||
|
|
70665f110d | ||
|
|
3b39cafb99 | ||
|
|
2b5ecb2f84 | ||
|
|
e397b92c36 | ||
|
|
e273eb6e03 | ||
|
|
28b624afa3 | ||
|
|
fb1e6cdc3f | ||
|
|
8b6499d040 | ||
|
|
054af507ad | ||
|
|
ac9bb9b666 | ||
|
|
809e1929e5 | ||
|
|
a1b1338d67 | ||
|
|
bd4cacfab1 | ||
|
|
e0343bdc55 | ||
|
|
b743d004e2 | ||
|
|
4b20e035b2 | ||
|
|
afe5fddc50 | ||
|
|
d68ca1b51f | ||
|
|
061b087229 | ||
|
|
bb3a379965 | ||
|
|
593b5c6338 | ||
|
|
56f8a1bf9f | ||
|
|
962b547b36 | ||
|
|
6df8ff4310 | ||
|
|
52f17140b8 | ||
|
|
75c2bb4a87 | ||
|
|
f36f6c3155 | ||
|
|
b88b92c5b0 | ||
|
|
d2c569c4f0 | ||
|
|
cb1316564e | ||
|
|
245d3f7df2 | ||
|
|
3729b3c5a0 | ||
|
|
7ce5eb3c27 | ||
|
|
43defea85e | ||
|
|
8470c4e39b | ||
|
|
a41afb7f1e | ||
|
|
32d9cfbe29 | ||
|
|
7210652567 | ||
|
|
ab15967ad7 | ||
|
|
44df4ec181 | ||
|
|
7afe356082 | ||
|
|
87597553b8 | ||
|
|
27e5f58d5e | ||
|
|
762c946d35 | ||
|
|
21a927e3e9 | ||
|
|
f93bb7436a | ||
|
|
6294fddbba | ||
|
|
c5719dfaf2 | ||
|
|
673fd67f15 | ||
|
|
25524c48e9 | ||
|
|
631b924c33 | ||
|
|
fba12bc278 | ||
|
|
e809109bb2 | ||
|
|
0e31890624 | ||
|
|
0124021ce5 | ||
|
|
74db6bf77f | ||
|
|
efde33182e | ||
|
|
ec68b22330 | ||
|
|
bf7e014f8c | ||
|
|
40e1607698 | ||
|
|
4a132f06fe | ||
|
|
0396dd975d | ||
|
|
80a38c0c54 | ||
|
|
2aa6461094 | ||
|
|
258433b3b8 | ||
|
|
79e723545c | ||
|
|
a6b20455ef | ||
|
|
9659b55bf3 | ||
|
|
ca148ef546 | ||
|
|
322b21d645 | ||
|
|
ed2ba65ecf | ||
|
|
defc8b1c57 | ||
|
|
a90ecc56d8 | ||
|
|
2faa0ac320 | ||
|
|
e391fd59fe | ||
|
|
25df86606c | ||
|
|
811f33eb3f | ||
|
|
ca7e2ed89d | ||
|
|
6f4cd79e2c | ||
|
|
da1caf4b8b | ||
|
|
4a0a8e44ca | ||
|
|
6bc2c3481b | ||
|
|
0aa89ea9ff | ||
|
|
f31a30bf47 | ||
|
|
dc75837ac7 | ||
|
|
9849b0a1da | ||
|
|
2c15a1ddd6 | ||
|
|
98eb9976cf | ||
|
|
0d9a5810b1 | ||
|
|
1adaa137a5 | ||
|
|
44a428d15a | ||
|
|
5416a7942a | ||
|
|
9e0024baf5 | ||
|
|
8d47ce38c2 | ||
|
|
80af43c0ca | ||
|
|
225f8243c2 | ||
|
|
68bc118add | ||
|
|
abbc584402 | ||
|
|
6635594639 | ||
|
|
10db77d402 | ||
|
|
000fd7e520 | ||
|
|
c8ced4ae59 | ||
|
|
9209ca9af7 | ||
|
|
c7bd90c610 | ||
|
|
fceb9c3547 | ||
|
|
030c49b571 | ||
|
|
f2d6a6a536 | ||
|
|
8f61521f05 | ||
|
|
89af7ec5d0 | ||
|
|
362f1aebed | ||
|
|
5226527cec | ||
|
|
b8464cd0e5 | ||
|
|
46e7b04d66 | ||
|
|
73111b770f | ||
|
|
995d485700 | ||
|
|
5ebbbef667 | ||
|
|
c79144400f | ||
|
|
b56556f5a2 | ||
|
|
35d5f01b8e | ||
|
|
501c647236 | ||
|
|
e77c7b84a3 | ||
|
|
d9f4e9b6ab | ||
|
|
1d7f7d2a5b | ||
|
|
df408e862b | ||
|
|
66845926d5 | ||
|
|
0a06acbf1d | ||
|
|
5d3c6798c0 | ||
|
|
b9d2b9ddc9 | ||
|
|
8a6525f45e | ||
|
|
41d89b590d | ||
|
|
8354d08ff5 | ||
|
|
16725b21f3 | ||
|
|
93ba17792f | ||
|
|
940b96cf21 | ||
|
|
157253ce24 | ||
|
|
46b3810f34 | ||
|
|
05c030dbbb | ||
|
|
5b0fd99351 | ||
|
|
2946a6e231 | ||
|
|
47896fcdc9 | ||
|
|
bc51345f0d | ||
|
|
750e1b6c43 | ||
|
|
4a2106837c | ||
|
|
39b9fc350a | ||
|
|
53560dbe29 | ||
|
|
5172dbe114 | ||
|
|
4f0ff67fdf | ||
|
|
bac971ced8 | ||
|
|
64bf5ba165 | ||
|
|
90c4a5e1b8 | ||
|
|
b08a5d9cda | ||
|
|
d5be79948d | ||
|
|
6b64be4925 | ||
|
|
e8e6eb6ca5 | ||
|
|
ee9383dd0b | ||
|
|
aee0b82cff | ||
|
|
ba5913da57 | ||
|
|
3238b9b2ce | ||
|
|
5215181c0f | ||
|
|
d3676a1454 | ||
|
|
792ce6f86e | ||
|
|
ddbd0376fc | ||
|
|
496655093c | ||
|
|
755293eff7 | ||
|
|
b6e51a1f32 | ||
|
|
08f17f3f19 | ||
|
|
14440725fc | ||
|
|
b4f84c5cd6 | ||
|
|
ad6b1cead1 | ||
|
|
e06398ff19 | ||
|
|
919ad5cfd4 | ||
|
|
b3fb721588 | ||
|
|
590497852d | ||
|
|
ebd7a9c7cf | ||
|
|
939fb2fa54 | ||
|
|
2245daffe9 | ||
|
|
784b25ada8 | ||
|
|
146d631794 | ||
|
|
cc062d7f0e | ||
|
|
298dd4af61 | ||
|
|
739ba3b14d | ||
|
|
2864ea9868 | ||
|
|
ed8d3247ca | ||
|
|
ff5de7b327 | ||
|
|
aa77552ff4 | ||
|
|
12456c0ea2 | ||
|
|
a7a93fa2a2 | ||
|
|
ff7cd29b77 | ||
|
|
f7065acc40 | ||
|
|
e4e2e5c43c | ||
|
|
48d240b010 | ||
|
|
9f2deb56b9 | ||
|
|
951257bed8 | ||
|
|
f27ce804fb | ||
|
|
1d896e83b3 | ||
|
|
a2c2925610 | ||
|
|
97e5f90603 | ||
|
|
593b7188dc | ||
|
|
4c4e61a711 | ||
|
|
140f09c77e | ||
|
|
c0fe4faf8a | ||
|
|
066fff7aca | ||
|
|
6dcbdffed4 | ||
|
|
3a07dea6d7 | ||
|
|
72ed07ef17 | ||
|
|
51512b4588 | ||
|
|
aed49e19e8 | ||
|
|
113601d09a | ||
|
|
b7d0b65715 | ||
|
|
3075591885 | ||
|
|
e9596f56db | ||
|
|
3559830738 | ||
|
|
e42beccb22 | ||
|
|
d05b7394e8 | ||
|
|
00b11ea659 | ||
|
|
99f0f096d1 | ||
|
|
416329d50d | ||
|
|
cb0d1b05d7 | ||
|
|
a2845c33f8 | ||
|
|
6d06265d94 | ||
|
|
49d03efe56 | ||
|
|
7f13a3ca76 | ||
|
|
cec9d168e3 | ||
|
|
ecf253451d | ||
|
|
89a6219659 | ||
|
|
9dec308caa | ||
|
|
fb1459de9b | ||
|
|
f3bef64461 | ||
|
|
2509caff6b | ||
|
|
232aafe2c0 | ||
|
|
ed26cb4891 | ||
|
|
0b966a6cd1 | ||
|
|
c84afd2281 | ||
|
|
1711f09547 | ||
|
|
4460a44e99 | ||
|
|
c8f7bcfb52 | ||
|
|
bd2bd842af |
25
CHANGELOG
25
CHANGELOG
@@ -1,3 +1,28 @@
|
||||
KeePassDX(4.1.4)
|
||||
* Fix auto prompt #2111
|
||||
|
||||
KeePassDX(4.1.4)
|
||||
* Fix UnlockManager #2098 #2101
|
||||
* Auto device unlock prompt #2105
|
||||
* Small fixes ##2066
|
||||
|
||||
KeePassDX(4.1.3)
|
||||
* Fix Autofill Registration #2089
|
||||
* Fix Biometric errors #2081
|
||||
* Fixed timestamp in copy file #1981 #1983
|
||||
* Fix Template Email #1986
|
||||
* Fix Search #2096
|
||||
|
||||
KeePassDX(4.1.2)
|
||||
* Fix URL search #1940 #1946 #2003 #2040 #2044
|
||||
* Fix Autofill popup #2054
|
||||
* Fix Group notes #2053
|
||||
* Fix Dialog background #2005 #2004 (Thx @codokie)
|
||||
* Fix OTP configuration #2042 #2065 (Thx @Dev-ClayP)
|
||||
* Fix small UI elements #1987 #2007 (Thx @ymcx)
|
||||
* RTL layout support #2021 (Thx @codokie)
|
||||
* App Metadata to translation #1823
|
||||
|
||||
KeePassDX(4.1.1)
|
||||
* Fix date parser #1933
|
||||
* Fix domain search #1820 #1936
|
||||
|
||||
75
Gemfile.lock
75
Gemfile.lock
@@ -9,31 +9,35 @@ GEM
|
||||
public_suffix (>= 2.0.2, < 7.0)
|
||||
artifactory (3.0.17)
|
||||
atomos (0.1.3)
|
||||
aws-eventstream (1.3.0)
|
||||
aws-partitions (1.1009.0)
|
||||
aws-sdk-core (3.213.0)
|
||||
aws-eventstream (1.4.0)
|
||||
aws-partitions (1.1146.0)
|
||||
aws-sdk-core (3.229.0)
|
||||
aws-eventstream (~> 1, >= 1.3.0)
|
||||
aws-partitions (~> 1, >= 1.992.0)
|
||||
aws-sigv4 (~> 1.9)
|
||||
base64
|
||||
bigdecimal
|
||||
jmespath (~> 1, >= 1.6.1)
|
||||
aws-sdk-kms (1.95.0)
|
||||
aws-sdk-core (~> 3, >= 3.210.0)
|
||||
logger
|
||||
aws-sdk-kms (1.110.0)
|
||||
aws-sdk-core (~> 3, >= 3.228.0)
|
||||
aws-sigv4 (~> 1.5)
|
||||
aws-sdk-s3 (1.171.0)
|
||||
aws-sdk-core (~> 3, >= 3.210.0)
|
||||
aws-sdk-s3 (1.196.1)
|
||||
aws-sdk-core (~> 3, >= 3.228.0)
|
||||
aws-sdk-kms (~> 1)
|
||||
aws-sigv4 (~> 1.5)
|
||||
aws-sigv4 (1.10.1)
|
||||
aws-sigv4 (1.12.1)
|
||||
aws-eventstream (~> 1, >= 1.0.2)
|
||||
babosa (1.0.4)
|
||||
base64 (0.2.0)
|
||||
base64 (0.3.0)
|
||||
bigdecimal (3.2.2)
|
||||
claide (1.1.0)
|
||||
colored (1.2)
|
||||
colored2 (3.1.2)
|
||||
commander (4.6.0)
|
||||
highline (~> 2.0.0)
|
||||
declarative (0.0.20)
|
||||
digest-crc (0.6.5)
|
||||
digest-crc (0.7.0)
|
||||
rake (>= 12.0.0, < 14.0.0)
|
||||
domain_name (0.6.20240107)
|
||||
dotenv (2.8.1)
|
||||
@@ -55,11 +59,11 @@ GEM
|
||||
faraday (>= 0.8.0)
|
||||
http-cookie (~> 1.0.0)
|
||||
faraday-em_http (1.0.0)
|
||||
faraday-em_synchrony (1.0.0)
|
||||
faraday-em_synchrony (1.0.1)
|
||||
faraday-excon (1.1.0)
|
||||
faraday-httpclient (1.0.1)
|
||||
faraday-multipart (1.0.4)
|
||||
multipart-post (~> 2)
|
||||
faraday-multipart (1.1.1)
|
||||
multipart-post (~> 2.0)
|
||||
faraday-net_http (1.0.2)
|
||||
faraday-net_http_persistent (1.2.0)
|
||||
faraday-patron (1.0.0)
|
||||
@@ -67,8 +71,8 @@ GEM
|
||||
faraday-retry (1.0.3)
|
||||
faraday_middleware (1.2.1)
|
||||
faraday (~> 1.0)
|
||||
fastimage (2.3.1)
|
||||
fastlane (2.225.0)
|
||||
fastimage (2.4.0)
|
||||
fastlane (2.228.0)
|
||||
CFPropertyList (>= 2.3, < 4.0.0)
|
||||
addressable (>= 2.8, < 3.0.0)
|
||||
artifactory (~> 3.0)
|
||||
@@ -108,7 +112,7 @@ GEM
|
||||
tty-spinner (>= 0.8.0, < 1.0.0)
|
||||
word_wrap (~> 1.0.0)
|
||||
xcodeproj (>= 1.13.0, < 2.0.0)
|
||||
xcpretty (~> 0.3.0)
|
||||
xcpretty (~> 0.4.1)
|
||||
xcpretty-travis-formatter (>= 0.0.3, < 2.0.0)
|
||||
fastlane-plugin-versioning_android (0.1.1)
|
||||
fastlane-sirp (1.0.0)
|
||||
@@ -130,12 +134,12 @@ GEM
|
||||
google-apis-core (>= 0.11.0, < 2.a)
|
||||
google-apis-storage_v1 (0.31.0)
|
||||
google-apis-core (>= 0.11.0, < 2.a)
|
||||
google-cloud-core (1.7.1)
|
||||
google-cloud-core (1.8.0)
|
||||
google-cloud-env (>= 1.0, < 3.a)
|
||||
google-cloud-errors (~> 1.0)
|
||||
google-cloud-env (1.6.0)
|
||||
faraday (>= 0.17.3, < 3.0)
|
||||
google-cloud-errors (1.4.0)
|
||||
google-cloud-errors (1.5.0)
|
||||
google-cloud-storage (1.47.0)
|
||||
addressable (~> 2.8)
|
||||
digest-crc (~> 0.4)
|
||||
@@ -151,36 +155,39 @@ GEM
|
||||
os (>= 0.9, < 2.0)
|
||||
signet (>= 0.16, < 2.a)
|
||||
highline (2.0.3)
|
||||
http-cookie (1.0.7)
|
||||
http-cookie (1.0.8)
|
||||
domain_name (~> 0.5)
|
||||
httpclient (2.8.3)
|
||||
httpclient (2.9.0)
|
||||
mutex_m
|
||||
jmespath (1.6.2)
|
||||
json (2.8.2)
|
||||
jwt (2.9.3)
|
||||
json (2.13.2)
|
||||
jwt (2.10.2)
|
||||
base64
|
||||
logger (1.7.0)
|
||||
mini_magick (4.13.2)
|
||||
mini_mime (1.1.5)
|
||||
multi_json (1.15.0)
|
||||
multi_json (1.17.0)
|
||||
multipart-post (2.4.1)
|
||||
mutex_m (0.3.0)
|
||||
nanaimo (0.4.0)
|
||||
naturally (2.2.1)
|
||||
naturally (2.3.0)
|
||||
nkf (0.2.0)
|
||||
optparse (0.6.0)
|
||||
os (1.1.4)
|
||||
plist (3.7.1)
|
||||
public_suffix (6.0.1)
|
||||
rake (13.2.1)
|
||||
plist (3.7.2)
|
||||
public_suffix (6.0.2)
|
||||
rake (13.3.0)
|
||||
representable (3.2.0)
|
||||
declarative (< 0.1.0)
|
||||
trailblazer-option (>= 0.1.1, < 0.2.0)
|
||||
uber (< 0.2.0)
|
||||
retriable (3.1.2)
|
||||
rexml (3.3.9)
|
||||
rouge (2.0.7)
|
||||
rexml (3.4.1)
|
||||
rouge (3.28.0)
|
||||
ruby2_keywords (0.0.5)
|
||||
rubyzip (2.3.2)
|
||||
rubyzip (2.4.1)
|
||||
security (0.1.5)
|
||||
signet (0.19.0)
|
||||
signet (0.20.0)
|
||||
addressable (~> 2.8)
|
||||
faraday (>= 0.17.5, < 3.a)
|
||||
jwt (>= 1.5, < 3.0)
|
||||
@@ -207,8 +214,8 @@ GEM
|
||||
colored2 (~> 3.1)
|
||||
nanaimo (~> 0.4.0)
|
||||
rexml (>= 3.3.6, < 4.0)
|
||||
xcpretty (0.3.0)
|
||||
rouge (~> 2.0.7)
|
||||
xcpretty (0.4.1)
|
||||
rouge (~> 3.28.0)
|
||||
xcpretty-travis-formatter (1.0.1)
|
||||
xcpretty (~> 0.2, >= 0.0.7)
|
||||
|
||||
@@ -220,4 +227,4 @@ DEPENDENCIES
|
||||
fastlane-plugin-versioning_android
|
||||
|
||||
BUNDLED WITH
|
||||
2.5.10
|
||||
2.6.9
|
||||
|
||||
@@ -54,7 +54,7 @@ Optional visual styles are accessible after a contribution (and a congratulatory
|
||||
|--------|--------|---------|
|
||||
| [Google Play](https://play.google.com/store/apps/details?id=com.kunzisoft.keepass.free) |  | Free + [Pro](https://play.google.com/store/apps/details?id=com.kunzisoft.keepass.pro) |
|
||||
| [F-Droid](https://f-droid.org/en/packages/com.kunzisoft.keepass.libre/) |  | Libre |
|
||||
| [IzzyOnDroid](https://apt.izzysoft.de/fdroid/index/apk/com.kunzisoft.keepass.free) |  | Free |
|
||||
| [IzzyOnDroid](https://apt.izzysoft.de/fdroid/index/apk/com.kunzisoft.keepass.free) |  | Free & [Libre](https://apt.izzysoft.de/fdroid/index/apk/com.kunzisoft.keepass.libre) |
|
||||
| [GitHub](https://github.com/Kunzisoft/KeePassDX/releases) / [Obtainium](https://github.com/ImranR98/Obtainium) |  | Free & Libre |
|
||||
|
||||
## Package authenticity from GitHub
|
||||
@@ -96,7 +96,7 @@ Other questions? You can read the [FAQ](https://github.com/Kunzisoft/KeePassDX/w
|
||||
|
||||
## License
|
||||
|
||||
Copyright © 2024 Jeremy Jamet / [Kunzisoft](https://www.kunzisoft.com).
|
||||
Copyright © 2025 Jeremy Jamet / [Kunzisoft](https://www.kunzisoft.com).
|
||||
|
||||
This file is part of KeePassDX.
|
||||
|
||||
|
||||
@@ -11,8 +11,8 @@ android {
|
||||
applicationId "com.kunzisoft.keepass"
|
||||
minSdkVersion 15
|
||||
targetSdkVersion 34
|
||||
versionCode = 133
|
||||
versionName = "4.1.1"
|
||||
versionCode = 137
|
||||
versionName = "4.1.5"
|
||||
multiDexEnabled true
|
||||
|
||||
testApplicationId = "com.kunzisoft.keepass.tests"
|
||||
@@ -91,12 +91,15 @@ android {
|
||||
}
|
||||
|
||||
compileOptions {
|
||||
targetCompatibility JavaVersion.VERSION_1_8
|
||||
sourceCompatibility JavaVersion.VERSION_1_8
|
||||
targetCompatibility JavaVersion.VERSION_17
|
||||
sourceCompatibility JavaVersion.VERSION_17
|
||||
}
|
||||
|
||||
kotlinOptions {
|
||||
jvmTarget = "1.8"
|
||||
jvmTarget = "17"
|
||||
}
|
||||
buildFeatures {
|
||||
buildConfig true
|
||||
}
|
||||
}
|
||||
|
||||
@@ -143,5 +146,4 @@ dependencies {
|
||||
|
||||
// Tests
|
||||
androidTestImplementation "androidx.test:runner:$android_test_version"
|
||||
androidTestImplementation "androidx.test:rules:$android_test_version"
|
||||
}
|
||||
|
||||
@@ -43,6 +43,7 @@
|
||||
android:backupAgent="com.kunzisoft.keepass.backup.SettingsBackupAgent"
|
||||
android:largeHeap="true"
|
||||
android:resizeableActivity="true"
|
||||
android:supportsRtl="true"
|
||||
android:theme="@style/KeepassDXStyle.Night"
|
||||
tools:targetApi="s">
|
||||
<meta-data
|
||||
|
||||
@@ -20,10 +20,12 @@
|
||||
package com.kunzisoft.keepass.activities
|
||||
|
||||
import android.content.pm.PackageManager.NameNotFoundException
|
||||
import android.os.Build
|
||||
import android.os.Bundle
|
||||
import android.text.method.LinkMovementMethod
|
||||
import android.util.Log
|
||||
import android.view.MenuItem
|
||||
import android.view.View
|
||||
import android.widget.TextView
|
||||
import androidx.appcompat.widget.Toolbar
|
||||
import androidx.core.text.HtmlCompat
|
||||
@@ -76,6 +78,9 @@ class AboutActivity : StylishActivity() {
|
||||
movementMethod = LinkMovementMethod.getInstance()
|
||||
text = HtmlCompat.fromHtml(getString(R.string.html_about_licence, DateTime().year),
|
||||
HtmlCompat.FROM_HTML_MODE_LEGACY)
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1) {
|
||||
textDirection = View.TEXT_DIRECTION_ANY_RTL
|
||||
}
|
||||
}
|
||||
|
||||
findViewById<TextView>(R.id.activity_about_privacy_text).apply {
|
||||
|
||||
@@ -41,11 +41,9 @@ import com.kunzisoft.keepass.database.ContextualDatabase
|
||||
import com.kunzisoft.keepass.database.helper.SearchHelper
|
||||
import com.kunzisoft.keepass.model.RegisterInfo
|
||||
import com.kunzisoft.keepass.model.SearchInfo
|
||||
import com.kunzisoft.keepass.settings.PreferencesUtil
|
||||
import com.kunzisoft.keepass.utils.WebDomain
|
||||
import com.kunzisoft.keepass.utils.getParcelableCompat
|
||||
import com.kunzisoft.keepass.utils.getParcelableExtraCompat
|
||||
import com.kunzisoft.keepass.utils.WebDomain
|
||||
import java.lang.RuntimeException
|
||||
|
||||
@RequiresApi(api = Build.VERSION_CODES.O)
|
||||
class AutofillLauncherActivity : DatabaseModeActivity() {
|
||||
@@ -126,83 +124,85 @@ class AutofillLauncherActivity : DatabaseModeActivity() {
|
||||
if (autofillComponent == null) {
|
||||
setResult(Activity.RESULT_CANCELED)
|
||||
finish()
|
||||
} else if (!KeeAutofillService.autofillAllowedFor(searchInfo.applicationId,
|
||||
PreferencesUtil.applicationIdBlocklist(this))
|
||||
|| !KeeAutofillService.autofillAllowedFor(searchInfo.webDomain,
|
||||
PreferencesUtil.webDomainBlocklist(this))) {
|
||||
} else if (KeeAutofillService.autofillAllowedFor(
|
||||
applicationId = searchInfo.applicationId,
|
||||
webDomain = searchInfo.webDomain,
|
||||
context = this
|
||||
)) {
|
||||
// If database is open
|
||||
SearchHelper.checkAutoSearchInfo(this,
|
||||
database,
|
||||
searchInfo,
|
||||
{ openedDatabase, items ->
|
||||
// Items found
|
||||
AutofillHelper.buildResponseAndSetResult(this, openedDatabase, items)
|
||||
finish()
|
||||
},
|
||||
{ openedDatabase ->
|
||||
// Show the database UI to select the entry
|
||||
GroupActivity.launchForAutofillResult(this,
|
||||
openedDatabase,
|
||||
mAutofillActivityResultLauncher,
|
||||
autofillComponent,
|
||||
searchInfo,
|
||||
false)
|
||||
},
|
||||
{
|
||||
// If database not open
|
||||
FileDatabaseSelectActivity.launchForAutofillResult(this,
|
||||
mAutofillActivityResultLauncher,
|
||||
autofillComponent,
|
||||
searchInfo)
|
||||
}
|
||||
)
|
||||
} else {
|
||||
showBlockRestartMessage()
|
||||
setResult(Activity.RESULT_CANCELED)
|
||||
finish()
|
||||
} else {
|
||||
// If database is open
|
||||
SearchHelper.checkAutoSearchInfo(this,
|
||||
database,
|
||||
searchInfo,
|
||||
{ openedDatabase, items ->
|
||||
// Items found
|
||||
AutofillHelper.buildResponseAndSetResult(this, openedDatabase, items)
|
||||
finish()
|
||||
},
|
||||
{ openedDatabase ->
|
||||
// Show the database UI to select the entry
|
||||
GroupActivity.launchForAutofillResult(this,
|
||||
openedDatabase,
|
||||
mAutofillActivityResultLauncher,
|
||||
autofillComponent,
|
||||
searchInfo,
|
||||
false)
|
||||
},
|
||||
{
|
||||
// If database not open
|
||||
FileDatabaseSelectActivity.launchForAutofillResult(this,
|
||||
mAutofillActivityResultLauncher,
|
||||
autofillComponent,
|
||||
searchInfo)
|
||||
}
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
private fun launchRegistration(database: ContextualDatabase?,
|
||||
searchInfo: SearchInfo,
|
||||
registerInfo: RegisterInfo?) {
|
||||
if (!KeeAutofillService.autofillAllowedFor(searchInfo.applicationId,
|
||||
PreferencesUtil.applicationIdBlocklist(this))
|
||||
|| !KeeAutofillService.autofillAllowedFor(searchInfo.webDomain,
|
||||
PreferencesUtil.webDomainBlocklist(this))) {
|
||||
showBlockRestartMessage()
|
||||
setResult(Activity.RESULT_CANCELED)
|
||||
} else {
|
||||
if (KeeAutofillService.autofillAllowedFor(
|
||||
applicationId = searchInfo.applicationId,
|
||||
webDomain = searchInfo.webDomain,
|
||||
context = this
|
||||
)) {
|
||||
val readOnly = database?.isReadOnly != false
|
||||
SearchHelper.checkAutoSearchInfo(this,
|
||||
database,
|
||||
searchInfo,
|
||||
{ openedDatabase, _ ->
|
||||
if (!readOnly) {
|
||||
// Show the database UI to select the entry
|
||||
GroupActivity.launchForRegistration(this,
|
||||
openedDatabase,
|
||||
registerInfo)
|
||||
} else {
|
||||
showReadOnlySaveMessage()
|
||||
}
|
||||
},
|
||||
{ openedDatabase ->
|
||||
if (!readOnly) {
|
||||
// Show the database UI to select the entry
|
||||
GroupActivity.launchForRegistration(this,
|
||||
openedDatabase,
|
||||
registerInfo)
|
||||
} else {
|
||||
showReadOnlySaveMessage()
|
||||
}
|
||||
},
|
||||
{
|
||||
// If database not open
|
||||
FileDatabaseSelectActivity.launchForRegistration(this,
|
||||
registerInfo)
|
||||
database,
|
||||
searchInfo,
|
||||
{ openedDatabase, _ ->
|
||||
if (!readOnly) {
|
||||
// Show the database UI to select the entry
|
||||
GroupActivity.launchForRegistration(this,
|
||||
openedDatabase,
|
||||
registerInfo)
|
||||
} else {
|
||||
showReadOnlySaveMessage()
|
||||
}
|
||||
},
|
||||
{ openedDatabase ->
|
||||
if (!readOnly) {
|
||||
// Show the database UI to select the entry
|
||||
GroupActivity.launchForRegistration(this,
|
||||
openedDatabase,
|
||||
registerInfo)
|
||||
} else {
|
||||
showReadOnlySaveMessage()
|
||||
}
|
||||
},
|
||||
{
|
||||
// If database not open
|
||||
FileDatabaseSelectActivity.launchForRegistration(this,
|
||||
registerInfo)
|
||||
}
|
||||
)
|
||||
} else {
|
||||
showBlockRestartMessage()
|
||||
setResult(Activity.RESULT_CANCELED)
|
||||
}
|
||||
finish()
|
||||
}
|
||||
|
||||
@@ -97,7 +97,7 @@ import com.kunzisoft.keepass.view.asError
|
||||
import com.kunzisoft.keepass.view.hideByFading
|
||||
import com.kunzisoft.keepass.view.setTransparentNavigationBar
|
||||
import com.kunzisoft.keepass.view.showActionErrorIfNeeded
|
||||
import com.kunzisoft.keepass.view.updateLockPaddingLeft
|
||||
import com.kunzisoft.keepass.view.updateLockPaddingStart
|
||||
import com.kunzisoft.keepass.viewmodels.ColorPickerViewModel
|
||||
import com.kunzisoft.keepass.viewmodels.EntryEditViewModel
|
||||
import java.util.UUID
|
||||
@@ -503,7 +503,7 @@ class EntryEditActivity : DatabaseLockActivity(),
|
||||
}
|
||||
|
||||
// Padding if lock button visible
|
||||
entryEditAddToolBar?.updateLockPaddingLeft()
|
||||
entryEditAddToolBar?.updateLockPaddingStart()
|
||||
|
||||
mAttachmentFileBinderManager?.apply {
|
||||
registerProgressTask()
|
||||
|
||||
@@ -316,6 +316,7 @@ class FileDatabaseSelectActivity : DatabaseModeActivity(),
|
||||
private fun launchPasswordActivityWithPath(databaseUri: Uri) {
|
||||
launchPasswordActivity(databaseUri, null, null)
|
||||
// Delete flickering for kitkat <=
|
||||
@Suppress("DEPRECATION")
|
||||
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.LOLLIPOP)
|
||||
overridePendingTransition(0, 0)
|
||||
}
|
||||
|
||||
@@ -113,10 +113,10 @@ import com.kunzisoft.keepass.view.applyWindowInsets
|
||||
import com.kunzisoft.keepass.view.hideByFading
|
||||
import com.kunzisoft.keepass.view.setTransparentNavigationBar
|
||||
import com.kunzisoft.keepass.view.showActionErrorIfNeeded
|
||||
import com.kunzisoft.keepass.view.updateLockPaddingLeft
|
||||
import com.kunzisoft.keepass.view.updateLockPaddingStart
|
||||
import com.kunzisoft.keepass.viewmodels.GroupEditViewModel
|
||||
import com.kunzisoft.keepass.viewmodels.GroupViewModel
|
||||
import org.joda.time.Instant
|
||||
import org.joda.time.LocalDateTime
|
||||
|
||||
|
||||
class GroupActivity : DatabaseLockActivity(),
|
||||
@@ -343,7 +343,7 @@ class GroupActivity : DatabaseLockActivity(),
|
||||
mExternalFileHelper?.createDocument(
|
||||
getString(R.string.database_file_name_default) +
|
||||
"_" +
|
||||
Instant.now().toString() +
|
||||
LocalDateTime.now().toString() +
|
||||
mDatabase?.defaultFileExtension)
|
||||
}
|
||||
R.id.menu_lock_all -> {
|
||||
@@ -1130,7 +1130,7 @@ class GroupActivity : DatabaseLockActivity(),
|
||||
View.GONE
|
||||
}
|
||||
// Padding if lock button visible
|
||||
toolbarAction?.updateLockPaddingLeft()
|
||||
toolbarAction?.updateLockPaddingStart()
|
||||
|
||||
loadGroup()
|
||||
}
|
||||
|
||||
@@ -51,7 +51,7 @@ import com.kunzisoft.keepass.utils.getParcelableExtraCompat
|
||||
import com.kunzisoft.keepass.utils.UriUtil.getDocumentFile
|
||||
import com.kunzisoft.keepass.utils.UriUtil.openUrl
|
||||
import com.kunzisoft.keepass.view.asError
|
||||
import com.kunzisoft.keepass.view.updateLockPaddingLeft
|
||||
import com.kunzisoft.keepass.view.updateLockPaddingStart
|
||||
import com.kunzisoft.keepass.viewmodels.IconPickerViewModel
|
||||
import kotlinx.coroutines.CoroutineScope
|
||||
import kotlinx.coroutines.Deferred
|
||||
@@ -212,7 +212,7 @@ class IconPickerActivity : DatabaseLockActivity() {
|
||||
}
|
||||
|
||||
// Padding if lock button visible
|
||||
toolbar.updateLockPaddingLeft()
|
||||
toolbar.updateLockPaddingStart()
|
||||
}
|
||||
|
||||
override fun onCreateOptionsMenu(menu: Menu?): Boolean {
|
||||
|
||||
@@ -18,7 +18,7 @@ import com.kunzisoft.keepass.R
|
||||
import com.kunzisoft.keepass.activities.fragments.KeyGeneratorFragment
|
||||
import com.kunzisoft.keepass.activities.legacy.DatabaseLockActivity
|
||||
import com.kunzisoft.keepass.settings.PreferencesUtil
|
||||
import com.kunzisoft.keepass.view.updateLockPaddingLeft
|
||||
import com.kunzisoft.keepass.view.updateLockPaddingStart
|
||||
import com.kunzisoft.keepass.viewmodels.KeyGeneratorViewModel
|
||||
|
||||
class KeyGeneratorActivity : DatabaseLockActivity() {
|
||||
@@ -84,7 +84,7 @@ class KeyGeneratorActivity : DatabaseLockActivity() {
|
||||
}
|
||||
|
||||
// Padding if lock button visible
|
||||
toolbar.updateLockPaddingLeft()
|
||||
toolbar.updateLockPaddingStart()
|
||||
}
|
||||
|
||||
override fun onCreateOptionsMenu(menu: Menu?): Boolean {
|
||||
|
||||
@@ -32,7 +32,6 @@ import android.view.MenuItem
|
||||
import android.view.View
|
||||
import android.view.ViewGroup
|
||||
import android.widget.Button
|
||||
import android.widget.CompoundButton
|
||||
import android.widget.TextView
|
||||
import android.widget.Toast
|
||||
import androidx.activity.result.ActivityResultLauncher
|
||||
@@ -43,25 +42,32 @@ import androidx.appcompat.widget.Toolbar
|
||||
import androidx.biometric.BiometricManager
|
||||
import androidx.coordinatorlayout.widget.CoordinatorLayout
|
||||
import androidx.fragment.app.commit
|
||||
import androidx.lifecycle.Lifecycle
|
||||
import androidx.lifecycle.lifecycleScope
|
||||
import androidx.lifecycle.repeatOnLifecycle
|
||||
import com.google.android.material.snackbar.Snackbar
|
||||
import com.kunzisoft.keepass.R
|
||||
import com.kunzisoft.keepass.activities.dialogs.DuplicateUuidDialog
|
||||
import com.kunzisoft.keepass.activities.helpers.EntrySelectionHelper
|
||||
import com.kunzisoft.keepass.activities.helpers.ExternalFileHelper
|
||||
import com.kunzisoft.keepass.activities.helpers.SpecialMode
|
||||
import com.kunzisoft.keepass.activities.legacy.DatabaseLockActivity
|
||||
import com.kunzisoft.keepass.activities.legacy.DatabaseModeActivity
|
||||
import com.kunzisoft.keepass.autofill.AutofillComponent
|
||||
import com.kunzisoft.keepass.autofill.AutofillHelper
|
||||
import com.kunzisoft.keepass.biometric.AdvancedUnlockFragment
|
||||
import com.kunzisoft.keepass.biometric.AdvancedUnlockManager
|
||||
import com.kunzisoft.keepass.biometric.DeviceUnlockFragment
|
||||
import com.kunzisoft.keepass.biometric.DeviceUnlockManager
|
||||
import com.kunzisoft.keepass.biometric.deviceUnlockError
|
||||
import com.kunzisoft.keepass.database.ContextualDatabase
|
||||
import com.kunzisoft.keepass.database.MainCredential
|
||||
import com.kunzisoft.keepass.database.exception.DuplicateUuidDatabaseException
|
||||
import com.kunzisoft.keepass.database.exception.FileNotFoundDatabaseException
|
||||
import com.kunzisoft.keepass.education.PasswordActivityEducation
|
||||
import com.kunzisoft.keepass.hardware.HardwareKey
|
||||
import com.kunzisoft.keepass.model.*
|
||||
import com.kunzisoft.keepass.model.CipherDecryptDatabase
|
||||
import com.kunzisoft.keepass.model.CipherEncryptDatabase
|
||||
import com.kunzisoft.keepass.model.CredentialStorage
|
||||
import com.kunzisoft.keepass.model.RegisterInfo
|
||||
import com.kunzisoft.keepass.model.SearchInfo
|
||||
import com.kunzisoft.keepass.services.DatabaseTaskNotificationService.Companion.ACTION_DATABASE_LOAD_TASK
|
||||
import com.kunzisoft.keepass.services.DatabaseTaskNotificationService.Companion.CIPHER_DATABASE_KEY
|
||||
import com.kunzisoft.keepass.services.DatabaseTaskNotificationService.Companion.DATABASE_URI_KEY
|
||||
@@ -79,12 +85,13 @@ import com.kunzisoft.keepass.utils.getParcelableExtraCompat
|
||||
import com.kunzisoft.keepass.view.MainCredentialView
|
||||
import com.kunzisoft.keepass.view.asError
|
||||
import com.kunzisoft.keepass.view.showActionErrorIfNeeded
|
||||
import com.kunzisoft.keepass.viewmodels.AdvancedUnlockViewModel
|
||||
import com.kunzisoft.keepass.viewmodels.DatabaseFileViewModel
|
||||
import com.kunzisoft.keepass.viewmodels.DeviceUnlockViewModel
|
||||
import kotlinx.coroutines.launch
|
||||
import java.io.FileNotFoundException
|
||||
|
||||
|
||||
class MainCredentialActivity : DatabaseModeActivity(), AdvancedUnlockFragment.BuilderListener {
|
||||
class MainCredentialActivity : DatabaseModeActivity() {
|
||||
|
||||
// Views
|
||||
private var toolbar: Toolbar? = null
|
||||
@@ -95,10 +102,10 @@ class MainCredentialActivity : DatabaseModeActivity(), AdvancedUnlockFragment.Bu
|
||||
private var confirmButtonView: Button? = null
|
||||
private var infoContainerView: ViewGroup? = null
|
||||
private lateinit var coordinatorLayout: CoordinatorLayout
|
||||
private var advancedUnlockFragment: AdvancedUnlockFragment? = null
|
||||
private var deviceUnlockFragment: DeviceUnlockFragment? = null
|
||||
|
||||
private val mDatabaseFileViewModel: DatabaseFileViewModel by viewModels()
|
||||
private val mAdvancedUnlockViewModel: AdvancedUnlockViewModel by viewModels()
|
||||
private val mDeviceUnlockViewModel: DeviceUnlockViewModel by viewModels()
|
||||
|
||||
private val mPasswordActivityEducation = PasswordActivityEducation(this)
|
||||
|
||||
@@ -166,21 +173,14 @@ class MainCredentialActivity : DatabaseModeActivity(), AdvancedUnlockFragment.Bu
|
||||
}
|
||||
|
||||
// Listen password checkbox to init advanced unlock and confirmation button
|
||||
mainCredentialView?.onPasswordChecked =
|
||||
CompoundButton.OnCheckedChangeListener { _, _ ->
|
||||
mAdvancedUnlockViewModel.checkUnlockAvailability()
|
||||
enableConfirmationButton()
|
||||
}
|
||||
mainCredentialView?.onKeyFileChecked =
|
||||
CompoundButton.OnCheckedChangeListener { _, _ ->
|
||||
// TODO mAdvancedUnlockViewModel.checkUnlockAvailability()
|
||||
enableConfirmationButton()
|
||||
}
|
||||
mainCredentialView?.onHardwareKeyChecked =
|
||||
CompoundButton.OnCheckedChangeListener { _, _ ->
|
||||
// TODO mAdvancedUnlockViewModel.checkUnlockAvailability()
|
||||
enableConfirmationButton()
|
||||
}
|
||||
mainCredentialView?.onConditionToStoreCredentialChanged = { _, verified ->
|
||||
mDeviceUnlockViewModel.checkConditionToStoreCredential(
|
||||
condition = verified,
|
||||
databaseFileUri = mDatabaseFileUri
|
||||
)
|
||||
// TODO Async by ViewModel
|
||||
enableConfirmationButton()
|
||||
}
|
||||
|
||||
// Observe if default database
|
||||
mDatabaseFileViewModel.isDefaultDatabase.observe(this) { isDefaultDatabase ->
|
||||
@@ -228,17 +228,50 @@ class MainCredentialActivity : DatabaseModeActivity(), AdvancedUnlockFragment.Bu
|
||||
|
||||
onDatabaseFileLoaded(databaseFile?.databaseUri, keyFileUri, hardwareKey)
|
||||
}
|
||||
|
||||
lifecycleScope.launch {
|
||||
repeatOnLifecycle(Lifecycle.State.STARTED) {
|
||||
mDeviceUnlockViewModel.uiState.collect { uiState ->
|
||||
// New value received
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
|
||||
uiState.credentialRequiredCipher?.let { cipher ->
|
||||
mDeviceUnlockViewModel.encryptCredential(
|
||||
credential = getCredentialForEncryption(),
|
||||
cipher = cipher
|
||||
)
|
||||
}
|
||||
}
|
||||
uiState.cipherEncryptDatabase?.let { cipherEncryptDatabase ->
|
||||
onCredentialEncrypted(cipherEncryptDatabase)
|
||||
mDeviceUnlockViewModel.consumeCredentialEncrypted()
|
||||
}
|
||||
uiState.cipherDecryptDatabase?.let { cipherDecryptDatabase ->
|
||||
onCredentialDecrypted(cipherDecryptDatabase)
|
||||
mDeviceUnlockViewModel.consumeCredentialDecrypted()
|
||||
}
|
||||
uiState.exception?.let { error ->
|
||||
Snackbar.make(
|
||||
coordinatorLayout,
|
||||
deviceUnlockError(error, this@MainCredentialActivity),
|
||||
Snackbar.LENGTH_LONG
|
||||
).asError().show()
|
||||
mDeviceUnlockViewModel.exceptionShown()
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
override fun onResume() {
|
||||
super.onResume()
|
||||
|
||||
// Init Biometric elements only if allowed
|
||||
if (PreferencesUtil.isAdvancedUnlockEnable(this)) {
|
||||
advancedUnlockFragment = supportFragmentManager
|
||||
.findFragmentByTag(UNLOCK_FRAGMENT_TAG) as? AdvancedUnlockFragment?
|
||||
if (advancedUnlockFragment == null) {
|
||||
advancedUnlockFragment = AdvancedUnlockFragment().also {
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M
|
||||
&& PreferencesUtil.isAdvancedUnlockEnable(this)) {
|
||||
deviceUnlockFragment = supportFragmentManager
|
||||
.findFragmentByTag(UNLOCK_FRAGMENT_TAG) as? DeviceUnlockFragment?
|
||||
if (deviceUnlockFragment == null) {
|
||||
deviceUnlockFragment = DeviceUnlockFragment().also {
|
||||
supportFragmentManager.commit {
|
||||
replace(
|
||||
R.id.fragment_advanced_unlock_container_view,
|
||||
@@ -258,11 +291,6 @@ class MainCredentialActivity : DatabaseModeActivity(), AdvancedUnlockFragment.Bu
|
||||
sendBroadcast(Intent(BACK_PREVIOUS_KEYBOARD_ACTION))
|
||||
}
|
||||
|
||||
// Don't allow auto open prompt if lock become when UI visible
|
||||
if (DatabaseLockActivity.LOCKING_ACTIVITY_UI_VISIBLE_DURING_LOCK == true) {
|
||||
mAdvancedUnlockViewModel.allowAutoOpenBiometricPrompt = false
|
||||
}
|
||||
|
||||
mDatabaseFileUri?.let { databaseFileUri ->
|
||||
mDatabaseFileViewModel.loadDatabaseFile(databaseFileUri)
|
||||
}
|
||||
@@ -296,9 +324,6 @@ class MainCredentialActivity : DatabaseModeActivity(), AdvancedUnlockFragment.Bu
|
||||
super.onDatabaseActionFinished(database, actionTask, result)
|
||||
when (actionTask) {
|
||||
ACTION_DATABASE_LOAD_TASK -> {
|
||||
// Recheck advanced unlock if error
|
||||
mAdvancedUnlockViewModel.initAdvancedUnlockMode()
|
||||
|
||||
if (result.isSuccess) {
|
||||
launchGroupActivityIfLoaded(database)
|
||||
} else {
|
||||
@@ -400,23 +425,6 @@ class MainCredentialActivity : DatabaseModeActivity(), AdvancedUnlockFragment.Bu
|
||||
}
|
||||
}
|
||||
|
||||
override fun retrieveCredentialForEncryption(): ByteArray {
|
||||
return mainCredentialView?.retrieveCredentialForStorage(credentialStorageListener)
|
||||
?: byteArrayOf()
|
||||
}
|
||||
|
||||
override fun conditionToStoreCredential(): Boolean {
|
||||
return mainCredentialView?.conditionToStoreCredential() == true
|
||||
}
|
||||
|
||||
override fun onCredentialEncrypted(cipherEncryptDatabase: CipherEncryptDatabase) {
|
||||
// Load the database if password is registered with biometric
|
||||
loadDatabase(mDatabaseFileUri,
|
||||
mainCredentialView?.getMainCredential(),
|
||||
cipherEncryptDatabase
|
||||
)
|
||||
}
|
||||
|
||||
private val credentialStorageListener = object: MainCredentialView.CredentialStorageListener {
|
||||
override fun passwordToStore(password: String?): ByteArray? {
|
||||
return password?.toByteArray()
|
||||
@@ -433,7 +441,20 @@ class MainCredentialActivity : DatabaseModeActivity(), AdvancedUnlockFragment.Bu
|
||||
}
|
||||
}
|
||||
|
||||
override fun onCredentialDecrypted(cipherDecryptDatabase: CipherDecryptDatabase) {
|
||||
private fun getCredentialForEncryption(): ByteArray {
|
||||
return mainCredentialView?.retrieveCredentialForStorage(credentialStorageListener)
|
||||
?: byteArrayOf()
|
||||
}
|
||||
|
||||
private fun onCredentialEncrypted(cipherEncryptDatabase: CipherEncryptDatabase) {
|
||||
// Load the database if password is registered with biometric
|
||||
loadDatabase(mDatabaseFileUri,
|
||||
mainCredentialView?.getMainCredential(),
|
||||
cipherEncryptDatabase
|
||||
)
|
||||
}
|
||||
|
||||
private fun onCredentialDecrypted(cipherDecryptDatabase: CipherDecryptDatabase) {
|
||||
// Load the database if password is retrieve from biometric
|
||||
// Retrieve from biometric
|
||||
val mainCredential = mainCredentialView?.getMainCredential() ?: MainCredential()
|
||||
@@ -485,7 +506,7 @@ class MainCredentialActivity : DatabaseModeActivity(), AdvancedUnlockFragment.Bu
|
||||
loadDatabase()
|
||||
} else {
|
||||
// Init Biometric elements
|
||||
mAdvancedUnlockViewModel.databaseFileLoaded(databaseFileUri)
|
||||
mDeviceUnlockViewModel.databaseFileLoaded(databaseFileUri)
|
||||
}
|
||||
|
||||
enableConfirmationButton()
|
||||
@@ -513,13 +534,6 @@ class MainCredentialActivity : DatabaseModeActivity(), AdvancedUnlockFragment.Bu
|
||||
}
|
||||
}
|
||||
|
||||
override fun onPause() {
|
||||
// Reinit locking activity UI variable
|
||||
DatabaseLockActivity.LOCKING_ACTIVITY_UI_VISIBLE_DURING_LOCK = null
|
||||
|
||||
super.onPause()
|
||||
}
|
||||
|
||||
override fun onSaveInstanceState(outState: Bundle) {
|
||||
outState.putBoolean(KEY_READ_ONLY, mReadOnly)
|
||||
super.onSaveInstanceState(outState)
|
||||
@@ -645,7 +659,7 @@ class MainCredentialActivity : DatabaseModeActivity(), AdvancedUnlockFragment.Bu
|
||||
try {
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M
|
||||
&& !readOnlyEducationPerformed) {
|
||||
val biometricCanAuthenticate = AdvancedUnlockManager.canAuthenticate(this)
|
||||
val biometricCanAuthenticate = DeviceUnlockManager.canAuthenticate(this)
|
||||
if ((biometricCanAuthenticate == BiometricManager.BIOMETRIC_ERROR_NONE_ENROLLED
|
||||
|| biometricCanAuthenticate == BiometricManager.BIOMETRIC_SUCCESS)
|
||||
&& advancedUnlockButton != null) {
|
||||
|
||||
@@ -248,11 +248,7 @@ class GroupEditDialogFragment : DatabaseDialogFragment() {
|
||||
|
||||
private fun retrieveGroupInfoFromViews() {
|
||||
mGroupInfo.title = nameTextView.text.toString()
|
||||
// Only if there
|
||||
val newNotes = notesTextView.text.toString()
|
||||
if (newNotes.isNotEmpty()) {
|
||||
mGroupInfo.notes = newNotes
|
||||
}
|
||||
mGroupInfo.notes = notesTextView.text?.toString()
|
||||
mGroupInfo.expires = expirationView.activation
|
||||
mGroupInfo.expiryTime = expirationView.dateTime
|
||||
mGroupInfo.searchable = searchableView.getValue()
|
||||
|
||||
@@ -41,6 +41,7 @@ import com.kunzisoft.keepass.otp.OtpElement.Companion.MAX_TOTP_PERIOD
|
||||
import com.kunzisoft.keepass.otp.OtpElement.Companion.MIN_HOTP_COUNTER
|
||||
import com.kunzisoft.keepass.otp.OtpElement.Companion.MIN_OTP_DIGITS
|
||||
import com.kunzisoft.keepass.otp.OtpElement.Companion.MIN_TOTP_PERIOD
|
||||
import com.kunzisoft.keepass.otp.OtpElement.Companion.MIN_OTP_SECRET
|
||||
import com.kunzisoft.keepass.otp.OtpTokenType
|
||||
import com.kunzisoft.keepass.otp.OtpType
|
||||
import com.kunzisoft.keepass.otp.TokenCalculator
|
||||
@@ -224,6 +225,9 @@ class SetOTPDialogFragment : DatabaseDialogFragment() {
|
||||
}
|
||||
otpAlgorithmSpinner?.adapter = otpAlgorithmAdapter
|
||||
|
||||
// Ensure that the UX does not prevent user from hiding/unhiding text
|
||||
otpSecretContainer?.errorIconDrawable = null
|
||||
|
||||
// Set the default value of OTP element
|
||||
upgradeType()
|
||||
upgradeTokenType()
|
||||
@@ -310,11 +314,16 @@ class SetOTPDialogFragment : DatabaseDialogFragment() {
|
||||
otpSecretTextView?.addTextChangedListener(object: TextWatcher {
|
||||
override fun afterTextChanged(s: Editable?) {
|
||||
s?.toString()?.let { userString ->
|
||||
try {
|
||||
mOtpElement.setBase32Secret(userString.uppercase(Locale.ENGLISH))
|
||||
otpSecretContainer?.error = null
|
||||
} catch (exception: Exception) {
|
||||
otpSecretContainer?.error = getString(R.string.error_otp_secret_key)
|
||||
if (userString.length >= MIN_OTP_SECRET) {
|
||||
try {
|
||||
mOtpElement.setBase32Secret(userString.uppercase(Locale.ENGLISH))
|
||||
otpSecretContainer?.error = null
|
||||
} catch (exception: Exception) {
|
||||
otpSecretContainer?.error = getString(R.string.error_otp_secret_key)
|
||||
}
|
||||
} else {
|
||||
otpSecretContainer?.error = getString(R.string.error_otp_secret_length,
|
||||
MIN_OTP_SECRET)
|
||||
}
|
||||
mSecretWellFormed = otpSecretContainer?.error == null
|
||||
}
|
||||
|
||||
@@ -47,10 +47,15 @@ import com.kunzisoft.keepass.services.DatabaseTaskNotificationService
|
||||
import com.kunzisoft.keepass.settings.PreferencesUtil
|
||||
import com.kunzisoft.keepass.tasks.ActionRunnable
|
||||
import com.kunzisoft.keepass.timeout.TimeoutHelper
|
||||
import com.kunzisoft.keepass.utils.*
|
||||
import com.kunzisoft.keepass.utils.LOCK_ACTION
|
||||
import com.kunzisoft.keepass.utils.LockReceiver
|
||||
import com.kunzisoft.keepass.utils.closeDatabase
|
||||
import com.kunzisoft.keepass.utils.registerLockReceiver
|
||||
import com.kunzisoft.keepass.utils.unregisterLockReceiver
|
||||
import com.kunzisoft.keepass.view.showActionErrorIfNeeded
|
||||
import com.kunzisoft.keepass.viewmodels.DeviceUnlockViewModel.Companion.isAutoOpenBiometricPromptAllowed
|
||||
import com.kunzisoft.keepass.viewmodels.NodesViewModel
|
||||
import java.util.*
|
||||
import java.util.UUID
|
||||
|
||||
abstract class DatabaseLockActivity : DatabaseModeActivity(),
|
||||
PasswordEncodingDialogFragment.Listener {
|
||||
@@ -66,6 +71,8 @@ abstract class DatabaseLockActivity : DatabaseModeActivity(),
|
||||
protected var mMergeDataAllowed: Boolean = false
|
||||
private var mAutoSaveEnable: Boolean = true
|
||||
|
||||
private var isDatabaseUiVisible: Boolean = false
|
||||
|
||||
override fun onCreate(savedInstanceState: Bundle?) {
|
||||
super.onCreate(savedInstanceState)
|
||||
|
||||
@@ -184,8 +191,8 @@ abstract class DatabaseLockActivity : DatabaseModeActivity(),
|
||||
mLockReceiver = LockReceiver {
|
||||
mDatabase = null
|
||||
closeDatabase(database)
|
||||
if (LOCKING_ACTIVITY_UI_VISIBLE_DURING_LOCK == null)
|
||||
LOCKING_ACTIVITY_UI_VISIBLE_DURING_LOCK = LOCKING_ACTIVITY_UI_VISIBLE
|
||||
// Don't allow auto open prompt if lock become when UI visible
|
||||
isAutoOpenBiometricPromptAllowed = !isDatabaseUiVisible
|
||||
mExitLock = true
|
||||
closeOptionsMenu()
|
||||
finish()
|
||||
@@ -414,7 +421,7 @@ abstract class DatabaseLockActivity : DatabaseModeActivity(),
|
||||
|
||||
invalidateOptionsMenu()
|
||||
|
||||
LOCKING_ACTIVITY_UI_VISIBLE = true
|
||||
isDatabaseUiVisible = true
|
||||
}
|
||||
|
||||
protected fun checkTimeAndLockIfTimeoutOrResetTimeout(action: (() -> Unit)? = null) {
|
||||
@@ -429,7 +436,7 @@ abstract class DatabaseLockActivity : DatabaseModeActivity(),
|
||||
}
|
||||
|
||||
override fun onPause() {
|
||||
LOCKING_ACTIVITY_UI_VISIBLE = false
|
||||
isDatabaseUiVisible = false
|
||||
|
||||
super.onPause()
|
||||
|
||||
@@ -480,9 +487,6 @@ abstract class DatabaseLockActivity : DatabaseModeActivity(),
|
||||
|
||||
const val TIMEOUT_ENABLE_KEY = "TIMEOUT_ENABLE_KEY"
|
||||
const val TIMEOUT_ENABLE_KEY_DEFAULT = true
|
||||
|
||||
private var LOCKING_ACTIVITY_UI_VISIBLE = false
|
||||
var LOCKING_ACTIVITY_UI_VISIBLE_DURING_LOCK: Boolean? = null
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -22,6 +22,7 @@ package com.kunzisoft.keepass.activities.stylish
|
||||
import android.content.ActivityNotFoundException
|
||||
import android.content.Intent
|
||||
import android.content.SharedPreferences.OnSharedPreferenceChangeListener
|
||||
import android.os.Build
|
||||
import android.os.Bundle
|
||||
import android.os.Handler
|
||||
import android.os.Looper
|
||||
@@ -77,7 +78,18 @@ abstract class StylishActivity : AppCompatActivity() {
|
||||
startActivity(intent)
|
||||
}
|
||||
finish()
|
||||
overridePendingTransition(android.R.anim.fade_in, android.R.anim.fade_out)
|
||||
@Suppress("DEPRECATION")
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.UPSIDE_DOWN_CAKE)
|
||||
overrideActivityTransition(
|
||||
OVERRIDE_TRANSITION_OPEN,
|
||||
android.R.anim.fade_in,
|
||||
android.R.anim.fade_out
|
||||
)
|
||||
else
|
||||
overridePendingTransition(
|
||||
android.R.anim.fade_in,
|
||||
android.R.anim.fade_out
|
||||
)
|
||||
}
|
||||
|
||||
override fun onCreate(savedInstanceState: Bundle?) {
|
||||
|
||||
@@ -22,6 +22,7 @@ package com.kunzisoft.keepass.adapters
|
||||
import android.content.Context
|
||||
import android.content.res.ColorStateList
|
||||
import android.graphics.Color
|
||||
import android.os.Build
|
||||
import android.util.Log
|
||||
import android.util.TypedValue
|
||||
import android.view.LayoutInflater
|
||||
@@ -529,6 +530,9 @@ class NodesAdapter (
|
||||
holder?.otpToken?.apply {
|
||||
text = otpElement?.tokenString
|
||||
setTextSize(mTextSizeUnit, mOtpTokenTextDefaultDimension, mPrefSizeMultiplier)
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1) {
|
||||
textDirection = View.TEXT_DIRECTION_LTR
|
||||
}
|
||||
}
|
||||
holder?.otpContainer?.setOnClickListener {
|
||||
otpElement?.token?.let { token ->
|
||||
|
||||
@@ -177,14 +177,18 @@ class CipherDatabaseAction(context: Context) {
|
||||
}
|
||||
}
|
||||
|
||||
fun containsCipherDatabase(databaseUri: Uri,
|
||||
fun containsCipherDatabase(databaseUri: Uri?,
|
||||
contains: (Boolean) -> Unit) {
|
||||
getCipherDatabase(databaseUri) {
|
||||
contains.invoke(it != null)
|
||||
if (databaseUri == null) {
|
||||
contains.invoke(false)
|
||||
} else {
|
||||
getCipherDatabase(databaseUri) {
|
||||
contains.invoke(it != null)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
fun resetCipherParameters(databaseUri: Uri) {
|
||||
fun resetCipherParameters(databaseUri: Uri?) {
|
||||
containsCipherDatabase(databaseUri) { contains ->
|
||||
if (contains) {
|
||||
mBinder?.resetTimer()
|
||||
|
||||
@@ -21,12 +21,21 @@ package com.kunzisoft.keepass.autofill
|
||||
|
||||
import android.annotation.SuppressLint
|
||||
import android.app.PendingIntent
|
||||
import android.content.Context
|
||||
import android.content.Intent
|
||||
import android.graphics.BlendMode
|
||||
import android.graphics.drawable.Icon
|
||||
import android.os.Build
|
||||
import android.os.CancellationSignal
|
||||
import android.service.autofill.*
|
||||
import android.service.autofill.AutofillService
|
||||
import android.service.autofill.FillCallback
|
||||
import android.service.autofill.FillRequest
|
||||
import android.service.autofill.FillResponse
|
||||
import android.service.autofill.InlinePresentation
|
||||
import android.service.autofill.Presentations
|
||||
import android.service.autofill.SaveCallback
|
||||
import android.service.autofill.SaveInfo
|
||||
import android.service.autofill.SaveRequest
|
||||
import android.util.Log
|
||||
import android.view.autofill.AutofillId
|
||||
import android.widget.RemoteViews
|
||||
@@ -35,6 +44,7 @@ import androidx.autofill.inline.UiVersions
|
||||
import androidx.autofill.inline.v1.InlineSuggestionUi
|
||||
import com.kunzisoft.keepass.R
|
||||
import com.kunzisoft.keepass.activities.AutofillLauncherActivity
|
||||
import com.kunzisoft.keepass.autofill.StructureParser.Companion.APPLICATION_ID_POPUP_WINDOW
|
||||
import com.kunzisoft.keepass.database.ContextualDatabase
|
||||
import com.kunzisoft.keepass.database.DatabaseTaskProvider
|
||||
import com.kunzisoft.keepass.database.helper.SearchHelper
|
||||
@@ -99,8 +109,12 @@ class KeeAutofillService : AutofillService() {
|
||||
StructureParser(latestStructure).parse()?.let { parseResult ->
|
||||
|
||||
// Build search info only if applicationId or webDomain are not blocked
|
||||
if (autofillAllowedFor(parseResult.applicationId, applicationIdBlocklist)
|
||||
&& autofillAllowedFor(parseResult.webDomain, webDomainBlocklist)) {
|
||||
if (autofillAllowedFor(
|
||||
applicationId = parseResult.applicationId,
|
||||
applicationIdBlocklist = applicationIdBlocklist,
|
||||
webDomain = parseResult.webDomain,
|
||||
webDomainBlocklist = webDomainBlocklist)
|
||||
) {
|
||||
val searchInfo = SearchInfo().apply {
|
||||
applicationId = parseResult.applicationId
|
||||
webDomain = parseResult.webDomain
|
||||
@@ -258,7 +272,7 @@ class KeeAutofillService : AutofillService() {
|
||||
val inlinePresentationSpecs =
|
||||
inlineSuggestionsRequest.inlinePresentationSpecs
|
||||
if (inlineSuggestionsRequest.maxSuggestionCount > 0
|
||||
&& inlinePresentationSpecs.size > 0
|
||||
&& inlinePresentationSpecs.isNotEmpty()
|
||||
) {
|
||||
val inlinePresentationSpec = inlinePresentationSpecs[0]
|
||||
|
||||
@@ -274,11 +288,7 @@ class KeeAutofillService : AutofillService() {
|
||||
this,
|
||||
0,
|
||||
Intent(this, AutofillSettingsActivity::class.java),
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
|
||||
PendingIntent.FLAG_IMMUTABLE
|
||||
} else {
|
||||
0
|
||||
}
|
||||
PendingIntent.FLAG_IMMUTABLE
|
||||
)
|
||||
).apply {
|
||||
setContentDescription(getString(R.string.autofill_sign_in_prompt))
|
||||
@@ -352,8 +362,12 @@ class KeeAutofillService : AutofillService() {
|
||||
val latestStructure = request.fillContexts.last().structure
|
||||
StructureParser(latestStructure).parse(true)?.let { parseResult ->
|
||||
|
||||
if (autofillAllowedFor(parseResult.applicationId, applicationIdBlocklist)
|
||||
&& autofillAllowedFor(parseResult.webDomain, webDomainBlocklist)) {
|
||||
if (autofillAllowedFor(
|
||||
applicationId = parseResult.applicationId,
|
||||
applicationIdBlocklist = applicationIdBlocklist,
|
||||
webDomain = parseResult.webDomain,
|
||||
webDomainBlocklist = webDomainBlocklist)
|
||||
) {
|
||||
Log.d(TAG, "autofill onSaveRequest password")
|
||||
|
||||
// Build expiration from date or from year and month
|
||||
@@ -414,6 +428,28 @@ class KeeAutofillService : AutofillService() {
|
||||
companion object {
|
||||
private val TAG = KeeAutofillService::class.java.name
|
||||
|
||||
fun autofillAllowedFor(applicationId: String?,
|
||||
webDomain: String?,
|
||||
context: Context
|
||||
): Boolean {
|
||||
return autofillAllowedFor(
|
||||
applicationId = applicationId,
|
||||
applicationIdBlocklist = PreferencesUtil.applicationIdBlocklist(context),
|
||||
webDomain = webDomain,
|
||||
webDomainBlocklist = PreferencesUtil.webDomainBlocklist(context))
|
||||
}
|
||||
|
||||
fun autofillAllowedFor(applicationId: String?,
|
||||
applicationIdBlocklist: Set<String>?,
|
||||
webDomain: String?,
|
||||
webDomainBlocklist: Set<String>?
|
||||
): Boolean {
|
||||
return autofillAllowedFor(applicationId, applicationIdBlocklist)
|
||||
// To prevent unrecognized autofill popup id
|
||||
&& applicationId?.contains(APPLICATION_ID_POPUP_WINDOW) != true
|
||||
&& autofillAllowedFor(webDomain, webDomainBlocklist)
|
||||
}
|
||||
|
||||
fun autofillAllowedFor(element: String?, blockList: Set<String>?): Boolean {
|
||||
element?.let { elementNotNull ->
|
||||
if (blockList?.any { appIdBlocked ->
|
||||
|
||||
@@ -27,8 +27,7 @@ import android.view.autofill.AutofillId
|
||||
import android.view.autofill.AutofillValue
|
||||
import androidx.annotation.RequiresApi
|
||||
import org.joda.time.DateTime
|
||||
import java.util.*
|
||||
import kotlin.collections.ArrayList
|
||||
import java.util.Locale
|
||||
|
||||
|
||||
/**
|
||||
@@ -52,7 +51,7 @@ class StructureParser(private val structure: AssistStructure) {
|
||||
applicationId = windowNode.title.toString().split("/")[0]
|
||||
Log.d(TAG, "Autofill applicationId: $applicationId")
|
||||
|
||||
if (applicationId?.contains("PopupWindow:") == false) {
|
||||
if (applicationId?.contains(APPLICATION_ID_POPUP_WINDOW) == false) {
|
||||
if (parseViewNode(windowNode.rootViewNode))
|
||||
break@mainLoop
|
||||
}
|
||||
@@ -583,5 +582,7 @@ class StructureParser(private val structure: AssistStructure) {
|
||||
|
||||
companion object {
|
||||
private val TAG = StructureParser::class.java.name
|
||||
|
||||
const val APPLICATION_ID_POPUP_WINDOW = "PopupWindow:"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,10 +0,0 @@
|
||||
package com.kunzisoft.keepass.biometric
|
||||
|
||||
import androidx.annotation.StringRes
|
||||
import javax.crypto.Cipher
|
||||
|
||||
data class AdvancedUnlockCryptoPrompt(var cipher: Cipher,
|
||||
@StringRes var promptTitleId: Int,
|
||||
@StringRes var promptDescriptionId: Int? = null,
|
||||
var isDeviceCredentialOperation: Boolean,
|
||||
var isBiometricOperation: Boolean)
|
||||
@@ -1,678 +0,0 @@
|
||||
/*
|
||||
* Copyright 2020 Jeremy Jamet / Kunzisoft.
|
||||
*
|
||||
* This file is part of KeePassDX.
|
||||
*
|
||||
* KeePassDX is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* KeePassDX is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with KeePassDX. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
*/
|
||||
package com.kunzisoft.keepass.biometric
|
||||
|
||||
import android.app.Activity
|
||||
import android.content.Context
|
||||
import android.content.Intent
|
||||
import android.net.Uri
|
||||
import android.os.Build
|
||||
import android.os.Bundle
|
||||
import android.provider.Settings
|
||||
import android.util.Log
|
||||
import android.view.*
|
||||
import androidx.activity.result.contract.ActivityResultContracts
|
||||
import androidx.annotation.RequiresApi
|
||||
import androidx.biometric.BiometricManager
|
||||
import androidx.biometric.BiometricPrompt
|
||||
import androidx.core.view.MenuProvider
|
||||
import androidx.fragment.app.Fragment
|
||||
import androidx.fragment.app.activityViewModels
|
||||
import androidx.lifecycle.lifecycleScope
|
||||
import com.kunzisoft.keepass.R
|
||||
import com.kunzisoft.keepass.app.database.CipherDatabaseAction
|
||||
import com.kunzisoft.keepass.database.exception.UnknownDatabaseLocationException
|
||||
import com.kunzisoft.keepass.model.CipherDecryptDatabase
|
||||
import com.kunzisoft.keepass.model.CipherEncryptDatabase
|
||||
import com.kunzisoft.keepass.model.CredentialStorage
|
||||
import com.kunzisoft.keepass.settings.PreferencesUtil
|
||||
import com.kunzisoft.keepass.view.AdvancedUnlockInfoView
|
||||
import com.kunzisoft.keepass.view.hideByFading
|
||||
import com.kunzisoft.keepass.view.showByFading
|
||||
import com.kunzisoft.keepass.viewmodels.AdvancedUnlockViewModel
|
||||
import kotlinx.coroutines.Dispatchers
|
||||
import kotlinx.coroutines.launch
|
||||
|
||||
class AdvancedUnlockFragment: Fragment(), AdvancedUnlockManager.AdvancedUnlockCallback {
|
||||
|
||||
private var mBuilderListener: BuilderListener? = null
|
||||
|
||||
private var mAdvancedUnlockEnabled = false
|
||||
private var mAutoOpenPromptEnabled = false
|
||||
|
||||
private var advancedUnlockManager: AdvancedUnlockManager? = null
|
||||
private var biometricMode: Mode = Mode.BIOMETRIC_UNAVAILABLE
|
||||
private var mAdvancedUnlockInfoView: AdvancedUnlockInfoView? = null
|
||||
|
||||
var databaseFileUri: Uri? = null
|
||||
private set
|
||||
|
||||
// TODO Retrieve credential storage from app database
|
||||
var credentialDatabaseStorage: CredentialStorage = CredentialStorage.DEFAULT
|
||||
|
||||
// Variable to check if the prompt can be open (if the right activity is currently shown)
|
||||
// checkBiometricAvailability() allows open biometric prompt and onDestroy() removes the authorization
|
||||
private var allowOpenBiometricPrompt = false
|
||||
|
||||
private lateinit var cipherDatabaseAction : CipherDatabaseAction
|
||||
|
||||
private var cipherDatabaseListener: CipherDatabaseAction.CipherDatabaseListener? = null
|
||||
|
||||
private val mAdvancedUnlockViewModel: AdvancedUnlockViewModel by activityViewModels()
|
||||
|
||||
// Only to fix multiple fingerprint menu #332
|
||||
private var mAllowAdvancedUnlockMenu = false
|
||||
private var mAddBiometricMenuInProgress = false
|
||||
|
||||
// Only keep connection when we request a device credential activity
|
||||
private var keepConnection = false
|
||||
|
||||
private var mDeviceCredentialResultLauncher = registerForActivityResult(
|
||||
ActivityResultContracts.StartActivityForResult()
|
||||
) { result ->
|
||||
mAdvancedUnlockViewModel.allowAutoOpenBiometricPrompt = false
|
||||
// To wait resume
|
||||
if (keepConnection) {
|
||||
mAdvancedUnlockViewModel.deviceCredentialAuthSucceeded =
|
||||
result.resultCode == Activity.RESULT_OK
|
||||
}
|
||||
keepConnection = false
|
||||
}
|
||||
|
||||
private val menuProvider: MenuProvider = object: MenuProvider {
|
||||
override fun onCreateMenu(menu: Menu, menuInflater: MenuInflater) {
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
|
||||
// biometric menu
|
||||
if (mAllowAdvancedUnlockMenu)
|
||||
menuInflater.inflate(R.menu.advanced_unlock, menu)
|
||||
}
|
||||
}
|
||||
|
||||
override fun onMenuItemSelected(menuItem: MenuItem): Boolean {
|
||||
when (menuItem.itemId) {
|
||||
R.id.menu_keystore_remove_key -> if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
|
||||
deleteEncryptedDatabaseKey()
|
||||
}
|
||||
}
|
||||
return false
|
||||
}
|
||||
}
|
||||
|
||||
override fun onAttach(context: Context) {
|
||||
super.onAttach(context)
|
||||
|
||||
mAdvancedUnlockEnabled = PreferencesUtil.isAdvancedUnlockEnable(context)
|
||||
mAutoOpenPromptEnabled = PreferencesUtil.isAdvancedUnlockPromptAutoOpenEnable(context)
|
||||
try {
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
|
||||
mBuilderListener = context as BuilderListener
|
||||
}
|
||||
} catch (e: ClassCastException) {
|
||||
throw ClassCastException(context.toString()
|
||||
+ " must implement " + BuilderListener::class.java.name)
|
||||
}
|
||||
}
|
||||
|
||||
override fun onCreate(savedInstanceState: Bundle?) {
|
||||
super.onCreate(savedInstanceState)
|
||||
|
||||
cipherDatabaseAction = CipherDatabaseAction.getInstance(requireContext().applicationContext)
|
||||
|
||||
mAdvancedUnlockViewModel.onInitAdvancedUnlockModeRequested.observe(this) {
|
||||
initAdvancedUnlockMode()
|
||||
}
|
||||
|
||||
mAdvancedUnlockViewModel.onUnlockAvailabilityCheckRequested.observe(this) {
|
||||
checkUnlockAvailability()
|
||||
}
|
||||
|
||||
mAdvancedUnlockViewModel.onDatabaseFileLoaded.observe(this) {
|
||||
onDatabaseLoaded(it)
|
||||
}
|
||||
}
|
||||
|
||||
override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? {
|
||||
super.onCreateView(inflater, container, savedInstanceState)
|
||||
|
||||
val rootView = inflater.inflate(R.layout.fragment_advanced_unlock, container, false)
|
||||
|
||||
mAdvancedUnlockInfoView = rootView.findViewById(R.id.advanced_unlock_view)
|
||||
|
||||
return rootView
|
||||
}
|
||||
|
||||
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
||||
super.onViewCreated(view, savedInstanceState)
|
||||
|
||||
activity?.addMenuProvider(menuProvider, viewLifecycleOwner)
|
||||
}
|
||||
|
||||
override fun onResume() {
|
||||
super.onResume()
|
||||
context?.let {
|
||||
mAdvancedUnlockEnabled = PreferencesUtil.isAdvancedUnlockEnable(it)
|
||||
mAutoOpenPromptEnabled = PreferencesUtil.isAdvancedUnlockPromptAutoOpenEnable(it)
|
||||
}
|
||||
keepConnection = false
|
||||
}
|
||||
|
||||
private fun onDatabaseLoaded(databaseUri: Uri?) {
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
|
||||
// To get device credential unlock result, only if same database uri
|
||||
if (databaseUri != null
|
||||
&& mAdvancedUnlockEnabled) {
|
||||
val deviceCredentialAuthSucceeded = mAdvancedUnlockViewModel.deviceCredentialAuthSucceeded
|
||||
deviceCredentialAuthSucceeded?.let {
|
||||
if (databaseUri == databaseFileUri) {
|
||||
if (deviceCredentialAuthSucceeded == true) {
|
||||
advancedUnlockManager?.advancedUnlockCallback?.onAuthenticationSucceeded()
|
||||
} else {
|
||||
advancedUnlockManager?.advancedUnlockCallback?.onAuthenticationFailed()
|
||||
}
|
||||
} else {
|
||||
disconnect()
|
||||
}
|
||||
} ?: run {
|
||||
if (databaseUri != databaseFileUri) {
|
||||
connect(databaseUri)
|
||||
}
|
||||
}
|
||||
} else {
|
||||
disconnect()
|
||||
}
|
||||
mAdvancedUnlockViewModel.deviceCredentialAuthSucceeded = null
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Check unlock availability and change the current mode depending of device's state
|
||||
*/
|
||||
private fun checkUnlockAvailability() {
|
||||
context?.let { context ->
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
|
||||
allowOpenBiometricPrompt = true
|
||||
if (PreferencesUtil.isBiometricUnlockEnable(context)) {
|
||||
// biometric not supported (by API level or hardware) so keep option hidden
|
||||
// or manually disable
|
||||
val biometricCanAuthenticate = AdvancedUnlockManager.canAuthenticate(context)
|
||||
if (!PreferencesUtil.isAdvancedUnlockEnable(context)
|
||||
|| biometricCanAuthenticate == BiometricManager.BIOMETRIC_ERROR_HW_UNAVAILABLE
|
||||
|| biometricCanAuthenticate == BiometricManager.BIOMETRIC_ERROR_NO_HARDWARE) {
|
||||
toggleMode(Mode.BIOMETRIC_UNAVAILABLE)
|
||||
} else if (biometricCanAuthenticate == BiometricManager.BIOMETRIC_ERROR_SECURITY_UPDATE_REQUIRED) {
|
||||
toggleMode(Mode.BIOMETRIC_SECURITY_UPDATE_REQUIRED)
|
||||
} else {
|
||||
// biometric is available but not configured, show icon but in disabled state with some information
|
||||
if (biometricCanAuthenticate == BiometricManager.BIOMETRIC_ERROR_NONE_ENROLLED) {
|
||||
toggleMode(Mode.DEVICE_CREDENTIAL_OR_BIOMETRIC_NOT_CONFIGURED)
|
||||
} else {
|
||||
selectMode()
|
||||
}
|
||||
}
|
||||
} else if (PreferencesUtil.isDeviceCredentialUnlockEnable(context)) {
|
||||
if (AdvancedUnlockManager.isDeviceSecure(context)) {
|
||||
selectMode()
|
||||
} else {
|
||||
toggleMode(Mode.DEVICE_CREDENTIAL_OR_BIOMETRIC_NOT_CONFIGURED)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@RequiresApi(Build.VERSION_CODES.M)
|
||||
private fun selectMode() {
|
||||
// Check if fingerprint well init (be called the first time the fingerprint is configured
|
||||
// and the activity still active)
|
||||
if (advancedUnlockManager?.isKeyManagerInitialized != true) {
|
||||
advancedUnlockManager = AdvancedUnlockManager { requireActivity() }
|
||||
// callback for fingerprint findings
|
||||
advancedUnlockManager?.advancedUnlockCallback = this
|
||||
}
|
||||
// Recheck to change the mode
|
||||
if (advancedUnlockManager?.isKeyManagerInitialized != true) {
|
||||
toggleMode(Mode.KEY_MANAGER_UNAVAILABLE)
|
||||
} else {
|
||||
if (mBuilderListener?.conditionToStoreCredential() == true) {
|
||||
// listen for encryption
|
||||
toggleMode(Mode.STORE_CREDENTIAL)
|
||||
} else {
|
||||
databaseFileUri?.let { databaseUri ->
|
||||
cipherDatabaseAction.containsCipherDatabase(databaseUri) { containsCipher ->
|
||||
// biometric available but no stored password found yet for this DB so show info don't listen
|
||||
toggleMode(if (containsCipher) {
|
||||
// listen for decryption
|
||||
Mode.EXTRACT_CREDENTIAL
|
||||
} else {
|
||||
// wait for typing
|
||||
Mode.WAIT_CREDENTIAL
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@RequiresApi(Build.VERSION_CODES.M)
|
||||
private fun toggleMode(newBiometricMode: Mode) {
|
||||
if (newBiometricMode != biometricMode) {
|
||||
biometricMode = newBiometricMode
|
||||
initAdvancedUnlockMode()
|
||||
}
|
||||
}
|
||||
|
||||
@RequiresApi(Build.VERSION_CODES.M)
|
||||
private fun initNotAvailable() {
|
||||
showViews(false)
|
||||
|
||||
mAdvancedUnlockInfoView?.setIconViewClickListener(null)
|
||||
}
|
||||
|
||||
@RequiresApi(Build.VERSION_CODES.M)
|
||||
private fun openBiometricSetting() {
|
||||
mAdvancedUnlockInfoView?.setIconViewClickListener {
|
||||
try {
|
||||
when {
|
||||
Build.VERSION.SDK_INT >= Build.VERSION_CODES.R -> {
|
||||
context?.startActivity(Intent(Settings.ACTION_BIOMETRIC_ENROLL))
|
||||
}
|
||||
Build.VERSION.SDK_INT >= Build.VERSION_CODES.P -> {
|
||||
@Suppress("DEPRECATION") context
|
||||
?.startActivity(Intent(Settings.ACTION_FINGERPRINT_ENROLL))
|
||||
}
|
||||
else -> {
|
||||
context?.startActivity(Intent(Settings.ACTION_SECURITY_SETTINGS))
|
||||
}
|
||||
}
|
||||
} catch (e: Exception) {
|
||||
// ACTION_SECURITY_SETTINGS does not contain fingerprint enrollment on some devices...
|
||||
context?.startActivity(Intent(Settings.ACTION_SETTINGS))
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@RequiresApi(Build.VERSION_CODES.M)
|
||||
private fun initSecurityUpdateRequired() {
|
||||
showViews(true)
|
||||
setAdvancedUnlockedTitleView(R.string.biometric_security_update_required)
|
||||
|
||||
openBiometricSetting()
|
||||
}
|
||||
|
||||
@RequiresApi(Build.VERSION_CODES.M)
|
||||
private fun initNotConfigured() {
|
||||
showViews(true)
|
||||
setAdvancedUnlockedTitleView(R.string.configure_biometric)
|
||||
setAdvancedUnlockedMessageView("")
|
||||
|
||||
openBiometricSetting()
|
||||
}
|
||||
|
||||
@RequiresApi(Build.VERSION_CODES.M)
|
||||
private fun initKeyManagerNotAvailable() {
|
||||
showViews(true)
|
||||
setAdvancedUnlockedTitleView(R.string.keystore_not_accessible)
|
||||
|
||||
openBiometricSetting()
|
||||
}
|
||||
|
||||
@RequiresApi(Build.VERSION_CODES.M)
|
||||
private fun initWaitData() {
|
||||
showViews(true)
|
||||
setAdvancedUnlockedTitleView(R.string.unavailable)
|
||||
setAdvancedUnlockedMessageView("")
|
||||
|
||||
context?.let { context ->
|
||||
mAdvancedUnlockInfoView?.setIconViewClickListener {
|
||||
onAuthenticationError(BiometricPrompt.ERROR_UNABLE_TO_PROCESS,
|
||||
context.getString(R.string.credential_before_click_advanced_unlock_button))
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@RequiresApi(Build.VERSION_CODES.M)
|
||||
private fun openAdvancedUnlockPrompt(cryptoPrompt: AdvancedUnlockCryptoPrompt) {
|
||||
lifecycleScope.launch(Dispatchers.Main) {
|
||||
if (allowOpenBiometricPrompt) {
|
||||
if (cryptoPrompt.isDeviceCredentialOperation)
|
||||
keepConnection = true
|
||||
try {
|
||||
advancedUnlockManager?.openAdvancedUnlockPrompt(cryptoPrompt,
|
||||
mDeviceCredentialResultLauncher)
|
||||
} catch (e: Exception) {
|
||||
Log.e(TAG, "Unable to open advanced unlock prompt", e)
|
||||
setAdvancedUnlockedTitleView(R.string.advanced_unlock_prompt_not_initialized)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@RequiresApi(Build.VERSION_CODES.M)
|
||||
private fun initEncryptData() {
|
||||
showViews(true)
|
||||
setAdvancedUnlockedTitleView(R.string.unlock_and_link_biometric)
|
||||
setAdvancedUnlockedMessageView("")
|
||||
|
||||
advancedUnlockManager?.initEncryptData { cryptoPrompt ->
|
||||
// Set listener to open the biometric dialog and save credential
|
||||
mAdvancedUnlockInfoView?.setIconViewClickListener { _ ->
|
||||
openAdvancedUnlockPrompt(cryptoPrompt)
|
||||
}
|
||||
} ?: throw Exception("AdvancedUnlockManager not initialized")
|
||||
}
|
||||
|
||||
@RequiresApi(Build.VERSION_CODES.M)
|
||||
private fun initDecryptData() {
|
||||
showViews(true)
|
||||
setAdvancedUnlockedTitleView(R.string.unlock)
|
||||
setAdvancedUnlockedMessageView("")
|
||||
|
||||
advancedUnlockManager?.let { unlockHelper ->
|
||||
databaseFileUri?.let { databaseUri ->
|
||||
cipherDatabaseAction.getCipherDatabase(databaseUri) { cipherDatabase ->
|
||||
cipherDatabase?.let {
|
||||
unlockHelper.initDecryptData(it.specParameters) { cryptoPrompt ->
|
||||
|
||||
// Set listener to open the biometric dialog and check credential
|
||||
mAdvancedUnlockInfoView?.setIconViewClickListener { _ ->
|
||||
openAdvancedUnlockPrompt(cryptoPrompt)
|
||||
}
|
||||
|
||||
// Auto open the biometric prompt
|
||||
if (mAdvancedUnlockViewModel.allowAutoOpenBiometricPrompt
|
||||
&& mAutoOpenPromptEnabled) {
|
||||
mAdvancedUnlockViewModel.allowAutoOpenBiometricPrompt = false
|
||||
openAdvancedUnlockPrompt(cryptoPrompt)
|
||||
}
|
||||
}
|
||||
} ?: deleteEncryptedDatabaseKey()
|
||||
}
|
||||
} ?: throw UnknownDatabaseLocationException()
|
||||
} ?: throw Exception("AdvancedUnlockManager not initialized")
|
||||
}
|
||||
|
||||
private fun initAdvancedUnlockMode() {
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
|
||||
mAllowAdvancedUnlockMenu = false
|
||||
try {
|
||||
when (biometricMode) {
|
||||
Mode.BIOMETRIC_UNAVAILABLE -> initNotAvailable()
|
||||
Mode.BIOMETRIC_SECURITY_UPDATE_REQUIRED -> initSecurityUpdateRequired()
|
||||
Mode.DEVICE_CREDENTIAL_OR_BIOMETRIC_NOT_CONFIGURED -> initNotConfigured()
|
||||
Mode.KEY_MANAGER_UNAVAILABLE -> initKeyManagerNotAvailable()
|
||||
Mode.WAIT_CREDENTIAL -> initWaitData()
|
||||
Mode.STORE_CREDENTIAL -> initEncryptData()
|
||||
Mode.EXTRACT_CREDENTIAL -> initDecryptData()
|
||||
}
|
||||
} catch (e: Exception) {
|
||||
onGenericException(e)
|
||||
}
|
||||
invalidateBiometricMenu()
|
||||
}
|
||||
}
|
||||
|
||||
private fun invalidateBiometricMenu() {
|
||||
// Show fingerprint key deletion
|
||||
if (!mAddBiometricMenuInProgress) {
|
||||
mAddBiometricMenuInProgress = true
|
||||
databaseFileUri?.let { databaseUri ->
|
||||
cipherDatabaseAction.containsCipherDatabase(databaseUri) { containsCipher ->
|
||||
mAllowAdvancedUnlockMenu = containsCipher
|
||||
&& (biometricMode != Mode.BIOMETRIC_UNAVAILABLE
|
||||
&& biometricMode != Mode.KEY_MANAGER_UNAVAILABLE)
|
||||
mAddBiometricMenuInProgress = false
|
||||
activity?.invalidateOptionsMenu()
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@RequiresApi(Build.VERSION_CODES.M)
|
||||
fun connect(databaseUri: Uri) {
|
||||
showViews(true)
|
||||
this.databaseFileUri = databaseUri
|
||||
cipherDatabaseListener = object: CipherDatabaseAction.CipherDatabaseListener {
|
||||
override fun onCipherDatabaseCleared() {
|
||||
advancedUnlockManager?.closeBiometricPrompt()
|
||||
checkUnlockAvailability()
|
||||
}
|
||||
}
|
||||
cipherDatabaseAction.apply {
|
||||
reloadPreferences()
|
||||
cipherDatabaseListener?.let {
|
||||
registerDatabaseListener(it)
|
||||
}
|
||||
}
|
||||
checkUnlockAvailability()
|
||||
}
|
||||
|
||||
@RequiresApi(Build.VERSION_CODES.M)
|
||||
fun disconnect(hideViews: Boolean = true,
|
||||
closePrompt: Boolean = true) {
|
||||
this.databaseFileUri = null
|
||||
// Close the biometric prompt
|
||||
allowOpenBiometricPrompt = false
|
||||
if (closePrompt)
|
||||
advancedUnlockManager?.closeBiometricPrompt()
|
||||
cipherDatabaseListener?.let {
|
||||
cipherDatabaseAction.unregisterDatabaseListener(it)
|
||||
}
|
||||
biometricMode = Mode.BIOMETRIC_UNAVAILABLE
|
||||
if (hideViews) {
|
||||
showViews(false)
|
||||
}
|
||||
}
|
||||
|
||||
@RequiresApi(Build.VERSION_CODES.M)
|
||||
fun deleteEncryptedDatabaseKey() {
|
||||
mAllowAdvancedUnlockMenu = false
|
||||
advancedUnlockManager?.closeBiometricPrompt()
|
||||
databaseFileUri?.let { databaseUri ->
|
||||
cipherDatabaseAction.deleteByDatabaseUri(databaseUri) {
|
||||
checkUnlockAvailability()
|
||||
}
|
||||
} ?: checkUnlockAvailability()
|
||||
}
|
||||
|
||||
@RequiresApi(Build.VERSION_CODES.M)
|
||||
override fun onAuthenticationError(errorCode: Int, errString: CharSequence) {
|
||||
lifecycleScope.launch(Dispatchers.Main) {
|
||||
Log.e(TAG, "Biometric authentication error. Code : $errorCode Error : $errString")
|
||||
setAdvancedUnlockedMessageView(errString.toString())
|
||||
}
|
||||
}
|
||||
|
||||
@RequiresApi(Build.VERSION_CODES.M)
|
||||
override fun onAuthenticationFailed() {
|
||||
lifecycleScope.launch(Dispatchers.Main) {
|
||||
Log.e(TAG, "Biometric authentication failed, biometric not recognized")
|
||||
setAdvancedUnlockedMessageView(R.string.advanced_unlock_not_recognized)
|
||||
}
|
||||
}
|
||||
|
||||
@RequiresApi(Build.VERSION_CODES.M)
|
||||
override fun onAuthenticationSucceeded() {
|
||||
lifecycleScope.launch(Dispatchers.Main) {
|
||||
when (biometricMode) {
|
||||
Mode.BIOMETRIC_UNAVAILABLE -> {
|
||||
}
|
||||
Mode.BIOMETRIC_SECURITY_UPDATE_REQUIRED -> {
|
||||
}
|
||||
Mode.DEVICE_CREDENTIAL_OR_BIOMETRIC_NOT_CONFIGURED -> {
|
||||
}
|
||||
Mode.KEY_MANAGER_UNAVAILABLE -> {
|
||||
}
|
||||
Mode.WAIT_CREDENTIAL -> {
|
||||
}
|
||||
Mode.STORE_CREDENTIAL -> {
|
||||
// newly store the entered password in encrypted way
|
||||
mBuilderListener?.retrieveCredentialForEncryption()?.let { credential ->
|
||||
advancedUnlockManager?.encryptData(credential)
|
||||
}
|
||||
}
|
||||
Mode.EXTRACT_CREDENTIAL -> {
|
||||
// retrieve the encrypted value from preferences
|
||||
databaseFileUri?.let { databaseUri ->
|
||||
cipherDatabaseAction.getCipherDatabase(databaseUri) { cipherDatabase ->
|
||||
cipherDatabase?.encryptedValue?.let { value ->
|
||||
advancedUnlockManager?.decryptData(value)
|
||||
} ?: deleteEncryptedDatabaseKey()
|
||||
}
|
||||
} ?: run {
|
||||
onAuthenticationError(-1, getString(R.string.error_database_uri_null))
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
override fun handleEncryptedResult(encryptedValue: ByteArray, ivSpec: ByteArray) {
|
||||
databaseFileUri?.let { databaseUri ->
|
||||
mBuilderListener?.onCredentialEncrypted(
|
||||
CipherEncryptDatabase().apply {
|
||||
this.databaseUri = databaseUri
|
||||
this.credentialStorage = credentialDatabaseStorage
|
||||
this.encryptedValue = encryptedValue
|
||||
this.specParameters = ivSpec
|
||||
}
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
override fun handleDecryptedResult(decryptedValue: ByteArray) {
|
||||
// Load database directly with password retrieve
|
||||
databaseFileUri?.let { databaseUri ->
|
||||
mBuilderListener?.onCredentialDecrypted(
|
||||
CipherDecryptDatabase().apply {
|
||||
this.databaseUri = databaseUri
|
||||
this.credentialStorage = credentialDatabaseStorage
|
||||
this.decryptedValue = decryptedValue
|
||||
}
|
||||
)
|
||||
cipherDatabaseAction.resetCipherParameters(databaseUri)
|
||||
}
|
||||
}
|
||||
|
||||
@RequiresApi(Build.VERSION_CODES.M)
|
||||
override fun onUnrecoverableKeyException(e: Exception) {
|
||||
setAdvancedUnlockedMessageView(R.string.advanced_unlock_invalid_key)
|
||||
}
|
||||
|
||||
@RequiresApi(Build.VERSION_CODES.M)
|
||||
override fun onInvalidKeyException(e: Exception) {
|
||||
setAdvancedUnlockedMessageView(R.string.advanced_unlock_invalid_key)
|
||||
}
|
||||
|
||||
@RequiresApi(Build.VERSION_CODES.M)
|
||||
override fun onGenericException(e: Exception) {
|
||||
val errorMessage = e.cause?.localizedMessage ?: e.localizedMessage ?: ""
|
||||
setAdvancedUnlockedMessageView(errorMessage)
|
||||
}
|
||||
|
||||
private fun showViews(show: Boolean) {
|
||||
lifecycleScope.launch(Dispatchers.Main) {
|
||||
if (show) {
|
||||
if (mAdvancedUnlockInfoView?.visibility != View.VISIBLE)
|
||||
mAdvancedUnlockInfoView?.showByFading()
|
||||
}
|
||||
else {
|
||||
if (mAdvancedUnlockInfoView?.visibility == View.VISIBLE)
|
||||
mAdvancedUnlockInfoView?.hideByFading()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@RequiresApi(Build.VERSION_CODES.M)
|
||||
private fun setAdvancedUnlockedTitleView(textId: Int) {
|
||||
lifecycleScope.launch(Dispatchers.Main) {
|
||||
mAdvancedUnlockInfoView?.setTitle(textId)
|
||||
}
|
||||
}
|
||||
|
||||
@RequiresApi(Build.VERSION_CODES.M)
|
||||
private fun setAdvancedUnlockedMessageView(textId: Int) {
|
||||
lifecycleScope.launch(Dispatchers.Main) {
|
||||
mAdvancedUnlockInfoView?.setMessage(textId)
|
||||
}
|
||||
}
|
||||
|
||||
@RequiresApi(Build.VERSION_CODES.M)
|
||||
private fun setAdvancedUnlockedMessageView(text: CharSequence) {
|
||||
lifecycleScope.launch(Dispatchers.Main) {
|
||||
mAdvancedUnlockInfoView?.setMessage(text)
|
||||
}
|
||||
}
|
||||
|
||||
enum class Mode {
|
||||
BIOMETRIC_UNAVAILABLE,
|
||||
BIOMETRIC_SECURITY_UPDATE_REQUIRED,
|
||||
DEVICE_CREDENTIAL_OR_BIOMETRIC_NOT_CONFIGURED,
|
||||
KEY_MANAGER_UNAVAILABLE,
|
||||
WAIT_CREDENTIAL,
|
||||
STORE_CREDENTIAL,
|
||||
EXTRACT_CREDENTIAL
|
||||
}
|
||||
|
||||
interface BuilderListener {
|
||||
fun retrieveCredentialForEncryption(): ByteArray
|
||||
fun conditionToStoreCredential(): Boolean
|
||||
fun onCredentialEncrypted(cipherEncryptDatabase: CipherEncryptDatabase)
|
||||
fun onCredentialDecrypted(cipherDecryptDatabase: CipherDecryptDatabase)
|
||||
}
|
||||
|
||||
override fun onPause() {
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
|
||||
if (!keepConnection) {
|
||||
// If close prompt, bug "user not authenticated in Android R"
|
||||
disconnect(false)
|
||||
advancedUnlockManager = null
|
||||
}
|
||||
}
|
||||
|
||||
super.onPause()
|
||||
}
|
||||
|
||||
override fun onDestroyView() {
|
||||
mAdvancedUnlockInfoView = null
|
||||
|
||||
super.onDestroyView()
|
||||
}
|
||||
|
||||
override fun onDestroy() {
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
|
||||
disconnect()
|
||||
advancedUnlockManager = null
|
||||
mBuilderListener = null
|
||||
}
|
||||
|
||||
super.onDestroy()
|
||||
}
|
||||
|
||||
override fun onDetach() {
|
||||
mBuilderListener = null
|
||||
|
||||
super.onDetach()
|
||||
}
|
||||
|
||||
companion object {
|
||||
|
||||
private val TAG = AdvancedUnlockFragment::class.java.name
|
||||
}
|
||||
}
|
||||
@@ -1,506 +0,0 @@
|
||||
/*
|
||||
* Copyright 2020 Jeremy Jamet / Kunzisoft.
|
||||
*
|
||||
* This file is part of KeePassDX.
|
||||
*
|
||||
* KeePassDX is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* KeePassDX is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with KeePassDX. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
*/
|
||||
package com.kunzisoft.keepass.biometric
|
||||
|
||||
import android.app.KeyguardManager
|
||||
import android.content.Context
|
||||
import android.content.Intent
|
||||
import android.content.pm.PackageManager
|
||||
import android.os.Build
|
||||
import android.security.keystore.KeyGenParameterSpec
|
||||
import android.security.keystore.KeyPermanentlyInvalidatedException
|
||||
import android.security.keystore.KeyProperties
|
||||
import android.util.Log
|
||||
import android.widget.Toast
|
||||
import androidx.activity.result.ActivityResultLauncher
|
||||
import androidx.annotation.RequiresApi
|
||||
import androidx.biometric.BiometricManager
|
||||
import androidx.biometric.BiometricManager.Authenticators.*
|
||||
import androidx.biometric.BiometricPrompt
|
||||
import androidx.core.content.ContextCompat
|
||||
import androidx.fragment.app.FragmentActivity
|
||||
import com.kunzisoft.keepass.R
|
||||
import com.kunzisoft.keepass.app.database.CipherDatabaseAction
|
||||
import com.kunzisoft.keepass.settings.PreferencesUtil
|
||||
import java.security.KeyStore
|
||||
import java.security.UnrecoverableKeyException
|
||||
import java.util.concurrent.Executors
|
||||
import javax.crypto.BadPaddingException
|
||||
import javax.crypto.Cipher
|
||||
import javax.crypto.KeyGenerator
|
||||
import javax.crypto.SecretKey
|
||||
import javax.crypto.spec.IvParameterSpec
|
||||
|
||||
@RequiresApi(api = Build.VERSION_CODES.M)
|
||||
class AdvancedUnlockManager(private var retrieveContext: () -> FragmentActivity) {
|
||||
|
||||
private var keyStore: KeyStore? = null
|
||||
private var keyGenerator: KeyGenerator? = null
|
||||
private var cipher: Cipher? = null
|
||||
|
||||
private var biometricPrompt: BiometricPrompt? = null
|
||||
private var authenticationCallback = object: BiometricPrompt.AuthenticationCallback() {
|
||||
override fun onAuthenticationSucceeded(result: BiometricPrompt.AuthenticationResult) {
|
||||
advancedUnlockCallback?.onAuthenticationSucceeded()
|
||||
}
|
||||
|
||||
override fun onAuthenticationFailed() {
|
||||
advancedUnlockCallback?.onAuthenticationFailed()
|
||||
}
|
||||
|
||||
override fun onAuthenticationError(errorCode: Int, errString: CharSequence) {
|
||||
advancedUnlockCallback?.onAuthenticationError(errorCode, errString)
|
||||
}
|
||||
}
|
||||
|
||||
var advancedUnlockCallback: AdvancedUnlockCallback? = null
|
||||
|
||||
private var isKeyManagerInit = false
|
||||
|
||||
private val biometricUnlockEnable = PreferencesUtil.isBiometricUnlockEnable(retrieveContext())
|
||||
private val deviceCredentialUnlockEnable = PreferencesUtil.isDeviceCredentialUnlockEnable(retrieveContext())
|
||||
|
||||
val isKeyManagerInitialized: Boolean
|
||||
get() {
|
||||
if (!isKeyManagerInit) {
|
||||
advancedUnlockCallback?.onGenericException(Exception("Biometric not initialized"))
|
||||
}
|
||||
return isKeyManagerInit
|
||||
}
|
||||
|
||||
private fun isBiometricOperation(): Boolean {
|
||||
return biometricUnlockEnable || isDeviceCredentialBiometricOperation()
|
||||
}
|
||||
|
||||
// Since Android 30, device credential is also a biometric operation
|
||||
private fun isDeviceCredentialOperation(): Boolean {
|
||||
return Build.VERSION.SDK_INT < Build.VERSION_CODES.R
|
||||
&& deviceCredentialUnlockEnable
|
||||
}
|
||||
|
||||
private fun isDeviceCredentialBiometricOperation(): Boolean {
|
||||
return Build.VERSION.SDK_INT >= Build.VERSION_CODES.R
|
||||
&& deviceCredentialUnlockEnable
|
||||
}
|
||||
|
||||
init {
|
||||
if (isDeviceSecure(retrieveContext())
|
||||
&& (biometricUnlockEnable || deviceCredentialUnlockEnable)) {
|
||||
try {
|
||||
this.keyStore = KeyStore.getInstance(ADVANCED_UNLOCK_KEYSTORE)
|
||||
this.keyGenerator = KeyGenerator.getInstance(ADVANCED_UNLOCK_KEY_ALGORITHM, ADVANCED_UNLOCK_KEYSTORE)
|
||||
this.cipher = Cipher.getInstance(
|
||||
ADVANCED_UNLOCK_KEY_ALGORITHM + "/"
|
||||
+ ADVANCED_UNLOCK_BLOCKS_MODES + "/"
|
||||
+ ADVANCED_UNLOCK_ENCRYPTION_PADDING)
|
||||
isKeyManagerInit = (keyStore != null
|
||||
&& keyGenerator != null
|
||||
&& cipher != null)
|
||||
} catch (e: Exception) {
|
||||
Log.e(TAG, "Unable to initialize the keystore", e)
|
||||
isKeyManagerInit = false
|
||||
advancedUnlockCallback?.onGenericException(e)
|
||||
}
|
||||
} else {
|
||||
// really not much to do when no fingerprint support found
|
||||
isKeyManagerInit = false
|
||||
}
|
||||
}
|
||||
|
||||
@Synchronized private fun getSecretKey(): SecretKey? {
|
||||
if (!isKeyManagerInitialized) {
|
||||
return null
|
||||
}
|
||||
try {
|
||||
// Create new key if needed
|
||||
keyStore?.let { keyStore ->
|
||||
keyStore.load(null)
|
||||
|
||||
try {
|
||||
if (!keyStore.containsAlias(ADVANCED_UNLOCK_KEYSTORE_KEY)) {
|
||||
// Set the alias of the entry in Android KeyStore where the key will appear
|
||||
// and the constrains (purposes) in the constructor of the Builder
|
||||
keyGenerator?.init(
|
||||
KeyGenParameterSpec.Builder(
|
||||
ADVANCED_UNLOCK_KEYSTORE_KEY,
|
||||
KeyProperties.PURPOSE_ENCRYPT or KeyProperties.PURPOSE_DECRYPT)
|
||||
.setBlockModes(ADVANCED_UNLOCK_BLOCKS_MODES)
|
||||
.setEncryptionPaddings(ADVANCED_UNLOCK_ENCRYPTION_PADDING)
|
||||
.apply {
|
||||
// Require the user to authenticate with a fingerprint to authorize every use
|
||||
// of the key, don't use it for device credential because it's the user authentication
|
||||
if (biometricUnlockEnable) {
|
||||
setUserAuthenticationRequired(true)
|
||||
}
|
||||
// To store in the security chip
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P
|
||||
&& retrieveContext().packageManager.hasSystemFeature(
|
||||
PackageManager.FEATURE_STRONGBOX_KEYSTORE)) {
|
||||
setIsStrongBoxBacked(true)
|
||||
}
|
||||
}
|
||||
.build())
|
||||
keyGenerator?.generateKey()
|
||||
}
|
||||
} catch (e: Exception) {
|
||||
Log.e(TAG, "Unable to create a key in keystore", e)
|
||||
advancedUnlockCallback?.onGenericException(e)
|
||||
}
|
||||
|
||||
return keyStore.getKey(ADVANCED_UNLOCK_KEYSTORE_KEY, null) as SecretKey?
|
||||
}
|
||||
} catch (e: Exception) {
|
||||
Log.e(TAG, "Unable to retrieve the key in keystore", e)
|
||||
advancedUnlockCallback?.onGenericException(e)
|
||||
}
|
||||
return null
|
||||
}
|
||||
|
||||
@Synchronized fun initEncryptData(actionIfCypherInit: (cryptoPrompt: AdvancedUnlockCryptoPrompt) -> Unit,) {
|
||||
initEncryptData(actionIfCypherInit, true)
|
||||
}
|
||||
|
||||
@Synchronized private fun initEncryptData(actionIfCypherInit: (cryptoPrompt: AdvancedUnlockCryptoPrompt) -> Unit,
|
||||
firstLaunch: Boolean) {
|
||||
if (!isKeyManagerInitialized) {
|
||||
return
|
||||
}
|
||||
try {
|
||||
getSecretKey()?.let { secretKey ->
|
||||
cipher?.let { cipher ->
|
||||
cipher.init(Cipher.ENCRYPT_MODE, secretKey)
|
||||
|
||||
actionIfCypherInit.invoke(
|
||||
AdvancedUnlockCryptoPrompt(
|
||||
cipher,
|
||||
R.string.advanced_unlock_prompt_store_credential_title,
|
||||
R.string.advanced_unlock_prompt_store_credential_message,
|
||||
isDeviceCredentialOperation(), isBiometricOperation())
|
||||
)
|
||||
}
|
||||
}
|
||||
} catch (unrecoverableKeyException: UnrecoverableKeyException) {
|
||||
Log.e(TAG, "Unable to initialize encrypt data", unrecoverableKeyException)
|
||||
advancedUnlockCallback?.onUnrecoverableKeyException(unrecoverableKeyException)
|
||||
} catch (invalidKeyException: KeyPermanentlyInvalidatedException) {
|
||||
Log.e(TAG, "Unable to initialize encrypt data", invalidKeyException)
|
||||
if (firstLaunch) {
|
||||
deleteAllEntryKeysInKeystoreForBiometric(retrieveContext())
|
||||
initEncryptData(actionIfCypherInit, false)
|
||||
} else {
|
||||
advancedUnlockCallback?.onInvalidKeyException(invalidKeyException)
|
||||
}
|
||||
} catch (e: Exception) {
|
||||
Log.e(TAG, "Unable to initialize encrypt data", e)
|
||||
advancedUnlockCallback?.onGenericException(e)
|
||||
}
|
||||
}
|
||||
|
||||
@Synchronized fun encryptData(value: ByteArray) {
|
||||
if (!isKeyManagerInitialized) {
|
||||
return
|
||||
}
|
||||
try {
|
||||
val encrypted = cipher?.doFinal(value) ?: byteArrayOf()
|
||||
// passes updated iv spec on to callback so this can be stored for decryption
|
||||
cipher?.parameters?.getParameterSpec(IvParameterSpec::class.java)?.let{ spec ->
|
||||
advancedUnlockCallback?.handleEncryptedResult(encrypted, spec.iv)
|
||||
}
|
||||
} catch (e: Exception) {
|
||||
Log.e(TAG, "Unable to encrypt data", e)
|
||||
advancedUnlockCallback?.onGenericException(e)
|
||||
}
|
||||
}
|
||||
|
||||
@Synchronized fun initDecryptData(ivSpecValue: ByteArray,
|
||||
actionIfCypherInit: (cryptoPrompt: AdvancedUnlockCryptoPrompt) -> Unit) {
|
||||
initDecryptData(ivSpecValue, actionIfCypherInit, true)
|
||||
}
|
||||
|
||||
@Synchronized private fun initDecryptData(ivSpecValue: ByteArray,
|
||||
actionIfCypherInit: (cryptoPrompt: AdvancedUnlockCryptoPrompt) -> Unit,
|
||||
firstLaunch: Boolean = true) {
|
||||
if (!isKeyManagerInitialized) {
|
||||
return
|
||||
}
|
||||
try {
|
||||
// important to restore spec here that was used for decryption
|
||||
val spec = IvParameterSpec(ivSpecValue)
|
||||
getSecretKey()?.let { secretKey ->
|
||||
cipher?.let { cipher ->
|
||||
cipher.init(Cipher.DECRYPT_MODE, secretKey, spec)
|
||||
|
||||
actionIfCypherInit.invoke(
|
||||
AdvancedUnlockCryptoPrompt(
|
||||
cipher,
|
||||
R.string.advanced_unlock_prompt_extract_credential_title,
|
||||
null,
|
||||
isDeviceCredentialOperation(), isBiometricOperation())
|
||||
)
|
||||
}
|
||||
}
|
||||
} catch (unrecoverableKeyException: UnrecoverableKeyException) {
|
||||
Log.e(TAG, "Unable to initialize decrypt data", unrecoverableKeyException)
|
||||
if (firstLaunch) {
|
||||
deleteKeystoreKey()
|
||||
initDecryptData(ivSpecValue, actionIfCypherInit, firstLaunch)
|
||||
} else {
|
||||
advancedUnlockCallback?.onUnrecoverableKeyException(unrecoverableKeyException)
|
||||
}
|
||||
} catch (invalidKeyException: KeyPermanentlyInvalidatedException) {
|
||||
Log.e(TAG, "Unable to initialize decrypt data", invalidKeyException)
|
||||
if (firstLaunch) {
|
||||
deleteAllEntryKeysInKeystoreForBiometric(retrieveContext())
|
||||
initDecryptData(ivSpecValue, actionIfCypherInit, firstLaunch)
|
||||
} else {
|
||||
advancedUnlockCallback?.onInvalidKeyException(invalidKeyException)
|
||||
}
|
||||
} catch (e: Exception) {
|
||||
Log.e(TAG, "Unable to initialize decrypt data", e)
|
||||
advancedUnlockCallback?.onGenericException(e)
|
||||
}
|
||||
}
|
||||
|
||||
@Synchronized fun decryptData(encryptedValue: ByteArray) {
|
||||
if (!isKeyManagerInitialized) {
|
||||
return
|
||||
}
|
||||
try {
|
||||
// actual decryption here
|
||||
cipher?.doFinal(encryptedValue)?.let { decrypted ->
|
||||
advancedUnlockCallback?.handleDecryptedResult(decrypted)
|
||||
}
|
||||
} catch (badPaddingException: BadPaddingException) {
|
||||
Log.e(TAG, "Unable to decrypt data", badPaddingException)
|
||||
advancedUnlockCallback?.onInvalidKeyException(badPaddingException)
|
||||
} catch (e: Exception) {
|
||||
Log.e(TAG, "Unable to decrypt data", e)
|
||||
advancedUnlockCallback?.onGenericException(e)
|
||||
}
|
||||
}
|
||||
|
||||
@Synchronized fun deleteKeystoreKey() {
|
||||
try {
|
||||
keyStore?.load(null)
|
||||
keyStore?.deleteEntry(ADVANCED_UNLOCK_KEYSTORE_KEY)
|
||||
} catch (e: Exception) {
|
||||
Log.e(TAG, "Unable to delete entry key in keystore", e)
|
||||
advancedUnlockCallback?.onGenericException(e)
|
||||
}
|
||||
}
|
||||
|
||||
@Synchronized fun openAdvancedUnlockPrompt(cryptoPrompt: AdvancedUnlockCryptoPrompt,
|
||||
deviceCredentialResultLauncher: ActivityResultLauncher<Intent>
|
||||
) {
|
||||
// Init advanced unlock prompt
|
||||
if (biometricPrompt == null) {
|
||||
biometricPrompt = BiometricPrompt(retrieveContext(),
|
||||
Executors.newSingleThreadExecutor(),
|
||||
authenticationCallback)
|
||||
}
|
||||
|
||||
val promptTitle = retrieveContext().getString(cryptoPrompt.promptTitleId)
|
||||
val promptDescription = cryptoPrompt.promptDescriptionId?.let { descriptionId ->
|
||||
retrieveContext().getString(descriptionId)
|
||||
} ?: ""
|
||||
|
||||
if (cryptoPrompt.isBiometricOperation) {
|
||||
val promptInfoExtractCredential = BiometricPrompt.PromptInfo.Builder().apply {
|
||||
setTitle(promptTitle)
|
||||
if (promptDescription.isNotEmpty())
|
||||
setDescription(promptDescription)
|
||||
setConfirmationRequired(false)
|
||||
if (isDeviceCredentialBiometricOperation()) {
|
||||
setAllowedAuthenticators(DEVICE_CREDENTIAL)
|
||||
} else {
|
||||
setNegativeButtonText(retrieveContext().getString(android.R.string.cancel))
|
||||
}
|
||||
}.build()
|
||||
biometricPrompt?.authenticate(
|
||||
promptInfoExtractCredential,
|
||||
BiometricPrompt.CryptoObject(cryptoPrompt.cipher))
|
||||
}
|
||||
else if (cryptoPrompt.isDeviceCredentialOperation) {
|
||||
val keyGuardManager = ContextCompat.getSystemService(retrieveContext(), KeyguardManager::class.java)
|
||||
@Suppress("DEPRECATION")
|
||||
deviceCredentialResultLauncher.launch(
|
||||
keyGuardManager?.createConfirmDeviceCredentialIntent(promptTitle, promptDescription)
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
@Synchronized fun closeBiometricPrompt() {
|
||||
biometricPrompt?.cancelAuthentication()
|
||||
}
|
||||
|
||||
interface AdvancedUnlockErrorCallback {
|
||||
fun onUnrecoverableKeyException(e: Exception)
|
||||
fun onInvalidKeyException(e: Exception)
|
||||
fun onGenericException(e: Exception)
|
||||
}
|
||||
|
||||
interface AdvancedUnlockCallback : AdvancedUnlockErrorCallback {
|
||||
fun onAuthenticationSucceeded()
|
||||
fun onAuthenticationFailed()
|
||||
fun onAuthenticationError(errorCode: Int, errString: CharSequence)
|
||||
fun handleEncryptedResult(encryptedValue: ByteArray, ivSpec: ByteArray)
|
||||
fun handleDecryptedResult(decryptedValue: ByteArray)
|
||||
}
|
||||
|
||||
companion object {
|
||||
|
||||
private val TAG = AdvancedUnlockManager::class.java.name
|
||||
|
||||
private const val ADVANCED_UNLOCK_KEYSTORE = "AndroidKeyStore"
|
||||
private const val ADVANCED_UNLOCK_KEYSTORE_KEY = "com.kunzisoft.keepass.biometric.key"
|
||||
private const val ADVANCED_UNLOCK_KEY_ALGORITHM = KeyProperties.KEY_ALGORITHM_AES
|
||||
private const val ADVANCED_UNLOCK_BLOCKS_MODES = KeyProperties.BLOCK_MODE_CBC
|
||||
private const val ADVANCED_UNLOCK_ENCRYPTION_PADDING = KeyProperties.ENCRYPTION_PADDING_PKCS7
|
||||
|
||||
@RequiresApi(api = Build.VERSION_CODES.M)
|
||||
fun canAuthenticate(context: Context): Int {
|
||||
return try {
|
||||
BiometricManager.from(context).canAuthenticate(
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R
|
||||
&& PreferencesUtil.isDeviceCredentialUnlockEnable(context)) {
|
||||
BIOMETRIC_STRONG or DEVICE_CREDENTIAL
|
||||
} else {
|
||||
BIOMETRIC_STRONG
|
||||
}
|
||||
)
|
||||
} catch (e: Exception) {
|
||||
Log.e(TAG, "Unable to authenticate with strong biometric.", e)
|
||||
try {
|
||||
BiometricManager.from(context).canAuthenticate(
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R
|
||||
&& PreferencesUtil.isDeviceCredentialUnlockEnable(context)) {
|
||||
BIOMETRIC_WEAK or DEVICE_CREDENTIAL
|
||||
} else {
|
||||
BIOMETRIC_WEAK
|
||||
}
|
||||
)
|
||||
} catch (e: Exception) {
|
||||
Log.e(TAG, "Unable to authenticate with weak biometric.", e)
|
||||
BiometricManager.BIOMETRIC_ERROR_NO_HARDWARE
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
fun isDeviceSecure(context: Context): Boolean {
|
||||
return ContextCompat.getSystemService(context, KeyguardManager::class.java)
|
||||
?.isDeviceSecure ?: false
|
||||
}
|
||||
|
||||
fun biometricUnlockSupported(context: Context): Boolean {
|
||||
val biometricCanAuthenticate = try {
|
||||
BiometricManager.from(context).canAuthenticate(BIOMETRIC_STRONG)
|
||||
} catch (e: Exception) {
|
||||
Log.e(TAG, "Unable to authenticate with strong biometric.", e)
|
||||
try {
|
||||
BiometricManager.from(context).canAuthenticate(BIOMETRIC_WEAK)
|
||||
} catch (e: Exception) {
|
||||
Log.e(TAG, "Unable to authenticate with weak biometric.", e)
|
||||
BiometricManager.BIOMETRIC_ERROR_NO_HARDWARE
|
||||
}
|
||||
}
|
||||
return (biometricCanAuthenticate == BiometricManager.BIOMETRIC_SUCCESS
|
||||
|| biometricCanAuthenticate == BiometricManager.BIOMETRIC_STATUS_UNKNOWN
|
||||
|| biometricCanAuthenticate == BiometricManager.BIOMETRIC_ERROR_HW_UNAVAILABLE
|
||||
|| biometricCanAuthenticate == BiometricManager.BIOMETRIC_ERROR_NONE_ENROLLED
|
||||
|| biometricCanAuthenticate == BiometricManager.BIOMETRIC_ERROR_SECURITY_UPDATE_REQUIRED
|
||||
)
|
||||
}
|
||||
|
||||
fun deviceCredentialUnlockSupported(context: Context): Boolean {
|
||||
return if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) {
|
||||
val biometricCanAuthenticate = BiometricManager.from(context).canAuthenticate(DEVICE_CREDENTIAL)
|
||||
(biometricCanAuthenticate == BiometricManager.BIOMETRIC_SUCCESS
|
||||
|| biometricCanAuthenticate == BiometricManager.BIOMETRIC_STATUS_UNKNOWN
|
||||
|| biometricCanAuthenticate == BiometricManager.BIOMETRIC_ERROR_HW_UNAVAILABLE
|
||||
|| biometricCanAuthenticate == BiometricManager.BIOMETRIC_ERROR_NONE_ENROLLED
|
||||
|| biometricCanAuthenticate == BiometricManager.BIOMETRIC_ERROR_SECURITY_UPDATE_REQUIRED
|
||||
)
|
||||
} else {
|
||||
true
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Remove entry key in keystore
|
||||
*/
|
||||
fun deleteEntryKeyInKeystoreForBiometric(fragmentActivity: FragmentActivity,
|
||||
advancedCallback: AdvancedUnlockErrorCallback) {
|
||||
AdvancedUnlockManager{ fragmentActivity }.apply {
|
||||
advancedUnlockCallback = object : AdvancedUnlockCallback {
|
||||
override fun onAuthenticationSucceeded() {}
|
||||
|
||||
override fun onAuthenticationFailed() {}
|
||||
|
||||
override fun onAuthenticationError(errorCode: Int, errString: CharSequence) {}
|
||||
|
||||
override fun handleEncryptedResult(encryptedValue: ByteArray, ivSpec: ByteArray) {}
|
||||
|
||||
override fun handleDecryptedResult(decryptedValue: ByteArray) {}
|
||||
|
||||
override fun onUnrecoverableKeyException(e: Exception) {
|
||||
advancedCallback.onUnrecoverableKeyException(e)
|
||||
}
|
||||
|
||||
override fun onInvalidKeyException(e: Exception) {
|
||||
advancedCallback.onInvalidKeyException(e)
|
||||
}
|
||||
|
||||
override fun onGenericException(e: Exception) {
|
||||
advancedCallback.onGenericException(e)
|
||||
}
|
||||
}
|
||||
deleteKeystoreKey()
|
||||
}
|
||||
}
|
||||
|
||||
fun deleteAllEntryKeysInKeystoreForBiometric(activity: FragmentActivity) {
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
|
||||
deleteEntryKeyInKeystoreForBiometric(
|
||||
activity,
|
||||
object : AdvancedUnlockErrorCallback {
|
||||
fun showException(e: Exception) {
|
||||
Toast.makeText(activity,
|
||||
activity.getString(R.string.advanced_unlock_scanning_error, e.localizedMessage),
|
||||
Toast.LENGTH_SHORT).show()
|
||||
}
|
||||
|
||||
override fun onUnrecoverableKeyException(e: Exception) {
|
||||
showException(e)
|
||||
}
|
||||
|
||||
override fun onInvalidKeyException(e: Exception) {
|
||||
showException(e)
|
||||
}
|
||||
|
||||
override fun onGenericException(e: Exception) {
|
||||
showException(e)
|
||||
}
|
||||
})
|
||||
}
|
||||
CipherDatabaseAction.getInstance(activity.applicationContext).deleteAll()
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
package com.kunzisoft.keepass.biometric
|
||||
|
||||
import androidx.annotation.StringRes
|
||||
import javax.crypto.Cipher
|
||||
|
||||
data class DeviceUnlockCryptoPrompt(
|
||||
var type: DeviceUnlockCryptoPromptType,
|
||||
var cipher: Cipher,
|
||||
@StringRes var titleId: Int,
|
||||
@StringRes var descriptionId: Int? = null,
|
||||
var isDeviceCredentialOperation: Boolean,
|
||||
var isBiometricOperation: Boolean
|
||||
)
|
||||
|
||||
enum class DeviceUnlockCryptoPromptType {
|
||||
CREDENTIAL_ENCRYPTION, CREDENTIAL_DECRYPTION
|
||||
}
|
||||
@@ -0,0 +1,373 @@
|
||||
/*
|
||||
* Copyright 2020 Jeremy Jamet / Kunzisoft.
|
||||
*
|
||||
* This file is part of KeePassDX.
|
||||
*
|
||||
* KeePassDX is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* KeePassDX is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with KeePassDX. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
*/
|
||||
package com.kunzisoft.keepass.biometric
|
||||
|
||||
import android.app.Activity
|
||||
import android.app.KeyguardManager
|
||||
import android.content.Intent
|
||||
import android.os.Build
|
||||
import android.os.Bundle
|
||||
import android.provider.Settings
|
||||
import android.util.Log
|
||||
import android.view.LayoutInflater
|
||||
import android.view.Menu
|
||||
import android.view.MenuInflater
|
||||
import android.view.MenuItem
|
||||
import android.view.View
|
||||
import android.view.ViewGroup
|
||||
import androidx.activity.result.ActivityResultLauncher
|
||||
import androidx.activity.result.contract.ActivityResultContracts
|
||||
import androidx.annotation.RequiresApi
|
||||
import androidx.biometric.BiometricManager.Authenticators.DEVICE_CREDENTIAL
|
||||
import androidx.biometric.BiometricPrompt
|
||||
import androidx.core.content.ContextCompat
|
||||
import androidx.core.view.MenuProvider
|
||||
import androidx.fragment.app.Fragment
|
||||
import androidx.fragment.app.activityViewModels
|
||||
import androidx.lifecycle.Lifecycle
|
||||
import androidx.lifecycle.lifecycleScope
|
||||
import androidx.lifecycle.repeatOnLifecycle
|
||||
import com.kunzisoft.keepass.R
|
||||
import com.kunzisoft.keepass.view.DeviceUnlockView
|
||||
import com.kunzisoft.keepass.view.hideByFading
|
||||
import com.kunzisoft.keepass.view.showByFading
|
||||
import com.kunzisoft.keepass.viewmodels.DeviceUnlockPromptMode
|
||||
import com.kunzisoft.keepass.viewmodels.DeviceUnlockViewModel
|
||||
import kotlinx.coroutines.Dispatchers
|
||||
import kotlinx.coroutines.launch
|
||||
import java.util.concurrent.Executors
|
||||
|
||||
@RequiresApi(Build.VERSION_CODES.M)
|
||||
class DeviceUnlockFragment: Fragment() {
|
||||
|
||||
private var mDeviceUnlockView: DeviceUnlockView? = null
|
||||
|
||||
private val mDeviceUnlockViewModel: DeviceUnlockViewModel by activityViewModels()
|
||||
|
||||
private var mBiometricPrompt: BiometricPrompt? = null
|
||||
|
||||
// Only to fix multiple fingerprint menu #332
|
||||
private var mAllowAdvancedUnlockMenu = false
|
||||
|
||||
private var mDeviceCredentialResultLauncher: ActivityResultLauncher<Intent>? = registerForActivityResult(
|
||||
ActivityResultContracts.StartActivityForResult()
|
||||
) { result ->
|
||||
if (result.resultCode == Activity.RESULT_OK) {
|
||||
mDeviceUnlockViewModel.onAuthenticationSucceeded()
|
||||
} else {
|
||||
setAuthenticationFailed()
|
||||
}
|
||||
}
|
||||
|
||||
private var biometricAuthenticationCallback = object: BiometricPrompt.AuthenticationCallback() {
|
||||
override fun onAuthenticationSucceeded(result: BiometricPrompt.AuthenticationResult) {
|
||||
mDeviceUnlockViewModel.onAuthenticationSucceeded(result)
|
||||
}
|
||||
|
||||
override fun onAuthenticationFailed() {
|
||||
setAuthenticationFailed()
|
||||
}
|
||||
|
||||
override fun onAuthenticationError(errorCode: Int, errString: CharSequence) {
|
||||
setAuthenticationError(errorCode, errString)
|
||||
}
|
||||
}
|
||||
|
||||
private val menuProvider: MenuProvider = object: MenuProvider {
|
||||
override fun onCreateMenu(menu: Menu, menuInflater: MenuInflater) {
|
||||
// biometric menu
|
||||
if (mAllowAdvancedUnlockMenu)
|
||||
menuInflater.inflate(R.menu.advanced_unlock, menu)
|
||||
}
|
||||
|
||||
override fun onMenuItemSelected(menuItem: MenuItem): Boolean {
|
||||
when (menuItem.itemId) {
|
||||
R.id.menu_keystore_remove_key ->
|
||||
deleteEncryptedDatabaseKey()
|
||||
}
|
||||
return false
|
||||
}
|
||||
}
|
||||
|
||||
override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? {
|
||||
super.onCreateView(inflater, container, savedInstanceState)
|
||||
|
||||
val rootView = inflater.inflate(R.layout.fragment_advanced_unlock, container, false)
|
||||
|
||||
mDeviceUnlockView = rootView.findViewById(R.id.advanced_unlock_view)
|
||||
|
||||
return rootView
|
||||
}
|
||||
|
||||
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
||||
super.onViewCreated(view, savedInstanceState)
|
||||
|
||||
// Init device unlock prompt
|
||||
mBiometricPrompt = BiometricPrompt(
|
||||
this@DeviceUnlockFragment,
|
||||
Executors.newSingleThreadExecutor(),
|
||||
biometricAuthenticationCallback
|
||||
)
|
||||
|
||||
activity?.addMenuProvider(menuProvider, viewLifecycleOwner)
|
||||
|
||||
viewLifecycleOwner.lifecycleScope.launch {
|
||||
viewLifecycleOwner.repeatOnLifecycle(Lifecycle.State.STARTED) {
|
||||
mDeviceUnlockViewModel.uiState.collect { uiState ->
|
||||
// Change mode
|
||||
toggleDeviceCredentialMode(uiState.newDeviceUnlockMode)
|
||||
// Prompt
|
||||
manageDeviceCredentialPrompt(uiState.cryptoPromptState)
|
||||
// Advanced menu
|
||||
mAllowAdvancedUnlockMenu = uiState.allowAdvancedUnlockMenu
|
||||
activity?.invalidateOptionsMenu()
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
override fun onResume() {
|
||||
super.onResume()
|
||||
mDeviceUnlockViewModel.checkUnlockAvailability()
|
||||
}
|
||||
|
||||
fun cancelBiometricPrompt() {
|
||||
mBiometricPrompt?.cancelAuthentication()
|
||||
}
|
||||
|
||||
private fun toggleDeviceCredentialMode(deviceUnlockMode: DeviceUnlockMode) {
|
||||
try {
|
||||
when (deviceUnlockMode) {
|
||||
DeviceUnlockMode.BIOMETRIC_UNAVAILABLE -> setNotAvailableMode()
|
||||
DeviceUnlockMode.BIOMETRIC_SECURITY_UPDATE_REQUIRED -> setSecurityUpdateRequiredMode()
|
||||
DeviceUnlockMode.DEVICE_CREDENTIAL_OR_BIOMETRIC_NOT_CONFIGURED -> setNotConfiguredMode()
|
||||
DeviceUnlockMode.KEY_MANAGER_UNAVAILABLE -> setKeyManagerNotAvailableMode()
|
||||
DeviceUnlockMode.WAIT_CREDENTIAL -> setWaitCredentialMode()
|
||||
DeviceUnlockMode.STORE_CREDENTIAL -> setStoreCredentialMode()
|
||||
DeviceUnlockMode.EXTRACT_CREDENTIAL -> setExtractCredentialMode()
|
||||
}
|
||||
} catch (e: Exception) {
|
||||
mDeviceUnlockViewModel.setException(e)
|
||||
}
|
||||
}
|
||||
|
||||
private fun manageDeviceCredentialPrompt(
|
||||
state: DeviceUnlockPromptMode
|
||||
) {
|
||||
mDeviceUnlockViewModel.cryptoPrompt?.let { prompt ->
|
||||
when (state) {
|
||||
DeviceUnlockPromptMode.IDLE -> {}
|
||||
DeviceUnlockPromptMode.SHOW -> {
|
||||
openPrompt(prompt)
|
||||
mDeviceUnlockViewModel.promptShown()
|
||||
}
|
||||
DeviceUnlockPromptMode.CLOSE -> {
|
||||
cancelBiometricPrompt()
|
||||
mDeviceUnlockViewModel.biometricPromptClosed()
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private fun openPrompt(cryptoPrompt: DeviceUnlockCryptoPrompt) {
|
||||
try {
|
||||
val promptTitle = getString(cryptoPrompt.titleId)
|
||||
val promptDescription = cryptoPrompt.descriptionId?.let { descriptionId ->
|
||||
getString(descriptionId)
|
||||
} ?: ""
|
||||
|
||||
if (cryptoPrompt.isBiometricOperation) {
|
||||
mBiometricPrompt?.authenticate(
|
||||
BiometricPrompt.PromptInfo.Builder().apply {
|
||||
setTitle(promptTitle)
|
||||
if (promptDescription.isNotEmpty())
|
||||
setDescription(promptDescription)
|
||||
setConfirmationRequired(false)
|
||||
if (isDeviceCredentialBiometricOperation(context)) {
|
||||
setAllowedAuthenticators(DEVICE_CREDENTIAL)
|
||||
} else {
|
||||
setNegativeButtonText(getString(android.R.string.cancel))
|
||||
}
|
||||
}.build(),
|
||||
BiometricPrompt.CryptoObject(cryptoPrompt.cipher))
|
||||
} else if (cryptoPrompt.isDeviceCredentialOperation) {
|
||||
context?.let { context ->
|
||||
@Suppress("DEPRECATION")
|
||||
mDeviceCredentialResultLauncher?.launch(
|
||||
ContextCompat.getSystemService(
|
||||
context,
|
||||
KeyguardManager::class.java
|
||||
)?.createConfirmDeviceCredentialIntent(
|
||||
promptTitle,
|
||||
promptDescription
|
||||
)
|
||||
)
|
||||
}
|
||||
}
|
||||
} catch (e: Exception) {
|
||||
Log.e(TAG, "Unable to open prompt", e)
|
||||
mDeviceUnlockViewModel.setException(e)
|
||||
}
|
||||
}
|
||||
|
||||
private fun setNotAvailableMode() {
|
||||
lifecycleScope.launch(Dispatchers.Main) {
|
||||
showViews(false)
|
||||
mDeviceUnlockView?.setDeviceUnlockButtonViewClickListener(null)
|
||||
}
|
||||
}
|
||||
|
||||
private fun openBiometricSetting() {
|
||||
mDeviceUnlockView?.setDeviceUnlockButtonViewClickListener {
|
||||
try {
|
||||
when {
|
||||
Build.VERSION.SDK_INT >= Build.VERSION_CODES.R -> {
|
||||
context?.startActivity(Intent(Settings.ACTION_BIOMETRIC_ENROLL))
|
||||
}
|
||||
Build.VERSION.SDK_INT >= Build.VERSION_CODES.P -> {
|
||||
@Suppress("DEPRECATION") context
|
||||
?.startActivity(Intent(Settings.ACTION_FINGERPRINT_ENROLL))
|
||||
}
|
||||
else -> {
|
||||
context?.startActivity(Intent(Settings.ACTION_SECURITY_SETTINGS))
|
||||
}
|
||||
}
|
||||
} catch (e: Exception) {
|
||||
// ACTION_SECURITY_SETTINGS does not contain fingerprint enrollment on some devices...
|
||||
context?.startActivity(Intent(Settings.ACTION_SETTINGS))
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private fun setSecurityUpdateRequiredMode() {
|
||||
lifecycleScope.launch(Dispatchers.Main) {
|
||||
showViews(true)
|
||||
setAdvancedUnlockedTitleView(R.string.biometric_security_update_required)
|
||||
openBiometricSetting()
|
||||
}
|
||||
}
|
||||
|
||||
private fun setNotConfiguredMode() {
|
||||
lifecycleScope.launch(Dispatchers.Main) {
|
||||
showViews(true)
|
||||
setAdvancedUnlockedTitleView(R.string.configure_biometric)
|
||||
openBiometricSetting()
|
||||
}
|
||||
}
|
||||
|
||||
private fun setKeyManagerNotAvailableMode() {
|
||||
lifecycleScope.launch(Dispatchers.Main) {
|
||||
showViews(true)
|
||||
setAdvancedUnlockedTitleView(R.string.keystore_not_accessible)
|
||||
openBiometricSetting()
|
||||
}
|
||||
}
|
||||
|
||||
private fun setWaitCredentialMode() {
|
||||
lifecycleScope.launch(Dispatchers.Main) {
|
||||
showViews(true)
|
||||
setAdvancedUnlockedTitleView(R.string.unavailable)
|
||||
context?.let { context ->
|
||||
mDeviceUnlockView?.setDeviceUnlockButtonViewClickListener {
|
||||
mDeviceUnlockViewModel.setException(SecurityException(
|
||||
context.getString(R.string.credential_before_click_advanced_unlock_button)
|
||||
))
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private fun setStoreCredentialMode() {
|
||||
lifecycleScope.launch(Dispatchers.Main) {
|
||||
showViews(true)
|
||||
setAdvancedUnlockedTitleView(R.string.unlock_and_link_biometric)
|
||||
mDeviceUnlockView?.setDeviceUnlockButtonViewClickListener { _ ->
|
||||
mDeviceUnlockViewModel.showPrompt()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private fun setExtractCredentialMode() {
|
||||
lifecycleScope.launch(Dispatchers.Main) {
|
||||
showViews(true)
|
||||
setAdvancedUnlockedTitleView(R.string.unlock)
|
||||
mDeviceUnlockView?.setDeviceUnlockButtonViewClickListener { _ ->
|
||||
mDeviceUnlockViewModel.showPrompt()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
fun deleteEncryptedDatabaseKey() {
|
||||
mDeviceUnlockViewModel.deleteEncryptedDatabaseKey()
|
||||
}
|
||||
|
||||
private fun showViews(show: Boolean) {
|
||||
lifecycleScope.launch(Dispatchers.Main) {
|
||||
if (show) {
|
||||
if (mDeviceUnlockView?.visibility != View.VISIBLE)
|
||||
mDeviceUnlockView?.showByFading()
|
||||
}
|
||||
else {
|
||||
if (mDeviceUnlockView?.visibility == View.VISIBLE)
|
||||
mDeviceUnlockView?.hideByFading()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private fun setAdvancedUnlockedTitleView(textId: Int) {
|
||||
lifecycleScope.launch(Dispatchers.Main) {
|
||||
mDeviceUnlockView?.setTitle(textId)
|
||||
}
|
||||
}
|
||||
|
||||
private fun setAuthenticationError(errorCode: Int, errString: CharSequence) {
|
||||
Log.e(TAG, "Biometric authentication error. Code : $errorCode Error : $errString")
|
||||
when (errorCode) {
|
||||
BiometricPrompt.ERROR_CANCELED,
|
||||
BiometricPrompt.ERROR_NEGATIVE_BUTTON,
|
||||
BiometricPrompt.ERROR_USER_CANCELED -> {
|
||||
// Ignore negative button
|
||||
}
|
||||
else ->
|
||||
mDeviceUnlockViewModel.setException(SecurityException(errString.toString()))
|
||||
}
|
||||
}
|
||||
|
||||
private fun setAuthenticationFailed() {
|
||||
Log.e(TAG, "Biometric authentication failed, biometric not recognized")
|
||||
mDeviceUnlockViewModel.setException(
|
||||
SecurityException(getString(R.string.advanced_unlock_not_recognized))
|
||||
)
|
||||
}
|
||||
|
||||
override fun onDestroyView() {
|
||||
mDeviceUnlockView = null
|
||||
super.onDestroyView()
|
||||
}
|
||||
|
||||
override fun onDestroy() {
|
||||
mDeviceUnlockViewModel.disconnect()
|
||||
super.onDestroy()
|
||||
}
|
||||
|
||||
companion object {
|
||||
private val TAG = DeviceUnlockFragment::class.java.name
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,430 @@
|
||||
/*
|
||||
* Copyright 2020 Jeremy Jamet / Kunzisoft.
|
||||
*
|
||||
* This file is part of KeePassDX.
|
||||
*
|
||||
* KeePassDX is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* KeePassDX is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with KeePassDX. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
*/
|
||||
package com.kunzisoft.keepass.biometric
|
||||
|
||||
import android.app.KeyguardManager
|
||||
import android.content.Context
|
||||
import android.content.pm.PackageManager
|
||||
import android.os.Build
|
||||
import android.security.keystore.KeyGenParameterSpec
|
||||
import android.security.keystore.KeyPermanentlyInvalidatedException
|
||||
import android.security.keystore.KeyProperties
|
||||
import android.util.Log
|
||||
import android.widget.Toast
|
||||
import androidx.annotation.RequiresApi
|
||||
import androidx.biometric.BiometricManager
|
||||
import androidx.biometric.BiometricManager.Authenticators.BIOMETRIC_STRONG
|
||||
import androidx.biometric.BiometricManager.Authenticators.BIOMETRIC_WEAK
|
||||
import androidx.biometric.BiometricManager.Authenticators.DEVICE_CREDENTIAL
|
||||
import androidx.core.content.ContextCompat
|
||||
import com.kunzisoft.keepass.R
|
||||
import com.kunzisoft.keepass.app.database.CipherDatabaseAction
|
||||
import com.kunzisoft.keepass.settings.PreferencesUtil
|
||||
import java.security.KeyStore
|
||||
import java.security.UnrecoverableKeyException
|
||||
import javax.crypto.Cipher
|
||||
import javax.crypto.KeyGenerator
|
||||
import javax.crypto.SecretKey
|
||||
import javax.crypto.spec.IvParameterSpec
|
||||
|
||||
@RequiresApi(api = Build.VERSION_CODES.M)
|
||||
class DeviceUnlockManager(private var appContext: Context) {
|
||||
|
||||
private var keyStore: KeyStore? = null
|
||||
private var keyGenerator: KeyGenerator? = null
|
||||
private var cipher: Cipher? = null
|
||||
|
||||
private var biometricUnlockEnable = isBiometricUnlockEnable(appContext)
|
||||
private var deviceCredentialUnlockEnable = isDeviceCredentialUnlockEnable(appContext)
|
||||
|
||||
init {
|
||||
if (biometricUnlockEnable || deviceCredentialUnlockEnable) {
|
||||
if (isDeviceSecure(appContext)) {
|
||||
try {
|
||||
this.keyStore = KeyStore.getInstance(ADVANCED_UNLOCK_KEYSTORE)
|
||||
this.keyGenerator = KeyGenerator.getInstance(
|
||||
ADVANCED_UNLOCK_KEY_ALGORITHM,
|
||||
ADVANCED_UNLOCK_KEYSTORE
|
||||
)
|
||||
this.cipher = Cipher.getInstance(
|
||||
ADVANCED_UNLOCK_KEY_ALGORITHM + "/"
|
||||
+ ADVANCED_UNLOCK_BLOCKS_MODES + "/"
|
||||
+ ADVANCED_UNLOCK_ENCRYPTION_PADDING
|
||||
)
|
||||
if (keyStore == null) {
|
||||
throw SecurityException("Unable to initialize the keystore")
|
||||
}
|
||||
if (keyGenerator == null) {
|
||||
throw SecurityException("Unable to initialize the key generator")
|
||||
}
|
||||
if (cipher == null) {
|
||||
throw SecurityException("Unable to initialize the cipher")
|
||||
}
|
||||
} catch (e: Exception) {
|
||||
Log.e(TAG, "Unable to initialize the device unlock manager", e)
|
||||
throw e
|
||||
}
|
||||
} else {
|
||||
throw SecurityException("Device not secure enough")
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Synchronized private fun getSecretKey(): SecretKey? {
|
||||
try {
|
||||
// Create new key if needed
|
||||
keyStore?.let { keyStore ->
|
||||
keyStore.load(null)
|
||||
try {
|
||||
if (!keyStore.containsAlias(ADVANCED_UNLOCK_KEYSTORE_KEY)) {
|
||||
// Set the alias of the entry in Android KeyStore where the key will appear
|
||||
// and the constrains (purposes) in the constructor of the Builder
|
||||
keyGenerator?.init(
|
||||
KeyGenParameterSpec.Builder(
|
||||
ADVANCED_UNLOCK_KEYSTORE_KEY,
|
||||
KeyProperties.PURPOSE_ENCRYPT or KeyProperties.PURPOSE_DECRYPT)
|
||||
.setBlockModes(ADVANCED_UNLOCK_BLOCKS_MODES)
|
||||
.setEncryptionPaddings(ADVANCED_UNLOCK_ENCRYPTION_PADDING)
|
||||
.apply {
|
||||
// Require the user to authenticate with a fingerprint to authorize every use
|
||||
// of the key, don't use it for device credential because it's the user authentication
|
||||
if (biometricUnlockEnable) {
|
||||
setUserAuthenticationRequired(true)
|
||||
}
|
||||
// To store in the security chip
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P
|
||||
&& appContext.packageManager.hasSystemFeature(
|
||||
PackageManager.FEATURE_STRONGBOX_KEYSTORE)) {
|
||||
setIsStrongBoxBacked(true)
|
||||
}
|
||||
}
|
||||
.build())
|
||||
keyGenerator?.generateKey()
|
||||
}
|
||||
} catch (e: Exception) {
|
||||
Log.e(TAG, "Unable to create a key in keystore", e)
|
||||
throw e
|
||||
}
|
||||
return keyStore.getKey(ADVANCED_UNLOCK_KEYSTORE_KEY, null) as SecretKey?
|
||||
}
|
||||
} catch (e: Exception) {
|
||||
Log.e(TAG, "Unable to retrieve the key in keystore", e)
|
||||
throw e
|
||||
}
|
||||
return null
|
||||
}
|
||||
|
||||
@Synchronized fun initEncryptData(
|
||||
actionIfCypherInit: (cryptoPrompt: DeviceUnlockCryptoPrompt) -> Unit
|
||||
) {
|
||||
initEncryptData(true, actionIfCypherInit)
|
||||
}
|
||||
|
||||
@Synchronized private fun initEncryptData(
|
||||
firstLaunch: Boolean,
|
||||
actionIfCypherInit: (cryptoPrompt: DeviceUnlockCryptoPrompt) -> Unit
|
||||
) {
|
||||
try {
|
||||
getSecretKey()?.let { secretKey ->
|
||||
cipher?.let { cipher ->
|
||||
cipher.init(Cipher.ENCRYPT_MODE, secretKey)
|
||||
actionIfCypherInit.invoke(
|
||||
DeviceUnlockCryptoPrompt(
|
||||
type = DeviceUnlockCryptoPromptType.CREDENTIAL_ENCRYPTION,
|
||||
cipher = cipher,
|
||||
titleId = R.string.advanced_unlock_prompt_store_credential_title,
|
||||
descriptionId = R.string.advanced_unlock_prompt_store_credential_message,
|
||||
isDeviceCredentialOperation = isDeviceCredentialOperation(
|
||||
deviceCredentialUnlockEnable
|
||||
),
|
||||
isBiometricOperation = isBiometricOperation(
|
||||
biometricUnlockEnable, deviceCredentialUnlockEnable
|
||||
)
|
||||
)
|
||||
)
|
||||
}
|
||||
}
|
||||
} catch (unrecoverableKeyException: UnrecoverableKeyException) {
|
||||
Log.e(TAG, "Unable to initialize encrypt data", unrecoverableKeyException)
|
||||
throw unrecoverableKeyException
|
||||
} catch (invalidKeyException: KeyPermanentlyInvalidatedException) {
|
||||
Log.e(TAG, "Unable to initialize encrypt data", invalidKeyException)
|
||||
if (firstLaunch) {
|
||||
deleteAllEntryKeysInKeystoreForBiometric(appContext)
|
||||
initEncryptData(false, actionIfCypherInit)
|
||||
} else {
|
||||
throw invalidKeyException
|
||||
}
|
||||
} catch (e: Exception) {
|
||||
Log.e(TAG, "Unable to initialize encrypt data", e)
|
||||
throw e
|
||||
}
|
||||
}
|
||||
|
||||
@Synchronized fun encryptData(
|
||||
value: ByteArray,
|
||||
cipher: Cipher?,
|
||||
handleEncryptedResult: (encryptedValue: ByteArray, ivSpec: ByteArray) -> Unit
|
||||
) {
|
||||
try {
|
||||
val encrypted = cipher?.doFinal(value) ?: byteArrayOf()
|
||||
// passes updated iv spec on to callback so this can be stored for decryption
|
||||
cipher?.parameters?.getParameterSpec(IvParameterSpec::class.java)?.let{ spec ->
|
||||
handleEncryptedResult.invoke(encrypted, spec.iv)
|
||||
}
|
||||
} catch (e: Exception) {
|
||||
Log.e(TAG, "Unable to encrypt data", e)
|
||||
throw e
|
||||
}
|
||||
}
|
||||
|
||||
@Synchronized fun initDecryptData(
|
||||
ivSpecValue: ByteArray,
|
||||
actionIfCypherInit: (cryptoPrompt: DeviceUnlockCryptoPrompt) -> Unit
|
||||
) {
|
||||
initDecryptData(ivSpecValue, true, actionIfCypherInit)
|
||||
}
|
||||
|
||||
@Synchronized private fun initDecryptData(
|
||||
ivSpecValue: ByteArray,
|
||||
firstLaunch: Boolean = true,
|
||||
actionIfCypherInit: (cryptoPrompt: DeviceUnlockCryptoPrompt) -> Unit
|
||||
) {
|
||||
try {
|
||||
// important to restore spec here that was used for decryption
|
||||
val spec = IvParameterSpec(ivSpecValue)
|
||||
getSecretKey()?.let { secretKey ->
|
||||
cipher?.let { cipher ->
|
||||
cipher.init(Cipher.DECRYPT_MODE, secretKey, spec)
|
||||
actionIfCypherInit.invoke(
|
||||
DeviceUnlockCryptoPrompt(
|
||||
type = DeviceUnlockCryptoPromptType.CREDENTIAL_DECRYPTION,
|
||||
cipher = cipher,
|
||||
titleId = R.string.advanced_unlock_prompt_extract_credential_title,
|
||||
descriptionId = null,
|
||||
isDeviceCredentialOperation = isDeviceCredentialOperation(
|
||||
deviceCredentialUnlockEnable
|
||||
),
|
||||
isBiometricOperation = isBiometricOperation(
|
||||
biometricUnlockEnable, deviceCredentialUnlockEnable
|
||||
)
|
||||
)
|
||||
)
|
||||
}
|
||||
}
|
||||
} catch (unrecoverableKeyException: UnrecoverableKeyException) {
|
||||
Log.e(TAG, "Unable to initialize decrypt data", unrecoverableKeyException)
|
||||
if (firstLaunch) {
|
||||
deleteKeystoreKey()
|
||||
initDecryptData(ivSpecValue, false, actionIfCypherInit)
|
||||
} else {
|
||||
throw unrecoverableKeyException
|
||||
}
|
||||
} catch (invalidKeyException: KeyPermanentlyInvalidatedException) {
|
||||
Log.e(TAG, "Unable to initialize decrypt data", invalidKeyException)
|
||||
if (firstLaunch) {
|
||||
deleteAllEntryKeysInKeystoreForBiometric(appContext)
|
||||
initDecryptData(ivSpecValue, false, actionIfCypherInit)
|
||||
} else {
|
||||
throw invalidKeyException
|
||||
}
|
||||
} catch (e: Exception) {
|
||||
Log.e(TAG, "Unable to initialize decrypt data", e)
|
||||
throw e
|
||||
}
|
||||
}
|
||||
|
||||
@Synchronized fun decryptData(
|
||||
encryptedValue: ByteArray,
|
||||
cipher: Cipher?,
|
||||
handleDecryptedResult: (decryptedValue: ByteArray) -> Unit
|
||||
) {
|
||||
try {
|
||||
// actual decryption here
|
||||
cipher?.doFinal(encryptedValue)?.let { decrypted ->
|
||||
handleDecryptedResult.invoke(decrypted)
|
||||
}
|
||||
} catch (e: Exception) {
|
||||
Log.e(TAG, "Unable to decrypt data", e)
|
||||
throw e
|
||||
}
|
||||
}
|
||||
|
||||
@Synchronized fun deleteKeystoreKey() {
|
||||
try {
|
||||
keyStore?.load(null)
|
||||
keyStore?.deleteEntry(ADVANCED_UNLOCK_KEYSTORE_KEY)
|
||||
} catch (e: Exception) {
|
||||
Log.e(TAG, "Unable to delete entry key in keystore", e)
|
||||
throw e
|
||||
}
|
||||
}
|
||||
|
||||
companion object {
|
||||
|
||||
private val TAG = DeviceUnlockManager::class.java.name
|
||||
|
||||
private const val ADVANCED_UNLOCK_KEYSTORE = "AndroidKeyStore"
|
||||
private const val ADVANCED_UNLOCK_KEYSTORE_KEY = "com.kunzisoft.keepass.biometric.key"
|
||||
private const val ADVANCED_UNLOCK_KEY_ALGORITHM = KeyProperties.KEY_ALGORITHM_AES
|
||||
private const val ADVANCED_UNLOCK_BLOCKS_MODES = KeyProperties.BLOCK_MODE_CBC
|
||||
private const val ADVANCED_UNLOCK_ENCRYPTION_PADDING = KeyProperties.ENCRYPTION_PADDING_PKCS7
|
||||
|
||||
@RequiresApi(api = Build.VERSION_CODES.M)
|
||||
fun canAuthenticate(context: Context): Int {
|
||||
return try {
|
||||
BiometricManager.from(context).canAuthenticate(
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R
|
||||
&& PreferencesUtil.isDeviceCredentialUnlockEnable(context)) {
|
||||
BIOMETRIC_STRONG or DEVICE_CREDENTIAL
|
||||
} else {
|
||||
BIOMETRIC_STRONG
|
||||
}
|
||||
)
|
||||
} catch (e: Exception) {
|
||||
Log.e(TAG, "Unable to authenticate with strong biometric.", e)
|
||||
try {
|
||||
BiometricManager.from(context).canAuthenticate(
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R
|
||||
&& PreferencesUtil.isDeviceCredentialUnlockEnable(context)) {
|
||||
BIOMETRIC_WEAK or DEVICE_CREDENTIAL
|
||||
} else {
|
||||
BIOMETRIC_WEAK
|
||||
}
|
||||
)
|
||||
} catch (e: Exception) {
|
||||
Log.e(TAG, "Unable to authenticate with weak biometric.", e)
|
||||
BiometricManager.BIOMETRIC_ERROR_NO_HARDWARE
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
fun isDeviceSecure(context: Context): Boolean {
|
||||
return ContextCompat.getSystemService(context, KeyguardManager::class.java)
|
||||
?.isDeviceSecure ?: false
|
||||
}
|
||||
|
||||
fun biometricUnlockSupported(context: Context): Boolean {
|
||||
val biometricCanAuthenticate = try {
|
||||
BiometricManager.from(context).canAuthenticate(BIOMETRIC_STRONG)
|
||||
} catch (e: Exception) {
|
||||
Log.e(TAG, "Unable to authenticate with strong biometric.", e)
|
||||
try {
|
||||
BiometricManager.from(context).canAuthenticate(BIOMETRIC_WEAK)
|
||||
} catch (e: Exception) {
|
||||
Log.e(TAG, "Unable to authenticate with weak biometric.", e)
|
||||
BiometricManager.BIOMETRIC_ERROR_NO_HARDWARE
|
||||
}
|
||||
}
|
||||
return (biometricCanAuthenticate == BiometricManager.BIOMETRIC_SUCCESS
|
||||
|| biometricCanAuthenticate == BiometricManager.BIOMETRIC_STATUS_UNKNOWN
|
||||
|| biometricCanAuthenticate == BiometricManager.BIOMETRIC_ERROR_HW_UNAVAILABLE
|
||||
|| biometricCanAuthenticate == BiometricManager.BIOMETRIC_ERROR_NONE_ENROLLED
|
||||
|| biometricCanAuthenticate == BiometricManager.BIOMETRIC_ERROR_SECURITY_UPDATE_REQUIRED
|
||||
)
|
||||
}
|
||||
|
||||
fun deviceCredentialUnlockSupported(context: Context): Boolean {
|
||||
return if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) {
|
||||
val biometricCanAuthenticate = BiometricManager.from(context).canAuthenticate(DEVICE_CREDENTIAL)
|
||||
(biometricCanAuthenticate == BiometricManager.BIOMETRIC_SUCCESS
|
||||
|| biometricCanAuthenticate == BiometricManager.BIOMETRIC_STATUS_UNKNOWN
|
||||
|| biometricCanAuthenticate == BiometricManager.BIOMETRIC_ERROR_HW_UNAVAILABLE
|
||||
|| biometricCanAuthenticate == BiometricManager.BIOMETRIC_ERROR_NONE_ENROLLED
|
||||
|| biometricCanAuthenticate == BiometricManager.BIOMETRIC_ERROR_SECURITY_UPDATE_REQUIRED
|
||||
)
|
||||
} else {
|
||||
true
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Remove entry key in keystore
|
||||
*/
|
||||
fun deleteEntryKeyInKeystoreForBiometric(
|
||||
appContext: Context
|
||||
) {
|
||||
DeviceUnlockManager(appContext).apply {
|
||||
deleteKeystoreKey()
|
||||
}
|
||||
}
|
||||
|
||||
fun deleteAllEntryKeysInKeystoreForBiometric(appContext: Context) {
|
||||
try {
|
||||
deleteEntryKeyInKeystoreForBiometric(appContext)
|
||||
} catch (e: Exception) {
|
||||
Toast.makeText(appContext,
|
||||
deviceUnlockError(e, appContext),
|
||||
Toast.LENGTH_SHORT).show()
|
||||
} finally {
|
||||
CipherDatabaseAction.getInstance(appContext).deleteAll()
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
fun deviceUnlockError(error: Exception, context: Context): String {
|
||||
return if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M
|
||||
&& (error is UnrecoverableKeyException
|
||||
|| error is KeyPermanentlyInvalidatedException)) {
|
||||
context.getString(R.string.advanced_unlock_invalid_key)
|
||||
} else
|
||||
error.cause?.localizedMessage
|
||||
?: error.localizedMessage
|
||||
?: error.toString()
|
||||
}
|
||||
|
||||
fun isBiometricUnlockEnable(appContext: Context) =
|
||||
PreferencesUtil.isBiometricUnlockEnable(appContext)
|
||||
|
||||
fun isDeviceCredentialUnlockEnable(appContext: Context) =
|
||||
PreferencesUtil.isDeviceCredentialUnlockEnable(appContext)
|
||||
|
||||
private fun isBiometricOperation(
|
||||
biometricUnlockEnable: Boolean,
|
||||
deviceCredentialUnlockEnable: Boolean
|
||||
): Boolean {
|
||||
return biometricUnlockEnable
|
||||
|| isDeviceCredentialBiometricOperation(deviceCredentialUnlockEnable)
|
||||
}
|
||||
|
||||
// Since Android 30, device credential is also a biometric operation
|
||||
private fun isDeviceCredentialOperation(
|
||||
deviceCredentialUnlockEnable: Boolean
|
||||
): Boolean {
|
||||
return Build.VERSION.SDK_INT < Build.VERSION_CODES.R
|
||||
&& deviceCredentialUnlockEnable
|
||||
}
|
||||
|
||||
private fun isDeviceCredentialBiometricOperation(
|
||||
deviceCredentialUnlockEnable: Boolean
|
||||
): Boolean {
|
||||
return Build.VERSION.SDK_INT >= Build.VERSION_CODES.R
|
||||
&& deviceCredentialUnlockEnable
|
||||
}
|
||||
|
||||
fun isDeviceCredentialBiometricOperation(context: Context?): Boolean {
|
||||
if (context == null) {
|
||||
return false
|
||||
}
|
||||
return isDeviceCredentialBiometricOperation(
|
||||
isDeviceCredentialUnlockEnable(context)
|
||||
)
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
package com.kunzisoft.keepass.biometric
|
||||
|
||||
enum class DeviceUnlockMode {
|
||||
BIOMETRIC_UNAVAILABLE,
|
||||
BIOMETRIC_SECURITY_UPDATE_REQUIRED,
|
||||
DEVICE_CREDENTIAL_OR_BIOMETRIC_NOT_CONFIGURED,
|
||||
KEY_MANAGER_UNAVAILABLE,
|
||||
WAIT_CREDENTIAL,
|
||||
STORE_CREDENTIAL,
|
||||
EXTRACT_CREDENTIAL
|
||||
}
|
||||
@@ -60,6 +60,7 @@ object SearchHelper {
|
||||
// If search provide results
|
||||
database.createVirtualGroupFromSearchInfo(
|
||||
searchInfo.toString(),
|
||||
searchInfo.isASearchByDomain(),
|
||||
MAX_SEARCH_ENTRY
|
||||
)?.let { searchGroup ->
|
||||
if (searchGroup.numberOfChildEntries > 0) {
|
||||
|
||||
@@ -41,7 +41,7 @@ import com.kunzisoft.keepass.activities.dialogs.ProFeatureDialogFragment
|
||||
import com.kunzisoft.keepass.activities.dialogs.UnavailableFeatureDialogFragment
|
||||
import com.kunzisoft.keepass.activities.stylish.Stylish
|
||||
import com.kunzisoft.keepass.app.database.FileDatabaseHistoryAction
|
||||
import com.kunzisoft.keepass.biometric.AdvancedUnlockManager
|
||||
import com.kunzisoft.keepass.biometric.DeviceUnlockManager
|
||||
import com.kunzisoft.keepass.education.Education
|
||||
import com.kunzisoft.keepass.icons.IconPackChooser
|
||||
import com.kunzisoft.keepass.services.ClipboardEntryNotificationService
|
||||
@@ -251,7 +251,7 @@ class NestedAppSettingsFragment : NestedSettingsFragment() {
|
||||
val tempAdvancedUnlockPreference: TwoStatePreference? = findPreference(getString(R.string.temp_advanced_unlock_enable_key))
|
||||
|
||||
val biometricUnlockSupported = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
|
||||
AdvancedUnlockManager.biometricUnlockSupported(activity)
|
||||
DeviceUnlockManager.biometricUnlockSupported(activity)
|
||||
} else false
|
||||
biometricUnlockEnablePreference?.apply {
|
||||
// False if under Marshmallow
|
||||
@@ -296,7 +296,7 @@ class NestedAppSettingsFragment : NestedSettingsFragment() {
|
||||
}
|
||||
|
||||
val deviceCredentialUnlockSupported = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
|
||||
AdvancedUnlockManager.deviceCredentialUnlockSupported(activity)
|
||||
DeviceUnlockManager.deviceCredentialUnlockSupported(activity)
|
||||
} else false
|
||||
deviceCredentialUnlockEnablePreference?.apply {
|
||||
// Biometric unlock already checked
|
||||
@@ -395,7 +395,7 @@ class NestedAppSettingsFragment : NestedSettingsFragment() {
|
||||
validate?.invoke()
|
||||
warningAlertDialog?.setOnDismissListener(null)
|
||||
if (deleteKeys && Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
|
||||
AdvancedUnlockManager.deleteAllEntryKeysInKeystoreForBiometric(activity)
|
||||
DeviceUnlockManager.deleteAllEntryKeysInKeystoreForBiometric(activity)
|
||||
}
|
||||
}
|
||||
.setNegativeButton(resources.getString(android.R.string.cancel)
|
||||
|
||||
@@ -29,7 +29,7 @@ import androidx.preference.PreferenceManager
|
||||
import com.kunzisoft.keepass.BuildConfig
|
||||
import com.kunzisoft.keepass.R
|
||||
import com.kunzisoft.keepass.activities.stylish.Stylish
|
||||
import com.kunzisoft.keepass.biometric.AdvancedUnlockManager
|
||||
import com.kunzisoft.keepass.biometric.DeviceUnlockManager
|
||||
import com.kunzisoft.keepass.database.element.SortNodeEnum
|
||||
import com.kunzisoft.keepass.database.search.SearchParameters
|
||||
import com.kunzisoft.keepass.education.Education
|
||||
@@ -512,7 +512,7 @@ object PreferencesUtil {
|
||||
return prefs.getBoolean(context.getString(R.string.biometric_unlock_enable_key),
|
||||
context.resources.getBoolean(R.bool.biometric_unlock_enable_default))
|
||||
&& (if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.M) {
|
||||
AdvancedUnlockManager.biometricUnlockSupported(context)
|
||||
DeviceUnlockManager.biometricUnlockSupported(context)
|
||||
} else {
|
||||
false
|
||||
})
|
||||
|
||||
@@ -25,15 +25,14 @@ import android.util.AttributeSet
|
||||
import android.view.LayoutInflater
|
||||
import android.widget.Button
|
||||
import android.widget.LinearLayout
|
||||
import android.widget.Toast
|
||||
import androidx.annotation.RequiresApi
|
||||
import androidx.annotation.StringRes
|
||||
import com.kunzisoft.keepass.R
|
||||
|
||||
@RequiresApi(api = Build.VERSION_CODES.M)
|
||||
class AdvancedUnlockInfoView @JvmOverloads constructor(context: Context,
|
||||
attrs: AttributeSet? = null,
|
||||
defStyle: Int = 0)
|
||||
class DeviceUnlockView @JvmOverloads constructor(context: Context,
|
||||
attrs: AttributeSet? = null,
|
||||
defStyle: Int = 0)
|
||||
: LinearLayout(context, attrs, defStyle) {
|
||||
|
||||
private var biometricButtonView: Button? = null
|
||||
@@ -45,7 +44,7 @@ class AdvancedUnlockInfoView @JvmOverloads constructor(context: Context,
|
||||
biometricButtonView = findViewById(R.id.biometric_button)
|
||||
}
|
||||
|
||||
fun setIconViewClickListener(listener: OnClickListener?) {
|
||||
fun setDeviceUnlockButtonViewClickListener(listener: OnClickListener?) {
|
||||
biometricButtonView?.setOnClickListener(listener)
|
||||
}
|
||||
|
||||
@@ -60,14 +59,4 @@ class AdvancedUnlockInfoView @JvmOverloads constructor(context: Context,
|
||||
fun setTitle(@StringRes textId: Int) {
|
||||
title = context.getString(textId)
|
||||
}
|
||||
|
||||
fun setMessage(text: CharSequence) {
|
||||
if (text.isNotEmpty())
|
||||
Toast.makeText(context, text, Toast.LENGTH_LONG).show()
|
||||
}
|
||||
|
||||
fun setMessage(@StringRes textId: Int) {
|
||||
Toast.makeText(context, textId, Toast.LENGTH_LONG).show()
|
||||
}
|
||||
|
||||
}
|
||||
@@ -53,9 +53,7 @@ class MainCredentialView @JvmOverloads constructor(context: Context,
|
||||
private var checkboxHardwareView: CompoundButton
|
||||
private var hardwareKeySelectionView: HardwareKeySelectionView
|
||||
|
||||
var onPasswordChecked: (CompoundButton.OnCheckedChangeListener)? = null
|
||||
var onKeyFileChecked: (CompoundButton.OnCheckedChangeListener)? = null
|
||||
var onHardwareKeyChecked: (CompoundButton.OnCheckedChangeListener)? = null
|
||||
var onConditionToStoreCredentialChanged: ((CredentialStorage, verified: Boolean) -> Unit)? = null
|
||||
var onValidateListener: (() -> Unit)? = null
|
||||
|
||||
private var mCredentialStorage: CredentialStorage = CredentialStorage.PASSWORD
|
||||
@@ -103,24 +101,33 @@ class MainCredentialView @JvmOverloads constructor(context: Context,
|
||||
handled
|
||||
}
|
||||
|
||||
checkboxPasswordView.setOnCheckedChangeListener { view, checked ->
|
||||
onPasswordChecked?.onCheckedChanged(view, checked)
|
||||
checkboxPasswordView.setOnCheckedChangeListener { _, _ ->
|
||||
onConditionToStoreCredentialChanged?.invoke(
|
||||
mCredentialStorage,
|
||||
conditionToStoreCredential()
|
||||
)
|
||||
}
|
||||
checkboxKeyFileView.setOnCheckedChangeListener { view, checked ->
|
||||
checkboxKeyFileView.setOnCheckedChangeListener { _, checked ->
|
||||
if (checked) {
|
||||
if (keyFileSelectionView.uri == null) {
|
||||
checkboxKeyFileView.isChecked = false
|
||||
}
|
||||
}
|
||||
onKeyFileChecked?.onCheckedChanged(view, checked)
|
||||
onConditionToStoreCredentialChanged?.invoke(
|
||||
mCredentialStorage,
|
||||
conditionToStoreCredential()
|
||||
)
|
||||
}
|
||||
checkboxHardwareView.setOnCheckedChangeListener { view, checked ->
|
||||
checkboxHardwareView.setOnCheckedChangeListener { _, checked ->
|
||||
if (checked) {
|
||||
if (hardwareKeySelectionView.hardwareKey == null) {
|
||||
checkboxHardwareView.isChecked = false
|
||||
}
|
||||
}
|
||||
onHardwareKeyChecked?.onCheckedChanged(view, checked)
|
||||
onConditionToStoreCredentialChanged?.invoke(
|
||||
mCredentialStorage,
|
||||
conditionToStoreCredential()
|
||||
)
|
||||
}
|
||||
|
||||
hardwareKeySelectionView.selectionListener = { _ ->
|
||||
|
||||
@@ -31,6 +31,7 @@ class SearchFiltersView @JvmOverloads constructor(context: Context,
|
||||
private var searchUsername: CompoundButton
|
||||
private var searchPassword: CompoundButton
|
||||
private var searchURL: CompoundButton
|
||||
private var searchByURLDomain: Boolean = false
|
||||
private var searchExpired: CompoundButton
|
||||
private var searchNotes: CompoundButton
|
||||
private var searchOther: CompoundButton
|
||||
@@ -50,6 +51,7 @@ class SearchFiltersView @JvmOverloads constructor(context: Context,
|
||||
this.searchInUsernames = searchUsername.isChecked
|
||||
this.searchInPasswords = searchPassword.isChecked
|
||||
this.searchInUrls = searchURL.isChecked
|
||||
this.searchByDomain = searchByURLDomain
|
||||
this.searchInExpired = searchExpired.isChecked
|
||||
this.searchInNotes = searchNotes.isChecked
|
||||
this.searchInOther = searchOther.isChecked
|
||||
@@ -70,6 +72,7 @@ class SearchFiltersView @JvmOverloads constructor(context: Context,
|
||||
searchUsername.isChecked = value.searchInUsernames
|
||||
searchPassword.isChecked = value.searchInPasswords
|
||||
searchURL.isChecked = value.searchInUrls
|
||||
searchByURLDomain = value.searchByDomain
|
||||
searchExpired.isChecked = value.searchInExpired
|
||||
searchNotes.isChecked = value.searchInNotes
|
||||
searchOther.isChecked = value.searchInOther
|
||||
|
||||
@@ -18,8 +18,14 @@ import com.kunzisoft.keepass.database.element.DateInstant
|
||||
import com.kunzisoft.keepass.database.element.Field
|
||||
import com.kunzisoft.keepass.database.element.icon.IconImage
|
||||
import com.kunzisoft.keepass.database.element.security.ProtectedString
|
||||
import com.kunzisoft.keepass.database.element.template.*
|
||||
import com.kunzisoft.keepass.database.element.template.Template
|
||||
import com.kunzisoft.keepass.database.element.template.TemplateAttribute
|
||||
import com.kunzisoft.keepass.database.element.template.TemplateAttributeAction
|
||||
import com.kunzisoft.keepass.database.element.template.TemplateAttributeOption
|
||||
import com.kunzisoft.keepass.database.element.template.TemplateAttributeType
|
||||
import com.kunzisoft.keepass.database.element.template.TemplateEngine
|
||||
import com.kunzisoft.keepass.database.element.template.TemplateEngine.Companion.addTemplateDecorator
|
||||
import com.kunzisoft.keepass.database.element.template.TemplateField
|
||||
import com.kunzisoft.keepass.model.EntryInfo
|
||||
import com.kunzisoft.keepass.otp.OtpElement
|
||||
import com.kunzisoft.keepass.otp.OtpEntryFields
|
||||
@@ -608,9 +614,8 @@ abstract class TemplateAbstractView<
|
||||
getViewFieldByName(oldField.name)?.view?.let { viewToReplace ->
|
||||
val oldValue = getCustomField(oldField.name).protectedValue.toString()
|
||||
|
||||
val parentGroup = viewToReplace.parent as ViewGroup
|
||||
val indexInParent = parentGroup.indexOfChild(viewToReplace)
|
||||
parentGroup.removeView(viewToReplace)
|
||||
val parentGroup = viewToReplace.parent as? ViewGroup?
|
||||
parentGroup?.removeView(viewToReplace)
|
||||
|
||||
val newCustomFieldWithValue = if (keepOldValue)
|
||||
Field(newField.name,
|
||||
@@ -624,7 +629,9 @@ abstract class TemplateAbstractView<
|
||||
|
||||
val newCustomView = buildViewForCustomField(newCustomFieldWithValue)
|
||||
newCustomView?.let {
|
||||
parentGroup.addView(newCustomView, indexInParent)
|
||||
parentGroup?.indexOfChild(viewToReplace)?.let { indexInParent ->
|
||||
parentGroup.addView(newCustomView, indexInParent)
|
||||
}
|
||||
mViewFields.add(
|
||||
oldPosition,
|
||||
ViewField(
|
||||
|
||||
@@ -123,8 +123,13 @@ class TemplateEditView @JvmOverloads constructor(context: Context,
|
||||
setMaxChars(templateAttribute.options.getNumberChars())
|
||||
setMaxLines(templateAttribute.options.getNumberLines())
|
||||
setActionClick(templateAttribute, field, this)
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
|
||||
importantForAutofill = View.IMPORTANT_FOR_AUTOFILL_NO
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1) {
|
||||
if (field.protectedValue.isProtected) {
|
||||
textDirection = TEXT_DIRECTION_LTR
|
||||
}
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
|
||||
importantForAutofill = View.IMPORTANT_FOR_AUTOFILL_NO
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
package com.kunzisoft.keepass.view
|
||||
|
||||
import android.content.Context
|
||||
import android.os.Build
|
||||
import android.util.AttributeSet
|
||||
import android.view.View
|
||||
import androidx.core.view.isVisible
|
||||
@@ -62,6 +63,9 @@ class TemplateView @JvmOverloads constructor(context: Context,
|
||||
// Here the value is often empty
|
||||
|
||||
if (field.protectedValue.isProtected) {
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1) {
|
||||
textDirection = TEXT_DIRECTION_LTR
|
||||
}
|
||||
if (mFirstTimeAskAllowCopyProtectedFields) {
|
||||
setCopyButtonState(TextFieldView.ButtonState.DEACTIVATE)
|
||||
setCopyButtonClickListener { _, _ ->
|
||||
@@ -175,6 +179,9 @@ class TemplateView @JvmOverloads constructor(context: Context,
|
||||
otpElement.type.name,
|
||||
ProtectedString(false, otpElement.token)))
|
||||
}
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1) {
|
||||
textDirection = TEXT_DIRECTION_LTR
|
||||
}
|
||||
mLastOtpTokenView = this
|
||||
mOtpRunnable = Runnable {
|
||||
if (otpElement.shouldRefreshToken()) {
|
||||
|
||||
@@ -59,6 +59,7 @@ import androidx.core.view.forEach
|
||||
import androidx.core.view.isVisible
|
||||
import androidx.core.view.updateLayoutParams
|
||||
import androidx.core.view.updatePadding
|
||||
import androidx.core.view.updatePaddingRelative
|
||||
import com.google.android.material.appbar.CollapsingToolbarLayout
|
||||
import com.google.android.material.snackbar.Snackbar
|
||||
import com.kunzisoft.keepass.R
|
||||
@@ -225,14 +226,20 @@ fun View.showByFading() {
|
||||
}
|
||||
}
|
||||
|
||||
fun View.updateLockPaddingLeft() {
|
||||
updatePadding(resources.getDimensionPixelSize(
|
||||
if (PreferencesUtil.showLockDatabaseButton(context)) {
|
||||
R.dimen.lock_button_size
|
||||
} else {
|
||||
R.dimen.hidden_lock_button_size
|
||||
}
|
||||
))
|
||||
fun View.updateLockPaddingStart() {
|
||||
resources.getDimensionPixelSize(
|
||||
if (PreferencesUtil.showLockDatabaseButton(context)) {
|
||||
R.dimen.lock_button_size
|
||||
} else {
|
||||
R.dimen.hidden_lock_button_size
|
||||
}
|
||||
).let { lockPadding ->
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1) {
|
||||
updatePaddingRelative(lockPadding)
|
||||
} else {
|
||||
updatePadding(lockPadding)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
fun Context.showActionErrorIfNeeded(result: ActionRunnable.Result) {
|
||||
|
||||
@@ -1,32 +0,0 @@
|
||||
package com.kunzisoft.keepass.viewmodels
|
||||
|
||||
import android.net.Uri
|
||||
import androidx.lifecycle.LiveData
|
||||
import androidx.lifecycle.ViewModel
|
||||
|
||||
class AdvancedUnlockViewModel : ViewModel() {
|
||||
|
||||
var allowAutoOpenBiometricPrompt : Boolean = true
|
||||
var deviceCredentialAuthSucceeded: Boolean? = null
|
||||
|
||||
val onInitAdvancedUnlockModeRequested : LiveData<Void?> get() = _onInitAdvancedUnlockModeRequested
|
||||
private val _onInitAdvancedUnlockModeRequested = SingleLiveEvent<Void?>()
|
||||
|
||||
val onUnlockAvailabilityCheckRequested : LiveData<Void?> get() = _onUnlockAvailabilityCheckRequested
|
||||
private val _onUnlockAvailabilityCheckRequested = SingleLiveEvent<Void?>()
|
||||
|
||||
val onDatabaseFileLoaded : LiveData<Uri?> get() = _onDatabaseFileLoaded
|
||||
private val _onDatabaseFileLoaded = SingleLiveEvent<Uri?>()
|
||||
|
||||
fun initAdvancedUnlockMode() {
|
||||
_onInitAdvancedUnlockModeRequested.call()
|
||||
}
|
||||
|
||||
fun checkUnlockAvailability() {
|
||||
_onUnlockAvailabilityCheckRequested.call()
|
||||
}
|
||||
|
||||
fun databaseFileLoaded(databaseUri: Uri?) {
|
||||
_onDatabaseFileLoaded.value = databaseUri
|
||||
}
|
||||
}
|
||||
@@ -51,7 +51,9 @@ class DatabaseFileViewModel(application: Application) : AndroidViewModel(applica
|
||||
|
||||
fun loadDatabaseFile(databaseUri: Uri) {
|
||||
mFileDatabaseHistoryAction?.getDatabaseFile(databaseUri) { databaseFileRetrieved ->
|
||||
mDatabaseFileLoaded.value = databaseFileRetrieved
|
||||
databaseFileRetrieved?.let {
|
||||
mDatabaseFileLoaded.value = it
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,437 @@
|
||||
package com.kunzisoft.keepass.viewmodels
|
||||
|
||||
import android.app.Application
|
||||
import android.net.Uri
|
||||
import android.os.Build
|
||||
import androidx.activity.result.ActivityResult
|
||||
import androidx.annotation.RequiresApi
|
||||
import androidx.biometric.BiometricManager
|
||||
import androidx.biometric.BiometricPrompt
|
||||
import androidx.lifecycle.AndroidViewModel
|
||||
import com.kunzisoft.keepass.app.database.CipherDatabaseAction
|
||||
import com.kunzisoft.keepass.biometric.DeviceUnlockCryptoPrompt
|
||||
import com.kunzisoft.keepass.biometric.DeviceUnlockCryptoPromptType
|
||||
import com.kunzisoft.keepass.biometric.DeviceUnlockManager
|
||||
import com.kunzisoft.keepass.biometric.DeviceUnlockMode
|
||||
import com.kunzisoft.keepass.database.exception.UnknownDatabaseLocationException
|
||||
import com.kunzisoft.keepass.model.CipherDecryptDatabase
|
||||
import com.kunzisoft.keepass.model.CipherEncryptDatabase
|
||||
import com.kunzisoft.keepass.model.CredentialStorage
|
||||
import com.kunzisoft.keepass.settings.PreferencesUtil
|
||||
import kotlinx.coroutines.flow.MutableStateFlow
|
||||
import kotlinx.coroutines.flow.StateFlow
|
||||
import kotlinx.coroutines.flow.update
|
||||
import javax.crypto.Cipher
|
||||
|
||||
class DeviceUnlockViewModel(application: Application): AndroidViewModel(application) {
|
||||
private var cipherDatabaseListener: CipherDatabaseAction.CipherDatabaseListener? = null
|
||||
|
||||
private var isConditionToStoreCredentialVerified: Boolean = false
|
||||
|
||||
private var deviceUnlockManager: DeviceUnlockManager? = null
|
||||
private var databaseUri: Uri? = null
|
||||
|
||||
private var deviceUnlockMode = DeviceUnlockMode.BIOMETRIC_UNAVAILABLE
|
||||
var cryptoPrompt: DeviceUnlockCryptoPrompt? = null
|
||||
|
||||
// TODO Retrieve credential storage from app database
|
||||
var credentialDatabaseStorage: CredentialStorage = CredentialStorage.DEFAULT
|
||||
|
||||
val cipherDatabaseAction = CipherDatabaseAction.getInstance(getApplication())
|
||||
|
||||
private val _uiState = MutableStateFlow(DeviceUnlockState())
|
||||
val uiState: StateFlow<DeviceUnlockState> = _uiState
|
||||
|
||||
fun checkConditionToStoreCredential(condition: Boolean, databaseFileUri: Uri?) {
|
||||
isConditionToStoreCredentialVerified = condition
|
||||
checkUnlockAvailability(databaseFileUri)
|
||||
}
|
||||
|
||||
/**
|
||||
* Check unlock availability by verifying device settings and database mode
|
||||
*/
|
||||
fun checkUnlockAvailability() {
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
|
||||
cipherDatabaseAction.containsCipherDatabase(databaseUri) { containsCipherDatabase ->
|
||||
if (PreferencesUtil.isBiometricUnlockEnable(getApplication())) {
|
||||
// biometric not supported (by API level or hardware) so keep option hidden
|
||||
// or manually disable
|
||||
val biometricCanAuthenticate = DeviceUnlockManager.canAuthenticate(getApplication())
|
||||
if (!PreferencesUtil.isAdvancedUnlockEnable(getApplication())
|
||||
|| biometricCanAuthenticate == BiometricManager.BIOMETRIC_ERROR_HW_UNAVAILABLE
|
||||
|| biometricCanAuthenticate == BiometricManager.BIOMETRIC_ERROR_NO_HARDWARE) {
|
||||
changeMode(DeviceUnlockMode.BIOMETRIC_UNAVAILABLE)
|
||||
} else if (biometricCanAuthenticate == BiometricManager.BIOMETRIC_ERROR_SECURITY_UPDATE_REQUIRED) {
|
||||
changeMode(DeviceUnlockMode.BIOMETRIC_SECURITY_UPDATE_REQUIRED)
|
||||
} else {
|
||||
// biometric is available but not configured, show icon but in disabled state with some information
|
||||
if (biometricCanAuthenticate == BiometricManager.BIOMETRIC_ERROR_NONE_ENROLLED) {
|
||||
changeMode(DeviceUnlockMode.DEVICE_CREDENTIAL_OR_BIOMETRIC_NOT_CONFIGURED)
|
||||
} else {
|
||||
selectMode(containsCipherDatabase)
|
||||
}
|
||||
}
|
||||
} else if (PreferencesUtil.isDeviceCredentialUnlockEnable(getApplication())) {
|
||||
if (DeviceUnlockManager.isDeviceSecure(getApplication())) {
|
||||
selectMode(containsCipherDatabase)
|
||||
} else {
|
||||
changeMode(DeviceUnlockMode.DEVICE_CREDENTIAL_OR_BIOMETRIC_NOT_CONFIGURED)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Check unlock availability and change the current mode depending of device's state
|
||||
*/
|
||||
fun checkUnlockAvailability(databaseFileUri: Uri?) {
|
||||
databaseUri = databaseFileUri
|
||||
checkUnlockAvailability()
|
||||
}
|
||||
|
||||
@RequiresApi(Build.VERSION_CODES.M)
|
||||
fun selectMode(containsCipherDatabase: Boolean) {
|
||||
try {
|
||||
if (isConditionToStoreCredentialVerified) {
|
||||
deviceUnlockManager = DeviceUnlockManager(getApplication())
|
||||
// listen for encryption
|
||||
changeMode(DeviceUnlockMode.STORE_CREDENTIAL)
|
||||
initEncryptData()
|
||||
} else if (containsCipherDatabase) {
|
||||
deviceUnlockManager = DeviceUnlockManager(getApplication())
|
||||
// biometric available but no stored password found yet for this DB
|
||||
// listen for decryption
|
||||
changeMode(DeviceUnlockMode.EXTRACT_CREDENTIAL)
|
||||
initDecryptData()
|
||||
} else {
|
||||
// wait for typing
|
||||
changeMode(DeviceUnlockMode.WAIT_CREDENTIAL)
|
||||
}
|
||||
} catch (e: Exception) {
|
||||
changeMode(DeviceUnlockMode.KEY_MANAGER_UNAVAILABLE)
|
||||
setException(e)
|
||||
}
|
||||
}
|
||||
|
||||
fun connect(databaseUri: Uri) {
|
||||
this.databaseUri = databaseUri
|
||||
cipherDatabaseListener = object: CipherDatabaseAction.CipherDatabaseListener {
|
||||
override fun onCipherDatabaseCleared() {
|
||||
closeBiometricPrompt()
|
||||
checkUnlockAvailability(databaseUri)
|
||||
}
|
||||
}
|
||||
cipherDatabaseAction.apply {
|
||||
reloadPreferences()
|
||||
cipherDatabaseListener?.let {
|
||||
registerDatabaseListener(it)
|
||||
}
|
||||
}
|
||||
checkUnlockAvailability(databaseUri)
|
||||
}
|
||||
|
||||
fun disconnect() {
|
||||
this.databaseUri = null
|
||||
cipherDatabaseListener?.let {
|
||||
cipherDatabaseAction.unregisterDatabaseListener(it)
|
||||
}
|
||||
reset()
|
||||
}
|
||||
|
||||
fun databaseFileLoaded(databaseUri: Uri?) {
|
||||
// To get device credential unlock result, only if same database uri
|
||||
if (databaseUri != null
|
||||
&& PreferencesUtil.isAdvancedUnlockEnable(getApplication())) {
|
||||
if (databaseUri != this.databaseUri) {
|
||||
connect(databaseUri)
|
||||
}
|
||||
} else {
|
||||
disconnect()
|
||||
}
|
||||
}
|
||||
|
||||
@RequiresApi(Build.VERSION_CODES.M)
|
||||
fun onAuthenticationSucceeded() {
|
||||
cryptoPrompt?.let { prompt ->
|
||||
when (prompt.type) {
|
||||
DeviceUnlockCryptoPromptType.CREDENTIAL_ENCRYPTION ->
|
||||
retrieveCredentialForEncryption( prompt.cipher)
|
||||
DeviceUnlockCryptoPromptType.CREDENTIAL_DECRYPTION ->
|
||||
decryptCredential( prompt.cipher)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@RequiresApi(Build.VERSION_CODES.M)
|
||||
fun onAuthenticationSucceeded(
|
||||
result: BiometricPrompt.AuthenticationResult
|
||||
) {
|
||||
cryptoPrompt?.type?.let { type ->
|
||||
when (type) {
|
||||
DeviceUnlockCryptoPromptType.CREDENTIAL_ENCRYPTION ->
|
||||
retrieveCredentialForEncryption(result.cryptoObject?.cipher)
|
||||
DeviceUnlockCryptoPromptType.CREDENTIAL_DECRYPTION ->
|
||||
decryptCredential(result.cryptoObject?.cipher)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private fun retrieveCredentialForEncryption(cipher: Cipher?) {
|
||||
_uiState.update { currentState ->
|
||||
currentState.copy(
|
||||
credentialRequiredCipher = cipher
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
@RequiresApi(Build.VERSION_CODES.M)
|
||||
fun encryptCredential(
|
||||
credential: ByteArray,
|
||||
cipher: Cipher?
|
||||
) {
|
||||
try {
|
||||
deviceUnlockManager?.encryptData(
|
||||
value = credential,
|
||||
cipher = cipher,
|
||||
handleEncryptedResult = { encryptedValue, ivSpec ->
|
||||
databaseUri?.let { databaseUri ->
|
||||
onCredentialEncrypted(
|
||||
CipherEncryptDatabase().apply {
|
||||
this.databaseUri = databaseUri
|
||||
this.credentialStorage = credentialDatabaseStorage
|
||||
this.encryptedValue = encryptedValue
|
||||
this.specParameters = ivSpec
|
||||
}
|
||||
)
|
||||
}
|
||||
}
|
||||
)
|
||||
} catch (e: Exception) {
|
||||
setException(e)
|
||||
} finally {
|
||||
// Reinit credential storage request
|
||||
_uiState.update { currentState ->
|
||||
currentState.copy(
|
||||
credentialRequiredCipher = null
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@RequiresApi(Build.VERSION_CODES.M)
|
||||
fun decryptCredential(cipher: Cipher?) {
|
||||
// retrieve the encrypted value from preferences
|
||||
databaseUri?.let { databaseUri ->
|
||||
cipherDatabaseAction.getCipherDatabase(databaseUri) { cipherDatabase ->
|
||||
cipherDatabase?.encryptedValue?.let { encryptedCredential ->
|
||||
try {
|
||||
deviceUnlockManager?.decryptData(
|
||||
encryptedValue = encryptedCredential,
|
||||
cipher = cipher,
|
||||
handleDecryptedResult = { decryptedValue ->
|
||||
// Load database directly with password retrieve
|
||||
onCredentialDecrypted(
|
||||
CipherDecryptDatabase().apply {
|
||||
this.databaseUri = databaseUri
|
||||
this.credentialStorage = credentialDatabaseStorage
|
||||
this.decryptedValue = decryptedValue
|
||||
}
|
||||
)
|
||||
cipherDatabaseAction.resetCipherParameters(databaseUri)
|
||||
}
|
||||
)
|
||||
} catch (e: Exception) {
|
||||
setException(e)
|
||||
}
|
||||
} ?: deleteEncryptedDatabaseKey()
|
||||
}
|
||||
} ?: run {
|
||||
setException(UnknownDatabaseLocationException())
|
||||
}
|
||||
}
|
||||
|
||||
fun onCredentialEncrypted(cipherEncryptDatabase: CipherEncryptDatabase) {
|
||||
_uiState.update { currentState ->
|
||||
currentState.copy(
|
||||
cipherEncryptDatabase = cipherEncryptDatabase
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
fun consumeCredentialEncrypted() {
|
||||
_uiState.update { currentState ->
|
||||
currentState.copy(
|
||||
cipherEncryptDatabase = null
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
fun onCredentialDecrypted(cipherDecryptDatabase: CipherDecryptDatabase) {
|
||||
_uiState.update { currentState ->
|
||||
currentState.copy(
|
||||
cipherDecryptDatabase = cipherDecryptDatabase
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
fun consumeCredentialDecrypted() {
|
||||
_uiState.update { currentState ->
|
||||
currentState.copy(
|
||||
cipherDecryptDatabase = null
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
fun onPromptRequested(
|
||||
cryptoPrompt: DeviceUnlockCryptoPrompt,
|
||||
autoOpen: Boolean = false
|
||||
) {
|
||||
this@DeviceUnlockViewModel.cryptoPrompt = cryptoPrompt
|
||||
if (autoOpen && PreferencesUtil.isAdvancedUnlockPromptAutoOpenEnable(getApplication()))
|
||||
showPrompt()
|
||||
}
|
||||
|
||||
fun showPrompt() {
|
||||
_uiState.update { currentState ->
|
||||
currentState.copy(
|
||||
cryptoPromptState = DeviceUnlockPromptMode.SHOW
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
fun promptShown() {
|
||||
isAutoOpenBiometricPromptAllowed = false
|
||||
_uiState.update { currentState ->
|
||||
currentState.copy(
|
||||
cryptoPromptState = DeviceUnlockPromptMode.IDLE
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
fun setException(value: Exception?) {
|
||||
_uiState.update { currentState ->
|
||||
currentState.copy(
|
||||
exception = value
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
fun exceptionShown() {
|
||||
_uiState.update { currentState ->
|
||||
currentState.copy(
|
||||
exception = null
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
@RequiresApi(Build.VERSION_CODES.M)
|
||||
private fun initEncryptData() {
|
||||
try {
|
||||
deviceUnlockManager?.initEncryptData { cryptoPrompt ->
|
||||
onPromptRequested(cryptoPrompt)
|
||||
} ?: setException(Exception("AdvancedUnlockManager not initialized"))
|
||||
} catch (e: Exception) {
|
||||
setException(e)
|
||||
}
|
||||
}
|
||||
|
||||
@RequiresApi(Build.VERSION_CODES.M)
|
||||
private fun initDecryptData() {
|
||||
databaseUri?.let { databaseUri ->
|
||||
cipherDatabaseAction.getCipherDatabase(databaseUri) { cipherDatabase ->
|
||||
cipherDatabase?.let {
|
||||
try {
|
||||
deviceUnlockManager?.initDecryptData(cipherDatabase.specParameters) { cryptoPrompt ->
|
||||
onPromptRequested(
|
||||
cryptoPrompt,
|
||||
autoOpen = isAutoOpenBiometricPromptAllowed
|
||||
)
|
||||
} ?: setException(Exception("AdvancedUnlockManager not initialized"))
|
||||
} catch (e: Exception) {
|
||||
setException(e)
|
||||
}
|
||||
} ?: deleteEncryptedDatabaseKey()
|
||||
}
|
||||
} ?: setException(UnknownDatabaseLocationException())
|
||||
}
|
||||
|
||||
@RequiresApi(Build.VERSION_CODES.M)
|
||||
private fun changeMode(deviceUnlockMode: DeviceUnlockMode) {
|
||||
this.deviceUnlockMode = deviceUnlockMode
|
||||
cipherDatabaseAction.containsCipherDatabase(databaseUri) { containsCipher ->
|
||||
_uiState.update { currentState ->
|
||||
currentState.copy(
|
||||
newDeviceUnlockMode = deviceUnlockMode,
|
||||
allowAdvancedUnlockMenu = containsCipher
|
||||
&& deviceUnlockMode != DeviceUnlockMode.BIOMETRIC_UNAVAILABLE
|
||||
&& deviceUnlockMode != DeviceUnlockMode.KEY_MANAGER_UNAVAILABLE
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
fun deleteEncryptedDatabaseKey() {
|
||||
closeBiometricPrompt()
|
||||
databaseUri?.let { databaseUri ->
|
||||
cipherDatabaseAction.deleteByDatabaseUri(databaseUri) {
|
||||
checkUnlockAvailability(databaseUri)
|
||||
}
|
||||
} ?: checkUnlockAvailability(null)
|
||||
_uiState.update { currentState ->
|
||||
currentState.copy(
|
||||
allowAdvancedUnlockMenu = false
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
fun closeBiometricPrompt() {
|
||||
_uiState.update { currentState ->
|
||||
currentState.copy(
|
||||
cryptoPromptState = DeviceUnlockPromptMode.CLOSE
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
fun biometricPromptClosed() {
|
||||
cryptoPrompt = null
|
||||
_uiState.update { currentState ->
|
||||
currentState.copy(
|
||||
cryptoPromptState = DeviceUnlockPromptMode.IDLE
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
fun reset() {
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
|
||||
changeMode(DeviceUnlockMode.BIOMETRIC_UNAVAILABLE)
|
||||
}
|
||||
}
|
||||
|
||||
override fun onCleared() {
|
||||
super.onCleared()
|
||||
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
|
||||
deviceUnlockManager = null
|
||||
}
|
||||
}
|
||||
|
||||
companion object {
|
||||
var isAutoOpenBiometricPromptAllowed = true
|
||||
}
|
||||
}
|
||||
|
||||
enum class DeviceUnlockPromptMode {
|
||||
IDLE, SHOW, CLOSE
|
||||
}
|
||||
|
||||
data class DeviceUnlockState(
|
||||
val newDeviceUnlockMode: DeviceUnlockMode = DeviceUnlockMode.BIOMETRIC_UNAVAILABLE,
|
||||
val allowAdvancedUnlockMenu: Boolean = false,
|
||||
val credentialRequiredCipher: Cipher? = null,
|
||||
val cipherEncryptDatabase: CipherEncryptDatabase? = null,
|
||||
val cipherDecryptDatabase: CipherDecryptDatabase? = null,
|
||||
val cryptoPromptState: DeviceUnlockPromptMode = DeviceUnlockPromptMode.IDLE,
|
||||
val autoOpenPrompt: Boolean = false,
|
||||
val exception: Exception? = null
|
||||
)
|
||||
13
app/src/main/res/drawable-ldrtl/ic_arrow_back_white_24dp.xml
Normal file
13
app/src/main/res/drawable-ldrtl/ic_arrow_back_white_24dp.xml
Normal file
@@ -0,0 +1,13 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="24dp"
|
||||
android:height="24dp"
|
||||
android:viewportWidth="24"
|
||||
android:viewportHeight="24">
|
||||
<group>
|
||||
<path
|
||||
android:fillColor="#ffffff"
|
||||
android:strokeWidth="1.78885484"
|
||||
android:pathData="M10,19Q7.5,19 5.5,17.5Q4,16 4,13.5Q4,11 5.5,9.5Q7.5,8 10,8L16,8L13.5,5.5L15,4L20,9L15,14L13.5,12.5L16,10L10,10Q8.5,10 7,11Q6,12 6,13.5Q6,15 7,16Q8.5,17 10,17L17,17L17,19L10,19Z" />
|
||||
</group>
|
||||
</vector>
|
||||
@@ -0,0 +1,9 @@
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="24dp"
|
||||
android:height="24dp"
|
||||
android:viewportWidth="24.0"
|
||||
android:viewportHeight="24.0">
|
||||
<path
|
||||
android:fillColor="#FFFFFF"
|
||||
android:pathData="M8.59,16.59L13.17,12 8.59,7.41 10,6l6,6 -6,6 -1.41,-1.41z"/>
|
||||
</vector>
|
||||
@@ -0,0 +1,9 @@
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="24dp"
|
||||
android:height="24dp"
|
||||
android:viewportHeight="24"
|
||||
android:viewportWidth="24">
|
||||
<path
|
||||
android:fillColor="@color/green"
|
||||
android:pathData="M14,7l-5,5 5,5V7z"/>
|
||||
</vector>
|
||||
@@ -0,0 +1,5 @@
|
||||
<rotate xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:drawable="@drawable/ic_arrow_left_white_24dp"
|
||||
android:fromDegrees="180"
|
||||
android:toDegrees="180"
|
||||
android:visible="true" />
|
||||
@@ -1,5 +1,5 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<com.kunzisoft.keepass.view.AdvancedUnlockInfoView
|
||||
<com.kunzisoft.keepass.view.DeviceUnlockView
|
||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:id="@+id/advanced_unlock_view"
|
||||
android:layout_width="match_parent"
|
||||
@@ -58,6 +58,7 @@
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
app:layout_collapseMode="parallax"
|
||||
android:layoutDirection="ltr"
|
||||
android:layout_gravity="center_horizontal|bottom"
|
||||
android:gravity="center"
|
||||
android:orientation="horizontal"
|
||||
|
||||
@@ -94,6 +94,7 @@
|
||||
android:importantForAccessibility="no"
|
||||
android:importantForAutofill="no"
|
||||
android:inputType="textPassword|textMultiLine"
|
||||
android:textDirection="ltr"
|
||||
android:maxLines="3"
|
||||
android:hint="@string/hint_conf_pass"/>
|
||||
</com.google.android.material.textfield.TextInputLayout>
|
||||
|
||||
@@ -125,8 +125,7 @@
|
||||
android:paddingStart="8dp"
|
||||
android:paddingLeft="8dp"
|
||||
android:paddingEnd="4dp"
|
||||
android:paddingRight="4dp"
|
||||
android:paddingVertical="4dp">
|
||||
android:paddingRight="4dp">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/node_otp_token"
|
||||
|
||||
@@ -61,11 +61,11 @@
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_alignTop="@+id/node_icon"
|
||||
android:layout_marginEnd="-32dp"
|
||||
android:layout_marginRight="-32dp"
|
||||
android:layout_toStartOf="@+id/node_icon"
|
||||
android:layout_toLeftOf="@+id/node_icon"
|
||||
tools:text="3" />
|
||||
android:layout_marginStart="8dp"
|
||||
android:layout_marginLeft="8dp"
|
||||
android:layout_alignParentLeft="true"
|
||||
android:layout_alignParentStart="true"
|
||||
tools:text="123" />
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="wrap_content"
|
||||
|
||||
@@ -76,6 +76,7 @@
|
||||
<androidx.constraintlayout.widget.ConstraintLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layoutDirection="ltr"
|
||||
app:layout_constraintTop_toBottomOf="@+id/switch_element">
|
||||
|
||||
<LinearLayout
|
||||
|
||||
@@ -36,6 +36,7 @@
|
||||
android:minHeight="48dp"
|
||||
android:hint="@string/password"
|
||||
android:inputType="textPassword"
|
||||
android:textDirection="ltr"
|
||||
android:importantForAutofill="no"
|
||||
android:focusable="true"
|
||||
android:focusableInTouchMode="true"
|
||||
|
||||
@@ -26,6 +26,7 @@
|
||||
android:importantForAccessibility="no"
|
||||
android:importantForAutofill="no"
|
||||
android:inputType="textPassword|textMultiLine"
|
||||
android:textDirection="ltr"
|
||||
android:maxLines="3"
|
||||
tools:ignore="TextFields" />
|
||||
</com.google.android.material.textfield.TextInputLayout>
|
||||
|
||||
@@ -18,39 +18,39 @@
|
||||
along with KeePassDX. If not, see <http://www.gnu.org/licenses/>.
|
||||
--><resources xmlns:tools="http://schemas.android.com/tools" tools:ignore="MissingTranslation">
|
||||
<string name="homepage">الصفحة الرئيسة</string>
|
||||
<string name="accept">قبول</string>
|
||||
<string name="add_group">إضافة مجموعة</string>
|
||||
<string name="encryption">التشفير</string>
|
||||
<string name="encryption_algorithm">خوارزمية التشفير</string>
|
||||
<string name="accept">اقبل</string>
|
||||
<string name="add_group">أضف مجموعة</string>
|
||||
<string name="encryption">التعمية</string>
|
||||
<string name="encryption_algorithm">خوارزمية التعمية</string>
|
||||
<string name="application">التطبيق</string>
|
||||
<string name="brackets">الأقواس</string>
|
||||
<string name="extended_ASCII">ASCII ممتد</string>
|
||||
<string name="allow">سماح</string>
|
||||
<string name="allow">اسمح</string>
|
||||
<string name="clipboard_cleared">مُسِحت الحافظة</string>
|
||||
<string name="clipboard_error_title">خطأ في الحافظة</string>
|
||||
<string name="clipboard_error_clear">تعذَّر مسح الحافظة</string>
|
||||
<string name="database">قاعدة البيانات</string>
|
||||
<string name="decrypting_db">يفك تشفير محتوى قاعدة البيانات…</string>
|
||||
<string name="decrypting_db">يفك تعمية محتوى قاعدة البيانات…</string>
|
||||
<string name="digits">أرقام</string>
|
||||
<string name="entry_cancel">إلغاء</string>
|
||||
<string name="entry_cancel">ألغِ</string>
|
||||
<string name="entry_notes">ملاحظات</string>
|
||||
<string name="entry_confpassword">تأكيد كلمة السر</string>
|
||||
<string name="entry_confpassword">أكّد كلمة السر</string>
|
||||
<string name="entry_created">أُنشئ</string>
|
||||
<string name="entry_modified">معدل</string>
|
||||
<string name="entry_modified">مُعدل</string>
|
||||
<string name="entry_not_found">تعذر العثور على بيانات المُدخلة.</string>
|
||||
<string name="entry_password">كلمة السر</string>
|
||||
<string name="save">حفظ</string>
|
||||
<string name="save">احفظ</string>
|
||||
<string name="entry_title">العنوان</string>
|
||||
<string name="entry_url">رابط</string>
|
||||
<string name="entry_user_name">اسم المستخدم</string>
|
||||
<string name="error_file_not_create">تعذر إنشاء الملف</string>
|
||||
<string name="error_file_not_create">تعذر إنشاء الملف.</string>
|
||||
<string name="error_invalid_path">تأكد أن المسار صحيح.</string>
|
||||
<string name="error_no_name">ادخل اسمًا.</string>
|
||||
<string name="error_pass_match">كلمتا السر غير متطابقتين.</string>
|
||||
<string name="field_name">اسم الحقل</string>
|
||||
<string name="field_value">قيمة الحقل</string>
|
||||
<string name="generate_password">توليد كلمة سر</string>
|
||||
<string name="hint_conf_pass">تأكيد كلمة السر</string>
|
||||
<string name="generate_password">ولّد كلمة سر</string>
|
||||
<string name="hint_conf_pass">أكّد كلمة السر</string>
|
||||
<string name="hint_group_name">اسم المجموعة</string>
|
||||
<string name="hint_length">الطول</string>
|
||||
<string name="hint_pass">كلمة السر</string>
|
||||
@@ -61,15 +61,15 @@
|
||||
<string name="list_size_summary">حجم النص في قائمة العناصر</string>
|
||||
<string name="loading_database">يحمل قاعدة البيانات…</string>
|
||||
<string name="lowercase">حروف صغيرة</string>
|
||||
<string name="hide_password_summary">إخفاء كلمات السر بشكل افتراضي</string>
|
||||
<string name="hide_password_summary">أخفِ كلمات السر (***) افتراضيًا</string>
|
||||
<string name="about">عن التطبيق</string>
|
||||
<string name="menu_change_key_settings">تغيير المفتاح الرئيسي</string>
|
||||
<string name="settings">الإعدادات</string>
|
||||
<string name="menu_app_settings">إعدادات التطبيق</string>
|
||||
<string name="menu_database_settings">إعدادات قاعدة البيانات</string>
|
||||
<string name="menu_delete">حذف</string>
|
||||
<string name="menu_delete">احذف</string>
|
||||
<string name="menu_donate">التبرع</string>
|
||||
<string name="menu_edit">تعديل</string>
|
||||
<string name="menu_edit">عدّل</string>
|
||||
<string name="menu_lock">اقفل قاعدة البيانات</string>
|
||||
<string name="menu_open">فتح</string>
|
||||
<string name="menu_search">البحث</string>
|
||||
@@ -80,7 +80,7 @@
|
||||
<string name="progress_create">إنشاء قاعدة بيانات جديدة …</string>
|
||||
<string name="protection">الحماية</string>
|
||||
<string name="read_only">محمي من التعديل</string>
|
||||
<string name="content_description_remove_from_list">إزالة</string>
|
||||
<string name="content_description_remove_from_list">أزل</string>
|
||||
<string name="root">الجذر</string>
|
||||
<string name="memory_usage">استخدام الذاكرة</string>
|
||||
<string name="parallelism">التَّوازِي</string>
|
||||
@@ -107,20 +107,19 @@
|
||||
<string name="feedback">أرسل انطباعاتك</string>
|
||||
<string name="about_description">\"KeePassDX\" هو تطبيق أندرويد لمدير كلمات المرور كي باس \"KeePass\"</string>
|
||||
<string name="add_entry">أضف مدخل</string>
|
||||
<string name="edit_entry">تحرير مدخل</string>
|
||||
<string name="edit_entry">عدّل مدخل</string>
|
||||
<string name="key_derivation_function">وظيفة اشتقاق المفتاح</string>
|
||||
<string name="app_timeout">المهلة</string>
|
||||
<string name="app_timeout_summary">مدة الخمول قبل قفل قاعدة البيانات</string>
|
||||
<string name="file_manager_install_description">مدير الملفات الذي يمكنه القيام بالإجراءين ACTION_CREATE_DOCUMENT و ACTION_OPEN_DOCUMENT ضروري لانشاء, وفتح وحفض قواعد البيانات.</string>
|
||||
<string name="file_manager_install_description">مدير الملفات الذي يمكنه القيام بالإجراءين ACTION_CREATE_DOCUMENT و ACTION_OPEN_DOCUMENT ضروري لانشاء، وفتح وحفظ قواعد البيانات.</string>
|
||||
<string name="clipboard_error">بعض الأجهزة لا تسمح للتطبيقات باستعمال الحافظة.</string>
|
||||
<string name="clipboard_timeout">مهلة الحافظة</string>
|
||||
<string name="clipboard_timeout_summary">مدة التخزين في الحافظة(إذا كان جهازك يدعمها)</string>
|
||||
<string name="clipboard_timeout_summary">مدة التخزين في الحافظة (إذا كان جهازك يدعمها)</string>
|
||||
<string name="select_to_copy">اختر لنسخ %1$s إلى الحافظة</string>
|
||||
<string name="retrieving_db_key">يجلب مفتاح قاعدة البيانات…</string>
|
||||
<string name="default_checkbox">استخدامها كقاعدة بيانات افتراضية</string>
|
||||
<string name="html_about_licence">KeePassDX © %1$d كونزيسوفت <strong>مفتوح المصدر</strong> و <strong>بدون اعلانات</strong>.
|
||||
\n يوزع كما هو، بدون ضمان, تحت ترخيص <strong>GPLv3</strong>.</string>
|
||||
<string name="entry_accessed">نُفذ إليه</string>
|
||||
<string name="html_about_licence">KeePassDX © %1$d كونزيسوفت <strong>مفتوح المصدر</strong> و <strong>بدون إعلانات</strong>. \n يوزع كما هو، دون ضمان، تحت ترخيص <strong>GPLv3</strong>.</string>
|
||||
<string name="entry_accessed">وُصِل إليه</string>
|
||||
<string name="entry_expires">تنتهي صلاحيته في</string>
|
||||
<string name="entry_keyfile">ملف المفتاح</string>
|
||||
<string name="error_arc4">تشفير دفق Arcfour غير مدعوم.</string>
|
||||
@@ -129,7 +128,7 @@
|
||||
<string name="error_nokeyfile">اختر ملف مفتاح.</string>
|
||||
<string name="error_out_of_memory">لا ذاكرة لتحميل قاعدة البيانات كاملة.</string>
|
||||
<string name="error_load_database">تعذر تحميل قاعدة البيانات.</string>
|
||||
<string name="error_load_database_KDF_memory">لا يمكن تحميل المفتاح، حاول تقليل \"الذاكرة المستخدمة\" من قبل KDF.</string>
|
||||
<string name="error_load_database_KDF_memory">تعذر تحميل المفتاح. حاول تقليل \"الذاكرة المستخدمة\" من قِبل KDF.</string>
|
||||
<string name="error_pass_gen_type">يجب تحديد نوع واحد على الأقل لتوليد كلمة السر.</string>
|
||||
<string name="error_rounds_too_large">\"جولات التحويل\" كثيرة جداً. الإعداد إلى 2147483648.</string>
|
||||
<string name="error_string_key">يجب أن يكون لكل سلسلة اسم حقل.</string>
|
||||
@@ -141,17 +140,17 @@
|
||||
<string name="invalid_db_sig">تعذر تمييز نسق قاعدة البيانات.</string>
|
||||
<string name="keyfile_is_empty">ملف المفتاح فارغ.</string>
|
||||
<string name="list_entries_show_username_title">أظهر أسماء المستخدمين</string>
|
||||
<string name="list_entries_show_username_summary">اعرض اسماء المستخدمين في قوائم المدخلات</string>
|
||||
<string name="hint_generated_password">كلمة السر الموَلدة</string>
|
||||
<string name="hint_keyfile">الملف المفتاحي</string>
|
||||
<string name="hide_password_title">اخفاء كلمات السر</string>
|
||||
<string name="list_entries_show_username_summary">يعرض اسماء المستخدمين في قوائم المدخلات</string>
|
||||
<string name="hint_generated_password">كلمة السر مولّدة</string>
|
||||
<string name="hint_keyfile">ملف المفتاح</string>
|
||||
<string name="hide_password_title">أخفِ كلمات السر</string>
|
||||
<string name="copy_field">نُسخة من %1$s</string>
|
||||
<string name="menu_copy">نسخ</string>
|
||||
<string name="menu_move">نقل</string>
|
||||
<string name="menu_paste">لصق</string>
|
||||
<string name="menu_cancel">الغاء</string>
|
||||
<string name="menu_hide_password">اخفاء كلمة السر</string>
|
||||
<string name="menu_showpass">اظهار كلمة السر</string>
|
||||
<string name="menu_cancel">ألغِ</string>
|
||||
<string name="menu_hide_password">أخفِ كلمة السر</string>
|
||||
<string name="menu_showpass">أظهر كلمة السر</string>
|
||||
<string name="menu_url">الانتقال الى الرابط</string>
|
||||
<string name="menu_file_selection_read_only">محمي من التعديل</string>
|
||||
<string name="menu_open_file_read_and_write">قابل للتعديل</string>
|
||||
@@ -166,7 +165,7 @@
|
||||
<string name="unavailable">غير متوفر</string>
|
||||
<string name="menu_appearance_settings">المظهر</string>
|
||||
<string name="general">عام</string>
|
||||
<string name="autofill">ملأ تلقائي</string>
|
||||
<string name="autofill">الملء التلقائي</string>
|
||||
<string name="autofill_sign_in_prompt">سجل باستخدام KeePassDX</string>
|
||||
<string name="set_autofill_service_title">تعيين خدمة الملأ التلقائي الافتراضية</string>
|
||||
<string name="password_size_title">حجم كلمة السر المولدة</string>
|
||||
@@ -178,7 +177,7 @@
|
||||
<string name="clipboard_warning">اذا فشل الحذف التلقائي من الحافظة ,احذف تأريخه يدويا.</string>
|
||||
<string name="lock_database_screen_off_title">قفل الشاشة</string>
|
||||
<string name="lock_database_screen_off_summary">اقفل قاعدة البيانات بعد بضع ثوانٍ بمجرد إيقاف تشغيل الشاشة</string>
|
||||
<string name="biometric_delete_all_key_title">حذف مفاتيح التشفير</string>
|
||||
<string name="biometric_delete_all_key_title">احذف مفاتيح التعمية</string>
|
||||
<string name="unavailable_feature_text">لا يمكن بدأ هذه الميزة .</string>
|
||||
<string name="unavailable_feature_version">هذا الجهاز يعمل بأندرويد %1$s لكن يحتاج نسخة %2$s على الأقل.</string>
|
||||
<string name="file_name">اسم الملف</string>
|
||||
@@ -234,10 +233,10 @@
|
||||
<string name="keyboard_notification_entry_content_title">%1$s متوفر على Magikeyboard</string>
|
||||
<string name="keyboard_notification_entry_content_text">%1$s</string>
|
||||
<string name="reset_education_screens_title">إعادة تعيين التلميحات التعليمية</string>
|
||||
<string name="education_search_title">البحث من خلال الإدخالات</string>
|
||||
<string name="education_search_title">ابحث من خلال المدخلات</string>
|
||||
<string name="content_description_open_file">افتح الملف</string>
|
||||
<string name="content_description_add_entry">إضافة مدخلة</string>
|
||||
<string name="content_description_add_group">إضافة مجموعة</string>
|
||||
<string name="content_description_add_entry">أضف مدخل</string>
|
||||
<string name="content_description_add_group">أضف مجموعة</string>
|
||||
<string name="content_description_file_information">معلومات الملف</string>
|
||||
<string name="entry_password_generator">مولد كلمة السر</string>
|
||||
<string name="content_description_background">الخلفية</string>
|
||||
@@ -250,22 +249,22 @@
|
||||
<string name="do_not_kill_app">لا تقتل التطبيق…</string>
|
||||
<string name="content_description_node_children">العقد الفرعية</string>
|
||||
<string name="content_description_add_node">أضف عقدة</string>
|
||||
<string name="content_description_entry_icon">ايقونة المدخل</string>
|
||||
<string name="content_description_entry_icon">أيقونة المدخل</string>
|
||||
<string name="content_description_password_length">طول كلمة السر</string>
|
||||
<string name="entry_add_field">أضف حقل</string>
|
||||
<string name="content_description_remove_field">أزل حقل</string>
|
||||
<string name="error_move_entry_here">يتعذر نقل مدخل إلى هنا.</string>
|
||||
<string name="error_copy_entry_here">يتعذر نسخ مدخال إلى هنا.</string>
|
||||
<string name="list_groups_show_number_entries_title">عرض عدد المدخلات</string>
|
||||
<string name="list_groups_show_number_entries_summary">عرض عدد المدخلات في المجموعة</string>
|
||||
<string name="content_description_update_from_list">تحديث</string>
|
||||
<string name="error_move_entry_here">لا يمكنك نقل مدخل هنا.</string>
|
||||
<string name="error_copy_entry_here">لا يمكنك نسخ مدخل هنا.</string>
|
||||
<string name="list_groups_show_number_entries_title">أظهر عدد المدخلات</string>
|
||||
<string name="list_groups_show_number_entries_summary">يعرض عدد المدخلات في المجموعة</string>
|
||||
<string name="content_description_update_from_list">حدِّث</string>
|
||||
<string name="content_description_keyboard_close_fields">أغلق الحقول</string>
|
||||
<string name="error_create_database_file">لا يمكن انشاء قاعدة بيانات بكلمة السر وملف المفتاح الحاليين.</string>
|
||||
<string name="error_create_database_file">تعذر إنشاء قاعدة بيانات بكلمة السر وملف المفتاح الحاليين.</string>
|
||||
<string name="menu_advanced_unlock_settings">فك قفل الجهاز</string>
|
||||
<string name="entry_attachments">مرفقات</string>
|
||||
<string name="entry_history">السجل</string>
|
||||
<string name="entry_add_attachment">أضف مرفقا</string>
|
||||
<string name="discard">إلغاء</string>
|
||||
<string name="entry_history">التاريخ</string>
|
||||
<string name="entry_add_attachment">أضف مرفقًا</string>
|
||||
<string name="discard">تجاهل</string>
|
||||
<string name="discard_changes">تجاهل التغييرات؟</string>
|
||||
<string name="validate">تأكيد</string>
|
||||
<string name="security">الأمان</string>
|
||||
@@ -273,27 +272,27 @@
|
||||
<string name="error_otp_period">يجب ان تكون المدة بين %1$d و%2$d ثانية.</string>
|
||||
<string name="error_otp_secret_key">المفتاح السري يجب ان يكون بصيغة Base32.</string>
|
||||
<string name="error_save_database">تعذر حفظ قاعدة البيانات.</string>
|
||||
<string name="error_create_database">لا يمكن إنشاء ملف قاعدة البيانات.</string>
|
||||
<string name="error_copy_group_here">لا يمكن نسخ مجموعة هنا.</string>
|
||||
<string name="error_create_database">تعذر إنشاء ملف قاعدة البيانات.</string>
|
||||
<string name="error_copy_group_here">لا يمكنك نسخ مجموعة هنا.</string>
|
||||
<string name="error_label_exists">هذه التسمية موجودة بالفعل.</string>
|
||||
<string name="otp_period">المدة (ثواني)</string>
|
||||
<string name="otp_algorithm">الخوارزمية</string>
|
||||
<string name="otp_digits">أرقام</string>
|
||||
<string name="otp_counter">العداد</string>
|
||||
<string name="entry_setup_otp">عيّن كلمة مرور لمرة واحدة</string>
|
||||
<string name="entry_setup_otp">عيّن كلمة سر لمرة واحدة</string>
|
||||
<string name="entry_UUID">UUID</string>
|
||||
<string name="html_about_contribution">من أجل <strong>حماية خصوصيتا</strong>٫<strong> إصلاح العلل</strong>٫ <strong>إضافة مميزات</strong> <strong>وجعلنا نشطاء دائما</strong>٫ نحن نعتمد على <strong>مساهمتك</strong>.</string>
|
||||
<string name="content_description_keyfile_checkbox">خانة تأشير الملف المفتاحي</string>
|
||||
<string name="html_about_contribution">لكي <strong>نحافظ على حريتنا</strong>، و<strong>نصلح الأخطاء</strong>، و<strong>نضيف ميزات</strong>، و<strong>نبقى دائمًا نشطين</strong>، فإننا نعتمد على <strong>مساهمتكم</strong>.</string>
|
||||
<string name="content_description_keyfile_checkbox">خانة تأشير ملف المفتاح</string>
|
||||
<string name="content_description_password_checkbox">خانة تأشير كلمة السر</string>
|
||||
<string name="content_description_add_item">أضف عنصر</string>
|
||||
<string name="warning_permanently_delete_nodes">حذف العقد المحددة نهائيا؟</string>
|
||||
<string name="filter">مرشح</string>
|
||||
<string name="command_execution">ينفذ الأمر…</string>
|
||||
<string name="hide_broken_locations_title">اِخفي روابط قواعد البيانات المعطلة</string>
|
||||
<string name="hide_broken_locations_title">أخفِ روابط قواعد البيانات المعطوبة</string>
|
||||
<string name="show_recent_files_summary">أظهر موقع قواعد البيانات الأخيرة</string>
|
||||
<string name="show_recent_files_title">أظهر الملفات الأخيرة</string>
|
||||
<string name="remember_keyfile_locations_summary">تعقب موقع الملفات المفتاحية لقاعدة البيانات</string>
|
||||
<string name="remember_keyfile_locations_title">تذكر موقع الملف المفتاحي</string>
|
||||
<string name="remember_keyfile_locations_title">تذكر موقع ملف المفتاح</string>
|
||||
<string name="remember_database_locations_summary">تعقب موقع قاعدة البيانات</string>
|
||||
<string name="remember_database_locations_title">تذكر موقع تخزين قاعدة البيانات</string>
|
||||
<string name="contains_duplicate_uuid_procedure">للمتابعة هل تريد حل المشكلة بتوليد UUID للعناصر المكررة ؟</string>
|
||||
@@ -308,42 +307,42 @@
|
||||
<string name="creating_database">ينشئ قاعدة البيانات…</string>
|
||||
<string name="error_string_type">لا يطابق هذا النص العنصر المطلوب.</string>
|
||||
<string name="error_otp_counter">على العداد أن يكون ما بين %1$d و %2$d.</string>
|
||||
<string name="entry_otp">كلمة مرور لمرة واحدة</string>
|
||||
<string name="otp_type">نوع كلمة المرور لمرة واحدة</string>
|
||||
<string name="entry_otp">كلمة سر لمرة واحدة</string>
|
||||
<string name="otp_type">نوع كلمة السر لمرة واحدة (OTP)</string>
|
||||
<string name="error_disallow_no_credentials">عين اعتماد واحد على الأقل.</string>
|
||||
<string name="contribution">ساهم</string>
|
||||
<string name="contact">الإتصال بنا</string>
|
||||
<string name="contact">التواصل</string>
|
||||
<string name="biometric">البصمة</string>
|
||||
<string name="warning_empty_keyfile_explanation">يجب ألا تغير محتوى ملف المفتاح، في أحسن الحالات يجب أن يحتوي بيانات مولدة عشوائيا.</string>
|
||||
<string name="warning_empty_keyfile">من غير المستحسن اضافة ملف مفتاح فارغ.</string>
|
||||
<string name="warning_sure_remove_data">أزل هذه البيانات عل أي حال؟</string>
|
||||
<string name="warning_sure_add_file">أأضف الملف على أي حال؟</string>
|
||||
<string name="warning_replace_file">رفعُ هذا الملف سيستبدل الموجود مسبقا.</string>
|
||||
<string name="warning_replace_file">رفع هذا الملف سيستبدل الموجود مسبقًا.</string>
|
||||
<string name="warning_database_link_revoked">أبطلَ مدير الملفات الوصول للملف</string>
|
||||
<string name="warning_database_read_only">أعط صلاحية الكتابة من أجل حفظ قاعدة البيانات</string>
|
||||
<string name="warning_password_encoding">تجنب استخدام المحارف غير الموجودة في ترميز قاعدة البيانات (تحوَّل المحارف غير الموجودة لنفس الحرف).</string>
|
||||
<string name="hide_broken_locations_summary">إخف الروابط المعطلة في قائمة قواعد البيانات الحديثة</string>
|
||||
<string name="hide_broken_locations_summary">أخفِ الروابط المعطوبة في قائمة قواعد البيانات الحديثة</string>
|
||||
<string name="auto_focus_search_summary">افتح البحث عند فتح قاعدة البيانات</string>
|
||||
<string name="content_description_credentials_information">معلومات بيانات الاعتماد</string>
|
||||
<string name="max_history_items_title">العدد الأقصى</string>
|
||||
<string name="recycle_bin_group_title">مجموعة سلة المحذوفات</string>
|
||||
<string name="recycle_bin_summary">أُنقل المجموعات والمدخلات لسلة المحذوفات قبل حذفها</string>
|
||||
<string name="database_data_remove_unlinked_attachments_summary">أزِل المرفقات غير المرتبطة بإدخال في قاعدة البيانات</string>
|
||||
<string name="database_data_remove_unlinked_attachments_summary">أزل المرفقات غير المرتبطة بمدخل في قاعدة البيانات</string>
|
||||
<string name="database_data_remove_unlinked_attachments_title">أزل البيانات غير المرتبطة</string>
|
||||
<string name="database_data_compression_summary">ضغط البيانات يقلص من حجم قاعدة البيانات</string>
|
||||
<string name="database_data_compression_title">ضغط البيانات</string>
|
||||
<string name="data">البيانات</string>
|
||||
<string name="unavailable_feature_hardware">تعذر العثور على ماسح البصمة.</string>
|
||||
<string name="biometric_delete_all_key_summary">احذف كل مفاتيح التشفير المرتبطة بفتح الجهاز</string>
|
||||
<string name="biometric_delete_all_key_summary">احذف كل مفاتيح التعمية المرتبطة بفتح الجهاز</string>
|
||||
<string name="advanced_unlock_explanation_summary">استخدم إلغاء القفل الجهاز لفتح قاعدة البيانات بسهولة</string>
|
||||
<string name="lock_database_show_button_summary">يعرض زر القَفل في الواجهة</string>
|
||||
<string name="lock_database_show_button_title">اعرض زر القَفل</string>
|
||||
<string name="lock_database_show_button_title">أظهر زر القفل</string>
|
||||
<string name="lock_database_back_root_summary">قفل قاعدة البيانات عند النقر على زر الرجوع في الشاشة الرئيسية</string>
|
||||
<string name="lock_database_back_root_title">اضغط على \"رجوع\" للإقفال</string>
|
||||
<string name="clipboard_explanation_summary">انسخ حقول الإدخال باستخدام الحافظة</string>
|
||||
<string name="clipboard_explanation_summary">انسخ حقول المدخل باستخدام الحافظة</string>
|
||||
<string name="database_opened">قاعدة البيانات مفتوحة</string>
|
||||
<string name="autofill_preference_title">إعدادات الملء التلقائي</string>
|
||||
<string name="education_entry_edit_title">حرر المدخلة</string>
|
||||
<string name="education_entry_edit_title">عدّل المدخل</string>
|
||||
<string name="education_advanced_unlock_summary">لفتح قاعدة البيانات بسرعة اربط كلمة المرور بالبصمة.</string>
|
||||
<string name="education_search_summary">لإيجاد كلمة المرور، أدخل العنوان أو اسم المستخدم أو محتوى أحد الحقول.</string>
|
||||
<string name="education_new_node_summary">المدخلات لإدارة معرفاتك الرقمية.
|
||||
@@ -357,15 +356,15 @@
|
||||
<string name="autofill_web_domain_blocklist_title">قائمة النطاقات المحظورة</string>
|
||||
<string name="autofill_application_id_blocklist_summary">منع الملء التلقائي للتطبيقات الموجودة في القائمة</string>
|
||||
<string name="autofill_application_id_blocklist_title">قائمة التطبيقات المحظورة</string>
|
||||
<string name="content_description_repeat_toggle_password_visibility">بدِّل ظهور كلمة السر</string>
|
||||
<string name="hide_expired_entries_summary">لن تعرض المدخلات منتهية الصلاحية</string>
|
||||
<string name="content_description_repeat_toggle_password_visibility">أعد تبديل ظهور كلمة السر</string>
|
||||
<string name="hide_expired_entries_summary">لا يتم عرض المدخلات منتهية الصلاحية</string>
|
||||
<string name="education_read_only_summary">تغيير وضع الافتتاح للجلسة.
|
||||
\n
|
||||
\nيمنع \"محمي ضد الكتابة\" التغييرات غير المقصودة في قاعدة البيانات.
|
||||
\n\"قابل للتعديل\" يتيح لك إضافة أو حذف أو تعديل جميع العناصر كما تريد.</string>
|
||||
<string name="education_read_only_title">احمي قاعدة البيانات من التعديل</string>
|
||||
<string name="education_unlock_title">افتح قاعدة البيانات</string>
|
||||
<string name="education_add_attachment_summary">أضف مرفقا للمدخلة لحفظ بيانات اضافية.</string>
|
||||
<string name="education_add_attachment_summary">ارفع مرفقًا إلى مدخلك لحفظ البيانات الخارجية الهامة.</string>
|
||||
<string name="education_add_attachment_title">أضف مرفقا</string>
|
||||
<string name="autofill_block">احظر الملء التلقائي</string>
|
||||
<string name="keyboard_previous_database_credentials_title">شاشة بيانات اعتماد قاعدة البيانات</string>
|
||||
@@ -402,7 +401,7 @@
|
||||
<string name="education_generate_password_title">أنشئ كلمة سر قوية</string>
|
||||
<string name="save_mode">وضع الحفظ</string>
|
||||
<string name="search_mode">وضع البحث</string>
|
||||
<string name="version">النسخة</string>
|
||||
<string name="version">النُسخة</string>
|
||||
<string name="template_group_name">النماذج</string>
|
||||
<string name="holder">الحامل</string>
|
||||
<string name="number">الرقم</string>
|
||||
@@ -410,7 +409,7 @@
|
||||
<string name="personal_identification_number">PIN</string>
|
||||
<string name="id_card">بطاقة الهوية</string>
|
||||
<string name="type">النوع</string>
|
||||
<string name="cryptocurrency">محفظة عملات مشفرة</string>
|
||||
<string name="cryptocurrency">محفظة عملات التعموية</string>
|
||||
<string name="public_key">المفتاح العمومي</string>
|
||||
<string name="private_key">المفتاح الخاص</string>
|
||||
<string name="account">الحساب</string>
|
||||
@@ -418,20 +417,20 @@
|
||||
<string name="bank_name">اسم المصرف</string>
|
||||
<string name="secure_note">ملاحظة آمنة</string>
|
||||
<string name="error_word_reserved">هذه الكلمة محجوزة ولا يمكن استخدامها.</string>
|
||||
<string name="error_field_name_already_exists">اسم الحقل موجود سلفًا.</string>
|
||||
<string name="error_file_to_big">الملف الذي ترفعه كبير.</string>
|
||||
<string name="error_field_name_already_exists">اسم الحقل موجود بالفعل.</string>
|
||||
<string name="error_file_to_big">الملف الذي تحاول رفعه كبير جدًا.</string>
|
||||
<string name="error_upload_file">حدث خطأ أثناء رفع الملف.</string>
|
||||
<string name="error_duplicate_file">بيانات الملف موجودة سلفًا.</string>
|
||||
<string name="error_duplicate_file">بيانات الملف موجودة بالفعل.</string>
|
||||
<string name="error_remove_file">حدث خطأ أثناء إزالة بيانات الملف.</string>
|
||||
<string name="error_start_database_action">حدث خطأ أثناء تنفيذ إجراء على قاعدة البيانات.</string>
|
||||
<string name="content_description_otp_information">معلومات كلمة المرور لمرة واحدة</string>
|
||||
<string name="content_description_otp_information">معلومات كلمة السر لمرة واحدة</string>
|
||||
<string name="membership">العضوية</string>
|
||||
<string name="name">الاسم</string>
|
||||
<string name="email">البريد الإلكتروني</string>
|
||||
<string name="email_address">عنوان البريد الإلكتروني</string>
|
||||
<string name="ssid">SSID</string>
|
||||
<string name="debit_credit_card">بطاقة السحب الفوري / الإئتمان</string>
|
||||
<string name="error_registration_read_only">لا يمكن حفظ عنصر في قاعدة بيانات مفتوحة للقراءة فقط</string>
|
||||
<string name="error_registration_read_only">لا يمكن حفظ عنصر في قاعدة بيانات مفتوحة للقراءة فقط.</string>
|
||||
<string name="otp_secret">الرمز السري</string>
|
||||
<string name="place_of_issue">مكان المشكلة</string>
|
||||
<string name="date_of_issue">تاريخ المشكلة</string>
|
||||
@@ -452,8 +451,8 @@
|
||||
<string name="properties">الخصائص</string>
|
||||
<string name="token">الرمز</string>
|
||||
<string name="seed">البذرة</string>
|
||||
<string name="error_database_uri_null">يتعذر استرداد مسار قاعدة البيانات.</string>
|
||||
<string name="error_rebuild_list">يتعذر إعادة بناء القائمة بشكل صحيح.</string>
|
||||
<string name="error_database_uri_null">لا يمكن استرداد URI قاعدة البيانات.</string>
|
||||
<string name="error_rebuild_list">تعذر إعادة بناء القائمة بشكل صحيح.</string>
|
||||
<string name="menu_keystore_remove_key">احذف رمز فك القفل الجهاز</string>
|
||||
<string name="menu_form_filling_settings">ملء النموذج</string>
|
||||
<string name="menu_reload_database">أعد تحميل البيانات</string>
|
||||
@@ -463,8 +462,8 @@
|
||||
<string name="import_app_properties_summary">اختر ملفًا لاستيراد إعدادات التطبيق</string>
|
||||
<string name="export_app_properties_title">صدّر إعدادات التطبيق</string>
|
||||
<string name="export_app_properties_summary">أنشئ ملفًا لتصدير إعدادات التطبيق</string>
|
||||
<string name="error_import_app_properties">خطأ أثناء استيراد إعدادات التطبيق</string>
|
||||
<string name="error_export_app_properties">خطأ أثناء تصدير إعدادات التطبيق</string>
|
||||
<string name="error_import_app_properties">خطأ أثناء استيراد إعدادات التطبيق.</string>
|
||||
<string name="error_export_app_properties">خطأ أثناء تصدير إعدادات التطبيق.</string>
|
||||
<string name="warning_database_info_changed">غُيِّرت معلومات قاعدة البيانات من خارج هذا التطبيق.</string>
|
||||
<string name="warning_database_info_changed_options">ادمج البيانات أو استبدل التعديلات الخارجية بحفظ قاعدة البيانات أو أعد تحميلها لجلب آخر التغييرات.</string>
|
||||
<string name="credential_before_click_advanced_unlock_button">اكتب كلمة السر، وأنقر هذا الزر.</string>
|
||||
@@ -482,7 +481,7 @@
|
||||
<string name="autofill_ask_to_save_data_title">اسأل لحفظ البيانات</string>
|
||||
<string name="content_description_database_color">لون قاعدة البيانات</string>
|
||||
<string name="menu_merge_from">ادمج من…</string>
|
||||
<string name="show_uuid_summary">يعرض \"المعرف العام\" المرتبط بمُدخل او بمجموعة</string>
|
||||
<string name="show_uuid_summary">يعرض UUID المرتبط بمدخل أو بمجموعة</string>
|
||||
<string name="expired">انتهت</string>
|
||||
<string name="tags">الوسوم</string>
|
||||
<string name="menu_merge_database">ادمج البيانات</string>
|
||||
@@ -491,10 +490,10 @@
|
||||
<string name="warning_file_too_big">يفترض بقاعدة البيانات أن تحوي ملفات صغيرة الحجم ( كمفاتيح PGP).
|
||||
\n
|
||||
\nبرفع هذا الملف قد يزداد حجم قاعدة البيانات ويضعف أداءها.</string>
|
||||
<string name="error_move_group_here">يتعذر نقل المجموعة إلى هنا.</string>
|
||||
<string name="error_move_group_here">لا يمكنك نقل مجموعة هنا.</string>
|
||||
<string name="menu_save_copy_to">احفظ نسخة إلى…</string>
|
||||
<string name="searchable">يمكن البحث عنه</string>
|
||||
<string name="custom_data">بيانات مخصصة</string>
|
||||
<string name="custom_data">بيانات مخصّصة</string>
|
||||
<string name="case_sensitive">حساسة لحالة الأحرف</string>
|
||||
<string name="regex">تعابير نمطية</string>
|
||||
<string name="enable_keep_screen_on_title">أبقِ الشاشة شغّالة</string>
|
||||
@@ -512,18 +511,18 @@
|
||||
<string name="templates_group_uuid_title">مجموعة القوالب</string>
|
||||
<string name="advanced_unlock_timeout">انتهت مهلة فتح الجهاز</string>
|
||||
<string name="temp_advanced_unlock_timeout_summary">مهلة استخدام فتح الجهاز قبل حذف محتواها</string>
|
||||
<string name="advanced_unlock_delete_all_key_warning">أتريد حذف كل مفاتيح التشفير المرتبطة بفتح الجهاز؟</string>
|
||||
<string name="advanced_unlock_delete_all_key_warning">أتريد حذف كل مفاتيح التعمية المرتبطة بفتح الجهاز؟</string>
|
||||
<string name="templates">القوالب</string>
|
||||
<string name="templates_group_enable_title">استخدام القوالب</string>
|
||||
<string name="notification">الإشعارات</string>
|
||||
<string name="temp_advanced_unlock_enable_summary">لا تقم بتخزين أي محتوى مشفر لاستخدام إلغاء قفل الجهاز</string>
|
||||
<string name="temp_advanced_unlock_timeout_title">انتهاء صلاحية فتح الحهاز</string>
|
||||
<string name="hide_expired_entries_title">إخفاء الإدخالات منتهية الصلاحية</string>
|
||||
<string name="content_description_hardware_key_checkbox">خانة إختيار مفتاح الجهاز</string>
|
||||
<string name="hide_expired_entries_title">أخفِ المدخلات منتهية الصلاحية</string>
|
||||
<string name="content_description_hardware_key_checkbox">خانة إختيار مفتاح العتاد</string>
|
||||
<string name="content_description_passphrase_word_count">عدد عبارات المرور</string>
|
||||
<string name="content_description_entry_background_color">لون خلفية المدخل</string>
|
||||
<string name="passphrase">عبارة المرور</string>
|
||||
<string name="colorize_password_title">تلوين كلمات المرور</string>
|
||||
<string name="passphrase">عبارة السر</string>
|
||||
<string name="colorize_password_title">لوّن كلمات السر</string>
|
||||
<string name="permission">الإذن</string>
|
||||
<string name="advanced_unlock_prompt_not_initialized">تعذر تهيئة موجه إلغاء قفل الجهاز.</string>
|
||||
<string name="biometric_security_update_required">مطلوب تحديث أمان المقاييس الحيوية.</string>
|
||||
@@ -536,12 +535,12 @@
|
||||
\nاستخدم طريقة ملء النموذج التي تفضلها.</string>
|
||||
<string name="html_text_dev_feature_work_hard">نحن نعمل بجد لإصدار هذه الميزة بسرعة.</string>
|
||||
<string name="autofill_inline_suggestions_summary">حاول عرض اقتراحات الملء التلقائي مباشرة من لوحة مفاتيح متوافقة</string>
|
||||
<string name="delete_entered_password_summary">يحذف كلمة المرور التي تم إدخالها بعد محاولة الاتصال بقاعدة البيانات</string>
|
||||
<string name="delete_entered_password_summary">يحذف كلمة السر التي أُدخلت بعد محاولة الاتصال بقاعدة البيانات</string>
|
||||
<string name="education_lock_summary">اقفل قاعدةبياناتك بسرعة، يمكنك إعداد التطبيق لقفلها بعد فترة، وعند إيقاف تشغيل الشاشة.</string>
|
||||
<string name="education_sort_title">فرز العنصر</string>
|
||||
<string name="contribute">ساهِم</string>
|
||||
<string name="upload_attachment">رفع %1$s</string>
|
||||
<string name="download_canceled">ألغيت!</string>
|
||||
<string name="upload_attachment">ارفع %1$s</string>
|
||||
<string name="download_canceled">أُلغِيَ!</string>
|
||||
<string name="unit_kibibyte">كيلو بايت</string>
|
||||
<string name="unit_mebibyte">ميغا بايت</string>
|
||||
<string name="unit_gibibyte">جيجابت</string>
|
||||
@@ -557,7 +556,7 @@
|
||||
<string name="title_case">حالة العنوان</string>
|
||||
<string name="character_count">عدد الأحرف: %1$d</string>
|
||||
<string name="style_choose_summary">السمة المستخدمة في التطبيق</string>
|
||||
<string name="show_entry_colors_summary">يعرض ألوان المقدمة والخلفية لإدخال</string>
|
||||
<string name="show_entry_colors_summary">يعرض ألوان المقدمة والخلفية للمدخل</string>
|
||||
<string name="icon_pack_choose_summary">حزمة الأيقونات المستخدمة في التطبيق</string>
|
||||
<string name="show_entry_colors_title">ألوان الدخول</string>
|
||||
<string name="device_credential_unlock_enable_title">فتح بيانات اعتماد الجهاز</string>
|
||||
@@ -574,15 +573,15 @@
|
||||
<string name="keyboard_previous_fill_in_summary">العودة تلقائيًا إلى لوحة المفاتيح السابقة بعد تنفيذ \"إجراء المفتاح التلقائي\"</string>
|
||||
<string name="download_attachment">تثبيت %1$s</string>
|
||||
<string name="html_about_privacy"><strong> لا يتم استرداد أي بيانات مستخدم</strong>، هذا التطبيق لا يتصل بأي خادم، ويعمل محليًا فقط ويحترم خصوصية المستخدمين تمامًا.</string>
|
||||
<string name="error_cancel_by_user">ألغى المستخدم.</string>
|
||||
<string name="show_otp_token_title">إظهار رمز \"الاقتران لمرة واحدة\" OTP</string>
|
||||
<string name="show_otp_token_summary">إظهار رموز\"الاقتران لمرة واحدة\" في قائمة المدخلات</string>
|
||||
<string name="error_cancel_by_user">أُلغِيَ بواسطة المستخدم.</string>
|
||||
<string name="show_otp_token_title">أظهر رمز OTP</string>
|
||||
<string name="show_otp_token_summary">يعرض رموز OTP في قائمة المدخلات</string>
|
||||
<string name="warning_database_already_opened">قاعدة البيانات مفتوحة بالفعل، أغلقها أولاً لفتح قاعدة البيانات الجديدة</string>
|
||||
<string name="warning_database_info_reloaded">ستؤدي إعادة تحميل قاعدة البيانات إلى حذف البيانات المعدلة محليًا.</string>
|
||||
<string name="templates_group_enable_summary">استخدم القوالب الديناميكية لملء حقول الإدخال</string>
|
||||
<string name="templates_group_enable_summary">استخدم القوالب الديناميكية لملء حقول المدخل</string>
|
||||
<string name="keyboard_auto_go_action_summary">إجراء مفتاح \"Go\" بعد الضغط على مفتاح \"Field\"</string>
|
||||
<string name="allow_no_password_summary">يسمح بالنقر فوق الزر \"فتح\" إذا لم يتم تحديد بيانات اعتماد</string>
|
||||
<string name="education_generate_password_summary">أنشئ كلمة مرور قوية لربطها بإدخالك، وحددها بسهولة وفقًا لمعايير النموذج ولا تنس كلمة المرور الآمنة.</string>
|
||||
<string name="education_generate_password_summary">أنشئ كلمة سر قوية لربطها بإدخالك، وحددها بسهولة وفقًا لمعايير النموذج ولا تنسَ كلمة السر الآمنة.</string>
|
||||
<string name="education_setup_OTP_title">قم بإعداد OTP</string>
|
||||
<string name="style_brightness_title">سطوع السمة</string>
|
||||
<string name="word_separator">الفاصل</string>
|
||||
@@ -597,43 +596,43 @@
|
||||
<string name="kdf_explanation">لإنشاء مفتاح خوارزمية التشفير، يتحول المفتاح الرئيسي باستخدام وظيفة اشتقاق مفتاح مملح عشوائيًا.</string>
|
||||
<string name="html_text_dev_feature_buy_pro">بشراء الإصدار <strong> pro </strong>،</string>
|
||||
<string name="auto_type">كتابة تلقائيًا</string>
|
||||
<string name="hardware_key">مفتاح الجهاز</string>
|
||||
<string name="hardware_key">مفتاح العتاد</string>
|
||||
<string name="advanced_unlock_prompt_store_credential_title">رابط لفتح الجهاز</string>
|
||||
<string name="backspace">فراغ للخلف</string>
|
||||
<string name="enter">دخول</string>
|
||||
<string name="education_sort_summary">اختر كيفية فرز الإدخالات والمجموعات.</string>
|
||||
<string name="education_sort_summary">اختر كيفية فرز المدخلات والمجموعات.</string>
|
||||
<string name="html_text_feature_generosity">هذا <strong> النمط المرئي</strong> متاح بفضل كرمك.</string>
|
||||
<string name="info">المعلومات</string>
|
||||
<string name="waiting_challenge_response">في انتظار استجابة التحدي…</string>
|
||||
<string name="bank_identifier_code">SWIFT / BIC</string>
|
||||
<string name="international_bank_account_number">IBAN</string>
|
||||
<string name="error_no_hardware_key">حدد مفتاح الجهاز.</string>
|
||||
<string name="colorize_password_summary">تلوين أحرف كلمة المرور حسب النوع</string>
|
||||
<string name="enable_keep_screen_on_summary">استمر في تشغيل الشاشة عند مشاهدة إدخال أو تعديله</string>
|
||||
<string name="error_no_hardware_key">حدّد مفتاح العتاد.</string>
|
||||
<string name="colorize_password_summary">لوّن أحرف كلمة السر حسب النوع</string>
|
||||
<string name="enable_keep_screen_on_summary">استمر في تشغيل الشاشة عند مشاهدة مدخل أو تعديله</string>
|
||||
<string name="enable_screenshot_mode_title">وضع لقطة الشاشة</string>
|
||||
<string name="navigation_drawer_open">درج التنقل مفتوح</string>
|
||||
<string name="waiting_challenge_request">في انتظار طلب التحدي…</string>
|
||||
<string name="navigation_drawer_close">درج التنقل مقفول</string>
|
||||
<string name="error_XML_malformed">XML تالف.</string>
|
||||
<string name="error_otp_type">لم يتم التعرف على نوع OTP الحالي من خلال هذا النموذج، وقد لا يؤدي التحقق من صحته إلى إنشاء الرمز المميز بشكل صحيح.</string>
|
||||
<string name="error_challenge_already_requested">التحدي مطلوب بالفعل</string>
|
||||
<string name="error_challenge_already_requested">التحدي طُلَب بالفعل.</string>
|
||||
<string name="error_response_already_provided">تقدم الرد بالفعل.</string>
|
||||
<string name="error_no_response_from_challenge">غير قادر على الحصول على رد من التحدي.</string>
|
||||
<string name="error_driver_required">مطلوب تعريف لـ%1$s.</string>
|
||||
<string name="error_unable_merge_database_kdb">غير قادر على الدمج مع ملف قاعدة بيانات kdb</string>
|
||||
<string name="error_unable_merge_database_kdb">غير قادر على الدمج مع ملف قاعدة بيانات kdb.</string>
|
||||
<string name="error_location_unknown">موقع قاعدة البيانات غير معروف، لا يمكن تنفيذ إجراء قاعدة البيانات.</string>
|
||||
<string name="menu_advanced_unlock_settings_summary">القياس الحيوي، بيانات اعتماد الجهاز</string>
|
||||
<string name="menu_database_settings_summary">البيانات الوصفية، سلة المحذوفات، القوالب، التاريخ</string>
|
||||
<string name="menu_security_settings_summary">التشفير، وظيفة اشتقاق المفتاح</string>
|
||||
<string name="error_hardware_key_unsupported">مفتاح الجهاز غير مدعوم.</string>
|
||||
<string name="error_hardware_key_unsupported">مفتاح العتاد غير مدعوم.</string>
|
||||
<string name="master_key_settings_summary">التغيير والتجديد</string>
|
||||
<string name="error_empty_key">لا يمكن أن يكون المفتاح فارغًا.</string>
|
||||
<string name="corrupted_file">ملف تالف.</string>
|
||||
<string name="warning_keyfile_integrity">لا يتم ضمان تجزئة الملف لأن Android يمكنه تغيير بياناته بسرعة. قم بتغيير امتداد الملف إلى bin. من أجل التكامل الصحيح.</string>
|
||||
<string name="invalid_db_same_uuid">%1$s بنفس UUID %2$s موجود بالفعل.</string>
|
||||
<string name="remember_hardware_key_title">تذكر مفاتيح الأجهزة</string>
|
||||
<string name="remember_hardware_key_title">تذكر مفاتيح العتاد</string>
|
||||
<string name="warning_exact_alarm">لم تسمح للتطبيق باستخدام منبه دقيق. نتيجة لذلك، لن يتم تنفيذ الميزات التي تتطلب مؤقتًا في وقت محدد.</string>
|
||||
<string name="remember_hardware_key_summary">يتتبع مفاتيح الأجهزة المستخدمة</string>
|
||||
<string name="remember_hardware_key_summary">يتتبع مفاتيح العتاد المستخدمة</string>
|
||||
<string name="warning_database_notification_permission">يسمح لك إذن الإشعار بعرض حالة قاعدة البيانات وقفلها باستخدام زر يسهل الوصول إليه.
|
||||
\n
|
||||
\nإذا لم تنشط هذا الإذن، فلن تكون قاعدة البيانات المفتوحة في الخلفية مرئية إذا كان هناك تطبيق آخر في المقدمة.</string>
|
||||
@@ -646,10 +645,9 @@
|
||||
<string name="advanced_unlock_prompt_extract_credential_message">استخراج بيانات اعتماد قاعدة البيانات مع بيانات فتح الجهاز</string>
|
||||
<string name="ask">إسأل</string>
|
||||
<string name="configure_biometric">لم تسجل بيانات اعتماد المقاييس الحيوية أو الجهاز.</string>
|
||||
<string name="show_uuid_title">إظهار \"المعرف العام المميز\" UUID</string>
|
||||
<string name="show_uuid_title">أظهر \"المعرّف العام المميز\" UUID</string>
|
||||
<string name="unlock_and_link_biometric">رابط فتح الجهاز</string>
|
||||
<string name="advanced_unlock_invalid_key">لا يمكن قراءة مفتاح فتح الجهاز. يرجى حذفه وتكرار إجراء التعرف على الفتح.</string>
|
||||
<string name="advanced_unlock_scanning_error">خطأ في فتح الجهاز: %1$s</string>
|
||||
<string name="menu_appearance_settings_summary">المظاهر والألوان والسمات</string>
|
||||
<string name="autofill_explanation_summary">تمكين الملء التلقائي لملء النماذج بسرعة في التطبيقات الأخرى</string>
|
||||
<string name="device_credential_unlock_enable_summary">يتيح لك استخدام بيانات اعتماد جهازك لفتح قاعدة البيانات</string>
|
||||
@@ -662,14 +660,12 @@
|
||||
\nاعتمادًا على تطبيق API الأصلي لنظام التشغيل، قد لا يعمل بكامل طاقته.
|
||||
\n
|
||||
\nتحقق من توافق وأمن KeyStore مع الشركة المصنعة لجهازك ومنشئ ROM الذي تستخدمه.</string>
|
||||
<string name="keyboard_selection_entry_summary">عند عرض إدخال في KeePassDX، عبئ Magikeyboard بهذا الإدخال</string>
|
||||
<string name="keyboard_selection_entry_summary">عند عرض مدخل في KeePassDX، عبئ Magikeyboard بهذا المدخل</string>
|
||||
<string name="enable_screenshot_mode_summary">اسمح لتطبيقات الطرف الثالث بتسجيل أو التقاط لقطات شاشة للتطبيق</string>
|
||||
<string name="keyboard_save_search_info_summary">حاول حفظ المعلومات المشتركة عند إجراء اختيار إدخال يدوي لاستخدامات مستقبلية أسهل</string>
|
||||
<string name="education_entry_edit_summary">تحرير الإدخال الخاص بك مع الحقول المخصصة. يمكن الرجوع إلى بيانات التجمع بين حقول الإدخال المختلفة.</string>
|
||||
<string name="education_validate_entry_title">تحقق من صحة الإدخال</string>
|
||||
<string name="education_validate_entry_summary">تذكر التحقق من صحة الإدخال الخاص بك وحفظ قاعدة البيانات الخاصة بك.
|
||||
\n
|
||||
\nإذا تم تنشيط القفل التلقائي ونسيت أنك تجري تعديلاً، فإنك تخاطر بفقدان بياناتك.</string>
|
||||
<string name="keyboard_save_search_info_summary">حاول حفظ المعلومات المشتركة عند إجراء اختيار مدخل يدوي لاستخدامات مستقبلية أسهل</string>
|
||||
<string name="education_entry_edit_summary">عدّل إدخالك مع الحقول المخصّصة. يمكن الرجوع إلى بيانات التجمع بين حقول مدخل المختلفة.</string>
|
||||
<string name="education_validate_entry_title">تحقق من صحة المدخل</string>
|
||||
<string name="education_validate_entry_summary">تذكر التحقق من صحة إدخالك وحفظ قاعدة بياناتك. \n \nإذا القفل التلقائي مُنشّط ونسيت أنك تجري تعديلاً، فإنك تخاطر بفقدان بياناتك.</string>
|
||||
<string name="education_entry_new_field_summary">قم بتسجيل حقل إضافي، أضف قيمة وقم بحمايته بشكل اختياري.</string>
|
||||
<string name="education_unlock_summary">أدخل كلمة المرور و/أو ملف المفتاح لفتح قاعدة بياناتك.
|
||||
\n
|
||||
@@ -682,7 +678,7 @@
|
||||
<string name="download_initialization">جارِ التهيئة…</string>
|
||||
<string name="download_progression">قيد التقدم: %1$d%%</string>
|
||||
<string name="html_text_buy_pro">بشراء الإصدار الاحترافي، ستتمتع بإمكانية الوصول إلى هذا <strong> النمط المرئي</strong> وستساعد بشكل خاص في <strong> تنفيذ مشروعات المجتمع. </strong></string>
|
||||
<string name="html_text_donation">من أجل الحفاظ على حريتنا ولكي نكون نشيطين دائمًا، فإننا نعتمد على <strong> مساهمتك.</strong></string>
|
||||
<string name="html_text_donation">من خلال <strong>المساهمة</strong> في المشروع <i>(مالياً أو برمجياً أو ترجمة)</i>، ستساعده على الاستمرار في الحياة والازدهار، وستكون مؤهلاً أيضاً لإجراء فتح <strong>السمة</strong>.</string>
|
||||
<string name="html_text_dev_feature_encourage">أنت تشجع المطورين على إنشاء <strong> ميزات جديدة</strong> و <strong> إصلاح الخلل</strong> وفقًا لملاحظاتك.</string>
|
||||
<string name="style_name_forest">غابة</string>
|
||||
<string name="style_name_simple">بسيط</string>
|
||||
@@ -696,4 +692,11 @@
|
||||
<string name="style_name_kunzite">الكونزيت</string>
|
||||
<string name="style_name_follow_system">اتبع النظام</string>
|
||||
<string name="style_name_light">فاتح</string>
|
||||
<string name="hide_templates_summary">لا يتم عرض القوالب</string>
|
||||
<string name="generate_keyfile">ولّد ملف مفتاح</string>
|
||||
<string name="nodes">العُقد</string>
|
||||
<string name="recursive_number_entries_title">عدد متكرر من المدخلات</string>
|
||||
<string name="recursive_number_entries_summary">يحسب بشكل متكرر عدد المدخلات في المجموعة</string>
|
||||
<string name="warning_large_keyfile">لا يُنصح بإضافة ملف مفتاحي كبير، فقد يؤدي هذا إلى منع فتح قاعدة البيانات.</string>
|
||||
<string name="hide_templates_title">أخفِ القوالب</string>
|
||||
</resources>
|
||||
@@ -94,7 +94,7 @@
|
||||
<string name="error_rounds_too_large">\"Transformasiya mərhələləri\" çox yüksəkdir. 2147483648-ə təyin edin.</string>
|
||||
<string name="error_save_database">Malumat bazasını yadda saxlamaq mümkün olmadı.</string>
|
||||
<string name="error_otp_secret_key">Məxfi söz Base32 formatında olmalıdır.</string>
|
||||
<string name="error_challenge_already_requested">Doğrulama artıq istənilib</string>
|
||||
<string name="error_challenge_already_requested">Doğrulama artıq istənilib.</string>
|
||||
<string name="error_response_already_provided">Artıq cavab verilib.</string>
|
||||
<string name="error_location_unknown">Məlumat bazasının yeri məlum deyil, məlumat bazası funksiyası yerinə yetirilə bilməz.</string>
|
||||
<string name="error_empty_key">Açar bölməsi boş saxlanıla bilməz.</string>
|
||||
@@ -183,8 +183,8 @@
|
||||
<string name="underline">Altdan xətt</string>
|
||||
<string name="uppercase">Böyük hərf</string>
|
||||
<string name="warning">Xəbərdarlıq</string>
|
||||
<string name="error_import_app_properties">Tətbiqin parametrlərinin idxalı zamanı xəta baş verdi</string>
|
||||
<string name="error_export_app_properties">Tətbiqin parametrləri idxal edilən zaman xəta baş verdi</string>
|
||||
<string name="error_import_app_properties">Tətbiqin parametrlərinin idxalı zamanı xəta baş verdi.</string>
|
||||
<string name="error_export_app_properties">Tətbiqin parametrləri idxal edilən zaman xəta baş verdi.</string>
|
||||
<string name="root">Kök</string>
|
||||
<string name="sort_menu">Çeşidlə</string>
|
||||
<string name="sort_username">İstifadəçi adı</string>
|
||||
@@ -199,7 +199,6 @@
|
||||
<string name="keystore_not_accessible">Açar ehtiyyatı düzgün formada başladılmadı.</string>
|
||||
<string name="advanced_unlock_prompt_store_credential_title">Cihaz kilidini açma linki</string>
|
||||
<string name="database_history">Tarixçə</string>
|
||||
<string name="advanced_unlock_scanning_error">Cihaz kilidini açma xətası: %1$s</string>
|
||||
<string name="warning_database_info_reloaded">Məlumat bazasını yenidən yükləmək lokal olaraq modifikasiya olunmuş faylları siləcəkdir.</string>
|
||||
<string name="warning_database_revoked">Fayla giriş fayl meneceri tərəfindən ləğv edildi, məlumat bazasını bağlayın və onu olduğu yerdən yenidən açın.</string>
|
||||
<string name="warning_exact_alarm">Siz tətəbiqin zəngli saatdan istifadə etməsinə icazə verməmisiniz. Nəticədə, taymer tələb edən funksiyalar dəqiq bir zamanda işləməyəckdir.</string>
|
||||
@@ -415,7 +414,7 @@
|
||||
<string name="entry_url">URL</string>
|
||||
<string name="entry_user_name">İstifadəçi adı</string>
|
||||
<string name="error_arc4">Arcfour axın şifrəsi dəstəklənmir.</string>
|
||||
<string name="error_file_not_create">Faylı yaratmaq mümkün olmadə</string>
|
||||
<string name="error_file_not_create">Faylı yaratmaq mümkün olmadə.</string>
|
||||
<string name="error_can_not_handle_uri">Bu URİ-nin KeePassDX-də istifadəsi mümkün olmadı.</string>
|
||||
<string name="case_sensitive">Böyük/kiçik hərf həssaslığı</string>
|
||||
<string name="error_invalid_db">Məlumat bazasını oxumaq mümkün olmadı.</string>
|
||||
@@ -434,7 +433,7 @@
|
||||
<string name="error_otp_digits">Jeton %1$d ilə %2$d arası rəqəmlərdən ibarət olmalıdır.</string>
|
||||
<string name="error_otp_type">Mövcud OTP növü bu form tərəfindən tanınmır, onun doğrulaması artıq düzgün şəkildə jeton yaratmaya bilər.</string>
|
||||
<string name="error_string_type">Bu mətn istənilən məlumat (fayl) ilə uyğunlaşmır.</string>
|
||||
<string name="error_registration_read_only">Dəyişməz (yalnız oxuna bilən) məlumat bazasında yeni bir məlumatın yadda saxlanılmasına icazə verilmir</string>
|
||||
<string name="error_registration_read_only">Dəyişməz (yalnız oxuna bilən) məlumat bazasında yeni bir məlumatın yadda saxlanılmasına icazə verilmir.</string>
|
||||
<string name="error_field_name_already_exists">Sahə (bölmə) adı artıq mövcuddur.</string>
|
||||
<string name="error_database_uri_null">Mləlumat bazası URİ-sini geri qaytarmaq olmur.</string>
|
||||
<string name="error_rebuild_list">Listi düzgün şəkildə yenidən hazırlamaq mümkün deyil.</string>
|
||||
@@ -444,7 +443,7 @@
|
||||
<string name="error_remove_file">Fayl məlumatlarını silərkən xəta baş verdi.</string>
|
||||
<string name="error_start_database_action">Məlumat bazasında prosses həyata keçirilərkən xəta baş verdi.</string>
|
||||
<string name="error_no_response_from_challenge">Doğrulama istəyindən cavab almaq mümkün deyil.</string>
|
||||
<string name="error_unable_merge_database_kdb">kdb məlumat bazası faylı ilə birləşdirmə etmək mümkün deyil</string>
|
||||
<string name="error_unable_merge_database_kdb">kdb məlumat bazası faylı ilə birləşdirmə etmək mümkün deyil.</string>
|
||||
<string name="invalid_credentials">Şəxsiyyəti təsdiq edən məlumatları oxumaq mümkün olmadı.</string>
|
||||
<string name="invalid_algorithm">Yanlış alqoritma.</string>
|
||||
<string name="invalid_db_same_uuid">%1$s eyni UUİD dəyərinə sahib %2$s artıq mövcuddur.</string>
|
||||
|
||||
@@ -74,7 +74,7 @@
|
||||
<string name="file_not_found_content">Nije moguće pronaći datoteku. Pokušajte ponovo da je otvorite iz svog pregledača datoteka.</string>
|
||||
<string name="field_value">Vrednost polja</string>
|
||||
<string name="field_name">Naziv polja</string>
|
||||
<string name="error_registration_read_only">Čuvanje nove stavke nije dozvoljeno u bazi podataka koja je samo za čitanje</string>
|
||||
<string name="error_registration_read_only">Čuvanje nove stavke nije dozvoljeno u bazi podataka koja je samo za čitanje.</string>
|
||||
<string name="error_string_type">Ovaj tekst se ne podudara sa traženom stavkom.</string>
|
||||
<string name="error_otp_period">Broj sekundi perioda mora biti u opsegu od %1$d do %2$d.</string>
|
||||
<string name="error_otp_digits">Broj cifara tokena mora biti u opsegu od %1$d do %2$d.</string>
|
||||
@@ -100,7 +100,7 @@
|
||||
<string name="error_invalid_OTP">Nevažeća OTP tajna.</string>
|
||||
<string name="error_invalid_path">Proverite da li je putanja ispravna.</string>
|
||||
<string name="error_invalid_db">Nije moguće pročitati bazu podataka.</string>
|
||||
<string name="error_file_not_create">Nije moguće kreirati datoteku</string>
|
||||
<string name="error_file_not_create">Nije moguće kreirati datoteku.</string>
|
||||
<string name="error_can_not_handle_uri">Nije moguće obraditi ovaj URI u keePassDX-u.</string>
|
||||
<string name="error_arc4">Archfour šifrovanje nije podržano.</string>
|
||||
<string name="entry_user_name">Korisničko ime</string>
|
||||
@@ -312,7 +312,7 @@
|
||||
<string name="bank_name">Ime banke</string>
|
||||
<string name="version">Verzija</string>
|
||||
<string name="error_remove_file">Došlo je do greške pri uklanjanju podataka iz datoteke.</string>
|
||||
<string name="error_challenge_already_requested">Izazov je već zahtevan</string>
|
||||
<string name="error_challenge_already_requested">Izazov je već zahtevan.</string>
|
||||
<string name="error_hardware_key_unsupported">Hardverski ključ nije podržan.</string>
|
||||
<string name="error_empty_key">Ključ ne može biti prazan.</string>
|
||||
<string name="colorize_password_summary">Obojite znakove lozinke po tipu</string>
|
||||
@@ -326,7 +326,7 @@
|
||||
<string name="rounds_explanation">Dodatne runde šifrovanja pružaju veću zaštitu od napada grube sile, ali zaista mogu usporiti učitavanje i čuvanje.</string>
|
||||
<string name="memory_usage_explanation">Količina memorije koju će koristiti funkcija izvođenja ključa.</string>
|
||||
<string name="space">Razmak</string>
|
||||
<string name="error_unable_merge_database_kdb">Nije moguće spojiti sa kdb datotekom baze podataka</string>
|
||||
<string name="error_unable_merge_database_kdb">Nije moguće spojiti sa kdb datotekom baze podataka.</string>
|
||||
<string name="error_location_unknown">Lokacija baze podataka je nepoznata, radnja baze podataka se ne može izvršiti.</string>
|
||||
<string name="corrupted_file">Oštećena datoteka.</string>
|
||||
<string name="colorize_password_title">Obojite lozinke</string>
|
||||
@@ -340,7 +340,7 @@
|
||||
<string name="remember_database_locations_title">Zapamtite lokacije baza podataka</string>
|
||||
<string name="remember_hardware_key_title">Zapamtite hardverske ključeve</string>
|
||||
<string name="remember_hardware_key_summary">Vodi evidenciju o korišćenim hardverskim ključevima</string>
|
||||
<string name="error_import_app_properties">Greška tokom uvoza podešavanja aplikacije</string>
|
||||
<string name="error_import_app_properties">Greška tokom uvoza podešavanja aplikacije.</string>
|
||||
<string name="hide_broken_locations_title">Sakrij neispravne veze baze podataka</string>
|
||||
<string name="import_app_properties_title">Uvezite podešavanja aplikacije</string>
|
||||
<string name="description_app_properties">KeePassDX svojstva za upravljanje podešavanjima aplikacije</string>
|
||||
@@ -405,7 +405,7 @@
|
||||
<string name="subdomain_search_title">Pretraga poddomena</string>
|
||||
<string name="progress_create">Pravljenje nove baze podataka…</string>
|
||||
<string name="read_only">Zaštićeno od pisanja</string>
|
||||
<string name="error_export_app_properties">Greška tokom izvoza podešavanja aplikacije</string>
|
||||
<string name="error_export_app_properties">Greška tokom izvoza podešavanja aplikacije.</string>
|
||||
<string name="contains_duplicate_uuid">Baza podataka sadrži duplirane UUID-ove.</string>
|
||||
<string name="contains_duplicate_uuid_procedure">Rešiti problem generisanjem novih UUID-ova za nastavak duplikata?</string>
|
||||
<string name="search_mode">Režim pretrage</string>
|
||||
|
||||
@@ -89,7 +89,7 @@
|
||||
<string name="entry_otp">OTP</string>
|
||||
<string name="error_arc4">唔支援Arcfour stream密碼。</string>
|
||||
<string name="error_can_not_handle_uri">KeePassDX 處理唔到呢個網址。</string>
|
||||
<string name="error_file_not_create">新增唔到檔案</string>
|
||||
<string name="error_file_not_create">新增唔到檔案。</string>
|
||||
<string name="error_invalid_db">讀取唔到資料庫。</string>
|
||||
<string name="error_invalid_path">請確保路徑正確。</string>
|
||||
<string name="error_invalid_OTP">無效 OTP 密鑰。</string>
|
||||
|
||||
@@ -36,7 +36,7 @@
|
||||
<string name="contribution">Участие</string>
|
||||
<string name="entry_UUID">Идентификатор</string>
|
||||
<string name="entry_history">История</string>
|
||||
<string name="copy_field">%1$s копие</string>
|
||||
<string name="copy_field">Копирано: %1$s</string>
|
||||
<string name="clipboard_error_title">Грешка в клипборда</string>
|
||||
<string name="file_manager_install_description">За създаване, отваряне и запазване на файлове на хранилищата е необходимо приложение за управление на файлове, което приема действието ACTION_CREATE_DOCUMENT и ACTION_OPEN_DOCUMENT.</string>
|
||||
<string name="content_description_add_entry">Нов запис</string>
|
||||
@@ -298,7 +298,7 @@
|
||||
<string name="settings_database_force_changing_master_key_title">Принудителна смяна</string>
|
||||
<string name="database_name_title">Име на хранилището</string>
|
||||
<string name="database_description_title">Описание на хранилището</string>
|
||||
<string name="magic_keyboard_title">Magikeyboard</string>
|
||||
<string name="magic_keyboard_title">Настройки на Magikeyboard</string>
|
||||
<string name="keyboard_label">Magikeyboard (KeePassDX)</string>
|
||||
<string name="keyboard_entry_category">Запис</string>
|
||||
<string name="keyboard_appearance_category">Външен вид</string>
|
||||
@@ -456,12 +456,12 @@
|
||||
<string name="html_text_dev_feature_upgrade">Не забравяйте да обновявате приложението.</string>
|
||||
<string name="html_text_dev_feature_encourage">вие поощрявате разработчиците да добавят <strong>нови възможности</strong> и да <strong>отстраняват дефекти</strong> според вашите отзиви.</string>
|
||||
<string name="html_text_buy_pro">Купувайки версията Pro ще имате достъп до тази <strong>тема</strong> и особено ще помогнете за <strong>изпълнението на проекти на общността</strong>.</string>
|
||||
<string name="html_text_donation">За да развиваме проекта и да запазим неговата независимост се нуждаем от вашата <strong>поддръжка</strong>.</string>
|
||||
<string name="html_text_donation">Като <strong>допринасяте</strong> за проекта <i>(финансово, с код или преводи)</i> му помагате да живее и процъвтява, а също получавате процедурата за отключване на <strong>темите</strong>.</string>
|
||||
<string name="hint_keyfile">Файл с ключ</string>
|
||||
<string name="invalid_algorithm">Грешен алгоритъм.</string>
|
||||
<string name="description_app_properties">Свойства за управление на настройките на KeePassDX</string>
|
||||
<string name="success_export_app_properties">Настройките на приложението са изнесени</string>
|
||||
<string name="error_export_app_properties">Грешка при изнасяне на настройки</string>
|
||||
<string name="error_export_app_properties">Грешка при изнасяне на настройки.</string>
|
||||
<string name="error_invalid_OTP">Неприемлива тайна за OTP.</string>
|
||||
<string name="error_no_name">Въведете име.</string>
|
||||
<string name="hide_broken_locations_summary">Скрива вече несъществуващи хранилища от списъка с последно отваряните</string>
|
||||
@@ -478,7 +478,7 @@
|
||||
<string name="encryption_explanation">Алгоритъм за шифроване на цялата информация</string>
|
||||
<string name="memory_usage">Използвана памет</string>
|
||||
<string name="error_invalid_path">Уверете се, че пътят е правилен.</string>
|
||||
<string name="error_import_app_properties">Грешка при внасяне на настройки</string>
|
||||
<string name="error_import_app_properties">Грешка при внасяне на настройки.</string>
|
||||
<string name="parallelism">Паралелно изпълняване</string>
|
||||
<string name="success_import_app_properties">Настройките на приложението са внесени</string>
|
||||
<string name="read_only_warning">В зависимост от приложението за управление на файлове, KeePassDX може да няма права да пише в паметта на устройството.</string>
|
||||
@@ -498,7 +498,7 @@
|
||||
<string name="lock_database_screen_off_title">Заключване на екрана</string>
|
||||
<string name="database_data_remove_unlinked_attachments_title">Премахване на несвързани данни</string>
|
||||
<string name="warning_sure_add_file">Добавяне на файла въпреки това?</string>
|
||||
<string name="error_unable_merge_database_kdb">Не е възможно обединяване с хранилище във формат KBD</string>
|
||||
<string name="error_unable_merge_database_kdb">Не е възможно обединяване с хранилище във формат KBD.</string>
|
||||
<string name="memory_usage_explanation">Количество памет, използвана от функцията за извличане на ключове.</string>
|
||||
<string name="warning_database_already_opened">Има отворено хранилище, затворете го, за да отворите друго</string>
|
||||
<string name="warning_replace_file">При добавяне на този файл ще бъде заменен вече съществуващ.</string>
|
||||
@@ -508,7 +508,7 @@
|
||||
<string name="merge_success">Обединяването е завършено</string>
|
||||
<string name="configure">Настройка</string>
|
||||
<string name="unavailable">Недостъпно</string>
|
||||
<string name="database_opened">Хранилището е отвоерно</string>
|
||||
<string name="database_opened">Хранилището е отключено</string>
|
||||
<string name="ask">Питане</string>
|
||||
<string name="list_password_generator_options_summary">Задава набора от разрешени знаци за създаване на парола</string>
|
||||
<string name="later">По-късно</string>
|
||||
@@ -536,7 +536,6 @@
|
||||
<string name="recycle_bin_title">Използване на кошчето</string>
|
||||
<string name="recycle_bin_summary">Премества групите и записите в групата „Кошче“ вместо да ги премахва директно</string>
|
||||
<string name="advanced_unlock_prompt_store_credential_title">Отключване с устройството</string>
|
||||
<string name="advanced_unlock_scanning_error">Грешка при отключване на устройството: %1$s</string>
|
||||
<string name="advanced_unlock_not_recognized">Не може да бъде разпознато кога устройството е отключено</string>
|
||||
<string name="advanced_unlock_prompt_not_initialized">Заявката за отключване не може да бъде подготвена.</string>
|
||||
<string name="password_size_summary">Подразбирана дължина на създаваните пароли</string>
|
||||
@@ -571,7 +570,7 @@
|
||||
<string name="error_disallow_no_credentials">Трябва да има зададена най-малко една парола.</string>
|
||||
<string name="error_pass_match">Паролите се различават.</string>
|
||||
<string name="error_string_type">Текстът не съвпада с търсения елемент.</string>
|
||||
<string name="error_registration_read_only">Нов запис не може да бъде добавен в хранилище, отворено само за четене</string>
|
||||
<string name="error_registration_read_only">Нов запис не може да бъде добавен в хранилище, отворено само за четене.</string>
|
||||
<string name="error_start_database_action">Възникна грешка при извършване на действие с хранилището.</string>
|
||||
<string name="keyboard_entry_timeout_title">Време за изчакване</string>
|
||||
<string name="autofill_application_id_blocklist_title">Черен списък на приложения</string>
|
||||
@@ -680,4 +679,9 @@
|
||||
<string name="warning_database_info_changed_options_read_only">Презаредете последните промени в хранилището.</string>
|
||||
<string name="generate_keyfile">Създаване на файл с ключ</string>
|
||||
<string name="nodes">Възли</string>
|
||||
<string name="recursive_number_entries_summary">Изчислява броя на всички записи в групата</string>
|
||||
<string name="recursive_number_entries_title">Брой на записите</string>
|
||||
<string name="warning_large_keyfile">Не се препоръчва използването на голям файл с ключ, защото може да попречи на отварянето на хранилището.</string>
|
||||
<string name="hide_templates_summary">Шаблоните не се показват</string>
|
||||
<string name="hide_templates_title">Скриване на шаблоните</string>
|
||||
</resources>
|
||||
@@ -155,8 +155,8 @@
|
||||
<string name="version">সংস্করণ</string>
|
||||
<string name="error_arc4">আর্কফোর স্ট্রিম সাইফার সমর্থিত নয়।</string>
|
||||
<string name="error_can_not_handle_uri">KeePassDX-এ এই URI পরিচালনা করা যায়নি।</string>
|
||||
<string name="error_file_not_create">ফাইল তৈরি করা যায়নি</string>
|
||||
<string name="error_invalid_db">ডাটাবেস পড়া যায়নি.</string>
|
||||
<string name="error_file_not_create">ফাইল তৈরি করা যায়নি।</string>
|
||||
<string name="error_invalid_db">ডাটাবেস পড়া যায়নি।</string>
|
||||
<string name="error_invalid_path">পথ সঠিক কিনা নিশ্চিত করুন।</string>
|
||||
<string name="error_invalid_OTP">অবৈধ OTP গোপন.</string>
|
||||
<string name="error_no_name">একটি নাম লিখুন।</string>
|
||||
@@ -169,7 +169,7 @@
|
||||
<string name="error_copy_entry_here">আপনি এখানে একটি এন্ট্রি কপি করতে পারবেন না.</string>
|
||||
<string name="error_copy_group_here">আপনি এখানে একটি গ্রুপ অনুলিপি করতে পারবেন না.</string>
|
||||
<string name="error_create_database">ডাটাবেস ফাইল তৈরি করতে অক্ষম।</string>
|
||||
<string name="error_create_database_file">এই পাসওয়ার্ড এবং কীফাইল দিয়ে ডাটাবেস তৈরি করতে অক্ষম৷</string>
|
||||
<string name="error_create_database_file">এই পাসওয়ার্ড এবং কীফাইল দিয়ে ডাটাবেস তৈরি করতে অক্ষম৷।</string>
|
||||
<string name="error_move_group_here">আপনি এখানে একটি গ্রুপ সরাতে পারবেন না.</string>
|
||||
<string name="error_otp_type">বিদ্যমান OTP প্রকারটি এই ফর্ম দ্বারা স্বীকৃত নয়, এর বৈধতা আর সঠিকভাবে টোকেন তৈরি করতে পারে না।</string>
|
||||
<string name="error_string_type">এই পাঠ্যটি অনুরোধ করা আইটেমের সাথে মেলে না।</string>
|
||||
@@ -263,8 +263,8 @@
|
||||
<string name="error_rebuild_list">সঠিকভাবে তালিকা পুনর্নির্মাণ করতে অক্ষম.</string>
|
||||
<string name="error_duplicate_file">ফাইল ডেটা ইতিমধ্যেই বিদ্যমান।</string>
|
||||
<string name="error_response_already_provided">প্রতিক্রিয়া ইতিমধ্যে প্রদান করা হয়েছে.</string>
|
||||
<string name="error_driver_required">%1$s এর জন্য ড্রাইভার প্রয়োজন৷</string>
|
||||
<string name="error_unable_merge_database_kdb">একটি ডাটাবেস V1 থেকে মার্জ করতে অক্ষম৷</string>
|
||||
<string name="error_driver_required">%1$s এর জন্য ড্রাইভার প্রয়োজন৷।</string>
|
||||
<string name="error_unable_merge_database_kdb">একটি ডাটাবেস V1 থেকে মার্জ করতে অক্ষম৷।</string>
|
||||
<string name="error_location_unknown">ডাটাবেস অবস্থান অজানা, ডাটাবেস কর্ম সঞ্চালিত করা যাবে না.</string>
|
||||
<string name="error_hardware_key_unsupported">হার্ডওয়্যার কী সমর্থিত নয়।</string>
|
||||
<string name="error_empty_key">কী খালি হতে পারে না।</string>
|
||||
@@ -337,12 +337,12 @@
|
||||
<string name="menu_empty_recycle_bin">রিসাইকেল বিন খালি করুন</string>
|
||||
<string name="menu_restore_entry_history">ইতিহাস পুনরুদ্ধার করুন</string>
|
||||
<string name="rounds_explanation">অতিরিক্ত এনক্রিপশন রাউন্ডগুলি ব্রুট ফোর্স অ্যাটাকগুলির বিরুদ্ধে উচ্চ সুরক্ষা প্রদান করে, তবে এটি সত্যিই লোড এবং সংরক্ষণকে ধীর করে দিতে পারে।</string>
|
||||
<string name="error_export_app_properties">অ্যাপ্লিকেশন বৈশিষ্ট্য রপ্তানি সময় ত্রুটি</string>
|
||||
<string name="error_export_app_properties">অ্যাপ্লিকেশন বৈশিষ্ট্য রপ্তানি সময় ত্রুটি।</string>
|
||||
<string name="command_execution">কমান্ড কার্যকর করা হচ্ছে…</string>
|
||||
<string name="export_app_properties_title">অ্যাপের বৈশিষ্ট্য রপ্তানি করুন</string>
|
||||
<string name="export_app_properties_summary">অ্যাপের বৈশিষ্ট্য রপ্তানি করতে একটি ফাইল তৈরি করুন</string>
|
||||
<string name="description_app_properties">অ্যাপ সেটিংস পরিচালনা করতে KeePassDX বৈশিষ্ট্য</string>
|
||||
<string name="error_import_app_properties">অ্যাপ বৈশিষ্ট্য আমদানির সময় ত্রুটি</string>
|
||||
<string name="error_import_app_properties">অ্যাপ বৈশিষ্ট্য আমদানির সময় ত্রুটি।</string>
|
||||
<string name="warning_database_already_opened">একটি ডাটাবেস ইতিমধ্যেই খোলা আছে, নতুনটি খুলতে প্রথমে এটি বন্ধ করুন</string>
|
||||
<string name="warning_empty_keyfile_explanation">কীফাইলের বিষয়বস্তু কখনই পরিবর্তন করা উচিত নয় এবং সর্বোত্তম ক্ষেত্রে, এলোমেলোভাবে উৎপন্ন ডেটা থাকা উচিত।</string>
|
||||
<string name="warning_remove_unlinked_attachment">আনলিঙ্ক করা ডেটা মুছে দিলে আপনার ডাটাবেসের আকার কমে যেতে পারে কিন্তু KeePass প্লাগইনগুলির জন্য ব্যবহৃত ডেটাও মুছে যেতে পারে।</string>
|
||||
@@ -354,14 +354,14 @@
|
||||
<string name="waiting_challenge_response">চ্যালেঞ্জের প্রতিক্রিয়ার জন্য অপেক্ষা করা হচ্ছে…</string>
|
||||
<string name="template_group_name">টেমপ্লেট</string>
|
||||
<string name="save">সংরক্ষণ</string>
|
||||
<string name="error_remove_file">ফাইল ডেটা সরানোর সময় একটি ত্রুটি ঘটেছে৷</string>
|
||||
<string name="error_start_database_action">ডাটাবেসে একটি ক্রিয়া সম্পাদন করার সময় একটি ত্রুটি ঘটেছে৷</string>
|
||||
<string name="error_challenge_already_requested">চ্যালেঞ্জ ইতিমধ্যে অনুরোধ করা হয়েছে</string>
|
||||
<string name="error_remove_file">ফাইল ডেটা সরানোর সময় একটি ত্রুটি ঘটেছে৷।</string>
|
||||
<string name="error_start_database_action">ডাটাবেসে একটি ক্রিয়া সম্পাদন করার সময় একটি ত্রুটি ঘটেছে৷।</string>
|
||||
<string name="error_challenge_already_requested">চ্যালেঞ্জ ইতিমধ্যে অনুরোধ করা হয়েছে।</string>
|
||||
<string name="error_otp_secret_key">গোপন কী অবশ্যই বেস 32 ফর্ম্যাটে হতে হবে।</string>
|
||||
<string name="error_otp_counter">কাউন্টার অবশ্যই %1$d এবং %2$d এর মধ্যে হতে হবে।</string>
|
||||
<string name="error_otp_period">সময়কাল %1$d এবং %2$d সেকেন্ডের মধ্যে হতে হবে।</string>
|
||||
<string name="error_otp_digits">টোকেনে %1$d থেকে %2$d সংখ্যা থাকতে হবে।</string>
|
||||
<string name="error_upload_file">ফাইল ডেটা আপলোড করার সময় একটি ত্রুটি ঘটেছে৷</string>
|
||||
<string name="error_upload_file">ফাইল ডেটা আপলোড করার সময় একটি ত্রুটি ঘটেছে৷।</string>
|
||||
<string name="error_save_database">ডাটাবেস সংরক্ষণ করা যায়নি.</string>
|
||||
<string name="parallelism_explanation">কী ডেরিভেশন ফাংশন দ্বারা ব্যবহৃত সমান্তরালতার ডিগ্রি (যেমন থ্রেডের সংখ্যা)।</string>
|
||||
<string name="saving_database">ডাটাবেস সংরক্ষণ করা হচ্ছে…</string>
|
||||
|
||||
@@ -30,7 +30,7 @@
|
||||
<string name="application">Aplicació</string>
|
||||
<string name="menu_app_settings">Configuració de l\'aplicació</string>
|
||||
<string name="brackets">Parèntesis</string>
|
||||
<string name="file_manager_install_description">Es requereix un gestor de fitxers que accepti les intencions ACTION_CREATE_DOCUMENT i ACTION_OPEN_DOCUMENT per a crear, obrir i desar fitxers de base de dades.</string>
|
||||
<string name="file_manager_install_description">Cal crear un gestor de fitxers que accepti les accions intencionals ACTION_CREATE_DOCUMENT i ACTION_OPEN_DOCUMENT per crear, obrir i desar fitxers de base de dades.</string>
|
||||
<string name="clipboard_cleared">Porta-retalls netejat</string>
|
||||
<string name="clipboard_timeout">Temps d\'espera del porta-retalls</string>
|
||||
<string name="clipboard_timeout_summary">Temps abans de netejar el porta-retalls (si el teu dispositiu ho suporta)</string>
|
||||
@@ -58,7 +58,7 @@
|
||||
<string name="entry_user_name">Nom d’usuari</string>
|
||||
<string name="error_arc4">No s’admet el xifratge de flux Arcfour.</string>
|
||||
<string name="error_can_not_handle_uri">El KeePassDX no pot gestionar aquest URI.</string>
|
||||
<string name="error_file_not_create">No s’ha pogut crear el fitxer</string>
|
||||
<string name="error_file_not_create">No s’ha pogut crear el fitxer.</string>
|
||||
<string name="error_invalid_db">No s’ha pogut llegir la base de dades.</string>
|
||||
<string name="error_invalid_path">Assegureu-vos que el camí és correcte.</string>
|
||||
<string name="error_no_name">Introduïu-hi un nom.</string>
|
||||
@@ -283,7 +283,7 @@
|
||||
<string name="error_rebuild_list">La llista no s\'ha pogut reconstruir correctament.</string>
|
||||
<string name="error_database_uri_null">No es pot recuperar l\'URI de la base de dades.</string>
|
||||
<string name="error_field_name_already_exists">El nom del camp ja existeix.</string>
|
||||
<string name="error_registration_read_only">No es permet desar un element nou en una base de dades de només lectura</string>
|
||||
<string name="error_registration_read_only">No es permet desar un element nou en una base de dades de només lectura.</string>
|
||||
<string name="error_string_type">Aquest text no coincideix amb l\'element sol·licitat.</string>
|
||||
<string name="error_otp_type">L\'OTP existent no està reconegut per aquest formulari, la seva validació ja no pot generar correctament el testimoni.</string>
|
||||
<string name="error_create_database_file">No s’ha pogut crear una base de dades amb aquesta contrasenya i fitxer de clau.</string>
|
||||
@@ -328,7 +328,7 @@
|
||||
<string name="icon_pack_choose_title">Paquet d’icones</string>
|
||||
<string name="icon_section_custom">Personalitzat</string>
|
||||
<string name="template_group_name">Plantilles</string>
|
||||
<string name="error_unable_merge_database_kdb">No es pot fusionar d\'una base de dades V1.</string>
|
||||
<string name="error_unable_merge_database_kdb">No es pot fusionar d\'una base de dades V1</string>
|
||||
<string name="auto_type">Auto-Escriptura</string>
|
||||
<string name="import_app_properties_title">Importar configuració de l\'aplicació</string>
|
||||
<string name="card_verification_value">CVV</string>
|
||||
@@ -368,7 +368,7 @@
|
||||
<string name="navigation_drawer_open">El calaix de navegació està obert</string>
|
||||
<string name="max_history_size_summary">Limita la mida de l\'historial per entrada</string>
|
||||
<string name="success_export_app_properties">Configuració de l\'aplicació exportada</string>
|
||||
<string name="error_export_app_properties">Error a l\'exportar la configuració de l\'aplicació</string>
|
||||
<string name="error_export_app_properties">Error a l\'exportar la configuració de l\'aplicació.</string>
|
||||
<string name="type">Tipus</string>
|
||||
<string name="content_description_hardware_key_checkbox">Casella de clau física</string>
|
||||
<string name="settings_database_recommend_changing_master_key_title">Recomanar renovació</string>
|
||||
@@ -380,7 +380,7 @@
|
||||
<string name="autofill_close_database_summary">Tanca la base de dades després d\'auto-completar</string>
|
||||
<string name="screenshot_mode_banner_text">Mode captura de pantalla</string>
|
||||
<string name="application_appearance">Interfície</string>
|
||||
<string name="error_import_app_properties">Error a l\'importar la configuració de l\'aplicació</string>
|
||||
<string name="error_import_app_properties">Error a l\'importar la configuració de l\'aplicació.</string>
|
||||
<string name="case_sensitive">Sensible a majúscules i minúscules</string>
|
||||
<string name="error_location_unknown">Localització de la base de dades desconeguda, l\'acció no es pot fer.</string>
|
||||
<string name="membership">Pertinença</string>
|
||||
@@ -459,7 +459,7 @@
|
||||
<string name="advanced_unlock_prompt_store_credential_message">Us haureu de recordar de la credencial principal de la caixa forta en el cas que feu servir el reconeixement del dispositiu pel desbloqueig.</string>
|
||||
<string name="secure_note">Nota segura</string>
|
||||
<string name="error_file_to_big">El fitxer que esteu intentant pujar és massa gros.</string>
|
||||
<string name="error_challenge_already_requested">El desafiament ja s\'ha sol·licitat</string>
|
||||
<string name="error_challenge_already_requested">El desafiament ja s\'ha sol·licitat.</string>
|
||||
<string name="error_cancel_by_user">S\'ha cancel·lat per l\'usuari.</string>
|
||||
<string name="error_driver_required">Es requereix un controlador per %1$s.</string>
|
||||
<string name="warning_empty_recycle_bin">Voleu suprimir permanentment tots els nodes de la paperera de reciclatge?</string>
|
||||
@@ -563,7 +563,7 @@
|
||||
\nEls grups (carpetes) organitzen entrades a la base de dades.</string>
|
||||
<string name="download_attachment">Baixa %1$s</string>
|
||||
<string name="download_progression">En curs: %1$d%%</string>
|
||||
<string name="download_complete">S\'ha completat.</string>
|
||||
<string name="download_complete">S\'ha completat!</string>
|
||||
<string name="advanced_unlock_prompt_extract_credential_message">Extreu la credencial de la base de dades amb les dades de desbloqueig del dispositiu</string>
|
||||
<string name="keyboard">Teclat</string>
|
||||
<string name="magic_keyboard_title">Magikeyboard</string>
|
||||
@@ -591,7 +591,7 @@
|
||||
<string name="remember_keyfile_locations_summary">Fa un seguiment d\'on s\'emmagatzemen els fitxers de claus</string>
|
||||
<string name="hide_broken_locations_title">Amaga els enllaços trencats de la base de dades</string>
|
||||
<string name="autofill_manual_selection_summary">Mostra l\'opció de permetre que l\'usuari seleccioni l\'entrada de la base de dades</string>
|
||||
<string name="download_canceled">S\'ha cancel·lat.</string>
|
||||
<string name="download_canceled">S\'ha cancel·lat!</string>
|
||||
<string name="do_not_kill_app">No matis l\'aplicació…</string>
|
||||
<string name="lock_database_screen_off_title">Bloqueig de pantalla</string>
|
||||
<string name="at_least_one_char">Com a mínim un caràcter de cada</string>
|
||||
@@ -613,7 +613,6 @@
|
||||
<string name="configure">Configura</string>
|
||||
<string name="biometric_security_update_required">Cal actualitzar la seguretat biomètrica.</string>
|
||||
<string name="unlock_and_link_biometric">Enllaç de desbloqueig del dispositiu</string>
|
||||
<string name="advanced_unlock_scanning_error">Error en desbloquejar el dispositiu: %1$s</string>
|
||||
<string name="unavailable">No disponible</string>
|
||||
<string name="advanced_unlock_prompt_not_initialized">No s\'ha pogut inicialitzar l\'indicador de desbloqueig del dispositiu.</string>
|
||||
<string name="credential_before_click_advanced_unlock_button">Escriviu la contrasenya i, a continuació, feu clic en aquest botó.</string>
|
||||
@@ -660,8 +659,40 @@
|
||||
<string name="education_unlock_title">Desbloqueja la base de dades</string>
|
||||
<string name="education_setup_OTP_summary">Configureu la gestió de contrasenyes d\'un sol ús (HOTP / TOTP) per generar un testimoni sol·licitat per a l\'autenticació de dos factors (2FA).</string>
|
||||
<string name="education_field_copy_title">Copia un camp</string>
|
||||
<string name="html_text_donation">Per tal de mantenir la nostra llibertat i estar sempre actius, comptem amb la seva <strong>aportació. </strong></string>
|
||||
<string name="html_text_donation">Al <strong>contribuir</strong> al projecte <i>(monetàriament, codi, traducció)</i>, l\'ajudareu a continuar vivint i prosperant, i també podreu optar al procediment de desbloqueig del <strong>tema</strong>.</string>
|
||||
<string name="upload_attachment">Puja %1$s</string>
|
||||
<string name="download_finalization">S\'està finalitzant…</string>
|
||||
<string name="entropy">Entropia: %1$s bit</string>
|
||||
<string name="warning_exact_alarm">No heu permès que l\'aplicació utilitzi una alarma exacta. Com a resultat, les característiques que requereixen un temporitzador no es faran amb un temps exacte.</string>
|
||||
<string name="warning_keyfile_integrity">El hash del fitxer no està garantit perquè Android pot canviar les seves dades al moment. Canvia l\'extensió del fitxer a .bin per a una integritat correcta.</string>
|
||||
<string name="html_text_ad_free">A diferència de moltes aplicacions de gestió de contrasenyes, aquest un és un <strong>programari sense anuncis</strong>, <strong> copyleft i lliure</strong> i no recull dades personals en els seus servidors, no importa quina versió utilitzeu.</string>
|
||||
<string name="education_field_copy_summary">Els camps copiats es poden enganxar en qualsevol lloc.\n\nUtilitza el mètode d\'emplenament de formularis que prefereixis.</string>
|
||||
<string name="generate_keyfile">Genera un fitxer de claus</string>
|
||||
<string name="nodes">Nodes</string>
|
||||
<string name="recursive_number_entries_summary">Calcula recursivament el nombre d\'entrades d\'un grup</string>
|
||||
<string name="warning_large_keyfile">No es recomana afegir un fitxer de claus gran, això pot impedir que s\'obri la base de dades.</string>
|
||||
<string name="education_lock_summary">Bloqueja la base de dades ràpidament, pots configurar l\'aplicació per bloquejar-la al cap d\'un temps, i quan la pantalla s\'apagui.</string>
|
||||
<string name="recursive_number_entries_title">Nombre recursiu d\'entrades</string>
|
||||
<string name="advanced_unlock_keystore_warning">Aquesta característica emmagatzemarà dades de credencials encriptades a l\'espai segur KeyStore del vostre dispositiu.\n\nDepenent de la implementació nativa de l\'API del sistema operatiu, pot no ser completament funcional.\n\nComprova la compatibilitat i seguretat de KeyStore amb el fabricant del teu dispositiu i el creador de la ROM que estàs utilitzant.</string>
|
||||
<string name="kdf_explanation">Per a generar la clau per a l\'algorisme d\'encriptació, la clau mestra es transforma utilitzant una funció de derivació de clau sal aleatòria.</string>
|
||||
<string name="education_validate_entry_summary">Recordeu validar la vostra entrada i desar la vostra base de dades.\n\nSi s\'activa un bloqueig automàtic i t\'oblides que estaves fent una modificació, t\'arrisques a perdre les teves dades.</string>
|
||||
<string name="education_read_only_summary">Canvieu el mode inaugural per a la sessió. \n \n\"Escriu-emparat\" impedeix canvis involuntaris a la base de dades. \n\"Modificable\" us permet afegir, eliminar o modificar tots els elements com vulgueu.</string>
|
||||
<string name="warning_database_info_changed_options_read_only">Torna a carregar la base de dades amb els darrers canvis.</string>
|
||||
<string name="warning_database_notification_permission">El permís de notificació permet mostrar l\'estat de la base de dades i bloquejar-la amb un botó de fàcil accés.\n\nSi no activeu aquest permís, la base de dades oberta en segon pla no serà visible si hi ha una altra aplicació en primer pla.</string>
|
||||
<string name="html_text_buy_pro">En comprar la versió pro, tindreu accés a aquest <strong> estil visual</strong> i sereu ajundant especialment <strong> a la realització de projectes comunitaris.</strong></string>
|
||||
<string name="html_text_dev_feature">Aquesta característica és <strong>en desenvolupament</strong> i requereix que la vostra <strong>contribució</strong> estigui disponible aviat.</string>
|
||||
<string name="style_name_forest">Bosc</string>
|
||||
<string name="style_name_divine">Divina</string>
|
||||
<string name="style_name_classic">Clàssic</string>
|
||||
<string name="style_name_reply">Respondre</string>
|
||||
<string name="style_name_kunzite">Kunzite</string>
|
||||
<string name="style_name_follow_system">Seguiu el sistema</string>
|
||||
<string name="hide_templates_title">Amaga les plantilles</string>
|
||||
<string name="hide_templates_summary">Les plantilles no són mostrades</string>
|
||||
<string name="html_text_dev_feature_encourage">esteu animant a qui desenvolupa a crear <strong>noves funcions</strong> i a <strong>corregir errors</strong> segons les vostres observacions.</string>
|
||||
<string name="style_name_simple">Simple</string>
|
||||
<string name="style_name_moon">Lluna</string>
|
||||
<string name="style_name_sun">Sol</string>
|
||||
<string name="style_name_light">Clar</string>
|
||||
<string name="style_name_dark">Obscur</string>
|
||||
</resources>
|
||||
@@ -59,7 +59,7 @@
|
||||
<string name="entry_user_name">Uživatelské jméno</string>
|
||||
<string name="error_arc4">Arcfour proudová šifra není podporována.</string>
|
||||
<string name="error_can_not_handle_uri">KeePassDX nemůže zpracovat toto URI.</string>
|
||||
<string name="error_file_not_create">Soubor se nepodařilo vytvořit</string>
|
||||
<string name="error_file_not_create">Soubor se nepodařilo vytvořit.</string>
|
||||
<string name="error_invalid_db">Databázi se nepodařilo přečíst.</string>
|
||||
<string name="error_invalid_path">Ujistěte se, že je popis umístění správný.</string>
|
||||
<string name="error_no_name">Zadejte název.</string>
|
||||
@@ -266,7 +266,7 @@
|
||||
<string name="html_text_ad_free">Na rozdíl od mnoha aplikací pro správu hesel je tato <strong>bez reklam</strong>, je <strong>svobodný software pod copyleft licencí</strong> a nesbírá žádné osobní údaje na svých serverech bez ohledu na to, jakou verzi používáte.</string>
|
||||
<string name="html_text_buy_pro">Zakoupením varianty \"pro\" získáte přístup k tomuto <strong>vizuálnímu stylu</strong> a hlavně pomůžete <strong>uskutečnění komunitních projektů.</strong></string>
|
||||
<string name="html_text_feature_generosity">Tento <strong>vizuální styl</strong> je k dispozici díky vaší štědrosti.</string>
|
||||
<string name="html_text_donation">Pro zajištění svobody nás všech a pokračování aktivity počítáme s Vaším <strong>přispěním.</strong></string>
|
||||
<string name="html_text_donation"><strong>Přispěním</strong> do projektu <i>(peněžně, kódem, překlady)</i> mu pomůžete žít a prosperovat a dostanete přístup k postupu odemčení <strong>motivů</strong>.</string>
|
||||
<string name="html_text_dev_feature">Tato funkce je <strong>ve vývoji</strong> a potřebuje Váš <strong>příspěvek</strong>, aby byla brzy k dispozici.</string>
|
||||
<string name="html_text_dev_feature_buy_pro">Zakoupením <strong>pro</strong> varianty,</string>
|
||||
<string name="html_text_dev_feature_contibute"><strong>Podpořením vývoje</strong>,</string>
|
||||
@@ -484,10 +484,10 @@
|
||||
<string name="configure_biometric">Žádné přihlašovací ani biometrické údaje nejsou registrovány.</string>
|
||||
<string name="warning_empty_recycle_bin">Trvale odstranit všechny uzly z koše\?</string>
|
||||
<string name="registration_mode">Registrace</string>
|
||||
<string name="save_mode">Uložit</string>
|
||||
<string name="save_mode">Režim ukládání</string>
|
||||
<string name="search_mode">Vyhledávání</string>
|
||||
<string name="error_field_name_already_exists">Jméno kolonky již existuje.</string>
|
||||
<string name="error_registration_read_only">Uložení nové položky v režimu databáze pouze pro čtení není dovoleno</string>
|
||||
<string name="error_registration_read_only">Uložení nové položky v režimu databáze pouze pro čtení není dovoleno.</string>
|
||||
<string name="enter">Enter</string>
|
||||
<string name="backspace">Backspace</string>
|
||||
<string name="select_entry">Vybrat záznam</string>
|
||||
@@ -499,7 +499,6 @@
|
||||
<string name="device_credential">Heslo zařízení</string>
|
||||
<string name="credential_before_click_advanced_unlock_button">Zadejte heslo a pak klepněte na toto tlačítko.</string>
|
||||
<string name="advanced_unlock_prompt_not_initialized">Nepodařilo se inicializovat nabídku pro odemykání zařízení.</string>
|
||||
<string name="advanced_unlock_scanning_error">Chyba při odemykání zařízení: %1$s</string>
|
||||
<string name="advanced_unlock_not_recognized">Otisk pro odemykání zařízení nebyl rozpoznán</string>
|
||||
<string name="advanced_unlock_invalid_key">Nepodařilo se načíst klíč odemykání zařízení. Odstraňte ho a opakujte proces rozpoznání odemknutí.</string>
|
||||
<string name="advanced_unlock_prompt_extract_credential_message">Načíst údaj z databáze pomocí dat odemykání zařízení</string>
|
||||
@@ -539,9 +538,9 @@
|
||||
<string name="error_file_to_big">Soubor, který se pokoušíte nahrát, je příliš velký.</string>
|
||||
<string name="content_description_otp_information">Info o jednorázovém heslu</string>
|
||||
<string name="properties">Vlastnosti</string>
|
||||
<string name="error_export_app_properties">Během exportu nastavení aplikace došlo k chybě</string>
|
||||
<string name="error_export_app_properties">Během exportu nastavení aplikace došlo k chybě.</string>
|
||||
<string name="success_export_app_properties">Nastavení aplikace byla exportována</string>
|
||||
<string name="error_import_app_properties">Během importu nastavení aplikace došlo k chybě</string>
|
||||
<string name="error_import_app_properties">Během importu nastavení aplikace došlo k chybě.</string>
|
||||
<string name="success_import_app_properties">Nastavení aplikace byla importována</string>
|
||||
<string name="description_app_properties">Vlastnosti KeePassDX pro správu aplikačních nastavení</string>
|
||||
<string name="export_app_properties_summary">Vytvořte soubor pro export nastavení aplikace</string>
|
||||
@@ -649,12 +648,12 @@
|
||||
<string name="html_about_privacy"><strong>Nenačítají se žádná uživatelská data</strong>, tato aplikace se nespojuje s žádnými servery, pracuje pouze lokálně a plně respektuje soukromí uživatelů.</string>
|
||||
<string name="hardware_key">Hardwarový klíč</string>
|
||||
<string name="error_XML_malformed">XML chybný.</string>
|
||||
<string name="error_challenge_already_requested">Výzva byla již vyžádána</string>
|
||||
<string name="error_challenge_already_requested">Výzva byla již vyžádána.</string>
|
||||
<string name="error_response_already_provided">Odpověď byla již poskytnuta.</string>
|
||||
<string name="error_no_response_from_challenge">Odezvu nelze z výzvy obdržet.</string>
|
||||
<string name="error_cancel_by_user">Zrušeno uživatelem.</string>
|
||||
<string name="error_driver_required">Ovladač pro %1$s je nutný.</string>
|
||||
<string name="error_unable_merge_database_kdb">Nepodařilo se sloučit s databázovým souborem kdb</string>
|
||||
<string name="error_unable_merge_database_kdb">Nepodařilo se sloučit s databázovým souborem kdb.</string>
|
||||
<string name="error_hardware_key_unsupported">Hardwarový klíč není podporován.</string>
|
||||
<string name="error_empty_key">Klíč nemůže být prázdný.</string>
|
||||
<string name="enable_screenshot_mode_title">Režim screenshotu</string>
|
||||
@@ -702,4 +701,11 @@
|
||||
<string name="style_name_light">Světlý</string>
|
||||
<string name="style_name_dark">Tmavý</string>
|
||||
<string name="warning_database_info_changed_options_read_only">Znovu načíst databázi s posledními změnami.</string>
|
||||
<string name="nodes">Uzly</string>
|
||||
<string name="generate_keyfile">Vygenerovat klíčový soubor</string>
|
||||
<string name="recursive_number_entries_title">Rekurzivní počet záznamů</string>
|
||||
<string name="recursive_number_entries_summary">Rekurzivně vypočítá počet záznamů ve skupině</string>
|
||||
<string name="warning_large_keyfile">Nedoporučuje se přidávat velký klíčový soubor, mohlo by to zabránit otevření databáze.</string>
|
||||
<string name="hide_templates_title">Skrýt šablony</string>
|
||||
<string name="hide_templates_summary">Šablony nejsou zobrazeny</string>
|
||||
</resources>
|
||||
@@ -58,7 +58,7 @@
|
||||
<string name="entry_user_name">Brugernavn</string>
|
||||
<string name="error_arc4">Arcfour stream cipher er ikke understøttet.</string>
|
||||
<string name="error_can_not_handle_uri">Kunne ikke håndtere denne URI i KeePassDX.</string>
|
||||
<string name="error_file_not_create">Kunne ikke oprette fil</string>
|
||||
<string name="error_file_not_create">Kunne ikke oprette fil.</string>
|
||||
<string name="error_invalid_db">Kunne ikke læse databasen.</string>
|
||||
<string name="error_invalid_path">Sørg for, at stien er korrekt.</string>
|
||||
<string name="error_no_name">Indtast et navn.</string>
|
||||
@@ -481,7 +481,7 @@
|
||||
<string name="registration_mode">Registreringstilstand</string>
|
||||
<string name="save_mode">Gem-tilstand</string>
|
||||
<string name="search_mode">Søgetilstand</string>
|
||||
<string name="error_registration_read_only">Det er ikke tilladt at gemme et nyt element i en skrivebeskyttet database</string>
|
||||
<string name="error_registration_read_only">Det er ikke tilladt at gemme et nyt element i en skrivebeskyttet database.</string>
|
||||
<string name="content_description_credentials_information">Legitimationsoplysninger</string>
|
||||
<string name="configure_biometric">Der er ikke tilmeldt biometriske legitimationsoplysninger eller enhedsoplysninger.</string>
|
||||
<string name="education_add_attachment_summary">Overfør en vedhæftet fil til posten for at gemme vigtige eksterne data.</string>
|
||||
@@ -507,7 +507,6 @@
|
||||
<string name="content">Indhold</string>
|
||||
<string name="credential_before_click_advanced_unlock_button">Indtast adgangskoden, og klik derefter på denne knap.</string>
|
||||
<string name="advanced_unlock_prompt_not_initialized">Kunne ikke initialisere oplåsningsprompt.</string>
|
||||
<string name="advanced_unlock_scanning_error">Fejl ved oplåsning: %1$s</string>
|
||||
<string name="advanced_unlock_not_recognized">Kunne ikke genkende aftryk til oplåsning</string>
|
||||
<string name="advanced_unlock_invalid_key">Oplåsningsnøgle kan ikke læses. Slet den og gentag proceduren for genkendelse af oplåsning.</string>
|
||||
<string name="advanced_unlock_prompt_extract_credential_title">Enhedsoplåsningsgenkendelse</string>
|
||||
@@ -542,9 +541,9 @@
|
||||
<string name="temp_advanced_unlock_enable_title">Midlertidig oplåsning af enhed</string>
|
||||
<string name="device_credential">Enhedens legitimation</string>
|
||||
<string name="properties">Egenskaber</string>
|
||||
<string name="error_export_app_properties">Fejl under eksport af app-indstillinger</string>
|
||||
<string name="error_export_app_properties">Fejl under eksport af app-indstillinger.</string>
|
||||
<string name="success_export_app_properties">App-indstillinger eksporteret</string>
|
||||
<string name="error_import_app_properties">Fejl under importering af app-indstillinger</string>
|
||||
<string name="error_import_app_properties">Fejl under importering af app-indstillinger.</string>
|
||||
<string name="success_import_app_properties">App-indstillinger importeret</string>
|
||||
<string name="description_app_properties">KeePassDX-egenskaber til at administrere app-indstillinger</string>
|
||||
<string name="export_app_properties_summary">Opret en fil for at eksportere app-indstillinger</string>
|
||||
@@ -610,7 +609,7 @@
|
||||
<string name="error_location_unknown">Databaseplacering er ukendt, databasehandling kan ikke udføres.</string>
|
||||
<string name="error_hardware_key_unsupported">Hardwarenøgle er ikke understøttet.</string>
|
||||
<string name="error_empty_key">Nøglen må ikke være tom.</string>
|
||||
<string name="error_challenge_already_requested">Der er allerede anmodet om udfordring</string>
|
||||
<string name="error_challenge_already_requested">Der er allerede anmodet om udfordring.</string>
|
||||
<string name="error_no_response_from_challenge">Kan ikke få svaret fra udfordringen.</string>
|
||||
<string name="show_otp_token_title">Vis OTP-token</string>
|
||||
<string name="remember_hardware_key_title">Husk hardwarenøgler</string>
|
||||
|
||||
@@ -48,7 +48,7 @@
|
||||
<string name="decrypting_db">Datenbankinhalt wird entschlüsselt …</string>
|
||||
<string name="default_checkbox">Als Standarddatenbank verwenden</string>
|
||||
<string name="digits">Stellen</string>
|
||||
<string name="html_about_licence">KeePassDX © %1$d Kunzisoft ist <strong>quelloffen</strong> und <strong>ohne Werbung</strong>.\nDie Nutzung der Software erfolgt auf eigene Verantwortung und ohne jegliche Garantie. Die Applikation wird unter den Bedingungen der <strong>GPLv3</strong> lizenziert.</string>
|
||||
<string name="html_about_licence">KeePassDX © %1$d Kunzisoft ist <strong>quelloffen</strong> und <strong>ohne Werbung</strong>. \nDie Nutzung der Software erfolgt auf eigene Verantwortung und ohne jegliche Garantie. Die Applikation wird unter den Bedingungen der <strong>GPLv3</strong> lizenziert.</string>
|
||||
<string name="html_about_contribution">Damit wir <strong>unsere Unabhängigkeit erhalten</strong>, <strong>Fehler beheben</strong>, <strong>Funktionen hinzufügen</strong> und <strong>weiterhin aktiv bleiben</strong> können, zählen wir auf deinen <strong>Beitrag</strong>.</string>
|
||||
<string name="select_database_file">Vorhandene Datenbank öffnen</string>
|
||||
<string name="entry_accessed">Letzter Zugriff</string>
|
||||
@@ -67,9 +67,9 @@
|
||||
<string name="entry_user_name">Benutzername</string>
|
||||
<string name="error_arc4">Die RC4/Arcfour-Stromverschlüsselung wird nicht unterstützt.</string>
|
||||
<string name="error_can_not_handle_uri">KeePassDX kann diese URI-Adresse nicht verarbeiten.</string>
|
||||
<string name="error_file_not_create">Datei konnte nicht erstellt werden</string>
|
||||
<string name="error_file_not_create">Datei konnte nicht erstellt werden.</string>
|
||||
<string name="error_invalid_db">Datenbank nicht lesbar.</string>
|
||||
<string name="error_invalid_path">Stelle sicher, dass der Pfad korrekt ist.</string>
|
||||
<string name="error_invalid_path">Bitte sicherstellen, dass der Pfad korrekt ist.</string>
|
||||
<string name="error_no_name">Namen eingeben.</string>
|
||||
<string name="error_nokeyfile">Schlüsseldatei auswählen.</string>
|
||||
<string name="error_out_of_memory">Zu wenig Speicher, um die gesamte Datenbank zu laden.</string>
|
||||
@@ -226,7 +226,7 @@
|
||||
<string name="education_create_database_title">Datenbankdatei erstellen</string>
|
||||
<string name="education_create_database_summary">Erste Datei zur Passwortverwaltung erstellen.</string>
|
||||
<string name="education_select_database_title">Existierende Datenbank öffnen</string>
|
||||
<string name="education_select_database_summary">Öffnet über den Dateimanager eine früher erstellte Datenbankdatei, um sie weiter zu verwenden.</string>
|
||||
<string name="education_select_database_summary">Öffnet über den Dateimanager eine früher erstellte Datenbankdatei, um sie weiterzuverwenden.</string>
|
||||
<string name="education_new_node_title">Datenbankelemente hinzufügen</string>
|
||||
<string name="education_new_node_summary">Einträge helfen, digitale Konten zu verwalten.
|
||||
\n
|
||||
@@ -236,7 +236,7 @@
|
||||
<string name="education_entry_edit_title">Eintrag bearbeiten</string>
|
||||
<string name="education_entry_edit_summary">Dem Eintrag eigene Felder hinzufügen. Die Felder können mit Querverweisen aus anderen Einträgen ergänzt werden.</string>
|
||||
<string name="education_generate_password_title">Ein starkes Passwort erstellen</string>
|
||||
<string name="education_generate_password_summary">Lassen Sie ein starkes Passwort erstellen, das mit Ihrem Eintrag verbunden wird, legen Sie es einfach anhand von Formularkriterien fest und vergessen Sie nicht, Ihr Passwort zu sichern.</string>
|
||||
<string name="education_generate_password_summary">Ein starkes Passwort, das mit dem Eintrag verbunden wird, kann einfach anhand von Formularkriterien festgelegt werden und bitte nicht vergessen dieses Passwort zu sichern.</string>
|
||||
<string name="education_entry_new_field_title">Eigene Felder hinzufügen</string>
|
||||
<string name="education_entry_new_field_summary">Ein zusätzliches Feld einfügen, einen Wert hinzufügen und diesen optional schützen.</string>
|
||||
<string name="education_unlock_title">Datenbank entsperren</string>
|
||||
@@ -253,7 +253,7 @@
|
||||
<string name="html_text_ad_free">Anders als viele Passwortmanager ist dieser <strong>werbefrei</strong>, <strong>quelloffen</strong>, <strong>freie Copyleft-Software</strong> und keine persönlichen Daten werden auf Servern gesammelt, egal welche Version man verwendet.</string>
|
||||
<string name="html_text_buy_pro">Mit dem Kauf der Pro-Version erhältst du Zugriff auf diesen <strong>visuellen Stil</strong> und unterstützt insbesondere <strong>die Umsetzung gemeinschaftlicher Projekte.</strong></string>
|
||||
<string name="html_text_feature_generosity">Dieser <strong>visuelle Stil</strong> ist dank deiner Großzügigkeit verfügbar.</string>
|
||||
<string name="html_text_donation">Um unsere Freiheit zu erhalten und stets aktiv zu bleiben, zählen wir auf deinen <strong>Beitrag.</strong></string>
|
||||
<string name="html_text_donation">Mit <strong>Beitragen</strong> zum Projekt <i>(finanziell, Code, Übersetzung)</i> wird sichergestellt, dass es weiterlebt und gedeiht, und außerdem berechtigt das für den Vorgang der <strong>Design</strong>-Freischaltung.</string>
|
||||
<string name="html_text_dev_feature">Diese Funktion ist <strong>in Entwicklung</strong> und erfordert <strong>deinen Beitrag</strong>, um bald verfügbar zu sein.</string>
|
||||
<string name="html_text_dev_feature_buy_pro">Durch den Kauf der <strong>Pro-Version</strong>,</string>
|
||||
<string name="html_text_dev_feature_contibute">Durch deinen <strong>Beitrag</strong>,</string>
|
||||
@@ -286,7 +286,7 @@
|
||||
\nMit „Änderbar“ lässt sich jedes Element frei bearbeiten, hinzufügen oder löschen.</string>
|
||||
<string name="edit_entry">Eintrag bearbeiten</string>
|
||||
<string name="error_load_database">Die Datenbank konnte nicht geladen werden.</string>
|
||||
<string name="error_load_database_KDF_memory">Laden des Schlüssels fehlgeschlagen. Bitte versuchen, die „Speicherplatznutzung“ von KDF zu verringern.</string>
|
||||
<string name="error_load_database_KDF_memory">Laden des Schlüssels fehlgeschlagen. Bitte versuchen, die „Arbeitsspeichernutzung“ der Schlüsselableitungsfunktion zu verringern.</string>
|
||||
<string name="list_entries_show_username_title">Benutzernamen anzeigen</string>
|
||||
<string name="list_entries_show_username_summary">Benutzernamen in Eintragslisten anzeigen</string>
|
||||
<string name="build_label">Build %1$s</string>
|
||||
@@ -437,7 +437,7 @@
|
||||
<string name="style_name_kunzite">Kunzit</string>
|
||||
<string name="style_name_follow_system">System folgen</string>
|
||||
<string name="warning_database_read_only">Schreibrechte gewähren, um Datenbankänderungen zu speichern</string>
|
||||
<string name="education_setup_OTP_summary">Einmal-Passwortverwaltung (HOTP/TOTP) einrichten, um Token für Zwei-Faktor-Authentifizierung (2FA) zu generieren.</string>
|
||||
<string name="education_setup_OTP_summary">Einmal-Passwortverwaltung (HOTP/TOTP) einrichten, um Token für Zwei-Faktor-Authentifizierung (2FA) zu erzeugen.</string>
|
||||
<string name="education_setup_OTP_title">OTP einrichten</string>
|
||||
<string name="error_create_database">Die Datenbankdatei kann nicht erstellt werden.</string>
|
||||
<string name="entry_add_attachment">Anhang hinzufügen</string>
|
||||
@@ -495,7 +495,7 @@
|
||||
<string name="registration_mode">Registrierungsmodus</string>
|
||||
<string name="save_mode">Speichermodus</string>
|
||||
<string name="search_mode">Suchmodus</string>
|
||||
<string name="error_registration_read_only">Speichern eines neuen Elements in einer schreibgeschützten Datenbank ist unzulässig</string>
|
||||
<string name="error_registration_read_only">Speichern eines neuen Elements in einer schreibgeschützten Datenbank ist unzulässig.</string>
|
||||
<string name="autofill_save_search_info_summary">Bei manueller Eintragsauswahl Suchinformationen speichern, um sie später leichter verwenden zu können</string>
|
||||
<string name="autofill_ask_to_save_data_summary">Fragen, ob Daten nach Formularausfüllung gespeichert werden sollen</string>
|
||||
<string name="autofill_ask_to_save_data_title">Speichern von Daten abfragen</string>
|
||||
@@ -529,7 +529,6 @@
|
||||
<string name="device_credential">Geräteanmeldedaten</string>
|
||||
<string name="credential_before_click_advanced_unlock_button">Passwort eingeben und dann diese Taste drücken.</string>
|
||||
<string name="advanced_unlock_prompt_not_initialized">Geräteentsperrungsabfrage konnte nicht gestartet werden.</string>
|
||||
<string name="advanced_unlock_scanning_error">Fehler bei Geräteentsperrung: %1$s</string>
|
||||
<string name="advanced_unlock_not_recognized">Fingerabdruck für Geräteentsperrung wurde nicht erkannt</string>
|
||||
<string name="advanced_unlock_invalid_key">Der Geräteentsperrschlüssel ist nicht lesbar. Bitte diesen löschen und den Vorgang zur Entsperr-Erkennung wiederholen.</string>
|
||||
<string name="advanced_unlock_prompt_extract_credential_message">Datenbankanmeldedaten aus Geräteentsperrdaten gewinnen</string>
|
||||
@@ -544,12 +543,12 @@
|
||||
<string name="error_upload_file">Beim Hochladen der Datei ist ein Fehler aufgetreten.</string>
|
||||
<string name="import_app_properties_title">App-Einstellungen importieren</string>
|
||||
<string name="error_start_database_action">Beim Ausführen einer Aktion in der Datenbank ist ein Fehler aufgetreten.</string>
|
||||
<string name="error_otp_type">Der vorhandene OTP-Typ wird von diesem Formular nicht erkannt, seine Validierung erzeugt Token möglicherweise nicht mehr korrekt.</string>
|
||||
<string name="error_otp_type">Der vorhandene OTP-Typ wird von diesem Formular nicht erkannt, seine Validierung kann Token möglicherweise nicht mehr korrekt erzeugen.</string>
|
||||
<string name="content_description_otp_information">Informationen zu Einmalpasswörtern</string>
|
||||
<string name="warning_database_revoked">Auf die Datei kann nicht zugegriffen werden. Bitte die Datenbank schließen und von ihrem Speicherort aus erneut öffnen.</string>
|
||||
<string name="error_export_app_properties">Fehler beim Exportieren der App-Einstellungen</string>
|
||||
<string name="error_export_app_properties">Fehler beim Exportieren der App-Einstellungen.</string>
|
||||
<string name="success_export_app_properties">App-Einstellungen exportiert</string>
|
||||
<string name="error_import_app_properties">Fehler beim Importieren der App-Einstellungen</string>
|
||||
<string name="error_import_app_properties">Fehler beim Importieren der App-Einstellungen.</string>
|
||||
<string name="success_import_app_properties">App-Einstellungen importiert</string>
|
||||
<string name="export_app_properties_summary">Datei zum Exportieren von App-Einstellungen erstellen</string>
|
||||
<string name="export_app_properties_title">App-Einstellungen exportieren</string>
|
||||
@@ -704,4 +703,11 @@
|
||||
<string name="style_name_light">Hell</string>
|
||||
<string name="style_name_dark">Dunkel</string>
|
||||
<string name="warning_database_info_changed_options_read_only">Die Datenbank mit den letzten Änderungen neu laden.</string>
|
||||
<string name="hide_templates_title">Vorlagen ausblenden</string>
|
||||
<string name="hide_templates_summary">Vorlagen sind ausgeblendet</string>
|
||||
<string name="nodes">Knoten</string>
|
||||
<string name="recursive_number_entries_summary">Berechnet rekursiv die Anzahl der Einträge in einer Gruppe</string>
|
||||
<string name="warning_large_keyfile">Es wird nicht empfohlen, eine große Schlüsseldatei hinzuzufügen, da dies das Öffnen der Datenbank verhindern kann.</string>
|
||||
<string name="recursive_number_entries_title">Rekursive Anzahl der Einträge</string>
|
||||
<string name="generate_keyfile">Schlüsseldatei generieren</string>
|
||||
</resources>
|
||||
@@ -61,7 +61,7 @@
|
||||
<string name="entry_user_name">Όνομα χρήστη</string>
|
||||
<string name="error_arc4">Η ροή κρυπτογράφησης Arcfour δεν υποστηρίζεται.</string>
|
||||
<string name="error_can_not_handle_uri">Το KeePassDX δε μπορεί να χειριστεί αυτή τη διεύθυνση URI.</string>
|
||||
<string name="error_file_not_create">Δεν ήταν δυνατή η δημιουργία αρχείου</string>
|
||||
<string name="error_file_not_create">Δεν ήταν δυνατή η δημιουργία αρχείου.</string>
|
||||
<string name="error_invalid_db">Δεν ήταν δυνατή η ανάγνωση της βάσης δεδομένων.</string>
|
||||
<string name="error_invalid_path">Βεβαιωθείτε ότι η διαδρομή είναι σωστή.</string>
|
||||
<string name="error_no_name">Εισαγάγετε ένα όνομα.</string>
|
||||
@@ -233,7 +233,7 @@
|
||||
<string name="html_text_ad_free">Σε αντίθεση με πολλές άλλες εφαρμογές διαχείρισης κωδικών πρόσβασης, αυτή είναι <strong>χωρίς διαφημίσεις</strong>, <strong>copylefted libre λογισμικό</strong> και δεν συλλέγει προσωπικά δεδομένα στους διακομιστές της, ανεξάρτητα από την έκδοση που χρησιμοποιείτε.</string>
|
||||
<string name="html_text_buy_pro">Με την αγορά της επαγγελματικής έκδοσης, θα έχετε πρόσβαση σε αυτό το <strong>οπτικό στοιχείο</strong> και θα βοηθήσετε ιδιαίτερα την <strong>υλοποίηση ιδεών της κοινότητας.</strong></string>
|
||||
<string name="html_text_feature_generosity">Αυτό το <strong>οπτικό στυλ</strong> είναι διαθέσιμο χάρη στη γενναιοδωρία σας.</string>
|
||||
<string name="html_text_donation">Για να διατηρήσουμε την ελεύθερη έκδοση και να είμαστε πάντα ενεργοί, υπολογίζουμε στην <strong>συνεισφορά σας.</strong></string>
|
||||
<string name="html_text_donation">Με τη <strong>συνεισφορά σας</strong> στο έργο <i>(χρηματικά, κώδικα, μετάφραση)</i>, θα το βοηθήσετε να συνεχίσει να ζει και να ευδοκιμεί και θα είστε επίσης επιλέξιμοι για τη διαδικασία ξεκλειδώματος <strong>θεμάτων </strong> .</string>
|
||||
<string name="html_text_dev_feature">Αυτή η λειτουργία είναι <strong>υπό ανάπτυξη</strong> και απαιτεί την <strong>συνεισφοράς</strong> σας για να είναι σύντομα διαθέσιμη.</string>
|
||||
<string name="html_text_dev_feature_buy_pro">Με την αγορά της έκδοσης <strong>pro</strong>,</string>
|
||||
<string name="html_text_dev_feature_contibute">Με την <strong>συνεισφορά</strong> σας,</string>
|
||||
@@ -485,7 +485,7 @@
|
||||
<string name="registration_mode">Τρόπος εγγραφής</string>
|
||||
<string name="save_mode">Λειτουργία αποθήκευσης</string>
|
||||
<string name="search_mode">Λειτουργία αναζήτησης</string>
|
||||
<string name="error_registration_read_only">Η αποθήκευση ενός νέου αντικειμένου δεν επιτρέπεται σε μια βάση δεδομένων μόνο για ανάγνωση</string>
|
||||
<string name="error_registration_read_only">Η αποθήκευση ενός νέου αντικειμένου δεν επιτρέπεται σε μια βάση δεδομένων μόνο για ανάγνωση.</string>
|
||||
<string name="error_field_name_already_exists">Το όνομα πεδίου υπάρχει ήδη.</string>
|
||||
<string name="advanced_unlock_prompt_store_credential_title">Σύνδεσμος για ξεκλείδωμα συσκευής</string>
|
||||
<string name="advanced_unlock_prompt_store_credential_message">Θα πρέπει ακόμα να θυμάστε τα κύρια διαπιστευτήρια της κρύπτης εάν χρησιμοποιείτε την αναγνώριση ξεκλειδώματος συσκευής.</string>
|
||||
@@ -503,7 +503,6 @@
|
||||
<string name="credential_before_click_advanced_unlock_button">Πληκτρολογήστε τον κωδικό πρόσβασης, και στη συνέχεια κάντε κλικ αυτό το κουμπί.</string>
|
||||
<string name="advanced_unlock_prompt_not_initialized">Δεν είναι δυνατή η προετοιμασία της προτροπής ξεκλειδώματος συσκευής.</string>
|
||||
<string name="advanced_unlock_not_recognized">Δεν ήταν δυνατή η αναγνώριση αποτυπώματος ξεκλειδώματος συσκευής</string>
|
||||
<string name="advanced_unlock_scanning_error">Σφάλμα ξεκλειδώματος συσκευής: %1$s</string>
|
||||
<string name="advanced_unlock_invalid_key">Δεν είναι δυνατή η ανάγνωση του κλειδιού ξεκλειδώματος της συσκευής. Διαγράψτε το και επαναλάβετε τη διαδικασία αναγνώρισης ξεκλειδώματος.</string>
|
||||
<string name="advanced_unlock_prompt_extract_credential_message">Εξαγωγή διαπιστευτηρίων βάσης δεδομένων με δεδομένα ξεκλειδώματος συσκευής</string>
|
||||
<string name="education_advanced_unlock_summary">Συνδέστε τον κωδικό πρόσβασής σας με το σαρωμένο βιομετρικό ή τα διαπιστευτήρια της συσκευής σας για να ξεκλειδώσετε γρήγορα τη βάση δεδομένων σας.</string>
|
||||
@@ -540,9 +539,9 @@
|
||||
<string name="error_remove_file">Παρουσιάστηκε σφάλμα κατά την κατάργηση των δεδομένων αρχείου.</string>
|
||||
<string name="error_duplicate_file">Τα δεδομένα αρχείου υπάρχουν ήδη.</string>
|
||||
<string name="properties">Ιδιότητες</string>
|
||||
<string name="error_export_app_properties">Σφάλμα κατά την εξαγωγή ρυθμίσεων εφαρμογής</string>
|
||||
<string name="error_export_app_properties">Σφάλμα κατά την εξαγωγή ρυθμίσεων εφαρμογής.</string>
|
||||
<string name="success_export_app_properties">Έγινε εξαγωγή ρυθμίσεων εφαρμογής</string>
|
||||
<string name="error_import_app_properties">Σφάλμα κατά την εισαγωγή ρυθμίσεων εφαρμογής</string>
|
||||
<string name="error_import_app_properties">Σφάλμα κατά την εισαγωγή ρυθμίσεων εφαρμογής.</string>
|
||||
<string name="success_import_app_properties">Έγινε εισαγωγή ρυθμίσεων εφαρμογής</string>
|
||||
<string name="description_app_properties">Ιδιότητες KeePassDX για διαχείριση ρυθμίσεων εφαρμογής</string>
|
||||
<string name="export_app_properties_summary">Δημιουργήστε ένα αρχείο για εξαγωγή ρυθμίσεων εφαρμογής</string>
|
||||
@@ -659,10 +658,10 @@
|
||||
<string name="error_no_response_from_challenge">Δεν είναι δυνατή η λήψη της απάντησης από την πρόκληση.</string>
|
||||
<string name="enable_screenshot_mode_title">Λειτουργία στιγμιότυπου οθόνης</string>
|
||||
<string name="screenshot_mode_banner_text">Λειτουργία στιγμιότυπου οθόνης</string>
|
||||
<string name="error_challenge_already_requested">Η πρόκληση έχει ήδη ζητηθεί</string>
|
||||
<string name="error_challenge_already_requested">Η πρόκληση έχει ήδη ζητηθεί.</string>
|
||||
<string name="error_response_already_provided">Η απάντηση έχει ήδη δοθεί.</string>
|
||||
<string name="error_location_unknown">Η θέση της βάσης δεδομένων είναι άγνωστη, η ενέργεια της βάσης δεδομένων δεν μπορεί να εκτελεστεί.</string>
|
||||
<string name="error_unable_merge_database_kdb">Δεν είναι δυνατή η συγχώνευση με μια βάση δεδομένων kdb</string>
|
||||
<string name="error_unable_merge_database_kdb">Δεν είναι δυνατή η συγχώνευση με μια βάση δεδομένων kdb.</string>
|
||||
<string name="error_empty_key">Το κλειδί δεν μπορεί να είναι κενό.</string>
|
||||
<string name="corrupted_file">Κατεστραμμένο αρχείο.</string>
|
||||
<string name="html_about_privacy"><strong>Δεν ανακτώνται δεδομένα χρήστη</strong>, αυτή η εφαρμογή δεν συνδέεται με κανένα διακομιστή, λειτουργεί μόνο τοπικά και σέβεται πλήρως το απόρρητο των χρηστών.</string>
|
||||
@@ -701,4 +700,11 @@
|
||||
<string name="style_name_kunzite">Κουνζίτης</string>
|
||||
<string name="style_name_follow_system">Όπως το σύστημα</string>
|
||||
<string name="warning_database_info_changed_options_read_only">Επαναφορτώστε τη βάση δεδομένων με τις τελευταίες αλλαγές.</string>
|
||||
<string name="recursive_number_entries_summary">Υπολογίζει αναδρομικά τον αριθμό των καταχωρήσεων σε μια ομάδα</string>
|
||||
<string name="hide_templates_title">Απόκρυψη προτύπων</string>
|
||||
<string name="generate_keyfile">Δημιουργία αρχείου κλειδιού</string>
|
||||
<string name="nodes">Κόμβοι</string>
|
||||
<string name="warning_large_keyfile">Δεν συνιστάται η προσθήκη μεγάλου αρχείου κλειδιού, αυτό μπορεί να εμποδίσει το άνοιγμα της βάσης δεδομένων.</string>
|
||||
<string name="hide_templates_summary">Τα πρότυπα δεν εμφανίζονται</string>
|
||||
<string name="recursive_number_entries_title">Αναδρομικός αριθμός καταχωρήσεων</string>
|
||||
</resources>
|
||||
@@ -5,8 +5,8 @@
|
||||
<string name="colorize_password_summary">Colourise password characters by type</string>
|
||||
<string name="content_description_entry_background_color">Entry background colour</string>
|
||||
<string name="invalid_db_sig">Could not recognise the database format.</string>
|
||||
<string name="advanced_unlock_not_recognized">Could not recognise advanced unlock print</string>
|
||||
<string name="advanced_unlock_prompt_not_initialized">Unable to initialise advanced unlock prompt.</string>
|
||||
<string name="advanced_unlock_not_recognized">Could not recognise device unlock print</string>
|
||||
<string name="advanced_unlock_prompt_not_initialized">Unable to initialise device unlock prompt.</string>
|
||||
<string name="download_initialization">Initialising…</string>
|
||||
<string name="download_finalization">Finalising…</string>
|
||||
<string name="download_canceled">Cancelled!</string>
|
||||
@@ -33,10 +33,10 @@
|
||||
<string name="encryption">Encryption</string>
|
||||
<string name="contact">Contact</string>
|
||||
<string name="contribution">Contribution</string>
|
||||
<string name="about_description">password</string>
|
||||
<string name="encryption_algorithm">Encryption</string>
|
||||
<string name="about_description">Android implementation of the KeePass password manager</string>
|
||||
<string name="encryption_algorithm">Encryption algorithm</string>
|
||||
<string name="app_timeout">Timeout</string>
|
||||
<string name="app_timeout_summary">database</string>
|
||||
<string name="app_timeout_summary">Idle time before locking the database</string>
|
||||
<string name="application">App</string>
|
||||
<string name="brackets">Brackets</string>
|
||||
<string name="extended_ASCII">Extended ASCII</string>
|
||||
@@ -99,7 +99,7 @@
|
||||
<string name="otp_period">Period (seconds)</string>
|
||||
<string name="entry_user_name">Username</string>
|
||||
<string name="error_arc4">The Arcfour stream cipher is not supported.</string>
|
||||
<string name="error_file_not_create">Could not create file</string>
|
||||
<string name="error_file_not_create">Could not create file.</string>
|
||||
<string name="error_load_database_KDF_memory">Could not load the key. Try to lower the KDF \"Memory Usage\".</string>
|
||||
<string name="entry_expires">Expires</string>
|
||||
<string name="expired">Expired</string>
|
||||
@@ -177,7 +177,7 @@
|
||||
<string name="error_rounds_too_large">\"Transformation rounds\" too high. Setting to 2147483648.</string>
|
||||
<string name="error_string_key">Each string must have a field name.</string>
|
||||
<string name="error_label_exists">This label already exists.</string>
|
||||
<string name="error_challenge_already_requested">Challenge already requested</string>
|
||||
<string name="error_challenge_already_requested">Challenge already requested.</string>
|
||||
<string name="error_response_already_provided">Response already provided.</string>
|
||||
<string name="error_no_response_from_challenge">Unable to get the response from the challenge.</string>
|
||||
<string name="error_cancel_by_user">Cancelled by user.</string>
|
||||
@@ -223,7 +223,7 @@
|
||||
<string name="list_entries_show_username_title">Show usernames</string>
|
||||
<string name="error_otp_period">Period must be between %1$d and %2$d seconds.</string>
|
||||
<string name="error_string_type">This text does not match the requested item.</string>
|
||||
<string name="error_registration_read_only">Saving a new item is not allowed in a read-only database</string>
|
||||
<string name="error_registration_read_only">Saving a new item is not allowed in a read-only database.</string>
|
||||
<string name="error_otp_digits">Token must contain %1$d to %2$d digits.</string>
|
||||
<string name="error_database_uri_null">Database URI cannot be retrieved.</string>
|
||||
<string name="error_field_name_already_exists">The field name already exists.</string>
|
||||
|
||||
@@ -88,7 +88,7 @@
|
||||
<string name="error_no_name">Tajpu nomon.</string>
|
||||
<string name="error_invalid_path">Certigu ke la vojo estas ĝusta.</string>
|
||||
<string name="error_invalid_db">Ne povas legi datumbazon.</string>
|
||||
<string name="error_file_not_create">Ne povas krei dosieron</string>
|
||||
<string name="error_file_not_create">Ne povas krei dosieron.</string>
|
||||
<string name="entry_user_name">Uzantnomo</string>
|
||||
<string name="entry_url">Retadreso</string>
|
||||
<string name="entry_title">Titolo</string>
|
||||
|
||||
@@ -41,7 +41,7 @@
|
||||
<string name="decrypting_db">Descifrando contenido de la base de datos…</string>
|
||||
<string name="default_checkbox">Utilizar como base de datos por defecto</string>
|
||||
<string name="digits">Dígitos</string>
|
||||
<string name="html_about_licence">KeePassDX © %1$d Kunzisoft es <strong>de código abierto</strong> y <strong>sin publicidad</strong>.\n\nSe proporciona tal cual, bajo la licencia <strong>GPLv3</strong>, sin ninguna garantía.</string>
|
||||
<string name="html_about_licence">KeePassDX © %1$d Kunzisoft is <strong>código abierto</strong> y <strong>without advertising</strong>. \nIt is provided as is, under <strong>GPLv3</strong> licencia, sin ninguna garantía.</string>
|
||||
<string name="select_database_file">Abrir la caja fuerte existente</string>
|
||||
<string name="entry_accessed">Accedido</string>
|
||||
<string name="entry_cancel">Cancelar</string>
|
||||
@@ -55,25 +55,25 @@
|
||||
<string name="save">Guardar</string>
|
||||
<string name="entry_title">Título</string>
|
||||
<string name="entry_url">URL</string>
|
||||
<string name="entry_user_name">ID Usuario</string>
|
||||
<string name="entry_user_name">Nombre usuario</string>
|
||||
<string name="error_arc4">No se admite el cifrador de flujo Arcfour.</string>
|
||||
<string name="error_can_not_handle_uri">KeePassDX no ha podido gestionar este URI.</string>
|
||||
<string name="error_file_not_create">No se ha podido crear el archivo</string>
|
||||
<string name="error_can_not_handle_uri">No se ha podido gestionar este URI en KeePassDX.</string>
|
||||
<string name="error_file_not_create">No se ha podido crear el archivo.</string>
|
||||
<string name="error_invalid_db">No se ha podido leer la base de datos.</string>
|
||||
<string name="error_invalid_path">Asegúrese que la ruta es correcta.</string>
|
||||
<string name="error_no_name">Introduzca un nombre.</string>
|
||||
<string name="error_nokeyfile">Seleccione un cerrojo.</string>
|
||||
<string name="error_nokeyfile">Seleccione un archivo de claves.</string>
|
||||
<string name="error_out_of_memory">No hay memoria para cargar toda la base de datos.</string>
|
||||
<string name="error_pass_gen_type">Debe seleccionarse al menos un tipo de generación de contraseñas.</string>
|
||||
<string name="error_pass_match">Las contraseñas no coinciden.</string>
|
||||
<string name="error_rounds_too_large">Rondas de transformación demasiado altas. Establecidas a 2147483648.</string>
|
||||
<string name="error_wrong_length">Introduzca un número entero positivo en el campo «Longitud».</string>
|
||||
<string name="error_rounds_too_large">\"Rondas de transformación\" demasiado altas. Ajuste a 2147483648.</string>
|
||||
<string name="error_wrong_length">Introduzca un número entero positivo en el campo \"Longitud\".</string>
|
||||
<string name="file_browser">Explorador de archivos</string>
|
||||
<string name="generate_password">Generar contraseña</string>
|
||||
<string name="hint_conf_pass">Confirmar contraseña</string>
|
||||
<string name="hint_generated_password">Contraseña generada</string>
|
||||
<string name="hint_group_name">Nombre del grupo</string>
|
||||
<string name="hint_keyfile">Cerrojo</string>
|
||||
<string name="hint_keyfile">Archivo de clave</string>
|
||||
<string name="hint_length">Longitud</string>
|
||||
<string name="password">Contraseña</string>
|
||||
<string name="hint_pass">Contraseña</string>
|
||||
@@ -90,7 +90,7 @@
|
||||
<string name="menu_change_key_settings">Cambiar contraseña maestra</string>
|
||||
<string name="settings">Configuración</string>
|
||||
<string name="menu_database_settings">Configuración de base de datos</string>
|
||||
<string name="menu_delete">Borrar</string>
|
||||
<string name="menu_delete">Eliminar</string>
|
||||
<string name="menu_donate">Donar</string>
|
||||
<string name="menu_edit">Editar</string>
|
||||
<string name="menu_hide_password">Ocultar contraseña</string>
|
||||
@@ -118,7 +118,7 @@
|
||||
<string name="unsupported_db_version">Versión de base de datos incompatible.</string>
|
||||
<string name="uppercase">Mayúsculas</string>
|
||||
<string name="version_label">Versión %1$s</string>
|
||||
<string name="education_unlock_summary">Introduzca la contraseña y/o el archivo de claves para desbloquear tu base de datos.\n\nHaz una copia de seguridad de tu archivo de la base de datos en un lugar seguro después de cada cambio.</string>
|
||||
<string name="education_unlock_summary">Introduzca la contraseña y/o el archivo de clave para desbloquear su base de datos.\n\nRespalde su base de datos en un lugar seguro tras cada cambio.</string>
|
||||
<string-array name="list_size_options">
|
||||
<item>Pequeño</item>
|
||||
<item>Mediano</item>
|
||||
@@ -137,7 +137,7 @@
|
||||
<string name="field_value">Valor del campo</string>
|
||||
<string name="file_not_found_content">No se ha podido encontrar el archivo. Intente volver a abrirlo en el explorador de archivos.</string>
|
||||
<string name="invalid_algorithm">Algoritmo incorrecto.</string>
|
||||
<string name="keyfile_is_empty">El cerrojo está vacío.</string>
|
||||
<string name="keyfile_is_empty">El archivo de clave está vacío.</string>
|
||||
<string name="copy_field">Copia de %1$s</string>
|
||||
<string name="menu_form_filling_settings">Rellenado de formularios</string>
|
||||
<string name="protection">Protección</string>
|
||||
@@ -165,7 +165,7 @@
|
||||
<string name="warning_no_encryption_key">¿Continuar sin clave de cifrado\?</string>
|
||||
<string name="encrypted_value_stored">Contraseña cifrada almacenada</string>
|
||||
<string name="database_history">Historial</string>
|
||||
<string name="autofill_explanation_summary">Habilite el servicio para completar formularios fácilmente desde otras aplicaciones</string>
|
||||
<string name="autofill_explanation_summary">Habilite el servicio para rellenar formularios fácilmente desde otras aplicaciones</string>
|
||||
<string name="unavailable">No disponible</string>
|
||||
<string name="menu_appearance_settings">Apariencia</string>
|
||||
<string name="general">General</string>
|
||||
@@ -209,7 +209,7 @@
|
||||
<string name="other">Otro</string>
|
||||
<string name="keyboard">Teclado</string>
|
||||
<string name="magic_keyboard_title">Magikeyboard</string>
|
||||
<string name="magic_keyboard_explanation_summary">Activar un teclado personalizado que rellene sus contraseñas y todos los campos de identidad fácilmente</string>
|
||||
<string name="magic_keyboard_explanation_summary">Activar un teclado personalizado que rellene sus contraseñas y todos los campos de identidad</string>
|
||||
<string name="reset_education_screens_title">Restablecer consejos educativos</string>
|
||||
<string name="reset_education_screens_summary">Mostrar de nuevo toda la información didáctica</string>
|
||||
<string name="reset_education_screens_text">Se restablecieron las sugerencias didácticas</string>
|
||||
@@ -218,48 +218,44 @@
|
||||
<string name="education_select_database_title">Abrir una base de datos existente</string>
|
||||
<string name="education_select_database_summary">Abra su archivo de base de datos anterior desde el explorador de archivos para seguir utilizándolo.</string>
|
||||
<string name="education_new_node_title">Añada elementos a su base de datos</string>
|
||||
<string name="education_new_node_summary">Las entradas ayudan a administrar sus identidades digitales.
|
||||
\n
|
||||
\nLos grupos (~carpetas) organizan las entradas en su base de datos.</string>
|
||||
<string name="education_search_title">Busque registros fácilmente</string>
|
||||
<string name="education_search_summary">Busque entradas por título, nombre de usuario u otros campos para recuperar fácilmente sus contraseñas.</string>
|
||||
<string name="education_entry_edit_title">Editar la entrada</string>
|
||||
<string name="education_entry_edit_summary">Edite la entrada con campos personalizados, puede agregar referencias a los datos de la agrupación entre campos de diferentes entradas.</string>
|
||||
<string name="education_new_node_summary">Los apuntes ayudan a gestionar tus identidades digitales.\n\nLos grupos (~carpetas) organizan las entradas en tu base de datos.</string>
|
||||
<string name="education_search_title">Buscar por apuntes</string>
|
||||
<string name="education_search_summary">Introduzca título, usuario o contenido de otros campos para recuperar sus contraseñas.</string>
|
||||
<string name="education_entry_edit_title">Editar el apunte</string>
|
||||
<string name="education_entry_edit_summary">Edita el apunte con campos personalizados. Los datos pueden estar referenciados entre diferentes campos del apunte.</string>
|
||||
<string name="education_generate_password_title">Crear una contraseña segura</string>
|
||||
<string name="education_generate_password_summary">Genere una contraseña segura para asociarla con su entrada. Defínala fácilmente según los criterios del formulario y no olvides una contraseña poner una contraseña difícil y segura.</string>
|
||||
<string name="education_entry_new_field_title">Agregar campos personalizados</string>
|
||||
<string name="education_entry_new_field_summary">Registre un campo adicional, añada un valor y, opcionalmente, protéjalo.</string>
|
||||
<string name="education_generate_password_summary">Genera una contraseña fuerte para asociarla con su apunte, defínalo fácilmente de acuerdo con el criterio del formulario y no olvide una contraseña segura.</string>
|
||||
<string name="education_entry_new_field_title">Añadir campos personalizados</string>
|
||||
<string name="education_entry_new_field_summary">Registra un campo adicional, añada un valor y, opcionalmente, protégelo.</string>
|
||||
<string name="education_unlock_title">Desbloquee su base de datos</string>
|
||||
<string name="education_field_copy_title">Copia un campo</string>
|
||||
<string name="education_field_copy_summary">Los campos copiados pueden pegarse en cualquier sitio.
|
||||
\n
|
||||
\nUtilice el método de relleno de formularios que prefiera.</string>
|
||||
<string name="education_field_copy_summary">Los campos copiados pueden pegarse en cualquier sitio.\n\nUtilice el método de relleno de formularios que prefiera.</string>
|
||||
<string name="education_lock_title">Bloquear la base de datos</string>
|
||||
<string name="education_lock_summary">Bloquee su base de datos rápidamente, puede parametrizar la aplicación para bloquearla después de un tiempo o cuando la pantalla se apague.</string>
|
||||
<string name="education_sort_title">Ordenar elementos</string>
|
||||
<string name="education_sort_summary">Ordenar registros y grupos de acuerdo a parámetros específicos.</string>
|
||||
<string name="education_sort_summary">Elija como son ordenados los apuntes y grupos.</string>
|
||||
<string name="education_donation_title">Participar</string>
|
||||
<string name="education_donation_summary">Participe para aumentar la estabilidad, la seguridad y agregar más funciones.</string>
|
||||
<string name="html_text_ad_free">A diferencia de muchas aplicaciones de gestión de contraseñas, esta <strong>no tiene publicidad</strong>, es <strong>libre, con licencia «copyleft»</strong> y no recopila datos personales en sus servidores, sin importar la versión que use.</string>
|
||||
<string name="html_text_buy_pro">Al comprar la versión pro, tendrá acceso al <strong>estilo visual </strong>y ayudará especialmente a <strong>la realización de proyectos comunitarios.</strong></string>
|
||||
<string name="education_donation_summary">Ayuda a mejorar la estabilidad, la seguridad y a añadir más funciones.</string>
|
||||
<string name="html_text_ad_free">A diferencia de muchas aplicaciones de administración de contraseñas, esta es <strong>sin anuncios</strong>, <strong>software libre de copylefted</strong> y no recopila datos personales en sus servidores, sin importar la versión que use.</string>
|
||||
<string name="html_text_buy_pro">Al comprar la versión Pro, tendrá acceso a este <strong>estilo visual</strong> y ayudará especialmente <strong>la realización de proyectos comunitarios.</strong></string>
|
||||
<string name="html_text_feature_generosity">Este <strong>estilo visual</strong> está disponible gracias a su generosidad.</string>
|
||||
<string name="html_text_donation">Al <strong>colaborar</strong> en el proyecto <i>(monetariamente, código, traducción)</i>, ayudará a que siga existiendo y prosperando, y también será la elección para el procedimiento de desbloqueo del <strong>tema</strong>.</string>
|
||||
<string name="html_text_dev_feature">Esta función está <strong>en desarrollo</strong> y requiere de tu <strong>contribución</strong> para estar disponible dentro de poco.</string>
|
||||
<string name="html_text_dev_feature_buy_pro">Al comprar la versión <strong>pro</strong>,</string>
|
||||
<string name="html_text_dev_feature_buy_pro">Al comprar la versión <strong>Pro</strong>,</string>
|
||||
<string name="html_text_dev_feature_contibute">Al <strong>contribuir</strong>,</string>
|
||||
<string name="html_text_dev_feature_encourage">anima a los desarrolladores a crear <strong>nuevas funciones</strong> y a <strong>corregir errores</strong> de acuerdo con sus comentarios.</string>
|
||||
<string name="html_text_dev_feature_encourage">anima a los desarrolladores a crear <strong>nuevas funciones</strong> y a <strong>corregir errores</strong> de acuerdo con sus observaciones.</string>
|
||||
<string name="html_text_dev_feature_thanks">Muchas gracias por su contribución.</string>
|
||||
<string name="html_text_dev_feature_work_hard">Estamos trabajando duro para lanzar esta característica rápidamente.</string>
|
||||
<string name="html_text_dev_feature_upgrade">Recuerde mantener su aplicación actualizada instalando nuevas versiones.</string>
|
||||
<string name="download">Descargar</string>
|
||||
<string name="contribute">Contribuir</string>
|
||||
<string name="style_choose_title">Tema de la aplicación</string>
|
||||
<string name="style_choose_summary">Tema utilizado en la aplicación</string>
|
||||
<string name="icon_pack_choose_title">Seleccione un paquete de iconos</string>
|
||||
<string name="icon_pack_choose_summary">Cambiar el paquete de iconos en la aplicación</string>
|
||||
<string name="style_choose_summary">Tema usado en la aplicación</string>
|
||||
<string name="icon_pack_choose_title">Seleccionar un paquete de iconos</string>
|
||||
<string name="icon_pack_choose_summary">Paquete de iconos usado en la aplicación</string>
|
||||
<string name="edit_entry">Editar apunte</string>
|
||||
<string name="error_load_database">No se ha podido cargar la base de datos.</string>
|
||||
<string name="error_load_database_KDF_memory">No se ha podido cargar la clave. Intente disminuir el uso de memoria de KDF.</string>
|
||||
<string name="error_load_database_KDF_memory">No se ha podido cargar la clave. Intente reducir el \"Uso de memoria\" del KDF.</string>
|
||||
<string name="list_entries_show_username_title">Mostrar nombres de usuario</string>
|
||||
<string name="list_entries_show_username_summary">Muestra los nombres de usuario en las listas de entrada</string>
|
||||
<string name="menu_copy">Copiar</string>
|
||||
@@ -270,9 +266,9 @@
|
||||
<string name="menu_open_file_read_and_write">Modificable</string>
|
||||
<string name="build_label">Compilación %1$s</string>
|
||||
<string name="clipboard_warning">Si la eliminación del cortapapeles falla, borre su historial manualmente.</string>
|
||||
<string name="allow_copy_password_warning">Aviso: el portapapeles está compartido por todas las aplicaciones. Si se copian datos sensibles, otros programas pueden recuperarlos.</string>
|
||||
<string name="allow_copy_password_warning">Aviso: el portapapeles está compartido por todas las aplicaciones. Si se copian datos confidenciales, otros programas pueden recuperarlos.</string>
|
||||
<string name="allow_no_password_title">Permitir sin clave maestra</string>
|
||||
<string name="allow_no_password_summary">Permite pulsar el botón «Abrir» si no se seleccionan credenciales</string>
|
||||
<string name="allow_no_password_summary">Permite pulsar el botón \"Abrir\" si no son seleccionadas las credenciales</string>
|
||||
<string name="enable_education_screens_title">Consejos educativos</string>
|
||||
<string name="enable_education_screens_summary">Destaca los elementos para aprender cómo funciona la aplicación</string>
|
||||
<string name="enable_read_only_title">Protegida contra escritura</string>
|
||||
@@ -298,18 +294,18 @@
|
||||
<string name="keyboard_key_sound_title">Sonar al pulsar las teclas</string>
|
||||
<string name="selection_mode">Modo de selección</string>
|
||||
<string name="do_not_kill_app">No cierre la aplicación…</string>
|
||||
<string name="lock_database_back_root_summary">Bloquear la base de datos cuando el usuario pulse el botón trasero en la pantalla inicial</string>
|
||||
<string name="lock_database_back_root_summary">Bloquear la base de datos cuando el usuario pulse el botón atrás en la pantalla inicial</string>
|
||||
<string name="clear_clipboard_notification_title">Vaciar al cerrar</string>
|
||||
<string name="clear_clipboard_notification_summary">Bloquea la base de datos cuando expire la duración del portapapeles o se cierre la notificación después de empezar a utilizarla</string>
|
||||
<string name="clear_clipboard_notification_summary">Bloquea la base de datos cuando caduque la duración del portapapeles o se cierre la notificación tras empezar a utilizarla</string>
|
||||
<string name="recycle_bin">Papelera de reciclaje</string>
|
||||
<string name="keyboard_selection_entry_title">Selección de entrada</string>
|
||||
<string name="keyboard_selection_entry_summary">Al visualizar una entrada en KeePassDX, rellena Magikeyboard con esa entrada</string>
|
||||
<string name="keyboard_selection_entry_summary">Al visualizar un apunte en KeePassDX, rellena Magikeyboard con ese apunte</string>
|
||||
<string name="delete_entered_password_title">Eliminar contraseña</string>
|
||||
<string name="delete_entered_password_summary">Elimina la contraseña introducida tras un intento de conexión a una base de datos</string>
|
||||
<string name="content_description_open_file">Abrir archivo</string>
|
||||
<string name="content_description_node_children">Nodo heredado</string>
|
||||
<string name="content_description_add_node">Añadir nodo</string>
|
||||
<string name="content_description_add_entry">Añadir entrada</string>
|
||||
<string name="content_description_add_entry">Añadir apunte</string>
|
||||
<string name="content_description_add_group">Añadir grupo</string>
|
||||
<string name="content_description_file_information">Información del archivo</string>
|
||||
<string name="content_description_password_checkbox">Casilla de contraseña</string>
|
||||
@@ -331,13 +327,10 @@
|
||||
<string name="menu_advanced_unlock_settings">Desbloqueo de dispositivos</string>
|
||||
<string name="biometric">Biometría</string>
|
||||
<string name="biometric_auto_open_prompt_title">Abrir solicitud automáticamente</string>
|
||||
<string name="biometric_auto_open_prompt_summary">Solicita automáticamente el desbloqueo del dispositivo si la base de datos está configurada para utilizarlo</string>
|
||||
<string name="biometric_auto_open_prompt_summary">Solicita auto-desbloqueo del dispositivo si la base de datos está configurada para utilizarlo</string>
|
||||
<string name="enable">Activar</string>
|
||||
<string name="disable">Desactivar</string>
|
||||
<string name="education_read_only_summary">Cambiar el modo de apertura de la sesión.
|
||||
\n
|
||||
\n\"Protegido contra escritura\" evita cambios no deseados en la base de datos.
|
||||
\n\"Modificable\" le permite agregar, eliminar o modificar todos los elementos como desee.</string>
|
||||
<string name="education_read_only_summary">Cambiar el modo de inicio de la sesión. \n \n\"Protegido contra escritura\" evita cambios involuntarios en la base de datos. \n\"Modificable\" le permite añadir, eliminar o modificar todos los elementos que desee.</string>
|
||||
<string name="lock_database_back_root_title">Presione ‘Atrás’ para bloquear</string>
|
||||
<string name="content_description_repeat_toggle_password_visibility">Repetir conmutación de visibilidad de contraseña</string>
|
||||
<string name="master_key">Clave maestra</string>
|
||||
@@ -358,18 +351,18 @@
|
||||
<string name="error_save_database">No se puede guardar la base de datos.</string>
|
||||
<string name="error_string_type">Este texto no coincide con el elemento requerido.</string>
|
||||
<string name="error_create_database">No se puede crear el archivo de la base de datos.</string>
|
||||
<string name="html_about_contribution">Para <strong>mantener nuestra libertad</strong>, <strong>corregir errores</strong>, <strong>añadir funciones</strong> y <strong>estar siempre activos</strong>, contamos con tu colaboración.</string>
|
||||
<string name="html_about_contribution">Con el fin de <strong>mantener nuestra libertad</strong>, <strong>corregir errores</strong>, <strong>añadir características</strong> y <strong> para estar siempre activo</strong>, contamos con su <strong>contribución</strong>.</string>
|
||||
<string name="content_description_add_item">Añadir elemento</string>
|
||||
<string name="download_complete">¡Completado!</string>
|
||||
<string name="download_finalization">Finalizando…</string>
|
||||
<string name="download_progression">En curso: %1$d %%</string>
|
||||
<string name="download_progression">En curso: %1$d%%</string>
|
||||
<string name="download_initialization">Inicializando…</string>
|
||||
<string name="download_attachment">Descargar %1$s</string>
|
||||
<string name="enable_auto_save_database_summary">Guarda la base de datos después de cada acción importante (en modo \"Modificable\")</string>
|
||||
<string name="enable_auto_save_database_title">Guardar base de datos automáticamente</string>
|
||||
<string name="autofill_block">Bloquear autocompletado</string>
|
||||
<string name="keyboard_change">Cambiar teclado</string>
|
||||
<string name="keyboard_auto_go_action_summary">Acción de la tecla «Ir» al presionar una tecla «Campo»</string>
|
||||
<string name="keyboard_auto_go_action_summary">Acción de la tecla \"Ir\" al presionar una tecla \"Campo\"</string>
|
||||
<string name="compression_gzip">Gzip</string>
|
||||
<string name="compression_none">Ninguna</string>
|
||||
<string name="compression">Compresión</string>
|
||||
@@ -379,7 +372,7 @@
|
||||
<string name="settings_database_force_changing_master_key_summary">Requiere cambiar la clave maestra (días)</string>
|
||||
<string name="settings_database_force_changing_master_key_title">Forzar renovación</string>
|
||||
<string name="max_history_size_title">Tamaño máximo</string>
|
||||
<string name="advanced_unlock_explanation_summary">Usa el desbloqueo avanzado para abrir una base de datos más fácilmente</string>
|
||||
<string name="advanced_unlock_explanation_summary">Utiliza el desbloqueo del dispositivo avanzado para abrir una base de datos más fácilmente</string>
|
||||
<string name="lock_database_show_button_summary">Muestra el botón de bloqueo en la interfaz de usuario</string>
|
||||
<string name="lock_database_show_button_title">Mostrar botón de bloqueo</string>
|
||||
<string name="autofill_preference_title">Configuración de autocompletado</string>
|
||||
@@ -406,7 +399,7 @@
|
||||
<string name="error_copy_group_here">No puede copiar un grupo aquí.</string>
|
||||
<string name="database_data_compression_summary">La compresión de datos reduce el tamaño de la base de datos</string>
|
||||
<string name="database_data_compression_title">Compresión de datos</string>
|
||||
<string name="warning_empty_keyfile">No se recomienda agregar un cerrojo vacío.</string>
|
||||
<string name="warning_empty_keyfile">No se recomienda agregar un archivo de clave vacío.</string>
|
||||
<string name="warning_sure_remove_data">¿Eliminar estos datos de todos modos\?</string>
|
||||
<string name="warning_sure_add_file">¿Agregar el archivo de todos modos\?</string>
|
||||
<string name="warning_replace_file">Al cargar este archivo, se reemplazará el existente.</string>
|
||||
@@ -415,26 +408,26 @@
|
||||
<string name="command_execution">Ejecutando el comando…</string>
|
||||
<string name="hide_broken_locations_summary">Oculta los enlaces rotos en la lista de bases de datos recientes</string>
|
||||
<string name="hide_broken_locations_title">Ocultar enlaces rotos de la base de datos</string>
|
||||
<string name="remember_keyfile_locations_summary">Mantiene seguimiento de dónde los cerrojos son almacenados</string>
|
||||
<string name="remember_keyfile_locations_title">Recordar ubicaciones de cerrojo</string>
|
||||
<string name="remember_keyfile_locations_summary">Mantiene seguimiento de dónde los archivos de claves son almacenados</string>
|
||||
<string name="remember_keyfile_locations_title">Recordar las ubicaciones de los archivos clave</string>
|
||||
<string name="subdomain_search_summary">Busca dominios web con restricciones de subdominios</string>
|
||||
<string name="subdomain_search_title">Búsqueda de subdominio</string>
|
||||
<string name="auto_focus_search_summary">Solicite una búsqueda al abrir una base de datos</string>
|
||||
<string name="auto_focus_search_title">Búsqueda rápida</string>
|
||||
<string name="menu_delete_entry_history">Eliminar historial</string>
|
||||
<string name="error_otp_digits">El testigo debe contener de %1$d a %2$d dígitos.</string>
|
||||
<string name="error_otp_digits">El código debe contener entre %1$d y %2$d dígitos.</string>
|
||||
<string name="entry_attachments">Adjuntos</string>
|
||||
<string name="entry_add_attachment">Añadir adjunto</string>
|
||||
<string name="content_description_credentials_information">Información de credenciales</string>
|
||||
<string name="database_opened">Base de datos abierta</string>
|
||||
<string name="education_add_attachment_title">Adjuntar</string>
|
||||
<string name="education_add_attachment_summary">Cargue un archivo adjunto a la entrada para guardar datos externos importantes.</string>
|
||||
<string name="education_add_attachment_summary">Suba un archivo adjunto a su apunte para guardar datos externos importantes.</string>
|
||||
<string name="hide_expired_entries_summary">No se muestran las entradas caducadas</string>
|
||||
<string name="warning_remove_unlinked_attachment">La eliminación de datos no vinculados puede reducir el tamaño de tu base de datos, pero también puede eliminar los datos usados por los complementos de KeePass.</string>
|
||||
<string name="warning_file_too_big">Se supone que una base de datos de KeePass solo contiene pequeños archivos de utilidades (como archivos de claves PGP).\n\nTu base de datos puede llegar a ser muy grande y reducir el rendimiento con esta carga.</string>
|
||||
<string name="recycle_bin_group_title">Grupo de la papelera de reciclaje</string>
|
||||
<string name="filter">Filtrar</string>
|
||||
<string name="database_data_remove_unlinked_attachments_summary">Elimina los archivos adjuntos contenidos en la base de datos pero no vinculados a un apunte</string>
|
||||
<string name="database_data_remove_unlinked_attachments_summary">Elimina los adjuntos contenidos en la base de datos pero no vinculados a un apunte</string>
|
||||
<string name="database_data_remove_unlinked_attachments_title">Eliminar datos no vinculados</string>
|
||||
<string name="data">Datos</string>
|
||||
<string name="advanced_unlock_delete_all_key_warning">¿Borrar todas las claves de cifrado relacionadas con el reconocimiento de desbloqueo avanzado?</string>
|
||||
@@ -447,11 +440,10 @@
|
||||
<string name="device_credential_unlock_enable_title">Desbloqueo de credenciales del dispositivo</string>
|
||||
<string name="advanced_unlock_tap_delete">Pulsa para eliminar las teclas de desbloqueo avanzado</string>
|
||||
<string name="content">Contenido</string>
|
||||
<string name="clipboard_explanation_summary">Copia los campos de apunte usando el portapapeles de su dispositivo</string>
|
||||
<string name="clipboard_explanation_summary">Copia los campos del apunte usando el portapapeles de su dispositivo</string>
|
||||
<string name="device_credential">Credenciales del dispositivo</string>
|
||||
<string name="credential_before_click_advanced_unlock_button">Teclee la contraseña y luego pulse sobre este botón.</string>
|
||||
<string name="advanced_unlock_prompt_not_initialized">No se puede inicializar el aviso de desbloqueo avanzado.</string>
|
||||
<string name="advanced_unlock_scanning_error">Error de desbloqueo del dispositivo: %1$s</string>
|
||||
<string name="advanced_unlock_not_recognized">No se ha podido reconocer la impresión de desbloqueo avanzado</string>
|
||||
<string name="advanced_unlock_invalid_key">No se puede leer la clave de desbloqueo del dispositivo. Por favor, bórrala y repite el procedimiento de reconocimiento del desbloqueo.</string>
|
||||
<string name="advanced_unlock_prompt_extract_credential_message">Extraer la credencial de la base de datos con los datos de desbloqueo del dispositivo</string>
|
||||
@@ -461,16 +453,16 @@
|
||||
<string name="keystore_not_accessible">El almacén de claves no está debidamente inicializado.</string>
|
||||
<string name="biometric_security_update_required">Se requiere actualización de seguridad biométrica.</string>
|
||||
<string name="configure_biometric">No se ha inscrito ninguna credencial biométrica o del dispositivo.</string>
|
||||
<string name="warning_empty_keyfile_explanation">El contenido del cerrojo nunca debe modificarse y, en el mejor de los casos, debe contener datos generados al azar.</string>
|
||||
<string name="warning_empty_keyfile_explanation">El contenido del archivo de clave nunca debe modificarse y, en el mejor de los casos, debe contener datos generados al azar.</string>
|
||||
<string name="warning_empty_recycle_bin">¿Borrar permanentemente todos los nodos de la papelera de reciclaje\?</string>
|
||||
<string name="registration_mode">Modo de registro</string>
|
||||
<string name="save_mode">Modo de guardado</string>
|
||||
<string name="search_mode">Modo de búsqueda</string>
|
||||
<string name="contains_duplicate_uuid_procedure">¿Solucionar el problema generando nuevos UUID para que los duplicados continúen?</string>
|
||||
<string name="menu_keystore_remove_key">Borrar la clave de desbloqueo del dispositivo</string>
|
||||
<string name="menu_keystore_remove_key">Eliminar la clave de desbloqueo del dispositivo</string>
|
||||
<string name="error_field_name_already_exists">El nombre del campo ya existe.</string>
|
||||
<string name="error_registration_read_only">Guardar un nuevo elemento no está permitido en una base de datos de sólo lectura</string>
|
||||
<string name="settings_database_recommend_changing_master_key_title">Recomendar renovar</string>
|
||||
<string name="error_registration_read_only">Guardar un nuevo elemento no está permitido en una base de datos de sólo lectura.</string>
|
||||
<string name="settings_database_recommend_changing_master_key_title">Recomendar renovación</string>
|
||||
<string name="max_history_size_summary">Limitar el tamaño del historial por apunte</string>
|
||||
<string name="max_history_items_summary">Limitar el número de elementos del historial por apunte</string>
|
||||
<string name="max_history_items_title">Número máximo</string>
|
||||
@@ -478,10 +470,10 @@
|
||||
<string name="database_custom_color_title">Color personalizado de la base de datos</string>
|
||||
<string name="settings_database_recommend_changing_master_key_summary">Recomienda cambiar la clave maestra (días)</string>
|
||||
<string name="notification">Notificación</string>
|
||||
<string name="hide_expired_entries_title">Ocultar las entradas expiradas</string>
|
||||
<string name="upload_attachment">Cargar %1$s</string>
|
||||
<string name="education_setup_OTP_summary">Configurar la gestión de contraseñas de un solo uso (HOTP / TOTP) para generar un testigo solicitado para la autenticación de dos factores (2FA).</string>
|
||||
<string name="education_setup_OTP_title">Establecer la contraseña de un solo uso</string>
|
||||
<string name="hide_expired_entries_title">Ocultar entradas caducadas</string>
|
||||
<string name="upload_attachment">Subir %1$s</string>
|
||||
<string name="education_setup_OTP_summary">Configura la gestión de contraseñas de un solo uso (HOTP / TOTP) para generar un testigo solicitado para la autenticación de dos factores (2FA).</string>
|
||||
<string name="education_setup_OTP_title">Establecer contraseña de un solo uso</string>
|
||||
<string name="education_advanced_unlock_summary">Vincule su contraseña con su credencial biométrica o del dispositivo escaneada para desbloquear rápidamente su base de datos.</string>
|
||||
<string name="education_advanced_unlock_title">Desbloqueo de la base de datos de los dispositivos</string>
|
||||
<string name="autofill_read_only_save">No se permite guardar datos en una base de datos abierta como de solo lectura.</string>
|
||||
@@ -490,25 +482,25 @@
|
||||
<string name="autofill_web_domain_blocklist_title">Lista de bloqueo de dominios web</string>
|
||||
<string name="autofill_application_id_blocklist_summary">Lista de aplicaciones en las que se impide el autocompletado</string>
|
||||
<string name="autofill_application_id_blocklist_title">Lista de bloqueo de aplicaciones</string>
|
||||
<string name="autofill_ask_to_save_data_summary">Pregunta para guardar los datos al rellenar un formulario</string>
|
||||
<string name="autofill_ask_to_save_data_summary">Solicita guardar datos cuando está completado el relleno de un formulario</string>
|
||||
<string name="autofill_ask_to_save_data_title">Preguntar para guardar los datos</string>
|
||||
<string name="autofill_save_search_info_summary">Intenta guardar la información de búsqueda al seleccionar manualmente una entrada para facilitar su uso en el futuro</string>
|
||||
<string name="autofill_save_search_info_summary">Intenta guardar la información de búsqueda al seleccionar manualmente un apunte para facilitar su uso en el futuro</string>
|
||||
<string name="autofill_save_search_info_title">Guardar información de la búsqueda</string>
|
||||
<string name="autofill_close_database_summary">Cierra la base de datos tras una selección de autocompletado</string>
|
||||
<string name="autofill_close_database_summary">Cierra la base de datos tras una selección de auto-completado</string>
|
||||
<string name="autofill_close_database_title">Cerrar base de datos</string>
|
||||
<string name="enter">Entrar</string>
|
||||
<string name="backspace">Retroceder</string>
|
||||
<string name="select_entry">Seleccionar apunte</string>
|
||||
<string name="back_to_previous_keyboard">Volver al teclado anterior</string>
|
||||
<string name="custom_fields">Campos personalizados</string>
|
||||
<string name="keyboard_previous_lock_summary">Vuelve automáticamente al teclado anterior después de bloquear la base de datos</string>
|
||||
<string name="keyboard_previous_lock_summary">Auto-volver al teclado anterior tras bloquear la base de datos</string>
|
||||
<string name="keyboard_previous_lock_title">Bloquear base de datos</string>
|
||||
<string name="keyboard_previous_fill_in_summary">Cambiar automáticamente al teclado anterior tras ejecutar «Acción de la tecla automática»</string>
|
||||
<string name="keyboard_previous_fill_in_summary">Cambiar automáticamente al teclado anterior tras ejecutar \"Acción de la tecla automática\"</string>
|
||||
<string name="keyboard_previous_fill_in_title">Volver atrás</string>
|
||||
<string name="keyboard_previous_database_credentials_summary">Intercambiar automáticamente al teclado anterior en la pantalla de credenciales de la base de datos</string>
|
||||
<string name="keyboard_previous_database_credentials_summary">Autovolver al teclado anterior en la pantalla de credenciales de la base de datos</string>
|
||||
<string name="keyboard_previous_database_credentials_title">Pantalla de credenciales de la base de datos</string>
|
||||
<string name="keyboard_auto_go_action_title">Acción automática de tecla</string>
|
||||
<string name="keyboard_save_search_info_summary">Intente guardar la información compartida para su uso en el futuro cuando seleccione apunte manualmente</string>
|
||||
<string name="keyboard_auto_go_action_title">Acción automática de la tecla</string>
|
||||
<string name="keyboard_save_search_info_summary">Intente guardar información compartida cuando realice una selección manual de apunte para utilizar más fácil en el futuro</string>
|
||||
<string name="keyboard_save_search_info_title">Guardar información compartida</string>
|
||||
<string name="show_uuid_summary">Muestra el UUID vinculado a una entrada o a un grupo</string>
|
||||
<string name="show_uuid_title">Mostrar UUID</string>
|
||||
@@ -525,7 +517,7 @@
|
||||
<string name="warning_database_info_changed_options">Fusionar los datos, sobrescribir las modificaciones externas guardando la base de datos o recargarla con los últimos cambios.</string>
|
||||
<string name="warning_database_info_changed">La información contenida en su archivo de base de datos ha sido modificada fuera de la aplicación.</string>
|
||||
<string name="menu_reload_database">Recargar datos</string>
|
||||
<string name="error_otp_type">El tipo de OTP existente no es reconocido por este formulario, su validación ya no puede generar correctamente el testigo.</string>
|
||||
<string name="error_otp_type">El tipo de OTP existente no es reconocido por este formulario, es posible que su validación ya no genere correctamente el código.</string>
|
||||
<string name="download_canceled">¡Cancelado!</string>
|
||||
<string name="error_duplicate_file">Los datos del archivo ya existen.</string>
|
||||
<string name="error_upload_file">Se ha producido un error al cargar los datos del archivo.</string>
|
||||
@@ -533,11 +525,11 @@
|
||||
<string name="content_description_otp_information">Información de contraseña de un solo uso</string>
|
||||
<string name="icon_section_custom">Personalizado</string>
|
||||
<string name="icon_section_standard">Estándar</string>
|
||||
<string name="style_brightness_summary">Seleccionar temas oscuros o claros</string>
|
||||
<string name="style_brightness_summary">Selecciona temas oscuros o claros</string>
|
||||
<string name="style_brightness_title">Brillo del tema</string>
|
||||
<string name="properties">Propiedades</string>
|
||||
<string name="error_import_app_properties">Error al importar la configuración de la aplicación</string>
|
||||
<string name="error_export_app_properties">Error al exportar la configuración de la aplicación</string>
|
||||
<string name="error_import_app_properties">Error al importar la configuración de la aplicación.</string>
|
||||
<string name="error_export_app_properties">Error al exportar la configuración de la aplicación.</string>
|
||||
<string name="success_export_app_properties">Exportada la configuración de la aplicación</string>
|
||||
<string name="success_import_app_properties">Importada la configuración de la aplicación</string>
|
||||
<string name="export_app_properties_summary">Crea un archivo para exportar las propiedades de la aplicación</string>
|
||||
@@ -583,8 +575,8 @@
|
||||
<string name="ssid">SSID</string>
|
||||
<string name="personal_identification_number">PIN</string>
|
||||
<string name="card_verification_value">CVV</string>
|
||||
<string name="show_otp_token_summary">Muestra los testigos OTP en la lista de apuntes</string>
|
||||
<string name="show_otp_token_title">Mostrar testigo OTP</string>
|
||||
<string name="show_otp_token_summary">Muestra los códigos OTP en la lista de entradas</string>
|
||||
<string name="show_otp_token_title">Mostrar código OTP</string>
|
||||
<string name="menu_external_icon">Icono externo</string>
|
||||
<string name="autofill_manual_selection_summary">Muestra la opción para permitir al usuario seleccionar la entrada de la base de datos</string>
|
||||
<string name="autofill_manual_selection_title">Selección manual</string>
|
||||
@@ -601,7 +593,7 @@
|
||||
<string name="enable_keep_screen_on_title">Mantener pantalla encendida</string>
|
||||
<string name="enable_keep_screen_on_summary">Mantiene la pantalla encendida cuando se visualiza la entrada</string>
|
||||
<string name="enable_screenshot_mode_title">Modo captura de pantalla</string>
|
||||
<string name="enable_screenshot_mode_summary">Permite que aplicaciones de terceros graben o tomen capturas de pantalla de la aplicación</string>
|
||||
<string name="enable_screenshot_mode_summary">Permite que aplicaciones de terceros graben o tomen pantallazos de la aplicación</string>
|
||||
<string name="show_entry_colors_summary">Muestra los colores de primer y segundo plano de una entrada</string>
|
||||
<string name="show_entry_colors_title">Colores de entrada</string>
|
||||
<string name="menu_merge_database">Fusionar datos</string>
|
||||
@@ -621,9 +613,9 @@
|
||||
<string name="expired">Caducada</string>
|
||||
<string name="colorize_password_summary">Colorea los caracteres de contraseña por tipo</string>
|
||||
<string name="warning_database_already_opened">Ya hay abierta una base de datos, ciérrala antes de abrir la nueva</string>
|
||||
<string name="exclude_ambiguous_chars">Excluya caracteres ambiguos</string>
|
||||
<string name="consider_chars_filter">Considere caracteres</string>
|
||||
<string name="entropy_calculate">Entropía: calcular…</string>
|
||||
<string name="exclude_ambiguous_chars">Excluir caracteres ambiguos</string>
|
||||
<string name="consider_chars_filter">Considerar caracteres</string>
|
||||
<string name="entropy_calculate">Entropía: Calcular…</string>
|
||||
<string name="word_separator">Separador</string>
|
||||
<string name="advanced_unlock_keystore_warning">Esta función almacenará datos de credenciales cifrados en el almacén de claves seguro del dispositivo.
|
||||
\n
|
||||
@@ -637,23 +629,23 @@
|
||||
<string name="keyboard_previous_search_summary">Vuelve automáticamente al teclado anterior en la pantalla de búsqueda</string>
|
||||
<string name="entropy">Entropía: %1$s bit</string>
|
||||
<string name="entropy_high">Entropía: Alta</string>
|
||||
<string name="at_least_one_char">Al menos un carácter desde cada</string>
|
||||
<string name="ignore_chars_filter">Descartar caracteres</string>
|
||||
<string name="at_least_one_char">Al menos un carácter de cada</string>
|
||||
<string name="ignore_chars_filter">Ignorar caracteres</string>
|
||||
<string name="lower_case">minúsculas</string>
|
||||
<string name="upper_case">MAYÚSCULAS</string>
|
||||
<string name="title_case">Tipo Titular</string>
|
||||
<string name="character_count">Conteo de caracteres: %1$d</string>
|
||||
<string name="screenshot_mode_banner_text">Modo captura de pantalla</string>
|
||||
<string name="title_case">1ª letra en mayúscula</string>
|
||||
<string name="character_count">Recuento de caracteres: %1$d</string>
|
||||
<string name="screenshot_mode_banner_text">Modo de captura de pantalla</string>
|
||||
<string name="error_hardware_key_unsupported">La llave por hardware no es compatible.</string>
|
||||
<string name="html_about_privacy"><strong>No se recupera ningún dato del usuario</strong>, esta aplicación no se conecta a ningún servidor, funciona solo localmente y respeta plenamente la privacidad de los usuarios.</string>
|
||||
<string name="error_unable_merge_database_kdb">No se puede fusionar con un archivo de base de datos kdb</string>
|
||||
<string name="html_about_privacy"><strong>No se recupera ningún dato del usuario</strong>, esta aplicación no se conecta a ningún servidor y funciona solo localmente y respeta plenamente la privacidad de los usuarios.</string>
|
||||
<string name="error_unable_merge_database_kdb">No se puede fusionar con un archivo de base de datos kdb.</string>
|
||||
<string name="error_cancel_by_user">Cancelado por el usuario.</string>
|
||||
<string name="error_no_response_from_challenge">No se puede obtener la respuesta del desafío.</string>
|
||||
<string name="auto_type">Auto-teclear</string>
|
||||
<string name="hardware_key">Llave física</string>
|
||||
<string name="error_no_hardware_key">Seleccione una llave física.</string>
|
||||
<string name="error_XML_malformed">XML incorrecto.</string>
|
||||
<string name="error_challenge_already_requested">Desafío ya solicitado</string>
|
||||
<string name="error_challenge_already_requested">Desafío ya solicitado.</string>
|
||||
<string name="error_response_already_provided">Respuesta ya recibida.</string>
|
||||
<string name="error_driver_required">Se necesita un controlador para %1$s.</string>
|
||||
<string name="error_location_unknown">Se desconoce la ubicación de la base de datos, no puede realizar la acción de base de datos.</string>
|
||||
@@ -672,9 +664,7 @@
|
||||
<string name="menu_advanced_unlock_settings_summary">Biometría, credencial del dispositivo</string>
|
||||
<string name="menu_security_settings_summary">Cifrado, función de derivación de las claves</string>
|
||||
<string name="master_key_settings_summary">Cambio, renovación</string>
|
||||
<string name="warning_database_notification_permission">El permiso de notificación te permite mostrar el estado de la base de datos y bloquearla con un botón de fácil acceso.
|
||||
\n
|
||||
\nSi no activas este permiso, la base de datos abierta en segundo plano no será visible si hay otra aplicación en primer plano.</string>
|
||||
<string name="warning_database_notification_permission">El permiso de notificación te permite mostrar el estado de la base de datos y bloquearla con un botón de fácil acceso.\n\nSi no activas este permiso, la base de datos abierta en segundo plano no será visible si hay otra aplicación en primer plano.</string>
|
||||
<string name="warning_copy_permission">El permiso de notificación es necesario para utilizar la función de notificaciones para el portapapeles.</string>
|
||||
<string name="later">Más tarde</string>
|
||||
<string name="ask">Preguntar</string>
|
||||
|
||||
@@ -29,7 +29,7 @@
|
||||
<string name="content_description_entry_icon">Kirje ikoon</string>
|
||||
<string name="content_description_database_color">Andmebaasi värv</string>
|
||||
<string name="validate">Valideeri</string>
|
||||
<string name="discard_changes">Kas loobume muudatustest?</string>
|
||||
<string name="discard_changes">Kas loobud muudatustest?</string>
|
||||
<string name="discard">Loobu</string>
|
||||
<string name="entry_password_generator">Salasõna generaator</string>
|
||||
<string name="content_description_password_length">Salasõna pikkus</string>
|
||||
@@ -76,11 +76,11 @@
|
||||
<string name="content_description_node_children">Sõlme järglassõlmed</string>
|
||||
<string name="content_description_file_information">Faili teave</string>
|
||||
<string name="extended_ASCII">Laiendatud ASCII</string>
|
||||
<string name="clipboard_timeout">Lõikelaua sisu aegus</string>
|
||||
<string name="clipboard_timeout">Lõikelaua sisu aegumine</string>
|
||||
<string name="clipboard_error_clear">Ei saanud tühjendada lõikelauda</string>
|
||||
<string name="content_description_add_item">Lisa üksikasi</string>
|
||||
<string name="content_description_password_checkbox">Salasõna märkeruut</string>
|
||||
<string name="content_description_keyfile_checkbox">Võtmefaili märkruut</string>
|
||||
<string name="content_description_keyfile_checkbox">Võtmefaili märekruut</string>
|
||||
<string name="content_description_hardware_key_checkbox">Füüsilise võtme märkruut</string>
|
||||
<string name="content_description_credentials_information">Mandaatide info</string>
|
||||
<string name="content_description_nav_header">Navigatsiooni päis</string>
|
||||
@@ -127,9 +127,9 @@
|
||||
<string name="error_no_name">Sisesta nimi.</string>
|
||||
<string name="error_nokeyfile">Vali võtmefail.</string>
|
||||
<string name="error_pass_match">Salasõnad ei klapi.</string>
|
||||
<string name="error_create_database">Andmebaasi faili loomine ei õnnestunud.</string>
|
||||
<string name="error_create_database">Andmebaasifaili loomine ei õnnestunud.</string>
|
||||
<string name="entry_url">URL</string>
|
||||
<string name="error_file_not_create">Faili loomine eo õnnestunud</string>
|
||||
<string name="error_file_not_create">Faili loomine ei õnnestunud.</string>
|
||||
<string name="entry_otp">Ühekordne salasõna</string>
|
||||
<string name="clipboard_timeout_summary">Lõikelauale kopeeritud andmete hoidmise aeg (kui sinu seade sellist võimalust toetab)</string>
|
||||
<string name="content_description_keyboard_close_fields">Sulge väljad</string>
|
||||
@@ -158,7 +158,7 @@
|
||||
<string name="error_hardware_key_unsupported">Raudvaraline võti pole toetatud.</string>
|
||||
<string name="field_name">Välja nimi</string>
|
||||
<string name="field_value">Välja väärtus</string>
|
||||
<string name="file_not_found_content">Faili ei õnnestunud leida. Proovi teda avada failibrauseriga.</string>
|
||||
<string name="file_not_found_content">Faili ei õnnestunud leida. Proovi teda avada failihalduriga.</string>
|
||||
<string name="file_browser">Failihaldur</string>
|
||||
<string name="generate_password">Loo salasõna</string>
|
||||
<string name="hint_conf_pass">Kinnita salasõna</string>
|
||||
@@ -175,12 +175,12 @@
|
||||
<string name="hint_pass">Salasõna</string>
|
||||
<string name="education_generate_password_title">Loo tugev salasõna</string>
|
||||
<string name="content_description_repeat_toggle_password_visibility">Lülita salasõna nähtavus korduvalt sisse/välja</string>
|
||||
<string name="build_label">Versiooni liik: %1$s</string>
|
||||
<string name="build_label">Kompileerimise viide: %1$s</string>
|
||||
<string name="error_load_database_KDF_memory">Võtit ei leidunud. Proovi vähendada seadistust KDFi „Mälukasutus“.</string>
|
||||
<string name="file_manager_install_description">Andmebaasifailide loomiseks, avamiseks ja salvestamiseks on vajalik failihalduri olemasolu, mis oskaks kasutada ACTION_CREATE_DOCUMENT ja ACTION_OPEN_DOCUMENT päringuid.</string>
|
||||
<string name="navigation_drawer_open">Menüü on avatud</string>
|
||||
<string name="navigation_drawer_close">Menüü on suletud</string>
|
||||
<string name="html_about_licence">KeePassDX © %1$d Kunzisoft on <strong>avatud lähtekoodiga</strong> ja <strong>reklaamivaba</strong>.\nSeda programmi levitatakse ilma igasuguse garantiita ning ta on litsentseeritud <strong>GPLv3</strong> alusel.</string>
|
||||
<string name="html_about_licence">KeePassDX © %1$d Kunzisoft on <strong>avatud lähtekoodiga</strong> ja <strong>reklaamivaba</strong>. \nSeda programmi levitatakse ilma igasuguse garantiita ning ta on litsentseeritud <strong>GPLv3</strong> alusel.</string>
|
||||
<string name="html_about_privacy"><strong>See rakendus ei laadi kasutajate andmeid</strong>, ei loo ühendust ühegi serveriga, töötab nutiseadmes ainult kohalikus režiimis ja täies mahus austab kasutajate privaatsust.</string>
|
||||
<string name="html_about_contribution"><strong>Meie vabaduse säilitamiseks</strong>, <strong>vigade parandamiseks</strong>, <strong>uue funktsionaalsuse lisamiseks</strong> ning <strong>et olla alati tänapäevane</strong>, me tõsiselt arvestame sinu <strong>kaastöö ja osalemisega</strong>.</string>
|
||||
<string name="inherited">Päri</string>
|
||||
@@ -198,9 +198,9 @@
|
||||
<string name="hint_length">Pikkus</string>
|
||||
<string name="password">Salasõna</string>
|
||||
<string name="hide_password_title">Peida salasõnad</string>
|
||||
<string name="hide_password_summary">Vakimisi peida salasõnad (***) taha</string>
|
||||
<string name="hide_password_summary">Vakimisi peida salasõnad (***) maski taha</string>
|
||||
<string name="colorize_password_title">Värvi salasõnad</string>
|
||||
<string name="error_registration_read_only">Uue kirje salvestamine pole võimalik andmebaasis, milles on vaid lugemisõigus</string>
|
||||
<string name="error_registration_read_only">Uue kirje salvestamine pole võimalik andmebaasis, milles on vaid lugemisõigus.</string>
|
||||
<string name="error_database_uri_null">Andmebaasi ühtset ressursiidentifikaatorit ei õnnestu laadida.</string>
|
||||
<string name="error_rebuild_list">Loendi korrektne uuesti loomine ei õnnestu.</string>
|
||||
<string name="invalid_algorithm">Vale algoritm.</string>
|
||||
@@ -212,9 +212,457 @@
|
||||
<string name="list_entries_show_username_summary">Kasutajanimede kuvamine sisendiloendites</string>
|
||||
<string name="list_groups_show_number_entries_title">Näita kirjete arvu</string>
|
||||
<string name="show_uuid_title">Näita UUID\'d</string>
|
||||
<string name="show_uuid_summary">Näitab kirje või grupiga seotud UUID\'d</string>
|
||||
<string name="show_uuid_summary">Näita kirje või grupiga seotud UUID\'d</string>
|
||||
<string name="menu_hide_password">Peida salasõna</string>
|
||||
<string name="menu_showpass">Näita salasõna</string>
|
||||
<string name="error_cancel_by_user">Katkestatud kasutaja poolt.</string>
|
||||
<string name="error_driver_required">%1$s draiver on vajalik.</string>
|
||||
<string name="generate_keyfile">Loo võtmefail</string>
|
||||
<string name="nodes">Sõlmed</string>
|
||||
<string name="list_groups_show_number_entries_summary">Näita kirjete arvu grupis</string>
|
||||
<string name="recursive_number_entries_title">Rekursiivne kirjete arv</string>
|
||||
<string name="recursive_number_entries_summary">Näita kirjete arvu grupis ja alamgruppides rekursiivselt</string>
|
||||
<string name="menu_edit">Muuda</string>
|
||||
<string name="menu_copy">Kopeeri</string>
|
||||
<string name="menu_move">Teisalda</string>
|
||||
<string name="menu_lock">Lukusta andmebaas</string>
|
||||
<string name="menu_save_database">Salvesta andmed</string>
|
||||
<string name="menu_merge_database">Mesti andmed</string>
|
||||
<string name="menu_open">Ava</string>
|
||||
<string name="menu_search">Otsi</string>
|
||||
<string name="menu_reload_database">Laadi andmed uuesti</string>
|
||||
<string name="menu_delete">Kustuta</string>
|
||||
<string name="menu_paste">Aseta</string>
|
||||
<string name="menu_cancel">Katkesta</string>
|
||||
<string name="error_unable_merge_database_kdb">Mestimine teise kdb andmebaasifailiga ei õnnestu.</string>
|
||||
<string name="error_location_unknown">Andmebaasi asukoht pole teada ja toimingut andmebaasiga ei saa teha.</string>
|
||||
<string name="menu_empty_recycle_bin">Tühjenda prügikast</string>
|
||||
<string name="menu_restore_entry_history">Taasta ajalugu</string>
|
||||
<string name="menu_delete_entry_history">Kustuta ajalugu</string>
|
||||
<string name="menu_external_icon">Väline ikoon</string>
|
||||
<string name="minus">Miinus</string>
|
||||
<string name="export_app_properties_summary">Rakenduse seadistuste importimiseks loo fail</string>
|
||||
<string name="list_size_title">Loendite suurus</string>
|
||||
<string name="list_size_summary">Teksti suurus loendites</string>
|
||||
<string name="creating_database">Loome salasõnade andmebaasi…</string>
|
||||
<string name="loading_database">Laadime salasõnade andmebaasi…</string>
|
||||
<string name="lowercase">väiketähed</string>
|
||||
<string name="about">Rakenduse teave</string>
|
||||
<string name="menu_change_key_settings">Muuda peavõtit</string>
|
||||
<string name="copy_field">%1$s koopia</string>
|
||||
<string name="settings">Seadistused</string>
|
||||
<string name="menu_app_settings">Rakenduse seadistused</string>
|
||||
<string name="menu_app_settings_summary">Otsing, lukustus, ajalugu, omadused</string>
|
||||
<string name="menu_form_filling_settings">Vormide täitmine</string>
|
||||
<string name="menu_form_filling_settings_summary">Klahvistik, automaattäide, lõikelaud</string>
|
||||
<string name="menu_advanced_unlock_settings">Seadme lukustuse eemaldamine</string>
|
||||
<string name="menu_advanced_unlock_settings_summary">Biomeetriline, nutiseadme reeglitega</string>
|
||||
<string name="menu_database_settings">Andmebaasi seadistused</string>
|
||||
<string name="menu_database_settings_summary">Metateave, prügikast, mallid, ajalugu</string>
|
||||
<string name="menu_security_settings">Turvalisuse seadistused</string>
|
||||
<string name="menu_security_settings_summary">Krüptimine, võtmetuletuse funktsioon</string>
|
||||
<string name="master_key_settings_summary">Muutmine, uuendamine</string>
|
||||
<string name="menu_donate">Toeta meid rahaliselt</string>
|
||||
<string name="menu_url">Ava võrguaadress</string>
|
||||
<string name="menu_file_selection_read_only">Kirjutuskaitstud</string>
|
||||
<string name="menu_open_file_read_and_write">Muudetav</string>
|
||||
<string name="never">Ei iialgi</string>
|
||||
<string name="no_results">Otsingul pole tulemusi</string>
|
||||
<string name="no_url_handler">Selle võrguaadressi avamiseks paigalda veebibrauser.</string>
|
||||
<string name="auto_focus_search_title">Kiirotsing</string>
|
||||
<string name="import_app_properties_title">Impordi rakenduse seadistused</string>
|
||||
<string name="import_app_properties_summary">Rakenduse seadistuste importimiseks vali fail</string>
|
||||
<string name="export_app_properties_title">Ekspordi rakenduse seadistused</string>
|
||||
<string name="success_export_app_properties">Rakenduse seadistused on eksporditud</string>
|
||||
<string name="error_export_app_properties">Rakenduse seadistuste eksportimisel tekkis viga.</string>
|
||||
<string name="root">Juurkaust</string>
|
||||
<string name="memory_usage">Mälukasutus</string>
|
||||
<string name="error_string_type">See tekst ei vasta päringule.</string>
|
||||
<string name="menu_master_key_settings">Peavõtme seadistused</string>
|
||||
<string name="menu_merge_from">Mesti siit…</string>
|
||||
<string name="menu_save_copy_to">Salvesta koopia siia…</string>
|
||||
<string name="menu_keystore_remove_key">Kustuta seadmelukustuse eemaldamise võti</string>
|
||||
<string name="select_database_file">Ava olemasolev salasõnalaegas</string>
|
||||
<string name="create_keepass_file">Loo uus salasõnalaegas</string>
|
||||
<string name="remember_database_locations_title">Jäta meelde andmebaaside asukohad</string>
|
||||
<string name="remember_database_locations_summary">Selle eelistusega jäetakse meelde kasutatud andmebaaside asukohad</string>
|
||||
<string name="remember_keyfile_locations_title">Jäta meelde võtmefailide asukohad</string>
|
||||
<string name="remember_keyfile_locations_summary">Selle eelistusega jäetakse meelde kasutatud võtmefailide asukohad</string>
|
||||
<string name="remember_hardware_key_title">Jäta raudvaralised võtmed meelde</string>
|
||||
<string name="remember_hardware_key_summary">Selle eelistusega peetakse arvet kasutatud raudvaraliste võtmete osas</string>
|
||||
<string name="show_recent_files_title">Näita hiljutisi faile</string>
|
||||
<string name="show_recent_files_summary">Näita hiljuti kasutatud andmebaaside asukohti</string>
|
||||
<string name="hide_broken_locations_title">Peida katkised andmebaaside lingid</string>
|
||||
<string name="hide_broken_locations_summary">Peida hiljutikasutatud andmebaaside loendist need kirjed, mille lingid enam ei toimi</string>
|
||||
<string name="success_import_app_properties">Rakenduse seadistused on imporditud</string>
|
||||
<string name="error_import_app_properties">Viga rakenduse seadistuste importimisel.</string>
|
||||
<string name="description_app_properties">KeePassDX võimalused rakenduse seadistuste haldamiseks</string>
|
||||
<string name="encryption_explanation">Salasõnalaeka andmebaasi puhul kasutatud krüptoalgoritm</string>
|
||||
<string name="kdf_explanation">Krüptoalgoritmi jaoks võtme loomisel peavõtit muudetakse võtetuletusfunktsiooniga, mis kasutab juhuslikke soolaterakesi.</string>
|
||||
<string name="memory_usage_explanation">Võtmetuletusfunktsiooni poolt kasutatud mälumaht.</string>
|
||||
<string name="parallelism">Rööpsus</string>
|
||||
<string name="saving_database">Salvestan andmebaasi…</string>
|
||||
<string name="command_execution">Käivitan käsku…</string>
|
||||
<string name="do_not_kill_app">Palun ära sulge rakendust…</string>
|
||||
<string name="space">Ruum</string>
|
||||
<string name="sort_ascending">Kasvavalt ↓</string>
|
||||
<string name="sort_groups_before">Grupid esmalt</string>
|
||||
<string name="sort_recycle_bin_bottom">Prügikast viimasena</string>
|
||||
<string name="sort_title">Pealkirja alusel</string>
|
||||
<string name="sort_creation_time">Loomise aja alusel</string>
|
||||
<string name="sort_last_modify_time">Muutmise aja alusel</string>
|
||||
<string name="sort_last_access_time">Viimati kasutamise aja alusel</string>
|
||||
<string name="version_label">Versioon: %1$s</string>
|
||||
<string name="configure">Seadista</string>
|
||||
<string name="advanced_unlock_prompt_store_credential_message">Sa pead igal juhul oma salasõnalaeka salasõna meeles pidama - seda ka siis, kui kasutad muid seadmes leiduvaid lukustuse eemaldamise võimalusi.</string>
|
||||
<string name="file_name">Failinimi</string>
|
||||
<string name="path">Asukoht</string>
|
||||
<string name="assign_master_key">Seadista peavõti</string>
|
||||
<string name="data">Andmed</string>
|
||||
<string name="database_data_compression_title">Andmete pakkimine</string>
|
||||
<string name="database_data_compression_summary">Andmete pakkimine vähendab andmebaasi suurust ja andmeruumi kasutust</string>
|
||||
<string name="database_data_remove_unlinked_attachments_title">Eemalda linkimata andmed</string>
|
||||
<string name="database_data_remove_unlinked_attachments_summary">Sellega eemaldad andmebaasis leiduvad andmed, mis pole seotud ühegi kirjega</string>
|
||||
<string name="download">Laadi alla</string>
|
||||
<string name="download_complete">Allalaaditud!</string>
|
||||
<string name="download_canceled">Katkestatud!</string>
|
||||
<string name="unit_byte">B</string>
|
||||
<string name="unit_kibibyte">KiB</string>
|
||||
<string name="unit_mebibyte">MiB</string>
|
||||
<string name="unit_gibibyte">GiB</string>
|
||||
<string name="entropy">Entroopia: %1$s bitti</string>
|
||||
<string name="entropy_high">Entroopia: kõrge</string>
|
||||
<string name="entropy_calculate">Entroopia: arvutame…</string>
|
||||
<string name="style_choose_title">Rakenduse kujundus</string>
|
||||
<string name="style_choose_summary">Rakenduses kasutatav valmiskujundus</string>
|
||||
<string name="style_name_forest">Mets</string>
|
||||
<string name="style_name_divine">Jumalik</string>
|
||||
<string name="style_name_classic">Klassikaline</string>
|
||||
<string name="style_name_simple">Lihtne</string>
|
||||
<string name="style_name_moon">Kuu</string>
|
||||
<string name="style_name_sun">Päike</string>
|
||||
<string name="style_name_reply">Vastus</string>
|
||||
<string name="style_name_kunzite">Kunzite</string>
|
||||
<string name="style_name_follow_system">Kasuta süsteemi kujundust</string>
|
||||
<string name="style_brightness_title">Kujunduse eredus</string>
|
||||
<string name="style_brightness_summary">Vali heleda või tumeda kujunduse vahel</string>
|
||||
<string name="style_name_light">Hele kujundus</string>
|
||||
<string name="icon_section_standard">Standardne</string>
|
||||
<string name="icon_section_custom">Sinu valitud</string>
|
||||
<string name="icon_pack_choose_title">Ikoonikomplekt</string>
|
||||
<string name="icon_pack_choose_summary">Vali rakenduses kasutatav ikoonikomplekt</string>
|
||||
<string name="hide_templates_title">Peida mallid</string>
|
||||
<string name="hide_templates_summary">Mallid jäävad näitamata</string>
|
||||
<string name="error_autofill_enable_service">Automaattäite teenuse sisselülitamine ei õnnestunud.</string>
|
||||
<string name="rounds_explanation">Täiendavad iteratsioonid parandavad kaitset võimaliku jõuründe korral, kuid aeglustavad märgatavalt salasõnalaeka andmebaasi laadimist ja salvestamist.</string>
|
||||
<string name="sort_username">Kasutajanime alusel</string>
|
||||
<string name="parallelism_explanation">Rööpsuse määr (ehk protsessorilõimede arv), mida võtmetuletusfunktsioon kasutab.</string>
|
||||
<string name="style_name_dark">Tume kujundus</string>
|
||||
<string name="filter">Filter</string>
|
||||
<string name="sort_menu">Järjesta</string>
|
||||
<string name="sort_db">Loomulikus järjekorras</string>
|
||||
<string name="contribute">Osale</string>
|
||||
<string name="download_attachment">Laadi %1$s alla</string>
|
||||
<string name="upload_attachment">Laadi %1$s üles</string>
|
||||
<string name="download_initialization">Alustan allalaadimist…</string>
|
||||
<string name="download_progression">Allalaadimise kulg: %1$d%%</string>
|
||||
<string name="download_finalization">Lõpetan allalaadimist…</string>
|
||||
<string name="show_entry_colors_title">Värvid sisestamisel</string>
|
||||
<string name="show_entry_colors_summary">Tausta- ja esiplaani värvid andmete sisestamise ajal</string>
|
||||
<string name="hide_expired_entries_title">Peida aegunud kirjed</string>
|
||||
<string name="hide_expired_entries_summary">Andmebaasis leiduvad aegunud kirjed jäävad näitamata</string>
|
||||
<string name="auto_focus_search_summary">Andmebaasi avamisel alusta otsinguga</string>
|
||||
<string name="subdomain_search_title">Alamdomeeni otsing</string>
|
||||
<string name="subdomain_search_summary">Otsi võrgudomeene alamdomeeni piiranguga</string>
|
||||
<string name="progress_create">Loome uue salasõnade andmebaasi…</string>
|
||||
<string name="progress_title">Töötlen…</string>
|
||||
<string name="read_only">Kirjutuskaitstud</string>
|
||||
<string name="read_only_warning">Sõltuvalt sinu kasutatavast failihaldurist ei pruugi KeePassDXl olla õigust andmeruumis salvestada.</string>
|
||||
<string name="contains_duplicate_uuid">Salasõnade andmebaasis on topelt-UUIDsd.</string>
|
||||
<string name="contains_duplicate_uuid_procedure">Selle vea saad lahendada luues topelt-UUIDde asemele uued väärtused. Kas jätkame?</string>
|
||||
<string name="search_mode">Otsinguviis</string>
|
||||
<string name="save_mode">Salvestusviis</string>
|
||||
<string name="selection_mode">Valikuviis</string>
|
||||
<string name="registration_mode">Registreerimisviis</string>
|
||||
<string name="invalid_credentials">Salasõna või võtmefaili ei õnnestunud lugeda.</string>
|
||||
<string name="protection">Kaitse</string>
|
||||
<string name="underline">Allajoonitud</string>
|
||||
<string name="search">Otsi</string>
|
||||
<string name="unsupported_db_version">Mittetoetatud andmebaasi versioon.</string>
|
||||
<string name="uppercase">Suurtähed</string>
|
||||
<string name="warning">Hoiatus</string>
|
||||
<string name="warning_password_encoding">Väldi tähemärke, mis pole kasutusel andmebaasifaili kooditabelis (tundmatud tähemärgid muudetakse samaks täheks).</string>
|
||||
<string name="warning_database_read_only">Andmebaasimuudatuste salvestamiseks luba kirjutusõigused</string>
|
||||
<string name="warning_database_link_revoked">Failihaldur keelas ligipääsu failile</string>
|
||||
<string name="warning_database_already_opened">Üks andmebaas on juba avatud, enne uue avamist esmalt sulge eelmine andmebaas</string>
|
||||
<string name="warning_no_encryption_key">Kas jätkame ilma krüptivõtmeta?</string>
|
||||
<string name="warning_empty_recycle_bin">Kas kustutame kõik prügikastis asuvad sõlmed jäädavalt?</string>
|
||||
<string name="warning_sure_add_file">Kas ikkagi lisame faili?</string>
|
||||
<string name="warning_replace_file">Selle faili üleslaadimine asendab olemasoleva faili.</string>
|
||||
<string name="warning_database_info_changed_options_read_only">Laadi andmebaas uuesti koos viimaste muudatustega.</string>
|
||||
<string name="warning_database_info_reloaded">Andmebaasi uuesti laadimine kustutab võimalikud kohalikud muudatused.</string>
|
||||
<string name="database_history">Ajalugu</string>
|
||||
<string name="properties">Omadused</string>
|
||||
<string name="menu_appearance_settings">Välimus</string>
|
||||
<string name="menu_appearance_settings_summary">Välimus, värvid, omadused</string>
|
||||
<string name="html_text_dev_feature_upgrade">Ära unusta paigaldada viimaseid versioone ja tagada, et rakendus on alati uuendatud.</string>
|
||||
<string name="at_least_one_char">Vähemalt üks tähemärk igast</string>
|
||||
<string name="exclude_ambiguous_chars">Välista mitmetähenduslikud tähemärgid</string>
|
||||
<string name="consider_chars_filter">Arvesta tähemärkidega</string>
|
||||
<string name="word_separator">Eraldaja</string>
|
||||
<string name="ignore_chars_filter">Eira tähemärke</string>
|
||||
<string name="lower_case">väiketähed</string>
|
||||
<string name="upper_case">SUURTÄHED</string>
|
||||
<string name="title_case">Esimesed Suurtähed</string>
|
||||
<string name="character_count">Tähemärkide arv: %1$d</string>
|
||||
<string name="screenshot_mode_banner_text">Ekraanitõmmise režiim</string>
|
||||
<string name="error_disallow_no_credentials">Vähemalt üks autentimise vahend peab olema sisestatud.</string>
|
||||
<string name="warning_permanently_delete_nodes">Kas kustutame valitud sõlmed jäädavalt?</string>
|
||||
<string name="show_otp_token_title">Näita ühekordse salasõna tunnusluba</string>
|
||||
<string name="show_otp_token_summary">Näita ühekordse salasõna tunnuslube kirjete loendis</string>
|
||||
<string name="compression">Pakkimine</string>
|
||||
<string name="compression_gzip">Gzip</string>
|
||||
<string name="recycle_bin">Prügikast</string>
|
||||
<string name="templates">Mallid</string>
|
||||
<string name="keyboard">Klahvistik</string>
|
||||
<string name="select_entry">Vali kirje</string>
|
||||
<string name="education_setup_OTP_summary">Ühekordsete salasõnade (HOTP / TOTP) kasutuselevõtmine tunnuslubade loomiseks kaksikautentimise (2FA) jaoks.</string>
|
||||
<string name="error_otp_type">See vorm ei suuda korrektselt tuvastada ühekordse salasõna tüüpi ja seetõttu ja seetõttu ka korrektse tunnusloa loomine ei toimi.</string>
|
||||
<string name="compression_none">Puudub</string>
|
||||
<string name="warning_empty_password">Kas soovid jätkata ilma salasõna-põhise lukustuse eemaldamise kaitseta?</string>
|
||||
<string name="warning_sure_remove_data">Kas eemaldame need andmed ikkagi?</string>
|
||||
<string name="warning_empty_keyfile">Tühja võtmefaili lisamine pole turvakaalutlustel hea mõte.</string>
|
||||
<string name="warning_large_keyfile">Liiga suure võtmefaili lisamine pole hea mõte - see võib tekitada olukorra, kus andmebaasi ei saa avada.</string>
|
||||
<string name="warning_empty_keyfile_explanation">Võtmefaili sisu ei tohiks kunagi muutuda ning ideaalis peaks ta koosnema juhuslikult loodud andmetest.</string>
|
||||
<string name="warning_database_info_changed">Sinu andmebaasis leiduvat teavet on muutnud väline rakendus.</string>
|
||||
<string name="warning_copy_permission">Selleks, et lõikelauaga seotud teavitused toimiks, peavad rakendusel olema teavituste saatmise õigused.</string>
|
||||
<string name="ask">Küsi</string>
|
||||
<string name="merge_success">Mestimine õnnestus</string>
|
||||
<string name="biometric_security_update_required">Vajalik on biomeetrilise turvalisuse uuendus.</string>
|
||||
<string name="encrypted_value_stored">Krüptitud salasõna on salvestatud</string>
|
||||
<string name="advanced_unlock_not_recognized">Ei õnnestunud tuvastada lukustuse eemaldamiseks vajalikku tunnust</string>
|
||||
<string name="advanced_unlock_prompt_not_initialized">Seadme lukustuse eemaldamise päringu käivitamine ei õnnestu.</string>
|
||||
<string name="biometric">Biomeetriline</string>
|
||||
<string name="device_credential">Seadme autentimine</string>
|
||||
<string name="autofill">Automaattäide</string>
|
||||
<string name="general">Üldist</string>
|
||||
<string name="password_size_title">Loodud salasõna suurus</string>
|
||||
<string name="password_size_summary">Määratle loodavate salasõnade vaikimisi suuruse</string>
|
||||
<string name="list_password_generator_options_summary">Määratle loodavates salasõnades lubatud tähemärgid</string>
|
||||
<string name="lock_database_screen_off_title">Ekraanilukustus</string>
|
||||
<string name="lock_database_screen_off_summary">Mõni sekund peale ekraani väljalülitumist lukusta andmebaas</string>
|
||||
<string name="lock_database_back_root_title">Vajuta nuppu „Tagasi“</string>
|
||||
<string name="lock_database_show_button_title">Näita lukustuse nuppu</string>
|
||||
<string name="lock_database_back_root_summary">Lukusta andmebaas peale juurkaustas „Tagasi“ nupu klõpsimist</string>
|
||||
<string name="allow_copy_password_title">Lõikelaua usaldamine</string>
|
||||
<string name="allow_copy_password_summary">Luba sisestatud salasõna ja kaitstud väljade kopeerimise lõikelauale</string>
|
||||
<string name="education_unlock_title">Eemalda oma andmebaasi lukustus</string>
|
||||
<string name="education_unlock_summary">Oma andmebaasi lukustuse eemaldamiseks sisesta oma salasõna ja/või lukufail.\n\nPeale iga muudatust tee andmebaasifailist varukoopia mõnda turvalisse kohta.</string>
|
||||
<string name="education_read_only_title">Lisa oma andmebaasile kirjutuskaitse</string>
|
||||
<string name="html_text_dev_feature_thanks">Suur tänu kaastöö eest.</string>
|
||||
<string name="permission">Õigused</string>
|
||||
<string name="configure_biometric">Ühtegi biomeetrilist ega seadmekohast autentimist pole kasutusel.</string>
|
||||
<string name="warning_database_info_changed_options">Sa võid kas andmed mestida, kirjutada välised muudatused üle või laadida viimased välised muudatused.</string>
|
||||
<string name="unlock_and_link_biometric">Seadme lukustuse eemaldamise link</string>
|
||||
<string name="later">Hiljem</string>
|
||||
<string name="credential_before_click_advanced_unlock_button">Sisesta salasõna ja siis klõpsi seda nuppu.</string>
|
||||
<string name="html_text_dev_feature_work_hard">Me näeme hoolega vaeva, et see funktsionaalsus leiduks üsna pea mõnes rakenduse järgmises versioonis.</string>
|
||||
<string name="list_password_generator_options_title">Tähemärgid salasõnas</string>
|
||||
<string name="allow_copy_password_warning">Hoiatus: süsteemiülene lõikelaud on kõikide rakenduste kasutuses. Kui sa kopeerid sinna delikaatseid andmeid, siis muu tarkvara võib seda seal näha. Kui sa kasutad KDE Connecti või muud lõikelaua jagamise teenust, siis sõltuvalt seadistustest võivad need delikaatsed andmed olla nähtavad ka muudes seadmetes.</string>
|
||||
<string name="warning_database_revoked">Failihaldur on blokeerinud ligipääsu failile. Sulge andmebaas ja ava ta uuesti oma asukohast.</string>
|
||||
<string name="autofill_sign_in_prompt">Logi sisse KeePassDX abil</string>
|
||||
<string name="autofill_service_name">KeePassDXi automaattäite teenus</string>
|
||||
<string name="autofill_explanation_summary">Täitmaks andmevorme teistes rakenduses, luba automaattäite teenus</string>
|
||||
<string name="autofill_select_entry">Vali kirje…</string>
|
||||
<string name="set_autofill_service_title">Vali vaikimisi kasutatav automaattäite teenus</string>
|
||||
<string name="autofill_preference_title">Automaattäite teenuse seadistused</string>
|
||||
<string name="database_opened">Andmebaas on avatud</string>
|
||||
<string name="clipboard">Lõikelaud</string>
|
||||
<string name="clipboard_explanation_summary">Kopeeri kirjeid kasutades oma nutiseadme lõikelauda</string>
|
||||
<string name="clipboard_notifications_title">Lõikelaua teavitused</string>
|
||||
<string name="clipboard_notifications_summary">Kirje vatamisel näita väljade kopeerimiseks lõikelaua teavitusi</string>
|
||||
<string name="lock">Lukk</string>
|
||||
<string name="clipboard_warning">Kui lõikelaua automaatne kustutamine ei toimi, siis palun kustuta tema sisu käsitsi.</string>
|
||||
<string name="lock_database_show_button_summary">Liideses kuvame luku ikooni</string>
|
||||
<string name="content">Sisu</string>
|
||||
<string name="unavailable_feature_hardware">Vastavat riistavara ei leidunud.</string>
|
||||
<string name="unavailable_feature_version">Nutiseadmes on operatsioonisüsteemiks Android %1$s, aga vaja oleks versiooni %2$s või hilisemat.</string>
|
||||
<string name="recycle_bin_title">Prügikasti kasutus</string>
|
||||
<string name="recycle_bin_summary">Enne kustutamist viska kõik grupid ja kirjed gruppi nimega „Prügikast“</string>
|
||||
<string name="recycle_bin_group_title">Grupp Prügikast</string>
|
||||
<string name="templates_group_enable_title">Mallide kasutus</string>
|
||||
<string name="templates_group_enable_summary">Kirje väljade täitmisel kasuta dünaamilisi malle</string>
|
||||
<string name="templates_group_uuid_title">Mallide grupp</string>
|
||||
<string name="max_history_items_title">Suurim ajalookirjete arv</string>
|
||||
<string name="max_history_size_title">Suurim ajalookirjete maht</string>
|
||||
<string name="max_history_size_summary">Piira kirjekohast ajalookirjete mahtu</string>
|
||||
<string name="settings_database_recommend_changing_master_key_title">Soovitatav uuendus</string>
|
||||
<string name="max_history_items_summary">Piira kirjekohast ajalookirjete arvu</string>
|
||||
<string name="settings_database_recommend_changing_master_key_summary">Soovita üldsalasõna muutmist (näidatud päevade järel)</string>
|
||||
<string name="settings_database_force_changing_master_key_summary">Sunni üldsalasõna muutmist (näidatud päevade järel)</string>
|
||||
<string name="settings_database_force_changing_master_key_title">Sunnitud uuendus</string>
|
||||
<string name="settings_database_force_changing_master_key_next_time_title">Sunnitud uuendus järgmisel korral</string>
|
||||
<string name="settings_database_force_changing_master_key_next_time_summary">Sunni üldsalasõna muutmist järgmisel kasutuskorral (üks kord)</string>
|
||||
<string name="monospace_font_fields_enable_title">Väljade kirjetüüp</string>
|
||||
<string name="enable">Võta kasutusele</string>
|
||||
<string name="disable">Eemalda kasutuselt</string>
|
||||
<string name="notification">Teavitus</string>
|
||||
<string name="clear_clipboard_notification_title">Kustuta sulgemisel</string>
|
||||
<string name="database_name_title">Salasõnade andmebaasi nimi</string>
|
||||
<string name="database_description_title">Salasõnade andmebaasi kirjeldus</string>
|
||||
<string name="clear_clipboard_notification_summary">Kui lõikelaua jaoks lubatud kestus aegub või sulged teavituse kasutamiseks, siis lukusta andmebaas</string>
|
||||
<string name="database_default_username_title">Vakimisi kasutajanimi</string>
|
||||
<string name="database_custom_color_title">Sinu valitud värv aalasõnade andmebaasile</string>
|
||||
<string name="database_version_title">Salasõnade andmebaasi versioon</string>
|
||||
<string name="text_appearance">Tekst</string>
|
||||
<string name="application_appearance">Kasutajaliides</string>
|
||||
<string name="other">Muud</string>
|
||||
<string name="monospace_font_fields_enable_summary">Parema loetavuse huvides muuda väljadel kasutatavat kirjatüüpi</string>
|
||||
<string name="education_lock_title">Lukusta andmebaas</string>
|
||||
<string name="education_lock_summary">Võid seadistada andmebaasi automaatse lukustuse mingi aja möödumisel või ekraanilukustuse käivitumisel ning lihtsalt teha seda vastvast ikoonist.</string>
|
||||
<string name="education_sort_title">Objektide järjestus</string>
|
||||
<string name="warning_exact_alarm">Kuna sa pole lubanud rakendusel kasutada täpset äratust, siis kõik äratustest sõltuvad ajalised funktsionaalsused saavad toimuma ebatäpselt.</string>
|
||||
<string name="unavailable_feature_text">Seda funktsionaalsust ei õnnestunud käivitada.</string>
|
||||
<string name="autofill_application_id_blocklist_summary">Selles loendis olevad rakendused ei tohi kasutada automaattäite teenust</string>
|
||||
<string name="autofill_block">Keela automaattäite teenus</string>
|
||||
<string name="autofill_ask_to_save_data_summary">Küsi peale sisestusvormi täitmist, kas vormi andmed peaks salvestama</string>
|
||||
<string name="autofill_application_id_blocklist_title">Keelatud rakenduste loend</string>
|
||||
<string name="autofill_block_restart">Keelamise jõustamiseks käivita antud sisendvormiga rakendus uuesti.</string>
|
||||
<string name="autofill_inline_suggestions_keyboard">Automaattäite soovitused on lisatud.</string>
|
||||
<string name="autofill_read_only_save">Kui andmebaas on avatud ainult lugemiseks, siis andmete salvestamine pole võimalik.</string>
|
||||
<string name="delete_entered_password_summary">Kustutab salasõna, mis oli kasutusel andmebaasiga ühenduse loomise ajal</string>
|
||||
<string name="enable_read_only_summary">Vaikimisi ava andmebaas vaid lugemiseks</string>
|
||||
<string name="enable_screenshot_mode_summary">Luba teistel rakendusel teha sellest rakendusest ekraanitõmmist või salvestada tema ekraanivaadet</string>
|
||||
<string name="autofill_close_database_title">Sulge andmebaas</string>
|
||||
<string name="autofill_close_database_summary">Peale automaattäite kasutamist sulega andmebaas</string>
|
||||
<string name="autofill_inline_suggestions_title">Otsetäite soovitused</string>
|
||||
<string name="autofill_inline_suggestions_summary">Proovi kuvada automaattäite soovitusi, kui klahvistik sellist võimalust toetab</string>
|
||||
<string name="autofill_manual_selection_title">Käsitsi valik</string>
|
||||
<string name="autofill_manual_selection_summary">Võimalda kasutaval käsitsi valida andmebaasi kirjet</string>
|
||||
<string name="autofill_save_search_info_title">Salvesta otsingud</string>
|
||||
<string name="autofill_save_search_info_summary">Hilisema mugavama kasutamise nimel proovi käsitsi valiku puhul salvestada otsinguteavet</string>
|
||||
<string name="autofill_ask_to_save_data_title">Küsi, kas salvestada andmeid</string>
|
||||
<string name="autofill_web_domain_blocklist_title">Keelatud veebidomeenide loend</string>
|
||||
<string name="autofill_web_domain_blocklist_summary">Selles loendis olevad domeenid ei tohi kasutada automaattäite teenust</string>
|
||||
<string name="allow_no_password_title">Ära kasuta peavõtit</string>
|
||||
<string name="allow_no_password_summary">Kui kasutajanimi või salasõna pole valitud, siis võimaldab klõpsida „Ava“ nuppu</string>
|
||||
<string name="delete_entered_password_title">Kustuta salasõna</string>
|
||||
<string name="enable_read_only_title">Kirjutuskaitstud</string>
|
||||
<string name="enable_screenshot_mode_title">Ekraanitõmmiste lubamine</string>
|
||||
<string name="enable_education_screens_title">Koolitusvihjed</string>
|
||||
<string name="enable_education_screens_summary">Õppimaks, kuidas rakendus toimib, tõsta esile kasutajaliidese elemente</string>
|
||||
<string name="reset_education_screens_title">Lähtesta koolitusvihjed</string>
|
||||
<string name="reset_education_screens_summary">Luba näidata kogu koolitusteavet uuesti</string>
|
||||
<string name="reset_education_screens_text">Koolitusvihjed on lähtestatud</string>
|
||||
<string name="enable_auto_save_database_title">Salvesta andmebaas automaatselt</string>
|
||||
<string name="enable_auto_save_database_summary">Salvesta andmebaas automaatselt peale iga olulist tegevust (kui „Muudetav“ režiim on kasutusel)</string>
|
||||
<string name="enable_keep_screen_on_title">Hoia ekraan sisselülitatuna</string>
|
||||
<string name="enable_keep_screen_on_summary">Kirje vaatamisel või muutmisel hoia ekraan sisselülitatuna</string>
|
||||
<string name="education_create_database_title">Loo oma salasõnade andmebaas</string>
|
||||
<string name="education_select_database_title">Ava olemasolev salasõnade andmebaas</string>
|
||||
<string name="education_new_node_summary">Sinu digitaalsed identiteedid on vormistatud kirjetena.\n\nÜlevaatlikkuse mõttes saad neid rühmitada gruppidena (kaustadena).</string>
|
||||
<string name="education_create_database_summary">Loo oma esimene andmebaasifail, mis on mõeldud salasõnade halduseks.</string>
|
||||
<string name="education_select_database_summary">Ava varemloodud andmebaasifail, mis on mõeldud salasõnade halduseks.</string>
|
||||
<string name="advanced_unlock_prompt_store_credential_title">Link seadme lukustuse eemaldamisele</string>
|
||||
<string name="unlock">Eemalda lukustus</string>
|
||||
<string name="advanced_unlock_tap_delete">Seadme lukustuse eemaldamise võtmete kustutamiseks klõpsi</string>
|
||||
<string name="advanced_unlock_explanation_summary">Andmebaasi mugavamaks avamiseks kasuta nutiseadme lukustuse eemaldamise võimalusi</string>
|
||||
<string name="device_credential_unlock_enable_title">Lukustuse eemaldamine nutiseadme autentimisega</string>
|
||||
<string name="biometric_unlock_enable_title">Biomeetriline lukustuse eemaldamine</string>
|
||||
<string name="biometric_unlock_enable_summary">Saad andmebaasi avamiseks kasutada nutiseadme biomeetrilise autentimise võimalusi</string>
|
||||
<string name="temp_advanced_unlock_timeout_title">Seadme lukustuse eemaldamise aegumine</string>
|
||||
<string name="temp_advanced_unlock_timeout_summary">Lukustuse eemaldamise kestus enne kui tema sisu kustutatakse</string>
|
||||
<string name="temp_advanced_unlock_enable_summary">Ära salvesta mitte mingit krüptitud sisu nutiseadme lukustuse eemaldamiseks</string>
|
||||
<string name="advanced_unlock_timeout">Seadme lukustuse eemaldamise ajalõpp</string>
|
||||
<string name="device_credential_unlock_enable_summary">Saad andmebaasi avamiseks kasutada nutiseadme tavaautentimise võimalusi</string>
|
||||
<string name="biometric_auto_open_prompt_title">Ava viip automaatselt</string>
|
||||
<string name="biometric_delete_all_key_summary">Kustuta kõik krüptovõtmed, mis on kasutusel nutiseadme-põhise autentimise alusel andmebaasi lukustuse eemaldamisega</string>
|
||||
<string name="advanced_unlock_delete_all_key_warning">Kas kustutame kõik krüptovõtmed, mis on kasutusel nutiseadme-põhise autentimise alusel andmebaasi lukustuse eemaldamisega?</string>
|
||||
<string name="biometric_delete_all_key_title">Kustuta krüptovõtmed</string>
|
||||
<string name="education_advanced_unlock_title">Nutiseadme-põhine andmebaasi lukustuse eemaldamine</string>
|
||||
<string name="education_new_node_title">Lisa kirjeid andmebaasi</string>
|
||||
<string name="education_search_title">Otsi kirjete seast</string>
|
||||
<string name="education_search_summary">Vajaliku salasõna otsimiseks kasuta pealkirja, kasutajanime või muid kirje välju.</string>
|
||||
<string name="education_add_attachment_title">Manuste lisamine</string>
|
||||
<string name="education_add_attachment_summary">Kui soovid kirjesse kaasata väliseid olulisi andmeid, siis saad seda teha manuse lisamise abil.</string>
|
||||
<string name="education_sort_summary">Vali kirjete ja gruppide järjestamise viis.</string>
|
||||
<string name="education_donation_title">Osale</string>
|
||||
<string name="education_donation_summary">Aita parandada rakenduse töökindlust ja turvalisust ning lisada uusi funktsionaalsuseid.</string>
|
||||
<string name="temp_advanced_unlock_enable_title">Seadme lukustuse ajutine eemaldamine</string>
|
||||
<string name="biometric_auto_open_prompt_summary">Kui andmebaas on seadistatud kasutama nutiseadme-põhist lukustuse eemaldamist, siis ava autentimisvaade automaatselt</string>
|
||||
<string name="education_field_copy_title">Välja kopeerimine</string>
|
||||
<string name="education_field_copy_summary">Kopeeritud väljade sisu saad asetada kõikjale.\n\nVäljade täitmiseks kasuta meetodist, mis sulle sobib. Ära unusta kopeeritud saalsõna lõikelaualt kustutada.</string>
|
||||
<string name="unavailable">Pole saadaval</string>
|
||||
<string name="error_challenge_already_requested">Autentimispäring on juba esitatud.</string>
|
||||
<string name="error_response_already_provided">Autentimisvastus on juba antud.</string>
|
||||
<string name="error_no_response_from_challenge">Autentimisvastust ei õnnestu autentimispäringust tuletada.</string>
|
||||
<string name="warning_database_notification_permission">Teevituste saatmise õigused võimaldavad sulle kuvada andmebaasi olekut ning lukustada seda lihtsalt ligipääsetvast nupust.\n\nKui sa seda õigust ei anna, siis taustal olev andmebaas pole nähtav, kui mõni muu rakendus on parasjagu esiplaanil.</string>
|
||||
<string name="warning_keyfile_integrity">Kuna Android saab seda faili lennult muuta, siis tema räsiväärtus pole garanteeritud. Korraliku andmetervikluse tagamiseks muuda .bin faili laiendiks.</string>
|
||||
<string name="warning_file_too_big">KeePassi andmebaas peaks sisaldama vaid väikseid manuseid (näiteks PGP võtmefaile).\n\nSelle faili lisamisega võib sinu andmebaas minna väga mahukaks ja sellega väheneb kasutusjõudlus ja -kiirus.</string>
|
||||
<string name="keystore_not_accessible">Võtmehoidla pole korrektselt valmendatud.</string>
|
||||
<string name="special">Eriteave</string>
|
||||
<string name="warning_remove_unlinked_attachment">Linkimata andmete eemaldamine võib vähendada andmebaasi suurust, aga samaga võivad kaduda ka andmed, mida kasutavad KeePassi lisamoodulid.</string>
|
||||
<string name="advanced_unlock_prompt_extract_credential_title">Seadmekohane lukustuse eemaldamine</string>
|
||||
<string name="advanced_unlock_prompt_extract_credential_message">Ava andmebaas kasutades nutiseadme-põhist autentimist</string>
|
||||
<string name="advanced_unlock_invalid_key">Seadme lukustuse eemaldamise võtit ei õnnestu lugeda. Palun kustuta ta ja korda lukustuse eemaldamist tuvastamise alusel.</string>
|
||||
<string name="advanced_unlock">Nutiseadme-põhine lukustuse eemaldamine</string>
|
||||
<string name="magic_keyboard_title">Maagiklahvistik</string>
|
||||
<string name="device_keyboard_setting_title">Nutiseadme klahvistiku seadistused</string>
|
||||
<string name="keyboard_entry_category">Sisestus</string>
|
||||
<string name="keyboard_selection_entry_title">Sisestuse valik</string>
|
||||
<string name="magic_keyboard_explanation_summary">Lülita sisse kohandatud klahvistik, mis eeltäidab sinu saalsõnad ja muud olulised väljad</string>
|
||||
<string name="keyboard_label">Maagiklahvistik (KeePassDX)</string>
|
||||
<string name="keyboard_name">Maagiklahvistik (Magikeyboard)</string>
|
||||
<string name="keyboard_setting_label">Maagiklahvistiku seadistused</string>
|
||||
<string name="keyboard_notification_entry_title">Teavituste info</string>
|
||||
<string name="keyboard_notification_entry_summary">Kui kirje on saadaval, siis näita teavitust</string>
|
||||
<string name="keyboard_save_search_info_title">Salvesta jagatud teave</string>
|
||||
<string name="keyboard_notification_entry_clear_close_title">Sulgemisel kustuta</string>
|
||||
<string name="keyboard_notification_entry_clear_close_summary">Teavituse sulgemisel sulge ka andmebaas</string>
|
||||
<string name="keyboard_save_search_info_summary">Hilisema mugava kasutamise jaoks proovi käsitsi sisestamisel salvestada jagatud teavet</string>
|
||||
<string name="keyboard_selection_entry_summary">Kui vaatad mõnda kirjet rakenduses KeePassDX, siis edasta selle kirje andmed Maagiklahvistikule</string>
|
||||
<string name="keyboard_notification_entry_content_title">%1$s on Maagiklahvistikus saadaval</string>
|
||||
<string name="keyboard_entry_timeout_title">Aegumine</string>
|
||||
<string name="keyboard_entry_timeout_summary">Aeg, peale mida kirje kustub klahvistikus</string>
|
||||
<string name="keyboard_notification_entry_content_title_text">Sisestus</string>
|
||||
<string name="keyboard_notification_entry_content_text">%1$s</string>
|
||||
<string name="keyboard_appearance_category">Välimus</string>
|
||||
<string name="keyboard_theme_title">Klahvistiku kujundus</string>
|
||||
<string name="keyboard_auto_go_action_title">Automaatne võtmetoiming</string>
|
||||
<string name="keyboard_keys_category">Klahvid</string>
|
||||
<string name="keyboard_auto_go_action_summary">„Jätka“ võtme toiming pärast „Väli“ võtme vajutamist</string>
|
||||
<string name="keyboard_key_vibrate_title">Värin võtmevajutusel</string>
|
||||
<string name="keyboard_key_sound_title">Kuuldavad võtmevajutused</string>
|
||||
<string name="keyboard_change">Klahvistiku vahetamine</string>
|
||||
<string name="keyboard_previous_database_credentials_title">Andmebaasi autentimise vaade</string>
|
||||
<string name="keyboard_previous_database_credentials_summary">Lülita andmebaasi salasõna vaatest automaatselt tagasi eelmisele klahvistikule</string>
|
||||
<string name="keyboard_previous_search_title">Otsinguvaade</string>
|
||||
<string name="keyboard_previous_search_summary">Lülita otsinguvaatest automaatselt tagasi eelmisele klahvistikule</string>
|
||||
<string name="keyboard_previous_fill_in_title">Tagasilülitamine</string>
|
||||
<string name="back_to_previous_keyboard">Tagasi eelmise klahvistiku juurde</string>
|
||||
<string name="custom_fields">Kohandatud väljad</string>
|
||||
<string name="keyboard_previous_lock_title">Andmebaasi lukustamine</string>
|
||||
<string name="keyboard_previous_lock_summary">Peale andmebaasi lukustamist lülita automaatselt tagasi eelmisele klahvistikule</string>
|
||||
<string name="education_advanced_unlock_summary">Andmebaasi lukustuse kiireks eemaldamiseks seo oma andmebaasi salasõna nutiseadme biomeetrilise või tavatuvastusega.</string>
|
||||
<string name="education_entry_edit_title">Kirje muutmine</string>
|
||||
<string name="education_entry_edit_summary">Võid kirjele lisada omaloodud välju ning ka neid omavahel siduda.</string>
|
||||
<string name="education_generate_password_summary">Sisestusvormil leiduvate eelmistuste alusel saad antud kirje jaoks luua tugeva salasõna ning seda andmebaasis hoides tagad, et korralik salasõna ei unune.</string>
|
||||
<string name="education_validate_entry_title">Kirje kontrollimine ja salvestamine</string>
|
||||
<string name="education_entry_new_field_title">Omaloodud väljade lisamine</string>
|
||||
<string name="education_entry_new_field_summary">Registreeri täiendav väli, lisa sinna sisu ning soovi korral ka kaitse seda.</string>
|
||||
<string name="html_text_buy_pro">Kui ostaksid, Pro-versiooni, siis saad võimaluse kasutada seda <strong>välimust</strong> ja aitad oluliselt määral <strong>kogukonna projekte realiseerida.</strong></string>
|
||||
<string name="html_text_feature_generosity">See <strong>välimus </strong> on saadaval tänu sinu heldusele.</string>
|
||||
<string name="html_text_dev_feature">Hetkel on see funktsionaalsus <strong>veel arendusjärgus</strong> ja vajab lähiajal saadaval olemiseks sinu <strong>panust</strong>.</string>
|
||||
<string name="html_text_dev_feature_buy_pro">Ostes <strong>Pro-versiooni</strong>,</string>
|
||||
<string name="html_text_dev_feature_contibute">või <strong>tehes kaastööd</strong>,</string>
|
||||
<string name="html_text_dev_feature_encourage">julgustad sa arendajaid lisama <strong>uusi funktsionaalsusi</strong> ja <strong>parandama vigu</strong> vastavalt sinu vihjetele.</string>
|
||||
<string name="backspace">Tagasisammuklahv (Backspace)</string>
|
||||
<string name="education_setup_OTP_title">Seadista ühekordne salasõna</string>
|
||||
<string name="enter">Sisestusklahv (Enter)</string>
|
||||
<string name="education_validate_entry_summary">Ära unusta kirje sisu kontrollida ja salvestada.\n\nKui automaatne lukustus käivitub ja sa unustad, et muutmine oli pooleli, siis võid kaotada oma muudatused.</string>
|
||||
<string name="html_text_ad_free">Erinevalt paljudest teistest salasõnahalduritest, on meie oma <strong>reklaamivaba</strong> ja <strong>avatud lähtekoodiga vaba tarkvara</strong>, mis ei kogu kasutajate isiklikke andmeid oma serveritesse ja seda kõikide versioonide puhul.</string>
|
||||
<string name="html_text_donation"><strong>Aidates kaasa</strong> selle projekti tegevusele <i>(rahaliselt, koodi kirjutades või tõlkides)</i>, aitad kogu ettevõtmisel areneda ning soovi korral võid kasutada ka <strong>seda kujundust</strong>.</string>
|
||||
<string name="advanced_unlock_keystore_warning">See funktsionaalsus salvestab krüptitud salasõnad ja kasutajanimed sinu nutiseadme turvalises võtmehoidlas.\n\nSõltuvalt sinu nutiseadme operatsioonisüstemi konkreetsest implementatsioonist, ei pruugi see lahendus siiski täismahus toimida.\n\nPalun kontrolli oma seadme võtmehoidla (KeyStore) ühilduvust ja turvalisust tootjalt ja/või tarkvara loojalt.</string>
|
||||
<string name="keyboard_previous_fill_in_summary">Peale tegevust „Automaatne võtmetoiming“ lülita automaatselt tagasi eelmisele klahvistikule</string>
|
||||
<string name="education_read_only_summary">Saad juhtida sessioonil kasutatavat avamisviisi.\n\n„Kirjutuskaitstud“ tagab, et juhuslike muudatustega ei läheks andmeid kaotsi.\n„Muudetav“ võimaldab sul lisada, kustutada või muuta kõiki andmebaasi kirjeid.</string>
|
||||
</resources>
|
||||
@@ -62,7 +62,7 @@
|
||||
<string name="entry_user_name">Erabiltzaile-izena</string>
|
||||
<string name="error_arc4">Ez dago euskarririk Arcfour fluxu-zifraketarako.</string>
|
||||
<string name="error_can_not_handle_uri">Ezin izan da KeePassDXen URI hau kudeatu.</string>
|
||||
<string name="error_file_not_create">Ezin izan da fitxategia sortu</string>
|
||||
<string name="error_file_not_create">Ezin izan da fitxategia sortu.</string>
|
||||
<string name="error_invalid_db">Ezin izan da datu-basea irakurri.</string>
|
||||
<string name="error_invalid_path">Egiaztatu bide-izena zuzena dela.</string>
|
||||
<string name="error_no_name">Sartu izena.</string>
|
||||
@@ -242,7 +242,7 @@
|
||||
<string name="error_otp_secret_key">Gako sekretuak Base32 formatuan egon behar du.</string>
|
||||
<string name="error_otp_period">Periodoak %1$d eta%2$d segundo bitartekoa izan behar du.</string>
|
||||
<string name="error_string_type">Testu hau ez dator bat eskatutako elementuarekin.</string>
|
||||
<string name="error_registration_read_only">Ezin da elementu bat gehitu irakurketa soileko datu-basean</string>
|
||||
<string name="error_registration_read_only">Ezin da elementu bat gehitu irakurketa soileko datu-basean.</string>
|
||||
<string name="error_otp_counter">Kontagailuak %1$d eta %2$d artean egon behar du.</string>
|
||||
<string name="error_load_database">Ezin izan da datu-basea kargatu.</string>
|
||||
<string name="html_about_contribution"><strong> Gure askatasuna mantentzeko </strong>, <strong>bugak konpontzeko </strong>, <strong> ezaugarriak konpontzeko </strong> eta <strong> beti aktibo egoteko</strong>, zure <strong> ekarpenen</strong> zain gaude.</string>
|
||||
@@ -326,7 +326,7 @@
|
||||
<string name="error_duplicate_file">Fitxategiko datuak jadanik existitzen dira.</string>
|
||||
<string name="error_remove_file">Fitxategiko datuak ezabatzean errorea gertatu da.</string>
|
||||
<string name="error_start_database_action">Errorea gertatu da datu-basean akzio bat egitean.</string>
|
||||
<string name="error_challenge_already_requested">Erronka eskatuta dago</string>
|
||||
<string name="error_challenge_already_requested">Erronka eskatuta dago.</string>
|
||||
<string name="error_response_already_provided">Jaso da erantzuna.</string>
|
||||
<string name="error_no_response_from_challenge">Ezinezkoa da erronkaren erantzuna jasotzea.</string>
|
||||
<string name="error_cancel_by_user">Erabiltzaileak bertan behera utzita.</string>
|
||||
@@ -367,8 +367,8 @@
|
||||
<string name="import_app_properties_title">Inportatu aplikazioaren ezarpenak</string>
|
||||
<string name="import_app_properties_summary">Hautatu fitxategia aplikazioaren ezarpenak inportatzeko</string>
|
||||
<string name="success_import_app_properties">Aplikazioen ezarpenak inportatu dira</string>
|
||||
<string name="error_import_app_properties">Errorea aplikazioaren ezarpenak inportatzean</string>
|
||||
<string name="error_export_app_properties">Errorea aplikazioaren ezarpenak esportatzean</string>
|
||||
<string name="error_import_app_properties">Errorea aplikazioaren ezarpenak inportatzean.</string>
|
||||
<string name="error_export_app_properties">Errorea aplikazioaren ezarpenak esportatzean.</string>
|
||||
<string name="memory_usage">Memoria erabilpena</string>
|
||||
<string name="parallelism_explanation">Gakoaren eratorpen funtzioak erabilitako paralelismo gradua (adb. hari kopurua).</string>
|
||||
<string name="command_execution">Komandoa exekutatzen…</string>
|
||||
@@ -489,7 +489,6 @@
|
||||
<string name="advanced_unlock_prompt_store_credential_message">Zure kutxa gotorraren pasahitz-nagusia gogoratu behar duzu naiz eta desblokeo aurreratuko ezagutzea erabili arren.</string>
|
||||
<string name="encrypted_value_stored">Zifratutako pasahitza gordeta</string>
|
||||
<string name="unavailable">Datu-base honek ez du biltegiratuta kredentzialik.</string>
|
||||
<string name="advanced_unlock_scanning_error">Gailuaren desblokeatze errorea: %1$s</string>
|
||||
<string name="menu_appearance_settings">Itxura</string>
|
||||
<string name="autofill_sign_in_prompt">KeePassDXekin erregistratu</string>
|
||||
<string name="autofill_explanation_summary">Gaitu betetze automatikoa beste aplikazioetako formularioak errez betetzeko</string>
|
||||
|
||||
@@ -144,18 +144,18 @@
|
||||
<string name="error_rounds_too_large">\"دور تحول\" بیش از حد بالا است. تنظیم به 2147483648.</string>
|
||||
<string name="error_pass_match">رمزهای عبور با هم مطابقت نمی کنند.</string>
|
||||
<string name="error_disallow_no_credentials">حداقل یک اعتبار نامه باید تعیین شود.</string>
|
||||
<string name="error_pass_gen_type">حداقل یک نوع تولید رمز عبور باید انتخاب شود</string>
|
||||
<string name="error_pass_gen_type">حداقل یک نوع تولید رمز عبور باید انتخاب شود.</string>
|
||||
<string name="error_load_database_KDF_memory">نميتونستم کليد رو بار کنم سعی کنید KDF \"استفاده از حافظه\" را پایین بیاورید.</string>
|
||||
<string name="error_load_database">پایگاه داده شما را نمی توان بارگذاری کرد</string>
|
||||
<string name="error_load_database">پایگاه داده شما را نمی توان بارگذاری کرد.</string>
|
||||
<string name="error_out_of_memory">هیچ حافظه ای برای بارگذاری کل پایگاه داده خود را.</string>
|
||||
<string name="error_nokeyfile">یک فایل کلید را انتخاب کنید.</string>
|
||||
<string name="error_no_name">نامی را وارد کنید.</string>
|
||||
<string name="error_invalid_OTP">راز OTP نامعتبر.</string>
|
||||
<string name="error_invalid_path">مطمئن شوید که مسیر درست است</string>
|
||||
<string name="error_invalid_path">مطمئن شوید که مسیر درست است.</string>
|
||||
<string name="error_invalid_db">نمی توانست پایگاه داده را بخواند.</string>
|
||||
<string name="error_file_not_create">نمی تواند پرونده ایجاد کند</string>
|
||||
<string name="error_file_not_create">نمی تواند پرونده ایجاد کند.</string>
|
||||
<string name="error_can_not_handle_uri">نمی تواند این URI در KeePassDX رسیدگی کند.</string>
|
||||
<string name="error_arc4">رمز جریان Arcfour پشتیبانی نمی شود</string>
|
||||
<string name="error_arc4">رمز جریان Arcfour پشتیبانی نمی شود.</string>
|
||||
<string name="entry_user_name">نام کاربری</string>
|
||||
<string name="entry_url">آدرس</string>
|
||||
<string name="entry_otp">otp</string>
|
||||
@@ -262,9 +262,9 @@
|
||||
\n
|
||||
\nممکن است پایگاه داده شما بسیار بزرگ شود و با این بارگذاری عملکرد را کاهش دهید.</string>
|
||||
<string name="warning_empty_recycle_bin">آیا همه کلید ها از سطل بازیافت به طور دائم حذف می شوند؟</string>
|
||||
<string name="error_export_app_properties">خطا در هنگام صادرات ویژگی های برنامه</string>
|
||||
<string name="error_export_app_properties">خطا در هنگام صادرات ویژگی های برنامه.</string>
|
||||
<string name="success_export_app_properties">ویژگی های برنامه صادر شد</string>
|
||||
<string name="error_import_app_properties">خطا در هنگام وارد کردن ویژگی های برنامه</string>
|
||||
<string name="error_import_app_properties">خطا در هنگام وارد کردن ویژگی های برنامه.</string>
|
||||
<string name="success_import_app_properties">ویژگی های برنامه وارد شد</string>
|
||||
<string name="description_app_properties">ویژگی های KeePassDX برای مدیریت تنظیمات برنامه</string>
|
||||
<string name="export_app_properties_summary">یک فایل برای صادر کردن ویژگی های برنامه ایجاد کنید</string>
|
||||
@@ -285,7 +285,7 @@
|
||||
<string name="error_rebuild_list">نمی توان لیست را به درستی بازسازی کرد.</string>
|
||||
<string name="error_database_uri_null">URI پایگاه داده بازیابی نمی شود.</string>
|
||||
<string name="error_field_name_already_exists">نام فیلد از قبل موجود است.</string>
|
||||
<string name="error_registration_read_only">ذخیره یک مورد جدید در پایگاه داده \"فقط خواندنی\" مجاز نیست</string>
|
||||
<string name="error_registration_read_only">ذخیره یک مورد جدید در پایگاه داده \"فقط خواندنی\" مجاز نیست.</string>
|
||||
<string name="error_otp_type">نوع OTP موجود توسط این فرم شناخته نمی شود ، اعتبار آن ممکن است دیگر توکن را به درستی تولید نکند.</string>
|
||||
<string name="id_card">ID Card</string>
|
||||
<string name="card_verification_value">CVV</string>
|
||||
|
||||
@@ -44,7 +44,7 @@
|
||||
<string name="digits">Numerot</string>
|
||||
<string name="html_about_licence">KeePassDX © %1$d Kunzisoft on <strong>avointa lähdekoodia</strong> ja <strong>mainokseton</strong>.
|
||||
\nSe tarjotaan sellaisenaan <strong>GPLv3</strong> lisenssillä ja ilman takuuta.</string>
|
||||
<string name="select_database_file">Avaa olemassaoleva salasanatietokanta</string>
|
||||
<string name="select_database_file">Avaa olemassaoleva tietokanta</string>
|
||||
<string name="entry_accessed">Käytetty</string>
|
||||
<string name="entry_cancel">Peruuta</string>
|
||||
<string name="entry_notes">Kommentit</string>
|
||||
@@ -61,7 +61,7 @@
|
||||
<string name="entry_user_name">Käyttäjänimi</string>
|
||||
<string name="error_arc4">Arcfour stream cipher ei ole tuettu.</string>
|
||||
<string name="error_can_not_handle_uri">KeePassDX ei osaa käsitellä tätä osoitetta.</string>
|
||||
<string name="error_file_not_create">Tiedoston luonti epäonnistui</string>
|
||||
<string name="error_file_not_create">Tiedoston luonti epäonnistui.</string>
|
||||
<string name="error_invalid_db">Tietokantaa ei pystytty lukemaan.</string>
|
||||
<string name="error_invalid_path">Varmista että polku on oikein.</string>
|
||||
<string name="error_no_name">Anna nimi.</string>
|
||||
@@ -90,7 +90,7 @@
|
||||
<string name="length">Pituus</string>
|
||||
<string name="list_size_title">Ryhmälistan pituus</string>
|
||||
<string name="list_size_summary">Tekstin koko ryhmälistauksessa</string>
|
||||
<string name="loading_database">Ladataan salasanatietokantaa…</string>
|
||||
<string name="loading_database">Ladataan tietokantaa…</string>
|
||||
<string name="lowercase">pienet kirjaimet</string>
|
||||
<string name="hide_password_title">Piilota salasana</string>
|
||||
<string name="hide_password_summary">Piilota salasanat oletuksena</string>
|
||||
@@ -102,7 +102,7 @@
|
||||
<string name="menu_donate">Lahjoita</string>
|
||||
<string name="menu_edit">Muokkaa</string>
|
||||
<string name="menu_hide_password">Piilota salasana</string>
|
||||
<string name="menu_lock">Lukitse salasanatietokanta</string>
|
||||
<string name="menu_lock">Lukitse tietokanta</string>
|
||||
<string name="menu_open">Avaa</string>
|
||||
<string name="menu_search">Etsi</string>
|
||||
<string name="menu_showpass">Näytä salasana</string>
|
||||
@@ -181,12 +181,12 @@
|
||||
<string name="content_description_background">Tausta</string>
|
||||
<string name="lock_database_show_button_summary">Näyttää lukitusnäppäimen käyttöilittymässä</string>
|
||||
<string name="lock_database_show_button_title">Näytä lukitusnäppäin</string>
|
||||
<string name="lock_database_back_root_summary">Lukitse salasanatietokanta kun käyttäjä painaa takaisin-painiketta aloitusnäytössä</string>
|
||||
<string name="lock_database_back_root_summary">Lukitse tietokanta käyttäjän painaessa takaisin-painiketta aloitusnäytössä</string>
|
||||
<string name="lock_database_back_root_title">Paina \'Takaisin\' lukitaksesi</string>
|
||||
<string name="clipboard_warning">Jos automaattinen leikepöydän poistaminen epäonnistuu, poista sen historia manuaalisesti.</string>
|
||||
<string name="clipboard_explanation_summary">Kopioi kentät käyttäen laitteesi leikepöytää</string>
|
||||
<string name="clipboard">Leikepöytä</string>
|
||||
<string name="database_opened">Salasanatietokanta aukaistu</string>
|
||||
<string name="database_opened">Tietokanta avattu</string>
|
||||
<string name="autofill_preference_title">Automaattisen täytön asetukset</string>
|
||||
<string name="autofill_explanation_summary">Ota käyttöön automaattinen täyttö täyttääksesi lomakkeita nopeasti muissa sovelluksissa</string>
|
||||
<string name="menu_appearance_settings">Ulkonäkö</string>
|
||||
@@ -200,7 +200,7 @@
|
||||
<string name="do_not_kill_app">Älä sammuta sovellusta…</string>
|
||||
<string name="command_execution">Suoritetaan komentoa…</string>
|
||||
<string name="hide_broken_locations_summary">Piilota rikkinäiset linkit viimeaikasista salasanatietokannoista</string>
|
||||
<string name="hide_broken_locations_title">Piilota rikkinäiset salasanatietokantalinkit</string>
|
||||
<string name="hide_broken_locations_title">Piilota rikkinäiset tietokantalinkit</string>
|
||||
<string name="show_recent_files_summary">Näytä viimeaikaisten salasanatietokantojen sijainnit</string>
|
||||
<string name="menu_open_file_read_and_write">Muokattava</string>
|
||||
<string name="magic_keyboard_title">Magi-näppäimistö</string>
|
||||
@@ -223,7 +223,7 @@
|
||||
<string name="unavailable_feature_hardware">Vastaavaa laitteistoa ei löydetty.</string>
|
||||
<string name="unavailable_feature_version">Android versiosi %1$s ei vastaa vaadittuun minimiversioon %2$s.</string>
|
||||
<string name="unavailable_feature_text">Tätä ominaisuutta ei pystytty avaamaan.</string>
|
||||
<string name="lock_database_screen_off_summary">Lukitse salasanatietokanta, kun näyttö on sammunut</string>
|
||||
<string name="lock_database_screen_off_summary">Lukitse tietokanta muutama sekunti näytön sammusen jälkeen</string>
|
||||
<string name="lock_database_screen_off_title">Näytön lukitus</string>
|
||||
<string name="lock">Lukko</string>
|
||||
<string name="clipboard_notifications_summary">Ota käyttöön leikepöytäilmoitukset kopioidaksesi kenttiä, kun katsot tietuetta</string>
|
||||
@@ -264,19 +264,19 @@
|
||||
<string name="remember_database_locations_title">Tallenna salasatietokantojen sijainti</string>
|
||||
<string name="selection_mode">Valintatila</string>
|
||||
<string name="contains_duplicate_uuid_procedure">Ratkaise ongelma generoimalla uudet UUID:t kaksoiskappaleilla jatkaaksesi\?</string>
|
||||
<string name="contains_duplicate_uuid">Salasanatietokanta sisältää kaksoiskappale UUID:ta.</string>
|
||||
<string name="contains_duplicate_uuid">Tietokanta sisältää päällekkäisiä UUID-tunnuksia.</string>
|
||||
<string name="read_only_warning">Riippuen tiedostoselaimestasi, KeePassDX:llä ei välttämättä ole oikeuksia kirjoittaa muistiin.</string>
|
||||
<string name="read_only">Kirjoitussuojattu</string>
|
||||
<string name="subdomain_search_summary">Hae verkkodomaineja alidomainrajoituksilla</string>
|
||||
<string name="subdomain_search_title">Alidomainhaku</string>
|
||||
<string name="auto_focus_search_summary">Pyydä haku, salasanatietokantaa avattaessa</string>
|
||||
<string name="auto_focus_search_summary">Pyydä haku tietokantaa avattaessa</string>
|
||||
<string name="auto_focus_search_title">Pikahaku</string>
|
||||
<string name="create_keepass_file">Luo uusi salasanatietokanta</string>
|
||||
<string name="create_keepass_file">Luo uusi tietokanta</string>
|
||||
<string name="menu_delete_entry_history">Poista historia</string>
|
||||
<string name="menu_restore_entry_history">Palauta historia</string>
|
||||
<string name="menu_empty_recycle_bin">Tyhjennä roskakori</string>
|
||||
<string name="menu_file_selection_read_only">Kirjoitussuojattu</string>
|
||||
<string name="menu_save_database">Tallenna salasanatietokanta</string>
|
||||
<string name="menu_save_database">Tallenna tietokanta</string>
|
||||
<string name="menu_cancel">Peruuta</string>
|
||||
<string name="menu_paste">Liitä</string>
|
||||
<string name="menu_move">Siirrä</string>
|
||||
@@ -286,7 +286,7 @@
|
||||
<string name="menu_advanced_unlock_settings">Edistynyt lukituksen avaaminen</string>
|
||||
<string name="menu_form_filling_settings">Lomakkeen täyttö</string>
|
||||
<string name="copy_field">Kopio %1$s:sta</string>
|
||||
<string name="creating_database">Luodaan salasanatietokantaa…</string>
|
||||
<string name="creating_database">Luodaan tietokantaa…</string>
|
||||
<string name="list_groups_show_number_entries_summary">Näytä tietueiden määrä ryhmässä</string>
|
||||
<string name="list_groups_show_number_entries_title">Näytä tietueiden määrä</string>
|
||||
<string name="list_entries_show_username_summary">Näytä käyttäjänimet tietuelistoissa</string>
|
||||
@@ -307,4 +307,136 @@
|
||||
<string name="error_autofill_enable_service">Automaattista täyttöä ei voitu ottaa käyttöön.</string>
|
||||
<string name="content_description_node_children">Solmun lapset</string>
|
||||
<string name="info">Tietoja</string>
|
||||
<string name="content_description_passphrase_word_count">Salalauseen sanamäärä</string>
|
||||
<string name="content_description_database_color">Tietokannan väri</string>
|
||||
<string name="html_about_privacy"><strong>Käyttäjätietoja ei haeta</strong>, tämä sovellus ei muodosta yhteyttä mihinkään palvelimeen, toimii vain paikallisesti ja kunnioittaa täysin käyttäjien yksityisyyttä.</string>
|
||||
<string name="regex">Säännöllinen lauseke</string>
|
||||
<string name="template_group_name">Mallit</string>
|
||||
<string name="navigation_drawer_open">Navigointivedin auki</string>
|
||||
<string name="inherited">Peri</string>
|
||||
<string name="auto_type_sequence">Automaattisen kirjoituksen sekvenssi</string>
|
||||
<string name="search_filters">Hakusuodattimet</string>
|
||||
<string name="auto_type">Automaattinen kirjoitus</string>
|
||||
<string name="content_description_hardware_key_checkbox">Laitteistoavain-valintaruutu</string>
|
||||
<string name="content_description_entry_background_color">Merkinnän taustaväri</string>
|
||||
<string name="content_description_nav_header">Navigointiotsikko</string>
|
||||
<string name="expired">Vanhentunut</string>
|
||||
<string name="waiting_challenge_response">Odotetaan haasteen vastausta…</string>
|
||||
<string name="navigation_drawer_close">Navigointivedin suljettu</string>
|
||||
<string name="waiting_challenge_request">Odotetaan haastepyyntöä…</string>
|
||||
<string name="hardware_key">Laitteistoavain</string>
|
||||
<string name="searchable">Haettavissa</string>
|
||||
<string name="tags">Tagit</string>
|
||||
<string name="custom_data">Mukautettu tieto</string>
|
||||
<string name="current_group">Nykyinen ryhmä</string>
|
||||
<string name="warning_database_notification_permission">Ilmoituslupa antaa sinun näyttää tietokannan tilan ja lukita sen helposti saatavilla olevalla painikkeella.\n\nJos et aktivoi tätä lupaa, taustalla oleva avoin tietokanta ei ole näkyvissä, jos etualalla on toinen sovellus.</string>
|
||||
<string name="content_description_otp_information">Kertakäyttösalasanan tiedot</string>
|
||||
<string name="content_description_credentials_information">Tunnustiedot</string>
|
||||
<string name="error_driver_required">Ajuri kohteelle %1$s vaaditaan.</string>
|
||||
<string name="content_description_entry_foreground_color">Merkinnän etualan väri</string>
|
||||
<string name="case_sensitive">Merkkikokoriippuvainen</string>
|
||||
<string name="error_upload_file">Virhe tiedostoa ladattaessa.</string>
|
||||
<string name="error_rebuild_list">Ei voi kunnolla uudelleenrakentaa listaa.</string>
|
||||
<string name="id_card">Henkilökortti</string>
|
||||
<string name="secure_note">Turvallinen muistiinpano</string>
|
||||
<string name="error_duplicate_file">Tiedoston tiedot ovat jo olemassa.</string>
|
||||
<string name="error_start_database_action">Virhe suorittaessa toimintoa tietokannalla.</string>
|
||||
<string name="debit_credit_card">Pankki- tai luottokortti</string>
|
||||
<string name="number">Numero</string>
|
||||
<string name="date_of_issue">Myöntämispäivämäärä</string>
|
||||
<string name="email">Sähköposti</string>
|
||||
<string name="email_address">Sähköpostiosoite</string>
|
||||
<string name="ssid">SSID</string>
|
||||
<string name="colorize_password_title">Väritä salasanat</string>
|
||||
<string name="colorize_password_summary">Väritä salasanan merkit tyypin mukaan</string>
|
||||
<string name="show_otp_token_title">Näytä OTP-valtuutus</string>
|
||||
<string name="hint_icon_name">Kuvakkeen nimi</string>
|
||||
<string name="show_otp_token_summary">Näyttää OTP-valtuutukset merkintöjen luettelossa</string>
|
||||
<string name="card_verification_value">CVV</string>
|
||||
<string name="holder">Haltija</string>
|
||||
<string name="type">Tyyppi</string>
|
||||
<string name="error_XML_malformed">XML on epämuodostunut.</string>
|
||||
<string name="place_of_issue">Myöntämispaikka</string>
|
||||
<string name="error_cancel_by_user">Käyttäjä perui.</string>
|
||||
<string name="membership">Jäsenyys</string>
|
||||
<string name="standard">Standardi</string>
|
||||
<string name="template">Pohja</string>
|
||||
<string name="version">Versio</string>
|
||||
<string name="wireless">Wi-Fi</string>
|
||||
<string name="show_uuid_title">Näytä UUID</string>
|
||||
<string name="personal_identification_number">PIN</string>
|
||||
<string name="public_key">Julkinen avain</string>
|
||||
<string name="private_key">Salainen avain</string>
|
||||
<string name="error_word_reserved">Tämä sana on varattu eikä sitä voi käyttää.</string>
|
||||
<string name="error_otp_type">Olemassaolevaa OTP-tyyppiä ei ole tunnistettu tällä lomakkeella, ja sen validointi ei välttämättä enää tuota oikein tokenia.</string>
|
||||
<string name="show_uuid_summary">Näyttää tietueen tai ryhmän UUID-tunnisteen</string>
|
||||
<string name="generate_keyfile">Luo avaintiedosto</string>
|
||||
<string name="nodes">Solmut</string>
|
||||
<string name="recursive_number_entries_title">Rekursiivinen määrä merkintöjä</string>
|
||||
<string name="recursive_number_entries_summary">Laskee rekursiivisesti ryhmän merkintöjen määrän</string>
|
||||
<string name="name">Nimi</string>
|
||||
<string name="cryptocurrency">Kryptolompakko</string>
|
||||
<string name="token">Token</string>
|
||||
<string name="seed">Siemenarvo</string>
|
||||
<string name="account">Käyttäjätili</string>
|
||||
<string name="bank">Pankki</string>
|
||||
<string name="bank_identifier_code">SWIFT / BIC</string>
|
||||
<string name="international_bank_account_number">IBAN</string>
|
||||
<string name="error_no_hardware_key">Valitse laitteistoavain.</string>
|
||||
<string name="error_label_exists">Merkintä on jo olemassa.</string>
|
||||
<string name="error_move_group_here">Ryhmää ei voi siirtää tänne.</string>
|
||||
<string name="error_field_name_already_exists">Kenttänimi on jo olemassa.</string>
|
||||
<string name="error_database_uri_null">Tietokannan URI-osoitetta ei voi palauttaa.</string>
|
||||
<string name="error_file_to_big">Lataamasi tiedosto on liian suuri.</string>
|
||||
<string name="error_remove_file">Virhe poistaessa tiedoston tietoja.</string>
|
||||
<string name="error_challenge_already_requested">Haaste on jo pyydetty</string>
|
||||
<string name="error_response_already_provided">Vastaus on jo annettu.</string>
|
||||
<string name="error_no_response_from_challenge">Vastausta haasteeseen ei voitu saada.</string>
|
||||
<string name="error_unable_merge_database_kdb">Ei voitu yhdistää kdb-tietokantatiedostoon</string>
|
||||
<string name="error_location_unknown">Tietokannan sijainti ei ole tiedossa, tietokannan toimintaa ei voida suorittaa.</string>
|
||||
<string name="error_hardware_key_unsupported">Laitteistoavainta ei tueta.</string>
|
||||
<string name="error_empty_key">Avain ei voi olla tyhjä.</string>
|
||||
<string name="corrupted_file">Korruptoitunut tiedosto.</string>
|
||||
<string name="passphrase">Salalause</string>
|
||||
<string name="error_registration_read_only">Uuden tietueen tallentaminen ei ole sallittua, kun tietokanta on vain lukutilassa</string>
|
||||
<string name="bank_name">Pankin nimi</string>
|
||||
<string name="warning_permanently_delete_nodes">Poista pysyvästi valitut solmut?</string>
|
||||
<string name="warning_database_info_changed">Tietokantatiedoston sisältämää tietoa on muutettu sovelluksen ulkopuolella.</string>
|
||||
<string name="menu_external_icon">Ulkoinen kuvake</string>
|
||||
<string name="search_mode">Hakutila</string>
|
||||
<string name="menu_reload_database">Lataa tiedot uudelleen</string>
|
||||
<string name="menu_merge_from">Yhdistä …</string>
|
||||
<string name="menu_save_copy_to">Kopioi …</string>
|
||||
<string name="menu_merge_database">Yhdistä tietoja</string>
|
||||
<string name="menu_keystore_remove_key">Poista avain laitteen avaamiseen</string>
|
||||
<string name="warning_empty_keyfile">Tyhjän avaintiedoston lisääminen ei ole suositeltavaa.</string>
|
||||
<string name="menu_app_settings_summary">Haku, lukitus, historia, oninaisuudet</string>
|
||||
<string name="menu_form_filling_settings_summary">Näppäimistö, automaattinen täyttö, leikepöytä</string>
|
||||
<string name="menu_advanced_unlock_settings_summary">Biometria, laitevaltuutus</string>
|
||||
<string name="menu_database_settings_summary">Metadata, roskakori, pohjat, historia</string>
|
||||
<string name="menu_security_settings_summary">Salaus, avaimen johtamisfunktio</string>
|
||||
<string name="master_key_settings_summary">Muutos, uudistus</string>
|
||||
<string name="remember_hardware_key_title">Muista laitteistoavaimet</string>
|
||||
<string name="remember_hardware_key_summary">Seuraa käytettyjä laitteistoavaimia</string>
|
||||
<string name="import_app_properties_title">Tuo sovellusasetukset</string>
|
||||
<string name="import_app_properties_summary">Valitse tiedosto tuodaksesi sovellusasetukset</string>
|
||||
<string name="error_import_app_properties">Virhe sovellusasetuksia tuodessa</string>
|
||||
<string name="filter">Suodatin</string>
|
||||
<string name="warning_database_already_opened">Sulje avoinna oleva tietokanta ennen uuden avaamista</string>
|
||||
<string name="warning_empty_recycle_bin">Poista pysyvästi kaikki solmut roskakorista?</string>
|
||||
<string name="warning_replace_file">Tämän tiedoston lataaminen korvaa nykyisen.</string>
|
||||
<string name="warning_file_too_big">Keepass-tietokannan tulisi sisältää vain pieniä aputiedostoja (kuten PGP-avaintiedostoja).\n\nTietokannastasi voi tulla hyvin suuri ja suorituskyky voi heiketä tämän latauksen seurauksena.</string>
|
||||
<string name="warning_sure_add_file">Lisää tiedosto joka tapauksessa?</string>
|
||||
<string name="warning_remove_unlinked_attachment">Linkittämättömien tietojen poistaminen voi pienentää tietokannan kokoa, mutta se voi myös poistaa KeePass-liitännäisten käyttämiä tietoja.</string>
|
||||
<string name="warning_sure_remove_data">Poistetaanko tiedot joka tapauksessa?</string>
|
||||
<string name="warning_large_keyfile">Ei ole suositeltavaa lisätä suurta avantiedostos, sillä se voi estää tietokantaa avautumasta.</string>
|
||||
<string name="warning_empty_keyfile_explanation">Avaintiedoston sisältöä ei tulisi koskaan muuttaa, ja parhaassa tapauksessa sen tulisi sisältää satunnaisesti tuotettua tietoa.</string>
|
||||
<string name="save_mode">Tallennustila</string>
|
||||
<string name="registration_mode">Rekisteröintitila</string>
|
||||
<string name="export_app_properties_summary">Luo tiedosto, johon sovellusasetukset viedään</string>
|
||||
<string name="export_app_properties_title">Vie sovellusasetukset</string>
|
||||
<string name="description_app_properties">KeePassDX ominaisuudet sovellusasetusten hallintaan</string>
|
||||
<string name="success_import_app_properties">Sovellusasetukset tuotu</string>
|
||||
<string name="error_export_app_properties">Virhe sovellusasetuksia viedessä</string>
|
||||
<string name="success_export_app_properties">Sovellusasetukset tuotu</string>
|
||||
</resources>
|
||||
@@ -101,7 +101,7 @@
|
||||
<string name="error_otp_counter">Dapat nasa pagitan ng %1$d at %2$d ang counter.</string>
|
||||
<string name="error_otp_period">Dapat nasa pagitan ng %1$d at %2$d na segundo ang period.</string>
|
||||
<string name="error_otp_digits">Dapat maglaman ng %1$d hanggang %2$d na digit ang token.</string>
|
||||
<string name="error_registration_read_only">Hindi pinapayagan ang pag-save ng bagong item sa read-only na database</string>
|
||||
<string name="error_registration_read_only">Hindi pinapayagan ang pag-save ng bagong item sa read-only na database.</string>
|
||||
<string name="error_no_response_from_challenge">Hindi makuha ang tugon mula sa challenge.</string>
|
||||
<string name="error_driver_required">Kinakailangan ang driver para sa %1$s.</string>
|
||||
<string name="error_unable_merge_database_kdb">Hindi maisama mula sa database V1.</string>
|
||||
@@ -158,7 +158,7 @@
|
||||
<string name="entry_user_name">Username</string>
|
||||
<string name="error_arc4">Hindi sinusuportahan ang Arcfour stream cipher.</string>
|
||||
<string name="error_can_not_handle_uri">Hindi ma-handle ang URI na ito sa KeePassDX.</string>
|
||||
<string name="error_file_not_create">Hindi magawa ang file</string>
|
||||
<string name="error_file_not_create">Hindi magawa ang file.</string>
|
||||
<string name="error_invalid_db">Hindi mabasa ang database.</string>
|
||||
<string name="error_invalid_path">Siguraduhing tama ang path.</string>
|
||||
<string name="error_invalid_OTP">Hindi wastong OTP secret.</string>
|
||||
@@ -193,7 +193,7 @@
|
||||
<string name="error_start_database_action">May naganap na error habang nagsasagawa ng pagkilos sa database.</string>
|
||||
<string name="error_remove_file">May naganap na error habang tinatanggal ang file data.</string>
|
||||
<string name="error_upload_file">May naganap na error habang ina-upload ang file data.</string>
|
||||
<string name="error_challenge_already_requested">Hiniling na ang challenge</string>
|
||||
<string name="error_challenge_already_requested">Hiniling na ang challenge.</string>
|
||||
<string name="error_response_already_provided">Ibinigay na ang tugon.</string>
|
||||
<string name="error_cancel_by_user">Kinansela ng user.</string>
|
||||
<string name="error_hardware_key_unsupported">Hindi sinusuportahan ang hardware key.</string>
|
||||
@@ -308,6 +308,6 @@
|
||||
<string name="remember_database_locations_title">Tandaan ang mga lokasyon ng database</string>
|
||||
<string name="description_app_properties">Mga property ng KeePassDX para ipamahala ang mga setting ng app</string>
|
||||
<string name="success_import_app_properties">Na-import ang mga setting ng app</string>
|
||||
<string name="error_import_app_properties">Error habang nagi-import ng mga setting ng app</string>
|
||||
<string name="error_import_app_properties">Error habang nagi-import ng mga setting ng app.</string>
|
||||
<string name="success_export_app_properties">Na-export ang mga setting ng app</string>
|
||||
</resources>
|
||||
@@ -65,7 +65,7 @@
|
||||
<string name="entry_user_name">Nom d’utilisateur</string>
|
||||
<string name="error_arc4">Le chiffrement de flux Arcfour n’est pas pris en charge.</string>
|
||||
<string name="error_can_not_handle_uri">Impossible de gérer cette URI dans KeePassDX.</string>
|
||||
<string name="error_file_not_create">Impossible de créer le fichier</string>
|
||||
<string name="error_file_not_create">Impossible de créer le fichier.</string>
|
||||
<string name="error_invalid_db">Impossible de lire la base de données.</string>
|
||||
<string name="error_invalid_path">Vérifier la validité du chemin d’accès.</string>
|
||||
<string name="error_no_name">Saisir un nom.</string>
|
||||
@@ -320,7 +320,7 @@
|
||||
<string name="keyboard_previous_fill_in_title">Changement précédent</string>
|
||||
<string name="keyboard_previous_fill_in_summary">Revenir automatiquement au clavier précédent après avoir exécuté \"Action de touche automatique\"</string>
|
||||
<string name="selection_mode">Mode sélection</string>
|
||||
<string name="do_not_kill_app">Ne pas tuer l\'application…</string>
|
||||
<string name="do_not_kill_app">Ne pas fermer l\'application…</string>
|
||||
<string name="lock_database_back_root_title">Appuyer sur \"Retour\" pour verrouiller</string>
|
||||
<string name="lock_database_back_root_summary">Verrouille la base de données lorsque l’utilisateur clique sur le bouton retour de l’écran racine</string>
|
||||
<string name="clear_clipboard_notification_title">Suppression à la fermeture</string>
|
||||
@@ -501,7 +501,7 @@
|
||||
<string name="registration_mode">Mode enregistrement</string>
|
||||
<string name="save_mode">Mode sauvegarde</string>
|
||||
<string name="search_mode">Mode recherche</string>
|
||||
<string name="error_registration_read_only">L’enregistrement d’un nouvel élément n’est pas autorisé dans une base de données en lecture seule</string>
|
||||
<string name="error_registration_read_only">L’enregistrement d’un nouvel élément n’est pas autorisé dans une base de données en lecture seule.</string>
|
||||
<string name="error_field_name_already_exists">Le nom du champ existe déjà.</string>
|
||||
<string name="advanced_unlock_delete_all_key_warning">Supprimer toutes les clés de chiffrement liées à la reconnaissance de déverrouillage de l\'appareil \?</string>
|
||||
<string name="device_credential_unlock_enable_summary">Vous permet d\'utiliser les informations d\'identification de votre appareil pour ouvrir la base de données</string>
|
||||
@@ -509,7 +509,6 @@
|
||||
<string name="device_credential">Identifiant de l\'appareil</string>
|
||||
<string name="credential_before_click_advanced_unlock_button">Tapez le mot de passe, puis cliquez sur ce bouton.</string>
|
||||
<string name="advanced_unlock_prompt_not_initialized">Impossible d\'initialiser l\'invite de déverrouillage avancé.</string>
|
||||
<string name="advanced_unlock_scanning_error">Erreur de déverrouillage avancé : %1$s</string>
|
||||
<string name="advanced_unlock_not_recognized">Impossible de reconnaître l\'empreinte de déverrouillage de l\'appareil</string>
|
||||
<string name="advanced_unlock_invalid_key">Impossible de lire la clé de déverrouillage de l\'appareil. Veuillez la supprimer et répéter la procédure de reconnaissance de déverrouillage.</string>
|
||||
<string name="advanced_unlock_prompt_extract_credential_message">Extraire les identifiants de la base de données avec des données de déverrouillage de l\'appareil</string>
|
||||
@@ -556,9 +555,9 @@
|
||||
<string name="error_file_to_big">Le fichier que vous essayez de téléverser est trop volumineux.</string>
|
||||
<string name="content_description_otp_information">Information sur le mot de passe à usage unique</string>
|
||||
<string name="properties">Propriétés</string>
|
||||
<string name="error_export_app_properties">Erreur lors de l\'exportation des paramètres de l\'application</string>
|
||||
<string name="error_export_app_properties">Erreur lors de l\'exportation des paramètres de l\'application.</string>
|
||||
<string name="success_export_app_properties">Paramètres exportés de l\'application</string>
|
||||
<string name="error_import_app_properties">Erreur lors de l\'importation des paramètres de l\'application</string>
|
||||
<string name="error_import_app_properties">Erreur lors de l\'importation des paramètres de l\'application.</string>
|
||||
<string name="success_import_app_properties">Paramètres importés de l\'application</string>
|
||||
<string name="description_app_properties">Propriétés KeePassDX pour gérer les paramètres de l\'application</string>
|
||||
<string name="export_app_properties_summary">Créer un fichier pour exporter les paramètres de l\'application</string>
|
||||
@@ -676,12 +675,12 @@
|
||||
<string name="content_description_hardware_key_checkbox">Case à cocher de clé matérielle</string>
|
||||
<string name="waiting_challenge_request">En attente de la requête de challenge…</string>
|
||||
<string name="waiting_challenge_response">En attente de la réponse de challenge…</string>
|
||||
<string name="error_challenge_already_requested">Challenge déjà demandé</string>
|
||||
<string name="error_challenge_already_requested">Challenge déjà demandé.</string>
|
||||
<string name="error_response_already_provided">Réponse déjà fournie.</string>
|
||||
<string name="error_no_response_from_challenge">Impossible d\'obtenir la réponse du challenge.</string>
|
||||
<string name="error_cancel_by_user">Annulé par l\'utilisateur.</string>
|
||||
<string name="error_driver_required">Le pilote pour %1$s est nécessaire.</string>
|
||||
<string name="error_unable_merge_database_kdb">Impossible de fusionner à partir d\'un fichier de base de données kdb</string>
|
||||
<string name="error_unable_merge_database_kdb">Impossible de fusionner à partir d\'un fichier de base de données kdb.</string>
|
||||
<string name="merge_success">Fusion terminée avec succès</string>
|
||||
<string name="info">Info</string>
|
||||
<string name="menu_app_settings_summary">Recherche, verrouillage, historique, propriétés</string>
|
||||
@@ -704,6 +703,6 @@
|
||||
<string name="recursive_number_entries_title">Nombre d\'entrées récursif</string>
|
||||
<string name="recursive_number_entries_summary">Calcule récursivement le nombre d\'entrées dans un groupe</string>
|
||||
<string name="warning_large_keyfile">Il n\'est pas recommandé d\'ajouter un fichier clé volumineux, car cela pourrait empêcher l\'ouverture de la base de données.</string>
|
||||
<string name="hide_templates_title">Cacher les modèles</string>
|
||||
<string name="hide_templates_summary">Les modèles ne sont pas affichés</string>
|
||||
<string name="hide_templates_title">Cacher les gabarits</string>
|
||||
<string name="hide_templates_summary">Les gabarits ne sont pas affichés</string>
|
||||
</resources>
|
||||
@@ -73,7 +73,7 @@
|
||||
<string name="error_copy_group_here">Non pode copiar un grupo aquí.</string>
|
||||
<string name="error_create_database">Non foi posíbel crear o ficheiro da base de datos.</string>
|
||||
<string name="bank_name">Nome do banco</string>
|
||||
<string name="error_file_not_create">Non foi posíbel crear o ficheiro</string>
|
||||
<string name="error_file_not_create">Non foi posíbel crear o ficheiro.</string>
|
||||
<string name="error_no_name">Introduza un nome.</string>
|
||||
<string name="error_pass_gen_type">Ten que seleccionar polo menos un tipo de xeración de contrasinal.</string>
|
||||
<string name="error_load_database">Non foi posíbel abrir a base de datos.</string>
|
||||
@@ -234,7 +234,7 @@
|
||||
<string name="error_create_database_file">Non foi posíbel crear a base de datos con ese contrasinal e ficheiro clave.</string>
|
||||
<string name="error_save_database">Non foi posíbel gardar a base de datos.</string>
|
||||
<string name="error_rebuild_list">Non é posíbel reconstruír a lista adecuadamente.</string>
|
||||
<string name="error_challenge_already_requested">Desafío xa solicitado</string>
|
||||
<string name="error_challenge_already_requested">Desafío xa solicitado.</string>
|
||||
<string name="error_response_already_provided">Resposta xa obtida.</string>
|
||||
<string name="error_no_response_from_challenge">Non foi posíbel obter a resposta do desafío.</string>
|
||||
<string name="error_cancel_by_user">Cancelado polo usuario.</string>
|
||||
@@ -271,7 +271,7 @@
|
||||
<string name="error_otp_digits">O token debe ter entre %1$d e %2$d díxitos.</string>
|
||||
<string name="error_otp_type">O tipo de OTP existente non é recoñecido por este formulario, é posíbel que a súa validación non poida xerar o token correctamente.</string>
|
||||
<string name="field_name">Nome do campo</string>
|
||||
<string name="error_registration_read_only">Gardar un novo elemento non é permitido nunha base de datos de só lectura</string>
|
||||
<string name="error_registration_read_only">Gardar un novo elemento non é permitido nunha base de datos de só lectura.</string>
|
||||
<string name="file_not_found_content">Non foi posíbel atopar o ficheiro. Probe a volver abrilo no seu explorador de ficheiros.</string>
|
||||
<string name="hint_group_name">Nome do grupo</string>
|
||||
<string name="hint_icon_name">Nome do icono</string>
|
||||
@@ -331,8 +331,8 @@
|
||||
<string name="remember_hardware_key_summary">Mantén un rexistro das claves hardware usadas</string>
|
||||
<string name="show_recent_files_title">Mostrar ficheiros recentes</string>
|
||||
<string name="hide_broken_locations_summary">Ocultar ligazóns rotas na lista de bases de datos recentes</string>
|
||||
<string name="error_import_app_properties">Erro ao importar as propiedades da aplicación</string>
|
||||
<string name="error_export_app_properties">Erro ao exportar as propiedades da aplicación</string>
|
||||
<string name="error_import_app_properties">Erro ao importar as propiedades da aplicación.</string>
|
||||
<string name="error_export_app_properties">Erro ao exportar as propiedades da aplicación.</string>
|
||||
<string name="kdf_explanation">Para xerar a clave do algoritmo de cifrado, a clave mestra é transformada usando unha función de derivación de clave cun salto aleatorio.</string>
|
||||
<string name="rounds">Rondas de transformación</string>
|
||||
<string name="rounds_explanation">Rondas de cifrado adicionais fornecen máis protección contra ataques por forza bruta, mais poden demorar a carga e o gardado.</string>
|
||||
@@ -425,7 +425,6 @@
|
||||
<string name="advanced_unlock_invalid_key">Non foi posíbel ler a clave de desbloqueo avanzado. Por favor, bórrea e repita o procedemento de recoñecemento do desbloqueo.</string>
|
||||
<string name="encrypted_value_stored">Contrasinal cifrado almacenado</string>
|
||||
<string name="advanced_unlock_not_recognized">Non foi posíbel recoñecer a pegada do desbloqueo avanzado</string>
|
||||
<string name="advanced_unlock_scanning_error">Erro de desbloqueo avanzado: %1$s</string>
|
||||
<string name="autofill_service_name">Servizo de autocompletado do KeePassDX</string>
|
||||
<string name="database_history">Historial</string>
|
||||
<string name="advanced_unlock_prompt_store_credential_message">Aínda precisa lembrar a súa credencial principal se usar o recoñecemento de desbloqueo avanzado.</string>
|
||||
|
||||
@@ -62,7 +62,7 @@
|
||||
<string name="entry_url">यू.आर.एल</string>
|
||||
<string name="entry_user_name">उपयोगकर्ता का नाम</string>
|
||||
<string name="error_can_not_handle_uri">KeePassDX में इस URI को संभाल नहीं सका।</string>
|
||||
<string name="error_file_not_create">फाइल नहीं बना सका</string>
|
||||
<string name="error_file_not_create">फाइल नहीं बना सका।</string>
|
||||
<string name="error_invalid_db">डेटाबेस को पढ़ा नहीं जा सका।</string>
|
||||
<string name="error_invalid_path">सुनिश्चित करें कि रास्ता सही है।</string>
|
||||
<string name="error_no_name">एक नाम दर्ज करें।</string>
|
||||
|
||||
@@ -228,7 +228,7 @@
|
||||
<string name="content_description_node_children">Pod-čvor</string>
|
||||
<string name="entry_accessed">Pristupljeno</string>
|
||||
<string name="error_arc4">Arcfour šifriranje nije podržano.</string>
|
||||
<string name="error_file_not_create">Nije moguće stvoriti datoteku</string>
|
||||
<string name="error_file_not_create">Nije moguće stvoriti datoteku.</string>
|
||||
<string name="error_invalid_db">Nije moguće čitati bazu podataka.</string>
|
||||
<string name="error_invalid_path">Provjeri putanju do datoteke.</string>
|
||||
<string name="error_invalid_OTP">Neispravna tajna jednokratne lozinke.</string>
|
||||
@@ -463,7 +463,7 @@
|
||||
<string name="content_description_credentials_information">Podaci za prijavu</string>
|
||||
<string name="autofill_save_search_info_summary">Pokušaj spremiti podatke prilikom odabira ručnog unosa za jednostavniju buduću upotrebu</string>
|
||||
<string name="notification">Obavijest</string>
|
||||
<string name="error_registration_read_only">Nije dopušteno spremati novi element u zaštićenoj bazi podataka</string>
|
||||
<string name="error_registration_read_only">Nije dopušteno spremati novi element u zaštićenoj bazi podataka.</string>
|
||||
<string name="autofill_read_only_save">Spremanje podataka nije dopušteno za bazu podataka koja je otvorena u zaštićenom stanju.</string>
|
||||
<string name="show_uuid_summary">Prikazuje UUID povezan s unosom ili grupom</string>
|
||||
<string name="show_uuid_title">Prikaži UUID</string>
|
||||
@@ -490,7 +490,6 @@
|
||||
<string name="menu_keystore_remove_key">Izbriši ključ za otključavanje uređaja</string>
|
||||
<string name="advanced_unlock_prompt_store_credential_title">Poveznica za otključavanje uređaja</string>
|
||||
<string name="advanced_unlock_prompt_not_initialized">Nije moguće pokrenuti prozor za otključavanje uređaja.</string>
|
||||
<string name="advanced_unlock_scanning_error">Greška otključavanja uređaja: %1$s</string>
|
||||
<string name="advanced_unlock_prompt_extract_credential_message">Izdvoji podatake za prijavu na bazu podataka pomoću podataka za otključavanje uređaja</string>
|
||||
<string name="advanced_unlock_not_recognized">Nije bilo moguće prepoznati ispis za otključavanje uređaja</string>
|
||||
<string name="advanced_unlock_invalid_key">Nije moguće pročitati ključ za otključavanje uređaja. Izbriši ga i ponovi postupak prepoznavanja otključavanja.</string>
|
||||
@@ -535,9 +534,9 @@
|
||||
<string name="error_remove_file">Tijekom uklanjanja podataka datoteke došlo je do greške.</string>
|
||||
<string name="error_duplicate_file">Podaci datoteke već postoje.</string>
|
||||
<string name="properties">Svojstva</string>
|
||||
<string name="error_export_app_properties">Greška tijekom izvoza postavki aplikacije</string>
|
||||
<string name="error_export_app_properties">Greška tijekom izvoza postavki aplikacije.</string>
|
||||
<string name="success_export_app_properties">Postavke aplikacije su izvezene</string>
|
||||
<string name="error_import_app_properties">Greška tijekom uvoza postavki aplikacije</string>
|
||||
<string name="error_import_app_properties">Greška tijekom uvoza postavki aplikacije.</string>
|
||||
<string name="success_import_app_properties">Postavke aplikacije su uvezene</string>
|
||||
<string name="description_app_properties">KeePassDX svojstva za upravljanje postavkama aplikacije</string>
|
||||
<string name="export_app_properties_summary">Stvori datoteku za izvoz postavki aplikacije</string>
|
||||
@@ -640,7 +639,7 @@
|
||||
<string name="upper_case">VELIKA SLOVA</string>
|
||||
<string name="hardware_key">Hardverski ključ</string>
|
||||
<string name="error_no_hardware_key">Odaberi hardverski ključ.</string>
|
||||
<string name="error_unable_merge_database_kdb">Spajanje s kdb datotekom baze podataka nije moguće</string>
|
||||
<string name="error_unable_merge_database_kdb">Spajanje s kdb datotekom baze podataka nije moguće.</string>
|
||||
<string name="error_location_unknown">Mjesto baze podataka nije poznato, radnja baze podataka se ne može izvršiti.</string>
|
||||
<string name="error_cancel_by_user">Korisnik je prekinuo radnju.</string>
|
||||
<string name="error_driver_required">Potreban je pogon za %1$s.</string>
|
||||
@@ -660,7 +659,7 @@
|
||||
<string name="waiting_challenge_response">Čeka se odgovor za izazov …</string>
|
||||
<string name="auto_type">Automatski unos</string>
|
||||
<string name="waiting_challenge_request">Čeka se zahtjev za izazov …</string>
|
||||
<string name="error_challenge_already_requested">Izazov je već zatražen</string>
|
||||
<string name="error_challenge_already_requested">Izazov je već zatražen.</string>
|
||||
<string name="error_response_already_provided">Odgovor je već dat.</string>
|
||||
<string name="merge_success">Sjedinjavanje uspješno završeno</string>
|
||||
<string name="menu_app_settings_summary">Pretraga, zaključavanje, povijest, svojstva</string>
|
||||
@@ -696,4 +695,9 @@
|
||||
<string name="style_name_kunzite">Spodumen</string>
|
||||
<string name="style_name_dark">Tamna</string>
|
||||
<string name="warning_database_info_changed_options_read_only">Ponovo učitaj bazu podataka s najnovijim promjenama.</string>
|
||||
<string name="nodes">Čvorovi</string>
|
||||
<string name="recursive_number_entries_title">Rekurzivni broj unosa</string>
|
||||
<string name="recursive_number_entries_summary">Rekurzivno izračunava broj unosa u grupi</string>
|
||||
<string name="hide_templates_title">Sakrij predloške</string>
|
||||
<string name="hide_templates_summary">Predlošci se ne prikazuju</string>
|
||||
</resources>
|
||||
@@ -60,7 +60,7 @@
|
||||
<string name="entry_user_name">Felhasználónév</string>
|
||||
<string name="error_arc4">Az Arcfour adatfolyam-titkosítás nem támogatott.</string>
|
||||
<string name="error_can_not_handle_uri">Ez az URI nem kezelhető a KeePassDX-ben.</string>
|
||||
<string name="error_file_not_create">Nem sikerült létrehozni a fájlt</string>
|
||||
<string name="error_file_not_create">Nem sikerült létrehozni a fájlt.</string>
|
||||
<string name="error_invalid_db">Az adatbázist nem lehet olvasni.</string>
|
||||
<string name="error_invalid_path">Győződjön meg arról, hogy az útvonal helyes.</string>
|
||||
<string name="error_no_name">Adjon meg egy nevet.</string>
|
||||
@@ -287,7 +287,7 @@
|
||||
<string name="html_text_ad_free">Számos más jelszókezelő alkalmazással ellentétben, ez egy <strong>reklámmentes</strong>, <strong>copyleft licencelésű szabad szoftver</strong>, amely nem gyűjt személyes adatokat a kiszolgálókon, bármelyik verziót is használja.</string>
|
||||
<string name="html_text_buy_pro">A pro verzió megvásárlásával hozzáférést kap ehhez a <strong>vizuális stílushoz</strong>, és segít a <strong>közösségi projektek megvalósulásában.</strong></string>
|
||||
<string name="html_text_feature_generosity">Ez a <strong>vizuális stílus</strong> az Ön nagylelkűségének köszönhetően érhető el.</string>
|
||||
<string name="html_text_donation">Ahhoz, hogy megtartsuk a szabadságunkat, és hogy mindig aktívak lehessünk, számítunk az Ön <strong>támogatására.</strong></string>
|
||||
<string name="html_text_donation">Azzal, hogy <strong>hozzájárul</strong> a projekthez <i>(pénzzel, kóddal, fordítással)</i>, segít abban, hogy a projekt tovább éljen és gyarapodjon, továbbá Ön jogosulttá válik a <strong>téma</strong>feloldásának lehetősége.</string>
|
||||
<string name="html_text_dev_feature">Ez a funkció <strong>fejlesztés alatt áll</strong>, és az Ön <strong>támogatására</strong> van szükség, hogy hamarosan elérhető legyen.</string>
|
||||
<string name="html_text_dev_feature_buy_pro">A <strong>pro</strong> verzió megvásárlásával,</string>
|
||||
<string name="html_text_dev_feature_contibute">A <strong>támogatással</strong></string>
|
||||
@@ -458,7 +458,7 @@
|
||||
<string name="search_mode">Keresési mód</string>
|
||||
<string name="subdomain_search_summary">Webdomainek keresése aldomain megszorításokkal</string>
|
||||
<string name="subdomain_search_title">Aldomain keresés</string>
|
||||
<string name="error_registration_read_only">Az új elem mentése nem engedélyezett írásvédett adatbázisban</string>
|
||||
<string name="error_registration_read_only">Az új elem mentése nem engedélyezett írásvédett adatbázisban.</string>
|
||||
<string name="error_string_type">A szöveg nem egyezik a kért elemmel.</string>
|
||||
<string name="content_description_credentials_information">Hitelesítő adatok információi</string>
|
||||
<string name="content_description_add_item">Elem hozzáadása</string>
|
||||
@@ -512,12 +512,12 @@
|
||||
<string name="content_description_entry_background_color">Bejegyzés háttérszíne</string>
|
||||
<string name="content_description_entry_foreground_color">Bejegyzés előtérszíne</string>
|
||||
<string name="success_import_app_properties">Alkalmazásbeállítások importálva</string>
|
||||
<string name="error_export_app_properties">Hiba történt az alkalmazásbeállítások exportálása során</string>
|
||||
<string name="error_export_app_properties">Hiba történt az alkalmazásbeállítások exportálása során.</string>
|
||||
<string name="warning_database_info_changed">Az adatbázisfájlban lévő információkat az alkalmazáson kívülről megváltoztatták.</string>
|
||||
<string name="description_app_properties">KeePassDX tulajdonságok az alkalmazásbeállítások kezeléséhez</string>
|
||||
<string name="success_export_app_properties">Alkalmazásbeállítások exportálva</string>
|
||||
<string name="content_description_database_color">Adatbázis színe</string>
|
||||
<string name="error_import_app_properties">Hiba történt az alkalmazásbeállítások importálása során</string>
|
||||
<string name="error_import_app_properties">Hiba történt az alkalmazásbeállítások importálása során.</string>
|
||||
<string name="hint_icon_name">Ikon neve</string>
|
||||
<string name="autofill_select_entry">Válasszon bejegyzést…</string>
|
||||
<string name="warning_database_info_changed_options">Adatok egyesítése, majd a külső módosítások felülírása az adatbázis mentésével, vagy újratöltés a legfrissebb változtatásokkal.</string>
|
||||
@@ -537,7 +537,6 @@
|
||||
<string name="credential_before_click_advanced_unlock_button">Írja be a jelszót, majd kattintson erre a gombra.</string>
|
||||
<string name="temp_advanced_unlock_enable_title">Ideiglenes eszközfeloldás</string>
|
||||
<string name="permission">Engedély</string>
|
||||
<string name="advanced_unlock_scanning_error">Eszközfeloldási hiba: %1$s</string>
|
||||
<string name="content">Tartalom</string>
|
||||
<string name="advanced_unlock_tap_delete">Koppintson az eszközfeloldási kulcsok törléséhez</string>
|
||||
<string name="device_credential_unlock_enable_title">Eszköz hitelesítő adataival történő feloldás</string>
|
||||
@@ -605,7 +604,7 @@
|
||||
<string name="error_move_group_here">Nem helyezhet át ide csoportot.</string>
|
||||
<string name="auto_type">Automatikus bevitel</string>
|
||||
<string name="warning_keyfile_integrity">A fájl ujjlenyomata nem garantált, mert az Android menet közben is módosíthatja az adatokat. A helyes integritás-ellenőrzéshez módosítsa a fájlt .bin kiterjesztésűre.</string>
|
||||
<string name="error_challenge_already_requested">A kihívás már kérve volt</string>
|
||||
<string name="error_challenge_already_requested">A kihívás már kérve volt.</string>
|
||||
<string name="inherited">Öröklés</string>
|
||||
<string name="remember_hardware_key_title">Hardverkulcs megjegyzése</string>
|
||||
<string name="consider_chars_filter">Karakterek figyelembe vétele</string>
|
||||
@@ -704,7 +703,7 @@
|
||||
<string name="nodes">Csomópontok</string>
|
||||
<string name="recursive_number_entries_title">Rekurzív bejegyzések száma</string>
|
||||
<string name="recursive_number_entries_summary">Rekurzívan kiszámítja a csoportban lévő bejegyzések számát</string>
|
||||
<string name="warning_large_keyfile">Nagy méretű kulcsfájl hozzáadása nem ajánlott, mivel ez megakadályozhatja az adatbázis megnyitását.</string>
|
||||
<string name="warning_large_keyfile">Nem ajánlott egy nagy méretű kulcsfájl hozzáadása, mivel ez megakadályozhatja az adatbázis megnyitását.</string>
|
||||
<string name="hide_templates_summary">A sablonok nem jelennek meg</string>
|
||||
<string name="generate_keyfile">Kulcsfájl előállítása</string>
|
||||
<string name="hide_templates_title">Sablonok elrejtése</string>
|
||||
|
||||
@@ -89,7 +89,7 @@
|
||||
<string name="error_invalid_OTP">Rahasia OTP tidak valid.</string>
|
||||
<string name="error_invalid_path">Pastikan lokasi filenya sudah benar.</string>
|
||||
<string name="error_invalid_db">Tidak bisa membaca basis data.</string>
|
||||
<string name="error_file_not_create">Tidak bisa membuat file</string>
|
||||
<string name="error_file_not_create">Tidak bisa membuat file.</string>
|
||||
<string name="entry_add_attachment">Tambahkan Lampiran</string>
|
||||
<string name="digits">Dijit</string>
|
||||
<string name="app_timeout_summary">Waktu idle sebelum mengunci basis data</string>
|
||||
@@ -313,7 +313,7 @@
|
||||
<string name="menu_reload_database">Muat ulang data</string>
|
||||
<string name="error_database_uri_null">URI basis data tidak dapat diambil.</string>
|
||||
<string name="error_field_name_already_exists">Nama bidang sudah ada.</string>
|
||||
<string name="error_registration_read_only">Menyimpan item baru tidak diperbolehkan dalam basis data hanya-baca</string>
|
||||
<string name="error_registration_read_only">Menyimpan item baru tidak diperbolehkan dalam basis data hanya-baca.</string>
|
||||
<string name="error_otp_type">Tipe OTP yang ada tidak dikenali oleh formulir ini, validasinya mungkin tidak lagi menghasilkan token dengan benar.</string>
|
||||
<string name="content_description_credentials_information">Info kredensial</string>
|
||||
<string name="autofill_inline_suggestions_keyboard">Saran pengisian otomatis ditambahkan.</string>
|
||||
@@ -400,9 +400,9 @@
|
||||
<string name="warning_database_link_revoked">Akses ke berkas dicabut oleh pengelola berkas</string>
|
||||
<string name="warning_database_read_only">Berikan akses tulis berkas untuk menyimpan perubahan basis data</string>
|
||||
<string name="properties">Setelan</string>
|
||||
<string name="error_export_app_properties">Galat ketika mengekspor pengaturan aplikasi</string>
|
||||
<string name="error_export_app_properties">Galat ketika mengekspor pengaturan aplikasi.</string>
|
||||
<string name="success_export_app_properties">Pengaturan aplikasi diekspor</string>
|
||||
<string name="error_import_app_properties">Galat ketika mengimpor pengaturan aplikasi</string>
|
||||
<string name="error_import_app_properties">Galat ketika mengimpor pengaturan aplikasi.</string>
|
||||
<string name="success_import_app_properties">Pengaturan aplikasi diimpor</string>
|
||||
<string name="description_app_properties">Setelan KeePassDX untuk mengelola pengaturan aplikasi</string>
|
||||
<string name="export_app_properties_summary">Buat sebuah berkas untuk mengekspor pengaturan aplikasi</string>
|
||||
@@ -515,7 +515,7 @@
|
||||
<string name="education_donation_summary">Bantu meningkatkan stabilitas, keamanan, dan menambahkan lebih banyak fitur.</string>
|
||||
<string name="html_text_ad_free">Tidak seperti banyak aplikasi pengelola kata sandi, ini <strong>bebas iklan</strong>, <strong>perangkat lunak libre copyleft</strong>, dan tidak mengumpulkan data pribadi di peladennya, tidak peduli versi apa yang Anda gunakan.</string>
|
||||
<string name="html_text_feature_generosity"><strong>Gaya visual</strong> ini tersedia berkat kemurahan hati Anda.</string>
|
||||
<string name="html_text_donation">Untuk menjaga kebebasan kami dan untuk kami selalu aktif, kami mengandalkan <strong>kontribusi</strong> Anda.</string>
|
||||
<string name="html_text_donation">Dengan <strong>berkontribusi<strong> kepada proyek <i>(dalam bentuk uang, kode, penerjemahan)<i>, Anda akan membantu proyek tersebut supaya terus hidup dan berkembang, dan Anda juga akan memenuhi syarat untuk prosedur pembukaan kunci <strong>tema<strong>.</string>
|
||||
<string name="html_text_dev_feature">Fitur ini <strong>sedang dalam pengembangan</strong> dan memerlukan <strong>kontribusi</strong> Anda untuk bisa tersedia segera.</string>
|
||||
<string name="show_otp_token_title">Tampilkan Token OTP</string>
|
||||
<string name="text_appearance">Teks</string>
|
||||
@@ -582,7 +582,6 @@
|
||||
<string name="upper_case">HURUF BESAR</string>
|
||||
<string name="title_case">Huruf Judul</string>
|
||||
<string name="character_count">Jumlah karakter: %1$d</string>
|
||||
<string name="advanced_unlock_scanning_error">Terjadi kesalahan buka kunci perangkat: %1$s</string>
|
||||
<string name="advanced_unlock_prompt_not_initialized">Tidak dapat menginisialisasi perintah buka kunci perangkat.</string>
|
||||
<string name="monospace_font_fields_enable_title">Bidang tipe huruf</string>
|
||||
<string name="keyboard_save_search_info_title">Simpan info terbagi</string>
|
||||
@@ -627,12 +626,12 @@
|
||||
<string name="hardware_key">Kunci perangkat keras</string>
|
||||
<string name="error_no_hardware_key">Pilih sebuah kunci perangkat keras.</string>
|
||||
<string name="error_XML_malformed">XML tidak benar.</string>
|
||||
<string name="error_challenge_already_requested">Tantangan sudah diminta</string>
|
||||
<string name="error_challenge_already_requested">Tantangan sudah diminta.</string>
|
||||
<string name="error_response_already_provided">Tanggapan sudah disediakan.</string>
|
||||
<string name="error_no_response_from_challenge">Tidak bisa mendapatkan tanggapan dari tantangan.</string>
|
||||
<string name="error_cancel_by_user">Dibatalkan oleh pengguna.</string>
|
||||
<string name="error_driver_required">Driver untuk %1$s dibutuhkan.</string>
|
||||
<string name="error_unable_merge_database_kdb">Tidak dapat menggabungkan dengan berkas basis data kdb</string>
|
||||
<string name="error_unable_merge_database_kdb">Tidak dapat menggabungkan dengan berkas basis data kdb.</string>
|
||||
<string name="error_location_unknown">Lokasi basis data tidak diketahui, tindakan basis data tidak dapat dilakukan.</string>
|
||||
<string name="error_hardware_key_unsupported">Kunci perangkat keras tidak didukung.</string>
|
||||
<string name="error_empty_key">Kunci tidak bisa kosong.</string>
|
||||
@@ -679,4 +678,11 @@
|
||||
<string name="style_name_light">Terang</string>
|
||||
<string name="style_name_dark">Gelap</string>
|
||||
<string name="warning_database_info_changed_options_read_only">Muat ulang basis data dengan perubahan terkini.</string>
|
||||
<string name="generate_keyfile">Buat berkas kunci</string>
|
||||
<string name="recursive_number_entries_summary">Menghitung jumlah entri dalam suatu grup secara rekursif</string>
|
||||
<string name="hide_templates_summary">Templat tidak ditampilkan</string>
|
||||
<string name="nodes">Titik</string>
|
||||
<string name="recursive_number_entries_title">Jumlah entri rekursif</string>
|
||||
<string name="warning_large_keyfile">Tidak disarankan menambahkan berkas kunci yang besar, ini dapat mencegah pembukaan basis data.</string>
|
||||
<string name="hide_templates_title">Sembunyikan templat</string>
|
||||
</resources>
|
||||
@@ -63,7 +63,7 @@
|
||||
<string name="entry_user_name">Nome utente</string>
|
||||
<string name="error_arc4">La codifica a flusso Arcfour non è supportata.</string>
|
||||
<string name="error_can_not_handle_uri">KeePassDX non può gestire questo URI.</string>
|
||||
<string name="error_file_not_create">Impossibile creare il file</string>
|
||||
<string name="error_file_not_create">Impossibile creare il file.</string>
|
||||
<string name="error_invalid_db">Impossibile leggere il database.</string>
|
||||
<string name="error_invalid_path">Assicurati che il percorso sia corretto.</string>
|
||||
<string name="error_no_name">Inserisci un nome.</string>
|
||||
@@ -264,7 +264,7 @@
|
||||
<string name="html_text_ad_free">Diversamente da molte app di gestione password, questa è <strong>senza pubblicità</strong>, <strong>software libero (copyleft)</strong> e non raccoglie dati personali nei suoi server, non importa quale versione usi.</string>
|
||||
<string name="html_text_buy_pro">Acquistando la versione pro, avrai accesso a questo <strong>stile visivo</strong> e soprattutto aiuterai nella <strong>realizzazione dei progetti della comunità.</strong></string>
|
||||
<string name="html_text_feature_generosity">Questo <strong>stile visivo</strong> è disponibile grazie alla tua generosità.</string>
|
||||
<string name="html_text_donation">Al fine di mantenere la nostra libertà ed essere sempre attivi, contiamo sul tuo <strong>contributo.</strong></string>
|
||||
<string name="html_text_donation">Se <strong>contribuirai</strong>al progretto <i>(tramite una donazione, del codice, una traduzione)</i>, lo aiuterai a vivere e a prosperare, e avrai a disposizione anche la procedura di sblocco del <strong>tema</strong>.</string>
|
||||
<string name="html_text_dev_feature">Questa funzione è <strong>in sviluppo</strong> e richiede il tuo <strong>contributo</strong> per essere disponibile a breve.</string>
|
||||
<string name="html_text_dev_feature_buy_pro">Acquistando la versione <strong>pro</strong>,</string>
|
||||
<string name="html_text_dev_feature_contibute">
|
||||
@@ -488,7 +488,7 @@
|
||||
<string name="save_mode">Modalità salvataggio</string>
|
||||
<string name="search_mode">Modalità ricerca</string>
|
||||
<string name="error_field_name_already_exists">Il nome del campo esiste già.</string>
|
||||
<string name="error_registration_read_only">Il salvataggio di un nuovo elemento non è consentito in un database di sola lettura</string>
|
||||
<string name="error_registration_read_only">Il salvataggio di un nuovo elemento non è consentito in un database di sola lettura.</string>
|
||||
<string name="configure_biometric">Nessuna credenziale biometrica o del dispositivo è registrata.</string>
|
||||
<string name="education_advanced_unlock_summary">Collega la password alla tua autenticazione biometrica (o del dispositivo) per sbloccare velocemente il database.</string>
|
||||
<string name="education_advanced_unlock_title">Sblocco del database con dispositivo</string>
|
||||
@@ -515,7 +515,6 @@
|
||||
<string name="advanced_unlock_prompt_store_credential_title">Collegamento allo sblocco con dispositivo</string>
|
||||
<string name="device_credential">Credenziali del dispositivo</string>
|
||||
<string name="credential_before_click_advanced_unlock_button">Inserisci la password, poi clicca questo pulsante.</string>
|
||||
<string name="advanced_unlock_scanning_error">Errore sblocco con dispositivo: %1$s</string>
|
||||
<string name="advanced_unlock_prompt_extract_credential_title">Riconoscimento sblocco con dispositivo</string>
|
||||
<string name="menu_keystore_remove_key">Elimina chiave di sblocco del dispositivo</string>
|
||||
<string name="error_rebuild_list">Non è possibile ricostruire la lista correttamente.</string>
|
||||
@@ -544,9 +543,9 @@
|
||||
<string name="error_file_to_big">Il file che stai cercando di caricare è troppo grande.</string>
|
||||
<string name="error_start_database_action">Si è verificato un errore durante l\'esecuzione di una azione sul database.</string>
|
||||
<string name="properties">Proprietà</string>
|
||||
<string name="error_export_app_properties">Errore durante l\'esportazione delle impostazioni dell\'app</string>
|
||||
<string name="error_export_app_properties">Errore durante l\'esportazione delle impostazioni dell\'app.</string>
|
||||
<string name="success_export_app_properties">Impostazioni dell\'app esportate</string>
|
||||
<string name="error_import_app_properties">Errore durante l\'importazione delle impostazioni dell\'app</string>
|
||||
<string name="error_import_app_properties">Errore durante l\'importazione delle impostazioni dell\'app.</string>
|
||||
<string name="success_import_app_properties">Impostazioni dell\'app importate</string>
|
||||
<string name="description_app_properties">Proprietà di KeePassDX per gestire le impostazioni dell\'app</string>
|
||||
<string name="export_app_properties_summary">Crea un file in cui esportare le impostazioni dell\'app</string>
|
||||
@@ -650,7 +649,7 @@
|
||||
<string name="corrupted_file">File danneggiato.</string>
|
||||
<string name="enable_screenshot_mode_summary">Consenti alle app di terze parti di registrare o acquisire schermate dell\'app</string>
|
||||
<string name="error_cancel_by_user">Annullato dall\'utente.</string>
|
||||
<string name="error_unable_merge_database_kdb">Impossibile unire con un file database kdb</string>
|
||||
<string name="error_unable_merge_database_kdb">Impossibile unire con un file database kdb.</string>
|
||||
<string name="error_location_unknown">Il percorso del database è sconosciuto, non è possibile eseguire l\'azione sul database.</string>
|
||||
<string name="remember_hardware_key_title">Ricorda le chiavi hardware</string>
|
||||
<string name="remember_hardware_key_summary">Tiene traccia delle chiavi hardware usate</string>
|
||||
@@ -660,7 +659,7 @@
|
||||
<string name="hardware_key">Chiave hardware</string>
|
||||
<string name="error_no_hardware_key">Seleziona una chiave hardware.</string>
|
||||
<string name="error_XML_malformed">XML malformato.</string>
|
||||
<string name="error_challenge_already_requested">Verifica già richiesta</string>
|
||||
<string name="error_challenge_already_requested">Verifica già richiesta.</string>
|
||||
<string name="error_response_already_provided">Risposta già fornita.</string>
|
||||
<string name="error_no_response_from_challenge">Impossibile ottenere una risposta dalla verifica.</string>
|
||||
<string name="error_driver_required">È necessario un driver per %1$s.</string>
|
||||
@@ -704,4 +703,11 @@
|
||||
<string name="style_name_follow_system">Segui il sistema</string>
|
||||
<string name="warning_database_info_changed_options_read_only">Ricarica il database con le ultime modifiche.</string>
|
||||
<string name="style_name_reply">Risposta</string>
|
||||
<string name="generate_keyfile">Genera file di chiave</string>
|
||||
<string name="nodes">Nodi</string>
|
||||
<string name="recursive_number_entries_title">Numeri ricorsivi delle voci</string>
|
||||
<string name="warning_large_keyfile">Si sconsiglia l\'aggiunta di un file di chiave pesante, perché potrebbe ostacolare l\'apertura del database.</string>
|
||||
<string name="hide_templates_title">Nascondi template</string>
|
||||
<string name="recursive_number_entries_summary">Calcola in modo ricorsivo il numero di voci in un gruppo</string>
|
||||
<string name="hide_templates_summary">I template non vengono mostrati</string>
|
||||
</resources>
|
||||
@@ -30,49 +30,49 @@
|
||||
<string name="application">יישום</string>
|
||||
<string name="menu_app_settings">הגדרות יישום</string>
|
||||
<string name="brackets">סוגריים</string>
|
||||
<string name="file_manager_install_description">נדרש סייר קבצים המקבל intent actions של ACTION_CREATE_DOCUMENT ו ACTION_OPEN_DOCUMENT בכדי ליצור, לפתוח, ולשמור קבצי מסד נתונים.</string>
|
||||
<string name="file_manager_install_description">נדרש מנהל קבצים שמקבל פעולות intent מסוג ACTION_CREATE_DOCUMENT ו-ACTION_OPEN_DOCUMENT כדי ליצור, לפתוח, ולשמור קבצי מסד נתונים.</string>
|
||||
<string name="clipboard_cleared">לוח ההעתקה נוקה</string>
|
||||
<string name="clipboard_error_title">שגיאת לוח העתקה</string>
|
||||
<string name="clipboard_error">מכשירים מסויימים לא יאפשרו ליישומים להשתמש בלוח ההעתקה.</string>
|
||||
<string name="clipboard_error">מכשירים מסוימים לא יאפשרו ליישומים להשתמש בלוח ההעתקה.</string>
|
||||
<string name="clipboard_error_clear">לא ניתן לנקות את לוח ההעתקה</string>
|
||||
<string name="clipboard_timeout">זמן עד לניקוי לוח ההעתקה</string>
|
||||
<string name="clipboard_timeout_summary">זמן אחסון בלוח ההעתקה (אם נתמך על ידי מכשירך)</string>
|
||||
<string name="select_to_copy">בחר בכדי להעתיק %1$s ללוח ההעתקה</string>
|
||||
<string name="clipboard_timeout">פסק זמן של לוח העתקה</string>
|
||||
<string name="clipboard_timeout_summary">משך האחסון בלוח ההעתקה (אם נתמך על ידי מכשירך)</string>
|
||||
<string name="select_to_copy">בחר כדי להעתיק %1$s ללוח ההעתקה</string>
|
||||
<string name="retrieving_db_key">מאחזר מפתח מסד נתונים…</string>
|
||||
<string name="database">מסד נתונים</string>
|
||||
<string name="decrypting_db">מפענח תוכן מסד נתונים…</string>
|
||||
<string name="default_checkbox">השתמש כמסד נתונים ברירת מחדל</string>
|
||||
<string name="digits">ספרות</string>
|
||||
<string name="select_database_file">פתח כספת קיימת</string>
|
||||
<string name="entry_accessed">ניגש לאחרונה</string>
|
||||
<string name="entry_cancel">בטל</string>
|
||||
<string name="entry_accessed">ניגש</string>
|
||||
<string name="entry_cancel">ביטול</string>
|
||||
<string name="entry_notes">הערות</string>
|
||||
<string name="entry_confpassword">אשר סיסמה</string>
|
||||
<string name="entry_created">תאריך יצירה</string>
|
||||
<string name="entry_expires">פג תוקף</string>
|
||||
<string name="entry_created">נוצר</string>
|
||||
<string name="entry_expires">יפוג</string>
|
||||
<string name="entry_keyfile">קובץ מפתח</string>
|
||||
<string name="entry_modified">נערך לאחרונה</string>
|
||||
<string name="entry_not_found">לא ניתן למצוא נתוני ערך.</string>
|
||||
<string name="entry_modified">שונה</string>
|
||||
<string name="entry_not_found">לא ניתן למצוא נתוני רשומה.</string>
|
||||
<string name="entry_password">סיסמה</string>
|
||||
<string name="save">שמור</string>
|
||||
<string name="entry_title">שם</string>
|
||||
<string name="entry_title">כותרת</string>
|
||||
<string name="entry_user_name">שם משתמש</string>
|
||||
<string name="error_arc4">צופן זרם Arcfour אינו נתמך.</string>
|
||||
<string name="error_can_not_handle_uri">KeePassDX לא יכול לטפל ב-URI הזה.</string>
|
||||
<string name="error_file_not_create">לא הצליח ליצור קובץ</string>
|
||||
<string name="error_arc4">הצופן זרם Arcfour אינו נתמך.</string>
|
||||
<string name="error_can_not_handle_uri">לא ניתן לטפל ב-URI הזה ב-KeePassDX.</string>
|
||||
<string name="error_file_not_create">לא ניתן ליצור קובץ.</string>
|
||||
<string name="error_invalid_db">לא ניתן לקרוא את מסד הנתונים.</string>
|
||||
<string name="error_invalid_path">ודא שהנתיב נכון.</string>
|
||||
<string name="error_no_name">הכנס שם.</string>
|
||||
<string name="error_no_name">הזן שם.</string>
|
||||
<string name="error_nokeyfile">בחר קובץ מפתח.</string>
|
||||
<string name="error_out_of_memory">אין זיכרון לטעינת כל מסד הנתונים שלך.</string>
|
||||
<string name="error_pass_gen_type">יש לבחור לפחות סוג יצירת סיסמה אחד.</string>
|
||||
<string name="error_pass_match">הסיסמאות לא תואמות.</string>
|
||||
<string name="error_rounds_too_large">\"סבבי שינוי\" גדולים מדי. מגדיר ל-2147483648.</string>
|
||||
<string name="error_string_key">לכל מחרוזת צריך להיות שם שדה.</string>
|
||||
<string name="error_pass_match">הסיסמאות אינן תואמות.</string>
|
||||
<string name="error_rounds_too_large">\"סבבי טרנספורמציה\" גבוהים מדי. מגדיר ל-2147483648.</string>
|
||||
<string name="error_string_key">לכל מחרוזת חייב להיות שם שדה.</string>
|
||||
<string name="error_wrong_length">הזן מספר שלם חיובי בשדה \"אורך\".</string>
|
||||
<string name="field_name">שם השדה</string>
|
||||
<string name="field_value">ערך השדה</string>
|
||||
<string name="file_browser">סייר קבצים</string>
|
||||
<string name="file_browser">מנהל קבצים</string>
|
||||
<string name="generate_password">צור סיסמה</string>
|
||||
<string name="hint_conf_pass">אשר סיסמה</string>
|
||||
<string name="hint_generated_password">סיסמה שנוצרה</string>
|
||||
@@ -86,12 +86,12 @@
|
||||
<string name="invalid_db_sig">לא ניתן לזהות את פורמט מסד הנתונים.</string>
|
||||
<string name="keyfile_is_empty">קובץ המפתח ריק.</string>
|
||||
<string name="length">אורך</string>
|
||||
<string name="list_size_title">גודל רשימה קבוצות</string>
|
||||
<string name="list_size_summary">גודל הטקסט ברשימת הקבוצות</string>
|
||||
<string name="list_size_title">גודל רשימת פריטים</string>
|
||||
<string name="list_size_summary">גודל טקסט ברשימת הרכיבים</string>
|
||||
<string name="loading_database">טוען מסד נתונים…</string>
|
||||
<string name="lowercase">אות קטנה</string>
|
||||
<string name="hide_password_title">מסיכת הסיסמה</string>
|
||||
<string name="hide_password_summary">הסתר סיסמאות כברירת מחדל</string>
|
||||
<string name="hide_password_title">הסתר סיסמאות</string>
|
||||
<string name="hide_password_summary">הסווה סיסמאות (***) כברירת מחדל</string>
|
||||
<string name="about">אודות</string>
|
||||
<string name="menu_change_key_settings">שנה מפתח ראשי</string>
|
||||
<string name="settings">העדפות</string>
|
||||
@@ -102,30 +102,29 @@
|
||||
<string name="menu_hide_password">הסתר סיסמה</string>
|
||||
<string name="menu_lock">נעל מסד נתונים</string>
|
||||
<string name="menu_open">פתח</string>
|
||||
<string name="menu_search">חפש</string>
|
||||
<string name="menu_search">חיפוש</string>
|
||||
<string name="menu_showpass">הצג סיסמה</string>
|
||||
<string name="menu_url">לך ל-URL</string>
|
||||
<string name="menu_url">עבור אל URL</string>
|
||||
<string name="minus">מינוס</string>
|
||||
<string name="never">אף פעם</string>
|
||||
<string name="no_results">אין תוצאות חיפוש</string>
|
||||
<string name="no_url_handler">התקן דפדפן אינטרנט כדי לפתוח כתובת אתר זו.</string>
|
||||
<string name="progress_create">צור מסד נתונים חדש…</string>
|
||||
<string name="no_url_handler">התקן דפדפן אינטרנט כדי לפתוח כתובת URL זו.</string>
|
||||
<string name="progress_create">יוצר מסד נתונים חדש…</string>
|
||||
<string name="progress_title">עובד…</string>
|
||||
<string name="protection">הגנה</string>
|
||||
<string name="read_only_warning">תלוי במנהל הקבצים שלך, KeePassDx עלול לא להיות מורשה לכתוב לאחסון שלך.</string>
|
||||
<string name="read_only_warning">תלוי במנהל הקבצים שלך, ייתכן ש-KeePassDX אינו מורשה לכתוב באחסון שלך.</string>
|
||||
<string name="content_description_remove_from_list">הסר</string>
|
||||
<string name="rounds">סבבי טרנספורמציה</string>
|
||||
<string name="rounds_explanation">מספר סיבובי הצפנה גבוה יותר מספק הגנה טובה יותר נגד התקפות אלימות, אבל יכול להאט את זמן הטעינה והשמירה.</string>
|
||||
<string name="rounds_explanation">סבבי הצפנה נוספים מספקים הגנה גבוהה יותר נגד התקפות כוח גס, אבל יכולות ממש להאט את הטעינה והשמירה.</string>
|
||||
<string name="saving_database">שומר מסד נתונים…</string>
|
||||
<string name="space">גודל</string>
|
||||
<string name="space">רווח</string>
|
||||
<string name="sort_db">סדר טבעי</string>
|
||||
<string name="special">מיוחד</string>
|
||||
<string name="underline">קו תחתון</string>
|
||||
<string name="unsupported_db_version">גרסת מסד נתונים לא נתמכת.</string>
|
||||
<string name="uppercase">רישית</string>
|
||||
<string name="version_label">גרסה %1$s</string>
|
||||
<string name="education_unlock_summary">הזן סיסמה ו/או קובץ מפתח כדי לפתוח את מסד הנתונים.
|
||||
\nגבה את קובץ מסד הנתונים שלך במקום בטוח לאחר כל שינוי.</string>
|
||||
<string name="education_unlock_summary">הזן סיסמה ו/או קובץ מפתח כדי לפתוח את מסד הנתונים שלך.\n\nגבה את קובץ מסד הנתונים שלך במקום בטוח לאחר כל שינוי.</string>
|
||||
<string-array name="list_size_options">
|
||||
<item>קטן</item>
|
||||
<item>בינוני</item>
|
||||
@@ -134,97 +133,97 @@
|
||||
<string name="edit_entry">ערוך ערך</string>
|
||||
<string name="encryption">הצפנה</string>
|
||||
<string name="allow">אפשר</string>
|
||||
<string name="entry_url">כתובת URL</string>
|
||||
<string name="entry_url">URL</string>
|
||||
<string name="error_load_database">לא ניתן לטעון את מסד הנתונים.</string>
|
||||
<string name="expired">פג תוקף</string>
|
||||
<string name="content_description_passphrase_word_count">מספר מילים של ביטוי סיסמה</string>
|
||||
<string name="content_description_keyboard_close_fields">סגור שדות</string>
|
||||
<string name="auto_type">הקלדה אוטומטית</string>
|
||||
<string name="wireless">Wi-Fi</string>
|
||||
<string name="wireless">Wi-Fi</string>
|
||||
<string name="passphrase">ביטוי סיסמה</string>
|
||||
<string name="tags">תגים</string>
|
||||
<string name="otp_algorithm">אלגוריתם</string>
|
||||
<string name="debit_credit_card">כרטיס חיוב / אשראי</string>
|
||||
<string name="card_verification_value">CVV</string>
|
||||
<string name="personal_identification_number">קוד סודי</string>
|
||||
<string name="personal_identification_number">PIN</string>
|
||||
<string name="type">סוג</string>
|
||||
<string name="cryptocurrency">ארנק מטבעות קריפטו</string>
|
||||
<string name="token">Token</string>
|
||||
<string name="cryptocurrency">ארנק מטבעות קריפטוגרפיים</string>
|
||||
<string name="token">אסימון</string>
|
||||
<string name="public_key">מפתח ציבורי</string>
|
||||
<string name="private_key">מפתח פרטי</string>
|
||||
<string name="seed">זרע</string>
|
||||
<string name="seed">גרעין</string>
|
||||
<string name="international_bank_account_number">IBAN</string>
|
||||
<string name="secure_note">הערה מאובטחת</string>
|
||||
<string name="standard">תֶקֶן</string>
|
||||
<string name="standard">רגיל</string>
|
||||
<string name="membership">חברות</string>
|
||||
<string name="error_otp_digits">ה-Token חייב להכיל %1$d עד %2$d ספרות.</string>
|
||||
<string name="error_otp_digits">אסימון חייב להכיל %1$d עד %2$d ספרות.</string>
|
||||
<string name="content_description_database_color">צבע מסד הנתונים</string>
|
||||
<string name="content_description_entry_foreground_color">צבע קדמה של הערך</string>
|
||||
<string name="entry_UUID">מזהה אוניברסלי ייחודי</string>
|
||||
<string name="content_description_entry_foreground_color">צבע חזית של רשומה</string>
|
||||
<string name="entry_UUID">מזהה ייחודי אוניברסלי (UUID)</string>
|
||||
<string name="entry_history">היסטוריה</string>
|
||||
<string name="entry_attachments">קבצים מצורפים</string>
|
||||
<string name="entry_attachments">צרופות</string>
|
||||
<string name="holder">מחזיק</string>
|
||||
<string name="number">מספר</string>
|
||||
<string name="email">דוא\"ל</string>
|
||||
<string name="email_address">כתובת דואר אלקטרוני</string>
|
||||
<string name="email_address">כתובת דוא\"ל</string>
|
||||
<string name="error_word_reserved">מילה זו שמורה ולא ניתן להשתמש בה.</string>
|
||||
<string name="error_label_exists">תווית זו כבר קיימת.</string>
|
||||
<string name="error_remove_file">אירעה שגיאה בעת הסרת נתוני הקובץ.</string>
|
||||
<string name="error_file_to_big">הקובץ שהינך מנסה להעלות גדול מידי.</string>
|
||||
<string name="error_file_to_big">הקובץ שאתה מנסה להעלות גדול מדי.</string>
|
||||
<string name="content_description_otp_information">פרטי סיסמה חד-פעמית</string>
|
||||
<string name="error_otp_type">סוג הסיסמה החד-פעמית הקיים אינו מזוהה בטופס זה, ייתכן שהאימות שלו לא יחולל יותר כראוי את ה-Token.</string>
|
||||
<string name="hint_icon_name">שם הסמל</string>
|
||||
<string name="error_otp_type">סוג הסיסמה החד-פעמית (OTP) הקיים אינו מזוהה על ידי טופס זה, ייתכן שהאימות שלו לא ייצור עוד את האסימון כראוי.</string>
|
||||
<string name="hint_icon_name">שם סמל</string>
|
||||
<string name="html_about_privacy"><strong>אין אחזור של נתוני משתמש</strong>, יישום זה אינו מתחבר לשום שרת, פועל באופן מקומי בלבד ומכבד באופן מלא את פרטיות המשתמשים.</string>
|
||||
<string name="hardware_key">מפתח פיזי</string>
|
||||
<string name="hardware_key">מפתח חומרה</string>
|
||||
<string name="custom_data">נתונים מותאמים אישית</string>
|
||||
<string name="otp_type">סוג סיסמה חד-פעמית</string>
|
||||
<string name="otp_secret">סוד הסיסמה החד-פעמית</string>
|
||||
<string name="otp_secret">סוד</string>
|
||||
<string name="ssid">SSID</string>
|
||||
<string name="account">חשבון</string>
|
||||
<string name="template">תבנית</string>
|
||||
<string name="otp_period">טווח זמן (שניות)</string>
|
||||
<string name="otp_period">פרק זמן (שניות)</string>
|
||||
<string name="otp_counter">מונה</string>
|
||||
<string name="version">גירסה</string>
|
||||
<string name="entry_otp">סיסמה חד-פעמית</string>
|
||||
<string name="version">גרסה</string>
|
||||
<string name="entry_otp">סיסמה חד-פעמית (OTP)</string>
|
||||
<string name="error_load_database_KDF_memory">לא ניתן לטעון את המפתח. נסה להוריד את ה\"שימוש בזיכרון\" של KDF.</string>
|
||||
<string name="error_autofill_enable_service">לא ניתן להפעיל את שירות המילוי האוטומטי.</string>
|
||||
<string name="error_copy_entry_here">אינך יכול להעתיק ערך כאן.</string>
|
||||
<string name="error_copy_entry_here">אינך יכול להעתיק רשומה לכאן.</string>
|
||||
<string name="error_otp_counter">המונה חייב להיות בין %1$d ל-%2$d.</string>
|
||||
<string name="error_otp_period">טווח הזמן חייב להיות בין %1$d ל-%2$d שניות.</string>
|
||||
<string name="error_registration_read_only">שמירה של פריט חדש אינה מותרת במסד נתונים עם קריאה בלבד</string>
|
||||
<string name="error_otp_period">פרק זמן חייב להיות בין %1$d ל-%2$d שניות.</string>
|
||||
<string name="error_registration_read_only">שמירת פריט חדש אינה מותרת במסד נתונים לקריאה בלבד.</string>
|
||||
<string name="error_string_type">טקסט זה אינו תואם את הפריט המבוקש.</string>
|
||||
<string name="error_field_name_already_exists">שם השדה כבר קיים.</string>
|
||||
<string name="error_database_uri_null">לא ניתן לאחזר URI של מסד הנתונים.</string>
|
||||
<string name="error_rebuild_list">לא ניתן לבנות מחדש את הרשימה כראוי.</string>
|
||||
<string name="error_upload_file">אירעה שגיאה בעת העלאת נתוני הקובץ.</string>
|
||||
<string name="error_start_database_action">אירעה שגיאה בעת ביצוע פעולה על מסד הנתונים.</string>
|
||||
<string name="error_challenge_already_requested">האתגר כבר התבקש</string>
|
||||
<string name="error_challenge_already_requested">האתגר כבר התבקש.</string>
|
||||
<string name="error_response_already_provided">תגובה כבר ניתנה.</string>
|
||||
<string name="error_no_response_from_challenge">לא ניתן לקבל את התגובה מהאתגר.</string>
|
||||
<string name="error_cancel_by_user">בוטל על ידי המשתמש.</string>
|
||||
<string name="error_driver_required">נדרש מנהל התקן עבור %1$s.</string>
|
||||
<string name="error_location_unknown">מיקום מסד הנתונים אינו ידוע, לא ניתן לבצע פעולת מסד נתונים.</string>
|
||||
<string name="error_unable_merge_database_kdb">לא ניתן למזג עם קובץ מסד נתונים kdb</string>
|
||||
<string name="error_hardware_key_unsupported">מפתח פיזי אינו נתמך.</string>
|
||||
<string name="error_unable_merge_database_kdb">לא ניתן למזג עם קובץ מסד נתונים kdb.</string>
|
||||
<string name="error_hardware_key_unsupported">מפתח חומרה אינו נתמך.</string>
|
||||
<string name="error_empty_key">המפתח לא יכול להיות ריק.</string>
|
||||
<string name="file_not_found_content">לא ניתן למצוא את הקובץ. נסה לפתוח אותו מחדש מסייר הקבצים שלך.</string>
|
||||
<string name="corrupted_file">קובץ פגום.</string>
|
||||
<string name="template_group_name">תבניות</string>
|
||||
<string name="entry_setup_otp">הגדר סיסמה חד-פעמית</string>
|
||||
<string name="error_disallow_no_credentials">יש להגדיר לפחות אישור אחד.</string>
|
||||
<string name="error_move_entry_here">אינך יכול להעביר ערך כאן.</string>
|
||||
<string name="discard">בטל</string>
|
||||
<string name="content_description_entry_icon">סמל הערך</string>
|
||||
<string name="error_move_entry_here">אינך יכול להעביר רשומה לכאן.</string>
|
||||
<string name="discard">השלך</string>
|
||||
<string name="content_description_entry_icon">סמל רשומה</string>
|
||||
<string name="content_description_keyfile_checkbox">תיבת סימון קובץ מפתח</string>
|
||||
<string name="content_description_password_checkbox">תיבת סימון סיסמה</string>
|
||||
<string name="content_description_credentials_information">פרטי האישורים</string>
|
||||
<string name="content_description_file_information">פרטי הקובץ</string>
|
||||
<string name="content_description_add_item">הוסף פריט</string>
|
||||
<string name="content_description_add_group">הוסף קבוצה</string>
|
||||
<string name="content_description_add_entry">הוסף ערך</string>
|
||||
<string name="content_description_add_node">הוסף חוליה</string>
|
||||
<string name="content_description_add_entry">הוסף רשומה</string>
|
||||
<string name="content_description_add_node">הוסף צומת</string>
|
||||
<string name="content_description_open_file">פתח קובץ</string>
|
||||
<string name="content_description_node_children">ילדי החוליה</string>
|
||||
<string name="content_description_node_children">ילדי צומת</string>
|
||||
<string name="content_description_background">רקע</string>
|
||||
<string name="contact">איש קשר</string>
|
||||
<string name="contribution">השתתפות</string>
|
||||
@@ -237,10 +236,10 @@
|
||||
\nהוא ניתן כפי שהוא, תחת רישיון <strong>GPLv3</strong>, ללא כל אחריות.</string>
|
||||
<string name="html_about_contribution">בכדי <strong>לשמור על החופש שלנו</strong>, <strong>לתקן באגים</strong>, <strong>להוסיף תכונות</strong> <strong>ולהיות תמיד פעילים</strong>, אנו סומכים על <strong>תרומתך</strong>.</string>
|
||||
<string name="searchable">ניתן לחיפוש</string>
|
||||
<string name="inherited">לָרֶשֶׁת</string>
|
||||
<string name="inherited">ירושה</string>
|
||||
<string name="auto_type_sequence">רצף הקלדה אוטומטית</string>
|
||||
<string name="search_filters">מסנני חיפוש</string>
|
||||
<string name="case_sensitive">רגיש לאותיות גדולות/קטנות</string>
|
||||
<string name="case_sensitive">רגיש לאותיות גדולות וקטנות</string>
|
||||
<string name="regex">ביטוי רגולרי</string>
|
||||
<string name="id_card">תעודת זהות</string>
|
||||
<string name="place_of_issue">מקום הנפקה</string>
|
||||
@@ -252,205 +251,205 @@
|
||||
<string name="bank_name">שם הבנק</string>
|
||||
<string name="bank_identifier_code">SWIFT / BIC</string>
|
||||
<string name="error_save_database">לא ניתן לשמור את מסד הנתונים.</string>
|
||||
<string name="error_otp_secret_key">המפתח הסודי חייב להיות בפורמט Base32.</string>
|
||||
<string name="error_move_group_here">אינך יכול להעביר קבוצה כאן.</string>
|
||||
<string name="error_copy_group_here">אינך יכול להעתיק קבוצה כאן.</string>
|
||||
<string name="error_otp_secret_key">מפתח סודי חייב להיות בפורמט Base32.</string>
|
||||
<string name="error_move_group_here">אינך יכול להעביר קבוצה לכאן.</string>
|
||||
<string name="error_copy_group_here">אינך יכול להעתיק קבוצה לכאן.</string>
|
||||
<string name="error_create_database">לא ניתן ליצור קובץ מסד נתונים.</string>
|
||||
<string name="error_create_database_file">לא ניתן ליצור מסד נתונים עם סיסמה וקובץ מפתח אלה.</string>
|
||||
<string name="error_create_database_file">לא ניתן ליצור מסד נתונים עם הסיסמה וקובץ המפתח האלה.</string>
|
||||
<string name="error_duplicate_file">נתוני הקובץ כבר קיימים.</string>
|
||||
<string name="content_description_entry_background_color">צבע רקע של הערך</string>
|
||||
<string name="content_description_entry_background_color">צבע רקע של רשומה</string>
|
||||
<string name="validate">אימות</string>
|
||||
<string name="entry_add_attachment">צרף קובץ</string>
|
||||
<string name="entry_add_attachment">הוסף צרופה</string>
|
||||
<string name="content_description_remove_field">הסר שדה</string>
|
||||
<string name="content_description_update_from_list">עדכן</string>
|
||||
<string name="waiting_challenge_request">ממתין לבקשת האתגר…</string>
|
||||
<string name="waiting_challenge_response">ממתין לתגובת האתגר…</string>
|
||||
<string name="error_no_hardware_key">בחר מפתח פיזי.</string>
|
||||
<string name="error_no_hardware_key">בחר מפתח חומרה.</string>
|
||||
<string name="error_XML_malformed">XML פגום.</string>
|
||||
<string name="error_invalid_OTP">סוד הסיסמה החד-פעמית לא חוקי.</string>
|
||||
<string name="discard_changes">לבטל שינויים\?</string>
|
||||
<string name="error_invalid_OTP">סוד סיסמה חד-פעמית (OTP) לא חוקי.</string>
|
||||
<string name="discard_changes">להשליך שינויים?</string>
|
||||
<string name="security">אבטחה</string>
|
||||
<string name="extended_ASCII">ASCII מורחב</string>
|
||||
<string name="entry_password_generator">מחולל סיסמאות</string>
|
||||
<string name="content_description_password_length">אורך סיסמה</string>
|
||||
<string name="content_description_hardware_key_checkbox">תיבת סימון מפתח אבטחה</string>
|
||||
<string name="content_description_repeat_toggle_password_visibility">החלפת נראות הסיסמה</string>
|
||||
<string name="content_description_repeat_toggle_password_visibility">חזור על החלפת נראות הסיסמה</string>
|
||||
<string name="entry_add_field">הוסף שדה</string>
|
||||
<string name="menu_form_filling_settings">מילוי טפסים</string>
|
||||
<string name="menu_advanced_unlock_settings">נעילה מכשיר</string>
|
||||
<string name="menu_advanced_unlock_settings">ביטול נעילת מכשיר</string>
|
||||
<string name="menu_save_database">שמור נתונים</string>
|
||||
<string name="menu_merge_database">מזג נתונים</string>
|
||||
<string name="list_groups_show_number_entries_title">הצג מספר ערכים</string>
|
||||
<string name="list_groups_show_number_entries_title">הצג את מספר הרשומות</string>
|
||||
<string name="menu_reload_database">טען מחדש נתונים</string>
|
||||
<string name="show_uuid_title">הצג UUID</string>
|
||||
<string name="show_otp_token_summary">מציג OTP tokens ברשימת הערכים</string>
|
||||
<string name="list_groups_show_number_entries_summary">מציג את מספר הערכים בקבוצה</string>
|
||||
<string name="show_otp_token_summary">מציג אסימוני סיסמה חד-פעמית (OTP) ברשימת הרשומות</string>
|
||||
<string name="list_groups_show_number_entries_summary">מציג את מספר הרשומות בקבוצה</string>
|
||||
<string name="menu_external_icon">סמל חיצוני</string>
|
||||
<string name="auto_focus_search_title">חיפוש מהיר</string>
|
||||
<string name="auto_focus_search_summary">בקש חיפוש בעת פתיחת מסד נתונים</string>
|
||||
<string name="colorize_password_title">צבע סיסמאות</string>
|
||||
<string name="colorize_password_summary">צבע תווי סיסמה לפי סוג</string>
|
||||
<string name="list_entries_show_username_summary">מציג שמות משתמשים ברשימות ערכים</string>
|
||||
<string name="show_otp_token_title">הצג OTP token</string>
|
||||
<string name="show_uuid_summary">מציג את ה-UUID המקושר לערך או לקבוצה</string>
|
||||
<string name="list_entries_show_username_summary">מציג שמות משתמש ברשימות ערכים</string>
|
||||
<string name="show_otp_token_title">הצג אסימון סיסמה חד-פעמית (OTP)</string>
|
||||
<string name="show_uuid_summary">מציג את ה-UUID המקושר לרשומה או לקבוצה</string>
|
||||
<string name="creating_database">יוצר מסד נתונים…</string>
|
||||
<string name="copy_field">עותק של %1$s</string>
|
||||
<string name="menu_save_copy_to">שמור עותק ב …</string>
|
||||
<string name="menu_save_copy_to">שמור עותק ל …</string>
|
||||
<string name="menu_merge_from">מזג מ …</string>
|
||||
<string name="menu_file_selection_read_only">מוגן כתיבה</string>
|
||||
<string name="menu_file_selection_read_only">מוגן מפני כתיבה</string>
|
||||
<string name="menu_open_file_read_and_write">ניתן לשינוי</string>
|
||||
<string name="menu_empty_recycle_bin">רוקן את סל המחזור</string>
|
||||
<string name="menu_restore_entry_history">שחזר היסטוריה</string>
|
||||
<string name="menu_delete_entry_history">מחק היסטוריה</string>
|
||||
<string name="subdomain_search_summary">חפש דומיינים של אינטרנט עם הגבלות תת-דומיינים</string>
|
||||
<string name="read_only">מוגן כתיבה</string>
|
||||
<string name="read_only">מוגן מפני כתיבה</string>
|
||||
<string name="menu_master_key_settings">הגדרות מפתח ראשי</string>
|
||||
<string name="list_entries_show_username_title">הצג שמות משתמש</string>
|
||||
<string name="menu_security_settings">הגדרות אבטחה</string>
|
||||
<string name="menu_move">העבר</string>
|
||||
<string name="menu_paste">הדבק</string>
|
||||
<string name="menu_cancel">בטל</string>
|
||||
<string name="menu_cancel">ביטול</string>
|
||||
<string name="menu_copy">העתק</string>
|
||||
<string name="create_keepass_file">צור כספת חדשה</string>
|
||||
<string name="subdomain_search_title">חיפוש תת-דומיין</string>
|
||||
<string name="menu_keystore_remove_key">מחק מפתח ביטול נעילה</string>
|
||||
<string name="menu_keystore_remove_key">מחק מפתח ביטול נעילת מכשיר</string>
|
||||
<string name="invalid_db_same_uuid">%1$s עם אותו UUID %2$s כבר קיים.</string>
|
||||
<string name="master_key_settings_summary">שינוי, חידוש</string>
|
||||
<string name="info">מידע</string>
|
||||
<string name="registration_mode">מצב הרשמה</string>
|
||||
<string name="menu_form_filling_settings_summary">מקלדת, מילוי אוטומטי, לוח</string>
|
||||
<string name="menu_form_filling_settings_summary">מקלדת, מילוי אוטומטי, לוח העתקה</string>
|
||||
<string name="search_mode">מצב חיפוש</string>
|
||||
<string name="remember_database_locations_title">זכור מיקומי מסדי הנתונים</string>
|
||||
<string name="save_mode">מצב שמירה</string>
|
||||
<string name="selection_mode">מצב בחירה</string>
|
||||
<string name="menu_app_settings_summary">חיפוש, לנעול, היסטוריה, מאפיינים</string>
|
||||
<string name="menu_app_settings_summary">חיפוש, נעילה, היסטוריה, מאפיינים</string>
|
||||
<string name="memory_usage">שימוש בזיכרון</string>
|
||||
<string name="sort_menu">מיון</string>
|
||||
<string name="sort_creation_time">יצירה</string>
|
||||
<string name="education_lock_title">נעל את מסד הנתונים</string>
|
||||
<string name="search">חיפוש</string>
|
||||
<string name="max_history_size_title">גודל מירבי</string>
|
||||
<string name="max_history_size_title">גודל מרבי</string>
|
||||
<string name="settings_database_recommend_changing_master_key_title">המלץ על חידוש</string>
|
||||
<string name="settings_database_force_changing_master_key_next_time_summary">דרוש שינוי מפתח ראשי בפעם הבאה (פעם אחת)</string>
|
||||
<string name="allow_copy_password_warning">אזהרה: לוח ההעתקה משותף לכל היישומים. אם מידע רגיש יועתק, תוכנות אחרות יוכלו לקרוא אותו.</string>
|
||||
<string name="disable">הפסק</string>
|
||||
<string name="allow_copy_password_warning">אזהרה: לוח ההעתקה משותף לכל היישומים. אם מידע רגיש יועתק, תוכנות אחרות עשויות לשחזר אותו.</string>
|
||||
<string name="disable">השבת</string>
|
||||
<string name="keyboard_label">Magikeyboard (KeePassDX)</string>
|
||||
<string name="enable_read_only_title">מוגן מכתיבה</string>
|
||||
<string name="enable_read_only_title">מוגן מפני כתיבה</string>
|
||||
<string name="keyboard_notification_entry_clear_close_title">נקה בסגירה</string>
|
||||
<string name="keyboard_notification_entry_content_title_text">רשומה</string>
|
||||
<string name="keyboard_notification_entry_content_title">%1$s זמין ב־Magikeyboard</string>
|
||||
<string name="keyboard_notification_entry_content_text">%1$s</string>
|
||||
<string name="keyboard_notification_entry_clear_close_summary">סגור את מסד הנתונים כאשר נסגרת ההתראה</string>
|
||||
<string name="keyboard_key_sound_title">לחיצות מקשים נשמעות</string>
|
||||
<string name="reset_education_screens_title">איפוס רמזי לימוד</string>
|
||||
<string name="education_entry_edit_title">לערוך את הרשומה</string>
|
||||
<string name="education_generate_password_title">ייצר סיסמה חזקה</string>
|
||||
<string name="keyboard_key_sound_title">לחיצות מקשים קוליות</string>
|
||||
<string name="reset_education_screens_title">אפס רמזים לימודיים</string>
|
||||
<string name="education_entry_edit_title">ערוך את הרשומה</string>
|
||||
<string name="education_generate_password_title">צור סיסמה חזקה</string>
|
||||
<string name="html_text_dev_feature_thanks">תודה רבה על תרומתך.</string>
|
||||
<string name="html_text_dev_feature_upgrade">זכור לשמור על היישום מעודכן ע\"י התקנת גירסאות חדשות.</string>
|
||||
<string name="html_text_dev_feature_upgrade">זכור לשמור על היישום מעודכן על ידי התקנת גרסאות חדשות.</string>
|
||||
<string name="html_text_dev_feature_work_hard">אנו עובדים קשה כדי לשחרר את התכונה הזאת במהירות.</string>
|
||||
<string name="download_initialization">מאתחל…</string>
|
||||
<string name="remember_database_locations_summary">זכור היכן ממוקמים מסדי הנתונים</string>
|
||||
<string name="remember_keyfile_locations_title">זכור מיקומי ה־keyfile</string>
|
||||
<string name="remember_database_locations_summary">עוקב אחר המיקום שבו מאוחסנים מסדי הנתונים</string>
|
||||
<string name="remember_keyfile_locations_title">זכור מיקומי קובץ מפתח</string>
|
||||
<string name="command_execution">מריץ את הפקודה…</string>
|
||||
<string name="clipboard_notifications_title">התראות לוח העתקה</string>
|
||||
<string name="clipboard_explanation_summary">העתק שדות רשומה בעזרת לוח ההעתקה של המכשיר שלך</string>
|
||||
<string name="max_history_size_summary">הגבל את גודל ההיסטוריה לכל רשומה</string>
|
||||
<string name="advanced_unlock">פתיחת נעילת מכשיר</string>
|
||||
<string name="database_version_title">גירסת מסד הנתונים</string>
|
||||
<string name="education_select_database_summary">פתח את קובץ מסד הנתונים הקודם ממנהל הקבצים שלך כדי להמשיך להשתמש בו.</string>
|
||||
<string name="advanced_unlock">בטל נעילת מכשיר</string>
|
||||
<string name="database_version_title">גרסת מסד הנתונים</string>
|
||||
<string name="education_select_database_summary">פתח את קובץ מסד הנתונים הקודם שלך מסייר הקבצים שלך כדי להמשיך להשתמש בו.</string>
|
||||
<string name="education_new_node_title">הוסף פריטים למסד הנתונים שלך</string>
|
||||
<string name="education_new_node_summary">רשומות עוזרות לנהל את היישויות הדיגיטליות שלך.\n\nקבוצות (~תיקיות) מארגנות את הרשומות במסד הנתונים שלך.</string>
|
||||
<string name="education_search_summary">הכנס כותרת, שם משתמש או תוכן של שדות אחרים כדי לאחזר את הסיסמאות שלך.</string>
|
||||
<string name="education_new_node_summary">רשומות עוזרות לנהל את הזהויות הדיגיטליות שלך.\n\nקבוצות (~תיקיות) מארגנות את הרשומות במסד הנתונים שלך.</string>
|
||||
<string name="education_search_summary">הזן כותרת, שם משתמש או תוכן של שדות אחרים כדי לאחזר את הסיסמאות שלך.</string>
|
||||
<string name="download">הורדה</string>
|
||||
<string name="download_attachment">הורד %1$s</string>
|
||||
<string name="icon_pack_choose_summary">חבילת אייקונים בשימוש ביישום זה</string>
|
||||
<string name="icon_pack_choose_summary">חבילת סמלים בשימוש ביישום</string>
|
||||
<string name="keyboard_theme_title">ערכת נושא של המקלדת</string>
|
||||
<string name="warning">אזהרה</string>
|
||||
<string name="contains_duplicate_uuid">מסד הנתונים מכיל UUIDs כפולים.</string>
|
||||
<string name="contains_duplicate_uuid">מסד הנתונים מכיל מזהים ייחודיים אוניברסליים (UUIDs) כפולים.</string>
|
||||
<string name="lock">נעילה</string>
|
||||
<string name="database_name_title">שם מסד הנתונים</string>
|
||||
<string name="contribute">תרומה</string>
|
||||
<string name="memory_usage_explanation">כמות הזיכרון לשימוש ע\"י key derivation function.</string>
|
||||
<string name="education_create_database_title">ייצור קובץ מסד הנתונים שלך</string>
|
||||
<string name="menu_advanced_unlock_settings_summary">ביומטרי, נתוני אימות מכשיר</string>
|
||||
<string name="menu_database_settings_summary">מטאדאטה, סל מיחזור, תבניות, היסטוריה</string>
|
||||
<string name="memory_usage_explanation">כמות הזיכרון שיש להשתמש בו על ידי פונקציית גזירת המפתח.</string>
|
||||
<string name="education_create_database_title">צור את קובץ מסד הנתונים שלך</string>
|
||||
<string name="menu_advanced_unlock_settings_summary">ביומטרי, אישור מכשיר</string>
|
||||
<string name="menu_database_settings_summary">מטא-נתונים, סל מחזור, תבניות, היסטוריה</string>
|
||||
<string name="sort_last_access_time">גישה</string>
|
||||
<string name="autofill_service_name">מילוי אוטומטי של טפסי KeePassDX</string>
|
||||
<string name="clipboard_notifications_summary">בצפייה בערך רשום, הצג התראות לוח העתקה על מנת להעתיק שדות</string>
|
||||
<string name="assign_master_key">הקצה סיסמת על</string>
|
||||
<string name="contains_duplicate_uuid_procedure">על מנת להמשיך, האם לפתור את הבעיה על ידי יצירת UUID חדש עבור הכפילויות?</string>
|
||||
<string name="remember_keyfile_locations_summary">עקוב אחר מקומות האחסון של keyfiles</string>
|
||||
<string name="show_recent_files_title">הראה קבצים אחרונים</string>
|
||||
<string name="root">מקור</string>
|
||||
<string name="parallelism">התאמה (Parallelism)</string>
|
||||
<string name="parallelism_explanation">רמת ההתאמה (Parallelism) בשימוש ע\"י key derivation function (כמות שרשורים).</string>
|
||||
<string name="autofill_service_name">מילוי טפסים אוטומטי של KeePassDX</string>
|
||||
<string name="clipboard_notifications_summary">הצג התראות לוח העתקה כדי להעתיק שדות בעת צפייה ברשומה</string>
|
||||
<string name="assign_master_key">הקצה מפתח ראשי</string>
|
||||
<string name="contains_duplicate_uuid_procedure">האם לפתור את הבעיה על ידי יצירת מזהים ייחודיים אוניברסליים עבור כפילויות כדי להמשיך?</string>
|
||||
<string name="remember_keyfile_locations_summary">עוקב אחר המיקום שבו מאוחסנים קבצי מפתח</string>
|
||||
<string name="show_recent_files_title">הצג קבצים אחרונים</string>
|
||||
<string name="root">שורש</string>
|
||||
<string name="parallelism">מקבילות</string>
|
||||
<string name="parallelism_explanation">מידת המקבילות (כלומר מספר התהליכונים) המשמשת את פונקציית גזירת המפתח.</string>
|
||||
<string name="menu_appearance_settings">מראה</string>
|
||||
<string name="clear_clipboard_notification_title">נקה בסגירה</string>
|
||||
<string name="kdf_explanation">על מנת לייצר את הפמפתח לאלגוריתם ההצפנה, המפתח הראשי מוחלף בעזרת salted key derivation function.</string>
|
||||
<string name="kdf_explanation">על מנת לייצר את המפתח עבור אלגוריתם ההצפנה, המפתח הראשי עובר טרנספורמציה באמצעות פונקציית גזירת מפתח מלוחה באקראיות.</string>
|
||||
<string name="other">אחר</string>
|
||||
<string name="education_sort_title">מיון פריטים</string>
|
||||
<string name="education_sort_summary">בחר כיצד רשומות וקבוצות ממויינות.</string>
|
||||
<string name="html_text_ad_free">לעומת יישומי ניהול סיסמאות אחרים, היישום הזה <strong>נטול פרסומות,</strong>copylefted libre software</strong> ולא אוסף מידע פרטי בשרתים שלו, לא משנה באיזו גירסה.</string>
|
||||
<string name="education_sort_summary">בחר כיצד רשומות וקבוצות ממוינות.</string>
|
||||
<string name="html_text_ad_free">שלא כמו יישומי ניהול סיסמאות רבים, היישום הזה הוא <strong>נטול פרסומות</strong>, <strong>תוכנה חופשית עם רישיון לא מגביל</strong> ואינו אוסף מידע פרטי בשרתים שלו, לא משנה באיזו גרסה אתה משתמש.</string>
|
||||
<string name="enable">הפעל</string>
|
||||
<string name="compression_gzip">Gzip</string>
|
||||
<string name="enable_auto_save_database_title">שמירה אוטומטית של מסד הנתונים</string>
|
||||
<string name="enable_auto_save_database_summary">שמור את מסד הנתונים אחרי כל פעולה חשובה (במצב \"ניתן לשינוי\")</string>
|
||||
<string name="lock_database_back_root_title">לחץ \'אחורה\' כדי לנעול</string>
|
||||
<string name="enable_auto_save_database_summary">שמור את מסד הנתונים לאחר כל פעולה חשובה (במצב \"ניתן לשינוי\")</string>
|
||||
<string name="lock_database_back_root_title">לחץ \'חזרה\' כדי לנעול</string>
|
||||
<string name="database_data_compression_title">דחיסת נתונים</string>
|
||||
<string name="path">נתיב</string>
|
||||
<string name="database_data_compression_summary">דחיסת נתונים מקטינה את גודל מסד הנתונים</string>
|
||||
<string name="biometric">ביומטרי</string>
|
||||
<string name="menu_security_settings_summary">הצפנה, מפתח פונקציית גזרה</string>
|
||||
<string name="remember_hardware_key_title">זכור מפתחות חומרה</string>
|
||||
<string name="remember_hardware_key_summary">עקוב אחר השימוש במפתחות החומרה</string>
|
||||
<string name="remember_hardware_key_summary">עקוב אחר מפתחות החומרה שנעשה בהם שימוש</string>
|
||||
<string name="sort_last_modify_time">שינוי</string>
|
||||
<string name="encryption_explanation">אלגוריתם הצפנת מסד הנתונים המשמש לכל הנתונים</string>
|
||||
<string name="do_not_kill_app">אל תהרוג את היישום…</string>
|
||||
<string name="warning_permanently_delete_nodes">למחוק לצמיתות את הצמתים (nodes) הנבחרים?</string>
|
||||
<string name="do_not_kill_app">אל תסגור את היישום…</string>
|
||||
<string name="warning_permanently_delete_nodes">למחוק לצמיתות את הצמתים שנבחרו?</string>
|
||||
<string name="clipboard">לוח העתקה</string>
|
||||
<string name="database_opened">מסד הנתונים נפתח</string>
|
||||
<string name="education_entry_new_field_title">הוסף שדות מותאמים אישית</string>
|
||||
<string name="configure_biometric">לא רשומים נתונים ביומטריים או הרשאות מכשיר.</string>
|
||||
<string name="configure_biometric">לא נרשם אישור ביומטרי או של מכשיר.</string>
|
||||
<string name="database_history">היסטוריה</string>
|
||||
<string name="autofill">מילוי אוטומטי</string>
|
||||
<string name="autofill_sign_in_prompt">התחבר עם KeePassDX</string>
|
||||
<string name="general">כללי</string>
|
||||
<string name="autofill_explanation_summary">הפעל מילוי אוטומטי כדי למלא במהירות טפסים ביישומים אחרים</string>
|
||||
<string name="set_autofill_service_title">להפעיל שירות מילוי אוטומטי כברירת מחדל</string>
|
||||
<string name="password_size_title">גודל סיסמה מיוצרת</string>
|
||||
<string name="password_size_summary">מפעיל גודל ברירת מחדל של סיסמאות מיוצרות</string>
|
||||
<string name="set_autofill_service_title">הגדר שירות מילוי אוטומטי ברירת מחדל</string>
|
||||
<string name="password_size_title">גודל סיסמה שנוצרה</string>
|
||||
<string name="password_size_summary">מגדיר גודל ברירת המחדל של הסיסמאות שנוצרו</string>
|
||||
<string name="list_password_generator_options_title">תווי סיסמה</string>
|
||||
<string name="list_password_generator_options_summary">הפעלת תווים מורשים למחולל הסיסמאות</string>
|
||||
<string name="clipboard_warning">אם מחיקה אוטומטית של לוח ההעתקה נכשלת, מחק את ההיסטוריה ידנית.</string>
|
||||
<string name="lock_database_screen_off_summary">נעל את מסד הנתונים לאחר כמה שניות של מסך כבוי</string>
|
||||
<string name="list_password_generator_options_summary">הגדר תווים מותרים עבור מחולל הסיסמאות</string>
|
||||
<string name="clipboard_warning">אם מחיקה אוטומטית של לוח ההעתקה נכשלת, מחק את ההיסטוריה שלו ידנית.</string>
|
||||
<string name="lock_database_screen_off_summary">נעל את מסד הנתונים לאחר כמה שניות ברגע שהמסך כבוי</string>
|
||||
<string name="lock_database_screen_off_title">נעילת מסך</string>
|
||||
<string name="lock_database_back_root_summary">נעל את מסד הנתונים כאשר המשתמש לוחץ על כפתור אחורה במסך המקור</string>
|
||||
<string name="biometric_unlock_enable_title">פתיחת נעילה ביומטרית</string>
|
||||
<string name="biometric_unlock_enable_summary">מאשפר לך לסרוק את הביומטריה שלך כדי לפתוח את מסד הנתונים</string>
|
||||
<string name="advanced_unlock_explanation_summary">השתמש בפתיחת נעילת המכשיר כדי לפתוח את מסד הנתונים בקלות</string>
|
||||
<string name="lock_database_back_root_summary">נעל את מסד הנתונים כאשר המשתמש לוחץ על כפתור החזרה במסך הראשי</string>
|
||||
<string name="biometric_unlock_enable_title">ביטול נעילה ביומטרית</string>
|
||||
<string name="biometric_unlock_enable_summary">מאפשר לך לסרוק את האמצעי הביומטרי שלך כדי לפתוח את מסד הנתונים</string>
|
||||
<string name="advanced_unlock_explanation_summary">השתמש בביטול נעילת המכשיר כדי לפתוח את מסד הנתונים ביתר קלות</string>
|
||||
<string name="biometric_delete_all_key_title">מחק מפתחות הצפנה</string>
|
||||
<string name="biometric_delete_all_key_summary">מחק את כל מפתחות ההצפנה הקשורים לזיהוי פתיחת נעילת המכשיר</string>
|
||||
<string name="unavailable_feature_text">אין אפשרות להפעיל את התכונה הזאת.</string>
|
||||
<string name="unavailable_feature_version">המכשיר מריץ מערכת אנדרואיד %1$s, אך נדרשת מערכת %2$s או חדשה יותר.</string>
|
||||
<string name="unavailable_feature_hardware">אין אפשרות למצוא את החומרה המתאימה.</string>
|
||||
<string name="biometric_delete_all_key_summary">מחק את כל מפתחות ההצפנה הקשורים לזיהוי ביטול נעילת המכשיר</string>
|
||||
<string name="unavailable_feature_text">לא היה ניתן להתחיל תכונה זו.</string>
|
||||
<string name="unavailable_feature_version">המכשיר מריץ אנדרואיד %1$s, אבל צריך %2$s ואילך.</string>
|
||||
<string name="unavailable_feature_hardware">לא היה ניתן למצוא את החומרה המתאימה.</string>
|
||||
<string name="file_name">שם הקובץ</string>
|
||||
<string name="recycle_bin_title">שימוש בסל מחזור</string>
|
||||
<string name="recycle_bin_summary">מעביר קבוצות ורשומות לקבוצת \"סל מיחזור\" לפני מחיקה</string>
|
||||
<string name="recycle_bin_group_title">קבוצת סל מיחזור</string>
|
||||
<string name="monospace_font_fields_enable_title">גופן שדה typeface</string>
|
||||
<string name="max_history_items_title">מספר מירבי</string>
|
||||
<string name="recycle_bin_summary">מעביר קבוצות ורשומות לקבוצת \"סל מחזור\" לפני מחיקה</string>
|
||||
<string name="recycle_bin_group_title">קבוצת סל מחזור</string>
|
||||
<string name="monospace_font_fields_enable_title">גופן שדה</string>
|
||||
<string name="max_history_items_title">מספר מרבי</string>
|
||||
<string name="max_history_items_summary">הגבל את מספר פריטי ההיסטוריה לכל רשומה</string>
|
||||
<string name="settings_database_recommend_changing_master_key_summary">המלץ על שינוי מפתח ראשי (ימים)</string>
|
||||
<string name="settings_database_force_changing_master_key_title">הכרח חידוש</string>
|
||||
<string name="settings_database_force_changing_master_key_summary">הכרח שינוי מפתח ראשי (ימים)</string>
|
||||
<string name="settings_database_force_changing_master_key_summary">דרוש שינוי מפתח ראשי (ימים)</string>
|
||||
<string name="settings_database_force_changing_master_key_next_time_title">הכרח חידוש בפעם הבאה</string>
|
||||
<string name="monospace_font_fields_enable_summary">שנה את הגופן שבשימוש בשדות המילוי כדי שייראה ברור יותר</string>
|
||||
<string name="monospace_font_fields_enable_summary">שנה את הגופן המשמש בשדות עבור נראות תווים טובה יותר</string>
|
||||
<string name="allow_copy_password_title">אמון בלוח העתקה</string>
|
||||
<string name="allow_copy_password_summary">אפשר העתקת סיסמת הרשומה ושדות מוגנים ללוח העתקה</string>
|
||||
<string name="database_description_title">תיאור מסד הנתונים</string>
|
||||
<string name="text_appearance">טקסט</string>
|
||||
<string name="application_appearance">ממשק</string>
|
||||
<string name="recycle_bin">סל מיחזור</string>
|
||||
<string name="recycle_bin">סל מחזור</string>
|
||||
<string name="database_default_username_title">שם משתמש ברירת מחדל</string>
|
||||
<string name="database_custom_color_title">צבע מסד נתונים מותאם אישית</string>
|
||||
<string name="compression">דחיסה</string>
|
||||
@@ -461,103 +460,102 @@
|
||||
<string name="keyboard_setting_label">הגדרות Magikeyboard</string>
|
||||
<string name="keyboard_entry_category">רשומה</string>
|
||||
<string name="device_keyboard_setting_title">הגדרות מקלדת מכשיר</string>
|
||||
<string name="keyboard_notification_entry_title">מידע ההתראה</string>
|
||||
<string name="keyboard_notification_entry_title">פרטי התראה</string>
|
||||
<string name="keyboard_appearance_category">מראה</string>
|
||||
<string name="keyboard_keys_category">מפתחות</string>
|
||||
<string name="keyboard_key_vibrate_title">לחיצות מקשים מרעידות</string>
|
||||
<string name="keyboard_key_vibrate_title">לחיצות מקשים רוטטות</string>
|
||||
<string name="keyboard_selection_entry_title">בחירת רשומה</string>
|
||||
<string name="keyboard_selection_entry_summary">כאשר מוצגת רשומה ב־KeePassDX, אכלס את Magikeyboard עם רשומה זו</string>
|
||||
<string name="keyboard_auto_go_action_title">פעולת מקש אוטומטי</string>
|
||||
<string name="keyboard_auto_go_action_title">פעולת מקש אוטומטית</string>
|
||||
<string name="allow_no_password_title">אפשר עבודה ללא מפתח ראשי</string>
|
||||
<string name="allow_no_password_summary">אפשר לחיצה על הכפתור \"פתיחה\" אם לא נבחרו הרשאות</string>
|
||||
<string name="allow_no_password_summary">מאפשר הקשה על הכפתור \"פתח\" אם לא נבחרו אישורים</string>
|
||||
<string name="enable_read_only_summary">פתח את מסד הנתונים לקריאה בלבד כברירת מחדל</string>
|
||||
<string name="delete_entered_password_title">מחק סיסמה</string>
|
||||
<string name="delete_entered_password_summary">מחק את הסיסמה שמוכנסת אחרי נסיון חיבור למסד נתונים</string>
|
||||
<string name="reset_education_screens_summary">הראה שוב את כל מידע הלימודי</string>
|
||||
<string name="enable_education_screens_title">רמזי לימוד</string>
|
||||
<string name="enable_education_screens_summary">הדגש אלמנטים כדי ללמוד איך היישום עובד</string>
|
||||
<string name="reset_education_screens_text">איפוס רמזי הלימוד</string>
|
||||
<string name="education_create_database_summary">ייצור קובץ ניהול הסיסמה הראשון שלך.</string>
|
||||
<string name="delete_entered_password_summary">מוחק את הסיסמה שהוזנה לאחר ניסיון התחברות למסד נתונים</string>
|
||||
<string name="reset_education_screens_summary">הראה שוב את כל המידע הלימודי</string>
|
||||
<string name="enable_education_screens_title">רמזים לימודיים</string>
|
||||
<string name="enable_education_screens_summary">הדגש רכיבים כדי ללמוד איך היישום עובד</string>
|
||||
<string name="reset_education_screens_text">רמזים לימודיים אופסו</string>
|
||||
<string name="education_create_database_summary">צור את קובץ ניהול הסיסמאות הראשון שלך.</string>
|
||||
<string name="education_select_database_title">פתח מסד נתונים קיים</string>
|
||||
<string name="education_search_title">חיפוש בתוך הרשומות</string>
|
||||
<string name="education_unlock_title">פתח את נעילת מסד הנתונים שלך</string>
|
||||
<string name="education_search_title">חיפוש ברשומות</string>
|
||||
<string name="education_unlock_title">בטל את נעילת מסד הנתונים שלך</string>
|
||||
<string name="education_field_copy_title">העתק שדה</string>
|
||||
<string name="education_field_copy_summary">שדות מועתקים יכולים להיות מודבקים בכל מקום.\n\nהשתמש בשיטת מילוי הטפסים המועדפת עליך.</string>
|
||||
<string name="education_lock_summary">נעל את מסד הנתונים שלך במהירות, ניתן להגדיר את היישום כך שינעל אותו אחרי כמה זמן, וכאשר המסך מתכבה.</string>
|
||||
<string name="education_lock_summary">נעל את מסד הנתונים שלך במהירות, ניתן להגדיר את היישום כך שינעל אותו לאחר זמן מה, וכאשר המסך נכבה.</string>
|
||||
<string name="education_donation_title">השתתף</string>
|
||||
<string name="education_donation_summary">עזור להגביר את היציבות, הבטיחות והוספת תכונות חדשות.</string>
|
||||
<string name="education_donation_summary">עזור להגביר את היציבות, האבטחה ובהוספת תכונות חדשות.</string>
|
||||
<string name="download_progression">בתהליך: %1$d%%</string>
|
||||
<string name="download_finalization">משלים…</string>
|
||||
<string name="icon_pack_choose_title">חבילת אייקונים</string>
|
||||
<string name="download_complete">הסתיים!</string>
|
||||
<string name="icon_pack_choose_title">חבילת סמלים</string>
|
||||
<string name="download_complete">הושלם!</string>
|
||||
<string name="keyboard_previous_fill_in_title">החלף בחזרה</string>
|
||||
<string name="notification">התראה</string>
|
||||
<string name="autofill_inline_suggestions_title">הצעות בתוך השורה</string>
|
||||
<string name="autofill_save_search_info_title">שמור מידע חיפוש</string>
|
||||
<string name="keyboard_previous_database_credentials_summary">החלף אוטומטית למקלדת הקודמת במסך הרשאות מסד הנתונים</string>
|
||||
<string name="keyboard_previous_database_credentials_summary">החלף בחזרה למקלדת הקודמת באופן אוטומטי במסך אישורי מסד נתונים</string>
|
||||
<string name="back_to_previous_keyboard">בחזרה למקלדת הקודמת</string>
|
||||
<string name="select_entry">בחר רשומה</string>
|
||||
<string name="autofill_application_id_blocklist_title">רשימת חסימת אפליקציות</string>
|
||||
<string name="autofill_application_id_blocklist_title">רשימת חסימת יישומים</string>
|
||||
<string name="autofill_close_database_summary">סגור את מסד הנתונים לאחר בחירת מילוי אוטומטי</string>
|
||||
<string name="unit_gibibyte">GiB</string>
|
||||
<string name="warning_database_read_only">הענק גישת כתיבה לקובץ כדי לשמור שינויי מסד נתונים</string>
|
||||
<string name="warning_database_link_revoked">נשללה הגישה לקובץ ע\"י סייר הקבצים</string>
|
||||
<string name="warning_database_link_revoked">בוטלה הגישה לקובץ על ידי מנהל הקבצים</string>
|
||||
<string name="warning_database_info_changed">המידע שבתוך קובץ מסד הנתונים שלך השתנה מחוץ ליישום זה.</string>
|
||||
<string name="advanced_unlock_prompt_store_credential_message">עדיין תצטרך לזכור את הרשאות הכספת הראשית אם תשתמש בזיהוי פתיחת נעילת המכשיר.</string>
|
||||
<string name="advanced_unlock_prompt_store_credential_message">אתה עדיין צריך לזכור את אישור הכספת הראשי שלך אם אתה משתמש בזיהוי ביטול נעילת המכשיר.</string>
|
||||
<string name="keyboard_previous_lock_title">נעל מסד נתונים</string>
|
||||
<string name="keyboard_save_search_info_title">שמור מידע משותף</string>
|
||||
<string name="upload_attachment">העלה %1$s</string>
|
||||
<string name="download_canceled">בוטל!</string>
|
||||
<string name="unit_byte">B</string>
|
||||
<string name="autofill_read_only_save">לא ניתן לשמור נתונים במסד נתונים במצב \"קריאה בלבד\".</string>
|
||||
<string name="enter">מקש אנטר</string>
|
||||
<string name="autofill_read_only_save">שמירת נתונים אינה מורשת עבור מסד נתונים שנפתח לקריאה בלבד.</string>
|
||||
<string name="enter">Enter</string>
|
||||
<string name="autofill_block">חסום מילוי אוטומטי</string>
|
||||
<string name="warning_replace_file">העלאה של הקובץ הזה תחליף את הקובץ הקיים.</string>
|
||||
<string name="warning_sure_add_file">הוסף את הקובץ בכל מקרה?</string>
|
||||
<string name="warning_replace_file">העלאת קובץ זה תחליף את הקובץ הקיים.</string>
|
||||
<string name="warning_sure_add_file">להוסיף את הקובץ בכל מקרה?</string>
|
||||
<string name="content">תוכן</string>
|
||||
<string name="education_setup_OTP_title">הגדר OTP</string>
|
||||
<string name="show_recent_files_summary">הצג מקומות אחרונים של מסדי נתונים</string>
|
||||
<string name="hide_broken_locations_title">הסתר קישורים שבורים של מסד הנתונים</string>
|
||||
<string name="biometric_security_update_required">דרוש עדכון אבטחה ביומטרי.</string>
|
||||
<string name="education_setup_OTP_title">הגדר סיסמה חד-פעמית (OTP)</string>
|
||||
<string name="show_recent_files_summary">הצג מיקומים של מסדי נתונים אחרונים</string>
|
||||
<string name="hide_broken_locations_title">הסתר קישורי מסד נתונים שבורים</string>
|
||||
<string name="biometric_security_update_required">נדרש עדכון אבטחה ביומטרי.</string>
|
||||
<string name="data">נתונים</string>
|
||||
<string name="education_add_attachment_summary">העלה צרופה לרשומה שלך כדי לשמור מידע חיצוני חשוב.</string>
|
||||
<string name="hide_expired_entries_summary">רשומות פגות תוקף לא מוצגות</string>
|
||||
<string name="education_add_attachment_summary">העלה צרופה לרשומה שלך כדי לשמור נתונים חיצוניים חשובים.</string>
|
||||
<string name="hide_expired_entries_summary">רשומות פגות תוקף אינן מוצגות</string>
|
||||
<string name="hide_broken_locations_summary">הסתר קישורים שבורים ברשימת מסדי הנתונים האחרונים</string>
|
||||
<string name="autofill_preference_title">הגדרות מילוי אוטומטי</string>
|
||||
<string name="autofill_application_id_blocklist_summary">רשימת אפליקציות חסומות למילוי אוטומטי</string>
|
||||
<string name="advanced_unlock_prompt_store_credential_title">קישור לנעילת מכשיר</string>
|
||||
<string name="autofill_ask_to_save_data_summary">שאל האם לשמור נתונים כאשר הסתיים מילוי טופס</string>
|
||||
<string name="advanced_unlock_prompt_not_initialized">לא ניתן לאתחל את חלון פתיחת הנעילה המתקדמת.</string>
|
||||
<string name="advanced_unlock_timeout">הזמן הקצוב עבור פתיחת הנעילה עבר</string>
|
||||
<string name="autofill_application_id_blocklist_summary">רשימת חסימה שמונעת מילוי אוטומטי של יישומים</string>
|
||||
<string name="advanced_unlock_prompt_store_credential_title">קשר לביטול נעילת המכשיר</string>
|
||||
<string name="autofill_ask_to_save_data_summary">בקש שמירת נתונים כאשר מילוי טופס הושלם</string>
|
||||
<string name="advanced_unlock_prompt_not_initialized">לא ניתן לאתחל את הנחיית ביטול נעילת מכשיר.</string>
|
||||
<string name="advanced_unlock_timeout">פסק זמן של ביטול נעילת מכשיר</string>
|
||||
<string name="unit_kibibyte">KiB</string>
|
||||
<string name="unit_mebibyte">MiB</string>
|
||||
<string name="filter">סינון</string>
|
||||
<string name="warning_sure_remove_data">להסיר את המידע הזה בכל מקרה?</string>
|
||||
<string name="warning_empty_keyfile">לא מומלץ להוסיף קובץ מפתח ריק.</string>
|
||||
<string name="filter">מסנן</string>
|
||||
<string name="warning_sure_remove_data">להסיר את הנתונים האלה בכל מקרה?</string>
|
||||
<string name="warning_empty_keyfile">זה לא מומלץ להוסיף קובץ מפתח ריק.</string>
|
||||
<string name="warning_empty_keyfile_explanation">תוכן קובץ המפתח לעולם לא אמור להשתנות, ועדיף שיכיל נתונים שיוצרו רנדומלית.</string>
|
||||
<string name="warning_empty_recycle_bin">למחוק לצמיתות את כל הצמתים (nodes) מסל המיחזור?</string>
|
||||
<string name="advanced_unlock_prompt_extract_credential_title">זיהוי פתיחת נעילת מכשיר</string>
|
||||
<string name="advanced_unlock_prompt_extract_credential_message">שליפת הרשאות מסד הנתונים באמצעות נתוני פתיחת נעילת מכשיר</string>
|
||||
<string name="advanced_unlock_invalid_key">לא ניתן לקרוא את מפתח פתיחת נעילת המכשיר. נא מחק אותו וחזור על תהליך זיהוי פתיחת הנעילה.</string>
|
||||
<string name="advanced_unlock_not_recognized">לא זוהתה טביעת האצבע לפתיחת נעילת המכשיר</string>
|
||||
<string name="advanced_unlock_scanning_error">שגיאה בפתיחת נעילת המכשיר: %1$s</string>
|
||||
<string name="warning_empty_recycle_bin">למחוק לצמיתות את כל הצמתים מסל המחזור?</string>
|
||||
<string name="advanced_unlock_prompt_extract_credential_title">זיהוי ביטול נעילת מכשיר</string>
|
||||
<string name="advanced_unlock_prompt_extract_credential_message">חלץ אישור מסד נתונים עם נתוני ביטול נעילת מכשיר</string>
|
||||
<string name="advanced_unlock_invalid_key">לא ניתן לקרוא את מפתח ביטול נעילת המכשיר. נא למחוק אותו ולחזור על התהליך לזיהוי ביטול נעילה.</string>
|
||||
<string name="advanced_unlock_not_recognized">לא היה ניתן לזהות טביעת ביטול נעילת מכשיר</string>
|
||||
<string name="credential_before_click_advanced_unlock_button">הקלד את הסיסמה, ואז לחץ על הכפתור הזה.</string>
|
||||
<string name="lock_database_show_button_title">הצג כפתור נעילה</string>
|
||||
<string name="lock_database_show_button_summary">הצג את כפתור הנעילה בממשק המשתמש</string>
|
||||
<string name="advanced_unlock_tap_delete">לחצו כדי למחוק את מפתחות פתיחת הנעילה המתקדמת.</string>
|
||||
<string name="advanced_unlock_delete_all_key_warning">האם למחוק את כל מפתחות ההצפנה הקשורים לזיהוי פתיחת נעילה מתקדמת?</string>
|
||||
<string name="advanced_unlock_tap_delete">הקש כדי למחוק מפתחות של ביטול נעילת מכשיר</string>
|
||||
<string name="advanced_unlock_delete_all_key_warning">למחוק את כל מפתחות ההצפנה הקשורים לזיהוי ביטול נעילת מכשיר?</string>
|
||||
<string name="database_data_remove_unlinked_attachments_title">הסר נתונים לא מקושרים</string>
|
||||
<string name="database_data_remove_unlinked_attachments_summary">מסיר צרופות הכלולות במסד הנתונים אך לא מקושרות לאף רשומה</string>
|
||||
<string name="database_data_remove_unlinked_attachments_summary">מסיר צרופות המוכלות במסד הנתונים אך לא מקושרים לאף רשומה</string>
|
||||
<string name="keyboard_change">החלף מקלדת</string>
|
||||
<string name="keyboard_previous_database_credentials_title">מסך הרשאות מסד הנתונים</string>
|
||||
<string name="keyboard_previous_database_credentials_title">מסך אישורי מסד נתונים</string>
|
||||
<string name="autofill_close_database_title">סגור מסד נתונים</string>
|
||||
<string name="custom_fields">שדות מותאמים אישית</string>
|
||||
<string name="backspace">בקספייס (מקש אחורה)</string>
|
||||
<string name="backspace">Backspace</string>
|
||||
<string name="autofill_web_domain_blocklist_title">רשימת חסימה של דומיינים ברשת</string>
|
||||
<string name="autofill_ask_to_save_data_title">שאל האם לשמור נתונים</string>
|
||||
<string name="autofill_web_domain_blocklist_summary">רשימת חסימה למניעת מילוי אוטומטי בדומיינים</string>
|
||||
<string name="autofill_ask_to_save_data_title">בקש לשמור נתונים</string>
|
||||
<string name="autofill_web_domain_blocklist_summary">רשימת חסימה שמונעת מילוי אוטומטי של דומיינים ברשת</string>
|
||||
<string name="autofill_block_restart">אתחל מחדש את היישום המכיל את הטופס על מנת להפעיל את החסימה.</string>
|
||||
<string name="autofill_inline_suggestions_keyboard">הצעות מילוי אוטומטי נוספו.</string>
|
||||
<string name="autofill_inline_suggestions_keyboard">נוספו הצעות מילוי אוטומטי.</string>
|
||||
<string name="education_add_attachment_title">הוסף צרופה</string>
|
||||
<string name="style_brightness_title">בהירות ערכת נושא</string>
|
||||
<string name="style_brightness_summary">בחר ערכות נושא כהות או בהירות</string>
|
||||
@@ -565,40 +563,40 @@
|
||||
<string name="icon_section_standard">רגיל</string>
|
||||
<string name="sort_username">שם משתמש</string>
|
||||
<string name="keyboard_previous_search_title">מסך חיפוש</string>
|
||||
<string name="keyboard_entry_timeout_title">הקצבת זמן לפעולה (Timeout)</string>
|
||||
<string name="biometric_auto_open_prompt_summary">בקש פתיחת נעילת מכשיר אוטומטית אם מסד הנתונים מוגדר להשתמש בה</string>
|
||||
<string name="keyboard_entry_timeout_title">פסק זמן</string>
|
||||
<string name="biometric_auto_open_prompt_summary">בקש ביטול נעילת מכשיר באופן אוטומטי אם מסד הנתונים מוגדר להשתמש בו</string>
|
||||
<string name="autofill_manual_selection_title">בחירה ידנית</string>
|
||||
<string name="keyboard_entry_timeout_summary">הקצבת זמן לניקוי רשומת המקלדת</string>
|
||||
<string name="keyboard_previous_fill_in_summary">החלף אוטומטית למקלדת הקודמת לאחר ביצוע \"Auto key action\"</string>
|
||||
<string name="keyboard_previous_search_summary">החלף אוטומטית למקלדת הקודמת במסך החיפוש</string>
|
||||
<string name="keyboard_entry_timeout_summary">פסק זמן לניקוי רשומת המקלדת</string>
|
||||
<string name="keyboard_previous_fill_in_summary">החלף בחזרה למקלדת הקודמת באופן אוטומטי לאחר ביצוע \"פעולת מקש אוטומטית\"</string>
|
||||
<string name="keyboard_previous_search_summary">החלף בחזרה למקלדת הקודמת באופן אוטומטי במסך החיפוש</string>
|
||||
<string name="show_entry_colors_title">צבעי רשומה</string>
|
||||
<string name="entropy">אנטרופיה: %1$s bit</string>
|
||||
<string name="entropy">אנטרופיה: %1$s ביט</string>
|
||||
<string name="icon_section_custom">מותאם אישית</string>
|
||||
<string name="warning_no_encryption_key">המשך ללא מפתח הצפנה?</string>
|
||||
<string name="warning_no_encryption_key">להמשיך ללא מפתח הצפנה?</string>
|
||||
<string name="permission">הרשאות</string>
|
||||
<string name="properties">מאפיינים</string>
|
||||
<string name="success_import_app_properties">הגדרות יישום יובאו</string>
|
||||
<string name="sort_title">כותרת</string>
|
||||
<string name="description_app_properties">מאפייני KeePassDX לניהול הגדרות יישום</string>
|
||||
<string name="error_import_app_properties">שגיאה במהלך יבוא הגדרות יישום</string>
|
||||
<string name="error_import_app_properties">שגיאה במהלך ייבוא הגדרות יישום.</string>
|
||||
<string name="style_name_divine">שמיימי</string>
|
||||
<string name="style_name_classic">קלאסי</string>
|
||||
<string name="style_name_kunzite">Kunzite</string>
|
||||
<string name="style_name_follow_system">עקוב אחרי המערכת</string>
|
||||
<string name="warning_database_revoked">סייר קבצים שלל את הגישה לקובץ, סגור את מסד הנתונים ופתח מחדש מהמיקום שלו.</string>
|
||||
<string name="build_label">Build %1$s</string>
|
||||
<string name="build_label">בנייה %1$s</string>
|
||||
<string name="success_export_app_properties">הגדרות יישום יוצאו</string>
|
||||
<string name="at_least_one_char">לפחות תו אחד מכל סוג</string>
|
||||
<string name="warning_database_already_opened">מסד נתונים כבר פתוח, סגור אותו על מנת לפתוח את החדש</string>
|
||||
<string name="warning_database_already_opened">מסד נתונים כבר פתוח, סגור אותו תחילה כדי לפתוח את החדש</string>
|
||||
<string name="entropy_high">אנטרופיה: גבוהה</string>
|
||||
<string name="entropy_calculate">אנטרופיה: חישוב…</string>
|
||||
<string name="entropy_calculate">אנטרופיה: מחשב…</string>
|
||||
<string name="style_name_simple">פשוט</string>
|
||||
<string name="sort_ascending">הנמוך ביותר ראשון ↓</string>
|
||||
<string name="sort_groups_before">קבוצות לפני</string>
|
||||
<string name="sort_recycle_bin_bottom">סל מיחזור בתחתית</string>
|
||||
<string name="sort_recycle_bin_bottom">סל מחזור בתחתית</string>
|
||||
<string name="import_app_properties_summary">בחר קובץ כדי לייבא הגדרות יישום</string>
|
||||
<string name="warning_remove_unlinked_attachment">הסרת נתונים לא מקושרים יכול להקטין את גודל מסד הנתונים שלך אבל עלול גם למחוק נתונים הנמצאים בשימוש ע\"י תוספי KeePass.</string>
|
||||
<string name="unlock">פתח נעילה</string>
|
||||
<string name="warning_remove_unlinked_attachment">הסרת נתונים לא מקושרים עשויה להקטין את גודל מסד הנתונים שלך אבל היא עלולה גם למחוק נתונים המשמשים עבור תוספי KeePass.</string>
|
||||
<string name="unlock">בטל נעילה</string>
|
||||
<string name="warning_database_info_changed_options_read_only">טען את מסד הנתונים עם השינויים האחרונים.</string>
|
||||
<string name="warning_database_info_reloaded">טעינה מחדש של מסד הנתונים ימחוק את הנתונים ששונו מקומית.</string>
|
||||
<string name="later">אח\"כ</string>
|
||||
@@ -607,38 +605,88 @@
|
||||
<string name="warning_copy_permission">על מנת להשתמש בתכונת התראת לוח העתקה דרושה הרשאת התראה.</string>
|
||||
<string name="configure">הגדר</string>
|
||||
<string name="merge_success">מיזוג הושלם בהצלחה</string>
|
||||
<string name="unlock_and_link_biometric">קישור פתיחת נעילת מכשיר</string>
|
||||
<string name="unlock_and_link_biometric">קישור ביטול נעילת מכשיר</string>
|
||||
<string name="encrypted_value_stored">סיסמה מוצפנת אוחסנה</string>
|
||||
<string name="unavailable">לא זמין</string>
|
||||
<string name="menu_appearance_settings_summary">ערכות נושא, צבעים, מאפיינים</string>
|
||||
<string name="menu_appearance_settings_summary">ערכות נושא, צבעים, תכונות</string>
|
||||
<string name="autofill_select_entry">בחר רשומה…</string>
|
||||
<string name="templates_group_enable_title">שימוש בתבניות</string>
|
||||
<string name="templates_group_enable_summary">השתמש בתבניות דינמיות כדי למלא את שדות הרשומה</string>
|
||||
<string name="templates_group_enable_summary">השתמש בתבניות דינמיות כדי למלא את השדות של רשומה</string>
|
||||
<string name="templates_group_uuid_title">קבוצת תבניות</string>
|
||||
<string name="templates">תבניות</string>
|
||||
<string name="keyboard_notification_entry_summary">הצג התראה כאשר רשומה זמינה</string>
|
||||
<string name="enable_keep_screen_on_title">השאר את המסך דולק</string>
|
||||
<string name="enable_keep_screen_on_summary">השאר את המסך דולק כאשר צופים או עורכים רשומה</string>
|
||||
<string name="enable_screenshot_mode_title">מצב צילום מסך</string>
|
||||
<string name="enable_screenshot_mode_summary">אפשר ליישומים מצד שלישי להקליט או לצלם מסך של היישום</string>
|
||||
<string name="exclude_ambiguous_chars">שלול תווים מעורפלים</string>
|
||||
<string name="consider_chars_filter">לקחת בחשבון תווים</string>
|
||||
<string name="enable_screenshot_mode_summary">אפשר ליישומים של צד שלישי להקליט או לצלם צילומי מסך של היישום</string>
|
||||
<string name="exclude_ambiguous_chars">החרג תווים דו-משמעיים</string>
|
||||
<string name="consider_chars_filter">שקול תווים</string>
|
||||
<string name="word_separator">מפריד</string>
|
||||
<string name="ignore_chars_filter">התעלם מתווים</string>
|
||||
<string name="lower_case">אותיות קטנות</string>
|
||||
<string name="upper_case">אותיות גדולות</string>
|
||||
<string name="title_case">Title Case</string>
|
||||
<string name="upper_case">אותיות רישיות</string>
|
||||
<string name="title_case">אותיות כותרת רישיות</string>
|
||||
<string name="character_count">ספירת תווים: %1$d</string>
|
||||
<string name="screenshot_mode_banner_text">מצב צילום מסך</string>
|
||||
<string name="show_entry_colors_summary">הצגת צבעי רקע אחורי וקדמי לרשומה</string>
|
||||
<string name="show_entry_colors_summary">מציג צבעי רקע וחזית עבור רשומה</string>
|
||||
<string name="style_name_forest">יער</string>
|
||||
<string name="style_name_moon">ירח</string>
|
||||
<string name="style_name_sun">שמש</string>
|
||||
<string name="style_name_reply">תשובה</string>
|
||||
<string name="style_name_light">אור</string>
|
||||
<string name="style_name_dark">חושך</string>
|
||||
<string name="import_app_properties_title">יבא הגדרות יישום</string>
|
||||
<string name="export_app_properties_title">יצא הגדרות יישום</string>
|
||||
<string name="export_app_properties_summary">צור קובץ לייצוא הגדרות יישום</string>
|
||||
<string name="error_export_app_properties">שגיאה במהלך ייצוא הגדרות יישום</string>
|
||||
<string name="style_name_reply">מענה</string>
|
||||
<string name="style_name_light">בהיר</string>
|
||||
<string name="style_name_dark">כהה</string>
|
||||
<string name="import_app_properties_title">ייבוא הגדרות יישום</string>
|
||||
<string name="export_app_properties_title">ייצוא הגדרות יישום</string>
|
||||
<string name="export_app_properties_summary">צור קובץ כדי לייצא הגדרות יישום</string>
|
||||
<string name="error_export_app_properties">שגיאה במהלך ייצוא הגדרות יישום.</string>
|
||||
<string name="html_text_feature_generosity"><strong>הסגנון החזותי</strong> הזה זמין הודות לנדיבות שלך.</string>
|
||||
<string name="html_text_dev_feature_contibute">על ידי <strong>תרומה</strong>,</string>
|
||||
<string name="hide_templates_title">הסתר תבניות</string>
|
||||
<string name="html_text_dev_feature_encourage">אתה מעודד מפתחים ליצור <strong>תכונות חדשות</strong> ול<strong>תקן באגים</strong> לפי דבריך.</string>
|
||||
<string name="hide_templates_summary">תבניות אינן מוצגות</string>
|
||||
<string name="html_text_dev_feature">תכונה זו נמצאת <strong>בפיתוח</strong> ודורשת את <strong>התרומה</strong> שלך כדי להיות זמינה בקרוב.</string>
|
||||
<string name="style_choose_title">ערכת הנושא של היישום</string>
|
||||
<string name="style_choose_summary">ערכת נושא בשימוש ביישום</string>
|
||||
<string name="generate_keyfile">צור קובץ מפתח</string>
|
||||
<string name="nodes">צמתים</string>
|
||||
<string name="recursive_number_entries_title">מספר רשומות רקורסיבי</string>
|
||||
<string name="recursive_number_entries_summary">מחשב באופן רקורסיבי את מספר הרשומות בקבוצה</string>
|
||||
<string name="autofill_manual_selection_summary">הצג אפשרות לאפשר למשתמש לבחור ערך מסד נתונים</string>
|
||||
<string name="education_read_only_title">הגן על מסד הנתונים שלך מפני כתיבה</string>
|
||||
<string name="html_text_donation">על ידי <strong>תרומה</strong> לפרויקט <i>(כספית, קוד, תרגום)</i>, אתה תעזור לו להמשיך לחיות ולשגשג, ואתה גם תהיה זכאי להליך פתיחת <strong>ערכת נושא</strong>.</string>
|
||||
<string name="warning_empty_password">להמשיך ללא הגנת ביטול נעילה באמצעות סיסמה?</string>
|
||||
<string name="warning_file_too_big">מסד נתונים של KeePass אמור להכיל רק קבצי שירות קטנים (כגון קבצי מפתח PGP).\n\nמסד הנתונים שלך עשוי להפוך לגדול מאד ולהפחית ביצועים עם העלאה זו.</string>
|
||||
<string name="warning_exact_alarm">לא אפשרת ליישום להשתמש בהתראה מדויקת. כתוצאה מכך, התכונות שדורשות קוצב זמן לא יתבצעו עם זמן מדויק.</string>
|
||||
<string name="keyboard_save_search_info_summary">נסה לשמור מידע משותף כשעושים בחירת ערך ידנית בשביל שימושים עתידיים קלים יותר</string>
|
||||
<string name="warning_database_info_changed_options">מזג את הנתונים, דרוס את השינויים החיצוניים על ידי שמירת מסד הנתונים או טען אותו מחדש עם השינויים האחרונים.</string>
|
||||
<string name="device_credential">אישור מכשיר</string>
|
||||
<string name="keyboard_previous_lock_summary">החלף בחזרה למקלדת הקודמת באופן אוטומטי לאחר נעילת מסד הנתונים</string>
|
||||
<string name="education_read_only_summary">שנה מצב פתיחה עבור ההפעלה.\n\n\"מוגן מפני כתיבה\" מונע שינויים לא מכוונים למסד הנתונים.\n\"ניתן לשינוי\" מאפשר לך להוסיף, למחוק, או לשנות את כל הרכיבים כפי רצונך.</string>
|
||||
<string name="warning_password_encoding">הימנע מתווי סיסמה מחוץ לפורמט קידוד טקסט בקובץ מסד נתונים (תווים לא מזוהים מומרים לאותה האות).</string>
|
||||
<string name="warning_large_keyfile">זה לא מומלץ להוסיף קובץ מפתח גדול, זה עלול למנוע את פתיחת מסד הנתונים.</string>
|
||||
<string name="temp_advanced_unlock_enable_title">ביטול נעילת מכשיר זמני</string>
|
||||
<string name="autofill_inline_suggestions_summary">נסה להציג הצעות למילוי אוטומטי ישירות ממקלדת נתמכת</string>
|
||||
<string name="education_entry_edit_summary">ערוך את הרשומה שלך עם שדות מותאמים אישית. ניתן להפנות לנתוני מאגר בין שדות רשומות שונות.</string>
|
||||
<string name="warning_keyfile_integrity">הגיבוב של הקובץ אינו מובטח בגלל שאנדרואיד יכול לשנות את הנתונים שלו תוך כדי תנועה. שנה את הרחבת הקובץ ל-bin. עבור שלמות נכונה.</string>
|
||||
<string name="keystore_not_accessible">מאגר המפתחות אינו מאותחל כראוי.</string>
|
||||
<string name="device_credential_unlock_enable_title">ביטול נעילה בעזרת אישור מכשיר</string>
|
||||
<string name="device_credential_unlock_enable_summary">מאפשר לך להשתמש באישור המכשיר שלך כדי לפתוח את מסד הנתונים</string>
|
||||
<string name="biometric_auto_open_prompt_title">פתח הנחיה אוטומטית</string>
|
||||
<string name="temp_advanced_unlock_enable_summary">אל תאחסן תוכן מוצפן כדי להשתמש בביטול נעילת מכשיר</string>
|
||||
<string name="temp_advanced_unlock_timeout_title">תפוגת ביטול נעילת מכשיר</string>
|
||||
<string name="temp_advanced_unlock_timeout_summary">משך השימוש בביטול נעילת מכשיר לפני מחיקת התוכן שלו</string>
|
||||
<string name="advanced_unlock_keystore_warning">תכונה זו תאחסן נתוני אישור מוצפנים במאגר המפתחות של המכשיר שלך.\n\nבהתאם ליישום ה-API המקורי של מערכת ההפעלה, זה עשוי להיות לא פונקציונלי לחלוטין.\n\nבדוק את התאימות והאבטחה של מאגר המפתחות עם היצרן של המכשיר שלך והיוצר של ה-ROM בו אתה משתמש.</string>
|
||||
<string name="clear_clipboard_notification_summary">נעל את מסד הנתונים כאשר משך זמן לוח ההעתקה פג או ההתראה נסגרה לאחר שהתחלת להשתמש בו</string>
|
||||
<string name="magic_keyboard_explanation_summary">הפעל מקלדת מותאמת אישית המאכלסת את הסיסמאות שלך ואת כל שדות הזהות</string>
|
||||
<string name="keyboard_auto_go_action_summary">פעולת מקש \"עבור\" לאחר לחיצה על מקש \"שדה\"</string>
|
||||
<string name="autofill_save_search_info_summary">נסה לשמור מידע חיפוש כשעושים בחירת ערך ידנית בשביל שימושים עתידיים קלים יותר</string>
|
||||
<string name="education_advanced_unlock_title">ביטול נעילת מסד נתונים בעזרת מכשיר</string>
|
||||
<string name="education_advanced_unlock_summary">קשר את הסיסמה שלך לאמצעי הביומטרי הסרוק שלך או לאישור מכשיר כדי לפתוח במהירות את מסד הנתונים שלך.</string>
|
||||
<string name="education_generate_password_summary">צור סיסמה חזקה לשיוך עם הרשומה שלך, הגדר אותה בקלות בהתאם לקריטריונים של הטופס ואל תשכח לעשות את הסיסמה מאובטחת.</string>
|
||||
<string name="education_validate_entry_title">אמת את הרשומה</string>
|
||||
<string name="education_validate_entry_summary">זכור לאמת את הרשומה שלך ולשמור את מסד הנתונים שלך.\n\nאם נעילה אוטומטית מופעלת ואתה שוכח שעשית שינוי, אתה מסתכן באיבוד הנתונים שלך.</string>
|
||||
<string name="education_entry_new_field_summary">רשום שדה נוסף, הוסף ערך והגן עליו באופן אופציונלי.</string>
|
||||
<string name="education_setup_OTP_summary">הגדר ניהול סיסמה חד-פעמית (HOTP / TOTP) כדי לייצר אסימון המבוקש עבור אימות דו-גורמי (2FA).</string>
|
||||
<string name="html_text_buy_pro">על ידי קניית גרסת הפרו, תהיה לך גישה ל<strong>סגנון החזותי</strong> הזה ותעזור במיוחד עם <strong>ההגשמה של פרויקטים קהילתיים.</strong></string>
|
||||
<string name="html_text_dev_feature_buy_pro">על ידי קניית גרסת ה<strong>פרו</strong>,</string>
|
||||
</resources>
|
||||
@@ -74,7 +74,7 @@
|
||||
<string name="decrypting_db">データベースの内容を復号しています…</string>
|
||||
<string name="default_checkbox">デフォルトのデータベースとして使用</string>
|
||||
<string name="digits">数字</string>
|
||||
<string name="html_about_licence">KeePassDX © %1$d Kunzisoft は<strong>オープンソース</strong>かつ<strong>広告なし</strong>です。\nそのままの状態で、<strong>GPLv3</strong> ライセンスの下、いかなる保証もなく提供されます。</string>
|
||||
<string name="html_about_licence">KeePassDX © %1$d Kunzisoft は<strong>オープンソース</strong>であり、<strong>広告はありません</strong>。\n本ソフトウェアは<strong>GPLv3</strong>ライセンスの下で提供されており、いかなる保証もありません。</string>
|
||||
<string name="html_about_contribution"><strong>自由を維持し</strong>、<strong>バグを修正し</strong>、<strong>機能を追加し</strong>、そして<strong>活発に開発し続ける</strong>ために、私たちはあなたの<strong>貢献</strong>に期待しています。</string>
|
||||
<string name="entry_accessed">最終アクセス</string>
|
||||
<string name="entry_cancel">キャンセル</string>
|
||||
@@ -103,7 +103,7 @@
|
||||
<string name="entry_user_name">ユーザー名</string>
|
||||
<string name="error_arc4">Arcfour ストリーム暗号には対応していません。</string>
|
||||
<string name="error_can_not_handle_uri">KeePassDX ではこの URI を処理できませんでした。</string>
|
||||
<string name="error_file_not_create">ファイルを作成できませんでした</string>
|
||||
<string name="error_file_not_create">ファイルを作成できませんでした。</string>
|
||||
<string name="error_invalid_db">データベースを読み取れませんでした。</string>
|
||||
<string name="error_invalid_path">パスが正しいことを確認してください。</string>
|
||||
<string name="error_invalid_OTP">無効な OTP シークレットです。</string>
|
||||
@@ -131,7 +131,7 @@
|
||||
<string name="error_otp_period">周期は %1$d 秒から %2$d 秒の間でなければなりません。</string>
|
||||
<string name="error_otp_digits">トークンは %1$d 桁から %2$d 桁でなければなりません。</string>
|
||||
<string name="error_string_type">このテキストは指定された項目と整合しません。</string>
|
||||
<string name="error_registration_read_only">新しい項目の保存は読み取り専用のデータベースでは許可されていません</string>
|
||||
<string name="error_registration_read_only">新しい項目の保存は読み取り専用のデータベースでは許可されていません。</string>
|
||||
<string name="field_name">フィールド名</string>
|
||||
<string name="field_value">フィールドの値</string>
|
||||
<string name="file_not_found_content">ファイルが見つかりませんでした。ファイル ブラウザから再度開いてみてください。</string>
|
||||
@@ -262,12 +262,12 @@
|
||||
<string name="warning_empty_keyfile">空のキーファイルを追加することは推奨されません。</string>
|
||||
<string name="warning_empty_keyfile_explanation">キーファイルの内容は決して変更してはいけません。また万全を期すにはランダムに生成されたデータを含んでいるべきです。</string>
|
||||
<string name="version_label">バージョン %1$s</string>
|
||||
<string name="build_label">Build %1$s</string>
|
||||
<string name="build_label">ビルド %1$s</string>
|
||||
<string name="configure_biometric">生体情報またはデバイス認証情報が未登録です。</string>
|
||||
<string name="biometric_security_update_required">生体認証セキュリティの更新が必要です。</string>
|
||||
<string name="keystore_not_accessible">キーストアが正しく初期化されていません。</string>
|
||||
<string name="encrypted_value_stored">保存された暗号化済みパスワード</string>
|
||||
<string name="unavailable">データベースの保存済み認証情報はありません。</string>
|
||||
<string name="unavailable">利用不可</string>
|
||||
<string name="database_history">履歴</string>
|
||||
<string name="menu_appearance_settings">デザイン</string>
|
||||
<string name="biometric">生体認証</string>
|
||||
@@ -401,7 +401,7 @@
|
||||
<string name="delete_entered_password_title">パスワードの削除</string>
|
||||
<string name="delete_entered_password_summary">入力されたパスワードをデータベースへの接続試行後に削除します</string>
|
||||
<string name="enable_read_only_title">書き込み禁止</string>
|
||||
<string name="enable_read_only_summary">デフォルトではデータベースを読み取り専用で開きます</string>
|
||||
<string name="enable_read_only_summary">デフォルトでデータベースを読み取り専用として開きます</string>
|
||||
<string name="enable_auto_save_database_title">データベースの自動保存</string>
|
||||
<string name="enable_auto_save_database_summary">重要なアクションを起こすたびにデータベースを保存します( [変更可能] モードのとき)</string>
|
||||
<string name="enable_education_screens_title">教育的なヒント</string>
|
||||
@@ -445,7 +445,7 @@
|
||||
<string name="html_text_ad_free">多くのパスワード管理アプリとは異なり、このアプリは<strong>広告なし</strong>かつ<strong>コピーレフトの自由ソフトウェア</strong>です。どのバージョンを使っても、サーバー上で個人情報が収集されることはありません。</string>
|
||||
<string name="html_text_buy_pro">Pro バージョンを購入すると、この<strong>ビジュアル スタイル</strong>にアクセスできるようになり、また<strong>コミュニティ プロジェクトの実現</strong>を特に支援できます。</string>
|
||||
<string name="html_text_feature_generosity">この<strong>ビジュアル スタイル</strong>はあなたの厚意により利用可能となります。</string>
|
||||
<string name="html_text_donation">自由を維持し活発に開発し続けるために、私たちはあなたの<strong>貢献</strong>に期待しています。</string>
|
||||
<string name="html_text_donation"><strong>プロジェクトに貢献</strong>することによって(お金、コード、翻訳など)、プロジェクトは継続して成長することができ、さらに<strong>テーマ</strong>のアンロック手続きにも参加できるようになります。</string>
|
||||
<string name="html_text_dev_feature">この機能は<strong>開発中</strong>であり、早期に提供するにはあなたの<strong>貢献</strong>が必要です。</string>
|
||||
<string name="html_text_dev_feature_buy_pro"><strong>pro</strong> バージョンを購入することによる、</string>
|
||||
<string name="html_text_dev_feature_contibute"><strong>貢献</strong>による、</string>
|
||||
@@ -491,17 +491,16 @@
|
||||
<string name="device_credential">デバイス認証情報</string>
|
||||
<string name="credential_before_click_advanced_unlock_button">パスワードを入力し、このボタンをタップします。</string>
|
||||
<string name="advanced_unlock_prompt_not_initialized">デバイスのロック解除プロンプトを初期化できません。</string>
|
||||
<string name="advanced_unlock_scanning_error">デバイスのロック解除エラー: %1$s</string>
|
||||
<string name="advanced_unlock_invalid_key">デバイスのロック解除キーを読み取ることができません。削除して、ロック解除認識手順を繰り返してください。</string>
|
||||
<string name="advanced_unlock_prompt_extract_credential_message">デバイスのロック解除データを使用してデータベースの資格情報を抽出する</string>
|
||||
<string name="advanced_unlock_prompt_extract_credential_title">デバイスのロック解除認識</string>
|
||||
<string name="advanced_unlock_prompt_store_credential_message">デバイスのロック解除認識を使用する場合でも、Vault のメイン資格情報を覚えておく必要があります。</string>
|
||||
<string name="advanced_unlock_prompt_store_credential_message">デバイスのロック解除認識を使用する場合でも、保管庫のメイン資格情報を覚えておく必要があります。</string>
|
||||
<string name="advanced_unlock_prompt_store_credential_title">デバイスのロック解除のリンク</string>
|
||||
<string name="select_entry">エントリーを選択</string>
|
||||
<string name="education_advanced_unlock_summary">スキャンした生体情報またはデバイス認証情報にパスワードをリンクして、データベースのロックをすばやく解除します。</string>
|
||||
<string name="education_advanced_unlock_title">デバイスデータベースのロック解除</string>
|
||||
<string name="advanced_unlock_timeout">デバイスのロック解除タイムアウト</string>
|
||||
<string name="temp_advanced_unlock_timeout_summary">コンテンツを削除するまでのデバイスのロック解除使用期間</string>
|
||||
<string name="temp_advanced_unlock_timeout_summary">デバイスのロック解除使用後、コンテンツが削除されるまでの期間</string>
|
||||
<string name="temp_advanced_unlock_timeout_title">デバイスのロック解除の有効期限</string>
|
||||
<string name="temp_advanced_unlock_enable_summary">デバイスのロック解除を使用するために暗号化されたコンテンツを保存しないでください</string>
|
||||
<string name="temp_advanced_unlock_enable_title">一時的なデバイスロック解除</string>
|
||||
@@ -534,9 +533,9 @@
|
||||
<string name="import_app_properties_summary">アプリ設定をインポートするファイルを選択</string>
|
||||
<string name="import_app_properties_title">アプリ設定をインポート</string>
|
||||
<string name="properties">プロパティ</string>
|
||||
<string name="error_export_app_properties">アプリ設定のエクスポート中にエラーが発生しました</string>
|
||||
<string name="error_export_app_properties">アプリ設定のエクスポート中にエラーが発生しました。</string>
|
||||
<string name="success_export_app_properties">アプリ設定をエクスポートしました</string>
|
||||
<string name="error_import_app_properties">アプリ設定のインポート中にエラーが発生しました</string>
|
||||
<string name="error_import_app_properties">アプリ設定のインポート中にエラーが発生しました。</string>
|
||||
<string name="success_import_app_properties">アプリ設定をインポートしました</string>
|
||||
<string name="description_app_properties">アプリの設定を管理する KeePassDX のプロパティ</string>
|
||||
<string name="export_app_properties_summary">アプリ設定をエクスポートするためのファイルを作成する</string>
|
||||
@@ -588,16 +587,16 @@
|
||||
<string name="menu_merge_database">データベースの統合</string>
|
||||
<string name="warning_keyfile_integrity">Android は実行中にデータを変更しうるため、ファイルのハッシュ値は保証されません。整合性を正しく保つにはファイルの拡張子を.binに変更してください。</string>
|
||||
<string name="permission">権限</string>
|
||||
<string name="enable_keep_screen_on_title">画面の表示を保つ</string>
|
||||
<string name="enable_keep_screen_on_summary">エントリーを開いているときは画面をオンのままにします</string>
|
||||
<string name="enable_keep_screen_on_title">画面を常にオンにする</string>
|
||||
<string name="enable_keep_screen_on_summary">エントリを閲覧または編集している間、画面をオンに保つ</string>
|
||||
<string name="content_description_database_color">データベース カラー</string>
|
||||
<string name="content_description_entry_foreground_color">エントリーのフォアグラウンド カラー</string>
|
||||
<string name="content_description_entry_background_color">エントリーのバックグラウンド カラー</string>
|
||||
<string name="wireless">Wi-Fi</string>
|
||||
<string name="warning_database_info_reloaded">データベースを再読込すると、ローカルで変更されたデータは破棄されます。</string>
|
||||
<string name="warning_exact_alarm">アプリに正確なアラームの使用を許可していません。その結果、タイマーを必要とする機能が正確な時間で行われなくなります。</string>
|
||||
<string name="warning_exact_alarm">アプリに正確なアラームの使用を許可していません。そのため、タイマーを必要とする機能は正確な時間で実行されません。</string>
|
||||
<string name="show_entry_colors_title">エントリー カラー</string>
|
||||
<string name="show_entry_colors_summary">フォアグラウンド・バックグラウンド カラーをエントリー内に表示します</string>
|
||||
<string name="show_entry_colors_summary">エントリの前景色と背景色を表示する</string>
|
||||
<string name="regex">正規表現</string>
|
||||
<string name="case_sensitive">ケース・センシティブ</string>
|
||||
<string name="content_description_passphrase_word_count">パスフレーズの単語数</string>
|
||||
@@ -633,7 +632,7 @@
|
||||
<string name="word_separator">区切り文字</string>
|
||||
<string name="menu_save_copy_to">コピーを保存…</string>
|
||||
<string name="consider_chars_filter">対象に加える文字</string>
|
||||
<string name="ignore_chars_filter">使用しない文字</string>
|
||||
<string name="ignore_chars_filter">文字を無視する</string>
|
||||
<string name="title_case">語頭を大文字</string>
|
||||
<string name="enable_screenshot_mode_summary">サードパーティのアプリでこのアプリのスクリーンショットを撮れるようにします</string>
|
||||
<string name="enable_screenshot_mode_title">スクリーンショット モード</string>
|
||||
@@ -653,7 +652,7 @@
|
||||
<string name="error_location_unknown">データベースの場所が不明です。データベースへの操作を実行できません。</string>
|
||||
<string name="error_driver_required">%1$s 用のドライバーが必要です。</string>
|
||||
<string name="auto_type">自動入力</string>
|
||||
<string name="error_challenge_already_requested">チャレンジはすでにリクエストされています</string>
|
||||
<string name="error_challenge_already_requested">チャレンジはすでにリクエストされています。</string>
|
||||
<string name="style_name_classic">クラシック</string>
|
||||
<string name="style_name_forest">森</string>
|
||||
<string name="style_name_simple">シンプル</string>
|
||||
@@ -662,18 +661,18 @@
|
||||
<string name="waiting_challenge_request">チャレンジリクエストを待っています…</string>
|
||||
<string name="error_response_already_provided">回答はすでに提供されています。</string>
|
||||
<string name="error_no_response_from_challenge">チャレンジからの応答を取得できません。</string>
|
||||
<string name="error_unable_merge_database_kdb">kdb データベース ファイルとマージできません</string>
|
||||
<string name="error_unable_merge_database_kdb">kdbデータベースファイルとのマージはできません。</string>
|
||||
<string name="menu_advanced_unlock_settings_summary">生体認証、デバイス認証</string>
|
||||
<string name="menu_database_settings_summary">メタデータ、ごみ箱、テンプレート、履歴</string>
|
||||
<string name="menu_security_settings_summary">暗号化、鍵導出機能</string>
|
||||
<string name="master_key_settings_summary">変化、再生</string>
|
||||
<string name="menu_security_settings_summary">暗号化、鍵導出関数</string>
|
||||
<string name="master_key_settings_summary">変更、更新</string>
|
||||
<string name="later">後で</string>
|
||||
<string name="education_validate_entry_title">エントリを検証する</string>
|
||||
<string name="warning_database_info_changed_options_read_only">最新の変更を加えてデータベースを再ロードします。</string>
|
||||
<string name="warning_database_notification_permission">通知権限を使用すると、データベースのステータスを表示し、簡単にアクセスできるボタンでロックすることができます。
|
||||
\n
|
||||
\nこの権限を有効にしないと、別のアプリケーションがフォアグラウンドにある場合、バックグラウンドで開いているデータベースは表示されません。</string>
|
||||
<string name="ask">話す</string>
|
||||
<string name="ask">権限を要求する</string>
|
||||
<string name="merge_success">マージが正常に完了しました</string>
|
||||
<string name="configure">設定する</string>
|
||||
<string name="menu_appearance_settings_summary">テーマ、色、属性</string>
|
||||
@@ -683,12 +682,20 @@
|
||||
<string name="style_name_light">ライト</string>
|
||||
<string name="style_name_sun">サン</string>
|
||||
<string name="style_name_reply">返事</string>
|
||||
<string name="info">インフォ</string>
|
||||
<string name="info">情報</string>
|
||||
<string name="menu_app_settings_summary">検索、ロック、履歴、プロパティ</string>
|
||||
<string name="menu_form_filling_settings_summary">キーボード、オートフィル、クリップボード</string>
|
||||
<string name="menu_form_filling_settings_summary">キーボード、自動入力、クリップボード</string>
|
||||
<string name="warning_copy_permission">クリップボード通知機能を使用するには、通知許可が必要です。</string>
|
||||
<string name="unlock_and_link_biometric">デバイスのロック解除リンク</string>
|
||||
<string name="education_validate_entry_summary">入力内容を検証し、データベースを保存することを忘れないでください。
|
||||
\n
|
||||
\n自動ロックがアクティブ化され、変更を行ったことを忘れると、データが失われる恐れがあります。</string>
|
||||
<string name="generate_keyfile">キーファイルを生成</string>
|
||||
<string name="nodes">ノード</string>
|
||||
<string name="recursive_number_entries_title">再帰的なエントリ数</string>
|
||||
<string name="recursive_number_entries_summary">グループ内のエントリ数を再帰的に計算する</string>
|
||||
<string name="warning_large_keyfile">大きなキー ファイルを追加することは推奨されません。これにより、データベースが開けなくなる可能性があります。</string>
|
||||
<string name="style_name_kunzite">クンツァイト</string>
|
||||
<string name="hide_templates_title">テンプレートを非表示にする</string>
|
||||
<string name="hide_templates_summary">テンプレートは表示されません</string>
|
||||
</resources>
|
||||
@@ -25,7 +25,7 @@
|
||||
<string name="edit_entry">항목 수정</string>
|
||||
<string name="add_group">그룹 추가</string>
|
||||
<string name="encryption">암호화</string>
|
||||
<string name="encryption_algorithm">안호화 방식</string>
|
||||
<string name="encryption_algorithm">암호화 방식</string>
|
||||
<string name="key_derivation_function">키 파생 기능</string>
|
||||
<string name="app_timeout">자동 종료 시간</string>
|
||||
<string name="app_timeout_summary">데이터베이스를 잠그기 전 유휴 시간</string>
|
||||
@@ -64,13 +64,13 @@
|
||||
<string name="entry_user_name">아이디</string>
|
||||
<string name="error_arc4">Arcfour 스트림 암호는 지원되지 않습니다.</string>
|
||||
<string name="error_can_not_handle_uri">KeePassDX에서는 이 URI를 처리할 수 없습니다.</string>
|
||||
<string name="error_file_not_create">파일을 생성할 수 없음</string>
|
||||
<string name="error_file_not_create">파일을 생성할 수 없음.</string>
|
||||
<string name="error_invalid_db">데이터베이스를 읽을 수 없음.</string>
|
||||
<string name="error_invalid_path">경로가 확실한지 확인하십시오.</string>
|
||||
<string name="error_no_name">이름을 입력하십시오.</string>
|
||||
<string name="error_nokeyfile">키 파일을 선택하십시오.</string>
|
||||
<string name="error_out_of_memory">모든 데이터베이스르르 읽을 여유 메모리가 없습니다.</string>
|
||||
<string name="error_load_database">데이터베이스를 로드할 수 없습니다.</string>
|
||||
<string name="error_load_database">데이터베이스를 로드하지 못했습니다.</string>
|
||||
<string name="error_load_database_KDF_memory">키를 로드할 수 없습니다. KDF \"메모리 사용량\"을 줄여 보세요.</string>
|
||||
<string name="error_pass_gen_type">최소 한 가지의 비밀번호 생성 방식이 선택되어야 합니다.</string>
|
||||
<string name="error_pass_match">비밀번호가 일치하지 않습니다.</string>
|
||||
@@ -207,7 +207,7 @@
|
||||
<string name="standard">표준</string>
|
||||
<string name="template">템플렛</string>
|
||||
<string name="entry_otp">OTP</string>
|
||||
<string name="error_registration_read_only">새로운 아이템을 저장하는 것은 읽기 전용 데이터베이스에서 허용되지 않습니다</string>
|
||||
<string name="error_registration_read_only">새로운 아이템을 저장하는 것은 읽기 전용 데이터베이스에서 허용되지 않습니다.</string>
|
||||
<string name="error_database_uri_null">데이터베이스 URI를 검색할 수 없습니다.</string>
|
||||
<string name="entry_UUID">UUID</string>
|
||||
<string name="holder">홀더</string>
|
||||
@@ -256,7 +256,7 @@
|
||||
<string name="success_import_app_properties">앱 속성을 가져왔습니다.</string>
|
||||
<string name="kdf_explanation">암호화 알고리즘 용 키를 생성하기 위해, 마스터키는 임의의 솔트(salt) 키 파생 함수를 사용하여 변환됩니다.</string>
|
||||
<string name="warning">경고</string>
|
||||
<string name="error_challenge_already_requested">이미 요청된 시도입니다</string>
|
||||
<string name="error_challenge_already_requested">이미 요청된 시도입니다.</string>
|
||||
<string name="error_XML_malformed">XML 양식이 틀어짐.</string>
|
||||
<string name="error_upload_file">파일 데이터를 업로드하는 중 오류가 발생했습니다.</string>
|
||||
<string name="error_response_already_provided">이미 응답했습니다.</string>
|
||||
@@ -281,7 +281,7 @@
|
||||
<string name="selection_mode">선택 모드</string>
|
||||
<string name="remember_hardware_key_title">하드웨어 키를 기억</string>
|
||||
<string name="export_app_properties_summary">앱 속성을 내보낼 파일을 생성</string>
|
||||
<string name="error_import_app_properties">앱 속성을 가져오던 중 오류 발생</string>
|
||||
<string name="error_import_app_properties">앱 속성을 가져오던 중 오류 발생.</string>
|
||||
<string name="contains_duplicate_uuid">데이터베이스가 중복된 UUID를 포함하고 있습니다.</string>
|
||||
<string name="remember_database_locations_summary">데이터 베이스가 저장된 곳을 추적</string>
|
||||
<string name="remember_keyfile_locations_title">키 파일 위치를 기억</string>
|
||||
@@ -326,7 +326,7 @@
|
||||
<string name="warning_database_link_revoked">파일에 대한 접근이 파일 관리자에 의해 철회되었습니다.</string>
|
||||
<string name="hide_broken_locations_title">파손된 데이터페이스 링크를 감춤</string>
|
||||
<string name="import_app_properties_title">앱 속성을 가져오기</string>
|
||||
<string name="error_export_app_properties">앱 속성을 내보내던 중 오류 발생</string>
|
||||
<string name="error_export_app_properties">앱 속성을 내보내던 중 오류 발생.</string>
|
||||
<string name="rounds">변환 차수</string>
|
||||
<string name="parallelism_explanation">키 파생 함수에 사용되는 병렬 처리 수준 (즉, 스레드의 갯수)</string>
|
||||
<string name="html_about_privacy"><strong>사용자 데이터를 받아오지 않습니다.</strong> 어떤 서버에도 연결하지 않고 로컬로만 동작하며 사용자의 사생활(프라이버시)를 최우선시합니다.</string>
|
||||
@@ -349,4 +349,46 @@
|
||||
<string name="invalid_db_same_uuid">%1$s 와 동일한 UUID %2$s 가 이미 존재합니다.</string>
|
||||
<string name="underline">밑줄</string>
|
||||
<string name="unsupported_db_version">지원하지 않는 데이터베이스 버전입니다.</string>
|
||||
<string name="permission">허용</string>
|
||||
<string name="menu_appearance_settings">테마</string>
|
||||
<string name="biometric">생체 인증</string>
|
||||
<string name="device_credential">기기 자격 증명</string>
|
||||
<string name="generate_keyfile">키 파일 생성하기</string>
|
||||
<string name="menu_form_filling_settings_summary">키보드, 자동 완성, 클립보드</string>
|
||||
<string name="menu_app_settings_summary">검색, 잠금, 기록, 속성</string>
|
||||
<string name="merge_success">병합을 성공했습니다</string>
|
||||
<string name="version_label">버전 %1$s</string>
|
||||
<string name="encrypted_value_stored">암호화된 비밀번호가 저장되었습니다</string>
|
||||
<string name="info">정보</string>
|
||||
<string name="build_label">빌드 %1$s</string>
|
||||
<string name="configure_biometric">생체 인식 또는 장치 자격 증명이 등록되지 않았습니다.</string>
|
||||
<string name="properties">속성</string>
|
||||
<string name="menu_appearance_settings_summary">테마, 색상, 속성</string>
|
||||
<string name="autofill">자동 입력</string>
|
||||
<string name="credential_before_click_advanced_unlock_button">비밀번호 입력 후 이 버튼을 눌러주세요</string>
|
||||
<string name="unavailable">사용할 수 없습니다</string>
|
||||
<string name="database_history">기록</string>
|
||||
<string name="type">유형</string>
|
||||
<string name="configure">설정</string>
|
||||
<string name="biometric_security_update_required">등록된 생체정보를 업데이트해 주세요.</string>
|
||||
<string name="autofill_select_entry">항목을 선택하세요</string>
|
||||
<string name="clipboard">클립보드</string>
|
||||
<string name="clipboard_notifications_title">클립보드 알림</string>
|
||||
<string name="lock_database_screen_off_summary">화면이 꺼지면 몇 초 후에 데이터베이스를 잠급니다.</string>
|
||||
<string name="lock_database_back_root_title">\'뒤로가기\'를 눌러 잠금</string>
|
||||
<string name="unavailable_feature_text">이 기능을 사용할 수 없습니다.</string>
|
||||
<string name="lock_database_show_button_summary">UI에 잠금버튼을 표시합니다</string>
|
||||
<string name="lock_database_back_root_summary">사용자가 뒤로 가기 버튼을 누르면 데이터베이스를 잠급니다</string>
|
||||
<string name="lock_database_show_button_title">잠금 버튼 표시</string>
|
||||
<string name="unlock">잠금 해제</string>
|
||||
<string name="lock">잠금</string>
|
||||
<string name="autofill_sign_in_prompt">KeePassDX로 로그인</string>
|
||||
<string name="password_size_title">생성된 비밀번호 크기</string>
|
||||
<string name="autofill_preference_title">자동 완성 설정</string>
|
||||
<string name="set_autofill_service_title">기본 자동완성 서비스 설정</string>
|
||||
<string name="lock_database_screen_off_title">화면 꺼짐 시 잠금</string>
|
||||
<string name="advanced_unlock_explanation_summary">기기 잠금 방식을 사용하여 데이터베이스를 더 쉽게 여세요</string>
|
||||
<string name="biometric_unlock_enable_title">생체 인식 잠금 해제</string>
|
||||
<string name="biometric_unlock_enable_summary">생체 인식을 사용하여 데이터베이스를 열수 있습니다</string>
|
||||
<string name="biometric_delete_all_key_title">암호화 키 삭제</string>
|
||||
</resources>
|
||||
@@ -146,7 +146,7 @@
|
||||
<string name="error_pass_gen_type">Turi būti pasirinktas bent vienas slaptažodžio generavimo tipas.</string>
|
||||
<string name="create_keepass_file">Sukurti naują saugyklą</string>
|
||||
<string name="content_description_database_color">Duomenų bazės spalva</string>
|
||||
<string name="error_file_not_create">Nepavyko sukurti failo</string>
|
||||
<string name="error_file_not_create">Nepavyko sukurti failo.</string>
|
||||
<string name="error_load_database_KDF_memory">Nepavyko įkelti rakto. Pabandykite sumažinti KDF \"Atminties naudojimas\".</string>
|
||||
<string name="content_description_entry_icon">Įrašo piktograma</string>
|
||||
<string name="content_description_file_information">Failo info</string>
|
||||
@@ -229,7 +229,7 @@
|
||||
<string name="international_bank_account_number">IBAN</string>
|
||||
<string name="template">Šablonas</string>
|
||||
<string name="place_of_issue">Išdavimo vieta</string>
|
||||
<string name="error_registration_read_only">Įrašyti naują elementą neleidžiama tik skaitymui skirtoje duomenų bazėje</string>
|
||||
<string name="error_registration_read_only">Įrašyti naują elementą neleidžiama tik skaitymui skirtoje duomenų bazėje.</string>
|
||||
<string name="error_upload_file">Įkeliant failo duomenis įvyko klaida.</string>
|
||||
<string name="content_description_entry_foreground_color">Įrašo pirmojo plano spalva</string>
|
||||
<string name="content_description_entry_background_color">Įrašo fono spalva</string>
|
||||
@@ -331,7 +331,7 @@
|
||||
<string name="search_mode">Paieškos režimas</string>
|
||||
<string name="save_mode">Įrašymo režimas</string>
|
||||
<string name="success_import_app_properties">Programėlės nustatymai importuoti</string>
|
||||
<string name="error_import_app_properties">Įvyko klaida programėlės nustatymų importo metu</string>
|
||||
<string name="error_import_app_properties">Įvyko klaida programėlės nustatymų importo metu.</string>
|
||||
<string name="success_export_app_properties">Programėlės nustatymai eksportuoti</string>
|
||||
<string name="menu_cancel">Atšaukti</string>
|
||||
<string name="menu_save_copy_to">Įrašyti kopiją į …</string>
|
||||
@@ -345,7 +345,7 @@
|
||||
<string name="sort_creation_time">Sukūrimas</string>
|
||||
<string name="export_app_properties_summary">Sukurkite failą programėlės nustatymų eksportui</string>
|
||||
<string name="description_app_properties">KeePassDX savybės programėlės nustatymams valdyti</string>
|
||||
<string name="error_export_app_properties">Įvyko klaida programėlės nustatymų eksporto metu</string>
|
||||
<string name="error_export_app_properties">Įvyko klaida programėlės nustatymų eksporto metu.</string>
|
||||
<string name="memory_usage">Atminties naudojimas</string>
|
||||
<string name="recycle_bin_group_title">Šiukšliadėžės grupė</string>
|
||||
<string name="menu_master_key_settings">Pagrindinio rakto nustatymai</string>
|
||||
@@ -372,8 +372,8 @@
|
||||
<string name="lock_database_show_button_summary">Naudotojo sąsajoje rodomas užrakto mygtukas</string>
|
||||
<string name="advanced_unlock">Įrenginio atrakinimas</string>
|
||||
<string name="info">Informacija</string>
|
||||
<string name="error_challenge_already_requested">Iššūkis jau prašytas</string>
|
||||
<string name="error_unable_merge_database_kdb">Neįmanoma apjungti su duomenų baze V1</string>
|
||||
<string name="error_challenge_already_requested">Iššūkis jau prašytas.</string>
|
||||
<string name="error_unable_merge_database_kdb">Neįmanoma apjungti su duomenų baze V1.</string>
|
||||
<string name="error_location_unknown">Duomenų bazės vieta nežinoma, duomenų bazės veiksmo atlikti negalima.</string>
|
||||
<string name="error_empty_key">Raktas negali būti tuščias.</string>
|
||||
<string name="corrupted_file">Sugadintas failas.</string>
|
||||
@@ -395,7 +395,6 @@
|
||||
<string name="configure">Konfigūruoti</string>
|
||||
<string name="biometric_security_update_required">Reikalingas biometrinių duomenų saugumo atnaujinimas.</string>
|
||||
<string name="advanced_unlock_prompt_store_credential_message">Jei naudojate įrenginio atrakinimo atpažinimą, vis tiek turite prisiminti pagrindinį saugyklos raktą</string>
|
||||
<string name="advanced_unlock_scanning_error">Įrenginio atrakinimo klaida: %1$s</string>
|
||||
<string name="database_history">Istorija</string>
|
||||
<string name="properties">Nustatymai</string>
|
||||
<string name="menu_appearance_settings_summary">Temos, spalvos, atributai</string>
|
||||
|
||||
@@ -24,22 +24,22 @@
|
||||
<string name="add_entry">Jauns ieraksts</string>
|
||||
<string name="add_group">Jauna grupa</string>
|
||||
<string name="encryption_algorithm">Šifrēšanas algoritms</string>
|
||||
<string name="app_timeout">Pielikuma taimauts</string>
|
||||
<string name="app_timeout">Neaktivitātes laiks</string>
|
||||
<string name="app_timeout_summary">Bloķēšanas taimauts, kad programma nav aktīva</string>
|
||||
<string name="application">Programma</string>
|
||||
<string name="application">Lietotne</string>
|
||||
<string name="menu_app_settings">Programmas iestatījumi</string>
|
||||
<string name="brackets">Iekavas</string>
|
||||
<string name="file_manager_install_description">Failu pārlūkošanai nepieciešams pārlūks.</string>
|
||||
<string name="clipboard_cleared">Starpliktuve notīrīta</string>
|
||||
<string name="clipboard_error_title">Starpliktuves kļūda</string>
|
||||
<string name="clipboard_error">Dažiem Samsung tālruņiem ir problēmas ar starpliktuves lietošanu. Lai saņemtu sīkāku informāciju, dodieties uz:</string>
|
||||
<string name="clipboard_error_clear">Starpliktuves tīrīšana neizdevās</string>
|
||||
<string name="clipboard_error">Dažas ierīces neļauj lietotnēm izmantot starpliktuvi.</string>
|
||||
<string name="clipboard_error_clear">Nevarēja notīrīt starpliktuvi</string>
|
||||
<string name="clipboard_timeout">Starpliktuves taimauts</string>
|
||||
<string name="clipboard_timeout_summary">Notīrīšanas taimauts pēc lietotājvārda vai paroles kopēšana starpliktuvē</string>
|
||||
<string name="select_to_copy">%1$s uz starpliktuvi</string>
|
||||
<string name="retrieving_db_key">Izveido datu bāzes atslēgu…</string>
|
||||
<string name="database">Datu bāze</string>
|
||||
<string name="decrypting_db">Atšifrē datu bāzes saturu…</string>
|
||||
<string name="decrypting_db">Atšifrē datubāzes saturu…</string>
|
||||
<string name="default_checkbox">Izmantot šo kā manu noklusējuma datu bāzi</string>
|
||||
<string name="digits">Cipari</string>
|
||||
<string name="select_database_file">Ievadiet datu bāzes nosaukumu</string>
|
||||
@@ -55,28 +55,28 @@
|
||||
<string name="save">Saglabāt</string>
|
||||
<string name="entry_title">Vārds</string>
|
||||
<string name="entry_url">URL</string>
|
||||
<string name="entry_user_name">Lietotāja vārds</string>
|
||||
<string name="entry_user_name">Lietotājvārds</string>
|
||||
<string name="error_arc4">Arcfour plūsmas šifrs netiek atbalstīts.</string>
|
||||
<string name="error_can_not_handle_uri">Neizdevās pātiet uz norādīto adresi.</string>
|
||||
<string name="error_file_not_create">Neizdevās izveidot failu</string>
|
||||
<string name="error_invalid_db">Nederīga datu bāze.</string>
|
||||
<string name="error_invalid_db">Nevarēja nolasīt datubāzi.</string>
|
||||
<string name="error_invalid_path">Nederīgs ceļš.</string>
|
||||
<string name="error_no_name">Vajag ievadīt faila nosaukumu</string>
|
||||
<string name="error_nokeyfile">Vajadzīga parole vai atslēgas fails.</string>
|
||||
<string name="error_no_name">Ievadiet nosaukumu.</string>
|
||||
<string name="error_nokeyfile">Atlasiet atslēgas failu.</string>
|
||||
<string name="error_out_of_memory">Darbam ar datu bāzi, tālrunī nepietiek atmiņas.</string>
|
||||
<string name="error_pass_gen_type">Ir jāatlasa vismaz viens paroles ģenerēšanas tips</string>
|
||||
<string name="error_pass_gen_type">Ir jāatlasa vismaz viens paroles ģenerēšanas veids.</string>
|
||||
<string name="error_pass_match">Paroles nesakrīt.</string>
|
||||
<string name="error_rounds_too_large">Līmenis pārāk liels. Maksimālais 2147483648</string>
|
||||
<string name="error_rounds_too_large">\"Šifrēšanas kārtas\" vērtība ir pārāk liela. Iestata uz 2147483648.</string>
|
||||
<string name="error_string_key">A field name is required for each string.</string>
|
||||
<string name="error_wrong_length">Norādiet garumu lielāku par nulli</string>
|
||||
<string name="error_wrong_length">Ievadiet pozitīvu veselu skaitli \"Garums\" laukā.</string>
|
||||
<string name="field_name">Lauka nosaukums</string>
|
||||
<string name="field_value">Lauka vērtība</string>
|
||||
<string name="file_browser">Failu pārlūks</string>
|
||||
<string name="generate_password">Ģenerēt Paroli</string>
|
||||
<string name="file_browser">Failu pārvaldnieks</string>
|
||||
<string name="generate_password">Ģenerēt paroli</string>
|
||||
<string name="hint_conf_pass">apstipriniet paroli</string>
|
||||
<string name="hint_generated_password">ģenerēt paroli</string>
|
||||
<string name="hint_generated_password">Ģenerēta parole</string>
|
||||
<string name="hint_group_name">Grupas nosaukums</string>
|
||||
<string name="hint_keyfile">atslēgas fails</string>
|
||||
<string name="hint_keyfile">Atslēgas fails</string>
|
||||
<string name="hint_length">garums</string>
|
||||
<string name="hint_pass">parole</string>
|
||||
<string name="password">Parole</string>
|
||||
@@ -88,7 +88,7 @@
|
||||
<string name="list_size_title">Grupu saraksta teksta izmērs</string>
|
||||
<string name="list_size_summary">Teksta izmērs ierakstos un grupu sarakstos</string>
|
||||
<string name="loading_database">Ielādēt datu bāzi…</string>
|
||||
<string name="lowercase">Lower-case</string>
|
||||
<string name="lowercase">Mazie burti</string>
|
||||
<string name="hide_password_title">Sēpt paroles</string>
|
||||
<string name="hide_password_summary">Sēpt paroles *****</string>
|
||||
<string name="about">Par</string>
|
||||
@@ -124,7 +124,7 @@
|
||||
<string name="unsupported_db_version">Neatbalstīta datu bāzes versija.</string>
|
||||
<string name="uppercase">Lielie burti</string>
|
||||
<string name="version_label">Versija %1$s</string>
|
||||
<string name="education_unlock_summary">Ievadiet paroli/atslēgas failu, lai atbloķētu savu datu bāzi.</string>
|
||||
<string name="education_unlock_summary">Ievadiet paroli un/vai atslēgas failu, lai atbloķētu datubāzi.\n\nNeaizmirstiet pēc katras izmaiņas saglabāt datubāzes faila rezerves kopiju drošā vietā.</string>
|
||||
<string-array name="list_size_options">
|
||||
<item>Mazs</item>
|
||||
<item>Vidējs</item>
|
||||
@@ -134,5 +134,69 @@
|
||||
<string name="encryption">Šifrēšana</string>
|
||||
<string name="extended_ASCII">Paplašinātais ASCII</string>
|
||||
<string name="allow">Atļaut</string>
|
||||
<string name="html_about_licence">KeePassDX © %1$d Kunzisoft nāk bez jebkādas garantijas. Šī ir bezmaksas programmatūra un jūs to varat izplatīt apstākļos, kas aprakstīti GPL 3 versijā vai jaunākā.</string>
|
||||
<string name="html_about_licence">KeePassDX © %1$d Kunzisoft — <strong>atvērtā pirmkoda</strong> lietotne <strong>bez reklāmām</strong>.\nTā tiek izplatīta tāda, kāda tā ir, saskaņā ar <strong>GPLv3</strong> licenci bez jebkādām garantijām.</string>
|
||||
<string name="menu_copy">Kopēt</string>
|
||||
<string name="education_lock_title">Bloķēt datubāzi</string>
|
||||
<string name="character_count">Rakstzīmju skaits: %1$d</string>
|
||||
<string name="clipboard">Starpliktuve</string>
|
||||
<string name="notification">Paziņojums</string>
|
||||
<string name="parallelism">Paralēlisma līmenis, Vienlaicīga apstrāde, Paralēla darbība</string>
|
||||
<string name="warning">Brīdinājums</string>
|
||||
<string name="content">Saturs</string>
|
||||
<string name="compression_gzip">Gzip</string>
|
||||
<string name="otp_digits">Cipari</string>
|
||||
<string name="download">Lejupielādēt</string>
|
||||
<string name="disable">Atspējot</string>
|
||||
<string name="text_appearance">Teksts</string>
|
||||
<string name="file_name">Datnes nosaukums</string>
|
||||
<string name="unit_gibibyte">GiB</string>
|
||||
<string name="application_appearance">Saskarne</string>
|
||||
<string name="enable">Iespējot</string>
|
||||
<string name="menu_appearance_settings">Izskats</string>
|
||||
<string name="unit_byte">B</string>
|
||||
<string name="sort_menu">Kārtot pēc</string>
|
||||
<string name="sort_last_access_time">Piekļuves datuma</string>
|
||||
<string name="hide_templates_title">Paslēpt veidnes</string>
|
||||
<string name="otp_algorithm">Algoritms</string>
|
||||
<string name="contact">Kontakti</string>
|
||||
<string name="security">Drošība</string>
|
||||
<string name="key_derivation_function">Atslēgu ģenerēšanas funkcija</string>
|
||||
<string name="entry_history">Vēsture</string>
|
||||
<string name="entry_attachments">Pielikumi</string>
|
||||
<string name="current_group">Pašreizējā grupa</string>
|
||||
<string name="case_sensitive">Reģistrjutīgs</string>
|
||||
<string name="sort_username">Lietotājvārda</string>
|
||||
<string name="sort_creation_time">Izveidošanas datuma</string>
|
||||
<string name="sort_last_modify_time">Modificēšanas datuma</string>
|
||||
<string name="lock">Bloķēšana</string>
|
||||
<string name="icon_pack_choose_summary">Ikonu komplekts, ko izmantot lietotnē</string>
|
||||
<string name="database_history">Vēsture</string>
|
||||
<string name="keyboard_keys_category">Taustiņi</string>
|
||||
<string name="style_name_forest">Mežs</string>
|
||||
<string name="style_name_divine">Dievišķīgs</string>
|
||||
<string name="style_name_classic">Klasisks</string>
|
||||
<string name="style_name_follow_system">Kā sistēmā iestatīts</string>
|
||||
<string name="autofill">Automātiskā aizpildīšana</string>
|
||||
<string name="info">Informācija</string>
|
||||
<string name="menu_move">Pārvietot</string>
|
||||
<string name="menu_paste">Ielīmēt</string>
|
||||
<string name="menu_cancel">Atcelt</string>
|
||||
<string name="sort_title">Nosaukuma</string>
|
||||
<string name="style_choose_title">Lietotnes motīvs</string>
|
||||
<string name="style_choose_summary">Motīvs, ko izmantot lietotnē</string>
|
||||
<string name="style_brightness_title">Motīva spilgtums</string>
|
||||
<string name="icon_pack_choose_title">Ikonu komplekts</string>
|
||||
<string name="data">Dati</string>
|
||||
<string name="keyboard">Tastatūra</string>
|
||||
<string name="keyboard_appearance_category">Izskats</string>
|
||||
<string name="backspace">Atpakaļatkāpes taustiņš</string>
|
||||
<string name="unit_kibibyte">KiB</string>
|
||||
<string name="unit_mebibyte">MiB</string>
|
||||
<string name="download_canceled">Atcelts!</string>
|
||||
<string name="entropy">Entropija: %1$s biti</string>
|
||||
<string name="entropy_high">Entropija: Augsta</string>
|
||||
<string name="style_name_simple">Vienkāršs</string>
|
||||
<string name="style_name_moon">Mēness</string>
|
||||
<string name="style_name_sun">Saule</string>
|
||||
<string name="style_name_reply">Atbilde</string>
|
||||
</resources>
|
||||
38
app/src/main/res/values-mk/strings.xml
Normal file
38
app/src/main/res/values-mk/strings.xml
Normal file
@@ -0,0 +1,38 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<string name="contact">Контакт</string>
|
||||
<string name="info">Инфо:</string>
|
||||
<string name="contribution">Придонес</string>
|
||||
<string name="feedback">Повратни информации</string>
|
||||
<string name="homepage">Дома</string>
|
||||
<string name="about_description">Имплементација на менаџерот за лозинки KeePass за Android</string>
|
||||
<string name="accept">Прифати</string>
|
||||
<string name="edit_entry">Уреди запис</string>
|
||||
<string name="add_group">Додади група</string>
|
||||
<string name="master_key">Главен клуч</string>
|
||||
<string name="security">Безбедност</string>
|
||||
<string name="encryption">Енкрипција</string>
|
||||
<string name="encryption_algorithm">Енкрипциски алгоритам</string>
|
||||
<string name="key_derivation_function">Функција за изведување на клучеви</string>
|
||||
<string name="app_timeout">Истекување на времето</string>
|
||||
<string name="app_timeout_summary">Време на мирување пред заклучување на базата</string>
|
||||
<string name="application">Апликација</string>
|
||||
<string name="brackets">Загради</string>
|
||||
<string name="extended_ASCII">Проширен ASCII</string>
|
||||
<string name="file_manager_install_description">За креирање, отворање и зачувување на датотеки од базата е потребен менаџер на датотеки што ги прифаќа ACTION_CREATE_DOCUMENT и ACTION_OPEN_DOCUMENT.</string>
|
||||
<string name="allow">Дозволи</string>
|
||||
<string name="clipboard_cleared">Clipboard исчистенa</string>
|
||||
<string name="clipboard_error_title">Clipboard проблем</string>
|
||||
<string name="clipboard_error">Некои уреди не дозволуваат апликациите да ја користат clipboard.</string>
|
||||
<string name="clipboard_error_clear">Не може да се исчисти clipboard</string>
|
||||
<string name="clipboard_timeout">Clipboard тајмаут</string>
|
||||
<string name="clipboard_timeout_summary">Времетраење на складирањето во clipboard (доколку е поддржано од вашиот уред)</string>
|
||||
<string name="content_description_background">Позадина</string>
|
||||
<string name="content_description_open_file">Отвори датотека</string>
|
||||
<string name="content_description_node_children">Поддеца</string>
|
||||
<string name="content_description_add_node">Додај јазол</string>
|
||||
<string name="content_description_add_entry">Додај запис</string>
|
||||
<string name="content_description_add_group">Додади група</string>
|
||||
<string name="content_description_add_item">Додај ставка</string>
|
||||
<string name="content_description_file_information">Информации за датотеката</string>
|
||||
</resources>
|
||||
@@ -76,7 +76,7 @@
|
||||
<string name="error_save_database">ഡാറ്റാബേസ് സംരക്ഷിക്കാൻ കഴിഞ്ഞില്ല.</string>
|
||||
<string name="error_pass_match">പാസ്വേഡുകൾ പൊരുത്തപ്പെടുന്നില്ല.</string>
|
||||
<string name="error_no_name">ഒരു പേര് നൽകുക.</string>
|
||||
<string name="error_file_not_create">ഫയൽ സൃഷ്ടിക്കാൻ കഴിഞ്ഞില്ല</string>
|
||||
<string name="error_file_not_create">ഫയൽ സൃഷ്ടിക്കാൻ കഴിഞ്ഞില്ല.</string>
|
||||
<string name="error_invalid_db">ഡാറ്റാബേസ് വായിക്കാൻ സാധിച്ചില്ല.</string>
|
||||
<string name="entry_user_name">ഉപയോക്തൃനാമം</string>
|
||||
<string name="entry_url">URL</string>
|
||||
@@ -376,7 +376,7 @@
|
||||
<string name="warning_empty_recycle_bin">റീസൈക്കിൾ ബിന്നിൽ നിന്ന് എല്ലാ നോഡുകളും ശാശ്വതമായി ഇല്ലാതാക്കണോ\?</string>
|
||||
<string name="registration_mode">രജിസ്ട്രേഷൻ മോഡ്</string>
|
||||
<string name="search_mode">തിരയൽ മോഡ്</string>
|
||||
<string name="error_registration_read_only">read-only ഡാറ്റാബേസിൽ പുതിയ ഒരു ഇനം സംരക്ഷിക്കാൻ കഴിയില്ല</string>
|
||||
<string name="error_registration_read_only">read-only ഡാറ്റാബേസിൽ പുതിയ ഒരു ഇനം സംരക്ഷിക്കാൻ കഴിയില്ല.</string>
|
||||
<string name="education_advanced_unlock_title">വിപുലമായ ഡാറ്റാബേസ് അൺലോക്ക്</string>
|
||||
<string name="select_entry">എൻട്രി തിരഞ്ഞെടുക്കുക</string>
|
||||
<string name="custom_fields">ഇഷ്ടാനുസൃത ഫീൽഡുകൾ</string>
|
||||
|
||||
@@ -64,7 +64,7 @@
|
||||
<string name="entry_user_name">Brukernavn</string>
|
||||
<string name="error_arc4">Arcfour-strømchifferet støttes ikke.</string>
|
||||
<string name="error_can_not_handle_uri">KeePassDX kan ikke håntere denne URI-en.</string>
|
||||
<string name="error_file_not_create">Kunne ikke opprette fil</string>
|
||||
<string name="error_file_not_create">Kunne ikke opprette fil.</string>
|
||||
<string name="error_invalid_db">Kunne ikke lese databasen.</string>
|
||||
<string name="error_invalid_path">Ugyldig sti.</string>
|
||||
<string name="error_no_name">Et navn er påkrevd.</string>
|
||||
@@ -405,7 +405,6 @@
|
||||
<string name="hide_broken_locations_summary">Skjul ødelagte lenker i listen over nylige databaser</string>
|
||||
<string name="hide_broken_locations_title">Skjul ødelagte databaselenker</string>
|
||||
<string name="autofill_ask_to_save_data_title">Spør om lagring av data</string>
|
||||
<string name="advanced_unlock_scanning_error">Feil ved opplåsing: %1$s</string>
|
||||
<string name="warning_empty_keyfile">Det anbefales ikke å legge til en tom nøkkelfil.</string>
|
||||
<string name="warning_sure_add_file">Legg til filen uansett\?</string>
|
||||
<string name="registration_mode">Registreringsmodus</string>
|
||||
@@ -511,9 +510,9 @@
|
||||
\nDatabasen din kan bli veldig stor og få redusert ytelse med denne opplastingen.</string>
|
||||
<string name="warning_empty_keyfile_explanation">Innholdet i nøkkelfilen bør aldri endre seg, og skal helst inneholde kun tilfeldig generert data.</string>
|
||||
<string name="warning_database_revoked">Tilgang til filen ble tilbakekalt av filbehandleren. Lukk databasen og åpne den igjen fra dens posisjon.</string>
|
||||
<string name="error_import_app_properties">Feil under import av appinnstillinger</string>
|
||||
<string name="error_import_app_properties">Feil under import av appinnstillinger.</string>
|
||||
<string name="success_export_app_properties">Appinnstillinger er eksportert</string>
|
||||
<string name="error_export_app_properties">Feil under eksport av appinnstillinger</string>
|
||||
<string name="error_export_app_properties">Feil under eksport av appinnstillinger.</string>
|
||||
<string name="place_of_issue">Utsteder</string>
|
||||
<string name="cryptocurrency">Kryptovaluta-lommebok</string>
|
||||
<string name="seed">Utgangspunkt</string>
|
||||
@@ -646,7 +645,7 @@
|
||||
<string name="current_group">Nåværende gruppe</string>
|
||||
<string name="case_sensitive">Versalsensitiv</string>
|
||||
<string name="regex">Regulært uttrykk</string>
|
||||
<string name="error_challenge_already_requested">Utfordring allerede forespurt</string>
|
||||
<string name="error_challenge_already_requested">Utfordring allerede forespurt.</string>
|
||||
<string name="error_response_already_provided">Svar er allerede gitt.</string>
|
||||
<string name="error_no_response_from_challenge">Klarer ikke å få svar fra utfordringen.</string>
|
||||
<string name="error_cancel_by_user">Kansellert av bruker.</string>
|
||||
|
||||
@@ -59,7 +59,7 @@
|
||||
<string name="entry_user_name">Gebruikersnaam</string>
|
||||
<string name="error_arc4">De Arcfour stream-versleuteling wordt niet ondersteund.</string>
|
||||
<string name="error_can_not_handle_uri">KeePassDX kan deze URI niet verwerken.</string>
|
||||
<string name="error_file_not_create">Bestand is niet aangemaakt</string>
|
||||
<string name="error_file_not_create">Bestand is niet aangemaakt.</string>
|
||||
<string name="error_invalid_db">Kan de database niet uitlezen.</string>
|
||||
<string name="error_invalid_path">Zorg ervoor dat het pad correct is.</string>
|
||||
<string name="error_no_name">Voer een naam in.</string>
|
||||
@@ -204,7 +204,7 @@
|
||||
<string name="biometric_unlock_enable_title">Ontgrendelen met biometrie</string>
|
||||
<string name="biometric_unlock_enable_summary">Gebruik biometrische herkenning om de database te openen</string>
|
||||
<string name="biometric_delete_all_key_title">Coderingssleutels verwijderen</string>
|
||||
<string name="biometric_delete_all_key_summary">Alle coderingssleutels met betrekking tot apparaat-ontgrendelingsherkenning verwijderen</string>
|
||||
<string name="biometric_delete_all_key_summary">Alle coderingssleutels met betrekking tot apparaatontgrendeling verwijderen</string>
|
||||
<string name="unavailable_feature_text">Kan deze functie niet starten.</string>
|
||||
<string name="unavailable_feature_version">Dit apparaat draait op Android %1$s, maar %2$s of hoger is vereist.</string>
|
||||
<string name="unavailable_feature_hardware">De bijbehorende hardware werd niet gevonden.</string>
|
||||
@@ -272,7 +272,7 @@
|
||||
<string name="html_text_ad_free">In tegenstelling tot veel apps voor wachtwoordbeheer, is deze <strong> reclamevrij</strong>, <strong> vrije software </strong> en verzamelt het geen persoonlijke gegevens op haar servers, ongeacht de versie die je gebruikt.</string>
|
||||
<string name="html_text_buy_pro">Door de pro-versie te kopen krijg je toegang tot dit <strong>visuele thema</strong> en draag je bij aan het <strong>realiseren van gemeenschapsprojecten.</strong></string>
|
||||
<string name="html_text_feature_generosity">Dit <strong>visuele thema</strong> is beschikbaar gemaakt dankzij jouw vrijgevigheid.</string>
|
||||
<string name="html_text_donation">Om altijd vrij en actief te blijven, rekenen we op jouw <strong>bijdrage.</strong></string>
|
||||
<string name="html_text_donation">Door <strong>bij te dragen</strong> aan het project <i>(financieel, code, vertaling)</i>, help je het om te blijven leven en bloeien en kom je bovendien in aanmerking voor het <strong>thema</strong> ontgrendelingsprocedure.</string>
|
||||
<string name="html_text_dev_feature">Deze functie <strong>wordt momenteel ontwikkeld</strong> en kan alleen beschikbaar komen middels jouw <strong>bijdrage</strong>.</string>
|
||||
<string name="html_text_dev_feature_buy_pro">Door de <strong>pro</strong>-versie te kopen,</string>
|
||||
<string name="html_text_dev_feature_contibute">Door <strong>bij te dragen</strong>,</string>
|
||||
@@ -342,7 +342,7 @@
|
||||
<string name="menu_advanced_unlock_settings">Apparaatontgrendeling</string>
|
||||
<string name="biometric">Biometrie</string>
|
||||
<string name="biometric_auto_open_prompt_title">Auto-open suggestie</string>
|
||||
<string name="biometric_auto_open_prompt_summary">Automatisch om apparaat-ontgrendeling vragen als een database hiervoor is ingesteld</string>
|
||||
<string name="biometric_auto_open_prompt_summary">Automatisch om apparaatontgrendeling vragen als een database hiervoor is ingesteld</string>
|
||||
<string name="enable">Inschakelen</string>
|
||||
<string name="disable">Uitschakelen</string>
|
||||
<string name="master_key">Hoofdsleutel</string>
|
||||
@@ -371,7 +371,7 @@
|
||||
<string name="contains_duplicate_uuid_procedure">Probleem oplossen door nieuwe UUID\'s te genereren voor de duplicaten\?</string>
|
||||
<string name="database_opened">Database geopend</string>
|
||||
<string name="clipboard_explanation_summary">Kopieer velden met behulp van het klembord van dit apparaat</string>
|
||||
<string name="advanced_unlock_explanation_summary">Apparaat-ontgrendeling gebruiken om een database eenvoudiger te openen</string>
|
||||
<string name="advanced_unlock_explanation_summary">Apparaatontgrendeling gebruiken om een database eenvoudiger te openen</string>
|
||||
<string name="database_data_compression_title">Gegevenscompressie</string>
|
||||
<string name="database_data_compression_summary">Gegevenscompressie verkleint de omvang van de database</string>
|
||||
<string name="max_history_items_title">Maximum aantal</string>
|
||||
@@ -487,35 +487,34 @@
|
||||
<string name="registration_mode">Registratiemodus</string>
|
||||
<string name="save_mode">Veilige modus</string>
|
||||
<string name="search_mode">Zoekmodus</string>
|
||||
<string name="error_registration_read_only">Het opslaan van een nieuw item is niet toegestaan in een alleen-lezen database</string>
|
||||
<string name="error_registration_read_only">Het opslaan van een nieuw item is niet toegestaan in een alleen-lezen database.</string>
|
||||
<string name="education_advanced_unlock_summary">Koppel je wachtwoord aan je gescande biometrische gegevens of apparaatreferentie om je database snel te ontgrendelen.</string>
|
||||
<string name="education_advanced_unlock_title">Apparaat-ontgrendeling database</string>
|
||||
<string name="education_advanced_unlock_title">Ontgrendeling database op apparaat</string>
|
||||
<string name="enter">Enter</string>
|
||||
<string name="backspace">Backspace</string>
|
||||
<string name="select_entry">Item selecteren</string>
|
||||
<string name="back_to_previous_keyboard">Terug naar vorig toetsenbord</string>
|
||||
<string name="custom_fields">Aangepaste velden</string>
|
||||
<string name="advanced_unlock_delete_all_key_warning">Alle coderingssleutels met betrekking tot apparaat-ontgrendelingsherkenning verwijderen\?</string>
|
||||
<string name="advanced_unlock_timeout">Time-out bij apparaat-ontgrendeling</string>
|
||||
<string name="temp_advanced_unlock_timeout_summary">Duur van apparaat-ontgrendelingsgebruik voordat de inhoud wordt verwijderd</string>
|
||||
<string name="temp_advanced_unlock_timeout_title">Vervaltijd voor apparaat-ontgrendeling</string>
|
||||
<string name="temp_advanced_unlock_enable_summary">Sla geen versleutelde inhoud op om apparaat-ontgrendeling te gebruiken</string>
|
||||
<string name="temp_advanced_unlock_enable_title">Tijdelijke apparaat-ontgrendeling</string>
|
||||
<string name="advanced_unlock_delete_all_key_warning">Alle coderingssleutels met betrekking tot apparaat-ontgrendeling verwijderen?</string>
|
||||
<string name="advanced_unlock_timeout">Time-out bij apparaatontgrendeling</string>
|
||||
<string name="temp_advanced_unlock_timeout_summary">Duur van apparaatontgrendeling voordat de inhoud wordt verwijderd</string>
|
||||
<string name="temp_advanced_unlock_timeout_title">Vervaltijd voor apparaatontgrendeling</string>
|
||||
<string name="temp_advanced_unlock_enable_summary">Sla geen versleutelde inhoud op om apparaatontgrendeling te gebruiken</string>
|
||||
<string name="temp_advanced_unlock_enable_title">Tijdelijke apparaatontgrendeling</string>
|
||||
<string name="device_credential_unlock_enable_summary">Hiermee kan je de referentie van je apparaat gebruiken om de database te openen</string>
|
||||
<string name="device_credential_unlock_enable_title">Ontgrendeling met apparaatreferenties</string>
|
||||
<string name="advanced_unlock_tap_delete">Tik om apparaat-ontgrendelingssleutels te verwijderen</string>
|
||||
<string name="advanced_unlock_tap_delete">Tik om sleutels voor apparaatontgrendeling te verwijderen</string>
|
||||
<string name="content">Inhoud</string>
|
||||
<string name="device_credential">Apparaatreferentie</string>
|
||||
<string name="credential_before_click_advanced_unlock_button">Typ het wachtwoord en klik vervolgens op deze knop.</string>
|
||||
<string name="advanced_unlock_prompt_not_initialized">Kan apparaat-ontgrendelingsprompt niet initialiseren.</string>
|
||||
<string name="advanced_unlock_scanning_error">Apparaat-ontgrendelingsfout: %1$s</string>
|
||||
<string name="advanced_unlock_not_recognized">Kan apparaat-ontgrendelingsafdruk niet herkennen</string>
|
||||
<string name="advanced_unlock_invalid_key">Kan de apparaat-ontgrendelingssleutel niet lezen. Verwijder deze en herhaal de herkenningsprocedure voor het ontgrendelen.</string>
|
||||
<string name="advanced_unlock_prompt_extract_credential_message">Databasegegevens uitpakken met apparaat-ontgrendelingsgegevens</string>
|
||||
<string name="advanced_unlock_prompt_extract_credential_title">Apparaat-ontgrendelingsherkenning</string>
|
||||
<string name="advanced_unlock_prompt_store_credential_message">Je moet nog steeds je hoofdwachtwoord onthouden als je apparaat-ontgrendelingsherkenning gebruikt.</string>
|
||||
<string name="advanced_unlock_prompt_store_credential_title">Koppeling naar Apparaat-ontgrendeling</string>
|
||||
<string name="menu_keystore_remove_key">Apparaat-ontgrendelingssleutel verwijderen</string>
|
||||
<string name="advanced_unlock_prompt_not_initialized">Kan apparaatontgrendeling niet initialiseren.</string>
|
||||
<string name="advanced_unlock_not_recognized">Vingerafdruk niet herkent bij apparaatontgrendeling</string>
|
||||
<string name="advanced_unlock_invalid_key">Kan de sleutel voor apparaatontgrendeling niet lezen. Verwijder deze en herhaal de herkenningsprocedure voor het ontgrendelen.</string>
|
||||
<string name="advanced_unlock_prompt_extract_credential_message">Database uitpakken met gegevens voor apparaatontgrendeling</string>
|
||||
<string name="advanced_unlock_prompt_extract_credential_title">Apparaatontgrendeling</string>
|
||||
<string name="advanced_unlock_prompt_store_credential_message">Je moet nog steeds je hoofdwachtwoord onthouden als je apparaatontgrendeling gebruikt.</string>
|
||||
<string name="advanced_unlock_prompt_store_credential_title">Koppeling naar apparaatontgrendeling</string>
|
||||
<string name="menu_keystore_remove_key">Sleutel voor apparaatontgrendeling verwijderen</string>
|
||||
<string name="error_field_name_already_exists">De veldnaam bestaat al.</string>
|
||||
<string name="unit_gibibyte">GiB</string>
|
||||
<string name="unit_mebibyte">MiB</string>
|
||||
@@ -542,11 +541,11 @@
|
||||
<string name="error_file_to_big">Het te uploaden bestand is te groot.</string>
|
||||
<string name="content_description_otp_information">Eenmalig wachtwoord-informatie</string>
|
||||
<string name="properties">Eigenschappen</string>
|
||||
<string name="error_export_app_properties">Fout bij het exporteren van app-instellingen</string>
|
||||
<string name="error_export_app_properties">Fout bij het exporteren van app-instellingen.</string>
|
||||
<string name="success_export_app_properties">App-instellingen geëxporteerd</string>
|
||||
<string name="error_import_app_properties">Fout bij het importeren van app-instellingen</string>
|
||||
<string name="error_import_app_properties">Fout bij het importeren van app-instellingen.</string>
|
||||
<string name="success_import_app_properties">App-instellingen geïmporteerd</string>
|
||||
<string name="description_app_properties">KeePassDX-eigenschappen om app-instellingen te beheren</string>
|
||||
<string name="description_app_properties">KeePassDX properties to manage app settings</string>
|
||||
<string name="export_app_properties_summary">Bestand voor export van app-instellingen aanmaken</string>
|
||||
<string name="export_app_properties_title">App-instellingen exporteren</string>
|
||||
<string name="import_app_properties_summary">Selecteer een bestand om app-instellingen te importeren</string>
|
||||
@@ -648,7 +647,7 @@
|
||||
<string name="content_description_nav_header">Navigatie-kop</string>
|
||||
<string name="hardware_key">Fysieke sleutel</string>
|
||||
<string name="error_XML_malformed">Misvormde XML.</string>
|
||||
<string name="error_challenge_already_requested">Reactietest-vraag is al uitgegeven</string>
|
||||
<string name="error_challenge_already_requested">Reactietest-vraag is al uitgegeven.</string>
|
||||
<string name="error_response_already_provided">Reactietest-antwoord is al geleverd.</string>
|
||||
<string name="error_no_response_from_challenge">Geen antwoord gekregen op de reactietest.</string>
|
||||
<string name="error_cancel_by_user">Geannuleerd door gebruiker.</string>
|
||||
@@ -660,7 +659,7 @@
|
||||
<string name="enable_screenshot_mode_summary">Toestaan dat andere apps schermopnames maken van deze app</string>
|
||||
<string name="screenshot_mode_banner_text">Schermopname-modus</string>
|
||||
<string name="auto_type">Auto-Type</string>
|
||||
<string name="error_unable_merge_database_kdb">Het is niet mogelijk je database samen te voegen met een kdb database</string>
|
||||
<string name="error_unable_merge_database_kdb">Het is niet mogelijk je database samen te voegen met een kdb database.</string>
|
||||
<string name="error_no_hardware_key">Kies een fysieke sleutel.</string>
|
||||
<string name="remember_hardware_key_summary">Houdt de gebruikte fysieke sleutels bij</string>
|
||||
<string name="html_about_privacy"><strong>Er worden geen gebruikersgegevens opgehaald</strong>, deze applicatie maakt geen verbinding met een server, werkt alleen lokaal en respecteert volledig de privacy van gebruikers.</string>
|
||||
@@ -685,7 +684,7 @@
|
||||
<string name="warning_database_notification_permission">Met de meldingstoestemming kunt u de status van de database weergeven en vergrendelen met een gemakkelijk toegankelijke knop.
|
||||
\n
|
||||
\nAls u deze toestemming niet verleent, is de database die op de achtergrond is geopend niet zichtbaar als er een andere applicatie op de voorgrond staat.</string>
|
||||
<string name="unlock_and_link_biometric">Apparaat-ontgrendelingslink</string>
|
||||
<string name="unlock_and_link_biometric">Koppeling naar apparaatontgrendeling</string>
|
||||
<string name="education_validate_entry_summary">Vergeet niet om de invoer te valideren en de database op te slaan.
|
||||
\n
|
||||
\nWanneer automatische vergrendeling is geactiveerd en u vergeet dat u een wijziging aan het aanbrengen was, dan loopt u het risico gegevens te verliezen.</string>
|
||||
@@ -703,4 +702,11 @@
|
||||
<string name="style_name_follow_system">Systeem volgen</string>
|
||||
<string name="style_name_dark">Donker</string>
|
||||
<string name="warning_database_info_changed_options_read_only">Database opnieuw laden met de jongste wijzigingen.</string>
|
||||
<string name="generate_keyfile">Sleutelbestand genereren</string>
|
||||
<string name="nodes">Knooppunten</string>
|
||||
<string name="hide_templates_summary">Sjablonen blijven verborgen</string>
|
||||
<string name="hide_templates_title">Sjablonen verbergen</string>
|
||||
<string name="recursive_number_entries_title">Recursief aantal items</string>
|
||||
<string name="recursive_number_entries_summary">Berekent recursief het aantal items in een groep</string>
|
||||
<string name="warning_large_keyfile">Het is niet verstandig om een groot sleutelbestand toe te voegen, aangezien dit het openen van de database kan belemmeren.</string>
|
||||
</resources>
|
||||
@@ -19,24 +19,24 @@
|
||||
--><resources>
|
||||
<string name="feedback">Tilbakemelding</string>
|
||||
<string name="homepage">Heimeside</string>
|
||||
<string name="about_description">KeePassDX er ei android-utgåve av KeePass passordstyrar.</string>
|
||||
<string name="about_description">KeePassDX er ei Android-utgåve av KeePass-passordbehandlaren.</string>
|
||||
<string name="accept">Godta</string>
|
||||
<string name="add_entry">Legg til post</string>
|
||||
<string name="add_entry">Legg til oppføring</string>
|
||||
<string name="add_group">Legg til gruppe</string>
|
||||
<string name="encryption_algorithm">Encryption algorithm</string>
|
||||
<string name="app_timeout">Programtidsavbrot</string>
|
||||
<string name="encryption_algorithm">Krypteringsalgoritme</string>
|
||||
<string name="app_timeout">Tidsavbrot</string>
|
||||
<string name="application">App</string>
|
||||
<string name="menu_app_settings">Programinnstillingar</string>
|
||||
<string name="brackets">Parentesar</string>
|
||||
<string name="file_manager_install_description">A file manager that accepts the Intent action ACTION_CREATE_DOCUMENT and ACTION_OPEN_DOCUMENT is needed to create, open and save database files.»</string>
|
||||
<string name="file_manager_install_description">Ein filbehandlar som godtar handlingane ACTION_CREATE_DOCUMENT og ACTION_OPEN_DOCUMENT, er naudsynt for å opprette, opne og lagre databasefiler.</string>
|
||||
<string name="clipboard_cleared">Utklippstavla er tømt.</string>
|
||||
<string name="clipboard_timeout">Tidsavbrot på utklippstavla</string>
|
||||
<string name="clipboard_timeout_summary">Tid før utklippstavla blir tømt etter at brukarnamnet eller passordet er kopiert.</string>
|
||||
<string name="clipboard_timeout">Tidsavbrot for utklippstavla</string>
|
||||
<string name="clipboard_timeout_summary">Tid før utklippstavla blir tømt etter at data er kopiert (viss eininga di støtter det)</string>
|
||||
<string name="select_to_copy">Kopier %1$s til utklippstavla</string>
|
||||
<string name="retrieving_db_key">Lagar databasenøkkelen …</string>
|
||||
<string name="database">Database</string>
|
||||
<string name="decrypting_db">Dekrypterer databasen …</string>
|
||||
<string name="default_checkbox">Standarddatabasen</string>
|
||||
<string name="default_checkbox">Bruk som forvalt database</string>
|
||||
<string name="digits">Tal</string>
|
||||
<string name="html_about_licence">KeePassDX © %1$d Kunzisoft kjem med ingen som helst garanti. Dette er eit fritt program. Du er velkomen til å redistribuera det i samsvar med vilkåra til GPL utgåve 3 eller nyare.</string>
|
||||
<string name="select_database_file">Skriv filnamnet til databasen</string>
|
||||
@@ -51,24 +51,24 @@
|
||||
<string name="entry_password">Passord</string>
|
||||
<string name="save">Lagra</string>
|
||||
<string name="entry_title">Namn</string>
|
||||
<string name="entry_url">Adresse</string>
|
||||
<string name="entry_user_name">Brukaramn</string>
|
||||
<string name="entry_url">Nettadresse</string>
|
||||
<string name="entry_user_name">Brukarnamn</string>
|
||||
<string name="error_arc4">Kan ikkje bruka Arcfour dataflytkryptering.</string>
|
||||
<string name="error_can_not_handle_uri">KeePassDX kan ikkje bruka denne ressursen.</string>
|
||||
<string name="error_file_not_create">Klarte ikkje å laga fila</string>
|
||||
<string name="error_file_not_create">Klarte ikkje å laga fila.</string>
|
||||
<string name="error_invalid_db">Ugyldig database.</string>
|
||||
<string name="error_invalid_path">Ugyldig stig.</string>
|
||||
<string name="error_invalid_path">Pass på at stien er riktig.</string>
|
||||
<string name="error_no_name">Treng eit namn.</string>
|
||||
<string name="error_nokeyfile">Treng eit passord eller ei nøkkelfil.</string>
|
||||
<string name="error_nokeyfile">Vel ei nøkkelfil.</string>
|
||||
<string name="error_out_of_memory">Telefonen gjekk tom for minne ved lesinga av databasen din. Databasen er kanskje for stor.</string>
|
||||
<string name="error_pass_gen_type">Du må velja minst éin passordlagingstype</string>
|
||||
<string name="error_pass_gen_type">Du må velja minst éin passordlagingstype.</string>
|
||||
<string name="error_pass_match">Passorda samsvarer ikkje.</string>
|
||||
<string name="error_rounds_too_large">For mange omgangar. Bruker 2147483648.</string>
|
||||
<string name="error_wrong_length">Bruk eit positivt heiltal i lengdfeltet</string>
|
||||
<string name="error_wrong_length">Bruk eit positivt heiltal i feltet for lengde.</string>
|
||||
<string name="file_browser">Filbehandlar</string>
|
||||
<string name="generate_password">Lag passord</string>
|
||||
<string name="hint_conf_pass">stadfest passordet</string>
|
||||
<string name="hint_generated_password">laga passord</string>
|
||||
<string name="hint_conf_pass">Bekreft passord</string>
|
||||
<string name="hint_generated_password">Laga passord</string>
|
||||
<string name="hint_group_name">Gruppenamn</string>
|
||||
<string name="hint_keyfile">nøkkelfil</string>
|
||||
<string name="hint_length">lengd</string>
|
||||
@@ -81,8 +81,8 @@
|
||||
<string name="list_size_summary">Tekststorleik i gruppelista</string>
|
||||
<string name="loading_database">Lastar databasen …</string>
|
||||
<string name="lowercase">Små bokstavar</string>
|
||||
<string name="hide_password_title">Masker passord</string>
|
||||
<string name="hide_password_summary">Gøym passorda (standardval)</string>
|
||||
<string name="hide_password_title">Skjul passord</string>
|
||||
<string name="hide_password_summary">Skjul passord som forval</string>
|
||||
<string name="about">Om</string>
|
||||
<string name="menu_change_key_settings">Endra hovudnøkkelen</string>
|
||||
<string name="settings">Innstillingar</string>
|
||||
@@ -90,9 +90,9 @@
|
||||
<string name="menu_delete">Slett</string>
|
||||
<string name="menu_donate">Doner</string>
|
||||
<string name="menu_edit">Endra</string>
|
||||
<string name="menu_hide_password">Gøym passordet</string>
|
||||
<string name="menu_lock">Lås databasen</string>
|
||||
<string name="menu_open">Opna</string>
|
||||
<string name="menu_hide_password">Skjul passord</string>
|
||||
<string name="menu_lock">Lås database</string>
|
||||
<string name="menu_open">Opne</string>
|
||||
<string name="menu_search">Søk</string>
|
||||
<string name="menu_showpass">Syn passordet</string>
|
||||
<string name="menu_url">Gå til adressa</string>
|
||||
@@ -102,7 +102,7 @@
|
||||
<string name="no_url_handler">Ingen behandlar for denne adressa.</string>
|
||||
<string name="progress_create">Lager ny database …</string>
|
||||
<string name="progress_title">Arbeider …</string>
|
||||
<string name="content_description_remove_from_list">Ta vekk</string>
|
||||
<string name="content_description_remove_from_list">Fjern</string>
|
||||
<string name="root">Rot</string>
|
||||
<string name="rounds">Krypteringsomgangar</string>
|
||||
<string name="rounds_explanation">Fleire krypteringsomgangar gjev tilleggsvern mot rå makt-åtak, men kan òg gjera lasting og lagring mykje tregare.</string>
|
||||
@@ -121,11 +121,214 @@
|
||||
<item>Middels</item>
|
||||
<item>Stor</item>
|
||||
</string-array>
|
||||
<string name="extended_ASCII">Extended ASCII»</string>
|
||||
<string name="key_derivation_function">Key derivation function</string>
|
||||
<string name="encryption">Encryption</string>
|
||||
<string name="security">Security</string>
|
||||
<string name="master_key">Master key</string>
|
||||
<string name="edit_entry">Edit entry</string>
|
||||
<string name="contact">Contact</string>
|
||||
<string name="extended_ASCII">Utvida ASCII</string>
|
||||
<string name="key_derivation_function">Funksjon for nøkkelavleiing</string>
|
||||
<string name="encryption">Kryptering</string>
|
||||
<string name="security">Tryggleik</string>
|
||||
<string name="master_key">Hovudnøkkel</string>
|
||||
<string name="edit_entry">Endre oppføring</string>
|
||||
<string name="contact">Kontakt</string>
|
||||
<string name="expired">Gjekk ut</string>
|
||||
<string name="entry_UUID">UUID</string>
|
||||
<string name="current_group">Noverande gruppe</string>
|
||||
<string name="account">Konto</string>
|
||||
<string name="bank">Bank</string>
|
||||
<string name="bank_name">Banknamn</string>
|
||||
<string name="content_description_database_color">Databasefarge</string>
|
||||
<string name="content_description_entry_foreground_color">Forgrunnsfarge for oppføringer</string>
|
||||
<string name="content_description_entry_background_color">Bakgrunnsfarge for oppføringer</string>
|
||||
<string name="content_description_otp_information">Info om eingangspassord</string>
|
||||
<string name="number">Kortnummer</string>
|
||||
<string name="card_verification_value">CVV-kode</string>
|
||||
<string name="template_group_name">Malar</string>
|
||||
<string name="content_description_entry_icon">Oppføringsikon</string>
|
||||
<string name="content_description_credentials_information">Påloggingsinformasjon</string>
|
||||
<string name="content_description_file_information">Filinfo</string>
|
||||
<string name="content_description_add_item">Legg til gjenstand</string>
|
||||
<string name="content_description_add_group">Legg til gruppe</string>
|
||||
<string name="content_description_add_entry">Legg til oppføring</string>
|
||||
<string name="content_description_open_file">Opne fil</string>
|
||||
<string name="content_description_background">Bakgrunn</string>
|
||||
<string name="clipboard_error_clear">Kunne ikkje tømme utklippstavla</string>
|
||||
<string name="clipboard_error_title">Det oppstod ein feil med utklippstavla</string>
|
||||
<string name="allow">TIllat</string>
|
||||
<string name="app_timeout_summary">Daudtid før databasen blir låst</string>
|
||||
<string name="content_description_nav_header">Navigasjonsoverskrift</string>
|
||||
<string name="navigation_drawer_open">Navigasjonsskuff open</string>
|
||||
<string name="navigation_drawer_close">Navigasjonsskuff lukke</string>
|
||||
<string name="validate">Bekreft</string>
|
||||
<string name="discard_changes">Forkast endringar?</string>
|
||||
<string name="discard">Forkast</string>
|
||||
<string name="entry_add_attachment">Legg til vedlegg</string>
|
||||
<string name="content_description_remove_field">Fjern felt</string>
|
||||
<string name="content_description_update_from_list">Oppdater</string>
|
||||
<string name="content_description_keyboard_close_fields">Lukk felt</string>
|
||||
<string name="entry_history">Historikk</string>
|
||||
<string name="entry_attachments">Vedlegg</string>
|
||||
<string name="search_filters">Søkefilter</string>
|
||||
<string name="otp_algorithm">Algoritme</string>
|
||||
<string name="debit_credit_card">Bank-/Kredittkort</string>
|
||||
<string name="holder">Innehavar</string>
|
||||
<string name="personal_identification_number">Personnummer</string>
|
||||
<string name="id_card">ID-kort</string>
|
||||
<string name="name">Namn</string>
|
||||
<string name="email_address">E-postadresse</string>
|
||||
<string name="ssid">SSID</string>
|
||||
<string name="type">Type</string>
|
||||
<string name="cryptocurrency">Lommebok for kryptovaluta</string>
|
||||
<string name="public_key">Offentleg nøkkel</string>
|
||||
<string name="private_key">Privat nøkkel</string>
|
||||
<string name="inherited">Arve</string>
|
||||
<string name="info">Info</string>
|
||||
<string name="entry_password_generator">Passordgenerator</string>
|
||||
<string name="content_description_password_length">Passordlengde</string>
|
||||
<string name="entry_add_field">Legg til felt</string>
|
||||
<string name="otp_digits">Tal</string>
|
||||
<string name="email">E-post</string>
|
||||
<string name="wireless">Wi-Fi</string>
|
||||
<string name="token">Symbol</string>
|
||||
<string name="clipboard_error">Nokre einingar tillet ikkje appar å bruke utklippstavla.</string>
|
||||
<string name="contribution">Bidrag</string>
|
||||
<string name="content_description_add_node">Legg til node</string>
|
||||
<string name="content_description_node_children">Undernode</string>
|
||||
<string name="download_progression">Framgang: %1$d%%</string>
|
||||
<string name="contribute">Bidra</string>
|
||||
<string name="download_initialization">Set igang…</string>
|
||||
<string name="icon_section_standard">Forval</string>
|
||||
<string name="error_string_key">Kvar streng må ha eit feltnamn.</string>
|
||||
<string name="error_move_entry_here">Du kan ikkje flytte ei oppføring her.</string>
|
||||
<string name="error_copy_entry_here">Du kan ikkje kopiere ei oppføring her.</string>
|
||||
<string name="error_copy_group_here">Du kan ikkje kopiere ei gruppe her.</string>
|
||||
<string name="error_start_database_action">Det oppstod ein feil under samhandlinga med databasen.</string>
|
||||
<string name="error_otp_counter">Teljaren må vere mellom %1$d og %2$d.</string>
|
||||
<string name="field_name">Feltnamn</string>
|
||||
<string name="field_value">Feltverdi</string>
|
||||
<string name="menu_master_key_settings">Innstillingar for hovudnøkkel</string>
|
||||
<string name="menu_copy">Kopier</string>
|
||||
<string name="unit_byte">B</string>
|
||||
<string name="menu_delete_entry_history">Slett historikk</string>
|
||||
<string name="entry_not_found">Kunne ikkje finne data for oppføring.</string>
|
||||
<string name="error_load_database">Kunne ikkje laste inn databasen.</string>
|
||||
<string name="error_label_exists">Denne etiketten finst allereie.</string>
|
||||
<string name="error_upload_file">Det oppstod ein feil under opplasting av fildataen.</string>
|
||||
<string name="menu_cancel">Avbryt</string>
|
||||
<string name="html_about_contribution">For å kunne <strong> behalde fridomen vår</strong>, <strong> fikse feil</strong>, legge til funksjonar</strong> og <strong>alltid vere aktiv</strong>, er me avhengig av <strong>donasjonar</strong> frå dykk.</string>
|
||||
<string name="error_XML_malformed">Feil i XML-format.</string>
|
||||
<string name="error_create_database">Kunne ikkje opprette databasefil.</string>
|
||||
<string name="error_cancel_by_user">Avbrote av brukar.</string>
|
||||
<string name="invalid_algorithm">Ugyldig algoritme.</string>
|
||||
<string name="menu_security_settings">Tryggleiksinnstillingar</string>
|
||||
<string name="menu_save_database">Lagre data</string>
|
||||
<string name="warning_sure_remove_data">Vil du likevel fjerne denne dataen?</string>
|
||||
<string name="warning_empty_keyfile">Det er ikkje anbefalt å legge til ei tom nøkkelfil.</string>
|
||||
<string name="menu_external_icon">Eksternt ikon</string>
|
||||
<string name="error_move_group_here">Du kan ikkje flytte ei gruppe her.</string>
|
||||
<string name="content_description_password_checkbox">Avmerkingsboks for passord</string>
|
||||
<string name="searchable">Søkbar</string>
|
||||
<string name="otp_secret">Hemmeleg</string>
|
||||
<string name="otp_counter">Teljar</string>
|
||||
<string name="otp_period">Periode (sekund)</string>
|
||||
<string name="secure_note">Tryggleiksnotat</string>
|
||||
<string name="membership">Medlemskap</string>
|
||||
<string name="template">Mal</string>
|
||||
<string name="version">Versjon</string>
|
||||
<string name="entry_otp">Eingangspassord</string>
|
||||
<string name="error_save_database">Kunne ikkje lagre databasen.</string>
|
||||
<string name="error_duplicate_file">Fildataen finst allereie.</string>
|
||||
<string name="list_groups_show_number_entries_summary">Viser mengda oppføringar i ei gruppe</string>
|
||||
<string name="copy_field">Kopi av %1$s</string>
|
||||
<string name="menu_keystore_remove_key">Slett einingas opplåsingsnøkkel</string>
|
||||
<string name="permission">Tilgang</string>
|
||||
<string name="download_complete">Fullført!</string>
|
||||
<string name="unit_kibibyte">KiB</string>
|
||||
<string name="generate_keyfile">Lag nøkkelfil</string>
|
||||
<string name="nodes">Nodar</string>
|
||||
<string name="list_entries_show_username_summary">Vis brukarnamn i oppføringslister</string>
|
||||
<string name="list_groups_show_number_entries_title">Vis mengda oppføringar</string>
|
||||
<string name="menu_form_filling_settings_summary">Tastatur, autofyll, utklippstavle</string>
|
||||
<string name="menu_advanced_unlock_settings">Einingsopplåsing</string>
|
||||
<string name="menu_advanced_unlock_settings_summary">Biometri, einingslegitimasjon</string>
|
||||
<string name="menu_security_settings_summary">Kryptering, funksjon for nøkkelavleiing</string>
|
||||
<string name="menu_paste">Lim inn</string>
|
||||
<string name="menu_merge_database">Slå saman data</string>
|
||||
<string name="menu_reload_database">Last inn data på nytt</string>
|
||||
<string name="menu_merge_from">Slå saman frå…</string>
|
||||
<string name="menu_save_copy_to">Lagre ein kopi til…</string>
|
||||
<string name="warning_database_info_changed_options_read_only">Last inn databasen på nytt med dei siste endringane.</string>
|
||||
<string name="configure">Konfigurer</string>
|
||||
<string name="database_history">Historikk</string>
|
||||
<string name="properties">Eigenskapar</string>
|
||||
<string name="menu_appearance_settings_summary">Tema, fargar, attributt</string>
|
||||
<string name="general">Generelt</string>
|
||||
<string name="clipboard">Utklippstavle</string>
|
||||
<string name="content">Innhald</string>
|
||||
<string name="unlock">Lås opp</string>
|
||||
<string name="advanced_unlock">Lås opp eininga</string>
|
||||
<string name="entropy_high">Entropi: Høg</string>
|
||||
<string name="entropy_calculate">Entropi: Berekne…</string>
|
||||
<string name="entropy">Entropi: %1$s bit</string>
|
||||
<string name="upper_case">STORE BOKSTAVAR</string>
|
||||
<string name="hide_templates_title">Skjul malar</string>
|
||||
<string name="hide_expired_entries_summary">Utløpte oppføringar blir ikkje vist</string>
|
||||
<string name="style_name_forest">Skog</string>
|
||||
<string name="style_name_divine">Guddommeleg</string>
|
||||
<string name="hide_templates_summary">Malar blir ikkje vist</string>
|
||||
<string name="download_canceled">Avbrote!</string>
|
||||
<string name="upload_attachment">Last opp %1$s</string>
|
||||
<string name="hardware_key">Maskinvarenøkkel</string>
|
||||
<string name="html_about_privacy"><strong>Ingen brukardata blir mottatt,</strong> sidan dette programmet ikkje kopler opp til ein server, fungerer berre lokalt, og respekterer personvernet til brukarane.</string>
|
||||
<string name="list_entries_show_username_title">Vis brukarnamn</string>
|
||||
<string name="error_hardware_key_unsupported">Maskinvarenøkkelen er ikkje støtta.</string>
|
||||
<string name="autofill_select_entry">Vel oppføring…</string>
|
||||
<string name="download_attachment">Last ned %1$s</string>
|
||||
<string name="content_description_keyfile_checkbox">Avmerkingsboks for nøkkelfil</string>
|
||||
<string name="warning_database_info_reloaded">Ved å laste inn databasen på nytt, vil det slette data som har blitt endra lokalt.</string>
|
||||
<string name="biometric">Biometrisk</string>
|
||||
<string name="menu_appearance_settings">Utsjånad</string>
|
||||
<string name="autofill_sign_in_prompt">Logg inn med KeePassDX</string>
|
||||
<string name="content_description_hardware_key_checkbox">Avmerkingsboks for maskinvarenøkkel</string>
|
||||
<string name="bank_identifier_code">SWIFT/BIC</string>
|
||||
<string name="international_bank_account_number">IBAN</string>
|
||||
<string name="error_no_hardware_key">Vel ein maskinvarenøkkel.</string>
|
||||
<string name="error_field_name_already_exists">Feltnamnet finst allereie.</string>
|
||||
<string name="error_create_database_file">Kunne ikkje opprette ein database med dette passordet og denne nøkkelfila.</string>
|
||||
<string name="error_file_to_big">Fila du prøver å lasta opp, er for stor.</string>
|
||||
<string name="error_database_uri_null">Adressa til databasen kunne ikkje bli mottatt.</string>
|
||||
<string name="error_remove_file">Det oppstod ein feil under fjerning av fildataen.</string>
|
||||
<string name="error_empty_key">Nøkkelen kan ikkje vere tom.</string>
|
||||
<string name="corrupted_file">Skada fil.</string>
|
||||
<string name="hint_icon_name">Ikonnamn</string>
|
||||
<string name="master_key_settings_summary">Endre, fornying</string>
|
||||
<string name="menu_move">Flytt</string>
|
||||
<string name="warning_permanently_delete_nodes">Vil du slette dei valte nodane for godt?</string>
|
||||
<string name="warning_empty_recycle_bin">Vil du slette alle nodane frå bosskorga for godt?</string>
|
||||
<string name="later">Seinare</string>
|
||||
<string name="ask">Spør</string>
|
||||
<string name="merge_success">Samanslåing fullført</string>
|
||||
<string name="lock">Lås</string>
|
||||
<string name="lock_database_screen_off_title">Skjermlås</string>
|
||||
<string name="lock_database_show_button_title">Vis låseknapp</string>
|
||||
<string name="lock_database_back_root_title">Trykk «Tilbake» for å låse</string>
|
||||
<string name="lower_case">små bokstavar</string>
|
||||
<string name="download_finalization">Fullfører…</string>
|
||||
<string name="unit_mebibyte">MiB</string>
|
||||
<string name="unit_gibibyte">GiB</string>
|
||||
<string name="word_separator">Separator</string>
|
||||
<string name="ignore_chars_filter">Ignorer teikn</string>
|
||||
<string name="style_brightness_summary">Vel eit lyst eller mørkt tema</string>
|
||||
<string name="icon_section_custom">Eigendefinert</string>
|
||||
<string name="style_name_simple">Enkel</string>
|
||||
<string name="style_name_moon">Måne</string>
|
||||
<string name="style_name_sun">Sol</string>
|
||||
<string name="style_brightness_title">Lysstyrke for tema</string>
|
||||
<string name="style_name_reply">Svar</string>
|
||||
<string name="style_name_light">Lyst</string>
|
||||
<string name="style_name_follow_system">Følg systemet</string>
|
||||
<string name="style_name_classic">Klassisk</string>
|
||||
<string name="style_name_dark">Mørkt</string>
|
||||
<string name="hide_expired_entries_title">Skjul utløpte oppføringar</string>
|
||||
<string name="show_entry_colors_title">Oppføringsfargar</string>
|
||||
<string name="show_entry_colors_summary">Viser forgrunns- og bakgrunnsfargar for ei oppføring</string>
|
||||
<string name="icon_pack_choose_title">Vel ein ikonpakke</string>
|
||||
<string name="icon_pack_choose_summary">Endre programmets ikonpakke</string>
|
||||
</resources>
|
||||
@@ -151,7 +151,7 @@
|
||||
<string name="error_invalid_OTP">ਗ਼ਲਤ OTP ਭੇਤ ਹੈ।</string>
|
||||
<string name="error_invalid_path">ਪਾਥ ਦੇ ਠੀਕ ਹੋਣ ਨੂੰ ਯਕੀਨੀ ਬਣਾਓ।</string>
|
||||
<string name="error_invalid_db">ਡਾਟਾਬੇਸ ਪੜ੍ਹਿਆ ਨਹੀਂ ਜਾ ਸਕਿਆ।</string>
|
||||
<string name="error_file_not_create">ਫ਼ਾਇਲ ਬਣਾਈ ਨਹੀਂ ਜਾ ਸਕੀ</string>
|
||||
<string name="error_file_not_create">ਫ਼ਾਇਲ ਬਣਾਈ ਨਹੀਂ ਜਾ ਸਕੀ।</string>
|
||||
<string name="error_can_not_handle_uri">ਇਹ URI KeePassDX ਵਿੱਚ ਹੈਂਡਲ ਨਹੀਂ ਕੀਤਾ ਜਾ ਸਕਿਆ।</string>
|
||||
<string name="error_arc4">Arcfour ਸਟਰੀਮ ਸੀਫ਼ਰ ਸਹਾਇਕ ਨਹੀਂ ਹੈ।</string>
|
||||
<string name="entry_user_name">ਵਰਤੋਂਕਾਰ-ਨਾਂ</string>
|
||||
|
||||
@@ -51,11 +51,11 @@
|
||||
<string name="entry_password">Hasło</string>
|
||||
<string name="save">Zapisz</string>
|
||||
<string name="entry_title">Tytuł</string>
|
||||
<string name="entry_url">URL</string>
|
||||
<string name="entry_url">Adres URL</string>
|
||||
<string name="entry_user_name">Nazwa użytkownika</string>
|
||||
<string name="error_arc4">Strumieniowe szyfrowanie Arcfour nie jest wspierane.</string>
|
||||
<string name="error_can_not_handle_uri">Nie można obsłużyć tego identyfikatora URI w KeePassDX.</string>
|
||||
<string name="error_file_not_create">Nie można utworzyć pliku</string>
|
||||
<string name="error_file_not_create">Nie można utworzyć pliku.</string>
|
||||
<string name="error_invalid_db">Nie można odczytać bazy danych.</string>
|
||||
<string name="error_invalid_path">Upewnij się, że ścieżka jest prawidłowa.</string>
|
||||
<string name="error_no_name">Wpisz nazwę.</string>
|
||||
@@ -168,13 +168,13 @@
|
||||
<string name="sort_last_access_time">Dostęp</string>
|
||||
<string name="warning">Ostrzeżenie</string>
|
||||
<string name="warning_password_encoding">Unikaj znaków hasła spoza formatu kodowania tekstu w pliku bazy danych (nierozpoznane znaki są konwertowane na tę samą literę).</string>
|
||||
<string name="sort_recycle_bin_bottom">Pokaż Kosz na dole listy</string>
|
||||
<string name="sort_recycle_bin_bottom">Pokaż kosz na dole listy</string>
|
||||
<string name="sort_title">Tytuł</string>
|
||||
<string name="warning_empty_password">Kontynuować bez ochrony odblokowywania hasłem\?</string>
|
||||
<string name="warning_no_encryption_key">Kontynuować bez klucza szyfrowania\?</string>
|
||||
<string name="version_label">Wersja %1$s</string>
|
||||
<string name="encrypted_value_stored">Zapisano zaszyfrowane hasło</string>
|
||||
<string name="sort_groups_before">Pokaż Grupy na górze listy</string>
|
||||
<string name="sort_groups_before">Pokaż grupy na górze listy</string>
|
||||
<string name="unavailable">Niedostępne</string>
|
||||
<string name="database_history">Historia</string>
|
||||
<string name="menu_appearance_settings">Wygląd</string>
|
||||
@@ -207,7 +207,7 @@
|
||||
<string name="path">Ścieżka</string>
|
||||
<string name="assign_master_key">Przypisz klucz główny</string>
|
||||
<string name="create_keepass_file">Utwórz nowy sejf</string>
|
||||
<string name="recycle_bin_title">Wykorzystaj kosz</string>
|
||||
<string name="recycle_bin_title">Wykorzystanie kosza</string>
|
||||
<string name="recycle_bin_summary">Przenosi grupy i wpisy do grupy \"Kosz\" przed usunięciem</string>
|
||||
<string name="monospace_font_fields_enable_title">Czcionka pola</string>
|
||||
<string name="monospace_font_fields_enable_summary">Zmień czcionkę użytą w polach, aby poprawić widoczność znaków</string>
|
||||
@@ -445,7 +445,7 @@
|
||||
<string name="autofill_application_id_blocklist_title">Lista zablokowanych aplikacji</string>
|
||||
<string name="keyboard_previous_fill_in_summary">Automatycznie przełącz się z powrotem na poprzednią klawiaturę po wykonaniu automatycznej akcji klawiszy</string>
|
||||
<string name="keyboard_previous_fill_in_title">Przełącz się z powrotem</string>
|
||||
<string name="keyboard_previous_database_credentials_summary">Automatycznie przełącz się z powrotem do poprzedniej klawiatury na ekranie poświadczeń bazy danych</string>
|
||||
<string name="keyboard_previous_database_credentials_summary">Automatycznie przełącz się z powrotem do poprzedniej klawiatury na ekranie poświadczeń bazy danych</string>
|
||||
<string name="keyboard_previous_database_credentials_title">Ekran poświadczeń bazy danych</string>
|
||||
<string name="keyboard_change">Przełącz klawiaturę</string>
|
||||
<string name="upload_attachment">Prześlij %1$s</string>
|
||||
@@ -484,7 +484,7 @@
|
||||
<string name="registration_mode">Tryb rejestracji</string>
|
||||
<string name="save_mode">Tryb zapisywania</string>
|
||||
<string name="search_mode">Tryb wyszukiwania</string>
|
||||
<string name="error_registration_read_only">Zapisywanie nowego elementu nie jest dozwolone w bazie danych tylko do odczytu</string>
|
||||
<string name="error_registration_read_only">Zapisywanie nowego elementu nie jest dozwolone w bazie danych tylko do odczytu.</string>
|
||||
<string name="error_field_name_already_exists">Nazwa pola już istnieje.</string>
|
||||
<string name="enter">Enter</string>
|
||||
<string name="backspace">Backspace</string>
|
||||
@@ -511,7 +511,6 @@
|
||||
<string name="advanced_unlock_tap_delete">Stuknij, aby usunąć klucze odblokowywania urządzenia</string>
|
||||
<string name="content">Zawartość</string>
|
||||
<string name="advanced_unlock_prompt_extract_credential_title">Rozpoznawanie odblokowania urządzenia</string>
|
||||
<string name="advanced_unlock_scanning_error">Błąd odblokowania urządzenia: %1$s</string>
|
||||
<string name="error_rebuild_list">Nie można poprawnie odbudować listy.</string>
|
||||
<string name="error_database_uri_null">Nie można pobrać identyfikatora URI bazy danych.</string>
|
||||
<string name="autofill_inline_suggestions_keyboard">Dodano sugestie autouzupełniania.</string>
|
||||
@@ -539,9 +538,9 @@
|
||||
<string name="error_remove_file">Wystąpił błąd podczas usuwania danych z pliku.</string>
|
||||
<string name="error_duplicate_file">Dane pliku już istnieją.</string>
|
||||
<string name="properties">Właściwości</string>
|
||||
<string name="error_export_app_properties">Błąd podczas eksportowania ustawień aplikacji</string>
|
||||
<string name="error_export_app_properties">Błąd podczas eksportowania ustawień aplikacji.</string>
|
||||
<string name="success_export_app_properties">Eksportowano ustawienia aplikacji</string>
|
||||
<string name="error_import_app_properties">Błąd podczas importowania ustawień aplikacji</string>
|
||||
<string name="error_import_app_properties">Błąd podczas importowania ustawień aplikacji.</string>
|
||||
<string name="success_import_app_properties">Importowano ustawienia aplikacji</string>
|
||||
<string name="description_app_properties">Właściwości KeePassDX do zarządzania ustawieniami aplikacji</string>
|
||||
<string name="export_app_properties_summary">Utwórz plik, aby eksportować ustawienia aplikacji</string>
|
||||
@@ -646,15 +645,15 @@
|
||||
<string name="keyboard_previous_search_summary">Automatycznie przełączaj z powrotem do poprzedniej klawiatury na ekranie wyszukiwania</string>
|
||||
<string name="waiting_challenge_request">Oczekiwanie na żądanie wyzwania…</string>
|
||||
<string name="waiting_challenge_response">Oczekiwanie na odpowiedź na wyzwanie…</string>
|
||||
<string name="error_challenge_already_requested">Wyzwanie już zażądane</string>
|
||||
<string name="error_challenge_already_requested">Wyzwanie już zażądane.</string>
|
||||
<string name="error_response_already_provided">Odpowiedź już udzielona.</string>
|
||||
<string name="error_cancel_by_user">Anulowano przez użytkownika.</string>
|
||||
<string name="error_unable_merge_database_kdb">Nie można scalić z plikiem bazy danych KDB</string>
|
||||
<string name="error_unable_merge_database_kdb">Nie można scalić z plikiem bazy danych KDB.</string>
|
||||
<string name="error_location_unknown">Lokalizacja bazy danych jest nieznana, nie można wykonać działania bazy danych.</string>
|
||||
<string name="error_hardware_key_unsupported">Klucz sprzętowy nie jest obsługiwany.</string>
|
||||
<string name="error_empty_key">Klucz nie może być pusty.</string>
|
||||
<string name="corrupted_file">Uszkodzony plik.</string>
|
||||
<string name="remember_hardware_key_title">Zapamiętaj klawisze sprzętowe</string>
|
||||
<string name="remember_hardware_key_title">Zapamiętaj klucze sprzętowe</string>
|
||||
<string name="remember_hardware_key_summary">Śledzi używane klucze sprzętowe</string>
|
||||
<string name="enable_screenshot_mode_title">Tryb zrzutu ekranu</string>
|
||||
<string name="enable_screenshot_mode_summary">Zezwól aplikacjom innych dostawców na nagrywanie lub robienie zrzutów ekranu aplikacji</string>
|
||||
|
||||
@@ -57,7 +57,7 @@
|
||||
<string name="entry_user_name">Nome de usuário</string>
|
||||
<string name="error_arc4">A cifra de fluxo Arcfour não é suportada.</string>
|
||||
<string name="error_can_not_handle_uri">Não pôde tratar esta URI no KeePassDX.</string>
|
||||
<string name="error_file_not_create">Não foi possível criar o arquivo</string>
|
||||
<string name="error_file_not_create">Não foi possível criar o arquivo.</string>
|
||||
<string name="error_invalid_db">Falha ao ler o banco de dados.</string>
|
||||
<string name="error_invalid_path">Certifique-se de que o caminho está correto.</string>
|
||||
<string name="error_no_name">Digite um nome.</string>
|
||||
@@ -264,7 +264,7 @@
|
||||
<string name="html_text_ad_free">Ao contrário de muitos aplicativos de gerenciamento de senhas, este aplicativo é <strong>livre de anúncios</strong>, <strong>livre de direitos autorais</strong> e não coleta dados pessoais em seus servidores, mesmo em sua versão gratuita.</string>
|
||||
<string name="html_text_buy_pro">Ao comprar a versão Pro, você terá acesso a este <strong>recurso visual</strong> e ajudará especialmente a <strong>realização de projetos comunitários.</strong></string>
|
||||
<string name="html_text_feature_generosity">Este <strong>recurso visual</strong> está disponível graças à sua generosidade.</string>
|
||||
<string name="html_text_donation">Para manter a nossa liberdade e estarmos sempre ativos, nós contamos com a sua <strong>contribuição.</strong></string>
|
||||
<string name="html_text_donation">Ao <strong>contribuir</strong> com o projeto <i>(monetariamente, código, tradução)</i>, você o ajudará a continuar vivo e a prosperar, e também estará qualificado para o procedimento de desbloqueio do <strong>tema</strong>.</string>
|
||||
<string name="html_text_dev_feature">Esse recurso está <strong>em desenvolvimento</strong> e exige que sua <strong>contribuição</strong> para que esteja disponível em breve.</string>
|
||||
<string name="html_text_dev_feature_buy_pro">Ao comprar a versão <strong>pro</strong>,</string>
|
||||
<string name="html_text_dev_feature_contibute"><strong>Contribuindo </strong>,</string>
|
||||
@@ -475,7 +475,7 @@
|
||||
<string name="error_rebuild_list">Incapaz de reconstruir corretamente a lista.</string>
|
||||
<string name="error_database_uri_null">O URI do banco de dados não pode ser recuperado.</string>
|
||||
<string name="error_field_name_already_exists">O nome do campo já existe.</string>
|
||||
<string name="error_registration_read_only">Não é permitido salvar um novo item em um banco de dados somente de leitura</string>
|
||||
<string name="error_registration_read_only">Não é permitido salvar um novo item em um banco de dados somente de leitura.</string>
|
||||
<string name="error_otp_type">O tipo de OTP existente não é reconhecido por este formulário, sua validação pode não gerar mais o token corretamente.</string>
|
||||
<string name="error_word_reserved">Esta palavra é reservada e não pode ser usada.</string>
|
||||
<string name="version">Versão</string>
|
||||
@@ -512,7 +512,6 @@
|
||||
<string name="properties">Propriedades</string>
|
||||
<string name="credential_before_click_advanced_unlock_button">Digite a senha e clique neste botão.</string>
|
||||
<string name="advanced_unlock_prompt_not_initialized">Não foi possível inicializar o prompt de desbloqueio do dispositivo.</string>
|
||||
<string name="advanced_unlock_scanning_error">Erro de desbloqueio do dispositivo: %1$s</string>
|
||||
<string name="advanced_unlock_not_recognized">Não foi possível reconhecer a impressão de desbloqueio</string>
|
||||
<string name="advanced_unlock_invalid_key">Não é possível ler a chave de desbloqueio do dispositivo. Exclua-o e repita o procedimento de reconhecimento de desbloqueio.</string>
|
||||
<string name="advanced_unlock_prompt_extract_credential_message">Extraia a credencial do banco de dados com os dados de desbloqueio do dispositivo</string>
|
||||
@@ -525,9 +524,9 @@
|
||||
<string name="warning_database_info_changed_options">Mescle os dados, substitua as modificações externas salvando o banco de dados ou recarregue-o com as alterações mais recentes.</string>
|
||||
<string name="warning_database_info_changed">As informações contidas em seu arquivo de banco de dados foram modificadas fora do aplicativo.</string>
|
||||
<string name="warning_empty_recycle_bin">Deletar permanentemente todos os nós da lixeira\?</string>
|
||||
<string name="error_export_app_properties">Houve um erro durante a exportação das configurações do aplicativo</string>
|
||||
<string name="error_export_app_properties">Houve um erro durante a exportação das configurações do aplicativo.</string>
|
||||
<string name="success_export_app_properties">As configurações do aplicativo foram exportadas</string>
|
||||
<string name="error_import_app_properties">Houve um erro durante a importação das configurações do aplicativo</string>
|
||||
<string name="error_import_app_properties">Houve um erro durante a importação das configurações do aplicativo.</string>
|
||||
<string name="success_import_app_properties">As configurações do aplicativo foram importadas</string>
|
||||
<string name="description_app_properties">Propriedades KeePassDX para gerenciar configurações de aplicativos</string>
|
||||
<string name="export_app_properties_summary">Crie um arquivo para exportar as configurações do aplicativo</string>
|
||||
@@ -648,14 +647,14 @@
|
||||
<string name="waiting_challenge_response">Aguardando a resposta do desafio…</string>
|
||||
<string name="error_cancel_by_user">Cancelado pelo usuário.</string>
|
||||
<string name="error_hardware_key_unsupported">A chave física não é suportada.</string>
|
||||
<string name="error_unable_merge_database_kdb">Não é possível mesclar a partir de um arquivo de banco de dados kbd</string>
|
||||
<string name="error_unable_merge_database_kdb">Não é possível mesclar a partir de um arquivo de banco de dados kbd.</string>
|
||||
<string name="error_location_unknown">Localização do banco de dados desconhecida, a ação do banco de dados não pode ser executada.</string>
|
||||
<string name="error_empty_key">A chave não pode estar vazia.</string>
|
||||
<string name="html_about_privacy"><strong>Nenhum dado do usuário é coletado</strong>, este aplicativo não se conecta a nenhum servidor, funciona apenas localmente e respeita totalmente a privacidade dos usuários.</string>
|
||||
<string name="hardware_key">Chave física</string>
|
||||
<string name="error_no_hardware_key">Selecione uma chave física.</string>
|
||||
<string name="error_XML_malformed">XML malformado.</string>
|
||||
<string name="error_challenge_already_requested">Desafio já solicitado</string>
|
||||
<string name="error_challenge_already_requested">Desafio já solicitado.</string>
|
||||
<string name="error_response_already_provided">Resposta já fornecida.</string>
|
||||
<string name="error_no_response_from_challenge">Não foi possível obter a resposta do desafio.</string>
|
||||
<string name="error_driver_required">É necessário o driver para %1$s.</string>
|
||||
@@ -701,4 +700,11 @@
|
||||
<string name="style_name_divine">Divino</string>
|
||||
<string name="style_name_dark">Escuro</string>
|
||||
<string name="warning_database_info_changed_options_read_only">Recarregar o banco de dados com as alterações mais recentes.</string>
|
||||
<string name="generate_keyfile">Gerar arquivo-chave</string>
|
||||
<string name="nodes">Nós</string>
|
||||
<string name="recursive_number_entries_title">Quantidade recursiva de entradas</string>
|
||||
<string name="recursive_number_entries_summary">Calcula recursivamente a quantidade de entradas em um grupo</string>
|
||||
<string name="warning_large_keyfile">Não é recomendável adicionar um arquivo-chave grande, pois isso pode impedir a abertura do banco de dados.</string>
|
||||
<string name="hide_templates_title">Ocultar modelos</string>
|
||||
<string name="hide_templates_summary">Os modelos não são exibidos</string>
|
||||
</resources>
|
||||
@@ -61,7 +61,7 @@
|
||||
<string name="entry_user_name">Nome de utilizador</string>
|
||||
<string name="error_arc4">A cifra de fluxo Arcfour não é suportada.</string>
|
||||
<string name="error_can_not_handle_uri">Não foi possível processar esta URI no KeePassDX.</string>
|
||||
<string name="error_file_not_create">Não foi possível criar o ficheiro</string>
|
||||
<string name="error_file_not_create">Não foi possível criar o ficheiro.</string>
|
||||
<string name="error_invalid_db">Não foi possível ler a base de dados.</string>
|
||||
<string name="error_invalid_path">Certifique-se que o caminho é válido.</string>
|
||||
<string name="error_no_name">Introduza um nome.</string>
|
||||
@@ -249,7 +249,7 @@
|
||||
<string name="html_text_ad_free">Ao contrário de muitas aplicações de gestão de palavras-passe, esta aplicação <strong>não tem anúncios</strong>, é <strong>um programa de código-fonte livre</strong> e não recolhe dados pessoais para os servidores dela, seja qual for a versão que utiliza.</string>
|
||||
<string name="html_text_buy_pro">Ao comprar a versão pro, terá acesso a este <strong>estilo visual</strong> e ajudará especialmente a <strong>realizar projetos comunitários.</strong></string>
|
||||
<string name="html_text_feature_generosity">Este <strong>estilo visual</strong> está disponível graças à sua generosidade.</string>
|
||||
<string name="html_text_donation">Para manter a nossa liberdade e estarmos sempre ativos, contamos com a sua <strong>contribuição.</strong></string>
|
||||
<string name="html_text_donation">Ao <strong>contribuir</strong> para o projeto <i>(monetariamente, código, tradução)</i>, ajudá-lo-á a continuar a viver e prosperar, e também será elegível para o <strong>tema </strong> procedimento de desbloqueio.</string>
|
||||
<string name="html_text_dev_feature">Esta funcionalidade está <strong>em desenvolvimento</strong> e necessita da sua <strong>contribuição</strong> para que esteja disponível brevemente.</string>
|
||||
<string name="html_text_dev_feature_buy_pro">Ao comprar a versão <strong>pro</strong>,</string>
|
||||
<string name="html_text_dev_feature_contibute">Ao <strong>contribuir</strong>,</string>
|
||||
@@ -468,7 +468,6 @@
|
||||
<string name="device_credential">Credencial do dispositivo</string>
|
||||
<string name="credential_before_click_advanced_unlock_button">Digite a palavra-passe e depois clique neste botão.</string>
|
||||
<string name="advanced_unlock_prompt_not_initialized">Não foi possível inicializar a solicitação de desbloqueio do dispositivo.</string>
|
||||
<string name="advanced_unlock_scanning_error">Erro de desbloqueio do dispositivo: %1$s</string>
|
||||
<string name="advanced_unlock_not_recognized">Não foi possível reconhecer a impressão de desbloqueio do dispositivo</string>
|
||||
<string name="advanced_unlock_invalid_key">Não é possível ler a chave de desbloqueio do dispositivo. Elimine-a e repita o procedimento de reconhecimento de desbloqueio.</string>
|
||||
<string name="advanced_unlock_prompt_extract_credential_message">Extrair credencial da base de dados com dados de desbloqueio do dispositivo</string>
|
||||
@@ -489,7 +488,7 @@
|
||||
<string name="error_rebuild_list">Não foi possível reconstruir adequadamente a lista.</string>
|
||||
<string name="error_database_uri_null">Não foi possível recuperar o URI da base de dados.</string>
|
||||
<string name="error_field_name_already_exists">O nome do campo já existe.</string>
|
||||
<string name="error_registration_read_only">Não é permitido guardar um novo item numa base de dados só de leitura</string>
|
||||
<string name="error_registration_read_only">Não é permitido guardar um novo item numa base de dados só de leitura.</string>
|
||||
<string name="content_description_otp_information">Informação de palavra-passe de uso único</string>
|
||||
<string name="show_otp_token_summary">Mostra os tokens OTP na lista de entradas</string>
|
||||
<string name="show_otp_token_title">Mostrar token OTP</string>
|
||||
@@ -531,9 +530,9 @@
|
||||
<string name="notification">Notificação</string>
|
||||
<string name="autofill_select_entry">Selecionar entrada…</string>
|
||||
<string name="properties">Propriedades</string>
|
||||
<string name="error_export_app_properties">Erro durante a exportação das definições da aplicação</string>
|
||||
<string name="error_export_app_properties">Erro durante a exportação das definições da aplicação.</string>
|
||||
<string name="success_export_app_properties">Definições da aplicação exportadas</string>
|
||||
<string name="error_import_app_properties">Erro durante a importação das definições da aplicação</string>
|
||||
<string name="error_import_app_properties">Erro durante a importação das definições da aplicação.</string>
|
||||
<string name="success_import_app_properties">Definições da aplicação importadas</string>
|
||||
<string name="description_app_properties">Propriedades do KeePassDX para gerir as configurações da aplicação</string>
|
||||
<string name="export_app_properties_summary">Criar um ficheiro para exportar as definições da aplicação</string>
|
||||
@@ -603,10 +602,10 @@
|
||||
<string name="tags">Etiquetas</string>
|
||||
<string name="search_filters">Filtros de pesquisa</string>
|
||||
<string name="wireless">Wi-Fi</string>
|
||||
<string name="error_challenge_already_requested">Desafio já solicitado</string>
|
||||
<string name="error_challenge_already_requested">Desafio já solicitado.</string>
|
||||
<string name="error_response_already_provided">Resposta já fornecida.</string>
|
||||
<string name="error_no_response_from_challenge">Não foi possível obter a resposta do desafio.</string>
|
||||
<string name="error_unable_merge_database_kdb">Não é possível fundir com um ficheiro de base de dados kdb</string>
|
||||
<string name="error_unable_merge_database_kdb">Não é possível fundir com um ficheiro de base de dados kdb.</string>
|
||||
<string name="error_location_unknown">A localização da base de dados é desconhecida, a ação da base de dados não pode ser executada.</string>
|
||||
<string name="error_hardware_key_unsupported">A chave física não é suportada.</string>
|
||||
<string name="error_empty_key">A chave não pode estar vazia.</string>
|
||||
@@ -701,4 +700,11 @@
|
||||
<string name="style_name_sun">Sol</string>
|
||||
<string name="style_name_light">Claro</string>
|
||||
<string name="warning_database_info_changed_options_read_only">Recarregar a base de dados com as alterações mais recentes.</string>
|
||||
<string name="recursive_number_entries_summary">Calcula recursivamente o número de entradas num grupo</string>
|
||||
<string name="generate_keyfile">Gerar ficheiro de chave</string>
|
||||
<string name="nodes">Nós</string>
|
||||
<string name="recursive_number_entries_title">Número recursivo de entradas</string>
|
||||
<string name="warning_large_keyfile">Não é recomendado adicionar um ficheiro-chave grande, pois isso pode impedir a abertura do banco de dados.</string>
|
||||
<string name="hide_templates_title">Ocultar modelos</string>
|
||||
<string name="hide_templates_summary">Os modelos não são mostrados</string>
|
||||
</resources>
|
||||
@@ -28,7 +28,7 @@
|
||||
<string name="html_text_dev_feature_contibute">Ao <strong>contribuir</strong>,</string>
|
||||
<string name="html_text_dev_feature_buy_pro">Ao comprar a versão <strong>pro</strong>,</string>
|
||||
<string name="html_text_dev_feature">Esta funcionalidade está <strong>em desenvolvimento</strong> e necessita da sua <strong>contribuição</strong> para que esteja disponível brevemente.</string>
|
||||
<string name="html_text_donation">Para manter a nossa liberdade e estarmos sempre ativos, contamos com a sua <strong>contribuição.</strong></string>
|
||||
<string name="html_text_donation">Ao <strong>contribuir</strong> para o projeto <i>(monetariamente, código, tradução)</i>, você o ajudará a continuar a viver e prosperar, e também será elegível para o <strong>tema </strong> procedimento de desbloqueio.</string>
|
||||
<string name="html_text_feature_generosity">Este <strong>estilo visual</strong> está disponível graças à sua generosidade.</string>
|
||||
<string name="html_text_buy_pro">Ao comprar a versão pro, terá acesso a este <strong>estilo visual</strong> e ajudará especialmente a <strong>realizar projetos comunitários.</strong></string>
|
||||
<string name="html_text_ad_free">Ao contrário de muitas aplicações de gestão de palavras-passe, esta aplicação <strong>não tem anúncios</strong>, é <strong>um programa de código-fonte livre</strong> e não recolhe dados pessoais para os servidores dela, seja qual for a versão que utiliza.</string>
|
||||
@@ -406,7 +406,7 @@
|
||||
<string name="error_nokeyfile">Selecione um ficheiro-chave.</string>
|
||||
<string name="error_no_name">Introduza um nome.</string>
|
||||
<string name="error_invalid_path">Certifique-se que o caminho é válido.</string>
|
||||
<string name="error_file_not_create">Não foi possível criar o ficheiro</string>
|
||||
<string name="error_file_not_create">Não foi possível criar o ficheiro.</string>
|
||||
<string name="error_can_not_handle_uri">Não foi possível processar esta URI no KeePassDX.</string>
|
||||
<string name="error_arc4">A cifra de fluxo Arcfour não é suportada.</string>
|
||||
<string name="entry_user_name">Nome de utilizador</string>
|
||||
@@ -446,7 +446,6 @@
|
||||
<string name="accept">Aceitar</string>
|
||||
<string name="device_credential">Credencial do dispositivo</string>
|
||||
<string name="advanced_unlock_prompt_not_initialized">Não foi possível inicializar a solicitação de desbloqueio do dispositivo.</string>
|
||||
<string name="advanced_unlock_scanning_error">Erro de desbloqueio do dispositivo: %1$s</string>
|
||||
<string name="advanced_unlock_not_recognized">Não foi possível reconhecer a impressão de desbloqueio do dispositivo</string>
|
||||
<string name="advanced_unlock_invalid_key">Não é possível ler a chave de desbloqueio do dispositivo. Elimine-a e repita o procedimento de reconhecimento de desbloqueio.</string>
|
||||
<string name="advanced_unlock_prompt_extract_credential_message">Extrair credencial da base de dados com dados de desbloqueio do dispositivo</string>
|
||||
@@ -467,7 +466,7 @@
|
||||
<string name="error_rebuild_list">Não foi possível reconstruir adequadamente a lista.</string>
|
||||
<string name="error_database_uri_null">Não foi possível recuperar o URI da base de dados.</string>
|
||||
<string name="error_field_name_already_exists">O nome do campo já existe.</string>
|
||||
<string name="error_registration_read_only">Não é permitido guardar um novo item numa base de dados só de leitura</string>
|
||||
<string name="error_registration_read_only">Não é permitido guardar um novo item numa base de dados só de leitura.</string>
|
||||
<string name="export_app_properties_title">Exportar definições da aplicação</string>
|
||||
<string name="import_app_properties_summary">Selecionar um ficheiro para importar as definições da aplicação</string>
|
||||
<string name="unit_gibibyte">GiB</string>
|
||||
@@ -526,9 +525,9 @@
|
||||
<string name="autofill_select_entry">Selecionar entrada…</string>
|
||||
<string name="properties">Propriedades</string>
|
||||
<string name="credential_before_click_advanced_unlock_button">Digite a palavra-passe e depois clique neste botão.</string>
|
||||
<string name="error_export_app_properties">Erro durante a exportação das definições da aplicação</string>
|
||||
<string name="error_export_app_properties">Erro durante a exportação das definições da aplicação.</string>
|
||||
<string name="success_export_app_properties">Definições da aplicação exportadas</string>
|
||||
<string name="error_import_app_properties">Erro ao importar as propriedades da aplicação</string>
|
||||
<string name="error_import_app_properties">Erro ao importar as propriedades da aplicação.</string>
|
||||
<string name="success_import_app_properties">Definições da aplicação importadas</string>
|
||||
<string name="description_app_properties">Propriedades do KeePassDX para gerir as configurações da aplicação</string>
|
||||
<string name="export_app_properties_summary">Criar um ficheiro para exportar as definições da aplicação</string>
|
||||
@@ -625,7 +624,7 @@
|
||||
<string name="hardware_key">Chave física</string>
|
||||
<string name="error_no_hardware_key">Selecione uma chave física.</string>
|
||||
<string name="error_XML_malformed">XML malformado.</string>
|
||||
<string name="error_unable_merge_database_kdb">Não é possível fundir com um ficheiro de base de dados kdb</string>
|
||||
<string name="error_unable_merge_database_kdb">Não é possível fundir com um ficheiro de base de dados kdb.</string>
|
||||
<string name="error_cancel_by_user">Cancelado pelo utilizador.</string>
|
||||
<string name="error_driver_required">É necessário o driver para %1$s.</string>
|
||||
<string name="error_location_unknown">A localização da base de dados é desconhecida, a ação da base de dados não pode ser executada.</string>
|
||||
@@ -633,7 +632,7 @@
|
||||
<string name="content_description_hardware_key_checkbox">Caixa de verificação da chave física</string>
|
||||
<string name="error_empty_key">A chave não pode estar vazia.</string>
|
||||
<string name="corrupted_file">Ficheiro corrompido.</string>
|
||||
<string name="error_challenge_already_requested">Desafio já solicitado</string>
|
||||
<string name="error_challenge_already_requested">Desafio já solicitado.</string>
|
||||
<string name="error_response_already_provided">Resposta já fornecida.</string>
|
||||
<string name="error_no_response_from_challenge">Não foi possível obter a resposta do desafio.</string>
|
||||
<string name="waiting_challenge_request">À espera do pedido de desafio…</string>
|
||||
@@ -679,4 +678,11 @@
|
||||
<string name="style_name_moon">Lua</string>
|
||||
<string name="style_name_reply">Resposta</string>
|
||||
<string name="warning_database_info_changed_options_read_only">Recarregar a base de dados com as alterações mais recentes.</string>
|
||||
<string name="recursive_number_entries_title">Número recursivo de entradas</string>
|
||||
<string name="generate_keyfile">Gerar arquivo-chave</string>
|
||||
<string name="nodes">Nós</string>
|
||||
<string name="recursive_number_entries_summary">Calcula recursivamente o número de entradas em um grupo</string>
|
||||
<string name="warning_large_keyfile">Não é recomendado adicionar um arquivo-chave grande, pois isso pode impedir a abertura do banco de dados.</string>
|
||||
<string name="hide_templates_title">Ocultar modelos</string>
|
||||
<string name="hide_templates_summary">Os modelos não são mostrados</string>
|
||||
</resources>
|
||||
@@ -64,7 +64,7 @@
|
||||
<string name="decrypting_db">Se decriptează conținutul bazei de date.…</string>
|
||||
<string name="contact">Contact</string>
|
||||
<string name="contribution">Contribuție</string>
|
||||
<string name="feedback">Opinii</string>
|
||||
<string name="feedback">Feedback</string>
|
||||
<string name="homepage">Pagina principală</string>
|
||||
<string name="default_checkbox">Folosiți ca bază de date implicită</string>
|
||||
<string name="digits">Cifre</string>
|
||||
@@ -95,7 +95,7 @@
|
||||
<string name="entry_user_name">Nume de utilizator</string>
|
||||
<string name="error_arc4">Cifrarea fluxului Arcfour nu este acceptată.</string>
|
||||
<string name="error_can_not_handle_uri">Nu s-a putut gestiona acest URI în KeePassDX.</string>
|
||||
<string name="error_file_not_create">Nu s-a putut crea fișierul</string>
|
||||
<string name="error_file_not_create">Nu s-a putut crea fișierul.</string>
|
||||
<string name="error_invalid_db">Nu s-a putut citi baza de date.</string>
|
||||
<string name="error_invalid_path">Asigurați-vă că calea este corectă.</string>
|
||||
<string name="error_invalid_OTP">Secret OTP nevalid.</string>
|
||||
@@ -178,7 +178,7 @@
|
||||
<string name="minus">Mai puțin</string>
|
||||
<string name="never">Niciodată</string>
|
||||
<string name="no_results">Nu există rezultate de căutare</string>
|
||||
<string name="html_about_licence">KeePassDX © %1$d Kunzisoft este <strong>open source</strong> și <strong>fără reclame</strong>. \nEste furnizat ca atare, sub licență <strong>GPLv3</strong>, fără nicio garanție.</string>
|
||||
<string name="html_about_licence">KeePassDX © %1$d Kunzisoft este <strong>open source</strong> și <strong>fără reclame</strong>. \n\nEste furnizat ca atare, sub licență <strong>GPLv3</strong>, fără nicio garanție.</string>
|
||||
<string name="html_about_contribution">Pentru a ne <strong>păstra libertatea</strong>, <strong>pentru a remedia erori</strong>, <strong>pentru a adăuga funcții</strong> și <strong>pentru a fi mereu activi</strong>, ne bazăm pe <strong>contribuția</strong> dvs.</string>
|
||||
<string name="hide_password_title">Ascundeți parolele</string>
|
||||
<string name="hide_password_summary">Mascați parolele (***) în mod implicit</string>
|
||||
@@ -383,7 +383,7 @@
|
||||
<string name="html_text_ad_free">Spre deosebire de multe aplicații de gestionare a parolelor, aceasta este <strong>fără reclame</strong>, <strong>software liber cu copyleft</strong> și nu colectează date personale pe serverele sale, indiferent de versiunea pe care o utilizați.</string>
|
||||
<string name="html_text_buy_pro">Prin cumpărarea versiunii pro, veți avea acces la acest lucru <strong>stil vizual</strong> și veți ajuta în special la <strong>realizarea proiectelor comunitare.</strong></string>
|
||||
<string name="html_text_feature_generosity">Acest <strong> stil vizual </strong> este disponibil datorită generozității tale.</string>
|
||||
<string name="html_text_donation">Pentru a ne păstra libertatea și pentru a fi mereu activi, ne bazăm pe <strong>contribuția dvs.</strong></string>
|
||||
<string name="html_text_donation">strong>Contribuind</strong> la proiect <i>(financiar, cod, traducere)</i>, îl veți ajuta să continue să trăiască și să prospere și veți fi, de asemenea, eligibil pentru procedura de deblocare a <strong>temei</strong>.</string>
|
||||
<string name="html_text_dev_feature">Această caracteristică este <strong> în curs de dezvoltare</strong> și necesită ca <strong>contribuția</strong> dvs. să fie disponibilă în curând.</string>
|
||||
<string name="html_text_dev_feature_buy_pro">Cumpărând versiunea <strong> pro </strong>,</string>
|
||||
<string name="html_text_dev_feature_contibute">Prin <strong> contribuție </strong>,</string>
|
||||
@@ -464,7 +464,7 @@
|
||||
<string name="error_otp_type">Tipul de OTP existent nu este recunoscut de acest formular, este posibil ca validarea acestuia să nu mai genereze corect token-ul.</string>
|
||||
<string name="error_move_group_here">Nu poți muta grupul aici.</string>
|
||||
<string name="error_string_type">Acest text nu se potrivește cu articolul solicitat.</string>
|
||||
<string name="error_registration_read_only">Salvarea unui element nou nu este permisă într-o bază de date numai pentru citire</string>
|
||||
<string name="error_registration_read_only">Salvarea unui element nou nu este permisă într-o bază de date numai pentru citire.</string>
|
||||
<string name="error_field_name_already_exists">Numele câmpului există deja.</string>
|
||||
<string name="navigation_drawer_open">Sertar de navigare deschis</string>
|
||||
<string name="content_description_passphrase_word_count">Numărul de cuvinte al frazei de acces</string>
|
||||
@@ -523,11 +523,11 @@
|
||||
<string name="error_file_to_big">Fișierul pe care încercați să-o încărcați este prea mare.</string>
|
||||
<string name="error_upload_file">A apărut o eroare în timpul încărcării datelor din fișier.</string>
|
||||
<string name="error_start_database_action">A apărut o eroare în timpul efectuării unei acțiuni în baza de date.</string>
|
||||
<string name="error_challenge_already_requested">Provocare deja solicitată</string>
|
||||
<string name="error_challenge_already_requested">Provocare deja solicitată.</string>
|
||||
<string name="error_no_response_from_challenge">Nu s-a reușit să obțină răspunsul la provocare.</string>
|
||||
<string name="error_cancel_by_user">Anulat de utilizator.</string>
|
||||
<string name="error_driver_required">Driver-ul pentru %1$s este necesară.</string>
|
||||
<string name="error_unable_merge_database_kdb">Nu s-a putut fuziona cu o bază de date de format kdb</string>
|
||||
<string name="error_unable_merge_database_kdb">Nu s-a putut fuziona cu o bază de date de format kdb.</string>
|
||||
<string name="error_location_unknown">Locația bazei de date este necunoscută, acțiunea bazei de date nu poate fi efectuată.</string>
|
||||
<string name="registration_mode">Mod de înregistrare</string>
|
||||
<string name="remember_hardware_key_title">Reține cheile hardware</string>
|
||||
@@ -546,8 +546,8 @@
|
||||
<string name="configure">Configurează</string>
|
||||
<string name="properties">Proprietăți</string>
|
||||
<string name="success_export_app_properties">Setările aplicației au fost exportate</string>
|
||||
<string name="error_export_app_properties">Eroare în timpul exportării setărilor aplicației</string>
|
||||
<string name="error_import_app_properties">Eroare în timpul importării setărilor aplicației</string>
|
||||
<string name="error_export_app_properties">Eroare în timpul exportării setărilor aplicației.</string>
|
||||
<string name="error_import_app_properties">Eroare în timpul importării setărilor aplicației.</string>
|
||||
<string name="warning_exact_alarm">Nu ați permis aplicației să utilizeze o alarmă exactă. Ca urmare, funcțiile care necesită un cronometru nu se vor face cu o oră exactă.</string>
|
||||
<string name="warning_database_info_reloaded">Reîncărcarea bazei de date va șterge datele modificate local.</string>
|
||||
<string name="menu_appearance_settings_summary">Teme, culori, atribute</string>
|
||||
@@ -597,7 +597,6 @@
|
||||
<string name="warning_copy_permission">Permisiunea de notificare este necesară pentru a utiliza funcția de notificare a clipboardului.</string>
|
||||
<string name="advanced_unlock_prompt_store_credential_title">Legătură la deblocarea dispozitivului</string>
|
||||
<string name="advanced_unlock_prompt_extract_credential_title">Recunoașterea deblocării dispozitivului</string>
|
||||
<string name="advanced_unlock_scanning_error">Eroare de deblocare a dispozitivului: %1$s</string>
|
||||
<string name="unlock_and_link_biometric">Legătură de deblocare a dispozitivului</string>
|
||||
<string name="configure_biometric">Nu se înrolează nicio credențială biometrică sau de dispozitiv.</string>
|
||||
<string name="autofill_select_entry">Selectați intrarea…</string>
|
||||
@@ -695,4 +694,11 @@
|
||||
<string name="style_name_kunzite">Kunzită</string>
|
||||
<string name="warning_database_info_changed_options_read_only">Reîncarcă baza de date cu noile schimbări.</string>
|
||||
<string name="style_name_classic">Clasic</string>
|
||||
<string name="generate_keyfile">Generare fișier cheie</string>
|
||||
<string name="nodes">Noduri</string>
|
||||
<string name="recursive_number_entries_title">Număr recursiv de intrări</string>
|
||||
<string name="recursive_number_entries_summary">Calculează recursiv numărul de intrări într-un grup</string>
|
||||
<string name="warning_large_keyfile">Nu este recomandat să adăugați un fișier cheie mare, acest lucru poate împiedica deschiderea bazei de date.</string>
|
||||
<string name="hide_templates_title">Ascundeți șabloanele</string>
|
||||
<string name="hide_templates_summary">Șabloanele nu sunt afișate</string>
|
||||
</resources>
|
||||
@@ -61,7 +61,7 @@
|
||||
<string name="entry_user_name">Пользователь</string>
|
||||
<string name="error_arc4">Потоковый шифр Arcfour не поддерживается.</string>
|
||||
<string name="error_can_not_handle_uri">Невозможно обработать указанный URI в KeePassDX.</string>
|
||||
<string name="error_file_not_create">Невозможно создать файл</string>
|
||||
<string name="error_file_not_create">Невозможно создать файл.</string>
|
||||
<string name="error_invalid_db">Невозможно прочитать базу.</string>
|
||||
<string name="error_invalid_path">Убедитесь, что путь указан правильно.</string>
|
||||
<string name="error_no_name">Введите название.</string>
|
||||
@@ -266,11 +266,11 @@
|
||||
<string name="education_donation_title">Участвуйте</string>
|
||||
<string name="education_donation_summary">Примите участие в проекте для повышения стабильности, безопасности и добавления новых возможностей.</string>
|
||||
<string name="html_text_ad_free">В отличие от многих других приложений управления паролями, здесь <strong>нет рекламы</strong>, и оно <strong>свободно от лицензирования</strong>. Приложение не собирает ваши личные данные на своих серверах независимо от версии, которую вы используете.</string>
|
||||
<string name="html_text_buy_pro">Купите Pro–версию и откройте доступ к этой <strong>теме</strong>. Покупая Pro-версию, вы помогаете <strong>разработчикам открытого ПО</strong>.</string>
|
||||
<string name="html_text_buy_pro">Купите pro–версию и откройте доступ к этой <strong>теме</strong>. Покупая pro-версию, вы помогаете <strong>разработчикам открытого ПО.</strong></string>
|
||||
<string name="html_text_feature_generosity">Эти <strong>визуальные стили</strong> доступны благодаря вашей щедрости.</string>
|
||||
<string name="html_text_donation">Для развития нашего проекта и его независимости нам необходима ваша <strong>поддержка</strong>.</string>
|
||||
<string name="html_text_donation">Произведя <strong>вклад</strong> в проект <i>(в денежном выражении, программным кодом или переводом)</i>, вы поможете ему жить и процветать, а также получите право на разблокировку <strong>тем оформления</strong>.</string>
|
||||
<string name="html_text_dev_feature">Эта функция находится <strong>в разработке</strong> и требует вашего <strong>участия</strong>, чтобы стать доступной в ближайшее время.</string>
|
||||
<string name="html_text_dev_feature_buy_pro">Покупая <strong>Pro</strong>–версию,</string>
|
||||
<string name="html_text_dev_feature_buy_pro">Покупая <strong>pro</strong>–версию,</string>
|
||||
<string name="html_text_dev_feature_contibute"><strong>Участвуя в проекте</strong>,</string>
|
||||
<string name="html_text_dev_feature_encourage">вы поощряете разработчиков добавлять <strong>новые возможности</strong> и <strong>исправлять ошибки</strong> в соответствии с вашими замечаниями.</string>
|
||||
<string name="html_text_dev_feature_thanks">Большое спасибо за поддержку.</string>
|
||||
@@ -485,7 +485,7 @@
|
||||
<string name="registration_mode">Режим регистрации</string>
|
||||
<string name="save_mode">Режим записи</string>
|
||||
<string name="search_mode">Режим поиска</string>
|
||||
<string name="error_registration_read_only">Сохранение новых записей невозможно, т.к. база открыта только для чтения</string>
|
||||
<string name="error_registration_read_only">Сохранение новых записей невозможно, т.к. база открыта только для чтения.</string>
|
||||
<string name="error_field_name_already_exists">Поле с таким названием уже существует.</string>
|
||||
<string name="device_credential_unlock_enable_summary">Позволяет использовать учётные данные вашего устройства для открытия базы</string>
|
||||
<string name="device_credential_unlock_enable_title">Разблокировка учётными данными устройства</string>
|
||||
@@ -498,7 +498,6 @@
|
||||
<string name="advanced_unlock_prompt_extract_credential_title">Распознавание разблокировки устройства</string>
|
||||
<string name="advanced_unlock_prompt_store_credential_message">При использовании разблокировки устройства вам всё равно необходимо помнить основные учётные данные.</string>
|
||||
<string name="advanced_unlock_delete_all_key_warning">Удалить все ключи шифрования, связанные с распознаванием разблокировки устройства\?</string>
|
||||
<string name="advanced_unlock_scanning_error">Ошибка разблокировки устройства: %1$s</string>
|
||||
<string name="advanced_unlock_prompt_store_credential_title">Настройка разблокировки устройства</string>
|
||||
<string name="menu_keystore_remove_key">Удалить ключ разблокировки устройства</string>
|
||||
<string name="enter">Ввод</string>
|
||||
@@ -540,9 +539,9 @@
|
||||
<string name="error_duplicate_file">Данные файла уже существует.</string>
|
||||
<string name="error_remove_file">Ошибка при удалении данных файла.</string>
|
||||
<string name="properties">Свойства</string>
|
||||
<string name="error_export_app_properties">Ошибка при экспорте настроек приложения</string>
|
||||
<string name="error_export_app_properties">Ошибка при экспорте настроек приложения.</string>
|
||||
<string name="success_export_app_properties">Настройки приложения экспортированы</string>
|
||||
<string name="error_import_app_properties">Ошибка при импорте настроек приложения</string>
|
||||
<string name="error_import_app_properties">Ошибка при импорте настроек приложения.</string>
|
||||
<string name="success_import_app_properties">Настройки приложения импортированы</string>
|
||||
<string name="description_app_properties">Управление настройками приложения KeePassDX</string>
|
||||
<string name="export_app_properties_summary">Создать резервную копию настроек</string>
|
||||
@@ -650,7 +649,7 @@
|
||||
<string name="error_no_hardware_key">Выберите аппаратный ключ.</string>
|
||||
<string name="error_cancel_by_user">Отменено пользователем.</string>
|
||||
<string name="error_response_already_provided">Ответ уже предоставлен.</string>
|
||||
<string name="error_challenge_already_requested">Вызов уже запрошен</string>
|
||||
<string name="error_challenge_already_requested">Вызов уже запрошен.</string>
|
||||
<string name="error_no_response_from_challenge">Невозможно получить ответ на вызов.</string>
|
||||
<string name="error_unable_merge_database_kdb">Невозможно выполнить объединение с базой паролей в формате kdb.</string>
|
||||
<string name="error_hardware_key_unsupported">Аппаратный ключ не поддерживается.</string>
|
||||
@@ -701,4 +700,11 @@
|
||||
<string name="style_name_moon">Лунная</string>
|
||||
<string name="style_name_follow_system">Как в системе</string>
|
||||
<string name="warning_database_info_changed_options_read_only">Перезагрузите базу с последними изменениями.</string>
|
||||
<string name="generate_keyfile">Создание ключевого файла</string>
|
||||
<string name="nodes">Узлы</string>
|
||||
<string name="recursive_number_entries_summary">Подсчитывать количество вложенных записей в группе</string>
|
||||
<string name="recursive_number_entries_title">Рекурсивное количество записей</string>
|
||||
<string name="warning_large_keyfile">Не рекомендуется добавлять большой ключевой файл, это может помешать открытию базы.</string>
|
||||
<string name="hide_templates_title">Скрывать шаблоны</string>
|
||||
<string name="hide_templates_summary">Не показывать шаблоны</string>
|
||||
</resources>
|
||||
@@ -57,7 +57,7 @@
|
||||
<string name="entry_user_name">Meno používateľa</string>
|
||||
<string name="error_arc4">Arcfour stream šifra nie je podporovaná.</string>
|
||||
<string name="error_can_not_handle_uri">KeePassDX nevie použiť túto URI.</string>
|
||||
<string name="error_file_not_create">Nepodarilo sa vytvoriť súbor</string>
|
||||
<string name="error_file_not_create">Nepodarilo sa vytvoriť súbor.</string>
|
||||
<string name="error_invalid_db">Nepodarilo sa načítať databázu.</string>
|
||||
<string name="error_invalid_path">Uistite sa, že cesta je správna.</string>
|
||||
<string name="error_no_name">Vložte meno.</string>
|
||||
@@ -178,12 +178,12 @@
|
||||
\n
|
||||
\n\"Chránené proti zápisu\" zabraňuje neúmyselným zmenám v databáze.
|
||||
\n„Modifikovateľné“ vám umožňuje pridať, odstrániť alebo upraviť všetky prvky podľa vášho želania.</string>
|
||||
<string name="advanced_unlock_prompt_store_credential_title">Pokročilé rozpoznávanie odomknutia</string>
|
||||
<string name="advanced_unlock_prompt_store_credential_title">Prepojenie s odomykaním zariadenia</string>
|
||||
<string name="education_donation_summary">Pomôžte zvýšiť stabilitu, bezpečnosť a pridať ďalšie funkcie.</string>
|
||||
<string name="database_opened">Databáza otvorená</string>
|
||||
<string name="clipboard_notifications_summary">Zobrazovať upozornenia schránky na kopírovanie polí pri prezeraní záznamu</string>
|
||||
<string name="device_credential_unlock_enable_summary">Umožňuje vám použiť heslo vášho zariadenia na otvorenie databázy</string>
|
||||
<string name="biometric_auto_open_prompt_summary">Automaticky požiadať o rozšírené odomknutie, ak je databáza nastavená na jej používanie</string>
|
||||
<string name="biometric_auto_open_prompt_summary">Automaticky požiadať o odomykanie zariadením, ak je databáza nastavená na jeho používanie</string>
|
||||
<string name="html_text_ad_free">Na rozdiel od mnohých aplikácií na správu hesiel je táto <strong>bez reklám</strong>, <strong>kopírovatelný bezplatný softvér</strong> a nezhromažďuje osobné údaje na svojich serveroch bez ohľadu na to, akú verziu používate.</string>
|
||||
<string name="html_text_dev_feature_encourage">nabádate vývojárov, aby vytvorili <strong>nové funkcie</strong> a <strong>opravili chyby</strong> podľa vašich poznámok.</string>
|
||||
<string name="unit_gibibyte">GiB</string>
|
||||
@@ -201,7 +201,7 @@
|
||||
<string name="colorize_password_summary">Vyfarbit znaky hesla podľa typu</string>
|
||||
<string name="menu_external_icon">Externá ikona</string>
|
||||
<string name="remember_database_locations_title">Zapamätať si umiestnenie databáz</string>
|
||||
<string name="error_export_app_properties">Chyba pri exportovaní nastavení aplikácie</string>
|
||||
<string name="error_export_app_properties">Chyba pri exportovaní nastavení aplikácie.</string>
|
||||
<string name="memory_usage_explanation">Veľkosť pamäte, ktorú má použiť funkcia odvodenia kľúča.</string>
|
||||
<string name="warning_database_already_opened">Databáza je už otvorená, najskôr ju zatvorte, aby ste otvorili novú</string>
|
||||
<string name="warning_file_too_big">Databáza KeePass má obsahovať iba malé pomocné súbory (ako sú súbory kľúčov PGP).
|
||||
@@ -211,10 +211,10 @@
|
||||
<string name="warning_exact_alarm">Aplikácii ste nepovolili používať presný alarm. V dôsledku toho sa funkcie vyžadujúce časovač nebudú vykonávať s presným časom.</string>
|
||||
<string name="permission">Povolenie</string>
|
||||
<string name="build_label">Zostava %1$s</string>
|
||||
<string name="advanced_unlock_prompt_store_credential_message">Ak používate pokročilé rozpoznávanie odomknutia, stále si musíte pamätať svoje hlavné poverenia.</string>
|
||||
<string name="advanced_unlock_invalid_key">Nedá sa prečítať kľúč na rozšírené odomknutie. Odstráňte ho a zopakujte postup rozpoznávania odomknutia.</string>
|
||||
<string name="advanced_unlock_not_recognized">Odtlačok pre rozšírené odomknutie nebol rozpoznaný</string>
|
||||
<string name="device_credential">Poverenie zariadenia</string>
|
||||
<string name="advanced_unlock_prompt_store_credential_message">Hlavné heslo trezoru si musíte pamätať aj keď použijete rozpoznanie odomykania zariadenia.</string>
|
||||
<string name="advanced_unlock_invalid_key">Nedá sa prečítať kľúč odomykaného zariadenia. Odstráňte ho a zopakujte postup rozpoznávania odomknutia.</string>
|
||||
<string name="advanced_unlock_not_recognized">Nerozpoznaný odtlačok odomykaného zariadenia</string>
|
||||
<string name="device_credential">Heslo zariadenia</string>
|
||||
<string name="general">Obecné</string>
|
||||
<string name="clipboard">Schránka</string>
|
||||
<string name="clipboard_explanation_summary">Skopírujte vstupné polia pomocou schránky vášho zariadenia</string>
|
||||
@@ -222,17 +222,14 @@
|
||||
<string name="clipboard_warning">Ak automatické vymazanie schránky zlyhá, vymažte jej históriu manuálne.</string>
|
||||
<string name="lock_database_screen_off_summary">Uzamknite databázu po niekoľkých sekundách, keď je obrazovka vypnutá</string>
|
||||
<string name="biometric_unlock_enable_title">Biometrické odomknutie</string>
|
||||
<string name="advanced_unlock_tap_delete">Klepnutím vymažete pokročilé odblokovacie kľúče</string>
|
||||
<string name="advanced_unlock_explanation_summary">Na jednoduchšie otvorenie databázy použite pokročilé odomykanie</string>
|
||||
<string name="temp_advanced_unlock_enable_title">Prechodné pokročilé odblokovanie</string>
|
||||
<string name="temp_advanced_unlock_enable_summary">Ak chcete použiť pokročilé odomykanie, neukladajte žiadny zašifrovaný obsah</string>
|
||||
<string name="temp_advanced_unlock_timeout_title">Vypršanie platnosti odomknutia</string>
|
||||
<string name="temp_advanced_unlock_timeout_summary">Trvanie používania pokročilého odomykania pred odstránením jeho obsahu</string>
|
||||
<string name="advanced_unlock_tap_delete">Klepnutím vymažete kľúče odomykania zariadením</string>
|
||||
<string name="advanced_unlock_explanation_summary">Na jednoduchšie otvorenie databázy použite odomykanie zariadením</string>
|
||||
<string name="temp_advanced_unlock_enable_title">Dočasné odomykanie zariadením</string>
|
||||
<string name="temp_advanced_unlock_enable_summary">Neukladať žiadny šifrovaný obsah pri použití odomykania zariadením</string>
|
||||
<string name="temp_advanced_unlock_timeout_title">Vypršanie platnosti odomykania zariadením</string>
|
||||
<string name="temp_advanced_unlock_timeout_summary">Trvanie používania odomykania zariadením pred odstránením jeho obsahu</string>
|
||||
<string name="file_name">Názov súboru</string>
|
||||
<string name="advanced_unlock_keystore_warning">Táto funkcia uloží zašifrované údaje v zabezpečenom úložisku kľúčov vášho zariadenia.
|
||||
\n
|
||||
\nV závislosti od implementácie natívneho API operačného systému nemusí byť plne funkčný.
|
||||
\nOverte si kompatibilitu a bezpečnosť KeyStore u výrobcu vášho zariadenia a tvorcu ROM, ktorý používate.</string>
|
||||
<string name="advanced_unlock_keystore_warning">Táto funkcia uloží zašifrované údaje v zabezpečenom úložisku kľúčov vášho zariadenia. \n \nV závislosti od implementácie natívneho API operačného systému nemusí byť plne funkčný. \nOverte si kompatibilitu a bezpečnosť úložiska kľúčov u výrobcu vášho zariadenia a tvorcu ROM, ktorý používate.</string>
|
||||
<string name="templates_group_enable_title">Použitie šablón</string>
|
||||
<string name="templates_group_enable_summary">Na vyplnenie polí záznamu použite dynamické šablóny</string>
|
||||
<string name="templates_group_uuid_title">Skupina šablón</string>
|
||||
@@ -277,7 +274,7 @@
|
||||
<string name="menu_master_key_settings">Nastavenia hlavného kľúča</string>
|
||||
<string name="menu_move">Presunúť</string>
|
||||
<string name="menu_paste">Vložiť</string>
|
||||
<string name="menu_keystore_remove_key">Odstrániť odomykací kľúč</string>
|
||||
<string name="menu_keystore_remove_key">Odstrániť odomykací kľúč zariadenia</string>
|
||||
<string name="menu_file_selection_read_only">Ochrana proti zápisu</string>
|
||||
<string name="menu_open_file_read_and_write">Upraviteľné</string>
|
||||
<string name="auto_focus_search_title">Rýchle hľadanie</string>
|
||||
@@ -294,9 +291,9 @@
|
||||
<string name="password_size_title">Veľkosť vygenerovaného hesla</string>
|
||||
<string name="password_size_summary">Nastaví predvolenú veľkosť generovaných hesiel</string>
|
||||
<string name="list_password_generator_options_title">Znaky hesla</string>
|
||||
<string name="advanced_unlock_timeout">Časový limit pokročilého odomknutia</string>
|
||||
<string name="advanced_unlock_timeout">Časový limit odomknutia zariadením</string>
|
||||
<string name="biometric_delete_all_key_title">Odstráňte šifrovacie kľúče</string>
|
||||
<string name="advanced_unlock_delete_all_key_warning">Odstrániť všetky šifrovacie kľúče súvisiace s pokročilým rozpoznávaním odomknutia\?</string>
|
||||
<string name="advanced_unlock_delete_all_key_warning">Odstrániť všetky šifrovacie kľúče súvisiace s rozpoznávaním odomykania zariadením?</string>
|
||||
<string name="unavailable_feature_text">Túto funkciu sa nepodarilo spustiť.</string>
|
||||
<string name="unavailable_feature_version">Zariadenie používa Android %1$s, ale potrebuje %2$s alebo novší.</string>
|
||||
<string name="settings_database_force_changing_master_key_next_time_summary">Vyžadovať zmenu hlavného kľúča nabudúce (raz)</string>
|
||||
@@ -309,7 +306,7 @@
|
||||
<string name="autofill_read_only_save">Ukladanie údajov nie je povolené pre databázu otvorenú len na čítanie.</string>
|
||||
<string name="autofill_inline_suggestions_keyboard">Boli pridané návrhy automatického dopĺňania.</string>
|
||||
<string name="education_new_node_title">Pridajte položky do databázy</string>
|
||||
<string name="education_advanced_unlock_title">Pokročilé odblokovanie databázy</string>
|
||||
<string name="education_advanced_unlock_title">Odomykanie databázy zariadenia</string>
|
||||
<string name="html_text_feature_generosity">Tento <strong>vizuálny štýl</strong> je dostupný vďaka vašej štedrosti.</string>
|
||||
<string name="keyboard_notification_entry_content_title">%1$s dostupných v Magikeyboard</string>
|
||||
<string name="keyboard_notification_entry_content_text">%1$s</string>
|
||||
@@ -362,7 +359,7 @@
|
||||
<string name="warning_sure_remove_data">Chcete napriek tomu tieto údaje odstrániť\?</string>
|
||||
<string name="warning_database_info_changed">Informácie obsiahnuté vo vašom databázovom súbore boli upravené mimo aplikácie.</string>
|
||||
<string name="unavailable">Táto databáza zatiaľ nemá uložené poverenia.</string>
|
||||
<string name="advanced_unlock_prompt_not_initialized">Nie je možné inicializovať výzvu na rozšírené odomknutie.</string>
|
||||
<string name="advanced_unlock_prompt_not_initialized">Nepodarilo sa zahájiť výzvu na odomknutie zariadenia.</string>
|
||||
<string name="content">Obsah</string>
|
||||
<string name="database_data_remove_unlinked_attachments_title">Odstráňte neprepojené údaje</string>
|
||||
<string name="recycle_bin_title">Použitie koša</string>
|
||||
@@ -429,7 +426,7 @@
|
||||
<string name="error_save_database">Databázu sa nepodarilo uložiť.</string>
|
||||
<string name="error_otp_secret_key">Tajný kľúč musí byť vo formáte Base32.</string>
|
||||
<string name="error_start_database_action">Pri vykonávaní akcie s databázou sa vyskytla chyba.</string>
|
||||
<string name="error_challenge_already_requested">Výzva už bola vyžiadaná</string>
|
||||
<string name="error_challenge_already_requested">Výzva už bola vyžiadaná.</string>
|
||||
<string name="file_not_found_content">Nepodarilo sa nájsť súbor. Skúste ho znova otvoriť z prehliadača súborov.</string>
|
||||
<string name="list_entries_show_username_summary">Zobrazuje používateľské mená v zoznamoch záznamov</string>
|
||||
<string name="list_groups_show_number_entries_title">Zobraziť počet záznamov</string>
|
||||
@@ -452,12 +449,12 @@
|
||||
<string name="warning_database_info_changed_options">Zlúčte údaje, prepíšte externé úpravy uložením databázy alebo ju znova načítajte s najnovšími zmenami.</string>
|
||||
<string name="warning_database_info_reloaded">Opätovné načítanie databázy vymaže lokálne upravené údaje.</string>
|
||||
<string name="warning_keyfile_integrity">Hash súboru nie je zaručený, pretože Android môže svoje údaje meniť za chodu. Pre správnu integritu zmeňte príponu súboru na .bin.</string>
|
||||
<string name="advanced_unlock_prompt_extract_credential_message">Extrahujte poverenia databázy pomocou pokročilých údajov o odomknutí</string>
|
||||
<string name="advanced_unlock_prompt_extract_credential_message">Extrahovať poverenia z databázy pomocou údajov z odomykaného zariadenia</string>
|
||||
<string name="lock_database_screen_off_title">Zámok obrazovky</string>
|
||||
<string name="lock_database_back_root_title">Stlačte \'Späť\' pre uzamknutie</string>
|
||||
<string name="device_credential_unlock_enable_title">Odblokovanie zariadenia heslom</string>
|
||||
<string name="device_credential_unlock_enable_title">Odomykanie heslom zariadenia</string>
|
||||
<string name="biometric_auto_open_prompt_title">Výzva na automatické otvorenie</string>
|
||||
<string name="biometric_delete_all_key_summary">Odstráňte všetky šifrovacie kľúče súvisiace s pokročilým rozpoznávaním odomknutia</string>
|
||||
<string name="biometric_delete_all_key_summary">Odstrániť všetky šifrovacie kľúče súvisiace s rozpoznávaním odomykania zariadením</string>
|
||||
<string name="unavailable_feature_hardware">Nepodarilo sa nájsť zodpovedajúci hardvér.</string>
|
||||
<string name="assign_master_key">Priraďte hlavný kľúč</string>
|
||||
<string name="data">Údaje</string>
|
||||
@@ -468,7 +465,7 @@
|
||||
<string name="max_history_size_title">Maximálna veľkosť</string>
|
||||
<string name="keyboard_key_vibrate_title">Vybrovať pri stlačení klávesy</string>
|
||||
<string name="keyboard_previous_search_summary">Automaticky prepnúť späť na predchádzajúcu klávesnicu na obrazovke vyhľadávania</string>
|
||||
<string name="keyboard_previous_fill_in_title">Automatická akcia tlačidla</string>
|
||||
<string name="keyboard_previous_fill_in_title">Prepnúť naspäť</string>
|
||||
<string name="autofill_application_id_blocklist_summary">Blocklist, ktorý zabraňuje automatickému vypĺňaniu aplikácií</string>
|
||||
<string name="autofill_web_domain_blocklist_summary">Blocklist, ktorý zabraňuje automatickému vypĺňaniu webových domén</string>
|
||||
<string name="education_lock_title">Uzamknúť databázu</string>
|
||||
@@ -479,13 +476,12 @@
|
||||
<string name="style_choose_title">Téma aplikácie</string>
|
||||
<string name="protection">Ochrana</string>
|
||||
<string name="configure_biometric">Nie sú zaregistrované žiadne biometrické údaje ani poverenia zariadenia.</string>
|
||||
<string name="advanced_unlock_scanning_error">Chyba rozšíreného odomykania: %1$s</string>
|
||||
<string name="lock">Zamknúť</string>
|
||||
<string name="custom_fields">Vlastné polia</string>
|
||||
<string name="education_sort_summary">Vyberte spôsob triedenia záznamov a skupín.</string>
|
||||
<string name="icon_pack_choose_title">Balík ikon</string>
|
||||
<string name="template_group_name">Šablóny</string>
|
||||
<string name="menu_advanced_unlock_settings">Odomknutie zariadenia</string>
|
||||
<string name="menu_advanced_unlock_settings">Odomknutie zariadením</string>
|
||||
<string name="menu_copy">Kopírovať</string>
|
||||
<string name="autofill_block_restart">Ak chcete aktivovať blokovanie, reštartujte aplikáciu obsahujúcu formulár.</string>
|
||||
<string name="content_description_keyfile_checkbox">Začiarkavacie políčko Keyfile</string>
|
||||
@@ -510,7 +506,7 @@
|
||||
<string name="email_address">Email adresa</string>
|
||||
<string name="wireless">Wi-Fi</string>
|
||||
<string name="ssid">SSID</string>
|
||||
<string name="error_registration_read_only">Ukladanie novej položky nie je povolené v databáze iba na čítanie</string>
|
||||
<string name="error_registration_read_only">Ukladanie novej položky nie je povolené v databáze iba na čítanie.</string>
|
||||
<string name="error_field_name_already_exists">Názov poľa už existuje.</string>
|
||||
<string name="error_database_uri_null">Identifikátor URI databázy nie je možné získať.</string>
|
||||
<string name="error_rebuild_list">Zoznam nie je možné správne vytvoriť.</string>
|
||||
@@ -531,7 +527,7 @@
|
||||
<string name="autofill_sign_in_prompt">Prihláste sa pomocou KeePassDX</string>
|
||||
<string name="autofill_select_entry">Vybrať záznam…</string>
|
||||
<string name="lock_database_show_button_title">Zobraziť tlačidlo zámku</string>
|
||||
<string name="advanced_unlock">Pokročilé odomykanie</string>
|
||||
<string name="advanced_unlock">Odomykanie zariadením</string>
|
||||
<string name="database_data_remove_unlinked_attachments_summary">Odstráni prílohy obsiahnuté v databáze, ktoré nie sú prepojené so záznamom</string>
|
||||
<string name="settings_database_force_changing_master_key_next_time_title">Vynútiť obnovenie nabudúce</string>
|
||||
<string name="allow_copy_password_summary">Povoliť skopírovanie vstupného hesla a chránených polí do schránky</string>
|
||||
@@ -565,7 +561,7 @@
|
||||
<string name="error_no_response_from_challenge">Nedá sa získať odpoveď z výzvy.</string>
|
||||
<string name="error_cancel_by_user">Zrušené užívateľom.</string>
|
||||
<string name="error_driver_required">Vyžaduje sa ovládač pre %1$s.</string>
|
||||
<string name="error_unable_merge_database_kdb">Nedá sa zlúčiť z databázy V1.</string>
|
||||
<string name="error_unable_merge_database_kdb">Nedá sa zlúčiť s kdb databázou</string>
|
||||
<string name="error_location_unknown">Umiestnenie databázy je neznáme, akciu databázy nie je možné vykonať.</string>
|
||||
<string name="error_hardware_key_unsupported">Hardvérový kľúč nie je podporovaný.</string>
|
||||
<string name="error_empty_key">Kľúč nemôže byť prázdny.</string>
|
||||
@@ -577,7 +573,7 @@
|
||||
<string name="hide_broken_locations_title">Skryť nefunkčné odkazy na databázu</string>
|
||||
<string name="hide_broken_locations_summary">Skryť nefunkčné odkazy v zozname najnovších databáz</string>
|
||||
<string name="import_app_properties_title">Importujte nastavenia aplikácie</string>
|
||||
<string name="error_import_app_properties">Chyba pri importovaní nastavení aplikácie</string>
|
||||
<string name="error_import_app_properties">Chyba pri importovaní nastavení aplikácie.</string>
|
||||
<string name="export_app_properties_title">Exportujte nastavenia aplikácie</string>
|
||||
<string name="export_app_properties_summary">Vytvorte súbor na export nastavení aplikácie</string>
|
||||
<string name="sort_title">Nadpis</string>
|
||||
@@ -594,7 +590,7 @@
|
||||
<string name="warning_empty_keyfile_explanation">Obsah súboru keyfile by sa nikdy nemal meniť a v najlepšom prípade by mal obsahovať náhodne generované údaje.</string>
|
||||
<string name="path">Cesta</string>
|
||||
<string name="merge_success">Zlúčenie bolo úspešne dokončené</string>
|
||||
<string name="advanced_unlock_prompt_extract_credential_title">Otvorte databázu s pokročilým rozpoznávaním odomknutia</string>
|
||||
<string name="advanced_unlock_prompt_extract_credential_title">Rozpoznanie odomykania zariadenia</string>
|
||||
<string name="credential_before_click_advanced_unlock_button">Zadajte heslo a potom kliknite na toto tlačidlo.</string>
|
||||
<string name="properties">Vlastnosti</string>
|
||||
<string name="menu_appearance_settings">Vzhľad</string>
|
||||
@@ -627,7 +623,7 @@
|
||||
<string name="enable_read_only_title">Ochrana proti zápisu</string>
|
||||
<string name="enable_read_only_summary">V predvolenom nastavení otvorte databázu len na čítanie</string>
|
||||
<string name="enable_keep_screen_on_title">Nechajte obrazovku zapnutú</string>
|
||||
<string name="enable_keep_screen_on_summary">Pri sledovaní záznamu majte zapnutú obrazovku</string>
|
||||
<string name="enable_keep_screen_on_summary">Pri sledovaní alebo úprave záznamu ponechať obrazovku zapnutú</string>
|
||||
<string name="enable_screenshot_mode_title">Režim snímky obrazovky</string>
|
||||
<string name="enable_screenshot_mode_summary">Povoliť aplikáciám tretích strán zaznamenávať alebo vytvárať snímky obrazovky aplikácie</string>
|
||||
<string name="enable_education_screens_title">Vzdelávacie nápovedy</string>
|
||||
@@ -644,7 +640,7 @@
|
||||
<string name="education_lock_summary">Rýchlo uzamknite svoju databázu, aplikáciu môžete nastaviť tak, aby sa po chvíli uzamkla a tiež, keď sa obrazovka vypne.</string>
|
||||
<string name="education_sort_title">Radenie položiek</string>
|
||||
<string name="education_donation_title">Zapojiť sa</string>
|
||||
<string name="html_text_donation">Aby sme si zachovali slobodu a boli vždy aktívni, počítame s vaším <strong>príspevkom.</strong></string>
|
||||
<string name="html_text_donation"><strong>Príspevkom</strong> projektu <i>(peněžně, kódem, překlady)</i> mu pomôžete žiť a prosperovať a dostanete prístup k postupu odomknutia <strong>motívov</strong>.</string>
|
||||
<string name="html_text_dev_feature_buy_pro">Zakúpením verzie <strong>pro</strong></string>
|
||||
<string name="html_text_dev_feature_contibute">Ak <strong>prispejete</strong>,</string>
|
||||
<string name="html_text_dev_feature_thanks">Ďakujem pekne za prispevok.</string>
|
||||
@@ -674,4 +670,33 @@
|
||||
<string name="menu_advanced_unlock_settings_summary">Biometria, prístupové údaje do zariadenia</string>
|
||||
<string name="menu_database_settings_summary">Metadáta, kôš, šablóny, história</string>
|
||||
<string name="menu_app_settings_summary">Hľadať, uzamknutie, história, nastavenia</string>
|
||||
<string name="generate_keyfile">Vygenerovať súbor s kľúčom</string>
|
||||
<string name="recursive_number_entries_title">Rekurzívny počet záznamov</string>
|
||||
<string name="recursive_number_entries_summary">Rekurzívne vypočíta počet záznamov v skupine</string>
|
||||
<string name="warning_large_keyfile">Neodporúča sa pridávať veľký súbor s kľúčom, mohlo by to zabrániť otvoreniu databázy.</string>
|
||||
<string name="configure">Nastaviť</string>
|
||||
<string name="unlock_and_link_biometric">Prepojiť s odomykaním zariadenia</string>
|
||||
<string name="menu_appearance_settings_summary">Motívy, farby, vlastnosti</string>
|
||||
<string name="education_validate_entry_summary">Nezabudnite overiť svoj vstup a uložiť databázu.\n\nAk je zapnuté automatické uzamknutie a zabudnete, že ste niečo upravili, riskujete stratu údajov.</string>
|
||||
<string name="style_name_forest">Les</string>
|
||||
<string name="style_name_divine">Nadprirodzený</string>
|
||||
<string name="style_name_classic">Klasický</string>
|
||||
<string name="style_name_kunzite">Magický kameň</string>
|
||||
<string name="style_name_follow_system">Podľa systému</string>
|
||||
<string name="style_name_light">Svetlý</string>
|
||||
<string name="hide_templates_title">Skryť šablóny</string>
|
||||
<string name="hide_templates_summary">Šablóny sa nezobrazujú</string>
|
||||
<string name="warning_database_notification_permission">Oprávnenie na oznámenia umožňuje zobraziť stav databázy a uzamknúť ju ľahko dostupným tlačidlom.\n\nAk neaktivujete toto oprávnenie, databáza otvorená na pozadí nebude viditeľná ak je v popredí iná aplikácia.</string>
|
||||
<string name="warning_copy_permission">Oprávnenie na oznámenia je potrebné na použitie funkcie oznámenia o schránke.</string>
|
||||
<string name="later">Neskôr</string>
|
||||
<string name="education_validate_entry_title">Overiť vstup</string>
|
||||
<string name="warning_database_info_changed_options_read_only">Znovu načítať databázu s poslednými zmenami.</string>
|
||||
<string name="ask">Opýtať sa</string>
|
||||
<string name="unlock">Odomknúť</string>
|
||||
<string name="style_name_reply">Odpoveď</string>
|
||||
<string name="style_name_moon">Mesiac</string>
|
||||
<string name="style_name_simple">Jednoduchý</string>
|
||||
<string name="style_name_sun">Slnko</string>
|
||||
<string name="style_name_dark">Tmavý</string>
|
||||
<string name="nodes">Uzly</string>
|
||||
</resources>
|
||||
@@ -150,7 +150,7 @@
|
||||
<string name="template">Gjedhe</string>
|
||||
<string name="entry_otp">OTP</string>
|
||||
<string name="entry_user_name">Emër përdoruesi</string>
|
||||
<string name="error_file_not_create">S’u krijua dot kartelë</string>
|
||||
<string name="error_file_not_create">S’u krijua dot kartelë.</string>
|
||||
<string name="error_invalid_db">S’u lexua dot baza e të dhënave.</string>
|
||||
<string name="error_invalid_OTP">E fshehtë OTP e pavlefshme.</string>
|
||||
<string name="error_no_name">Jepni një emër.</string>
|
||||
@@ -174,7 +174,7 @@
|
||||
<string name="error_remove_file">Ndodhi një gabim teksa hiqeshin të dhëna kartele.</string>
|
||||
<string name="error_start_database_action">Ndodhi një gabim teksa kryhej një veprim te baza e të dhënave.</string>
|
||||
<string name="error_cancel_by_user">Anuluar nga përdoruesi.</string>
|
||||
<string name="error_unable_merge_database_kdb">S’arrihet të përzihet me një kartelë baze të dhënash kdb</string>
|
||||
<string name="error_unable_merge_database_kdb">S’arrihet të përzihet me një kartelë baze të dhënash kdb.</string>
|
||||
<string name="field_name">Emër fushe</string>
|
||||
<string name="field_value">Vlerë fushe</string>
|
||||
<string name="corrupted_file">Kartelë e dëmtuar.</string>
|
||||
@@ -344,7 +344,6 @@
|
||||
<string name="show_entry_colors_title">Ngjyra zërash</string>
|
||||
<string name="hide_expired_entries_title">Fshihi zërat e skaduar</string>
|
||||
<string name="error_XML_malformed">XML e keqformuar.</string>
|
||||
<string name="advanced_unlock_scanning_error">Gabim shkyçjeje pajisjeje: %1$s</string>
|
||||
<string name="autofill_block">Blloko vetëplotësim</string>
|
||||
<string name="allow_no_password_summary">Lejon prekjen e butoni “Hape”, nëse s’janë përzgjedhur kredenciale</string>
|
||||
<string name="about_description">Sendërtim për Android i përgjegjësit KeePass të fjalëkalimeve</string>
|
||||
@@ -362,4 +361,300 @@
|
||||
<string name="autofill_ask_to_save_data_summary">Pyet për ruajtje të dhënash, kur plotësohet mbushja e një formulari</string>
|
||||
<string name="autofill_application_id_blocklist_summary">Listë bllokimesh që pengon vetëplotësim nga aplikacione</string>
|
||||
<string name="autofill_web_domain_blocklist_title">Listë bllokimesh përkatësish Web</string>
|
||||
<string name="style_name_classic">Klasik</string>
|
||||
<string name="style_name_simple">E thjeshtë</string>
|
||||
<string name="style_name_reply">Përgjigju</string>
|
||||
<string name="content_description_hardware_key_checkbox">Kutizë kyçi hardware</string>
|
||||
<string name="content_description_repeat_toggle_password_visibility"/>
|
||||
<string name="content_description_entry_foreground_color">Ngjyrë e përparme e zërit</string>
|
||||
<string name="content_description_entry_background_color">Ngjyrë sfondi e zërit</string>
|
||||
<string name="navigation_drawer_open">Panel lëvizjesh i hapur</string>
|
||||
<string name="invalid_db_same_uuid">Ka tashmë %1$s me të njëjtën UUID %2$s.</string>
|
||||
<string name="html_about_contribution">Që të mund të <strong>ruajmë lirinë tonë</strong>, <strong>ndreqim të meta</strong>, <strong>shtojmë veçori</strong> dhe <strong>të jemi përherë aktivë</strong>, kemi shpresa për <strong>kontribut</strong> tuajin.</string>
|
||||
<string name="error_location_unknown">Vendndodhja e bazës së të dhënave është e panjohur, veprimi mbi bazën e të dhënave s’mund të kryhet.</string>
|
||||
<string name="error_hardware_key_unsupported">S’mbulohet kyçi hardware.</string>
|
||||
<string name="generate_keyfile">Prodho kartelë kyçi</string>
|
||||
<string name="recursive_number_entries_title">Numër rekursiv zërash</string>
|
||||
<string name="recursive_number_entries_summary">Llogarit në mënyrë rekursive numrin e zërave në një grup</string>
|
||||
<string name="show_uuid_summary">Shfaq UUID-në e lidhur me një zë, ose grup</string>
|
||||
<string name="list_size_title">Madhësi e objekteve të listës</string>
|
||||
<string name="list_size_summary">Madhësi teksti te lista e elementëve</string>
|
||||
<string name="menu_app_settings_summary">Kërkim, kyçje, historik, veti</string>
|
||||
<string name="menu_form_filling_settings">Plotësim formularësh</string>
|
||||
<string name="menu_open_file_read_and_write">E ndryshueshme</string>
|
||||
<string name="search_mode">Mënyra kërkim</string>
|
||||
<string name="save_mode"/>
|
||||
<string name="remember_keyfile_locations_summary">Ndjek se ku depozitohen kartela kyç</string>
|
||||
<string name="remember_hardware_key_title">Mbaj mend kyçe hardware</string>
|
||||
<string name="remember_hardware_key_summary">Ndjek kyçet hardware të përdorur</string>
|
||||
<string name="hide_broken_locations_summary">Fshihi lidhjen e dëmtuara te lista e bazave të të dhënave së fundi</string>
|
||||
<string name="export_app_properties_summary">Krijoni një kartelë ku të eksportohen rregullime aplikacioni</string>
|
||||
<string name="success_import_app_properties">Rregullimet e aplikacionit u importuan</string>
|
||||
<string name="error_import_app_properties">Gabim gjatë importimit të rregullimeve të aplikacionit</string>
|
||||
<string name="success_export_app_properties">Rregullimet e aplikacionit u eksportuan</string>
|
||||
<string name="encryption_explanation">Algoritëm fshehtëzimi të dhënash i përdorur për krejt të dhënat</string>
|
||||
<string name="rounds_explanation">Më tepër raunde fshehtëzimi furnizojnë mbrojtje më të madhe kundër sulmesh hyrjeje me zor, por mund të ngadalësojnë vërtet ngarkimin dhe ruajtjen e gjërave.</string>
|
||||
<string name="parallelism_explanation">Shkallë paralelizmi (d.m.th. numër rrjedhash) të përdorur nga funksionimi i derivimit të kyçeve.</string>
|
||||
<string name="filter">Filtër</string>
|
||||
<string name="sort_db">Në rend natyror</string>
|
||||
<string name="warning_database_info_changed_options_read_only">Ringarko bazën e të dhënave me ndryshimet më të reja.</string>
|
||||
<string name="list_password_generator_options_title">Shenja fjalëkalimi</string>
|
||||
<string name="unavailable_feature_hardware">S’u gjet dot hardware-i përkatës.</string>
|
||||
<string name="templates_group_uuid_title">Grup gjedhesh</string>
|
||||
<string name="settings_database_force_changing_master_key_title">Detyro rinovimin</string>
|
||||
<string name="allow_copy_password_warning">Kujdes: E papastra përdoret nga krejt aplikacionet. Nëse kopjohen të dhëna rezervat, mund të merren nga tjetër software.</string>
|
||||
<string name="keyboard_previous_search_title">Skenë kërkimesh</string>
|
||||
<string name="keyboard_previous_fill_in_title">Rikthehu</string>
|
||||
<string name="autofill_inline_suggestions_keyboard">U shtuan sugjerime vetëplotësimi.</string>
|
||||
<string name="download">Shkarkoje</string>
|
||||
<string name="download_attachment">Shkarkoni %1$s</string>
|
||||
<string name="style_name_forest">Pyll</string>
|
||||
<string name="style_name_moon">Hënë</string>
|
||||
<string name="style_name_sun">Diell</string>
|
||||
<string name="style_name_follow_system">Ndiq sistemin</string>
|
||||
<string name="style_name_light">E çelët</string>
|
||||
<string name="hide_templates_title">Fshihi gjedhet</string>
|
||||
<string name="hide_templates_summary">Gjedhe s’shfaqen</string>
|
||||
<string name="invalid_credentials">S’u lexuan dot kredencialet.</string>
|
||||
<string name="nodes">Nyje</string>
|
||||
<string name="list_entries_show_username_summary">Shfaq emra përdoruesish te lista e zërave</string>
|
||||
<string name="menu_form_filling_settings_summary">Tastierë, vetëplotësim, e papastër</string>
|
||||
<string name="menu_advanced_unlock_settings_summary">Biometri, kredenciale pajisjeje</string>
|
||||
<string name="contains_duplicate_uuid_procedure">Të zgjidhet problemi duke prodhuar UUID-ra të reja për zëra të përsëdytur, që të vazhdohet?</string>
|
||||
<string name="description_app_properties">Veti KeePassDX për administrim të rregullimeve të aplikacionit</string>
|
||||
<string name="warning_permanently_delete_nodes">Të fshihen përgjithmonë nyjat e përzgjedhura?</string>
|
||||
<string name="device_credential_unlock_enable_title">Shkyçje kredencialesh pajisjeje</string>
|
||||
<string name="device_credential_unlock_enable_summary">Ju lejon të përdorni kredencialet për te pajisja juaj për të hapur bazën e të dhënave</string>
|
||||
<string name="biometric_auto_open_prompt_title"/>
|
||||
<string name="temp_advanced_unlock_enable_title">Shkyçje e përkohshme pajisjeje</string>
|
||||
<string name="file_manager_install_description">Që të krijohen, hapen dhe ruhen kartela bazash të dhënash, lypset një përgjegjës kartelash që pranon veprime ACTION_CREATE_DOCUMENT dhe ACTION_OPEN_DOCUMENT.</string>
|
||||
<string name="content_description_keyfile_checkbox">Kutizë për kartelë kyçi</string>
|
||||
<string name="content_description_nav_header"/>
|
||||
<string name="navigation_drawer_close">Panel lëvizjesh i mbyllur</string>
|
||||
<string name="searchable"/>
|
||||
<string name="search_filters">Filtra kërkimesh</string>
|
||||
<string name="type"/>
|
||||
<string name="seed"/>
|
||||
<string name="error_out_of_memory">S’ka kujtesë për të ngarkuar krejt bazën tuaj të të dhënave.</string>
|
||||
<string name="error_rounds_too_large">“Raunde shndërrimi” shumë i lartë. Po vihet 2147483648.</string>
|
||||
<string name="error_string_key">Çdo varg duhet të ketë një emër fushe.</string>
|
||||
<string name="error_wrong_length">Te fusha “Gjatësi” jepni një numër të plotë pozitiv.</string>
|
||||
<string name="error_autofill_enable_service">S’u aktivizua dot shërbimi i vetëplotësimeve.</string>
|
||||
<string name="error_otp_counter">Numëratori duhet të jetë mes %1$d dhe %2$d.</string>
|
||||
<string name="error_otp_period">Periudha duhet të jetë mes %1$d dhe %2$d sekondash.</string>
|
||||
<string name="error_otp_digits">Token-i duhet të përmbajë %1$d deri në %2$d shifra.</string>
|
||||
<string name="error_string_type">Ky tekst s’përputhet me objektin e kërkuar.</string>
|
||||
<string name="error_upload_file">Ndodhi një gabim gjatë ngarkimit të të dhënave të kartelës.</string>
|
||||
<string name="colorize_password_summary">Ngjyrosi shenjat e fjalëkalimit sipas llojit</string>
|
||||
<string name="menu_merge_from">Përzje nga…</string>
|
||||
<string name="menu_file_selection_read_only">Mbrojtur nga shkrimi</string>
|
||||
<string name="menu_external_icon">Ikonë e jashtme</string>
|
||||
<string name="subdomain_search_summary">Kërko përkatësi web me kufizime për nënpërkatësitë</string>
|
||||
<string name="read_only">Mbrojtur nga shkrimi</string>
|
||||
<string name="export_app_properties_title">Eksportoni rregullime aplikacioni</string>
|
||||
<string name="advanced_unlock_prompt_store_credential_title">Lidhje për te shkyçje pajisjeje</string>
|
||||
<string name="encrypted_value_stored">U depozitua fjalëkalim i fshehtëzuar</string>
|
||||
<string name="temp_advanced_unlock_timeout_title">Skadim shkyçjeje pajisjeje</string>
|
||||
<string name="enter"/>
|
||||
<string name="education_advanced_unlock_title">Shkyçje baze të dhënash pajisjeje</string>
|
||||
<string name="info">Informacion</string>
|
||||
<string name="key_derivation_function">Funksion përftimi kyçesh</string>
|
||||
<string name="brackets">Kllapa</string>
|
||||
<string name="extended_ASCII">ASCII e Zgjeruar</string>
|
||||
<string name="clipboard_error">Disa pajisje s’do të lejojnë aplikacionet të përdorin të papastrën.</string>
|
||||
<string name="clipboard_timeout_summary">Kohëzgjatje e depozitimit te e papastra (nëse mbulohet nga pajisja juaj)</string>
|
||||
<string name="content_description_node_children">Pjella nyjeje</string>
|
||||
<string name="select_to_copy">Përzgjidhni të kopjohet %1$s në të papastër</string>
|
||||
<string name="waiting_challenge_request">Po pritet për kërkesë sfide…</string>
|
||||
<string name="waiting_challenge_response">Po pritet për përgjigje sfide…</string>
|
||||
<string name="html_about_privacy"><strong>S’merren hollësi përdoruesi</strong>, ky aplikacion s’lidhet me ndonjë shërbyes, funksionon vetëm lokalisht dhe respekton plotësisht privatësinë e përdoruesve.</string>
|
||||
<string name="html_about_licence">KeePassDX © %1$d Kunzisoft është <strong>me burim të hapët</strong> dhe <strong>pa reklama</strong>. \nJepet siç është, nën licencën <strong>GPLv3</strong>, pa ndonjë garanci.</string>
|
||||
<string name="hardware_key">Kyç hardware</string>
|
||||
<string name="place_of_issue">Vend i problemit</string>
|
||||
<string name="error_can_not_handle_uri">S’u trajtua dot kjo URI në KeePassDX.</string>
|
||||
<string name="error_invalid_path">Sigurohuni se shtegu është i saktë.</string>
|
||||
<string name="error_word_reserved">Kjo fjalë është e rezervuar dhe s’mund të përdoret.</string>
|
||||
<string name="error_load_database_KDF_memory">S’u ngarkua dot kyçi. Provoni të ulni “Përdorim Kujtese” KDF.</string>
|
||||
<string name="error_pass_gen_type">Duhet përzgjedhur të paktën një lloj prodhimi fjalëkalimi.</string>
|
||||
<string name="error_create_database_file">S’arrihet të krijohet bazë të dhënash me këtë fjalëkalim dhe kartelë kyç.</string>
|
||||
<string name="error_registration_read_only">Në baza të dhënash që janë vetëm-për-lexim s’lejohet ruajtja e një objekti të ri</string>
|
||||
<string name="error_database_uri_null">S’mund të merret URI baze të dhënash.</string>
|
||||
<string name="error_challenge_already_requested">Sfida është kërkuar tashmë</string>
|
||||
<string name="error_response_already_provided">Përgjigja është dhënë tashmë.</string>
|
||||
<string name="error_no_response_from_challenge">S’arrihet të merret përgjigja nga sfida.</string>
|
||||
<string name="error_driver_required">Përudhësi për %1$s është i domosdoshëm.</string>
|
||||
<string name="file_not_found_content">S’u gjet kartelë. Provoni ta rihapni që nga shfletuesi juaj i kartelave.</string>
|
||||
<string name="show_otp_token_summary">Bën shfaqjen e token-ëve OTP te lista e zërave</string>
|
||||
<string name="menu_database_settings_summary">Tejtëdhëna, kosh ricklimesh, gjedhe, historik</string>
|
||||
<string name="menu_security_settings_summary">Fshehtëzim, funksion derivimi kyçesh</string>
|
||||
<string name="master_key_settings_summary">Ndryshojeni, rinovim</string>
|
||||
<string name="menu_move"/>
|
||||
<string name="menu_merge_database">Përzieni të dhëna</string>
|
||||
<string name="menu_keystore_remove_key">Fshi kyç shkyçjeje pajisjeje</string>
|
||||
<string name="subdomain_search_title">Kërkim nënpërkatësie</string>
|
||||
<string name="read_only_warning">Në varësi të përgjegjësit tuaj të kartelave, KeePassDX-i mund të mos lejojë të shkruhet në depozitën tuaj.</string>
|
||||
<string name="remember_database_locations_summary">Ndjek se ku depozitohen bazat e të dhënave</string>
|
||||
<string name="error_export_app_properties">Gabim gjatë eksportimit të rregullimeve të aplikacionit</string>
|
||||
<string name="memory_usage_explanation">Sasi kujtese për t’u përdorur nga funksioni i derivimit të kyçeve.</string>
|
||||
<string name="command_execution">Po përmbushet urdhri…</string>
|
||||
<string name="sort_ascending">Më i ulti së pari ↓</string>
|
||||
<string name="sort_recycle_bin_bottom">Koshi i riciklimeve në fund</string>
|
||||
<string name="warning_password_encoding">Shmangni shenja fjalëkalimesh jashtë formatit të kodimit të teksteve te kartelë baze të dhënash (shenjat që nuk njihen, shndërrohen në të njëjtën shkronjë).</string>
|
||||
<string name="warning_database_link_revoked">Hyrja te kartela u shfuqizua nga përgjegjës kartelash</string>
|
||||
<string name="warning_database_already_opened">Ka tashmë hapur një bazë kartelash, mbylleni së pari, që të hapni një të re</string>
|
||||
<string name="warning_empty_recycle_bin">Të fshihen përgjithmonë krejt nyjat nga koshi i riciklimeve?</string>
|
||||
<string name="warning_remove_unlinked_attachment">Heqja e të dhënave të palidhura mund të zvogëlojë madhësinë e bazës suaj të të dhënave, por mundet edhe të fshijë të dhëna të përdorura për shtojca KeePass.</string>
|
||||
<string name="warning_empty_keyfile">S’rekomandohet të shtoni një kartelë të zbrazët kyçesh.</string>
|
||||
<string name="warning_empty_keyfile_explanation">Lënda e kartelës kyç s’duhet ndryshuar kurrë dhe, në rastin më të mirë, duhet të përmbajnë të dhëna të prodhuara kuturu.</string>
|
||||
<string name="warning_database_info_changed">Informacioni që përmban kartela juaj e bazës së të dhënave është ndryshuar jashtë aplikacionit.</string>
|
||||
<string name="warning_database_info_reloaded">Ringarkimi i bazës së të dhënave do të fshijë të dhëna të ndryshuara lokalisht.</string>
|
||||
<string name="warning_exact_alarm">S’keni lejuar aplikacioni të përdorë një alarm të saktë. Si rrjedhojë, veçoritë që duan një kohëmatës s’do të punojnë me kohë të saktë.</string>
|
||||
<string name="later">Më vonë</string>
|
||||
<string name="ask">Pyet</string>
|
||||
<string name="merge_success">Përzierja u plotësua me sukses</string>
|
||||
<string name="build_label">Montimi %1$s</string>
|
||||
<string name="configure">Formësojeni</string>
|
||||
<string name="configure_biometric">S’janë regjistruar kredenciale biometrike apo të pajisjes.</string>
|
||||
<string name="biometric_security_update_required">Lypset përditësim sigurie biometrike.</string>
|
||||
<string name="keystore_not_accessible">Depoja e kyçeve është gatitur si duhet.</string>
|
||||
<string name="unlock_and_link_biometric">Lidhje shkyçjeje pajisjeje</string>
|
||||
<string name="advanced_unlock_prompt_extract_credential_title">Njohje shkyçjeje pajisjeje</string>
|
||||
<string name="menu_appearance_settings_summary">Tema, ngjyra dhe atribute</string>
|
||||
<string name="autofill_service_name">Vetëplotësim formularësh me KeePassDX</string>
|
||||
<string name="clipboard_notifications_title">Njoftime mbi të papastrën</string>
|
||||
<string name="clipboard_notifications_summary">Shfaq njoftime të papastre te fusha kopjimi, kur shihet një zë</string>
|
||||
<string name="lock_database_back_root_title">Shtypni “Mbrapsht”, që të kyçet</string>
|
||||
<string name="lock_database_back_root_summary">Kyçe bazën e të dhënave, kur përdoruesi klikon butonin “Mbrapsht” te skena e rrënjës</string>
|
||||
<string name="lock_database_show_button_summary">Bën shfaqjen të butonit të kyçjeve te ndërfaqja e përdoruesit</string>
|
||||
<string name="advanced_unlock_explanation_summary">Përdorni shkyçjen e pajisjes, për ta hapur më kollaj bazën e të dhënave</string>
|
||||
<string name="advanced_unlock_timeout">Mbarim kohe shkyçjeje pajisjeje</string>
|
||||
<string name="unavailable_feature_text">S’u nis dot kjo veçori.</string>
|
||||
<string name="unavailable_feature_version">Pajisja xhiron Android %1$s, por duhet %2$s ose i mëvonshëm.</string>
|
||||
<string name="database_data_compression_summary">Ngjeshja e të dhënave zvogëlon madhësinë e bazës së të dhënave</string>
|
||||
<string name="database_data_remove_unlinked_attachments_title">Hiq të dhëna të palidhura</string>
|
||||
<string name="database_data_remove_unlinked_attachments_summary">Heq bashkëngjitje që përmban baza e të dhënave, por që s’janë të lidhura me ndonjë zë</string>
|
||||
<string name="recycle_bin_summary">I kalon grupet dhe zërat te grupi “Kosh riciklimesh”, para fshirjes</string>
|
||||
<string name="recycle_bin_group_title">Grup koshi riciklimesh</string>
|
||||
<string name="templates_group_enable_summary">Përdorni gjedhe dinamike për të plotësuar fushat e një zëri</string>
|
||||
<string name="max_history_items_summary">Kufizoni numrin e objekteve të historikut për zë</string>
|
||||
<string name="max_history_size_summary">Kufizoni madhësi historiku për zë</string>
|
||||
<string name="settings_database_recommend_changing_master_key_title">Rekomando rinovim</string>
|
||||
<string name="settings_database_recommend_changing_master_key_summary">Rekomando ndryshimin e kyçit të përgjithshëm (ditë)</string>
|
||||
<string name="settings_database_force_changing_master_key_next_time_title">Detyro rinovimin herës tjetër</string>
|
||||
<string name="monospace_font_fields_enable_title">Lloj shkronjash për fushën</string>
|
||||
<string name="allow_copy_password_title">Besim të papastre</string>
|
||||
<string name="clear_clipboard_notification_title">Spastroje gjatë mbylljes</string>
|
||||
<string name="device_keyboard_setting_title">Rregullime tastiere pajisjeje</string>
|
||||
<string name="keyboard_notification_entry_title">Hollësi njoftimi</string>
|
||||
<string name="keyboard_save_search_info_title"/>
|
||||
<string name="keyboard_notification_entry_clear_close_title">Spastroje gjatë mbylljes</string>
|
||||
<string name="keyboard_entry_timeout_summary">Mbarim kohe për spastrim zëri tastiere</string>
|
||||
<string name="keyboard_notification_entry_content_title">%1$s i gatshëm në Magikeyboard</string>
|
||||
<string name="keyboard_theme_title">Temë tastiere</string>
|
||||
<string name="keyboard_auto_go_action_title"/>
|
||||
<string name="keyboard_key_vibrate_title">Shtypje tastesh me dridhje</string>
|
||||
<string name="autofill_save_search_info_title">Ruaj hollësi kërkimi</string>
|
||||
<string name="autofill_web_domain_blocklist_summary">Listë bllokimesh që pengon vetëplotësim përkatësish web</string>
|
||||
<string name="enable_read_only_title">Mbrojtur nga shkrimi</string>
|
||||
<string name="enable_keep_screen_on_title">Mbaje ekranin ndezur</string>
|
||||
<string name="enable_education_screens_title">Ndihmëza edukative</string>
|
||||
<string name="education_search_summary">Jepni titull, emër përdoruesi, ose lëndë fushash të tjera, për të marrë fjalëkalimet tuaja.</string>
|
||||
<string name="education_validate_entry_title">Vleftësoje zërin</string>
|
||||
<string name="education_add_attachment_summary">Ngarkoni te zëri juaj një bashkëngjitje, për të ruajtur të dhëna të rëndësishme të jashtme.</string>
|
||||
<string name="education_setup_OTP_title">Ujdisni OTP</string>
|
||||
<string name="education_setup_OTP_summary">Ujdisni administrim fjalëkalimesh vetëm për një herë (HOTP / TOTP), që të prodhohet një token i domosdoshëm për mirëfilltësimin dyfaktorësh (2FA).</string>
|
||||
<string name="html_text_dev_feature_buy_pro">Duke blerë versionin <strong>pro</strong>,</string>
|
||||
<string name="entropy_calculate">Entropi: Njehsojeni…</string>
|
||||
<string name="consider_chars_filter">Shenja për t’u marrë parasysh</string>
|
||||
<string name="ignore_chars_filter">Shenja për t’u marrë shpërfillur</string>
|
||||
<string name="screenshot_mode_banner_text">Mënyrë fotoje ekrani</string>
|
||||
<string name="style_brightness_summary">Përzgjidhni tema të çelëta ose të errëta</string>
|
||||
<string name="icon_pack_choose_summary">Paketë ikonash të përdorura te aplikacioni</string>
|
||||
<string name="hide_expired_entries_summary">Zërat e skaduar nuk shfaqen</string>
|
||||
<string name="set_autofill_service_title">Caktoni shërbim parazgjedhje vetëplotësimesh</string>
|
||||
<string name="autofill_explanation_summary">Aktivizoni vetëplotësimet, për të plotësuar shpejt formularë në aplikacione të tjerë</string>
|
||||
<string name="autofill_preference_title">Rregullime vetëplotësimi</string>
|
||||
<string name="password_size_summary">Cakton madhësinë parazgjedhje për fjalëkalimet e prodhuar</string>
|
||||
<string name="list_password_generator_options_summary">Caktoni shenja të lejuara për prodhuesin e fjalëkalimeve</string>
|
||||
<string name="clipboard_explanation_summary">Kopjoni fusha zëri duke përdorur të papastrën e pajisjes tuaj</string>
|
||||
<string name="clipboard_warning">Nëse fshirja e automatizuar e të papastrës dështon, fshijeni dorazi historikun e saj.</string>
|
||||
<string name="lock_database_screen_off_summary">Kyçe bazën e të dhënave, pas pak sekondash që ekrani është i fikur</string>
|
||||
<string name="unlock">Shkyçe</string>
|
||||
<string name="autofill_inline_suggestions_title">Sugjerime brendazi</string>
|
||||
<string name="enable_screenshot_mode_title">Mënyrë fotoje ekrani</string>
|
||||
<string name="education_sort_title">Renditje objektesh</string>
|
||||
<string name="html_text_dev_feature_contibute">Duke <strong>kontribuar</strong>,</string>
|
||||
<string name="download_complete">U plotësua!</string>
|
||||
<string name="download_canceled">U anulua!</string>
|
||||
<string name="entropy">Entropi: %1$s bit</string>
|
||||
<string name="entropy_high">Entropi: E lartë</string>
|
||||
<string name="style_name_dark">E errët</string>
|
||||
<string name="biometric_auto_open_prompt_summary">Kërko automatikisht shkyçje pajisjeje, nëse baza e të dhënave është ujdisur ta përdorë</string>
|
||||
<string name="temp_advanced_unlock_enable_summary">Mos depozito ndonjë lëndë të fshehtëzuar për të përdorur shkyçje pajisjeje</string>
|
||||
<string name="keyboard_previous_search_summary">Kthehu automatikisht te tastiera e mëparshme, te skena e kërkimeve</string>
|
||||
<string name="keyboard_previous_fill_in_summary">Pas ekzekutimit të “Auto key action”, kthehu automatikisht te tastiera e mëparshme</string>
|
||||
<string name="keyboard_previous_lock_summary">Pas kyçjes së bazës së të dhënave, kthehu automatikisht te tastiera e mëparshme</string>
|
||||
<string name="autofill_close_database_summary">Mbylle bazën e të dhënave, pas një përzgjedhjeje vetëplotësimi</string>
|
||||
<string name="education_entry_new_field_summary">Regjistroni një fushë shtesë, shtoni një vlerë dhe, në daçi, mbrojeni.</string>
|
||||
<string name="education_sort_summary">Zgjidhni si renditen zërat dhe grupet.</string>
|
||||
<string name="clear_clipboard_notification_summary">Kyçe bazën e të dhënave, kur skadon kohëzgjatja e të papastrës, ose njoftimi është mbyllur pasi filloni ta përdorni</string>
|
||||
<string name="keyboard_selection_entry_summary">Kur shihet një zë në KeePassDX, populloje Magikeyboard-in me atë zë</string>
|
||||
<string name="html_text_dev_feature_upgrade">Mos harroni ta mbani aplikacionin tuaj të përditësuar, duke instaluar versione të rinj.</string>
|
||||
<string name="advanced_unlock_invalid_key">S’mund të lexohet kyç shkyçjeje pajisjeje. Ju lutemi, fshijeni dhe përsëritni procedurën e njohjes së shkyçjeve.</string>
|
||||
<string name="temp_advanced_unlock_timeout_summary">Kohëzgjatje përdorimi shkyçjeve pajisjeje, para se të fshihet lënda e saj</string>
|
||||
<string name="monospace_font_fields_enable_summary">Ndryshoni lloj shkronjash të përdorura te fusha, për pamje më të mirë të shenjave</string>
|
||||
<string name="allow_copy_password_summary">Lejo kopjimin në të papastër të fjalëkalimit të zërit dhe fushave të mbrojtura</string>
|
||||
<string name="keyboard_save_search_info_summary">Provo të ruhet informacioni i dhënë, kur bëhet një përzgjedhje dorazi zëri, për përdorim më të kollajtë në të ardhmen</string>
|
||||
<string name="keyboard_notification_entry_clear_close_summary">Mbylle bazën e të dhënave, kur mbyllet njoftimi</string>
|
||||
<string name="keyboard_previous_database_credentials_summary">Kthehu automatikisht te tastiera e mëparshme, te skena e kredencialeve për bazën e të dhënave</string>
|
||||
<string name="autofill_manual_selection_summary">Shfaq mundësi për ta lënë përdoruesin të përzgjedhë zë baze të dhënash</string>
|
||||
<string name="autofill_save_search_info_summary">Provo të ruash informacion, kur bëhet një përzgjedhje dorazi e zërit, për përdorim më të kollajtë në të ardhmen</string>
|
||||
<string name="autofill_read_only_save">S’lejohet ruajtje të dhënash për një bazë të dhënash të hapur vetëm-për-lexim.</string>
|
||||
<string name="enable_read_only_summary">Si parazgjedhje, bazën e të dhënave hape si vetëm-për-lexim</string>
|
||||
<string name="enable_auto_save_database_summary">Ruaje bazën e të dhënave pas çdo veprimi të rëndësishëm (nën mënyrën “E ndryshueshme”)</string>
|
||||
<string name="enable_keep_screen_on_summary">Mbaje hapur ekranin, kur shihet ose përpunohet një zë</string>
|
||||
<string name="enable_screenshot_mode_summary">Lejo aplikacione palësh të treta të regjistrojnë, ose bëjnë foto ekrani të aplikacionit</string>
|
||||
<string name="education_create_database_summary">Krijoni kartelën tuaj të parë të administrimit të fjalëkalimeve.</string>
|
||||
<string name="education_select_database_summary">Që të vazhdoni ta përdorni, hapeni kartelën e bazës suaj të mëparshme të të dhënave, që nga shfletuesi i kartelave.</string>
|
||||
<string name="education_new_node_summary">Zërat ju ndihmojnë të administroni identitetet tuaj dixhitalë.\n\nGrupet (~dosjet) sistemojnë zërat në bazën tuaj të të dhënave.</string>
|
||||
<string name="education_validate_entry_summary">Mos harroni të vlerësoni zërin tuaj dhe të ruani bazën tuaj të të dhënave.\n\nNëse është aktivizuar kyçje e automatizuar dhe harroni se po bënit një ndryshim, rrezikoni të humbni të dhënat tuaja.</string>
|
||||
<string name="education_unlock_summary">Që të shkyçet baza juaj e të dhënave, jepni fjalëkalimin dhe/ose kartelë kyç.\n\nKopjeruajeni kartelën e bazës suaj të të dhënave në një vend të sigurt, pas çdo ndryshimi.</string>
|
||||
<string name="html_text_feature_generosity">Ky <strong>stil pamor</strong> është i passhëm falë bujarisë tuaj.</string>
|
||||
<string name="html_text_dev_feature">Kjo veçori është <strong>duke u zhvilluar</strong> dhe lyp <strong>kontributin</strong> tuaj që të jetë gati së shpejti.</string>
|
||||
<string name="education_generate_password_summary">Prodhoni një fjalëkalim të fuqishëm, për t’ia përshoqëruar zërit tuaj, përcaktojeni kollaj, sipas kritereve të formularit dhe mos harroni të siguroni fjalëkalimin.</string>
|
||||
<string name="delete_entered_password_summary">Fshin fjalëkalimin e dhënë, pas një përpjekje për lidhje te një bazë të dhënash</string>
|
||||
<string name="education_lock_summary">Kyçeni shpejt e shpejt bazën tuaj të të dhënave, mund ta ujdisni aplikacionin ta mbyllë pas një farë kohe dhe kur fiket ekrani.</string>
|
||||
<string name="education_field_copy_summary">Ç’kopjohet te fusha, mund të ngjitet kudo.\n\nPërdorni metodën mbushje formularësh, nëse parapëlqeni.</string>
|
||||
<string name="education_donation_summary">Ndihmoni të shtohet qëndrueshmëria, siguria dhe në shtimin e më tepër veçorive.</string>
|
||||
<string name="html_text_ad_free">Ndryshe nga shumë aplikacione administrimi fjalëkalimesh, ky është <strong>pa reklama</strong>, <strong><em>software</em> i lirë në <em>copylef</em></strong> dhe s’grumbullon të dhëna personale në shërbyesit e tij, pavarësisht versionit që përdorni.</string>
|
||||
<string name="html_text_buy_pro">Duke blerë versionin Pro, do të mund të përdorni këtë <strong>stil pamor</strong> dhe do të ndihmoni veçanërisht në <strong>realizimin e projekteve të bashkësisë.<strong></string>
|
||||
<string name="error_arc4">S’mbulohet shifër “Arcfour stream”.</string>
|
||||
<string name="warning_file_too_big">Një bazë të dhënash KeePass supozohet se përmban vetëm kartela të vockla mjetesh (b.f., kartela kyçesh PGP).\n\nMe këtë ngarkim baza juaj e të dhënave mund të bëhet shumë e madhe dhe të ulet funksionimi i saj.</string>
|
||||
<string name="education_read_only_summary">Ndryshoni mënyrë hapjeje për këtë sesion. \n \n“Mbrojtur nga shkimi” parandalon ndryshime të paqëllimta te baza e të dhënave. \n“E ndryshueshme” ju lejon të shtoni, fshini ose ndryshoni krejt elementët, sipas dëshirës.</string>
|
||||
<string name="html_text_dev_feature_encourage">po i nxisni zhvilluesit të krijojnë <strong>veçori të reja</strong> dhe të <strong>ndreqin të meta</strong> në përputhje me sugjerimet tuaja.</string>
|
||||
<string name="warning_large_keyfile">Nuk rekomandohet të shtohet një kartelë kyç e madhe, kjo mund të pengojë hapjen e bazës së të dhënave.</string>
|
||||
<string name="education_entry_edit_summary">Përpunojeni zërin tuaj me fusha vetjake. Pool data can be referenced between different entry fields.</string>
|
||||
<string name="error_otp_type">Lloji OTP ekzistues s’njihet nga ky formular, vlerësimi i tij mund të mos prodhojë më saktë token-in.</string>
|
||||
<string name="warning_database_read_only">Akordo hyrje për shkrim kartelash, që të ruhen ndryshimet e bazës së të dhënave</string>
|
||||
<string name="warning_database_info_changed_options">Përzieni të dhënat, mbishkruani ndryshimet që nga jashtë duke e ruajtur bazën e të dhënave, ose duke e ringarkuar me ndryshimet më të reja.</string>
|
||||
<string name="warning_database_revoked">Hyrja te kartela e shfuqizuar nga përgjegjësi i kartelave, mbylleni bazën e të dhënave dhe rihapeni që prej vendndodhjes së saj.</string>
|
||||
<string name="warning_keyfile_integrity">Hashi, ose kartela s’janë të garantuara, ngaqë Android-i mund të ndryshojë të dhënat e saj fluturimthi. Për integritet të saktë, ndryshojeni zgjatimin e kartelës në .bin.</string>
|
||||
<string name="warning_database_notification_permission">Leja për njoftime ju lejon të shfaqni gjendjen e bazës së të dhënave dhe ta kyçni me një buton që përdoret kollaj.\n\nNëse s’e aktivizoni këtë leje, baza e të dhënave e hapur në prapaskenë s’do të jetë e dukshme, nëse në paraskenë ka një tjetër aplikacion.</string>
|
||||
<string name="warning_copy_permission">Leja për njoftime është e nevojshme për të përdorur veçorinë e njoftimeve mbi të papastrën.</string>
|
||||
<string name="advanced_unlock_prompt_store_credential_message">Duhet prapë të mbani mend kredencialet kryesore për kasafortën tuaj, nëse përdorni njohje shkyçjeje pajisjeje.</string>
|
||||
<string name="advanced_unlock_prompt_extract_credential_message">Përfto kredenciale baze të dhënash me të dhëna shkyçjeje pajisjeje</string>
|
||||
<string name="advanced_unlock_keystore_warning">Kjo veçori do të depozitojë të dhëna të fshehtëzuara kredencialesh te KeyStore e siguruar e pajisjes tuaj.\n\nNë varësi të sendërtimit të API-t nga sistemi operativ, mund të mos jetë plotësisht funksionale.\n\nKontrolloni përputhjen dhe sigurinë e KeyStore-it me prodhuesin e pajisjes tuaj dhe krijuesin e ROM-it që po përdorni.</string>
|
||||
<string name="settings_database_force_changing_master_key_next_time_summary">Kërko doemos ndryshimin e kyçit të përgjithshëm herë tjetër (vetëm një herë)</string>
|
||||
<string name="magic_keyboard_explanation_summary">Aktivizoni një tastierë vetjake për popullim të fjalëkalimeve tuaj dhe krejt fushat e identitetit</string>
|
||||
<string name="keyboard_auto_go_action_summary">Veprim tasti “Go” pas shtypje së një tasti “Fushë”</string>
|
||||
<string name="autofill_block_restart">Rinisni aplikacionin që përmban formularin, që të aktivizohet bllokimi.</string>
|
||||
<string name="enable_education_screens_summary">Thekso elementë për të mësuar se si funksionon aplikacioni</string>
|
||||
<string name="reset_education_screens_summary">Shfaq sërish krejt informacionin edukativ</string>
|
||||
<string name="html_text_donation">Duke <strong>dhënë ndihmesë</strong> te projekti <i>(financiarisht, kod, përkthim)</i>, do ta ndihmoni të vazhdojë të jetojë dhe të lulëzojë dhe do të mund të përfitoni shkyçje <strong>teme</strong>.</string>
|
||||
<string name="show_entry_colors_summary">Bën shfaqje ngjyrash të përparme dhe të pasme për një zë</string>
|
||||
<string name="settings_database_force_changing_master_key_summary">Kërko doemos ndryshimin e kyçit të përgjithshëm (ditë)</string>
|
||||
<string name="autofill_inline_suggestions_summary">Provo të shfaqësh sugjerime vetëplotësimi drejt e nga një tastierë e përputhshme</string>
|
||||
<string name="education_advanced_unlock_summary">Lidheni fjalëkalimin tuaj me hollësi biometrike të skanuara, ose kredenciale pajisjeje, për të shkyçur shpejt bazën tuaj të dhënave.</string>
|
||||
<string name="warning_empty_password">Të vazhdohet pa mbrojtje shkyçjeje fjalëkalimesh?</string>
|
||||
<string name="advanced_unlock_prompt_not_initialized">S’arrihet të bëhet gati hapi i shkyçjes së pajisjes.</string>
|
||||
</resources>
|
||||
@@ -205,7 +205,7 @@
|
||||
<string name="entry_url">УРЛ</string>
|
||||
<string name="error_arc4">Арцхфоур шифровање није подржано.</string>
|
||||
<string name="error_can_not_handle_uri">Није могуће обрадити овај УРИ у кееПассДКС.</string>
|
||||
<string name="error_file_not_create">Није могуће креирати датотеку</string>
|
||||
<string name="error_file_not_create">Није могуће креирати датотеку.</string>
|
||||
<string name="error_invalid_path">Проверите да ли је путања исправна.</string>
|
||||
<string name="error_no_name">Унесите име.</string>
|
||||
<string name="error_word_reserved">Ова реч је резервисана и не може се користити.</string>
|
||||
@@ -229,18 +229,18 @@
|
||||
<string name="error_otp_digits">Број цифара токена мора бити у опсегу од %1$d до %2$d.</string>
|
||||
<string name="error_string_type">Овај текст се не подудара са траженим ставком.</string>
|
||||
<string name="error_otp_type">Овај образац не препознаје постојећи тип ОТП-а, његова валидација можда више неће исправно генерисати токен.</string>
|
||||
<string name="error_registration_read_only">Чување нових ставки није дозвољено у бази података која је само за читање</string>
|
||||
<string name="error_registration_read_only">Чување нових ставки није дозвољено у бази података која је само за читање.</string>
|
||||
<string name="error_field_name_already_exists">Име поља већ постоји.</string>
|
||||
<string name="error_database_uri_null">УРИ базе података се не може преузети.</string>
|
||||
<string name="error_rebuild_list">Није могуће правилно обновити листу.</string>
|
||||
<string name="error_upload_file">Дошло је до грешке при отпремању података датотеке.</string>
|
||||
<string name="error_duplicate_file">Подаци о фајлу већ постоје.</string>
|
||||
<string name="error_remove_file">Дошло је до грешке при уклањању података из датотеке.</string>
|
||||
<string name="error_challenge_already_requested">Изазов је већ захтеван</string>
|
||||
<string name="error_challenge_already_requested">Изазов је већ захтеван.</string>
|
||||
<string name="error_response_already_provided">Одговор је већ дат.</string>
|
||||
<string name="error_no_response_from_challenge">Није могуће добити одговор на изазов.</string>
|
||||
<string name="error_driver_required">Потребан је драјвер за %1$s.</string>
|
||||
<string name="error_unable_merge_database_kdb">Није могуће спојити са кдб датотеком базе података</string>
|
||||
<string name="error_unable_merge_database_kdb">Није могуће спојити са кдб датотеком базе података.</string>
|
||||
<string name="error_hardware_key_unsupported">Хардверски кључ није подржан.</string>
|
||||
<string name="error_empty_key">Кључ не може бити празан.</string>
|
||||
<string name="field_name">Назив поља</string>
|
||||
@@ -331,9 +331,9 @@
|
||||
<string name="export_app_properties_summary">Направите датотеку за извоз подешавања апликације</string>
|
||||
<string name="description_app_properties">КееПассДЏ својства за управљање подешавањима апликације</string>
|
||||
<string name="success_import_app_properties">Подешавања апликације су увезена</string>
|
||||
<string name="error_import_app_properties">Грешка током увоза подешавања апликације</string>
|
||||
<string name="error_import_app_properties">Грешка током увоза подешавања апликације.</string>
|
||||
<string name="success_export_app_properties">Подешавања апликације су извезена</string>
|
||||
<string name="error_export_app_properties">Грешка током извоза подешавања апликације</string>
|
||||
<string name="error_export_app_properties">Грешка током извоза подешавања апликације.</string>
|
||||
<string name="root">Корен</string>
|
||||
<string name="encryption_explanation">Алгоритам шифровања базе података који се користи за све податке</string>
|
||||
<string name="rounds">Трансформациони кругови</string>
|
||||
|
||||
@@ -61,7 +61,7 @@
|
||||
<string name="entry_user_name">Användarnamn</string>
|
||||
<string name="error_arc4">Strömchiffret Arcfour stöds inte.</string>
|
||||
<string name="error_can_not_handle_uri">KeePassDX kunde inte hantera denna URI.</string>
|
||||
<string name="error_file_not_create">Kunde inte skapa filen</string>
|
||||
<string name="error_file_not_create">Kunde inte skapa filen.</string>
|
||||
<string name="error_invalid_db">Kunde inte läsa databasen.</string>
|
||||
<string name="error_invalid_path">Se till att sökvägen är korrekt.</string>
|
||||
<string name="error_no_name">Ange ett namn.</string>
|
||||
@@ -498,7 +498,7 @@
|
||||
<string name="token">Bevis</string>
|
||||
<string name="secure_note">Säker anteckning</string>
|
||||
<string name="error_XML_malformed">XML-filen är felaktig.</string>
|
||||
<string name="error_registration_read_only">Det är inte tillåtet att spara ett nytt objekt i en skrivskyddad databas</string>
|
||||
<string name="error_registration_read_only">Det är inte tillåtet att spara ett nytt objekt i en skrivskyddad databas.</string>
|
||||
<string name="error_field_name_already_exists">Fältnamnet finns redan.</string>
|
||||
<string name="auto_type">Auto-typ</string>
|
||||
</resources>
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user