Compare commits

...

115 Commits

Author SHA1 Message Date
J-Jamet
31444a823e Merge branch 'release/4.0.0' 2023-09-09 21:34:28 +02:00
J-Jamet
068933f0fb fix: fastlane changelog version 2023-09-09 21:30:51 +02:00
J-Jamet
f496711280 Replace art screen 2023-09-09 21:24:40 +02:00
J-Jamet
657d2420d6 Revert "fix: Small bug"
This reverts commit 2467721265.
2023-09-09 21:21:04 +02:00
J-Jamet
2467721265 fix: Small bug 2023-09-09 21:11:39 +02:00
J-Jamet
d37fbb9992 fix: Change screenshot 2023-09-09 21:06:33 +02:00
J-Jamet
19b8b54dae fix: Strong tag 2023-09-08 21:22:55 +02:00
J-Jamet
84328caf3c fix: Add browsers to compatibility package 2023-09-08 21:22:36 +02:00
J-Jamet
a0bdfc973a Merge branch 'translations' into develop 2023-09-08 21:16:04 +02:00
J-Jamet
1f91854490 Merge branch 'develop' of https://hosted.weblate.org/projects/keepass-dx/strings into translations 2023-09-08 21:15:42 +02:00
J-Jamet
1380325b66 Upgrade to 4.0.0 2023-09-08 21:14:21 +02:00
J-Jamet
d244eef62e feat: Add recursive number of entries #874 #1327 2023-09-08 20:32:19 +02:00
Hosted Weblate
8fb8d9ed37 Merge branch 'origin/develop' into Weblate. 2023-09-08 19:35:10 +02:00
J-Jamet
8ce63cb5c5 Merge branch 'JohnVeness-master' into develop 2023-09-08 19:31:49 +02:00
J-Jamet
9ecf2ae942 Merge branch 'master' of github.com:JohnVeness/KeePassDX into JohnVeness-master 2023-09-08 19:31:07 +02:00
J-Jamet
544f7003f6 fix: Remove Lock in Autofill 2023-09-04 20:45:32 +02:00
J-Jamet
6d633c9986 fix: Autofill implementation 2023-09-04 19:16:16 +02:00
J-Jamet
1e77a42c93 fix: Remove Autofill deprecation 2023-09-03 18:41:32 +02:00
J-Jamet
d1f2641e40 fix: On back pressed deprecation 2023-09-03 12:29:45 +02:00
jonnysemon
4b8ae154cc Translated using Weblate (Arabic)
Currently translated at 97.6% (632 of 647 strings)

Translation: KeePassDX/Strings
Translate-URL: https://hosted.weblate.org/projects/keepass-dx/strings/ar/
2023-08-29 18:57:00 +02:00
J-Jamet
0c1aacdf83 fix: Navigation bar margin 2023-08-28 21:52:51 +02:00
J-Jamet
5f34df3549 fix: Ellipsis 2023-08-28 17:20:09 +02:00
Alexandru
f2e6aa1abb Translated using Weblate (Romanian)
Currently translated at 72.9% (472 of 647 strings)

Translation: KeePassDX/Strings
Translate-URL: https://hosted.weblate.org/projects/keepass-dx/strings/ro/
2023-08-28 10:53:32 +02:00
John Veness
866731df81 Correct "im/exportation" wording 2023-08-20 19:39:09 +01:00
John Veness
5d931e09d5 Changed "app properties" wording to "app settings" 2023-08-20 19:08:51 +01:00
Kunzisoft
fe17c21c01 Translated using Weblate (French)
Currently translated at 100.0% (647 of 647 strings)

Translation: KeePassDX/Strings
Translate-URL: https://hosted.weblate.org/projects/keepass-dx/strings/fr/
2023-08-20 11:52:19 +02:00
J-Jamet
085941019e fix: Small bugs 2023-08-19 19:58:26 +02:00
J-Jamet
24b3758545 feat: Entry Edit Activity Fit Window 2023-08-19 19:16:55 +02:00
J-Jamet
9083f99325 feat: Entry Activity Fit Window 2023-08-19 18:15:21 +02:00
J-Jamet
2189be9267 fix: Screenshot mode 2023-08-19 17:47:49 +02:00
J-Jamet
43218eede1 feat: Group screen as fit window 2023-08-19 17:00:26 +02:00
J-Jamet
d1a176d27d fix: Small UI 2023-08-19 12:25:38 +02:00
J-Jamet
cf51af91bf feat: Logo color 2023-08-19 12:20:41 +02:00
Darin Avdeyeva
02ff1188b2 Translated using Weblate (Russian)
Currently translated at 100.0% (647 of 647 strings)

Translation: KeePassDX/Strings
Translate-URL: https://hosted.weblate.org/projects/keepass-dx/strings/ru/
2023-08-18 15:54:40 +02:00
jonnysemon
0fac9b6864 Translated using Weblate (Arabic)
Currently translated at 97.5% (631 of 647 strings)

Translation: KeePassDX/Strings
Translate-URL: https://hosted.weblate.org/projects/keepass-dx/strings/ar/
2023-08-17 01:55:03 +02:00
VfBFan
b550830c30 Translated using Weblate (German)
Currently translated at 100.0% (647 of 647 strings)

Translation: KeePassDX/Strings
Translate-URL: https://hosted.weblate.org/projects/keepass-dx/strings/de/
2023-08-15 11:47:13 +02:00
gallegonovato
6f485dd298 Translated using Weblate (Spanish)
Currently translated at 100.0% (647 of 647 strings)

Translation: KeePassDX/Strings
Translate-URL: https://hosted.weblate.org/projects/keepass-dx/strings/es/
2023-08-12 10:53:07 +02:00
solokot
b0dfde62c7 Translated using Weblate (Russian)
Currently translated at 100.0% (647 of 647 strings)

Translation: KeePassDX/Strings
Translate-URL: https://hosted.weblate.org/projects/keepass-dx/strings/ru/
2023-08-09 17:50:55 +02:00
109247019824
686dae0af6 Translated using Weblate (Bulgarian)
Currently translated at 2.9% (19 of 647 strings)

Translation: KeePassDX/Strings
Translate-URL: https://hosted.weblate.org/projects/keepass-dx/strings/bg/
2023-08-08 17:21:18 +02:00
Darin Avdeyeva
ee3eabe8c8 Translated using Weblate (Russian)
Currently translated at 100.0% (647 of 647 strings)

Translation: KeePassDX/Strings
Translate-URL: https://hosted.weblate.org/projects/keepass-dx/strings/ru/
2023-08-08 17:21:18 +02:00
C. Rüdinger
521c8aa6a9 Translated using Weblate (German)
Currently translated at 100.0% (647 of 647 strings)

Translation: KeePassDX/Strings
Translate-URL: https://hosted.weblate.org/projects/keepass-dx/strings/de/
2023-08-08 17:21:17 +02:00
solokot
66207d599f Translated using Weblate (Russian)
Currently translated at 100.0% (647 of 647 strings)

Translation: KeePassDX/Strings
Translate-URL: https://hosted.weblate.org/projects/keepass-dx/strings/ru/
2023-08-08 08:51:37 +02:00
Masowick
e0029e0c3f Translated using Weblate (German)
Currently translated at 100.0% (647 of 647 strings)

Translation: KeePassDX/Strings
Translate-URL: https://hosted.weblate.org/projects/keepass-dx/strings/de/
2023-08-08 08:51:37 +02:00
C. Rüdinger
3683b64721 Translated using Weblate (German)
Currently translated at 100.0% (647 of 647 strings)

Translation: KeePassDX/Strings
Translate-URL: https://hosted.weblate.org/projects/keepass-dx/strings/de/
2023-08-08 08:51:37 +02:00
J-Jamet
8d4a0971f9 Merge tag '4.0.0beta02' into develop
4.0.0beta02
2023-08-07 16:00:38 +02:00
J-Jamet
e4c3baa344 Merge branch 'release/4.0.0beta02' 2023-08-07 16:00:15 +02:00
J-Jamet
1e60d7e637 fix: Crash 2023-08-07 15:47:20 +02:00
J-Jamet
262b0227c1 fix: Selection switch 2023-08-07 15:27:38 +02:00
J-Jamet
226e461324 fix: Item entry alignment 2023-08-07 13:57:47 +02:00
J-Jamet
151eb26d56 fix: Tab in entry 2023-08-07 13:52:48 +02:00
J-Jamet
335e767426 fix: Small bugs 2023-08-07 13:36:19 +02:00
Hosted Weblate
d212fa180b Merge branch 'origin/develop' into Weblate. 2023-08-06 23:00:27 +02:00
Salif Mehmed
bc4ea2ec2a Translated using Weblate (Bulgarian)
Currently translated at 2.7% (18 of 647 strings)

Translation: KeePassDX/Strings
Translate-URL: https://hosted.weblate.org/projects/keepass-dx/strings/bg/
2023-08-06 23:00:27 +02:00
Linerly
5d8c80fc1e Translated using Weblate (Indonesian)
Currently translated at 100.0% (647 of 647 strings)

Translation: KeePassDX/Strings
Translate-URL: https://hosted.weblate.org/projects/keepass-dx/strings/id/
2023-08-06 23:00:27 +02:00
Alexandru
a02714ff6e Translated using Weblate (Romanian)
Currently translated at 63.5% (411 of 647 strings)

Translation: KeePassDX/Strings
Translate-URL: https://hosted.weblate.org/projects/keepass-dx/strings/ro/
2023-08-06 23:00:26 +02:00
Fjuro
4bd952e223 Translated using Weblate (Czech)
Currently translated at 100.0% (647 of 647 strings)

Translation: KeePassDX/Strings
Translate-URL: https://hosted.weblate.org/projects/keepass-dx/strings/cs/
2023-08-06 23:00:25 +02:00
J-Jamet
91bbc6d84e fix: tags 2023-08-06 22:59:48 +02:00
J-Jamet
6dbd16c5f6 Merge branch 'translations' into develop 2023-08-06 22:57:18 +02:00
J-Jamet
76e040c585 Merge branch 'develop' of https://hosted.weblate.org/projects/keepass-dx/strings into translations 2023-08-06 22:55:11 +02:00
J-Jamet
8de6382a64 fix: update CHANGELOG 2023-08-06 22:54:06 +02:00
J-Jamet
53532ead9f fix: Dialog buttons color 2023-08-06 22:47:33 +02:00
J-Jamet
f4e6baeac2 fix: Entry path style 2023-08-06 21:46:36 +02:00
J-Jamet
5c46fdf41a fix: Replace boolean parcelable 2023-08-06 20:57:39 +02:00
J-Jamet
22073e4bbd fix: Deactivated color 2023-08-06 20:29:01 +02:00
J-Jamet
41e7376b7b feat: Cut and Copy from search CHANGELOG 2023-08-05 17:37:20 +02:00
J-Jamet
3fc26c8c4e feat: Cut and Copy from search CHANGELOG 2023-08-05 17:37:15 +02:00
J-Jamet
14f070a942 feat: Cut and Copy from search CHANGELOG 2023-08-05 17:36:13 +02:00
J-Jamet
c078bd05e2 feat: Cut and Copy from search 2023-08-05 17:29:32 +02:00
J-Jamet
8ce9757b7c fix: Error with coordinator 2023-08-05 17:06:07 +02:00
bowornsin
e028738dc2 Translated using Weblate (Thai)
Currently translated at 83.9% (543 of 647 strings)

Translation: KeePassDX/Strings
Translate-URL: https://hosted.weblate.org/projects/keepass-dx/strings/th/
2023-08-03 11:08:42 +02:00
Masowick
9f4a302b72 Translated using Weblate (German)
Currently translated at 100.0% (647 of 647 strings)

Translation: KeePassDX/Strings
Translate-URL: https://hosted.weblate.org/projects/keepass-dx/strings/de/
2023-08-03 11:08:42 +02:00
C. Rüdinger
2ef17e0c7a Translated using Weblate (German)
Currently translated at 100.0% (647 of 647 strings)

Translation: KeePassDX/Strings
Translate-URL: https://hosted.weblate.org/projects/keepass-dx/strings/de/
2023-08-03 11:08:42 +02:00
VfBFan
b86a8c8633 Translated using Weblate (German)
Currently translated at 100.0% (647 of 647 strings)

Translation: KeePassDX/Strings
Translate-URL: https://hosted.weblate.org/projects/keepass-dx/strings/de/
2023-08-03 11:08:41 +02:00
Masowick
5a3be0853e Translated using Weblate (German)
Currently translated at 100.0% (647 of 647 strings)

Translation: KeePassDX/Strings
Translate-URL: https://hosted.weblate.org/projects/keepass-dx/strings/de/
2023-08-01 21:36:43 +02:00
Reza Almanda
99568db10c Translated using Weblate (Indonesian)
Currently translated at 96.1% (622 of 647 strings)

Translation: KeePassDX/Strings
Translate-URL: https://hosted.weblate.org/projects/keepass-dx/strings/id/
2023-08-01 07:36:19 +02:00
Milo Ivir
bf892f5b6a Translated using Weblate (Croatian)
Currently translated at 100.0% (647 of 647 strings)

Translation: KeePassDX/Strings
Translate-URL: https://hosted.weblate.org/projects/keepass-dx/strings/hr/
2023-08-01 07:36:19 +02:00
Eric
8e2c7ba1f0 Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (647 of 647 strings)

Translation: KeePassDX/Strings
Translate-URL: https://hosted.weblate.org/projects/keepass-dx/strings/zh_Hans/
2023-08-01 07:36:18 +02:00
solokot
fd3bb4b243 Translated using Weblate (Russian)
Currently translated at 100.0% (647 of 647 strings)

Translation: KeePassDX/Strings
Translate-URL: https://hosted.weblate.org/projects/keepass-dx/strings/ru/
2023-08-01 07:36:18 +02:00
André Marcelo Alvarenga
7f4a1d6896 Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (647 of 647 strings)

Translation: KeePassDX/Strings
Translate-URL: https://hosted.weblate.org/projects/keepass-dx/strings/pt_BR/
2023-08-01 07:36:17 +02:00
Retrial
d62734e8ac Translated using Weblate (Greek)
Currently translated at 100.0% (647 of 647 strings)

Translation: KeePassDX/Strings
Translate-URL: https://hosted.weblate.org/projects/keepass-dx/strings/el/
2023-08-01 07:36:17 +02:00
VfBFan
fbebc12a38 Translated using Weblate (German)
Currently translated at 100.0% (647 of 647 strings)

Translation: KeePassDX/Strings
Translate-URL: https://hosted.weblate.org/projects/keepass-dx/strings/de/
2023-08-01 07:36:16 +02:00
Masowick
3c65be2a72 Translated using Weblate (German)
Currently translated at 100.0% (647 of 647 strings)

Translation: KeePassDX/Strings
Translate-URL: https://hosted.weblate.org/projects/keepass-dx/strings/de/
2023-08-01 07:36:16 +02:00
Fjuro
a29a9f28ef Translated using Weblate (Czech)
Currently translated at 93.9% (608 of 647 strings)

Translation: KeePassDX/Strings
Translate-URL: https://hosted.weblate.org/projects/keepass-dx/strings/cs/
2023-08-01 07:36:15 +02:00
J-Jamet
eb14dadb3c fix: Scroll and color flickering 2023-07-31 22:28:53 +02:00
J-Jamet
8d926a306b fix: Shadow on logo 2023-07-31 22:19:55 +02:00
J-Jamet
5699359099 fix: Toolbar flickering 2023-07-31 22:07:41 +02:00
J-Jamet
e3176033dc fix: Margin bug 2023-07-31 22:03:29 +02:00
J-Jamet
9df6215c02 Merge branch 'feature/delete_search_entry_1308' into develop 2023-07-31 21:49:34 +02:00
J-Jamet
93a0e4c0a6 fix: Upgrade CHANGELOG 2023-07-31 21:49:20 +02:00
J-Jamet
f55a824cdc fix: Search in special mode 2023-07-31 21:45:35 +02:00
J-Jamet
766026d3be Merge branch 'develop' into feature/delete_search_entry_1308 2023-07-31 21:24:41 +02:00
J-Jamet
c64fc56496 Merge branch 'develop' of github.com:Kunzisoft/KeePassDX into develop 2023-07-31 21:19:46 +02:00
J-Jamet
6e2fb21431 fix: Better theme colors 2023-07-31 21:19:16 +02:00
Jérémy JAMET
2bb70abc39 Merge pull request #1582 from MarijnS95/icon-pack-JavaVersion
Add `JavaVersion` compatible to `icon-pack`
2023-07-31 16:08:35 +02:00
Darin Avdeyeva
a6cb1dbe5c Translated using Weblate (Russian)
Currently translated at 100.0% (647 of 647 strings)

Translation: KeePassDX/Strings
Translate-URL: https://hosted.weblate.org/projects/keepass-dx/strings/ru/
2023-07-30 15:18:59 +02:00
Alexthegib
5222a72cc6 Translated using Weblate (Portuguese (Portugal))
Currently translated at 100.0% (647 of 647 strings)

Translation: KeePassDX/Strings
Translate-URL: https://hosted.weblate.org/projects/keepass-dx/strings/pt_PT/
2023-07-30 15:18:59 +02:00
Stephan Paternotte
5d3aa44545 Translated using Weblate (Dutch)
Currently translated at 100.0% (647 of 647 strings)

Translation: KeePassDX/Strings
Translate-URL: https://hosted.weblate.org/projects/keepass-dx/strings/nl/
2023-07-30 15:18:58 +02:00
random r
61cfda93a5 Translated using Weblate (Italian)
Currently translated at 100.0% (647 of 647 strings)

Translation: KeePassDX/Strings
Translate-URL: https://hosted.weblate.org/projects/keepass-dx/strings/it/
2023-07-30 15:18:58 +02:00
Htet Oo Hlaing
b490295b90 Translated using Weblate (Burmese)
Currently translated at 4.6% (30 of 647 strings)

Translation: KeePassDX/Strings
Translate-URL: https://hosted.weblate.org/projects/keepass-dx/strings/my/
2023-07-30 11:56:12 +02:00
Alexthegib
61035ca47b Translated using Weblate (Portuguese)
Currently translated at 100.0% (647 of 647 strings)

Translation: KeePassDX/Strings
Translate-URL: https://hosted.weblate.org/projects/keepass-dx/strings/pt/
2023-07-30 11:56:11 +02:00
Eric
1dc08bbfef Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (647 of 647 strings)

Translation: KeePassDX/Strings
Translate-URL: https://hosted.weblate.org/projects/keepass-dx/strings/zh_Hans/
2023-07-30 11:56:10 +02:00
Ihor Hordiichuk
9ea7c86da7 Translated using Weblate (Ukrainian)
Currently translated at 100.0% (647 of 647 strings)

Translation: KeePassDX/Strings
Translate-URL: https://hosted.weblate.org/projects/keepass-dx/strings/uk/
2023-07-30 11:56:09 +02:00
solokot
4fa3fb86cb Translated using Weblate (Russian)
Currently translated at 100.0% (647 of 647 strings)

Translation: KeePassDX/Strings
Translate-URL: https://hosted.weblate.org/projects/keepass-dx/strings/ru/
2023-07-30 11:56:08 +02:00
marfS2
df089f4415 Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (647 of 647 strings)

Translation: KeePassDX/Strings
Translate-URL: https://hosted.weblate.org/projects/keepass-dx/strings/pt_BR/
2023-07-30 11:56:07 +02:00
Matthaiks
6be12eb440 Translated using Weblate (Polish)
Currently translated at 100.0% (647 of 647 strings)

Translation: KeePassDX/Strings
Translate-URL: https://hosted.weblate.org/projects/keepass-dx/strings/pl/
2023-07-30 11:56:06 +02:00
Stephan Paternotte
84efd1c497 Translated using Weblate (Dutch)
Currently translated at 100.0% (647 of 647 strings)

Translation: KeePassDX/Strings
Translate-URL: https://hosted.weblate.org/projects/keepass-dx/strings/nl/
2023-07-30 11:56:05 +02:00
Kunzisoft
4817654d58 Translated using Weblate (French)
Currently translated at 100.0% (647 of 647 strings)

Translation: KeePassDX/Strings
Translate-URL: https://hosted.weblate.org/projects/keepass-dx/strings/fr/
2023-07-30 11:56:04 +02:00
Deleted User
70d45e0bba Translated using Weblate (German)
Currently translated at 100.0% (647 of 647 strings)

Translation: KeePassDX/Strings
Translate-URL: https://hosted.weblate.org/projects/keepass-dx/strings/de/
2023-07-30 11:56:02 +02:00
C. Rüdinger
a4c7e3860b Translated using Weblate (German)
Currently translated at 100.0% (647 of 647 strings)

Translation: KeePassDX/Strings
Translate-URL: https://hosted.weblate.org/projects/keepass-dx/strings/de/
2023-07-30 11:56:01 +02:00
VfBFan
2a890091d7 Translated using Weblate (German)
Currently translated at 100.0% (647 of 647 strings)

Translation: KeePassDX/Strings
Translate-URL: https://hosted.weblate.org/projects/keepass-dx/strings/de/
2023-07-30 11:56:01 +02:00
Htet Oo Hlaing
cc593e6e1f Added translation using Weblate (Burmese) 2023-07-30 04:40:47 +02:00
J-Jamet
552684fd90 feat: Delete entry from search 2023-07-29 21:40:00 +02:00
J-Jamet
a260e1d4e3 fix: Encapsulate Keyboard code 2023-07-29 18:59:16 +02:00
J-Jamet
07bbf232b6 Merge tag '4.0.0beta01' into develop
4.0.0beta01
2023-07-29 12:45:50 +02:00
Marijn Suijten
b6d32999b9 Add JavaVersion compatible to icon-pack
This now also contains Kotlin code.
2023-06-22 01:11:06 +02:00
105 changed files with 2454 additions and 1404 deletions

View File

@@ -1,10 +1,11 @@
KeePassDX(4.0.0)
* New UX/UI with Material 3 #1183 #1529 #1428 #1441
* New UX/UI with Material 3 #1183 #1529 #1428 #1441 #1607
* Material You theme (follow system colors) #1469
* Refactoring inner code #1371
* Migration to API 33
* Fix behaviors #1351
* Fix bugs #1589 #1584 #1545 #1563 #1371
* Cut, copy and delete from search #891 #1308 #1263
* Fix behaviors #1351 #874 #1327
* Fix bugs #1589 #1584 #1545 #1563 #1371 #1609
KeePassDX(3.5.1)
* Fix action dialog with YubiKey challenge-response #1506

View File

@@ -105,7 +105,7 @@ GEM
xcodeproj (>= 1.13.0, < 2.0.0)
xcpretty (~> 0.3.0)
xcpretty-travis-formatter (>= 0.0.3)
fastlane-plugin-versioning_android (0.1.0)
fastlane-plugin-versioning_android (0.1.1)
gh_inspector (1.1.3)
google-apis-androidpublisher_v3 (0.46.0)
google-apis-core (>= 0.11.0, < 2.a)

View File

@@ -12,8 +12,8 @@ android {
applicationId "com.kunzisoft.keepass"
minSdkVersion 15
targetSdkVersion 33
versionCode = 121
versionName = "4.0.0_beta01"
versionCode = 123
versionName = "4.0.0"
multiDexEnabled true
testApplicationId = "com.kunzisoft.keepass.tests"

View File

@@ -7,10 +7,6 @@
<group
android:translateX="-12"
android:translateY="-12">
<path
android:fillColor="#ffa726"
android:strokeWidth="1.99999297"
android:pathData="M36,36 L36,40.2422 L67.7578,72 L72,72 L72,67.7578 L40.2422,36 Z" />
<path
android:fillColor="#ffffff"
android:strokeWidth="1.99999297"

View File

@@ -0,0 +1,15 @@
<?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="84"
android:viewportHeight="84">
<group
android:translateX="-12"
android:translateY="-12">
<path
android:fillColor="#ffffff"
android:strokeWidth="1.99999297"
android:pathData="M36,36 L36,40.2422 L67.7578,72 L72,72 L72,67.7578 L40.2422,36 Z" />
</group>
</vector>

View File

@@ -7,10 +7,6 @@
<group
android:translateX="-12"
android:translateY="-12">
<path
android:fillColor="#ffa726"
android:strokeWidth="1.99999297"
android:pathData="M36,36 L36,40.2422 L67.7578,72 L72,72 L72,67.7578 L40.2422,36 Z" />
<path
android:fillColor="#ffffff"
android:strokeWidth="1.99999297"

View File

@@ -0,0 +1,15 @@
<?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="84"
android:viewportHeight="84">
<group
android:translateX="-12"
android:translateY="-12">
<path
android:fillColor="#ffffff"
android:strokeWidth="1.99999297"
android:pathData="M36,36 L36,40.2422 L67.7578,72 L72,72 L72,67.7578 L40.2422,36 Z" />
</group>
</vector>

View File

@@ -145,7 +145,7 @@
android:configChanges="keyboardHidden" />
<activity
android:name="com.kunzisoft.keepass.activities.EntryEditActivity"
android:windowSoftInputMode="adjustResize" />
android:windowSoftInputMode="adjustPan" />
<!-- About and Settings -->
<activity
android:name="com.kunzisoft.keepass.activities.AboutActivity"

View File

@@ -23,6 +23,7 @@ import android.content.Intent
import android.graphics.Color
import android.graphics.drawable.ColorDrawable
import android.net.Uri
import android.os.Build
import android.os.Bundle
import android.os.Handler
import android.os.Looper
@@ -30,15 +31,20 @@ import android.util.Log
import android.view.Menu
import android.view.MenuItem
import android.view.View
import android.view.ViewGroup
import android.widget.ImageView
import android.widget.ProgressBar
import androidx.activity.result.ActivityResultLauncher
import androidx.activity.viewModels
import androidx.appcompat.widget.Toolbar
import androidx.coordinatorlayout.widget.CoordinatorLayout
import androidx.core.content.ContextCompat
import androidx.core.content.res.ResourcesCompat
import androidx.core.graphics.BlendModeColorFilterCompat
import androidx.core.graphics.BlendModeCompat
import androidx.core.graphics.ColorUtils
import androidx.core.view.ViewCompat
import androidx.core.view.WindowCompat
import androidx.recyclerview.widget.LinearLayoutManager
import androidx.recyclerview.widget.RecyclerView
import com.google.android.material.appbar.AppBarLayout
@@ -69,15 +75,19 @@ import com.kunzisoft.keepass.tasks.AttachmentFileBinderManager
import com.kunzisoft.keepass.timeout.TimeoutHelper
import com.kunzisoft.keepass.utils.UuidUtil
import com.kunzisoft.keepass.utils.getParcelableExtraCompat
import com.kunzisoft.keepass.view.WindowInsetPosition
import com.kunzisoft.keepass.view.applyWindowInsets
import com.kunzisoft.keepass.view.changeControlColor
import com.kunzisoft.keepass.view.changeTitleColor
import com.kunzisoft.keepass.view.hideByFading
import com.kunzisoft.keepass.view.setTransparentNavigationBar
import com.kunzisoft.keepass.view.showActionErrorIfNeeded
import com.kunzisoft.keepass.viewmodels.EntryViewModel
import java.util.UUID
class EntryActivity : DatabaseLockActivity() {
private var footer: ViewGroup? = null
private var coordinatorLayout: CoordinatorLayout? = null
private var collapsingToolbarLayout: CollapsingToolbarLayout? = null
private var appBarLayout: AppBarLayout? = null
@@ -128,6 +138,7 @@ class EntryActivity : DatabaseLockActivity() {
supportActionBar?.setDisplayShowHomeEnabled(true)
// Get views
footer = findViewById(R.id.activity_entry_footer)
coordinatorLayout = findViewById(R.id.toolbar_coordinator)
collapsingToolbarLayout = findViewById(R.id.toolbar_layout)
appBarLayout = findViewById(R.id.app_bar)
@@ -139,6 +150,14 @@ class EntryActivity : DatabaseLockActivity() {
lockView = findViewById(R.id.lock_button)
loadingView = findViewById(R.id.loading)
// To apply fit window with transparency
setTransparentNavigationBar {
// To fix margin with API 27
ViewCompat.setOnApplyWindowInsetsListener(collapsingToolbarLayout!!, null)
coordinatorLayout?.applyWindowInsets(WindowInsetPosition.TOP)
footer?.applyWindowInsets(WindowInsetPosition.BOTTOM)
}
// Empty title
collapsingToolbarLayout?.title = " "
toolbar?.title = " "

View File

@@ -30,6 +30,7 @@ import android.util.Log
import android.view.Menu
import android.view.MenuItem
import android.view.View
import android.view.ViewGroup
import android.widget.AdapterView
import android.widget.ProgressBar
import android.widget.Spinner
@@ -89,8 +90,11 @@ import com.kunzisoft.keepass.timeout.TimeoutHelper
import com.kunzisoft.keepass.utils.UriUtil.getDocumentFile
import com.kunzisoft.keepass.utils.getParcelableExtraCompat
import com.kunzisoft.keepass.view.ToolbarAction
import com.kunzisoft.keepass.view.WindowInsetPosition
import com.kunzisoft.keepass.view.applyWindowInsets
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.viewmodels.ColorPickerViewModel
@@ -104,6 +108,8 @@ class EntryEditActivity : DatabaseLockActivity(),
ReplaceFileDialogFragment.ActionChooseListener {
// Views
private var footer: ViewGroup? = null
private var container: ViewGroup? = null
private var coordinatorLayout: CoordinatorLayout? = null
private var scrollView: NestedScrollView? = null
private var templateSelectorSpinner: Spinner? = null
@@ -156,10 +162,8 @@ class EntryEditActivity : DatabaseLockActivity(),
// Bottom Bar
entryEditAddToolBar = findViewById(R.id.entry_edit_bottom_bar)
setSupportActionBar(entryEditAddToolBar)
supportActionBar?.setDisplayHomeAsUpEnabled(true)
supportActionBar?.setDisplayShowHomeEnabled(true)
supportActionBar?.setDisplayShowTitleEnabled(false)
footer = findViewById(R.id.activity_entry_edit_footer)
container = findViewById(R.id.activity_entry_edit_container)
coordinatorLayout = findViewById(R.id.entry_edit_coordinator_layout)
scrollView = findViewById(R.id.entry_edit_scroll)
scrollView?.scrollBarStyle = View.SCROLLBARS_INSIDE_INSET
@@ -168,6 +172,17 @@ class EntryEditActivity : DatabaseLockActivity(),
validateButton = findViewById(R.id.entry_edit_validate)
loadingView = findViewById(R.id.loading)
setSupportActionBar(entryEditAddToolBar)
supportActionBar?.setDisplayHomeAsUpEnabled(true)
supportActionBar?.setDisplayShowHomeEnabled(true)
supportActionBar?.setDisplayShowTitleEnabled(false)
// To apply fit window with transparency
setTransparentNavigationBar(applyToStatusBar = true) {
container?.applyWindowInsets(WindowInsetPosition.TOP)
footer?.applyWindowInsets(WindowInsetPosition.BOTTOM)
}
stopService(Intent(this, ClipboardEntryNotificationService::class.java))
stopService(Intent(this, KeyboardEntryNotificationService::class.java))
@@ -691,16 +706,16 @@ class EntryEditActivity : DatabaseLockActivity(),
return true
}
android.R.id.home -> {
onBackPressed()
onDatabaseBackPressed()
}
}
return super.onOptionsItemSelected(item)
}
override fun onBackPressed() {
override fun onDatabaseBackPressed() {
onApprovedBackPressed {
super@EntryEditActivity.onBackPressed()
super@EntryEditActivity.onDatabaseBackPressed()
}
}

View File

@@ -31,6 +31,7 @@ import com.kunzisoft.keepass.database.helper.SearchHelper
import com.kunzisoft.keepass.magikeyboard.MagikeyboardService
import com.kunzisoft.keepass.model.SearchInfo
import com.kunzisoft.keepass.otp.OtpEntryFields
import com.kunzisoft.keepass.utils.KeyboardUtil.isKeyboardActivatedInSettings
import com.kunzisoft.keepass.utils.getParcelableCompat
import com.kunzisoft.keepass.utils.WebDomain
@@ -116,7 +117,7 @@ class EntrySelectionLauncherActivity : DatabaseModeActivity() {
searchInfo: SearchInfo) {
// Setting to integrate Magikeyboard
val searchShareForMagikeyboard = MagikeyboardService.activatedInSettings(this)
val searchShareForMagikeyboard = isKeyboardActivatedInSettings()
// If database is open
val readOnly = database?.isReadOnly != false

View File

@@ -23,6 +23,7 @@ import android.app.SearchManager
import android.content.ComponentName
import android.content.Context
import android.content.Intent
import android.graphics.Color
import android.graphics.PorterDuff
import android.net.Uri
import android.os.Build
@@ -35,7 +36,7 @@ import android.util.Log
import android.view.Menu
import android.view.MenuItem
import android.view.View
import android.view.inputmethod.InputMethodManager
import android.view.ViewGroup
import android.widget.ImageView
import android.widget.ProgressBar
import android.widget.TextView
@@ -51,6 +52,7 @@ import androidx.appcompat.widget.Toolbar
import androidx.coordinatorlayout.widget.CoordinatorLayout
import androidx.core.content.ContextCompat
import androidx.core.view.GravityCompat
import androidx.core.view.WindowCompat
import androidx.core.view.WindowInsetsCompat
import androidx.core.view.WindowInsetsControllerCompat
import androidx.core.view.isVisible
@@ -89,7 +91,6 @@ import com.kunzisoft.keepass.model.GroupInfo
import com.kunzisoft.keepass.model.RegisterInfo
import com.kunzisoft.keepass.model.SearchInfo
import com.kunzisoft.keepass.services.DatabaseTaskNotificationService.Companion.ACTION_DATABASE_UPDATE_ENTRY_TASK
import com.kunzisoft.keepass.services.DatabaseTaskNotificationService.Companion.ACTION_DATABASE_UPDATE_GROUP_TASK
import com.kunzisoft.keepass.services.DatabaseTaskNotificationService.Companion.NEW_NODES_KEY
import com.kunzisoft.keepass.services.DatabaseTaskNotificationService.Companion.getListNodesFromBundle
import com.kunzisoft.keepass.settings.PreferencesUtil
@@ -97,6 +98,7 @@ import com.kunzisoft.keepass.settings.SettingsActivity
import com.kunzisoft.keepass.tasks.ActionRunnable
import com.kunzisoft.keepass.timeout.TimeoutHelper
import com.kunzisoft.keepass.utils.BACK_PREVIOUS_KEYBOARD_ACTION
import com.kunzisoft.keepass.utils.KeyboardUtil.showKeyboard
import com.kunzisoft.keepass.utils.UriUtil.openUrl
import com.kunzisoft.keepass.utils.getParcelableCompat
import com.kunzisoft.keepass.utils.getParcelableExtraCompat
@@ -107,7 +109,10 @@ import com.kunzisoft.keepass.view.AddNodeButtonView
import com.kunzisoft.keepass.view.NavigationDatabaseView
import com.kunzisoft.keepass.view.SearchFiltersView
import com.kunzisoft.keepass.view.ToolbarAction
import com.kunzisoft.keepass.view.WindowInsetPosition
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.viewmodels.GroupEditViewModel
@@ -123,9 +128,12 @@ class GroupActivity : DatabaseLockActivity(),
MainCredentialDialogFragment.AskMainCredentialDialogListener {
// Views
private var header: ViewGroup? = null
private var footer: ViewGroup? = null
private var drawerLayout: DrawerLayout? = null
private var databaseNavView: NavigationDatabaseView? = null
private var coordinatorLayout: CoordinatorLayout? = null
private var coordinatorError: CoordinatorLayout? = null
private var lockView: View? = null
private var toolbar: Toolbar? = null
private var databaseModifiedView: ImageView? = null
@@ -223,11 +231,17 @@ class GroupActivity : DatabaseLockActivity(),
&& PreferencesUtil.isKeyboardPreviousSearchEnable(this@GroupActivity)) {
// Change to the previous keyboard and show it
sendBroadcast(Intent(BACK_PREVIOUS_KEYBOARD_ACTION))
ContextCompat.getSystemService(this, InputMethodManager::class.java)
?.showSoftInput(view, InputMethodManager.SHOW_IMPLICIT)
view.showKeyboard()
}
}
private val mEntryActivityResultLauncher = EntryEditActivity.registerForEntryResult(this) { entryId ->
entryId?.let {
// Simply refresh the list when entry is updated
loadGroup()
} ?: Log.e(this.javaClass.name, "Entry cannot be retrieved in Activity Result")
}
private fun addSearch() {
finishNodeAction()
if (mSearchState == null) {
@@ -237,7 +251,6 @@ class GroupActivity : DatabaseLockActivity(),
}
private fun removeSearch() {
finishNodeAction()
mSearchState = null
intent.removeExtra(AUTO_SEARCH_KEY)
if (Intent.ACTION_SEARCH == intent.action) {
@@ -263,9 +276,12 @@ class GroupActivity : DatabaseLockActivity(),
setContentView(layoutInflater.inflate(R.layout.activity_group, null))
// Initialize views
header = findViewById(R.id.activity_group_header)
footer = findViewById(R.id.activity_group_footer)
drawerLayout = findViewById(R.id.drawer_layout)
databaseNavView = findViewById(R.id.database_nav_view)
coordinatorLayout = findViewById(R.id.group_coordinator)
coordinatorError = findViewById(R.id.error_coordinator)
numberChildrenView = findViewById(R.id.group_numbers)
addNodeButtonView = findViewById(R.id.add_node_button)
toolbar = findViewById(R.id.toolbar)
@@ -278,6 +294,13 @@ class GroupActivity : DatabaseLockActivity(),
lockView = findViewById(R.id.lock_button)
loadingView = findViewById(R.id.loading)
// To apply fit window with transparency
setTransparentNavigationBar {
header?.applyWindowInsets(WindowInsetPosition.TOP)
coordinatorLayout?.applyWindowInsets(WindowInsetPosition.LEGIT_TOP)
footer?.applyWindowInsets(WindowInsetPosition.BOTTOM)
}
lockView?.setOnClickListener {
lockAndExit()
}
@@ -501,14 +524,12 @@ class GroupActivity : DatabaseLockActivity(),
EntrySelectionHelper.doSpecialAction(intent,
{
mMainGroup?.nodeId?.let { currentParentGroupId ->
mGroupFragment?.mEntryActivityResultLauncher?.let { resultLauncher ->
EntryEditActivity.launchToCreate(
this@GroupActivity,
database,
currentParentGroupId,
resultLauncher
)
}
EntryEditActivity.launchToCreate(
this@GroupActivity,
database,
currentParentGroupId,
mEntryActivityResultLauncher
)
}
},
{
@@ -646,9 +667,13 @@ class GroupActivity : DatabaseLockActivity(),
) {
super.onDatabaseActionFinished(database, actionTask, result)
var newNodes: List<Node> = ArrayList()
result.data?.getBundle(NEW_NODES_KEY)?.let { newNodesBundle ->
newNodes = getListNodesFromBundle(database, newNodesBundle)
var entry: Entry? = null
try {
result.data?.getBundle(NEW_NODES_KEY)?.let { newNodesBundle ->
entry = getListNodesFromBundle(database, newNodesBundle)[0] as Entry
}
} catch (e: Exception) {
Log.e(TAG, "Unable to retrieve entry action for selection", e)
}
when (actionTask) {
@@ -665,27 +690,15 @@ class GroupActivity : DatabaseLockActivity(),
// Save not used
},
{
try {
val entry = newNodes[0] as Entry
entrySelectedForKeyboardSelection(database, entry)
} catch (e: Exception) {
Log.e(
TAG,
"Unable to perform action for keyboard selection after entry update",
e
)
// Keyboard selection
entry?.let {
entrySelectedForKeyboardSelection(database, it)
}
},
{ _, _ ->
try {
val entry = newNodes[0] as Entry
entrySelectedForAutofillSelection(database, entry)
} catch (e: Exception) {
Log.e(
TAG,
"Unable to perform action for autofill selection after entry update",
e
)
// Autofill selection
entry?.let {
entrySelectedForAutofillSelection(database, it)
}
},
{
@@ -694,26 +707,12 @@ class GroupActivity : DatabaseLockActivity(),
)
}
}
ACTION_DATABASE_UPDATE_GROUP_TASK -> {
if (result.isSuccess) {
try {
if (mMainGroup == newNodes[0] as Group)
reloadCurrentGroup()
} catch (e: Exception) {
Log.e(
TAG,
"Unable to perform action after group update",
e
)
}
}
}
}
coordinatorLayout?.showActionErrorIfNeeded(result)
if (!result.isSuccess) {
reloadCurrentGroup()
}
coordinatorError?.showActionErrorIfNeeded(result)
// Reload the group
loadGroup()
finishNodeAction()
}
@@ -841,7 +840,6 @@ class GroupActivity : DatabaseLockActivity(),
}
// Open child group
loadMainGroup(GroupState(group.nodeId, 0))
} catch (e: ClassCastException) {
Log.e(TAG, "Node can't be cast in Group")
}
@@ -850,22 +848,22 @@ class GroupActivity : DatabaseLockActivity(),
val entryVersioned = node as Entry
EntrySelectionHelper.doSpecialAction(intent,
{
mGroupFragment?.mEntryActivityResultLauncher?.let { resultLauncher ->
EntryActivity.launch(
this@GroupActivity,
database,
entryVersioned.nodeId,
resultLauncher
)
}
EntryActivity.launch(
this@GroupActivity,
database,
entryVersioned.nodeId,
mEntryActivityResultLauncher
)
// Do not reload group here
},
{
// Nothing here, a search is simply performed
},
{ searchInfo ->
if (!database.isReadOnly)
if (!database.isReadOnly) {
entrySelectedForSave(database, entryVersioned, searchInfo)
else
loadGroup()
} else
finish()
},
{ searchInfo ->
@@ -876,6 +874,7 @@ class GroupActivity : DatabaseLockActivity(),
updateEntryWithSearchInfo(database, entryVersioned, searchInfo)
}
entrySelectedForKeyboardSelection(database, entryVersioned)
loadGroup()
},
{ searchInfo, _ ->
if (!database.isReadOnly
@@ -885,23 +884,23 @@ class GroupActivity : DatabaseLockActivity(),
updateEntryWithSearchInfo(database, entryVersioned, searchInfo)
}
entrySelectedForAutofillSelection(database, entryVersioned)
loadGroup()
},
{ registerInfo ->
if (!database.isReadOnly)
if (!database.isReadOnly) {
entrySelectedForRegistration(database, entryVersioned, registerInfo)
else
loadGroup()
} else
finish()
})
} catch (e: ClassCastException) {
Log.e(TAG, "Node can't be cast in Entry")
}
}
reloadGroupIfSearch()
}
private fun entrySelectedForSave(database: ContextualDatabase, entry: Entry, searchInfo: SearchInfo) {
reloadCurrentGroup()
removeSearch()
// Save to update the entry
EntryEditActivity.launchToUpdateForSave(
this@GroupActivity,
@@ -913,7 +912,7 @@ class GroupActivity : DatabaseLockActivity(),
}
private fun entrySelectedForKeyboardSelection(database: ContextualDatabase, entry: Entry) {
reloadCurrentGroup()
removeSearch()
// Populate Magikeyboard with entry
MagikeyboardService.populateKeyboardAndMoveAppToBackground(
this,
@@ -923,6 +922,7 @@ class GroupActivity : DatabaseLockActivity(),
}
private fun entrySelectedForAutofillSelection(database: ContextualDatabase, entry: Entry) {
removeSearch()
// Build response with the entry selected
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
AutofillHelper.buildResponseAndSetResult(
@@ -939,7 +939,7 @@ class GroupActivity : DatabaseLockActivity(),
entry: Entry,
registerInfo: RegisterInfo?
) {
reloadCurrentGroup()
removeSearch()
// Registration to update the entry
EntryEditActivity.launchToUpdateForRegistration(
this@GroupActivity,
@@ -972,12 +972,6 @@ class GroupActivity : DatabaseLockActivity(),
actionNodeMode?.finish()
}
private fun reloadGroupIfSearch() {
if (Intent.ACTION_SEARCH == intent.action) {
reloadCurrentGroup()
}
}
override fun onNodeSelected(
database: ContextualDatabase,
nodes: List<Node>
@@ -1023,17 +1017,14 @@ class GroupActivity : DatabaseLockActivity(),
launchDialogForGroupUpdate(node as Group)
}
Type.ENTRY -> {
mGroupFragment?.mEntryActivityResultLauncher?.let { resultLauncher ->
EntryEditActivity.launchToUpdate(
this@GroupActivity,
database,
(node as Entry).nodeId,
resultLauncher
)
}
EntryEditActivity.launchToUpdate(
this@GroupActivity,
database,
(node as Entry).nodeId,
mEntryActivityResultLauncher
)
}
}
reloadGroupIfSearch()
return true
}
@@ -1066,8 +1057,8 @@ class GroupActivity : DatabaseLockActivity(),
nodes: List<Node>
): Boolean {
actionNodeMode?.invalidate()
// Nothing here fragment calls onPasteMenuClick internally
removeSearch()
loadGroup()
return true
}
@@ -1076,8 +1067,8 @@ class GroupActivity : DatabaseLockActivity(),
nodes: List<Node>
): Boolean {
actionNodeMode?.invalidate()
// Nothing here fragment calls onPasteMenuClick internally
removeSearch()
loadGroup()
return true
}
@@ -1112,7 +1103,6 @@ class GroupActivity : DatabaseLockActivity(),
): Boolean {
deleteNodes(nodes)
finishNodeAction()
reloadGroupIfSearch()
return true
}
@@ -1141,6 +1131,8 @@ class GroupActivity : DatabaseLockActivity(),
}
// Padding if lock button visible
toolbarAction?.updateLockPaddingLeft()
loadGroup()
}
override fun onPause() {
@@ -1343,6 +1335,12 @@ class GroupActivity : DatabaseLockActivity(),
mGroupFragment?.onSortSelected(sortNodeEnum, sortNodeParameters)
}
override fun onCancelSpecialMode() {
super.onCancelSpecialMode()
removeSearch()
loadGroup()
}
override fun startActivity(intent: Intent) {
// Get the intent, verify the action and get the query
if (Intent.ACTION_SEARCH == intent.action) {
@@ -1359,12 +1357,7 @@ class GroupActivity : DatabaseLockActivity(),
}
}
private fun reloadCurrentGroup() {
removeSearch()
loadGroup()
}
override fun onBackPressed() {
override fun onDatabaseBackPressed() {
if (mGroupFragment?.nodeActionSelectionMode == true) {
finishNodeAction()
} else {
@@ -1372,8 +1365,8 @@ class GroupActivity : DatabaseLockActivity(),
if (mRootGroup != null && mRootGroup != mCurrentGroup) {
when {
Intent.ACTION_SEARCH == intent.action -> {
// Remove the search
reloadCurrentGroup()
removeSearch()
loadGroup()
}
mPreviousGroupsIds.isEmpty() -> {
super.onRegularBackPressed()

View File

@@ -239,7 +239,7 @@ class IconPickerActivity : DatabaseLockActivity() {
if (mCustomIconsSelectionMode) {
iconPickerViewModel.deselectAllCustomIcons()
} else {
onBackPressed()
onDatabaseBackPressed()
}
}
R.id.menu_edit -> {
@@ -329,9 +329,9 @@ class IconPickerActivity : DatabaseLockActivity() {
})
}
override fun onBackPressed() {
override fun onDatabaseBackPressed() {
setResult()
super.onBackPressed()
super.onDatabaseBackPressed()
}
companion object {

View File

@@ -96,7 +96,7 @@ class KeyGeneratorActivity : DatabaseLockActivity() {
override fun onOptionsItemSelected(item: MenuItem): Boolean {
when (item.itemId) {
android.R.id.home -> {
onBackPressed()
onDatabaseBackPressed()
}
R.id.menu_generate -> {
keyGeneratorViewModel.requireKeyGeneration()
@@ -106,9 +106,9 @@ class KeyGeneratorActivity : DatabaseLockActivity() {
return super.onOptionsItemSelected(item)
}
override fun onBackPressed() {
override fun onDatabaseBackPressed() {
setResult(Activity.RESULT_CANCELED, Intent())
super.onBackPressed()
super.onDatabaseBackPressed()
}
companion object {

View File

@@ -35,7 +35,6 @@ import androidx.recyclerview.widget.LinearLayoutManager
import androidx.recyclerview.widget.RecyclerView
import androidx.recyclerview.widget.RecyclerView.SCROLL_STATE_IDLE
import com.kunzisoft.keepass.R
import com.kunzisoft.keepass.activities.EntryEditActivity
import com.kunzisoft.keepass.activities.dialogs.SortDialogFragment
import com.kunzisoft.keepass.activities.helpers.EntrySelectionHelper
import com.kunzisoft.keepass.activities.helpers.SpecialMode
@@ -47,6 +46,7 @@ import com.kunzisoft.keepass.database.element.node.Node
import com.kunzisoft.keepass.database.element.node.Type
import com.kunzisoft.keepass.settings.PreferencesUtil
import com.kunzisoft.keepass.tasks.ActionRunnable
import com.kunzisoft.keepass.utils.KeyboardUtil.hideKeyboard
import com.kunzisoft.keepass.viewmodels.GroupViewModel
import java.util.LinkedList
@@ -79,19 +79,6 @@ class GroupFragment : DatabaseFragment(), SortDialogFragment.SortSelectionListen
private var mRecycleBinEnable: Boolean = false
private var mRecycleBin: Group? = null
var mEntryActivityResultLauncher = EntryEditActivity.registerForEntryResult(this) { entryId ->
entryId?.let {
// Simply refresh the list
rebuildList()
// Scroll to the new entry
mDatabase?.getEntryById(it)?.let { entry ->
mAdapter?.indexOf(entry)?.let { position ->
mNodesRecyclerView?.scrollToPosition(position)
}
}
} ?: Log.e(this.javaClass.name, "Entry cannot be retrieved in Activity Result")
}
private var mRecycleViewScrollListener = object : RecyclerView.OnScrollListener() {
override fun onScrollStateChanged(recyclerView: RecyclerView, newState: Int) {
super.onScrollStateChanged(recyclerView, newState)
@@ -186,8 +173,7 @@ class GroupFragment : DatabaseFragment(), SortDialogFragment.SortSelectionListen
mAdapter = NodesAdapter(context, database).apply {
setOnNodeClickListener(object : NodesAdapter.NodeClickCallback {
override fun onNodeClick(database: ContextualDatabase, node: Node) {
if (mCurrentGroup?.isVirtual == false
&& nodeActionSelectionMode) {
if (nodeActionSelectionMode) {
if (listActionNodes.contains(node)) {
// Remove selected item if already selected
listActionNodes.remove(node)
@@ -204,8 +190,7 @@ class GroupFragment : DatabaseFragment(), SortDialogFragment.SortSelectionListen
}
override fun onNodeLongClick(database: ContextualDatabase, node: Node): Boolean {
if (mCurrentGroup?.isVirtual == false
&& nodeActionPasteMode == PasteMode.UNDEFINED) {
if (nodeActionPasteMode == PasteMode.UNDEFINED) {
// Select the first item after a long click
if (!listActionNodes.contains(node))
listActionNodes.add(node)
@@ -214,6 +199,7 @@ class GroupFragment : DatabaseFragment(), SortDialogFragment.SortSelectionListen
setActionNodes(listActionNodes)
notifyNodeChanged(node)
activity?.hideKeyboard()
}
return true
}
@@ -277,8 +263,6 @@ class GroupFragment : DatabaseFragment(), SortDialogFragment.SortSelectionListen
activity?.intent?.let {
specialMode = EntrySelectionHelper.retrieveSpecialModeFromIntent(it)
}
rebuildList()
}
override fun onPause() {
@@ -362,14 +346,12 @@ class GroupFragment : DatabaseFragment(), SortDialogFragment.SortSelectionListen
}
// Move
if (database.isReadOnly
|| isASearchResult) {
if (database.isReadOnly) {
menu?.removeItem(R.id.menu_move)
}
// Copy (not allowed for group)
if (database.isReadOnly
|| isASearchResult
|| nodes.any { it.type == Type.GROUP }) {
menu?.removeItem(R.id.menu_copy)
}

View File

@@ -209,6 +209,15 @@ abstract class DatabaseLockActivity : DatabaseModeActivity(),
}
}
override fun finish() {
// To fix weird crash
try {
super.finish()
} catch (e: Exception) {
Log.e(TAG, "Unable to finish the activity", e)
}
}
abstract fun viewToInvalidateTimeout(): View?
override fun onDatabaseActionFinished(
@@ -454,14 +463,14 @@ abstract class DatabaseLockActivity : DatabaseModeActivity(),
mDatabase?.loaded ?: false)
}
override fun onBackPressed() {
override fun onDatabaseBackPressed() {
if (mTimeoutEnable) {
TimeoutHelper.checkTimeAndLockIfTimeoutOrResetTimeout(this,
mDatabase?.loaded == true) {
super.onBackPressed()
super.onDatabaseBackPressed()
}
} else {
super.onBackPressed()
super.onDatabaseBackPressed()
}
}

View File

@@ -22,18 +22,18 @@ abstract class DatabaseModeActivity : DatabaseActivity() {
private var mToolbarSpecial: ToolbarSpecial? = null
override fun onBackPressed() {
open fun onDatabaseBackPressed() {
if (mSpecialMode != SpecialMode.DEFAULT)
onCancelSpecialMode()
else
super.onBackPressed()
onRegularBackPressed()
}
/**
* To call the regular onBackPressed() method in special mode
*/
protected fun onRegularBackPressed() {
super.onBackPressed()
onBackPressedDispatcher.onBackPressed()
}
/**
@@ -72,7 +72,7 @@ abstract class DatabaseModeActivity : DatabaseActivity() {
open fun onCancelSpecialMode() {
if (isIntentSender()) {
// To get the app caller, only for IntentSender
super.onBackPressed()
onRegularBackPressed()
} else {
EntrySelectionHelper.removeModesFromIntent(intent)
EntrySelectionHelper.removeInfoFromIntent(intent)
@@ -85,7 +85,7 @@ abstract class DatabaseModeActivity : DatabaseActivity() {
protected fun backToTheAppCaller() {
if (isIntentSender()) {
// To get the app caller, only for IntentSender
super.onBackPressed()
onRegularBackPressed()
} else {
backToTheMainAppAndFinish()
}

View File

@@ -117,7 +117,7 @@ class BreadcrumbAdapter(val context: Context)
PreferencesUtil.showExpiredEntries(context)
)
)
text = group.numberOfChildEntries.toString()
text = group.recursiveNumberOfChildEntries.toString()
visibility = View.VISIBLE
} else {
visibility = View.GONE

View File

@@ -197,6 +197,7 @@ class NodesAdapter (
&& oldItem.containsAttachment() == newItem.containsAttachment()
} else if (oldItem is Group && newItem is Group) {
typeContentTheSame = oldItem.numberOfChildEntries == newItem.numberOfChildEntries
&& oldItem.recursiveNumberOfChildEntries == newItem.recursiveNumberOfChildEntries
&& oldItem.notes == newItem.notes
}
return typeContentTheSame
@@ -472,7 +473,7 @@ class NodesAdapter (
if (mShowNumberEntries) {
holder.numberChildren?.apply {
text = (subNode as Group)
.numberOfChildEntries
.recursiveNumberOfChildEntries
.toString()
setTextSize(mTextSizeUnit, mNumberChildrenTextDefaultDimension, mPrefSizeMultiplier)
visibility = View.VISIBLE

View File

@@ -1,7 +1,6 @@
package com.kunzisoft.keepass.autofill
import android.app.assist.AssistStructure
import android.view.inputmethod.InlineSuggestionsRequest
data class AutofillComponent(val assistStructure: AssistStructure,
val compatInlineSuggestionsRequest: CompatInlineSuggestionsRequest?)

View File

@@ -29,9 +29,12 @@ import android.graphics.BlendMode
import android.graphics.drawable.Icon
import android.os.Build
import android.service.autofill.Dataset
import android.service.autofill.Field
import android.service.autofill.FillResponse
import android.service.autofill.InlinePresentation
import android.service.autofill.Presentations
import android.util.Log
import android.view.autofill.AutofillId
import android.view.autofill.AutofillManager
import android.view.autofill.AutofillValue
import android.widget.RemoteViews
@@ -93,36 +96,82 @@ object AutofillHelper {
database: ContextualDatabase,
remoteViewsText: String,
remoteViewsIcon: IconImage? = null): RemoteViews {
val presentation = RemoteViews(context.packageName, R.layout.item_autofill_entry)
presentation.setTextViewText(R.id.autofill_entry_text, remoteViewsText)
val remoteViews = RemoteViews(context.packageName, R.layout.item_autofill_entry)
remoteViews.setTextViewText(R.id.autofill_entry_text, remoteViewsText)
if (remoteViewsIcon != null) {
try {
database.iconDrawableFactory.getBitmapFromIcon(context,
remoteViewsIcon, ContextCompat.getColor(context, R.color.green))?.let { bitmap ->
presentation.setImageViewBitmap(R.id.autofill_entry_icon, bitmap)
remoteViews.setImageViewBitmap(R.id.autofill_entry_icon, bitmap)
}
} catch (e: Exception) {
Log.e(RemoteViews::class.java.name, "Unable to assign icon in remote view", e)
}
}
return presentation
return remoteViews
}
private fun buildDataset(context: Context,
database: ContextualDatabase,
entryInfo: EntryInfo,
struct: StructureParser.Result,
additionalBuild: ((build: Dataset.Builder) -> Unit)? = null): Dataset? {
val title = makeEntryTitle(entryInfo)
val views = newRemoteViews(context, database, title, entryInfo.icon)
val builder = Dataset.Builder(views)
builder.setId(entryInfo.id.toString())
private fun Dataset.Builder.addValueToDatasetBuilder(
id: AutofillId,
autofillValue: AutofillValue?
): Dataset.Builder {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) {
setField(
id, autofillValue?.let {
Field.Builder()
.setValue(it)
.build()
}
)
} else {
@Suppress("DEPRECATION")
setValue(id, autofillValue)
}
Log.d(TAG, "Set Autofill value $autofillValue for id $id")
return this
}
private fun buildDatasetForEntry(context: Context,
database: ContextualDatabase,
entryInfo: EntryInfo,
struct: StructureParser.Result,
inlinePresentation: InlinePresentation?): Dataset {
val remoteViews: RemoteViews = newRemoteViews(context, database, makeEntryTitle(entryInfo), entryInfo.icon)
val datasetBuilder = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) {
Dataset.Builder(Presentations.Builder()
.apply {
inlinePresentation?.let {
setInlinePresentation(inlinePresentation)
}
}
.setDialogPresentation(remoteViews)
.setMenuPresentation(remoteViews)
.build())
} else {
@Suppress("DEPRECATION")
Dataset.Builder(remoteViews).apply {
inlinePresentation?.let {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) {
setInlinePresentation(inlinePresentation)
}
}
}
}
datasetBuilder.setId(entryInfo.id.toString())
struct.usernameId?.let { usernameId ->
builder.setValue(usernameId, AutofillValue.forText(entryInfo.username))
datasetBuilder.addValueToDatasetBuilder(
usernameId,
AutofillValue.forText(entryInfo.username)
)
}
struct.passwordId?.let { passwordId ->
builder.setValue(passwordId, AutofillValue.forText(entryInfo.password))
datasetBuilder.addValueToDatasetBuilder(
passwordId,
AutofillValue.forText(entryInfo.password)
)
}
if (entryInfo.expires) {
@@ -135,9 +184,15 @@ object AutofillHelper {
struct.creditCardExpirationDateId?.let {
if (struct.isWebView) {
// set date string as defined in https://html.spec.whatwg.org
builder.setValue(it, AutofillValue.forText("$year\u002D$monthString"))
datasetBuilder.addValueToDatasetBuilder(
it,
AutofillValue.forText("$year\u002D$monthString")
)
} else {
builder.setValue(it, AutofillValue.forDate(entryInfo.expiryTime.date.time))
datasetBuilder.addValueToDatasetBuilder(
it,
AutofillValue.forDate(entryInfo.expiryTime.date.time)
)
}
}
struct.creditCardExpirationYearId?.let {
@@ -151,34 +206,58 @@ object AutofillHelper {
}
if (yearIndex != -1) {
autofillValue = AutofillValue.forList(yearIndex)
builder.setValue(it, autofillValue)
datasetBuilder.addValueToDatasetBuilder(
it,
autofillValue
)
}
}
if (autofillValue == null) {
builder.setValue(it, AutofillValue.forText(year.toString()))
datasetBuilder.addValueToDatasetBuilder(
it,
AutofillValue.forText(year.toString())
)
}
}
struct.creditCardExpirationMonthId?.let {
if (struct.isWebView) {
builder.setValue(it, AutofillValue.forText(monthString))
datasetBuilder.addValueToDatasetBuilder(
it,
AutofillValue.forText(monthString)
)
} else {
if (struct.creditCardExpirationMonthOptions != null) {
// index starts at 0
builder.setValue(it, AutofillValue.forList(month - 1))
datasetBuilder.addValueToDatasetBuilder(
it,
AutofillValue.forList(month - 1)
)
} else {
builder.setValue(it, AutofillValue.forText(monthString))
datasetBuilder.addValueToDatasetBuilder(
it,
AutofillValue.forText(monthString)
)
}
}
}
struct.creditCardExpirationDayId?.let {
if (struct.isWebView) {
builder.setValue(it, AutofillValue.forText(dayString))
datasetBuilder.addValueToDatasetBuilder(
it,
AutofillValue.forText(dayString)
)
} else {
if (struct.creditCardExpirationDayOptions != null) {
builder.setValue(it, AutofillValue.forList(day - 1))
datasetBuilder.addValueToDatasetBuilder(
it,
AutofillValue.forList(day - 1)
)
} else {
builder.setValue(it, AutofillValue.forText(dayString))
datasetBuilder.addValueToDatasetBuilder(
it,
AutofillValue.forText(dayString)
)
}
}
}
@@ -186,29 +265,32 @@ object AutofillHelper {
for (field in entryInfo.customFields) {
if (field.name == TemplateField.LABEL_HOLDER) {
struct.creditCardHolderId?.let { ccNameId ->
builder.setValue(ccNameId, AutofillValue.forText(field.protectedValue.stringValue))
datasetBuilder.addValueToDatasetBuilder(
ccNameId,
AutofillValue.forText(field.protectedValue.stringValue)
)
}
}
if (field.name == TemplateField.LABEL_NUMBER) {
struct.creditCardNumberId?.let { ccnId ->
builder.setValue(ccnId, AutofillValue.forText(field.protectedValue.stringValue))
datasetBuilder.addValueToDatasetBuilder(
ccnId,
AutofillValue.forText(field.protectedValue.stringValue)
)
}
}
if (field.name == TemplateField.LABEL_CVV) {
struct.cardVerificationValueId?.let { cvvId ->
builder.setValue(cvvId, AutofillValue.forText(field.protectedValue.stringValue))
datasetBuilder.addValueToDatasetBuilder(
cvvId,
AutofillValue.forText(field.protectedValue.stringValue)
)
}
}
}
additionalBuild?.invoke(builder)
return try {
builder.build()
} catch (e: Exception) {
// at least one value must be set
null
}
val dataset = datasetBuilder.build()
Log.d(TAG, "Autofill Dataset $dataset created")
return dataset
}
/**
@@ -228,8 +310,8 @@ object AutofillHelper {
return null
}
@RequiresApi(Build.VERSION_CODES.R)
@SuppressLint("RestrictedApi")
@RequiresApi(Build.VERSION_CODES.R)
private fun buildInlinePresentationForEntry(context: Context,
database: ContextualDatabase,
compatInlineSuggestionsRequest: CompatInlineSuggestionsRequest,
@@ -335,25 +417,33 @@ object AutofillHelper {
}
}
}
}
entriesInfo.forEachIndexed { _, entry ->
if (numberInlineSuggestions > 0
&& Build.VERSION.SDK_INT >= Build.VERSION_CODES.R
&& compatInlineSuggestionsRequest != null) {
responseBuilder.addDataset(buildDataset(context, database, entry, parseResult) { builder ->
buildInlinePresentationForEntry(context, database,
compatInlineSuggestionsRequest, numberInlineSuggestions--, entry
)?.let { inlinePresentation ->
builder.setInlinePresentation(inlinePresentation)
}
})
} else {
responseBuilder.addDataset(buildDataset(context, database, entry, parseResult))
try {
// Build inline presentation for compatible keyboard
var inlinePresentation: InlinePresentation? = null
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R
&& numberInlineSuggestions > 0
&& compatInlineSuggestionsRequest != null) {
inlinePresentation = buildInlinePresentationForEntry(
context,
database,
compatInlineSuggestionsRequest,
numberInlineSuggestions--,
entry
)
}
// Create dataset for each entry
responseBuilder.addDataset(
buildDatasetForEntry(context, database, entry, parseResult, inlinePresentation)
)
} catch (e: Exception) {
Log.e(TAG, "Unable to add dataset")
}
}
// Add a new dataset for manual selection
if (PreferencesUtil.isAutofillManualSelectionEnable(context)) {
val searchInfo = SearchInfo().apply {
applicationId = parseResult.applicationId
@@ -365,29 +455,50 @@ object AutofillHelper {
val pendingIntent = AutofillLauncherActivity.getPendingIntentForSelection(context,
searchInfo, compatInlineSuggestionsRequest)
parseResult.allAutofillIds().let { autofillIds ->
autofillIds.forEach { id ->
val builder = Dataset.Builder(manualSelectionView)
var inlinePresentation: InlinePresentation? = null
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) {
compatInlineSuggestionsRequest?.inlineSuggestionsRequest?.let { inlineSuggestionsRequest ->
val inlinePresentationSpec = inlineSuggestionsRequest.inlinePresentationSpecs[0]
inlinePresentation = buildInlinePresentationForManualSelection(context, inlinePresentationSpec, pendingIntent)
}
}
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) {
compatInlineSuggestionsRequest?.inlineSuggestionsRequest?.let { inlineSuggestionsRequest ->
val inlinePresentationSpec = inlineSuggestionsRequest.inlinePresentationSpecs[0]
val inlinePresentation = buildInlinePresentationForManualSelection(context, inlinePresentationSpec, pendingIntent)
inlinePresentation?.let {
builder.setInlinePresentation(it)
}
val datasetBuilder = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) {
Dataset.Builder(Presentations.Builder()
.apply {
inlinePresentation?.let {
setInlinePresentation(it)
}
}
.setDialogPresentation(manualSelectionView)
.setMenuPresentation(manualSelectionView)
.build())
} else {
@Suppress("DEPRECATION")
Dataset.Builder(manualSelectionView).apply {
inlinePresentation?.let {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) {
setInlinePresentation(it)
}
}
builder.setValue(id, null)
builder.setAuthentication(pendingIntent.intentSender)
responseBuilder.addDataset(builder.build())
}
}
parseResult.allAutofillIds().let { autofillIds ->
autofillIds.forEach { id ->
datasetBuilder.addValueToDatasetBuilder(id, null)
datasetBuilder.setAuthentication(pendingIntent.intentSender)
}
val dataset = datasetBuilder.build()
Log.d(TAG, "Autofill Dataset for manual selection $dataset created")
responseBuilder.addDataset(dataset)
}
}
return try {
responseBuilder.build()
} catch (e: Exception) {
Log.e(TAG, "Unable to create Autofill response", e)
null
}
}
@@ -424,7 +535,7 @@ object AutofillHelper {
buildResponse(activity, database, entriesInfo, result, null)
}
val mReplyIntent = Intent()
Log.d(activity.javaClass.name, "Successed Autofill auth.")
Log.d(activity.javaClass.name, "Success Autofill auth.")
mReplyIntent.putExtra(
AutofillManager.EXTRA_AUTHENTICATION_RESULT,
response)
@@ -479,4 +590,6 @@ object AutofillHelper {
EntrySelectionHelper.addSearchInfoInIntent(intent, searchInfo)
activityResultLauncher?.launch(intent)
}
private val TAG = AutofillHelper::class.java.name
}

View File

@@ -45,7 +45,6 @@ import com.kunzisoft.keepass.settings.AutofillSettingsActivity
import com.kunzisoft.keepass.settings.PreferencesUtil
import com.kunzisoft.keepass.utils.WebDomain
import org.joda.time.DateTime
import java.util.concurrent.atomic.AtomicBoolean
@RequiresApi(api = Build.VERSION_CODES.O)
@@ -57,7 +56,6 @@ class KeeAutofillService : AutofillService() {
private var webDomainBlocklist: Set<String>? = null
private var askToSaveData: Boolean = false
private var autofillInlineSuggestionsEnabled: Boolean = false
private var mLock = AtomicBoolean()
override fun onCreate() {
super.onCreate()
@@ -90,35 +88,37 @@ class KeeAutofillService : AutofillService() {
cancellationSignal.setOnCancelListener { Log.w(TAG, "Cancel autofill.") }
// Lock
if (!mLock.get()) {
mLock.set(true)
// Check user's settings for authenticating Responses and Datasets.
val latestStructure = request.fillContexts.last().structure
StructureParser(latestStructure).parse()?.let { parseResult ->
if (request.flags and FillRequest.FLAG_COMPATIBILITY_MODE_REQUEST != 0) {
Log.d(TAG, "Autofill requested in compatibility mode")
} else {
Log.d(TAG, "Autofill requested in native mode")
}
// Build search info only if applicationId or webDomain are not blocked
if (autofillAllowedFor(parseResult.applicationId, applicationIdBlocklist)
&& autofillAllowedFor(parseResult.webDomain, webDomainBlocklist)) {
val searchInfo = SearchInfo().apply {
applicationId = parseResult.applicationId
webDomain = parseResult.webDomain
webScheme = parseResult.webScheme
}
WebDomain.getConcreteWebDomain(this, searchInfo.webDomain) { webDomainWithoutSubDomain ->
searchInfo.webDomain = webDomainWithoutSubDomain
val inlineSuggestionsRequest = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R
&& autofillInlineSuggestionsEnabled) {
CompatInlineSuggestionsRequest(request)
} else {
null
}
launchSelection(mDatabase,
searchInfo,
parseResult,
inlineSuggestionsRequest,
callback)
// Check user's settings for authenticating Responses and Datasets.
val latestStructure = request.fillContexts.last().structure
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)) {
val searchInfo = SearchInfo().apply {
applicationId = parseResult.applicationId
webDomain = parseResult.webDomain
webScheme = parseResult.webScheme
}
WebDomain.getConcreteWebDomain(this, searchInfo.webDomain) { webDomainWithoutSubDomain ->
searchInfo.webDomain = webDomainWithoutSubDomain
val inlineSuggestionsRequest = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R
&& autofillInlineSuggestionsEnabled) {
CompatInlineSuggestionsRequest(request)
} else {
null
}
launchSelection(mDatabase,
searchInfo,
parseResult,
inlineSuggestionsRequest,
callback)
}
}
}
@@ -157,6 +157,7 @@ class KeeAutofillService : AutofillService() {
searchInfo: SearchInfo,
inlineSuggestionsRequest: CompatInlineSuggestionsRequest?,
callback: FillCallback) {
var success = false
parseResult.allAutofillIds().let { autofillIds ->
if (autofillIds.isNotEmpty()) {
// If the entire Autofill Response is authenticated, AuthActivity is used
@@ -279,17 +280,36 @@ class KeeAutofillService : AutofillService() {
}
}
}
// Build response
responseBuilder.setAuthentication(autofillIds, intentSender, remoteViewsUnlock, inlinePresentation)
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) {
responseBuilder.setAuthentication(
autofillIds,
intentSender,
Presentations.Builder().apply {
inlinePresentation?.let {
setInlinePresentation(it)
}
}.setDialogPresentation(remoteViewsUnlock).build()
)
} else {
@Suppress("DEPRECATION")
responseBuilder.setAuthentication(autofillIds, intentSender, remoteViewsUnlock, inlinePresentation)
}
} else {
@Suppress("DEPRECATION")
responseBuilder.setAuthentication(autofillIds, intentSender, remoteViewsUnlock)
}
success = true
callback.onSuccess(responseBuilder.build())
}
}
if (!success)
callback.onFailure("Unable to get Autofill ids for UI selection")
}
override fun onSaveRequest(request: SaveRequest, callback: SaveCallback) {
var success = false
if (askToSaveData) {
val latestStructure = request.fillContexts.last().structure
StructureParser(latestStructure).parse(true)?.let { parseResult ->
@@ -332,14 +352,16 @@ class KeeAutofillService : AutofillService() {
// callback.onSuccess(AutofillLauncherActivity.getAuthIntentSenderForRegistration(this,
// registerInfo))
//} else {
AutofillLauncherActivity.launchForRegistration(this, registerInfo)
callback.onSuccess()
AutofillLauncherActivity.launchForRegistration(this, registerInfo)
success = true
callback.onSuccess()
//}
return
}
}
}
callback.onFailure("Saving form values is not allowed")
if (!success) {
callback.onFailure("Saving form values is not allowed")
}
}
override fun onConnected() {
@@ -348,7 +370,6 @@ class KeeAutofillService : AutofillService() {
}
override fun onDisconnected() {
mLock.set(false)
Log.d(TAG, "onDisconnected")
}

View File

@@ -26,7 +26,7 @@ import com.kunzisoft.keepass.database.element.template.TemplateEngine
import com.kunzisoft.keepass.database.element.template.TemplateField
import com.kunzisoft.keepass.database.exception.*
fun DatabaseException.getLocalizedMessage(resources: Resources): String = parameters?.let {
fun DatabaseException.getLocalizedMessage(resources: Resources): String? =
when (this) {
is FileNotFoundDatabaseException -> resources.getString(R.string.file_not_found_content)
is CorruptedDatabaseException -> resources.getString(R.string.corrupted_file)
@@ -39,7 +39,7 @@ fun DatabaseException.getLocalizedMessage(resources: Resources): String = parame
is InvalidCredentialsDatabaseException -> resources.getString(R.string.invalid_credentials)
is KDFMemoryDatabaseException -> resources.getString(R.string.error_load_database_KDF_memory)
is NoMemoryDatabaseException -> resources.getString(R.string.error_out_of_memory)
is DuplicateUuidDatabaseException -> resources.getString(R.string.invalid_db_same_uuid)
is DuplicateUuidDatabaseException -> resources.getString(R.string.invalid_db_same_uuid, parameters[0], parameters[1])
is XMLMalformedDatabaseException -> resources.getString(R.string.error_XML_malformed)
is MergeDatabaseKDBException -> resources.getString(R.string.error_unable_merge_database_kdb)
is MoveEntryDatabaseException -> resources.getString(R.string.error_move_entry_here)
@@ -48,9 +48,8 @@ fun DatabaseException.getLocalizedMessage(resources: Resources): String = parame
is CopyGroupDatabaseException -> resources.getString(R.string.error_copy_group_here)
is DatabaseInputException -> resources.getString(R.string.error_load_database)
is DatabaseOutputException -> resources.getString(R.string.error_save_database)
else -> (mThrowable as? DatabaseException)?.getLocalizedMessage(resources)
else -> localizedMessage
}
} ?: resources.getString(R.string.error_load_database)
fun CompressionAlgorithm.getLocalizedName(resources: Resources): String {
return when (this) {

View File

@@ -25,16 +25,17 @@ import android.content.Context
import android.content.Intent
import android.inputmethodservice.InputMethodService
import android.media.AudioManager
import android.os.Build
import android.util.Log
import android.view.*
import android.view.Gravity
import android.view.HapticFeedbackConstants
import android.view.KeyEvent
import android.view.LayoutInflater
import android.view.View
import android.view.WindowManager
import android.view.inputmethod.EditorInfo
import android.view.inputmethod.InputMethodManager
import android.widget.FrameLayout
import android.widget.ImageView
import android.widget.PopupWindow
import android.widget.TextView
import androidx.core.content.ContextCompat
import androidx.core.graphics.BlendModeColorFilterCompat
import androidx.core.graphics.BlendModeCompat
import androidx.recyclerview.widget.LinearLayoutManager
@@ -53,8 +54,14 @@ import com.kunzisoft.keepass.model.SearchInfo
import com.kunzisoft.keepass.otp.OtpEntryFields.OTP_TOKEN_FIELD
import com.kunzisoft.keepass.services.KeyboardEntryNotificationService
import com.kunzisoft.keepass.settings.PreferencesUtil
import com.kunzisoft.keepass.utils.*
import java.util.*
import com.kunzisoft.keepass.utils.KeyboardUtil.showKeyboardPicker
import com.kunzisoft.keepass.utils.KeyboardUtil.switchToPreviousKeyboard
import com.kunzisoft.keepass.utils.LOCK_ACTION
import com.kunzisoft.keepass.utils.LockReceiver
import com.kunzisoft.keepass.utils.REMOVE_ENTRY_MAGIKEYBOARD_ACTION
import com.kunzisoft.keepass.utils.registerLockReceiver
import com.kunzisoft.keepass.utils.unregisterLockReceiver
import java.util.UUID
class MagikeyboardService : InputMethodService(), KeyboardView.OnKeyboardActionListener {
@@ -239,24 +246,6 @@ class MagikeyboardService : InputMethodService(), KeyboardView.OnKeyboardActionL
}
}
private fun switchToPreviousKeyboard() {
var imeManager: InputMethodManager? = null
try {
imeManager = ContextCompat.getSystemService(this, InputMethodManager::class.java)
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P) {
switchToPreviousInputMethod()
} else {
@Suppress("DEPRECATION")
window.window?.let { window ->
imeManager?.switchToLastInputMethod(window.attributes.token)
}
}
} catch (e: Exception) {
Log.e(TAG, "Unable to switch to the previous IME", e)
imeManager?.showInputMethodPicker()
}
}
override fun onKey(primaryCode: Int, keyCodes: IntArray) {
val inputConnection = currentInputConnection
@@ -267,11 +256,11 @@ class MagikeyboardService : InputMethodService(), KeyboardView.OnKeyboardActionL
playClick(primaryCode)
when (primaryCode) {
KEY_BACK_KEYBOARD -> switchToPreviousKeyboard()
KEY_BACK_KEYBOARD -> {
switchToPreviousKeyboard()
}
KEY_CHANGE_KEYBOARD -> {
ContextCompat.getSystemService(this, InputMethodManager::class.java)
?.showInputMethodPicker()
showKeyboardPicker()
}
KEY_ENTRY -> {
var searchInfo: SearchInfo? = null
@@ -471,14 +460,6 @@ class MagikeyboardService : InputMethodService(), KeyboardView.OnKeyboardActionL
KeyboardEntryNotificationService.launchNotificationIfAllowed(context, entry, toast)
}
fun activatedInSettings(context: Context): Boolean {
return ContextCompat.getSystemService(context, InputMethodManager::class.java)
?.enabledInputMethodList
?.any {
it.packageName == context.packageName
} ?: false
}
fun performSelection(items: List<EntryInfo>,
actionPopulateKeyboard: (entryInfo: EntryInfo) -> Unit,
actionEntrySelection: (autoSearch: Boolean) -> Unit) {

View File

@@ -45,7 +45,7 @@ class AutofillSettingsActivity : DatabaseModeActivity() {
override fun onOptionsItemSelected(item: MenuItem): Boolean {
when (item.itemId) {
android.R.id.home -> onBackPressed()
android.R.id.home -> onDatabaseBackPressed()
}
return super.onOptionsItemSelected(item)

View File

@@ -46,7 +46,7 @@ class MagikeyboardSettingsActivity : DatabaseModeActivity() {
override fun onOptionsItemSelected(item: MenuItem): Boolean {
when (item.itemId) {
android.R.id.home -> onBackPressed()
android.R.id.home -> onDatabaseBackPressed()
}
return super.onOptionsItemSelected(item)

View File

@@ -120,49 +120,55 @@ class NestedAppSettingsFragment : NestedSettingsFragment() {
activity?.let { activity ->
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
val autoFillEnablePreference: TwoStatePreference? = findPreference(getString(R.string.settings_autofill_enable_key))
val autofillManager = activity.getSystemService(AutofillManager::class.java)
if (autofillManager != null && autofillManager.hasEnabledAutofillServices())
autoFillEnablePreference?.isChecked = autofillManager.hasEnabledAutofillServices()
autoFillEnablePreference?.onPreferenceClickListener = object : Preference.OnPreferenceClickListener {
@RequiresApi(api = Build.VERSION_CODES.O)
override fun onPreferenceClick(preference: Preference): Boolean {
if ((preference as TwoStatePreference).isChecked) {
try {
enableService()
} catch (e: ActivityNotFoundException) {
val error = getString(R.string.error_autofill_enable_service)
preference.isChecked = false
Log.d(javaClass.name, error, e)
Toast.makeText(context, error, Toast.LENGTH_SHORT).show()
activity.getSystemService(AutofillManager::class.java)?.let { autofillManager ->
if (autofillManager.hasEnabledAutofillServices())
autoFillEnablePreference?.isChecked = autofillManager.hasEnabledAutofillServices()
autoFillEnablePreference?.onPreferenceClickListener =
object : Preference.OnPreferenceClickListener {
@RequiresApi(api = Build.VERSION_CODES.O)
override fun onPreferenceClick(preference: Preference): Boolean {
if ((preference as TwoStatePreference).isChecked) {
try {
enableService()
} catch (e: ActivityNotFoundException) {
val error =
getString(R.string.error_autofill_enable_service)
preference.isChecked = false
Log.d(javaClass.name, error, e)
Toast.makeText(context, error, Toast.LENGTH_SHORT).show()
}
} else {
disableService()
}
return false
}
} else {
disableService()
}
return false
}
@RequiresApi(api = Build.VERSION_CODES.O)
private fun disableService() {
if (autofillManager.hasEnabledAutofillServices()) {
autofillManager.disableAutofillServices()
} else {
Log.d(javaClass.name, "Autofill service already disabled.")
}
}
@RequiresApi(api = Build.VERSION_CODES.O)
private fun disableService() {
if (autofillManager != null && autofillManager.hasEnabledAutofillServices()) {
autofillManager.disableAutofillServices()
} else {
Log.d(javaClass.name, "Autofill service already disabled.")
@RequiresApi(api = Build.VERSION_CODES.O)
@Throws(ActivityNotFoundException::class)
private fun enableService() {
if (!autofillManager.hasEnabledAutofillServices()) {
val intent =
Intent(Settings.ACTION_REQUEST_SET_AUTOFILL_SERVICE)
intent.data =
Uri.parse("package:com.kunzisoft.keepass.autofill.KeeAutofillService")
Log.d(javaClass.name, "Autofill enable service: intent=$intent")
startActivity(intent)
} else {
Log.d(javaClass.name, "Autofill service already enabled.")
}
}
}
}
@RequiresApi(api = Build.VERSION_CODES.O)
@Throws(ActivityNotFoundException::class)
private fun enableService() {
if (autofillManager != null && !autofillManager.hasEnabledAutofillServices()) {
val intent = Intent(Settings.ACTION_REQUEST_SET_AUTOFILL_SERVICE)
intent.data = Uri.parse("package:com.kunzisoft.keepass.autofill.KeeAutofillService")
Log.d(javaClass.name, "Autofill enable service: intent=$intent")
startActivity(intent)
} else {
Log.d(javaClass.name, "Autofill service already enabled.")
}
}
}
} else {
findPreference<Preference>(getString(R.string.autofill_key))?.isVisible = false

View File

@@ -33,11 +33,11 @@ import com.kunzisoft.keepass.biometric.AdvancedUnlockManager
import com.kunzisoft.keepass.database.element.SortNodeEnum
import com.kunzisoft.keepass.database.search.SearchParameters
import com.kunzisoft.keepass.education.Education
import com.kunzisoft.keepass.magikeyboard.MagikeyboardService
import com.kunzisoft.keepass.password.PassphraseGenerator
import com.kunzisoft.keepass.timeout.TimeoutHelper
import com.kunzisoft.keepass.utils.KeyboardUtil.isKeyboardActivatedInSettings
import com.kunzisoft.keepass.utils.UriUtil.isContributingUser
import java.util.*
import java.util.Properties
object PreferencesUtil {
@@ -631,7 +631,7 @@ object PreferencesUtil {
}
fun isKeyboardSaveSearchInfoEnable(context: Context): Boolean {
if (!MagikeyboardService.activatedInSettings(context))
if (!context.isKeyboardActivatedInSettings())
return false
val prefs = PreferenceManager.getDefaultSharedPreferences(context)
return prefs.getBoolean(context.getString(R.string.keyboard_save_search_info_key),

View File

@@ -26,6 +26,7 @@ import android.os.Bundle
import android.util.Log
import android.view.MenuItem
import android.view.View
import android.widget.TextView
import android.widget.Toast
import androidx.appcompat.widget.Toolbar
import androidx.coordinatorlayout.widget.CoordinatorLayout
@@ -54,6 +55,7 @@ open class SettingsActivity
private var coordinatorLayout: CoordinatorLayout? = null
private var toolbar: Toolbar? = null
private var lockView: FloatingActionButton? = null
private var footer: TextView? = null
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
@@ -62,10 +64,19 @@ open class SettingsActivity
coordinatorLayout = findViewById(R.id.toolbar_coordinator)
toolbar = findViewById(R.id.toolbar)
lockView = findViewById(R.id.lock_button)
footer = findViewById(R.id.screenshot_mode_banner)
// To apply navigation bar with background color
/* TODO Settings nav bar
setTransparentNavigationBar {
coordinatorLayout?.applyWindowInsets(WindowInsetPosition.TOP)
footer?.applyWindowInsets(WindowInsetPosition.BOTTOM)
}*/
mExternalFileHelper = ExternalFileHelper(this)
mExternalFileHelper?.buildOpenDocument { selectedFileUri ->
// Import app properties result
// Import app settings result
try {
selectedFileUri?.let { uri ->
val appProperties = Properties()
@@ -80,11 +91,11 @@ open class SettingsActivity
}
} catch (e: Exception) {
Toast.makeText(this, R.string.error_import_app_properties, Toast.LENGTH_LONG).show()
Log.e(TAG, "Unable to import app properties", e)
Log.e(TAG, "Unable to import app settings", e)
}
}
mExternalFileHelper?.buildCreateDocument { createdFileUri ->
// Export app properties result
// Export app settings result
try {
createdFileUri?.let { uri ->
contentResolver?.openOutputStream(uri)?.use { outputStream ->
@@ -96,7 +107,7 @@ open class SettingsActivity
}
} catch (e: Exception) {
Toast.makeText(this, R.string.error_export_app_properties, Toast.LENGTH_LONG).show()
Log.e(DatabaseLockActivity.TAG, "Unable to export app properties", e)
Log.e(DatabaseLockActivity.TAG, "Unable to export app settings", e)
}
}
@@ -107,7 +118,6 @@ open class SettingsActivity
setSupportActionBar(toolbar)
supportActionBar?.setDisplayHomeAsUpEnabled(true)
lockView = findViewById(R.id.lock_button)
lockView?.setOnClickListener {
lockAndExit()
}
@@ -166,7 +176,7 @@ open class SettingsActivity
override fun onOptionsItemSelected(item: MenuItem): Boolean {
when (item.itemId) {
android.R.id.home -> onBackPressed()
android.R.id.home -> onDatabaseBackPressed()
}
return super.onOptionsItemSelected(item)
@@ -200,10 +210,10 @@ open class SettingsActivity
}
}
override fun onBackPressed() {
override fun onDatabaseBackPressed() {
// this if statement is necessary to navigate through nested and main fragments
if (supportFragmentManager.backStackEntryCount == 0) {
super.onBackPressed()
super.onDatabaseBackPressed()
} else {
supportFragmentManager.popBackStack()
}

View File

@@ -21,13 +21,11 @@ package com.kunzisoft.keepass.settings.preferencedialogfragment
import android.view.View
import android.view.inputmethod.EditorInfo
import android.view.inputmethod.InputMethodManager
import android.widget.Button
import android.widget.CompoundButton
import android.widget.EditText
import android.widget.TextView
import androidx.annotation.StringRes
import androidx.core.content.ContextCompat
import androidx.preference.PreferenceDialogFragmentCompat
import com.kunzisoft.keepass.R
@@ -157,20 +155,6 @@ abstract class InputPreferenceDialogFragmentCompat : PreferenceDialogFragmentCom
switchElementView?.visibility = View.GONE
}
protected fun hideKeyboard(): Boolean {
context?.let {
ContextCompat.getSystemService(it, InputMethodManager::class.java)?.let { inputManager ->
activity?.currentFocus?.let { focus ->
val windowToken = focus.windowToken
if (windowToken != null) {
return inputManager.hideSoftInputFromWindow(windowToken, 0)
}
}
}
}
return false
}
fun setSwitchAction(onCheckedChange: ((isChecked: Boolean)-> Unit)?, defaultChecked: Boolean) {
switchElementView?.visibility = if (onCheckedChange == null) View.GONE else View.VISIBLE
switchElementView?.isChecked = defaultChecked

View File

@@ -0,0 +1,68 @@
package com.kunzisoft.keepass.utils
import android.app.Activity
import android.content.Context
import android.inputmethodservice.InputMethodService
import android.os.Build
import android.util.Log
import android.view.View
import android.view.inputmethod.InputMethodManager
import androidx.core.content.ContextCompat
object KeyboardUtil {
fun Activity.hideKeyboard(): Boolean {
ContextCompat.getSystemService(this, InputMethodManager::class.java)?.let { inputManager ->
this.currentFocus?.let { focus ->
focus.windowToken?.let {windowToken ->
return inputManager.hideSoftInputFromWindow(
windowToken, 0)
}
}
}
return false
}
fun View.hideKeyboard(): Boolean {
return ContextCompat.getSystemService(context, InputMethodManager::class.java)
?.hideSoftInputFromWindow(windowToken, 0) ?: false
}
fun View.showKeyboard() {
ContextCompat.getSystemService(context, InputMethodManager::class.java)
?.showSoftInput(this, InputMethodManager.SHOW_IMPLICIT)
}
fun InputMethodService.switchToPreviousKeyboard() {
var imeManager: InputMethodManager? = null
try {
imeManager = ContextCompat.getSystemService(this, InputMethodManager::class.java)
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P) {
switchToPreviousInputMethod()
} else {
@Suppress("DEPRECATION")
window.window?.let { window ->
imeManager?.switchToLastInputMethod(window.attributes.token)
}
}
} catch (e: Exception) {
Log.e(TAG, "Unable to switch to the previous IME", e)
imeManager?.showInputMethodPicker()
}
}
fun Context.showKeyboardPicker() {
ContextCompat.getSystemService(this, InputMethodManager::class.java)
?.showInputMethodPicker()
}
fun Context.isKeyboardActivatedInSettings(): Boolean {
return ContextCompat.getSystemService(this, InputMethodManager::class.java)
?.enabledInputMethodList
?.any {
it.packageName == this.packageName
} ?: false
}
private const val TAG = "KeyboardUtil"
}

View File

@@ -29,19 +29,17 @@ import android.util.AttributeSet
import android.view.KeyEvent
import android.view.LayoutInflater
import android.view.inputmethod.EditorInfo
import android.view.inputmethod.InputMethodManager
import android.widget.CompoundButton
import android.widget.EditText
import android.widget.FrameLayout
import android.widget.TextView
import androidx.appcompat.app.AppCompatActivity
import androidx.core.content.ContextCompat
import com.kunzisoft.keepass.R
import com.kunzisoft.keepass.activities.helpers.ExternalFileHelper
import com.kunzisoft.keepass.activities.helpers.setOpenDocumentClickListener
import com.kunzisoft.keepass.database.MainCredential
import com.kunzisoft.keepass.hardware.HardwareKey
import com.kunzisoft.keepass.model.CredentialStorage
import com.kunzisoft.keepass.utils.KeyboardUtil.showKeyboard
class MainCredentialView @JvmOverloads constructor(context: Context,
attrs: AttributeSet? = null,
@@ -231,8 +229,7 @@ class MainCredentialView @JvmOverloads constructor(context: Context,
fun focusPasswordFieldAndOpenKeyboard() {
passwordTextView.postDelayed({
passwordTextView.requestFocusFromTouch()
ContextCompat.getSystemService(context, InputMethodManager::class.java)
?.showSoftInput(passwordTextView, InputMethodManager.SHOW_IMPLICIT)
passwordTextView.showKeyboard()
}, 100)
}

View File

@@ -1,6 +1,5 @@
package com.kunzisoft.keepass.view
import android.app.Activity
import android.content.Context
import android.os.Build
import android.os.Parcel
@@ -11,11 +10,9 @@ import android.util.Log
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import android.view.inputmethod.InputMethodManager
import android.widget.FrameLayout
import android.widget.ImageView
import androidx.annotation.IdRes
import androidx.core.content.ContextCompat
import com.kunzisoft.keepass.R
import com.kunzisoft.keepass.database.element.DateInstant
import com.kunzisoft.keepass.database.element.Field
@@ -27,6 +24,7 @@ import com.kunzisoft.keepass.model.EntryInfo
import com.kunzisoft.keepass.otp.OtpElement
import com.kunzisoft.keepass.otp.OtpEntryFields
import com.kunzisoft.keepass.settings.PreferencesUtil
import com.kunzisoft.keepass.utils.KeyboardUtil.hideKeyboard
import com.kunzisoft.keepass.utils.readParcelableCompat
@@ -102,8 +100,7 @@ abstract class TemplateAbstractView<
}
buildTemplateAndPopulateInfo()
clearFocus()
ContextCompat.getSystemService(context, InputMethodManager::class.java)
?.hideSoftInputFromWindow(windowToken, 0)
hideKeyboard()
}
}

View File

@@ -22,9 +22,16 @@ package com.kunzisoft.keepass.view
import android.animation.Animator
import android.animation.AnimatorSet
import android.animation.ValueAnimator
import android.app.Activity
import android.content.Context
import android.graphics.*
import android.content.res.Configuration
import android.graphics.Color
import android.graphics.Paint
import android.graphics.PorterDuff
import android.graphics.PorterDuffColorFilter
import android.graphics.Typeface
import android.graphics.drawable.Drawable
import android.os.Build
import android.text.Selection
import android.text.Spannable
import android.text.SpannableString
@@ -43,8 +50,14 @@ import androidx.appcompat.view.menu.ActionMenuItemView
import androidx.appcompat.widget.ActionMenuView
import androidx.appcompat.widget.Toolbar
import androidx.coordinatorlayout.widget.CoordinatorLayout
import androidx.core.content.ContextCompat
import androidx.core.graphics.drawable.DrawableCompat
import androidx.core.view.ViewCompat
import androidx.core.view.WindowCompat
import androidx.core.view.WindowInsetsCompat
import androidx.core.view.forEach
import androidx.core.view.isVisible
import androidx.core.view.updateLayoutParams
import androidx.core.view.updatePadding
import com.google.android.material.appbar.CollapsingToolbarLayout
import com.google.android.material.snackbar.Snackbar
@@ -287,3 +300,68 @@ fun CollapsingToolbarLayout.changeTitleColor(color: Int) {
setExpandedTitleColor(color)
invalidate()
}
fun Activity.setTransparentNavigationBar(applyToStatusBar: Boolean = false, applyWindowInsets: () -> Unit) {
// Only in portrait
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O_MR1
&& resources.configuration.orientation == Configuration.ORIENTATION_PORTRAIT) {
WindowCompat.setDecorFitsSystemWindows(window, false)
this.window.navigationBarColor = ContextCompat.getColor(this, R.color.surface_selector)
if (applyToStatusBar) {
this.window.statusBarColor = ContextCompat.getColor(this, R.color.surface_selector)
}
applyWindowInsets.invoke()
}
}
/**
* Apply a margin to a view to fix the window inset
*/
fun View.applyWindowInsets(position: WindowInsetPosition = WindowInsetPosition.BOTTOM) {
ViewCompat.setOnApplyWindowInsetsListener(this) { view, windowInsets ->
var consumed = false
// To fix listener in API 27
if (view is ViewGroup) {
view.forEach { child ->
// Dispatch the insets to the child
val childResult = ViewCompat.dispatchApplyWindowInsets(child, windowInsets)
// If the child consumed the insets, record it
if (childResult.isConsumed) {
consumed = true
}
}
}
val insets = windowInsets.getInsets(WindowInsetsCompat.Type.systemBars())
when (position) {
WindowInsetPosition.TOP -> {
if (view.layoutParams is ViewGroup.MarginLayoutParams) {
view.updateLayoutParams<ViewGroup.MarginLayoutParams> {
topMargin = insets.top
}
}
}
WindowInsetPosition.LEGIT_TOP -> {
if (view.layoutParams is ViewGroup.MarginLayoutParams) {
view.updateLayoutParams<ViewGroup.MarginLayoutParams> {
topMargin = 0
}
}
}
WindowInsetPosition.BOTTOM -> {
if (view.layoutParams is ViewGroup.MarginLayoutParams) {
view.updateLayoutParams<ViewGroup.MarginLayoutParams> {
bottomMargin = insets.bottom
}
}
}
}
// If any of the children consumed the insets, return an appropriate value
if (consumed) WindowInsetsCompat.CONSUMED else windowInsets
}
}
enum class WindowInsetPosition {
TOP, BOTTOM, LEGIT_TOP
}

View File

@@ -0,0 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android" >
<item android:alpha="0.38" android:color="?attr/colorSecondary" android:state_activated="true"/>
<item android:alpha="1.00" android:color="?attr/colorSecondary" android:state_activated="false"/>
</selector>

View File

@@ -0,0 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android" >
<item android:alpha="0.60" android:color="?attr/colorSurface"/>
</selector>

View File

@@ -8,7 +8,7 @@
<item android:state_selected="true">
<shape>
<corners android:radius="25dp" />
<solid android:color="?attr/colorSecondaryContainer"/>
<solid android:color="?attr/colorSecondary"/>
</shape>
</item>
<item android:state_selected="false">

View File

@@ -19,17 +19,15 @@
-->
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:filterTouchesWhenObscured="true"
android:fitsSystemWindows="true">
android:filterTouchesWhenObscured="true">
<androidx.coordinatorlayout.widget.CoordinatorLayout
android:id="@+id/toolbar_coordinator"
android:layout_width="match_parent"
android:layout_height="0dp"
app:layout_constraintBottom_toTopOf="@+id/screenshot_mode_banner"
app:layout_constraintTop_toTopOf="parent">
android:layout_height="match_parent">
<com.google.android.material.appbar.AppBarLayout
android:id="@+id/app_bar"
@@ -95,7 +93,8 @@
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
android:layout_height="match_parent"
android:paddingBottom="48dp">
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/history_container"
@@ -137,13 +136,28 @@
</androidx.core.widget.NestedScrollView>
</androidx.coordinatorlayout.widget.CoordinatorLayout>
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/activity_entry_footer"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:layout_constraintBottom_toBottomOf="parent">
<com.google.android.material.tabs.TabLayout
android:id="@+id/entry_content_tab"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:minWidth="180dp"
android:background="@drawable/background_item_selection"
android:backgroundTint="@color/surface_selector"
android:layout_marginBottom="12dp"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"
android:layout_gravity="bottom|center_horizontal"
app:tabMode="fixed">
app:layout_constraintBottom_toTopOf="@+id/screenshot_mode_banner"
app:tabMode="fixed"
tools:targetApi="lollipop">
<com.google.android.material.tabs.TabItem
android:id="@+id/entry_content_tab_main"
@@ -159,24 +173,25 @@
</com.google.android.material.tabs.TabLayout>
<FrameLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<ProgressBar
android:id="@+id/loading"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:indeterminate="true" />
</FrameLayout>
<include
layout="@layout/view_button_lock"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="start|bottom" />
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintBottom_toTopOf="@+id/screenshot_mode_banner" />
</androidx.coordinatorlayout.widget.CoordinatorLayout>
<include layout="@layout/view_screenshot_mode_banner" />
</androidx.constraintlayout.widget.ConstraintLayout>
<ProgressBar
android:id="@+id/loading"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:indeterminate="true"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<include layout="@layout/view_screenshot_mode_banner" />
</androidx.constraintlayout.widget.ConstraintLayout>

View File

@@ -30,79 +30,91 @@
<androidx.coordinatorlayout.widget.CoordinatorLayout
android:id="@+id/entry_edit_coordinator_layout"
android:layout_width="match_parent"
android:layout_height="0dp"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintBottom_toTopOf="@+id/entry_edit_bottom_bar">
android:layout_height="match_parent">
<com.google.android.material.appbar.AppBarLayout
android:id="@+id/appbar"
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/activity_entry_edit_container"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:fitsSystemWindows="true">
android:layout_height="match_parent">
<com.kunzisoft.keepass.view.ToolbarSpecial
android:id="@+id/special_mode_view"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:layout_constraintTop_toTopOf="parent" />
</com.google.android.material.appbar.AppBarLayout>
<androidx.core.widget.NestedScrollView
android:id="@+id/entry_edit_scroll"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:scrollbarStyle="insideOverlay"
android:scrollbars="none"
app:layout_behavior="@string/appbar_scrolling_view_behavior">
<androidx.constraintlayout.widget.ConstraintLayout
<androidx.core.widget.NestedScrollView
android:id="@+id/entry_edit_scroll"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingTop="@dimen/card_view_margin_vertical"
android:paddingBottom="@dimen/card_view_margin_vertical">
<androidx.appcompat.widget.AppCompatSpinner
android:id="@+id/entry_edit_template_selector"
android:layout_height="0dp"
app:layout_constraintTop_toBottomOf="@+id/special_mode_view"
app:layout_constraintBottom_toBottomOf="parent"
android:scrollbarStyle="insideOverlay"
android:scrollbars="none"
app:layout_behavior="@string/appbar_scrolling_view_behavior">
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:layout_constraintTop_toTopOf="parent" />
<androidx.fragment.app.FragmentContainerView
android:id="@+id/entry_edit_content"
android:name="com.kunzisoft.keepass.activities.fragments.EntryEditFragment"
android:layout_width="0dp"
android:layout_height="wrap_content"
app:layout_constraintWidth_percent="@dimen/content_percent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toBottomOf="@+id/entry_edit_template_selector"/>
</androidx.constraintlayout.widget.ConstraintLayout>
</androidx.core.widget.NestedScrollView>
android:layout_height="match_parent"
android:paddingTop="@dimen/card_view_margin_vertical"
android:paddingBottom="128dp">
<androidx.appcompat.widget.AppCompatSpinner
android:id="@+id/entry_edit_template_selector"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:layout_constraintTop_toTopOf="parent" />
<androidx.fragment.app.FragmentContainerView
android:id="@+id/entry_edit_content"
android:name="com.kunzisoft.keepass.activities.fragments.EntryEditFragment"
android:layout_width="0dp"
android:layout_height="wrap_content"
app:layout_constraintWidth_percent="@dimen/content_percent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toBottomOf="@+id/entry_edit_template_selector"/>
</androidx.constraintlayout.widget.ConstraintLayout>
</androidx.core.widget.NestedScrollView>
</androidx.constraintlayout.widget.ConstraintLayout>
</androidx.coordinatorlayout.widget.CoordinatorLayout>
<com.kunzisoft.keepass.view.ToolbarAction
android:id="@+id/entry_edit_bottom_bar"
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/activity_entry_edit_footer"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="bottom"
app:layout_constraintBottom_toTopOf="@+id/screenshot_mode_banner" />
app:layout_constraintBottom_toBottomOf="parent">
<com.google.android.material.floatingactionbutton.FloatingActionButton
android:id="@+id/entry_edit_validate"
style="@style/KeepassDXStyle.Fab"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:contentDescription="@string/validate"
android:src="@drawable/ic_check_white_24dp"
app:fabCustomSize="@dimen/button_small_size"
app:layout_constraintTop_toTopOf="@+id/entry_edit_bottom_bar"
app:layout_constraintBottom_toTopOf="@+id/screenshot_mode_banner"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent" />
<com.kunzisoft.keepass.view.ToolbarAction
android:id="@+id/entry_edit_bottom_bar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="bottom"
app:layout_constraintBottom_toTopOf="@+id/screenshot_mode_banner" />
<include
layout="@layout/view_button_lock"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintBottom_toTopOf="@+id/screenshot_mode_banner"/>
<com.google.android.material.floatingactionbutton.FloatingActionButton
android:id="@+id/entry_edit_validate"
style="@style/KeepassDXStyle.Fab"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:contentDescription="@string/validate"
android:src="@drawable/ic_check_white_24dp"
app:fabCustomSize="@dimen/button_small_size"
app:layout_constraintTop_toTopOf="@+id/entry_edit_bottom_bar"
app:layout_constraintBottom_toBottomOf="@+id/entry_edit_bottom_bar"
android:layout_marginBottom="6dp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent" />
<include
layout="@layout/view_button_lock"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintBottom_toTopOf="@+id/screenshot_mode_banner"/>
<include layout="@layout/view_screenshot_mode_banner" />
</androidx.constraintlayout.widget.ConstraintLayout>
<ProgressBar
android:id="@+id/loading"
@@ -110,12 +122,9 @@
android:layout_height="wrap_content"
android:layout_gravity="center"
android:indeterminate="true"
app:layout_anchor="@+id/entry_scroll"
app:layout_anchorGravity="top|center"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<include layout="@layout/view_screenshot_mode_banner" />
</androidx.constraintlayout.widget.ConstraintLayout>

View File

@@ -68,12 +68,12 @@
android:layout_height="wrap_content"
android:textSize="32sp"
android:textStyle="bold"
android:shadowColor="#80000000"
android:shadowDx="2"
android:shadowColor="#AD000000"
android:shadowDx="0"
android:shadowDy="2"
android:shadowRadius="4"
android:shadowRadius="2"
android:paddingTop="?attr/actionBarSize"
android:textColor="@color/green_light"
android:textColor="?attr/colorPrimaryContainer"
android:gravity="center"
android:text="@string/app_name_part1"/>
<TextView
@@ -84,12 +84,12 @@
android:layout_marginLeft="2dp"
android:textSize="32sp"
android:textStyle="bold"
android:shadowColor="#80000000"
android:shadowDx="2"
android:shadowColor="#AD000000"
android:shadowDx="0"
android:shadowDy="2"
android:shadowRadius="4"
android:shadowRadius="2"
android:paddingTop="?attr/actionBarSize"
android:textColor="@color/orange"
android:textColor="?attr/colorSecondary"
android:gravity="center"
android:text="@string/app_name_part2"/>
<TextView
@@ -102,12 +102,12 @@
android:textSize="32sp"
android:textStyle="bold"
android:visibility="gone"
android:shadowColor="#80000000"
android:shadowDx="2"
android:shadowColor="#AD000000"
android:shadowDx="0"
android:shadowDy="2"
android:shadowRadius="4"
android:shadowRadius="2"
android:paddingTop="?attr/actionBarSize"
android:textColor="@color/green_lightest"
android:textColor="?attr/colorSecondaryContainer"
android:gravity="center"
android:text="@string/app_name_part3"/>
</LinearLayout>

View File

@@ -31,71 +31,78 @@
android:layout_width="match_parent"
android:layout_height="match_parent">
<com.kunzisoft.keepass.view.ToolbarSpecial
android:id="@+id/special_mode_view"
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/activity_group_header"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:layout_constraintTop_toTopOf="parent" />
<com.google.android.material.appbar.MaterialToolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:title="@string/app_name"
app:layout_constraintTop_toBottomOf="@+id/special_mode_view">
<TextView
android:id="@+id/database_name"
android:layout_width="wrap_content"
app:layout_constraintTop_toTopOf="parent">
<com.kunzisoft.keepass.view.ToolbarSpecial
android:id="@+id/special_mode_view"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="12dp"
android:layout_marginLeft="12dp"
android:singleLine="true"
tools:text="Database"
style="@style/KeepassDXStyle.Title.OnSurface" />
</com.google.android.material.appbar.MaterialToolbar>
app:layout_constraintTop_toTopOf="parent" />
<FrameLayout
android:layout_width="48dp"
android:layout_height="wrap_content"
android:layout_marginStart="48dp"
android:layout_marginLeft="48dp"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/special_mode_view"
app:layout_constraintBottom_toTopOf="@+id/group_coordinator">
<ImageView
android:id="@+id/database_color"
android:layout_width="12dp"
android:layout_height="12dp"
android:layout_gravity="center_vertical|start"
android:visibility="gone"
android:src="@drawable/background_rounded_square"
android:contentDescription="@string/content_description_database_color"/>
<ImageView
android:id="@+id/database_modified"
android:layout_width="12dp"
android:layout_height="12dp"
android:layout_gravity="center_vertical|start"
android:visibility="gone"
android:src="@drawable/ic_modified_white_12dp"
android:contentDescription="@string/save"/>
</FrameLayout>
<com.google.android.material.appbar.MaterialToolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:title="@string/app_name"
app:layout_constraintTop_toBottomOf="@+id/special_mode_view">
<TextView
android:id="@+id/database_name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="12dp"
android:layout_marginLeft="12dp"
android:maxLines="2"
android:ellipsize="end"
tools:text="Database"
style="@style/KeepassDXStyle.Title.OnSurface" />
</com.google.android.material.appbar.MaterialToolbar>
<FrameLayout
android:layout_width="48dp"
android:layout_height="wrap_content"
android:layout_marginStart="48dp"
android:layout_marginLeft="48dp"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/special_mode_view"
app:layout_constraintBottom_toBottomOf="parent">
<ImageView
android:id="@+id/database_color"
android:layout_width="12dp"
android:layout_height="12dp"
android:layout_gravity="center_vertical|start"
android:visibility="gone"
android:src="@drawable/background_rounded_square"
android:contentDescription="@string/content_description_database_color"/>
<ImageView
android:id="@+id/database_modified"
android:layout_width="12dp"
android:layout_height="12dp"
android:layout_gravity="center_vertical|start"
android:visibility="gone"
android:src="@drawable/ic_modified_white_12dp"
android:contentDescription="@string/save"/>
</FrameLayout>
</androidx.constraintlayout.widget.ConstraintLayout>
<androidx.coordinatorlayout.widget.CoordinatorLayout
android:id="@+id/group_coordinator"
android:layout_width="match_parent"
android:layout_height="0dp"
app:layout_constraintBottom_toTopOf="@+id/toolbar_action"
app:layout_constraintTop_toBottomOf="@+id/toolbar">
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintTop_toBottomOf="@+id/activity_group_header">
<com.google.android.material.appbar.AppBarLayout
android:id="@+id/app_bar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:fitsSystemWindows="true">
android:layout_height="wrap_content">
<FrameLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="?attr/colorSurface"
app:layout_scrollFlags="scroll|snap|enterAlways">
<androidx.recyclerview.widget.RecyclerView
@@ -114,56 +121,65 @@
</com.google.android.material.appbar.AppBarLayout>
<RelativeLayout
android:id="@+id/node_list_container"
<FrameLayout
android:id="@+id/nodes_list_fragment_container"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
app:layout_behavior="@string/appbar_scrolling_view_behavior"
android:layout_below="@+id/toolbar">
android:background="?android:attr/windowBackground"
android:layout_below="@+id/toolbar" />
</androidx.coordinatorlayout.widget.CoordinatorLayout>
<FrameLayout
android:id="@+id/nodes_list_fragment_container"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingTop="@dimen/selectable_margin_vertical"
android:background="?android:attr/windowBackground" />
</RelativeLayout>
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/activity_group_footer"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:layout_constraintBottom_toBottomOf="parent">
<com.kunzisoft.keepass.view.ToolbarAction
android:id="@+id/toolbar_action"
android:layout_width="match_parent"
android:layout_height="64dp"
android:visibility="gone"
app:layout_constraintBottom_toTopOf="@+id/screenshot_mode_banner" />
<com.kunzisoft.keepass.view.AddNodeButtonView
android:id="@+id/add_node_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:layout_anchor="@+id/node_list_container"
app:layout_constraintBottom_toTopOf="@+id/screenshot_mode_banner"
app:layout_constraintEnd_toEndOf="parent"
app:layout_anchor="@+id/nodes_list_fragment_container"
app:layout_anchorGravity="end|bottom" />
</androidx.coordinatorlayout.widget.CoordinatorLayout>
<com.kunzisoft.keepass.view.ToolbarAction
android:id="@+id/toolbar_action"
android:layout_width="match_parent"
android:layout_height="64dp"
android:visibility="gone"
app:layout_constraintBottom_toTopOf="@+id/screenshot_mode_banner" />
<FrameLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<ProgressBar
android:id="@+id/loading"
<include
layout="@layout/view_button_lock"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:indeterminate="true" />
</FrameLayout>
app:layout_constraintBottom_toTopOf="@+id/screenshot_mode_banner"
app:layout_constraintStart_toStartOf="parent" />
<include
layout="@layout/view_button_lock"
<include layout="@layout/view_screenshot_mode_banner" />
</androidx.constraintlayout.widget.ConstraintLayout>
<androidx.coordinatorlayout.widget.CoordinatorLayout
android:id="@+id/error_coordinator"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:layout_constraintBottom_toTopOf="@+id/screenshot_mode_banner"/>
<ProgressBar
android:id="@+id/loading"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:layout_constraintBottom_toTopOf="@+id/screenshot_mode_banner" />
<include layout="@layout/view_screenshot_mode_banner" />
android:layout_gravity="center"
android:indeterminate="true"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>
<com.kunzisoft.keepass.view.NavigationDatabaseView
@@ -171,7 +187,6 @@
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_gravity="start"
style="@style/Widget.Material3.NavigationView"
android:fitsSystemWindows="true" />
style="@style/Widget.Material3.NavigationView" />
</androidx.drawerlayout.widget.DrawerLayout>

View File

@@ -67,9 +67,19 @@
android:layout_margin="12dp"
android:contentDescription="@string/about"
android:elevation="4dp"
android:src="@drawable/ic_app_white_24dp"
android:src="@drawable/ic_app_lock_white_24dp"
app:tint="?attr/colorSecondary"
android:background="@drawable/background_image"
android:backgroundTint="@color/green"/>
app:backgroundTint="?attr/colorPrimaryContainer"/>
<androidx.appcompat.widget.AppCompatImageView
android:layout_width="48dp"
android:layout_height="48dp"
android:layout_gravity="center"
android:layout_margin="12dp"
android:contentDescription="@string/about"
android:elevation="4dp"
android:src="@drawable/ic_app_key_white_24dp"
app:tint="?attr/colorOnPrimaryContainer"/>
</FrameLayout>
<com.google.android.material.appbar.MaterialToolbar
@@ -105,6 +115,11 @@
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<View
android:layout_width="match_parent"
android:layout_height="116dp"
app:layout_constraintTop_toTopOf="parent"
android:background="?attr/colorSurface" />
<FrameLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
@@ -113,10 +128,6 @@
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent">
<View
android:layout_width="match_parent"
android:layout_height="116dp"
android:background="?attr/colorSurface" />
<com.google.android.material.card.MaterialCardView
android:layout_width="wrap_content"
android:layout_height="wrap_content"

View File

@@ -18,42 +18,44 @@
along with KeePassDX. If not, see <http://www.gnu.org/licenses/>.
-->
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:filterTouchesWhenObscured="true"
android:background="?android:attr/windowBackground"
android:fitsSystemWindows="true">
android:background="?android:attr/windowBackground">
<androidx.coordinatorlayout.widget.CoordinatorLayout
android:id="@+id/toolbar_coordinator"
android:layout_width="match_parent"
android:layout_height="0dp"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintBottom_toTopOf="@+id/screenshot_mode_banner">
app:layout_constraintBottom_toTopOf="@+id/screenshot_mode_banner" >
<LinearLayout
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent">
<include
android:id="@+id/toolbar"
layout="@layout/toolbar_default" />
<FrameLayout
android:id="@+id/fragment_container"
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="match_parent" />
</LinearLayout>
android:layout_height="match_parent">
<include layout="@layout/toolbar_default"
app:layout_constraintTop_toTopOf="parent"/>
<FrameLayout
android:id="@+id/fragment_container"
android:layout_width="match_parent"
android:layout_height="0dp"
app:layout_constraintTop_toBottomOf="@+id/toolbar"
app:layout_constraintBottom_toBottomOf="parent"/>
</androidx.constraintlayout.widget.ConstraintLayout>
</androidx.coordinatorlayout.widget.CoordinatorLayout>
<include
layout="@layout/view_button_lock"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="start|bottom" />
</androidx.coordinatorlayout.widget.CoordinatorLayout>
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintBottom_toTopOf="@+id/screenshot_mode_banner" />
<include layout="@layout/view_screenshot_mode_banner"
app:layout_constraintBottom_toBottomOf="parent"/>
<include layout="@layout/view_screenshot_mode_banner" />
</androidx.constraintlayout.widget.ConstraintLayout>

View File

@@ -29,7 +29,7 @@
android:scrollbarStyle="insideOverlay"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="64dp"
android:paddingBottom="120dp"
android:clipToPadding="false" />
<LinearLayout
android:id="@+id/not_found_container"

View File

@@ -23,7 +23,7 @@
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingVertical="@dimen/selectable_margin_vertical"
android:paddingTop="@dimen/selectable_margin_top"
android:paddingHorizontal="@dimen/selectable_margin_horizontal">
<androidx.constraintlayout.widget.ConstraintLayout
@@ -66,9 +66,7 @@
android:layout_marginEnd="12dp"
android:layout_marginRight="12dp"
android:orientation="vertical"
android:paddingTop="4dp"
android:paddingBottom="4dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintBottom_toTopOf="@+id/node_path"
app:layout_constraintEnd_toStartOf="@+id/node_options"
app:layout_constraintLeft_toRightOf="@+id/node_icon"
app:layout_constraintRight_toLeftOf="@+id/node_options"
@@ -102,15 +100,6 @@
android:lines="1"
android:singleLine="true"
tools:text="7543A7EAB2EA7CFD1394F1615EBEB08C" />
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/node_path"
style="@style/KeepassDXStyle.Meta.Entry"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:maxLines="2"
android:visibility="gone"
tools:text="Database / Group A / Group B" />
</LinearLayout>
<LinearLayout
@@ -123,9 +112,9 @@
android:layout_marginRight="12dp"
android:gravity="end"
android:orientation="horizontal"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent">
app:layout_constraintTop_toTopOf="@+id/node_container_info"
app:layout_constraintBottom_toTopOf="@+id/node_path"
app:layout_constraintEnd_toEndOf="parent">
<LinearLayout
android:id="@+id/node_otp_container"
@@ -173,5 +162,21 @@
</LinearLayout>
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/node_path"
style="@style/KeepassDXStyle.Meta.Entry.Important"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginRight="12dp"
android:layout_marginEnd="12dp"
android:layout_marginBottom="2dp"
android:maxLines="2"
android:visibility="gone"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="@+id/node_container_info"
app:layout_constraintTop_toBottomOf="@+id/node_container_info"
tools:text="Database / Group A / Group B" />
</androidx.constraintlayout.widget.ConstraintLayout>
</androidx.constraintlayout.widget.ConstraintLayout>

View File

@@ -23,7 +23,7 @@
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingVertical="@dimen/selectable_margin_vertical"
android:paddingTop="@dimen/selectable_margin_top"
android:paddingHorizontal="@dimen/selectable_margin_horizontal">
<RelativeLayout

View File

@@ -15,7 +15,7 @@
app:useCompatPadding="true"
android:layout_marginStart="-6dp"
android:layout_marginLeft="-6dp"
android:layout_marginBottom="-10dp"
android:layout_marginBottom="-7dp"
android:contentDescription="@string/lock"
android:layout_gravity="bottom"
android:visibility="visible"

View File

@@ -36,7 +36,7 @@
android:minHeight="48dp"
android:hint="@string/password"
android:inputType="textPassword"
android:importantForAutofill="yes"
android:importantForAutofill="no"
android:focusable="true"
android:focusableInTouchMode="true"
android:autofillHints="password"
@@ -56,7 +56,6 @@
android:layout_marginStart="12dp"
android:layout_marginLeft="12dp"
android:contentDescription="@string/content_description_password_checkbox"
android:focusable="false"
android:gravity="center_vertical" />
</RelativeLayout>
@@ -88,7 +87,6 @@
android:layout_marginStart="12dp"
android:layout_marginLeft="12dp"
android:contentDescription="@string/content_description_keyfile_checkbox"
android:focusable="false"
android:gravity="center_vertical" />
</RelativeLayout>
@@ -119,7 +117,6 @@
android:layout_marginStart="12dp"
android:layout_marginLeft="12dp"
android:contentDescription="@string/content_description_hardware_key_checkbox"
android:focusable="false"
android:gravity="center_vertical" />
</RelativeLayout>

View File

@@ -6,11 +6,11 @@
android:id="@+id/screenshot_mode_banner"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:background="@color/grey"
android:background="?attr/colorSecondary"
android:paddingHorizontal="16dp"
android:paddingVertical="8dp"
android:text="@string/screenshot_mode_banner_text"
android:textColor="@color/white"
android:textColor="?attr/colorOnSecondary"
android:visibility="gone"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"

View File

@@ -20,8 +20,8 @@
<string name="homepage">الصفحة الرئيسة</string>
<string name="accept">قبول</string>
<string name="add_group">إضافة مجموعة</string>
<string name="encryption">التعميّة</string>
<string name="encryption_algorithm">خوارزمية التعميّة</string>
<string name="encryption">التشفير</string>
<string name="encryption_algorithm">خوارزمية التشفير</string>
<string name="application">التطبيق</string>
<string name="brackets">الأقواس</string>
<string name="extended_ASCII">تمديد ASCII</string>
@@ -30,7 +30,7 @@
<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_notes">ملاحظات</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>
@@ -155,15 +155,15 @@
<string name="menu_url">الانتقال الى الرابط</string>
<string name="menu_file_selection_read_only">محمي من التعديل</string>
<string name="menu_open_file_read_and_write">قابل للتعديل</string>
<string name="select_database_file">فتح قاعدة بيانات موجودة</string>
<string name="create_keepass_file">انشاء قاعدة بيانات</string>
<string name="select_database_file">فتح مخزن موجود</string>
<string name="create_keepass_file">انشاء مخزن جديد</string>
<string name="progress_title">قيد العمل…</string>
<string name="read_only_warning">KeePassDX يحتاج صلاحية الكتابة من اجل تعديل قاعدة البيانات.</string>
<string name="encryption_explanation">خوارزمية تشفير جميع البيانات.</string>
<string name="encryption_explanation">خوارزمية تشفير جميع البيانات</string>
<string name="unsupported_db_version">قاعدة بيانات غير مدعومة.</string>
<string name="build_label">بناء %1$s</string>
<string name="encrypted_value_stored">تم حفظ كلمة السر المشفرة</string>
<string name="unavailable">قاعدة البيانات لا تمتلك بيانات اعتماد.</string>
<string name="unavailable">غير متوفر</string>
<string name="menu_appearance_settings">المظهر</string>
<string name="general">عام</string>
<string name="autofill">ملأ تلقائي</string>
@@ -177,7 +177,7 @@
<string name="clipboard_notifications_title">اشعارات الحافظة</string>
<string name="clipboard_warning">اذا فشل الحذف التلقائي من الحافظة ,احذف تأريخه يدويا.</string>
<string name="lock_database_screen_off_title">قفل الشاشة</string>
<string name="lock_database_screen_off_summary">اقفل قاعدة البيانات عند انغلاق الشاشة</string>
<string name="lock_database_screen_off_summary">اقفل قاعدة البيانات بعد بضع ثوانٍ بمجرد إيقاف تشغيل الشاشة</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>
@@ -185,9 +185,9 @@
<string name="path">مسار</string>
<string name="database_history">تأريخ</string>
<string name="clipboard_notifications_summary">أظهر اشعارات الحافظة لنسخ الحقول عند عرض مدخل</string>
<string name="advanced_unlock">البصمة</string>
<string name="advanced_unlock">فتح الجهاز</string>
<string name="biometric_unlock_enable_title">فحص البصمة</string>
<string name="biometric_unlock_enable_summary">يسمح بفحص البصمة لفتح قاعدة البيانات</string>
<string name="biometric_unlock_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>
@@ -213,10 +213,10 @@
<string name="keyboard_keys_category">مفاتيح</string>
<string name="keyboard_key_vibrate_title">إهتزاز عند اللمس</string>
<string name="keyboard_key_sound_title">صوت عند اللمس</string>
<string name="allow_no_password_title">"إسمح بالفتح دون كلمة سر "</string>
<string name="allow_no_password_title">إسمح بدون المفتاح الرئيسي</string>
<string name="enable_read_only_title">محمي من التعديل</string>
<string name="enable_read_only_summary">افتح قاعدة البيانات في وضع القراءة افتراضيا</string>
<string name="enable_education_screens_title">شاشات تعليمية</string>
<string name="enable_education_screens_title">تلميحات تعليمية</string>
<string name="reset_education_screens_summary">أعد عرض كل المعلومات التعليمية</string>
<string name="reset_education_screens_text">إعادة تعيين الشاشات التلميحات</string>
<string name="education_create_database_title">أنشئ قاعدة بيانات</string>
@@ -233,7 +233,7 @@
<string name="keyboard_label">Magikeyboard (KeePassDX)</string>
<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="reset_education_screens_title">إعادة تعيين التلميحات التعليمية</string>
<string name="education_search_title">البحث من خلال الإدخالات</string>
<string name="content_description_open_file">افتح الملف</string>
<string name="content_description_add_entry">إضافة مدخلة</string>
@@ -261,7 +261,7 @@
<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="menu_advanced_unlock_settings">فك القفل المتقدم</string>
<string name="menu_advanced_unlock_settings">فك قفل الجهاز</string>
<string name="entry_attachments">مرفقات</string>
<string name="entry_history">السجل</string>
<string name="entry_add_attachment">أضف مرفقا</string>
@@ -334,8 +334,8 @@
<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="advanced_unlock_explanation_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_back_root_summary">قفل قاعدة البيانات عند النقر على زر الرجوع في الشاشة الرئيسية</string>
@@ -359,10 +359,10 @@
<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="education_read_only_summary">غيِّر وضع الجلسة.
<string name="education_read_only_summary">تغيير وضع الافتتاح للجلسة.
\n
\n\"محمي من التعديل\" يمنع أي تغيير في قاعدة البيانات.
\n\"قابل للتعديل\" يتيح لك إضافة أو حذف أو تعديل جميع العناصر.</string>
\nيمنع \"محمي ضد الكتابة\" التغييرات غير المقصودة في قاعدة البيانات.
\n\"قابل للتعديل\" يتيح لك إضافة أو حذف أو تعديل جميع العناصر كما تريد.</string>
<string name="education_read_only_title">احمي قاعدة البيانات من التعديل</string>
<string name="education_unlock_title">افتح قاعدة البيانات</string>
<string name="education_add_attachment_summary">أضف مرفقا للمدخلة لحفظ بيانات اضافية.</string>
@@ -373,7 +373,7 @@
<string name="keyboard_selection_entry_title">اختيار المدخلة</string>
<string name="device_keyboard_setting_title">إعدادات لوحة مفاتيح الجهاز</string>
<string name="magic_keyboard_explanation_summary">نشِّط لوحة مفاتيح مخصصة لملأ كلمة السر وحقول معرّفك</string>
<string name="biometric_auto_open_prompt_summary">اطلب فك القفل المتقدم ان كانت قاعدة البيانات معدّة لذلك</string>
<string name="biometric_auto_open_prompt_summary">اطلب إلغاء قفل الجهاز تلقائيًا إذا كانت قاعدة البيانات معدّة لذلك</string>
<string name="biometric_auto_open_prompt_title">افتح المحث تلقائيا</string>
<string name="keystore_not_accessible">لم يُهيأ مخزن المفاتيح بشكل صحيح.</string>
<string name="warning_remove_unlinked_attachment">حذف البيانات سيقلل من حجم قاعدة البيانات لكن احذر أن تكون إحدى هذه البيانات ملحقة لكي-باس.</string>
@@ -428,7 +428,7 @@
<string name="membership">العضوية</string>
<string name="name">الاسم</string>
<string name="email">البريد الإلكتروني</string>
<string name="email_address">البريد الإلكتروني</string>
<string name="email_address">عنوان البريد الإلكتروني</string>
<string name="ssid">SSID</string>
<string name="debit_credit_card">بطاقة السحب الفوري / الإئتمان</string>
<string name="error_registration_read_only">لا يمكن حفظ عنصر في قاعدة بيانات مفتوحة للقراءة فقط</string>
@@ -454,8 +454,8 @@
<string name="seed">البذرة</string>
<string name="error_database_uri_null">يتعذر استرداد مسار قاعدة البيانات.</string>
<string name="error_rebuild_list">يتعذر إعادة بناء القائمة بشكل صحيح.</string>
<string name="menu_keystore_remove_key">احذف رمز فك القفل المتقدم</string>
<string name="menu_form_filling_settings">تعبئة الحقول</string>
<string name="menu_keystore_remove_key">احذف رمز فك القفل الجهاز</string>
<string name="menu_form_filling_settings">ملء النموذج</string>
<string name="menu_reload_database">أعد تحميل البيانات</string>
<string name="menu_external_icon">أيقونة خارجية</string>
<string name="registration_mode">وضع التسجيل</string>
@@ -469,11 +469,11 @@
<string name="warning_database_info_changed_options">ادمج البيانات أو استبدل التعديلات الخارجية بحفظ قاعدة البيانات أو أعد تحميلها لجلب آخر التغييرات.</string>
<string name="credential_before_click_advanced_unlock_button">اكتب كلمة السر، وأنقر هذا الزر.</string>
<string name="device_credential">بيانات الاعتماد للجهاز</string>
<string name="advanced_unlock_tap_delete">انفر لحذف مفاتيح فك القفل المتقدم</string>
<string name="advanced_unlock_tap_delete">انقر لحذف مفاتيح فتح الجهاز</string>
<string name="keyboard_auto_go_action_title">إجراء اللمس التلقائي</string>
<string name="keyboard_previous_fill_in_title">إجراء لمس تلقائي</string>
<string name="keyboard_previous_fill_in_title">العودة إلى الوراء</string>
<string name="keyboard_previous_lock_title">اقفل قاعدة البيانات</string>
<string name="education_advanced_unlock_title">فك القفل المتقدم لقاعدة البيانات</string>
<string name="education_advanced_unlock_title">فتح قاعدة بيانات الجهاز</string>
<string name="hint_icon_name">اسم الأيقونة</string>
<string name="autofill_manual_selection_title">اختيار يدوي</string>
<string name="description_app_properties">خصائص KeePassDX لإدارة إعدادات التطبيقات</string>
@@ -483,7 +483,7 @@
<string name="content_description_database_color">لون قاعدة البيانات</string>
<string name="menu_merge_from">ادمج من…</string>
<string name="show_uuid_summary">يعرض \"المعرف العام\" المرتبط بمُدخل او بمجموعة</string>
<string name="expired">انتهت المهلة</string>
<string name="expired">انتهت</string>
<string name="tags">الوسوم</string>
<string name="menu_merge_database">ادمج البيانات</string>
<string name="current_group">المجموعة الحالية</string>
@@ -497,11 +497,11 @@
<string name="custom_data">بيانات مخصصة</string>
<string name="case_sensitive">حساسة لحالة الأحرف</string>
<string name="regex">تعابير نمطية</string>
<string name="enable_keep_screen_on_title">أبق الشاشة شغّالة</string>
<string name="enable_keep_screen_on_title">أبقِ الشاشة شغّالة</string>
<string name="enable_education_screens_summary">أبرز العناصر لتعلم طريقة عمل التطبيق</string>
<string name="autofill_read_only_save">غير مسموح حفظ البيانات في قاعدة بيانات مفتوحة للقراءة فقط.</string>
<string name="autofill_inline_suggestions_keyboard">أُضيف اقتراح ملء تلقائي.</string>
<string name="keyboard_previous_database_credentials_summary">ارجع للوحة المفاتيح السابقة تلقائيًا في شاشة بيانات اعتماد قاعدة البيانات.</string>
<string name="keyboard_previous_database_credentials_summary">الرجوع للوحة المفاتيح السابقة تلقائيًا في شاشة بيانات اعتماد قاعدة البيانات</string>
<string name="autofill_manual_selection_summary">اعرض خيارًا يسمح للمستخدم باختيار مدخلة من قاعدة البيانات</string>
<string name="keyboard_previous_search_title">شاشة البحث</string>
<string name="keyboard_previous_search_summary">ارجع للوحة المفاتيح السابقة تلقائيًا في شاشة البحث</string>
@@ -510,16 +510,177 @@
<string name="autofill_close_database_summary">أغلق قاعدة البيانات بعد الملء التلقائي</string>
<string name="autofill_ask_to_save_data_summary">اسأل عن حفظ البيانات عند ملئك لنموذج</string>
<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_timeout">انتهت مهلة فتح الجهاز</string>
<string name="temp_advanced_unlock_timeout_summary">مهلة استخدام فتح الجهاز قبل حذف محتواها</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="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="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="permission">الإذن</string>
<string name="advanced_unlock_prompt_not_initialized">تعذر تهيئة موجه إلغاء قفل الجهاز.</string>
<string name="biometric_security_update_required">مطلوب تحديث أمان المقاييس الحيوية.</string>
<string name="advanced_unlock_not_recognized">تعذر التعرف على طباعة فتح الجهاز</string>
<string name="temp_advanced_unlock_enable_title">فتح جهاز مؤقت</string>
<string name="autofill_inline_suggestions_title">اقتراحات مضمنة</string>
<string name="education_setup_OTP_summary">قم بإعداد إدارة كلمات المرور لمرة واحدة (HOTP / TOTP) لإنشاء رمز مميز مطلوب للمصادقة الثنائية (2FA).</string>
<string name="education_field_copy_summary">يمكن لصق الحقول المنسوخة في أي مكان.
\n
\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="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="unit_kibibyte">كيلو بايت</string>
<string name="unit_mebibyte">ميغا بايت</string>
<string name="unit_gibibyte">جيجابت</string>
<string name="entropy">إنتروبيا: %1$s بت</string>
<string name="entropy_high">الانتروبيا: مرتفع</string>
<string name="entropy_calculate">الانتروبيا: احسب…</string>
<string name="exclude_ambiguous_chars">استبعاد الأحرف الغامضة</string>
<string name="consider_chars_filter">ضع في اعتبارك الأحرف</string>
<string name="ignore_chars_filter">تجاهل الأحرف</string>
<string name="style_choose_title">سمة التطبيق</string>
<string name="lower_case">أحرف صغيرة</string>
<string name="upper_case">الأحرف الكبيرة</string>
<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="icon_pack_choose_summary">حزمة الأيقونات المستخدمة في التطبيق</string>
<string name="show_entry_colors_title">ألوان الدخول</string>
<string name="device_credential_unlock_enable_title">فتح بيانات اعتماد الجهاز</string>
<string name="autofill_block_restart">أعد تشغيل التطبيق الذي يحتوي على النموذج لتنشيط الحظر.</string>
<string name="education_donation_title">مشاركة</string>
<string name="education_donation_summary">ساعد في زيادة الاستقرار والأمان وفي إضافة المزيد من الميزات.</string>
<string name="html_text_dev_feature">هذه الميزة &lt;strong&gt; قيد التطوير&lt;/strong&gt; وتتطلب &lt;strong&gt; مساهمتك&lt;/strong&gt; لتكون متاحة قريبًا.</string>
<string name="html_text_dev_feature_contibute">من خلال &lt;strong&gt; المساهمة&lt;/strong&gt; ،</string>
<string name="download_finalization">جارِ الانتهاء…</string>
<string name="download_complete">مكتمل!</string>
<string name="unit_byte">B</string>
<string name="icon_section_custom">مُخصص</string>
<string name="content_description_entry_foreground_color">لون مقدمة الدخول</string>
<string name="keyboard_previous_fill_in_summary">العودة تلقائيًا إلى لوحة المفاتيح السابقة بعد تنفيذ \"إجراء المفتاح التلقائي\"</string>
<string name="download_attachment">تثبيت %1$s</string>
<string name="html_about_privacy">&lt;strong&gt; لا يتم استرداد أي بيانات مستخدم&lt;/strong&gt;، هذا التطبيق لا يتصل بأي خادم، ويعمل محليًا فقط ويحترم خصوصية المستخدمين تمامًا.</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="warning_database_already_opened">قاعدة البيانات مفتوحة بالفعل، أغلقها أولاً لفتح قاعدة البيانات الجديدة</string>
<string name="warning_database_info_reloaded">ستؤدي إعادة تحميل قاعدة البيانات إلى حذف البيانات المعدلة محليًا.</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_setup_OTP_title">قم بإعداد OTP</string>
<string name="style_brightness_title">سطوع السمة</string>
<string name="word_separator">الفاصل</string>
<string name="screenshot_mode_banner_text">وضع لقطة الشاشة</string>
<string name="style_brightness_summary">اختيار سمة فاتحة او داكنة</string>
<string name="icon_section_standard">قياسي</string>
<string name="wireless">واي فاي Wi-Fi</string>
<string name="icon_pack_choose_title">حزمة أيقونات</string>
<string name="content_description_nav_header">رأس التنقل</string>
<string name="inherited">موروث</string>
<string name="auto_type_sequence">تسلسل الكتابة تلقائيًا</string>
<string name="kdf_explanation">لإنشاء مفتاح خوارزمية التشفير، يتحول المفتاح الرئيسي باستخدام وظيفة اشتقاق مفتاح مملح عشوائيًا.</string>
<string name="html_text_dev_feature_buy_pro">بشراء الإصدار &lt;strong&gt; pro &lt;/strong&gt;،</string>
<string name="auto_type">كتابة تلقائيًا</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="html_text_feature_generosity">هذا &lt;strong&gt; النمط المرئي&lt;/strong&gt; متاح بفضل كرمك.</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="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_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">تعذر الدمج من قاعدة بيانات V1.</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="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="warning_exact_alarm">لم تسمح للتطبيق باستخدام منبه دقيق. نتيجة لذلك، لن يتم تنفيذ الميزات التي تتطلب مؤقتًا في وقت محدد.</string>
<string name="remember_hardware_key_summary">يتتبع مفاتيح الأجهزة المستخدمة</string>
<string name="warning_database_notification_permission">يسمح لك إذن الإشعار بعرض حالة قاعدة البيانات وقفلها باستخدام زر يسهل الوصول إليه.
\n
\nإذا لم تنشط هذا الإذن، فلن تكون قاعدة البيانات المفتوحة في الخلفية مرئية إذا كان هناك تطبيق آخر في المقدمة.</string>
<string name="warning_copy_permission">مطلوب إذن الإشعار لاستخدام ميزة إشعار الحافظة.</string>
<string name="merge_success">اكتمل الدمج بنجاح</string>
<string name="advanced_unlock_prompt_store_credential_message">ما زلت بحاجة إلى تذكر بيانات الاعتماد الرئيسية في مخزنك إذا كنت تستخدم التعرف على فتح الجهاز.</string>
<string name="advanced_unlock_prompt_extract_credential_title">التعرف على فتح الجهاز</string>
<string name="later">لاحقًا</string>
<string name="configure">تضبيط</string>
<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="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>
<string name="autofill_service_name">KeePassDX نموذج الملء التلقائي</string>
<string name="unlock">فتح</string>
<string name="menu_app_settings_summary">البحث، القفل، التاريخ، الخصائص</string>
<string name="menu_form_filling_settings_summary">لوحة المفاتيح، الملء التلقائي، الحافظة</string>
<string name="advanced_unlock_keystore_warning">ستقوم هذه الميزة بتخزين بيانات الاعتماد المشفرة في KeyStore الآمن بجهازك.
\n
\nاعتمادًا على تطبيق API الأصلي لنظام التشغيل، قد لا يعمل بكامل طاقته.
\nتحقق من توافق وأمن KeyStore مع الشركة المصنعة لجهازك ومنشئ ROM الذي تستخدمه.</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="education_entry_new_field_summary">قم بتسجيل حقل إضافي، أضف قيمة وقم بحمايته بشكل اختياري.</string>
<string name="education_unlock_summary">أدخل كلمة المرور و/أو ملف المفتاح لفتح قاعدة بياناتك.
\n
\nقم بعمل نسخة احتياطية من ملف قاعدة البيانات في مكان آمن بعد كل تغيير.</string>
<string name="html_text_dev_feature_thanks">شكرا جزيلا لمساهمتك.</string>
<string name="at_least_one_char">على الأقل حرف واحد من كل منهما</string>
<string name="html_text_dev_feature_upgrade">تذكر أن تحافظ على تحديث تطبيقك عن طريق تثبيت إصدارات جديدة.</string>
<string name="download">تثبيت</string>
<string name="html_text_ad_free">على عكس العديد من تطبيقات إدارة كلمات المرور ، فإن هذا التطبيق &lt;strong&gt;بدون إعلانات&lt;/strong&gt;، و &lt;strong&gt;برنامج حر متروك الحقوق&lt;/strong&gt; ولا يجمع البيانات الشخصية على خوادمه، بغض النظر عن الإصدار الذي تستخدمه.</string>
<string name="download_initialization">جارِ التهيئة…</string>
<string name="download_progression">قيد التقدم: %1$d%%</string>
<string name="html_text_buy_pro">بشراء الإصدار الاحترافي، ستتمتع بإمكانية الوصول إلى هذا &lt;strong&gt; النمط المرئي&lt;/strong&gt; وستساعد بشكل خاص في &lt;strong&gt; تنفيذ مشروعات المجتمع. &lt;/strong&gt;</string>
<string name="html_text_donation">من أجل الحفاظ على حريتنا ولكي نكون نشيطين دائمًا، فإننا نعتمد على &lt;strong&gt; مساهمتك.&lt;/strong&gt;</string>
<string name="html_text_dev_feature_encourage">أنت تشجع المطورين على إنشاء &lt;strong&gt; ميزات جديدة&lt;/strong&gt; و &lt;strong&gt; إصلاح الخلل&lt;/strong&gt; وفقًا لملاحظاتك.</string>
</resources>

View File

@@ -1,12 +1,22 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="feedback">Обратна връзка</string>
<string name="encryption_algorithm">Алгоритъм за криптиране</string>
<string name="encryption">Криптиране</string>
<string name="encryption_algorithm">Алгоритъм за шифроване</string>
<string name="encryption">Шифроване</string>
<string name="security">Сигурност</string>
<string name="master_key">Главен ключ</string>
<string name="add_group">Добави група</string>
<string name="edit_entry">Редактирай</string>
<string name="add_entry">Добави</string>
<string name="accept">Приемам</string>
<string name="add_group">Нова група</string>
<string name="edit_entry">Редактиране на запис</string>
<string name="add_entry">Добавяне на запис</string>
<string name="accept">Приемане</string>
<string name="biometric_delete_all_key_title">Изтриване на шифроващите ключове</string>
<string name="digits">Цифри</string>
<string name="contact">За контакт</string>
<string name="app_timeout">Време за изчакване</string>
<string name="application">Приложение</string>
<string name="brackets">Скоби</string>
<string name="about">Относно</string>
<string name="info">Информация</string>
<string name="clipboard_cleared">Клипбордът е изчистен</string>
<string name="content_description_add_group">Нова група</string>
</resources>

View File

@@ -42,7 +42,7 @@
<string name="decrypting_db">Dešifruji obsah databáze…</string>
<string name="default_checkbox">Použít jako výchozí databázi</string>
<string name="digits">Číslice</string>
<string name="select_database_file">Otevřít existující databázi</string>
<string name="select_database_file">Otevřít existující trezor</string>
<string name="entry_accessed">Poslední přístup</string>
<string name="entry_cancel">Zrušit</string>
<string name="entry_notes">Poznámky</string>
@@ -174,7 +174,7 @@
<string name="warning_empty_password">Pokračovat bez ochrany heslem\?</string>
<string name="warning_no_encryption_key">Pokračovat bez šifrovacího klíče\?</string>
<string name="encrypted_value_stored">Šifrované heslo uloženo</string>
<string name="unavailable">Tato databáze zatím nemá uložené heslo.</string>
<string name="unavailable">Nedostupné</string>
<string name="database_history">Historie</string>
<string name="menu_appearance_settings">Vzhled</string>
<string name="general">Obecné</string>
@@ -194,18 +194,18 @@
<string name="lock">Zamknout</string>
<string name="lock_database_screen_off_title">Zámek obrazovky</string>
<string name="lock_database_screen_off_summary">Několik vteřin po zhasnutí obrazovky uzamknout databázi</string>
<string name="advanced_unlock">Rozšířené odemknutí</string>
<string name="advanced_unlock">Odemykání zařízení</string>
<string name="biometric_unlock_enable_title">Biometrické odemknutí</string>
<string name="biometric_unlock_enable_summary">Nechá otevřít databázi snímáním biometrického údaje</string>
<string name="biometric_delete_all_key_title">Smazat šifrovací klíče</string>
<string name="biometric_delete_all_key_summary">Smazat všechny šifrovací klíče související s rozpoznáním rozšířeného odemknutí</string>
<string name="biometric_delete_all_key_summary">Odstranit všechny šifrovací klíče související s rozpoznáním odemykání zařízení</string>
<string name="unavailable_feature_text">Tuto funkci se nedaří spustit.</string>
<string name="unavailable_feature_version">V zařízení je instalován Android %1$s, ale potřebná je verze %2$s a novější.</string>
<string name="unavailable_feature_hardware">Odpovídající hardware nebyl rozpoznán.</string>
<string name="file_name">Název souboru</string>
<string name="path">Cesta</string>
<string name="assign_master_key">Přiřadit hlavní klíč</string>
<string name="create_keepass_file">Založit novou databázi</string>
<string name="create_keepass_file">Vytvořit nový trezor</string>
<string name="recycle_bin_title">Využití koše</string>
<string name="recycle_bin_summary">Před smazáním přesune vybrané položky do skupiny s názvem \"Koš\"</string>
<string name="monospace_font_fields_enable_title">Písmo kolonek</string>
@@ -245,7 +245,7 @@
<string name="education_entry_edit_summary">Přidejte ke svému záznamu vlastní kolonky. Společná data mohou být sdílena mezi různými kolonkami záznamu odkazem.</string>
<string name="education_generate_password_title">Vytvořit silné heslo</string>
<string name="education_generate_password_summary">Nechte si vytvořit odolné heslo pro svůj záznam, definujte je podle kritérií formuláře, a nezapomeňte na bezpečné heslo.</string>
<string name="education_entry_new_field_title">Přidat vlastní kolonky</string>
<string name="education_entry_new_field_title">Přidat vlastní pole</string>
<string name="education_entry_new_field_summary">Registrovat další kolonku, zadat hodnotu a volitelně ji ochránit.</string>
<string name="education_unlock_title">Odemknout databázi</string>
<string name="education_read_only_title">Ochraňte svou databázi před zápisem</string>
@@ -333,10 +333,10 @@
<string name="content_description_update_from_list">Aktualizovat</string>
<string name="content_description_keyboard_close_fields">Zavřít kolonky</string>
<string name="error_create_database_file">Nepodařilo se vytvořit databázi s tímto heslem a souborem klíče.</string>
<string name="menu_advanced_unlock_settings">Rozšířené odemknutí</string>
<string name="menu_advanced_unlock_settings">Odemknutí zařízení</string>
<string name="biometric">Biometrika</string>
<string name="biometric_auto_open_prompt_title">Automaticky otevřít pobídku</string>
<string name="biometric_auto_open_prompt_summary">Automaticky žádat rozšířené odemknutí, je-li databáze nastavena k jejímu použití</string>
<string name="biometric_auto_open_prompt_summary">Automaticky žádat odemykání zařízení, je-li databáze nastavena k jejímu použití</string>
<string name="enable">Zapnout</string>
<string name="disable">Vypnout</string>
<string name="master_key">Hlavní klíč</string>
@@ -365,7 +365,7 @@
<string name="contains_duplicate_uuid_procedure">Opravit chybu založením nového UUID pro duplikáty a pokračovat\?</string>
<string name="database_opened">Databáze otevřena</string>
<string name="clipboard_explanation_summary">Kopírovat kolonky záznamů pomocí schránky Vašeho zařízení</string>
<string name="advanced_unlock_explanation_summary">K snadnějšímu otevření databáze použijte rozšířené odemknutí</string>
<string name="advanced_unlock_explanation_summary">Pro snadnější otevření databáze použít odemykání zařízení</string>
<string name="database_data_compression_title">Komprese dat</string>
<string name="database_data_compression_summary">Komprese dat snižuje velikost databáze</string>
<string name="max_history_items_title">Maximální počet</string>
@@ -446,7 +446,7 @@
<string name="error_string_type">Tento text se s požadovanou položkou neshoduje.</string>
<string name="content_description_add_item">Přidat položku</string>
<string name="keyboard_previous_fill_in_summary">Automaticky přepnout na předchozí klávesnici po provedení \"Akce auto-klávesy\"</string>
<string name="keyboard_previous_fill_in_title">Akce auto-klávesy</string>
<string name="keyboard_previous_fill_in_title">Přepnout zpět</string>
<string name="keyboard_previous_database_credentials_summary">Automaticky přepnout zpět na předchozí klávesnici na obrazovce ověřovacích údajů databáze</string>
<string name="keyboard_previous_database_credentials_title">Obrazovka ověřovacích údajů databáze</string>
<string name="keyboard_change">Přepnout klávesnici</string>
@@ -493,28 +493,28 @@
<string name="select_entry">Vybrat záznam</string>
<string name="back_to_previous_keyboard">Zpět na předchozí klávesnici</string>
<string name="custom_fields">Vlastní kolonky</string>
<string name="advanced_unlock_delete_all_key_warning">Smazat všechny šifrovací klíče související s rozpoznáním rozšířeného odemknutí\?</string>
<string name="advanced_unlock_delete_all_key_warning">Odstranit všechny šifrovací klíče související s rozpoznáním odemykání zařízení\?</string>
<string name="device_credential_unlock_enable_summary">Dovolí pro otevření databáze použít heslo Vašeho zařízení</string>
<string name="device_credential_unlock_enable_title">Odemknutí heslem zařízení</string>
<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">Nelze inicializovat pobídku pro rozšířené odemknutí.</string>
<string name="advanced_unlock_scanning_error">Chyba při rozšířeném odemknutí: %1$s</string>
<string name="advanced_unlock_not_recognized">Otisk pro rozšířené odemknutí nebyl rozpoznán</string>
<string name="advanced_unlock_invalid_key">Nedaří se načíst klíč rozšířeného odemknutí. Prosím, smažte ho a opakujte proces rozpoznání odemknutí.</string>
<string name="advanced_unlock_prompt_extract_credential_message">Načíst důvěrný údaj pomocí dat rozšířeného odemknutí</string>
<string name="advanced_unlock_prompt_extract_credential_title">Otevřít pomocí rozšířeného odemyká</string>
<string name="advanced_unlock_prompt_store_credential_message">Pokud použijete rozpoznání rozšířeného odemknutí, musíte si i nadále pamatovat hlavní heslo.</string>
<string name="advanced_unlock_prompt_store_credential_title">Rozpoznání rozšířeného odemknutí</string>
<string name="menu_keystore_remove_key">Smazat klíč rozšířeného odemknutí</string>
<string name="education_advanced_unlock_title">Rozšířené odemknutí databáze</string>
<string name="advanced_unlock_timeout">Časový limit rozšířeného odemknutí</string>
<string name="temp_advanced_unlock_timeout_summary">Trvání použití rozšířeného odemknutí než bude obsah téhož smazán</string>
<string name="temp_advanced_unlock_enable_summary">Za účelem rozšířeného odemknutí neukládat žádný šifrovaný obsah</string>
<string name="temp_advanced_unlock_enable_title">Přechodné rozšířené odemknutí</string>
<string name="advanced_unlock_tap_delete">Pro odstranění klíčů rozšířeného odemknutí klepnout</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>
<string name="advanced_unlock_prompt_extract_credential_title">Rozpoznání odemykání zaříze</string>
<string name="advanced_unlock_prompt_store_credential_message">Pokud použijete rozpoznání odemykání zařízení, musíte si i nadále pamatovat hlavní heslo trezoru.</string>
<string name="advanced_unlock_prompt_store_credential_title">Propojit s odemykáním zařízení</string>
<string name="menu_keystore_remove_key">Smazat klíč odemknutí zařízení</string>
<string name="education_advanced_unlock_title">Odemykání databáze zařízením</string>
<string name="advanced_unlock_timeout">Časový limit odemykání zařízení</string>
<string name="temp_advanced_unlock_timeout_summary">Trvání použití odemykání zařízení, než bude obsah smazán</string>
<string name="temp_advanced_unlock_enable_summary">Za účelem odemykání zařízení neukládat žádný šifrovaný obsah</string>
<string name="temp_advanced_unlock_enable_title">Dočasné odemykání zařízení</string>
<string name="advanced_unlock_tap_delete">Klepněte pro odstranění klíčů odemykání zařízení</string>
<string name="education_advanced_unlock_summary">Abyste rychle odemknuli databázi, propojte své heslo s naskenovanou biometrikou nebo údaji zámku zařízení.</string>
<string name="temp_advanced_unlock_timeout_title">Vypršení rozšířeného odemknutí</string>
<string name="temp_advanced_unlock_timeout_title">Vypršení odemykání zařízení</string>
<string name="content">Obsah</string>
<string name="error_rebuild_list">Seznam nelze řádně sestavit.</string>
<string name="error_database_uri_null">URI databáze nelze načíst.</string>
@@ -615,13 +615,13 @@
<string name="show_entry_colors_summary">Zobrazí barvy popředí a pozadí záznamu</string>
<string name="show_entry_colors_title">Barvy záznamu</string>
<string name="regex">Běžný výraz</string>
<string name="enable_keep_screen_on_summary">Při prohlížení záznamu držet obrazovku zapnutou</string>
<string name="enable_keep_screen_on_summary">Při prohlížení nebo úpravě záznamu ponechat obrazovku zapnutou</string>
<string name="navigation_drawer_open">Otevření navigačního panelu</string>
<string name="navigation_drawer_close">Zavření navigačního panelu</string>
<string name="inherited">Převzít</string>
<string name="auto_type_sequence">Posloupnost automatického vyplňování</string>
<string name="content_description_passphrase_word_count">Počet slov hesla</string>
<string name="passphrase">Heslo</string>
<string name="passphrase">Heslová fráze</string>
<string name="colorize_password_title">Zabarvit hesla</string>
<string name="colorize_password_summary">Zabarvit znaky hesla podle typu</string>
<string name="warning_database_already_opened">Databáze je již otevřená, zavřete ji, než otevřete jinou</string>
@@ -667,5 +667,26 @@
<string name="corrupted_file">Poškozený soubor.</string>
<string name="remember_hardware_key_title">Pamatovat si hardwarové klíče</string>
<string name="remember_hardware_key_summary">Udržuje znalost o použitých hardwarových klíčích</string>
<string name="merge_success">Sloučení bylo úspěšně dokončeno</string>
<string name="merge_success">Sloučení úspěšně dokončeno</string>
<string name="info">Informace</string>
<string name="menu_app_settings_summary">Vyhledávání, uzamčení, historie, vlastnosti</string>
<string name="menu_form_filling_settings_summary">Klávesnice, automatické vyplnění, schránka</string>
<string name="menu_advanced_unlock_settings_summary">Biometrie, údaje zařízení</string>
<string name="menu_database_settings_summary">Metadata, koš, šablony, historie</string>
<string name="menu_security_settings_summary">Šifrování, funkce derivace klíče</string>
<string name="master_key_settings_summary">Změna, obnovení</string>
<string name="warning_database_notification_permission">Oprávnění k oznámením umožňuje zobrazit stav databáze a uzamknout ji snadno přístupným tlačítkem.
\n
\nPokud toto oprávnění neaktivujete, nebude databáze otevřená na pozadí viditelná, pokud je v popředí jiná aplikace.</string>
<string name="warning_copy_permission">Oprávnění k oznámením je potřeba pro použití funkce oznámení o schránce.</string>
<string name="later">Později</string>
<string name="ask">Zeptat se</string>
<string name="configure">Nastavit</string>
<string name="unlock_and_link_biometric">Propojení s odemykáním zařízení</string>
<string name="menu_appearance_settings_summary">Motivy, barvy, atributy</string>
<string name="unlock">Odemknout</string>
<string name="education_validate_entry_title">Ověřit vstup</string>
<string name="education_validate_entry_summary">Nezapomeňte ověřit svůj vstup a uložit databázi.
\n
\nPokud je aktivované automatické uzamčení a zapomenete, že jste něco upravili, riskujete ztrátu dat.</string>
</resources>

View File

@@ -58,7 +58,7 @@
<string name="entry_created">Erstellt</string>
<string name="entry_expires">Gültig bis</string>
<string name="entry_keyfile">Schlüsseldatei</string>
<string name="entry_modified">Bearbeitet</string>
<string name="entry_modified">Geändert</string>
<string name="entry_not_found">Zugriffsdaten wurden nicht gefunden.</string>
<string name="entry_password">Passwort</string>
<string name="save">Speichern</string>
@@ -125,7 +125,7 @@
<string name="protection">Schutz</string>
<string name="read_only">Schreibgeschützt</string>
<string name="read_only_warning">Abhängig von deinem Dateienmanager hat KeePassDX möglicherweise keine Schreibberechtigung.</string>
<string name="content_description_remove_from_list">Löschen</string>
<string name="content_description_remove_from_list">Entfernen</string>
<string name="root">Start</string>
<string name="rounds">Verschlüsselungsrunden</string>
<string name="rounds_explanation">Zusätzliche Verschlüsselungsrunden bieten besseren Schutz gegen Brute-Force-Angriffe. Allerdings dauert das Laden und Speichern der Datenbank entsprechend länger.</string>
@@ -140,9 +140,9 @@
<string name="warning">Warnung</string>
<string name="warning_password_encoding">Passwortzeichen in der Datenbank vermeiden, die kein Textkodierungsformat besitzen (nicht erkannte Zeichen werden in denselben Buchstaben umgewandelt).</string>
<string name="version_label">Version %1$s</string>
<string name="education_unlock_summary">Gib das Passwort bzw. die Schlüsseldatei ein, um die Datenbank zu öffnen.
<string name="education_unlock_summary">Das Passwort bzw. die Schlüsseldatei eingeben, um die Datenbank zu öffnen.
\n
\nErstelle nach jeder Änderung ein Backup deiner Datenbankdatei.</string>
\nNach jeder Änderung eine Sicherung der eigene Datenbankdatei an einem sicheren Ort erstellen.</string>
<string-array name="list_size_options">
<item>Klein</item>
<item>Mittel</item>
@@ -163,7 +163,7 @@
<string name="file_name">Dateiname</string>
<string name="unavailable_feature_text">Diese Funktion konnte nicht gestartet werden.</string>
<string name="biometric_unlock_enable_summary">Ermöglicht das Scannen biometrischer Merkmale, um die Datenbank zu öffnen</string>
<string name="advanced_unlock">Schnelles Entsperren</string>
<string name="advanced_unlock">Gerät entsperren</string>
<string name="biometric_unlock_enable_title">Biometrisches Entsperren</string>
<string name="lock">Sperren</string>
<string name="list_password_generator_options_summary">Erlaubte Zeichen für Passwortgenerator festlegen</string>
@@ -171,7 +171,7 @@
<string name="encrypted_value_stored">Verschlüsseltes Passwort wurde gespeichert</string>
<string name="database_history">Verlauf</string>
<string name="general">Allgemein</string>
<string name="unavailable">Diese Datenbank enthält noch keine Anmeldedaten.</string>
<string name="unavailable">Nicht vorhanden</string>
<string name="encryption">Verschlüsselung</string>
<string name="key_derivation_function">Schlüsselableitungsfunktion</string>
<string name="extended_ASCII">Erweiterte ASCII</string>
@@ -202,7 +202,7 @@
<string name="autofill_select_entry">Eintrag auswählen </string>
<string name="clipboard">Zwischenablage</string>
<string name="biometric_delete_all_key_title">Verschlüsselungsschlüssel löschen</string>
<string name="biometric_delete_all_key_summary">Alle mit der biometrischen Erkennung verknüpften Verschlüsselungsschlüssel löschen</string>
<string name="biometric_delete_all_key_summary">Alle mit der Geräteentsperrung verknüpften Verschlüsselungsschlüssel löschen</string>
<string name="unavailable_feature_version">Das Gerät läuft mit Android %1$s, benötigt aber %2$s oder höher.</string>
<string name="unavailable_feature_hardware">Keine entsprechende Hardware gefunden.</string>
<string name="recycle_bin_title">Papierkorb-Nutzung</string>
@@ -220,13 +220,13 @@
<string name="keyboard">Tastatur</string>
<string name="magic_keyboard_title">Magikeyboard</string>
<string name="magic_keyboard_explanation_summary">Tastatur zum Ausfüllen aller Passwort- und Identitätsfelder aktivieren</string>
<string name="reset_education_screens_title">Hilfe-Anzeige wiederholen</string>
<string name="reset_education_screens_title">Hilfeanzeige wiederholen</string>
<string name="reset_education_screens_summary">Alle Hilfsinfos nochmal anzeigen</string>
<string name="reset_education_screens_text">Hilfe-Anzeige zurückgesetzt</string>
<string name="education_create_database_title">Die Datenbankdatei erstellen</string>
<string name="education_create_database_summary">Erstelle deine erste Passwortverwaltungsdatei.</string>
<string name="reset_education_screens_text">Hilfeanzeige zurückgesetzt</string>
<string name="education_create_database_title">Datenbankdatei erstellen</string>
<string name="education_create_database_summary">Erstellt eine erste Datei zur Passwortverwaltung.</string>
<string name="education_select_database_title">Existierende Datenbank öffnen</string>
<string name="education_select_database_summary">Öffne deine bestehende Datenbankdatei mit dem Dateimanager, um sie weiter zu verwenden.</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_new_node_title">Datenbankelemente hinzufügen</string>
<string name="education_new_node_summary">Einträge helfen dabei digitale Konten zu verwalten.
\n
@@ -234,22 +234,22 @@
<string name="education_search_title">Einträge durchsuchen</string>
<string name="education_search_summary">Titel, Nutzernamen oder Inhalte anderer Felder eingeben, um Passwörter zu finden.</string>
<string name="education_entry_edit_title">Eintrag bearbeiten</string>
<string name="education_entry_edit_summary">Füge dem Eintrag eigene Felder hinzu. Die Felder können mit Querverweisen aus anderen Einträgen ergänzt werden.</string>
<string name="education_generate_password_title">Erstelle ein starkes Passwort</string>
<string name="education_generate_password_summary">Generiere ein starkes Passwort, um es mit dem Eintrag zu verknüpfen, gib Passwortanforderungen ein und vergiss die Passwortsicherheit nicht.</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_entry_new_field_title">Eigene Felder hinzufügen</string>
<string name="education_entry_new_field_summary">Füge ein weiteres Feld und einen Wert hinzu und schütze es (optional).</string>
<string name="education_unlock_title">Entsperre die Datenbank</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>
<string name="education_field_copy_title">Ein Feld kopieren</string>
<string name="education_field_copy_summary">Kopierte Felder können überall eingefügt werden.
\n
\nVerwende deine bevorzugte Methode zur Formular-Ausfüllung.</string>
<string name="education_field_copy_summary">Kopierte Felder können an beliebiger Stelle eingefügt werden.
\n
\nAus den verschiedenen Methoden zum Ausfüllen von Formularen einfach die bevorzugte auswählen.</string>
<string name="education_lock_title">Datenbank sperren</string>
<string name="education_lock_summary">Die Datenbank schnell sperren. Die App lässt sich so einstellen, dass sie nach einer gewissen Zeit und beim Ausschalten des Bildschirms gesperrt wird.</string>
<string name="education_sort_title">Sortierung der Einträge</string>
<string name="education_sort_summary">Wähle, wie Einträge und Gruppen sortiert werden.</string>
<string name="education_sort_title">Einträge sortieren</string>
<string name="education_sort_summary">Wählen, wie Einträge und Gruppen sortiert werden.</string>
<string name="education_donation_title">Mitmachen</string>
<string name="education_donation_summary">Mithelfen, Stabilität und Sicherheit zu verbessern sowie weitere Funktionen zu ermöglichen.</string>
<string name="education_donation_summary">Mithelfen, um Stabilität und Sicherheit zu verbessern sowie weitere Funktionen zu ermöglichen.</string>
<string name="html_text_ad_free">Anders als viele Passwortmanager ist dieser &lt;strong&gt;werbefrei&lt;/strong&gt;, &lt;strong&gt;quelloffen&lt;/strong&gt;, &lt;strong&gt;freie Copyleft-Software&lt;/strong&gt; und keine persönlichen Daten werden auf Servern gesammelt, egal welche Version du verwendest.</string>
<string name="html_text_buy_pro">Mit dem Kauf der Pro-Version erhältst du Zugriff auf diesen &lt;strong&gt;visuellen Stil&lt;/strong&gt; und unterstützt insbesondere &lt;strong&gt;die Umsetzung gemeinschaftlicher Projekte.&lt;/strong&gt;</string>
<string name="html_text_feature_generosity">Dieser &lt;strong&gt;visuelle Stil&lt;/strong&gt; ist dank deiner Großzügigkeit verfügbar.</string>
@@ -273,17 +273,17 @@
<string name="allow_copy_password_warning">Warnung: Alle Apps teilen sich die Zwischenablage. Andere Software kann auf kopierte Daten zugreifen.</string>
<string name="allow_no_password_title">Entsperren ohne Hauptschlüssel</string>
<string name="allow_no_password_summary">Erlaubt das Antippen von „Öffnen“ ohne Anmeldedaten einzugeben</string>
<string name="enable_education_screens_title">Hilfe-Anzeige</string>
<string name="enable_education_screens_title">Hilfeanzeige</string>
<string name="enable_education_screens_summary">Bedienelemente hervorheben, um die Funktionsweise der App zu lernen</string>
<string name="menu_open_file_read_and_write">Änderbar</string>
<string name="menu_file_selection_read_only">Schreibgeschützt</string>
<string name="enable_read_only_title">Schreibgeschützt</string>
<string name="education_read_only_title">Datenbank-Schreibschutz aktivieren</string>
<string name="enable_read_only_summary">Datenbank standardmäßig schreibgeschützt öffnen</string>
<string name="education_read_only_summary">Den Öffnungsmodus diesesmal ändern.
<string name="education_read_only_summary">Den Öffnungsmodus für die Sitzung ändern.
\n
\n„Schreibgeschützt“ verhindert unbeabsichtigte Änderungen.
\nMit „Änderbar“ kannst du jedes Element frei bearbeiten, hinzufügen oder löschen.</string>
\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>
@@ -296,7 +296,7 @@
<string name="keyboard_entry_category">Eintrag</string>
<string name="keyboard_entry_timeout_title">Inaktivitätszeit</string>
<string name="keyboard_entry_timeout_summary">Zeit bis zum Löschen der Tastatureingabe</string>
<string name="keyboard_notification_entry_title">Benachrichtigung</string>
<string name="keyboard_notification_entry_title">Benachrichtigungsinfo</string>
<string name="keyboard_notification_entry_summary">Benachrichtigung anzeigen, wenn ein Eintrag abrufbar ist</string>
<string name="keyboard_notification_entry_content_title_text">Eintrag</string>
<string name="keyboard_notification_entry_content_title">%1$s über Magikeyboard abrufbar</string>
@@ -350,12 +350,12 @@
<string name="content_description_update_from_list">Aktualisieren</string>
<string name="content_description_keyboard_close_fields">Felder schließen</string>
<string name="error_create_database_file">Die Datenbank kann mit diesem Passwort und dieser Schlüsseldatei nicht erstellt werden.</string>
<string name="menu_advanced_unlock_settings">Schnelles Entsperren</string>
<string name="menu_advanced_unlock_settings">Geräteentsperrung</string>
<string name="biometric">Biometrisch</string>
<string name="enable">Aktivieren</string>
<string name="disable">Deaktivieren</string>
<string name="biometric_auto_open_prompt_title">Abfrage automatisch öffnen</string>
<string name="biometric_auto_open_prompt_summary">Automatisch Schnellentsperrung abfragen, falls die Datenbank dafür eingerichtet ist</string>
<string name="biometric_auto_open_prompt_summary">Die Geräteentsperrung automatisch abfragen, falls die Datenbank dafür eingerichtet ist</string>
<string name="master_key">Hauptschlüssel</string>
<string name="security">Sicherheit</string>
<string name="entry_history">Verlauf</string>
@@ -385,7 +385,7 @@
<string name="contains_duplicate_uuid_procedure">Problem lösen, indem neue UUIDs für Duplikate generiert werden um fortzufahren\?</string>
<string name="database_opened">Datenbank geöffnet</string>
<string name="clipboard_explanation_summary">Eintragsfelder mit der Zwischenablage des Geräts kopieren</string>
<string name="advanced_unlock_explanation_summary">Schnelles Entsperren verwenden, um eine Datenbank einfacher zu öffnen</string>
<string name="advanced_unlock_explanation_summary">Geräteentsperrung verwenden, um eine Datenbank einfacher zu öffnen</string>
<string name="database_data_compression_title">Datenkomprimierung</string>
<string name="database_data_compression_summary">Datenkomprimierung reduziert die Datenbankgröße</string>
<string name="max_history_items_title">Maximale Anzahl</string>
@@ -439,13 +439,13 @@
<item>System verfolgen</item>
</string-array>
<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 generieren.</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>
<string name="discard">Verwerfen</string>
<string name="discard_changes">Änderungen verwerfen\?</string>
<string name="validate">Validieren</string>
<string name="validate">Überprüfen</string>
<string name="autofill_manual_selection_title">Manuelle Auswahl</string>
<string name="autofill_manual_selection_summary">Option zur manuellen Auswahl des Datenbankeintrags anzeigen</string>
<string name="lock_database_show_button_summary">Zeigt die Sperrtaste in der Benutzeroberfläche an</string>
@@ -453,7 +453,7 @@
<string name="autofill_preference_title">Autofüll-Einstellungen</string>
<string name="warning_database_link_revoked">Zugriff auf die Datei durch den Dateimanager widerrufen</string>
<string name="error_label_exists">Diese Bezeichnung existiert bereits.</string>
<string name="autofill_block_restart">App, die das Formular enthält, neu starten, um die Sperrung zu aktivieren.</string>
<string name="autofill_block_restart">Die das Formular enthaltende App neu starten, um die Sperrung zu aktivieren.</string>
<string name="autofill_block">Automatisches Ausfüllen sperren</string>
<string name="autofill_web_domain_blocklist_summary">Domain-Liste, für die automatisches Ausfüllen verhindert wird</string>
<string name="autofill_web_domain_blocklist_title">Webdomain-Sperrliste</string>
@@ -465,11 +465,11 @@
<string name="content_description_add_item">Element hinzufügen</string>
<string name="filter">Filter</string>
<string name="keyboard_change">Tastatur wechseln</string>
<string name="keyboard_previous_fill_in_title">Automatische Tastenaktion</string>
<string name="keyboard_previous_fill_in_title">Zurück wechseln</string>
<string name="keyboard_previous_database_credentials_title">Datenbank-Anmeldebildschirm</string>
<string name="keyboard_previous_fill_in_summary">Nach dem Ausführen der automatischen Tastenaktion automatisch zur vorherigen Tastatur wechseln</string>
<string name="keyboard_previous_database_credentials_summary">Auf dem Datenbank-Anmeldebildschirm automatisch zur vorherigen Tastatur wechseln</string>
<string name="education_add_attachment_summary">Füge dem Eintrag einen Anhang bei, um wichtige externe Daten zu speichern.</string>
<string name="education_add_attachment_summary">Dem Eintrag einen Anhang hinzufügen, um wichtige externe Daten zu speichern.</string>
<string name="content_description_credentials_information">Anmeldeinformationen</string>
<string name="data">Daten</string>
<string name="database_data_remove_unlinked_attachments_title">Unverknüpfte Daten entfernen</string>
@@ -493,7 +493,7 @@
<string name="keyboard_previous_lock_title">Datenbank sperren</string>
<string name="notification">Benachrichtigung</string>
<string name="biometric_security_update_required">Biometrische Sicherheitsaktualisierung erforderlich.</string>
<string name="configure_biometric">Keine biometrischen oder Geräteanmeldedaten registriert.</string>
<string name="configure_biometric">Es sind weder Biometrie- noch Geräteanmeldedaten registriert.</string>
<string name="registration_mode">Registrierungsmodus</string>
<string name="save_mode">Speichermodus</string>
<string name="search_mode">Suchmodus</string>
@@ -507,34 +507,34 @@
<string name="keyboard_save_search_info_title">Geteilte Informationen speichern</string>
<string name="warning_empty_recycle_bin">Alle Knoten unwiderruflich aus dem Papierkorb löschen\?</string>
<string name="error_field_name_already_exists">Der Feldname existiert bereits.</string>
<string name="advanced_unlock_prompt_store_credential_message">Du musst dich weiterhin an dein Passwort erinnern, wenn du schnelle Entsperrmethoden verwendest.</string>
<string name="menu_keystore_remove_key">Schlüssel für Schnellentsperrung löschen</string>
<string name="advanced_unlock_prompt_store_credential_title">Schnelle Entsperrmethoden</string>
<string name="education_advanced_unlock_summary">Verknüpfe dein Passwort mit Biometrie- oder Geräteanmeldedaten, um die Datenbank schnell zu entsperren.</string>
<string name="education_advanced_unlock_title">Schnelles Datenbank-Entsperren</string>
<string name="advanced_unlock_timeout">Zeitlimit für schnelles Entsperren</string>
<string name="temp_advanced_unlock_timeout_summary">Dauer der Schnellentsperrnutzung bis sie zurückgesetzt wird</string>
<string name="temp_advanced_unlock_timeout_title">Ablauf der schnellen Entsperrung</string>
<string name="temp_advanced_unlock_enable_summary">Für Nutzung des schnellen Entsperren keine verschlüsselten Inhalte speichern</string>
<string name="temp_advanced_unlock_enable_title">Zeitlimit für schnelles Entsperren</string>
<string name="advanced_unlock_prompt_store_credential_message">Du musst dich weiterhin an deinen Hauptschlüssel erinnern, wenn du die Geräteentsperrung verwendest.</string>
<string name="menu_keystore_remove_key">Schlüssel für Geräteentsperrung löschen</string>
<string name="advanced_unlock_prompt_store_credential_title">Verknüpfung mit Geräteentsperrung</string>
<string name="education_advanced_unlock_summary">Eigenes Passwort mit Biometrie- oder Geräteanmeldedaten verknüpfen, um die Datenbank schnell zu entsperren.</string>
<string name="education_advanced_unlock_title">Geräteentsperrung der Datenbank</string>
<string name="advanced_unlock_timeout">Zeitlimit für Geräteentsperrung</string>
<string name="temp_advanced_unlock_timeout_summary">Dauer der Geräteentsperrung bis sie zurückgesetzt wird</string>
<string name="temp_advanced_unlock_timeout_title">Ablauf der Geräteentsperrung</string>
<string name="temp_advanced_unlock_enable_summary">Bei Nutzung der Geräteentsperrung keine verschlüsselten Inhalte speichern</string>
<string name="temp_advanced_unlock_enable_title">Zeitlich begrenzte Geräteentsperrung</string>
<string name="device_credential_unlock_enable_summary">Ermöglicht das Öffnen der Datenbank mit deinen Geräteanmeldedaten</string>
<string name="advanced_unlock_tap_delete">Drücken, um alle Schnellentsperrschlüssel zu löschen</string>
<string name="advanced_unlock_tap_delete">Drücken, um alle Geräteentsperrschlüssel zu löschen</string>
<string name="content">Inhalt</string>
<string name="advanced_unlock_prompt_extract_credential_title">Datenbank mit schnellen Entsperrmethoden öffnen</string>
<string name="advanced_unlock_prompt_extract_credential_title">Datenbank mit Geräteentsperrdaten öffnen</string>
<string name="enter">Eingabetaste</string>
<string name="backspace">Rücktaste</string>
<string name="select_entry">Eintrag auswählen</string>
<string name="back_to_previous_keyboard">Zurück zur vorherigen Tastatur</string>
<string name="custom_fields">Benutzerdefinierte Felder</string>
<string name="advanced_unlock_delete_all_key_warning">Alle zum schnellen Entsperren zugehörigen Verschlüsselungsschlüssel löschen\?</string>
<string name="advanced_unlock_delete_all_key_warning">Alle zur Geräteentsperrung zugehörigen Verschlüsselungsschlüssel löschen\?</string>
<string name="device_credential_unlock_enable_title">Entsperrung mit Geräteanmeldedaten</string>
<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">Schnellentsperrungsabfrage konnte nicht gestartet werden.</string>
<string name="advanced_unlock_scanning_error">Fehler bei schneller Entsperrung: %1$s</string>
<string name="advanced_unlock_not_recognized">Abdruck für schnelles Entsperren nicht erkannt</string>
<string name="advanced_unlock_invalid_key">Schneller Entsperrschlüssel nicht lesbar. Bitte lösche ihn und wiederhole den Vorgang zur Entsperr-Erkennung.</string>
<string name="advanced_unlock_prompt_extract_credential_message">Datenbankanmeldedaten aus schnellen Entsperrdaten gewinnen</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>
<string name="error_rebuild_list">Die Liste kann nicht ordnungsgemäß neu erstellt werden.</string>
<string name="error_database_uri_null">Datenbank-URI kann nicht abgerufen werden.</string>
<string name="menu_reload_database">Daten neu laden</string>
@@ -618,7 +618,7 @@
<string name="show_entry_colors_title">Eintragsfarben</string>
<string name="enable_keep_screen_on_title">Bildschirm eingeschaltet lassen</string>
<string name="warning_keyfile_integrity">Der Hash der Datei kann nicht garantiert werden, da Android seine Daten ändern kann. Änder die Dateiendung zu .bin, um die Integrität zu gewährleisten.</string>
<string name="enable_keep_screen_on_summary">Bildschirm beim Ansehen des Eintrags eingeschaltet lassen</string>
<string name="enable_keep_screen_on_summary">Bildschirm beim Anzeigen oder Bearbeiten des Eintrags eingeschaltet lassen</string>
<string name="show_entry_colors_summary">Vorder- und Hintergrundfarbe für einen Eintrag anzeigen</string>
<string name="auto_type_sequence">Automatische Eingabefolge</string>
<string name="regex">Regulärer Ausdruck</string>
@@ -681,4 +681,25 @@
<string name="auto_type">Automatische Eingabe</string>
<string name="html_about_privacy">&lt;strong&gt;Es werden keine Benutzerdaten ausgelesen&lt;/strong&gt;, diese Anwendung stellt keine Verbindung zu einem Server her, arbeitet nur lokal und respektiert vollständig die Privatsphäre der Benutzer.</string>
<string name="merge_success">Zusammenführung erfolgreich abgeschlossen</string>
<string name="menu_form_filling_settings_summary">Tastatur, Automatisches Ausfüllen, Zwischenablage</string>
<string name="menu_advanced_unlock_settings_summary">Biometrie, Geräteanmeldedaten</string>
<string name="menu_database_settings_summary">Metadaten, Papierkorb, Vorlagen, Verlauf</string>
<string name="menu_app_settings_summary">Suche, Sperre, Verlauf, Eigenschaften</string>
<string name="menu_security_settings_summary">Verschlüsselung, Schlüsselableitungsfunktion</string>
<string name="master_key_settings_summary">Passwortänderung</string>
<string name="configure">Konfigurieren</string>
<string name="ask">Fragen</string>
<string name="later">Später</string>
<string name="unlock_and_link_biometric">Geräteentsperrverknüpfung</string>
<string name="menu_appearance_settings_summary">Design, Farben, Attribute</string>
<string name="warning_database_notification_permission">Die Benachrichtigungsberechtigung ermöglicht es, den Status der Datenbank anzuzeigen und sie mit einer leicht zugänglichen Taste zu sperren.
\n
\nWird diese Berechtigung nicht aktiviert, ist die im Hintergrund geöffnete Datenbank nicht sichtbar, wenn eine Anwendung im Vordergrund läuft.</string>
<string name="warning_copy_permission">Die Benachrichtigungsberechtigung ist erforderlich, um die Benachrichtigungsfunktion der Zwischenablage zu nutzen.</string>
<string name="unlock">Entsperren</string>
<string name="education_validate_entry_title">Eintrag überprüfen</string>
<string name="education_validate_entry_summary">Bitte daran denken, den Eintrag zu überprüfen und die Datenbank zu speichern.
\n
\nWenn ein automatisches Sperren aktiviert ist und vergessen wird, dass Änderungen vorgenommen wurden, besteht die Gefahr von Datenverlust.</string>
<string name="info">Info</string>
</resources>

View File

@@ -44,7 +44,7 @@
<string name="digits">Ψηφία</string>
<string name="html_about_licence">Το KeePassDX © %1$d Kunzisoft είναι &lt;strong&gt;ανοιχτού κώδικα&lt;/strong&gt; και &lt;strong&gt;χωρίς διαφημίσεις&lt;/strong&gt;.
\nΠαρέχεται ως έχει, με άδεια &lt;strong&gt;GPLv3&lt;/strong&gt;, χωρίς καμία εγγύηση.</string>
<string name="select_database_file">Ανοίξτε την υπάρχουσα βάση δεδομένων</string>
<string name="select_database_file">Ανοίξτε την υπάρχον κρύπτη</string>
<string name="entry_accessed">Πρόσβαση</string>
<string name="entry_cancel">Άκυρο</string>
<string name="entry_notes">Σημειώσεις</string>
@@ -185,7 +185,7 @@
<string name="file_name">Όνομα αρχείου</string>
<string name="path">Διαδρομή</string>
<string name="assign_master_key">Ορίστε ένα κύριο κλειδί</string>
<string name="create_keepass_file">Δημιουργία νέας βάσης δεδομένων</string>
<string name="create_keepass_file">Δημιουργία νέας κρύπτης</string>
<string name="recycle_bin_title">Χρήση Κάδου ανακύκλωσης</string>
<string name="recycle_bin_summary">Μετακίνηση ομάδων και καταχωρίσεων στην ομάδα \"Κάδο ανακύκλωσης\" πριν την διαγραφή</string>
<string name="monospace_font_fields_enable_title">Γραμματοσειρά πεδίου</string>
@@ -325,17 +325,17 @@
<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="menu_advanced_unlock_settings">Προηγμένο ξεκλείδωμα</string>
<string name="menu_advanced_unlock_settings">Ξεκλείδωμα συσκευής</string>
<string name="unavailable">Αυτή η βάση δεδομένων δεν έχει αποθηκευμένα διαπιστευτήρια ακόμα.</string>
<string name="menu_appearance_settings">Εμφάνιση</string>
<string name="biometric">Βιομετρία</string>
<string name="advanced_unlock">Προηγμένο ξεκλείδωμα</string>
<string name="advanced_unlock">Ξεκλείδωμα συσκευής</string>
<string name="biometric_unlock_enable_title">Βιομετρικό ξεκλείδωμα</string>
<string name="biometric_unlock_enable_summary">Σας επιτρέπει να σαρώσετε το βιομετρικό σας για να ανοίξετε τη βάση δεδομένων</string>
<string name="biometric_auto_open_prompt_title">Αυτόματο άνοιγμα προτροπής</string>
<string name="biometric_auto_open_prompt_summary">Ζητήστε αυτόματα προηγμένο ξεκλείδωμα εάν η βάση δεδομένων έχει ρυθμιστεί για να το χρησιμοποιήσει</string>
<string name="biometric_auto_open_prompt_summary">Ζητήστε αυτόματο ξεκλείδωμα συσκευής εάν η βάση δεδομένων έχει ρυθμιστεί για να το χρησιμοποιεί</string>
<string name="biometric_delete_all_key_title">Διαγράψτε τα κλειδιά κρυπτογράφησης</string>
<string name="biometric_delete_all_key_summary">Διαγράψτε όλα τα κλειδιά κρυπτογράφησης που σχετίζονται με το προηγμένο ξεκλείδωμα</string>
<string name="biometric_delete_all_key_summary">Διαγράψτε όλα τα κλειδιά κρυπτογράφησης που σχετίζονται με την αναγνώριση ξεκλειδώματος συσκευής</string>
<string name="enable">Ενεργοποίηση</string>
<string name="disable">Απενεργοποίηση</string>
<string name="master_key">Κύριο κλειδί</string>
@@ -366,7 +366,7 @@
<string name="autofill_explanation_summary">Ενεργοποιήστε την αυτόματη συμπλήρωση για να συμπληρώσετε γρήγορα φόρμες σε άλλες εφαρμογές</string>
<string name="database_opened">Η Βάση Δεδομένων άνοιξε</string>
<string name="clipboard_explanation_summary">Αντιγράψτε τα πεδία εισαγωγής χρησιμοποιώντας το πρόχειρο της συσκευής σας</string>
<string name="advanced_unlock_explanation_summary">Χρησιμοποιήστε το προηγμένο ξεκλείδωμα για να ανοίξετε μια βάση δεδομένων πιο εύκολα</string>
<string name="advanced_unlock_explanation_summary">Χρησιμοποιήστε το ξεκλείδωμα συσκευής για να ανοίξετε μια βάση δεδομένων πιο εύκολα</string>
<string name="database_data_compression_title">Συμπίεση Δεδομένων</string>
<string name="database_data_compression_summary">Η συμπίεση δεδομένων μειώνει το μέγεθος της βάσης δεδομένων</string>
<string name="max_history_items_title">Μέγιστος αριθμός</string>
@@ -442,7 +442,7 @@
<string name="autofill_web_domain_blocklist_title">Λίστα αποκλεισμού τομέα Ιστού</string>
<string name="autofill_application_id_blocklist_title">Λίστα αποκλεισμού Εφαρμογών</string>
<string name="autofill_application_id_blocklist_summary">Λίστα αποκλεισμού που αποτρέπει την αυτόματη συμπλήρωση εφαρμογών</string>
<string name="keyboard_previous_fill_in_title">Αυτόματη ενέργεια πλήκτρου</string>
<string name="keyboard_previous_fill_in_title">Γυρίστε πίσω</string>
<string name="keyboard_previous_fill_in_summary">Επιστρέψτε αυτόματα στο προηγούμενο πληκτρολόγιο μετά την εκτέλεση της ενέργειας του \"Αυτόματου πλήκτρου\"</string>
<string name="keyboard_previous_database_credentials_summary">Επιστρέψτε αυτόματα στο προηγούμενο πληκτρολόγιο στην οθόνη διαπιστευτηρίων βάσης δεδομένων</string>
<string name="keyboard_previous_database_credentials_title">Οθόνη διαπιστευτηρίων βάσης δεδομένων</string>
@@ -487,33 +487,33 @@
<string name="search_mode">Λειτουργία αναζήτησης</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>
<string name="advanced_unlock_prompt_extract_credential_title">Ανοίξτε τη βάση δεδομένων με προηγμένο ξεκλείδωμα αναγνώρισης</string>
<string name="menu_keystore_remove_key">Διαγραφή προηγμένου κλειδιού ξεκλειδώματος</string>
<string name="advanced_unlock_prompt_store_credential_title">Σύνδεσμος για ξεκλείδωμα συσκευής</string>
<string name="advanced_unlock_prompt_store_credential_message">Θα πρέπει ακόμα να θυμάστε τα κύρια διαπιστευτήρια της κρύπτης εάν χρησιμοποιείτε την αναγνώριση ξεκλειδώματος συσκευής.</string>
<string name="advanced_unlock_prompt_extract_credential_title">Αναγνώριση ξεκλειδώματος συσκευής</string>
<string name="menu_keystore_remove_key">Διαγραφή κλειδιού ξεκλειδώματος συσκευής</string>
<string name="enter">Enter</string>
<string name="backspace">Backspace</string>
<string name="select_entry">Επιλέξτε καταχώριση</string>
<string name="back_to_previous_keyboard">Επιστροφή στο προηγούμενο πληκτρολόγιο</string>
<string name="custom_fields">Προσαρμοσμένα πεδία</string>
<string name="advanced_unlock_delete_all_key_warning">Διαγραφή όλων των κλειδιών κρυπτογράφησης που σχετίζονται με το προηγμένο ξεκλείδωμα αναγνώρισης;</string>
<string name="advanced_unlock_delete_all_key_warning">Διαγραφή όλων των κλειδιών κρυπτογράφησης που σχετίζονται με την αναγνώριση ξεκλειδώματος συσκευής;</string>
<string name="device_credential_unlock_enable_summary">Σας επιτρέπει να χρησιμοποιήσετε τα διαπιστευτήρια της συσκευής σας για να ανοίξετε τη βάση δεδομένων</string>
<string name="device_credential_unlock_enable_title">Ξεκλείδωμα διαπιστευτηρίων συσκευής</string>
<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_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="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>
<string name="education_advanced_unlock_title">Προηγμένο ξεκλείδωμα βάσης δεδομένων</string>
<string name="advanced_unlock_timeout">Χρονικό όριο προηγμένου ξεκλειδώματος</string>
<string name="temp_advanced_unlock_enable_title">Προσωρινό προηγμένο ξεκλείδωμα</string>
<string name="temp_advanced_unlock_enable_summary">Μην αποθηκεύετε κανένα κρυπτογραφημένο περιεχόμενο για να χρησιμοποιήσετε προηγμένο ξεκλείδωμα</string>
<string name="temp_advanced_unlock_timeout_summary">Διάρκεια της χρήσης προηγμένου ξεκλειδώματος πριν την διαγραφή του περιεχομένου</string>
<string name="temp_advanced_unlock_timeout_title">Λήξη προηγμένου ξεκλειδώματος</string>
<string name="advanced_unlock_tap_delete">Πατήστε για διαγραφή προηγμένων κλειδιών ξεκλειδώματος</string>
<string name="education_advanced_unlock_title">Ξεκλείδωμα βάσης δεδομένων συσκευής</string>
<string name="advanced_unlock_timeout">Χρονικό όριο ξεκλειδώματος συσκευής</string>
<string name="temp_advanced_unlock_enable_title">Προσωρινό ξεκλείδωμα συσκευής</string>
<string name="temp_advanced_unlock_enable_summary">Μην αποθηκεύετε κρυπτογραφημένο περιεχόμενο για να χρησιμοποιήσετε το ξεκλείδωμα της συσκευής</string>
<string name="temp_advanced_unlock_timeout_summary">Διάρκεια χρήσης ξεκλειδώματος συσκευής πριν από τη διαγραφή του περιεχομένου της</string>
<string name="temp_advanced_unlock_timeout_title">Λήξη ξεκλειδώματος συσκευής</string>
<string name="advanced_unlock_tap_delete">Πατήστε για να διαγράψετε τα κλειδιά ξεκλειδώματος της συσκευής</string>
<string name="content">Περιεχόμενα</string>
<string name="error_rebuild_list">Δεν είναι δυνατή η σωστή αναδημιουργία της λίστας.</string>
<string name="error_database_uri_null">Δεν είναι δυνατή η ανάκτηση του URI βάσης δεδομένων.</string>
@@ -602,7 +602,7 @@
<string name="menu_merge_database">Συγχώνευση δεδομένων</string>
<string name="tags">Ετικέτες</string>
<string name="warning_keyfile_integrity">Ο κατακερματισμός του αρχείου δεν είναι εγγυημένος επειδή το Android μπορεί να αλλάξει τα δεδομένα του αμέσως. Αλλάξτε την επέκταση αρχείου σε .bin για σωστή ακεραιότητα.</string>
<string name="enable_keep_screen_on_summary">Κρατήστε την οθόνη ενεργή όταν παρακολουθείτε την καταχώρηση</string>
<string name="enable_keep_screen_on_summary">Διατηρήστε την οθόνη ενεργοποιημένη όταν παρακολουθείτε ή επεξεργάζεστε μια καταχώρηση</string>
<string name="enable_keep_screen_on_title">Διατηρήστε την οθόνη ενεργή</string>
<string name="show_entry_colors_title">Χρώματα καταχώρησης</string>
<string name="show_entry_colors_summary">Εμφανίζει τα χρώματα του προσκηνίου και του φόντου για μια καταχώρηση</string>
@@ -667,4 +667,25 @@
<string name="html_about_privacy">&lt;strong&gt;Δεν ανακτώνται δεδομένα χρήστη&lt;/strong&gt;, αυτή η εφαρμογή δεν συνδέεται με κανένα διακομιστή, λειτουργεί μόνο τοπικά και σέβεται πλήρως το απόρρητο των χρηστών.</string>
<string name="auto_type">Αυτόματη-Πληκτρολόγηση</string>
<string name="merge_success">Η συγχώνευση ολοκληρώθηκε με επιτυχία</string>
<string name="info">Πληροφορίες</string>
<string name="menu_app_settings_summary">Αναζήτηση, κλείδωμα, ιστορικό, ιδιότητες</string>
<string name="menu_form_filling_settings_summary">Πληκτρολόγιο, αυτόματη συμπλήρωση, πρόχειρο</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="warning_copy_permission">Η άδεια ειδοποίησης απαιτείται για τη χρήση της δυνατότητας ειδοποίησης του προχείρου.</string>
<string name="unlock_and_link_biometric">Σύνδεσμος ξεκλειδώματος συσκευής</string>
<string name="menu_appearance_settings_summary">Θέματα, χρώματα, ιδιότητες</string>
<string name="ask">Ερώτηση</string>
<string name="unlock">Ξεκλείδωμα</string>
<string name="education_validate_entry_title">Επικυρώστε την καταχώρηση</string>
<string name="warning_database_notification_permission">Η άδεια ειδοποίησης σάς επιτρέπει να εμφανίζετε την κατάσταση της βάσης δεδομένων και να την κλειδώνετε με ένα εύκολα προσβάσιμο κουμπί.
\n
\nΕάν δεν ενεργοποιήσετε αυτήν την άδεια, η ανοιχτή βάση δεδομένων στο παρασκήνιο δεν θα είναι ορατή εάν μια άλλη εφαρμογή βρίσκεται στο προσκήνιο.</string>
<string name="later">Αργότερα</string>
<string name="configure">Διαμορφώστε</string>
<string name="education_validate_entry_summary">Θυμηθείτε να επικυρώσετε την καταχώρησή σας και να αποθηκεύσετε τη βάση δεδομένων σας.
\n
\nΕάν ενεργοποιηθεί ένα αυτόματο κλείδωμα και ξεχάσετε ότι κάνετε μια τροποποίηση, κινδυνεύετε να χάσετε τα δεδομένα σας.</string>
</resources>

View File

@@ -43,7 +43,7 @@
<string name="digits">Dígitos</string>
<string name="html_about_licence">KeePassDX © %1$d Kunzisoft es de &lt;strong&gt;código abierto&lt;/strong&gt; y &lt;strong&gt;sin publicidad&lt;/strong&gt;.
\nSe proporciona tal cual, bajo licencia &lt;strong&gt;GPLv3&lt;/strong&gt;, sin ninguna garantía.</string>
<string name="select_database_file">Abrir base de datos existente</string>
<string name="select_database_file">Abrir la cámara acorazada existente</string>
<string name="entry_accessed">Accedido</string>
<string name="entry_cancel">Cancelar</string>
<string name="entry_notes">Notas</string>
@@ -91,11 +91,11 @@
<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">Eliminar</string>
<string name="menu_delete">Borrar</string>
<string name="menu_donate">Donar</string>
<string name="menu_edit">Editar</string>
<string name="menu_hide_password">Ocultar contraseña</string>
<string name="menu_lock">Bloquear base de datos</string>
<string name="menu_lock">Bloquear la base de datos</string>
<string name="menu_open">Abrir</string>
<string name="menu_search">Buscar</string>
<string name="menu_showpass">Mostrar contraseña</string>
@@ -106,7 +106,7 @@
<string name="no_url_handler">Instale un navegador web para abrir esta URL.</string>
<string name="progress_create">Creando nueva base de datos…</string>
<string name="progress_title">Trabajando…</string>
<string name="content_description_remove_from_list">Eliminar</string>
<string name="content_description_remove_from_list">Quitar</string>
<string name="root">Raíz</string>
<string name="rounds">Rondas de transformación</string>
<string name="rounds_explanation">Un alto número de pasadas de cifrado proporciona protección adicional contra ataques de fuerza bruta, pero puede ralentizar mucho el cargado y el guardado.</string>
@@ -169,7 +169,7 @@
<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="unavailable">Esta base de datos aún no tiene credenciales almacenadas.</string>
<string name="unavailable">No disponible</string>
<string name="menu_appearance_settings">Apariencia</string>
<string name="general">General</string>
<string name="autofill">Autocompletado</string>
@@ -186,18 +186,18 @@
<string name="lock">Bloquear</string>
<string name="lock_database_screen_off_title">Bloqueo de pantalla</string>
<string name="lock_database_screen_off_summary">Bloquear la base de datos después de unos segundos cuando la pantalla esté apagada</string>
<string name="advanced_unlock">Desbloqueo avanzado</string>
<string name="advanced_unlock">Desbloqueo del dispositivo</string>
<string name="biometric_unlock_enable_title">Desbloqueo biométrico</string>
<string name="biometric_unlock_enable_summary">Le permite escanear sus datos biométricos para abrir la base de datos</string>
<string name="biometric_delete_all_key_title">Eliminar claves de cifrado</string>
<string name="biometric_delete_all_key_summary">Eliminar todas las claves de cifrado relacionadas con el reconocimiento de desbloqueo avanzado</string>
<string name="biometric_delete_all_key_summary">Borrar todas las claves de cifrado relacionadas con el reconocimiento de desbloqueo del dispositivo</string>
<string name="unavailable_feature_text">No se pudo iniciar esta funcionalidad.</string>
<string name="unavailable_feature_version">El dispositivo funciona con Android %1$s, pero necesita %2$s o posterior.</string>
<string name="unavailable_feature_hardware">No se pudo encontrar el hardware correspondiente.</string>
<string name="file_name">Nombre del archivo</string>
<string name="path">Ruta</string>
<string name="assign_master_key">Asignar una clave maestra</string>
<string name="create_keepass_file">Crear nueva base de datos</string>
<string name="create_keepass_file">Crear una nueva cámara acorazada</string>
<string name="recycle_bin_title">Uso de la papelera de reciclaje</string>
<string name="recycle_bin_summary">Mueve los grupos y las entradas al grupo \"Papelera de reciclaje\" antes de eliminarlos</string>
<string name="monospace_font_fields_enable_title">Tipografía del campo</string>
@@ -237,7 +237,7 @@
<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 base de datos</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>
@@ -331,10 +331,10 @@
<string name="content_description_update_from_list">Actualizar</string>
<string name="content_description_keyboard_close_fields">Cerrar campos</string>
<string name="error_create_database_file">No se puede crear la base de datos con esta contraseña y este archivo clave.</string>
<string name="menu_advanced_unlock_settings">Desbloqueo avanzado</string>
<string name="menu_advanced_unlock_settings">Desbloqueo de dispositivos</string>
<string name="biometric">Biometría</string>
<string name="biometric_auto_open_prompt_title">Abrir petición automáticamente</string>
<string name="biometric_auto_open_prompt_summary">Solicitar automáticamente el desbloqueo avanzado si la base de datos está configurada para utilizarlo</string>
<string name="biometric_auto_open_prompt_summary">Solicitar automáticamente el 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.
@@ -382,7 +382,7 @@
<string name="settings_database_force_changing_master_key_summary">Requerir un cambio de la contraseña 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">Usar el desbloqueo avanzado para abrir una base de datos más fácilmente</string>
<string name="advanced_unlock_explanation_summary">Utiliza el desbloqueo de dispositivos 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</string>
<string name="lock_database_show_button_title">Mostrar botón de bloqueo</string>
<string name="autofill_preference_title">Configuración de autocompletado</string>
@@ -442,27 +442,27 @@
<string name="database_data_remove_unlinked_attachments_summary">Elimina los archivos adjuntos contenidos en la base de datos pero no vinculados a una entrada</string>
<string name="database_data_remove_unlinked_attachments_title">Eliminar los datos no vinculados</string>
<string name="data">Datos</string>
<string name="advanced_unlock_delete_all_key_warning">¿Borrar todas las claves de encriptación relacionadas con el reconocimiento de desbloqueo avanzado\?</string>
<string name="advanced_unlock_timeout">Tiempo límite de desbloqueo avanzado</string>
<string name="temp_advanced_unlock_timeout_summary">Duración del uso de desbloqueo avanzado antes de borrar su contenido</string>
<string name="temp_advanced_unlock_timeout_title">Expiración de desbloqueo avanzado</string>
<string name="temp_advanced_unlock_enable_summary">No almacenar ningún contenido encriptado para utilizar el desbloqueo avanzado</string>
<string name="temp_advanced_unlock_enable_title">Desbloqueo avanzado temporal</string>
<string name="advanced_unlock_delete_all_key_warning">¿Borrar todas las claves de cifrado relacionadas con el reconocimiento del desbloqueo del dispositivo\?</string>
<string name="advanced_unlock_timeout">Tiempo de espera de desbloqueo del dispositivo</string>
<string name="temp_advanced_unlock_timeout_summary">Duración del uso del desbloqueo del dispositivo antes de borrar su contenido</string>
<string name="temp_advanced_unlock_timeout_title">Caducidad del desbloqueo del dispositivo</string>
<string name="temp_advanced_unlock_enable_summary">No almacenes ningún contenido cifrado para utilizar el desbloqueo del dispositivo</string>
<string name="temp_advanced_unlock_enable_title">Desbloqueo temporal de los dispositivos</string>
<string name="device_credential_unlock_enable_summary">Le permite usar la credenciales de su dispositivo para abrir la base de datos</string>
<string name="device_credential_unlock_enable_title">Desbloqueo de las credenciales del dispositivo</string>
<string name="advanced_unlock_tap_delete">Toque para eliminar las teclas de desbloqueo avanzadas</string>
<string name="advanced_unlock_tap_delete">Pulsa para eliminar las claves de desbloqueo del dispositivo</string>
<string name="content">Contenido</string>
<string name="clipboard_explanation_summary">Copiar los campos de entrada usando el portapapeles de su dispositivo</string>
<string name="device_credential">Credenciales del dispositivo</string>
<string name="credential_before_click_advanced_unlock_button">Introduzca la contraseña y luego haga clic en este botón.</string>
<string name="advanced_unlock_prompt_not_initialized">No se pudo inicializar el indicador de desbloqueo avanzado.</string>
<string name="advanced_unlock_scanning_error">Error de desbloqueo avanzado: %1$s</string>
<string name="advanced_unlock_not_recognized">No se pudo reconocer la impresión de desbloqueo avanzado</string>
<string name="advanced_unlock_invalid_key">No se puede leer la clave de desbloqueo avanzada. Por favor, bórrela y repita el procedimiento de reconocimiento del desbloqueo.</string>
<string name="advanced_unlock_prompt_extract_credential_message">Extraer la credencial de la base de datos con datos de desbloqueo avanzado</string>
<string name="advanced_unlock_prompt_extract_credential_title">Abrir la base de datos con reconocimiento de desbloqueo avanzado</string>
<string name="advanced_unlock_prompt_store_credential_message">Aún debe recordar su contraseña maestra si emplea el reconocimiento de desbloqueo avanzado.</string>
<string name="advanced_unlock_prompt_store_credential_title">Reconocimiento de desbloqueo avanzado</string>
<string name="advanced_unlock_prompt_not_initialized">No se ha podido inicializar el aviso de desbloqueo del dispositivo.</string>
<string name="advanced_unlock_scanning_error">Error de desbloqueo del dispositivo: %1$s</string>
<string name="advanced_unlock_not_recognized">No se reconoc la huella digital para desbloquear el dispositivo</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>
<string name="advanced_unlock_prompt_extract_credential_title">Reconocimiento de desbloqueo de los dispositivos</string>
<string name="advanced_unlock_prompt_store_credential_message">Aún debes recordar la credencial principal de tu cámara acorazada si usas el reconocimiento para el desbloqueo del dispositivo.</string>
<string name="advanced_unlock_prompt_store_credential_title">Enlace para el desbloqueo del dispositivo</string>
<string name="keystore_not_accessible">El almacén de claves no está debidamente inicializado.</string>
<string name="biometric_security_update_required">Se requiere una actualización de la seguridad biométrica.</string>
<string name="configure_biometric">No se ha inscrito ninguna credencial biométrica o del dispositivo.</string>
@@ -472,7 +472,7 @@
<string name="save_mode">Modo de guardado</string>
<string name="search_mode">Modo de búsqueda</string>
<string name="contains_duplicate_uuid_procedure">¿Resolver el problema generando nuevos UUID para que los duplicados continúen\?</string>
<string name="menu_keystore_remove_key">Eliminar clave de desbloqueo avanzado</string>
<string name="menu_keystore_remove_key">Borrar 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 la renovación</string>
@@ -488,7 +488,7 @@
<string name="education_setup_OTP_summary">Configurar la gestión de contraseñas de un solo uso (HOTP / TOTP) para generar un token 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="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 avanzado de la 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 sólo lectura.</string>
<string name="autofill_block_restart">Reiniciar la aplicación que contiene el formulario para activar el bloqueo.</string>
<string name="autofill_web_domain_blocklist_summary">Lista de bloqueo que impide el llenado automático de los dominios web</string>
@@ -509,7 +509,7 @@
<string name="keyboard_previous_lock_summary">Cambiar automáticamente al teclado anterior después de bloquear la base de datos</string>
<string name="keyboard_previous_lock_title">Bloquear la base de datos</string>
<string name="keyboard_previous_fill_in_summary">Cambiar automáticamente al teclado anterior después de ejecutar \"Acción de la tecla automática\"</string>
<string name="keyboard_previous_fill_in_title">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">Cambiar automáticamente 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 de la tecla automática</string>
@@ -604,7 +604,7 @@
<string name="warning_database_info_reloaded">La recarga de la base de datos borrará los datos modificados localmente.</string>
<string name="warning_keyfile_integrity">El hash del archivo no está garantizado porque Android puede cambiar sus datos sobre la marcha. Cambia la extensión del archivo a .bin para una correcta integridad.</string>
<string name="enable_keep_screen_on_title">Mantener la pantalla encendida</string>
<string name="enable_keep_screen_on_summary">Mantenga la pantalla encendida cuando vea la entrada</string>
<string name="enable_keep_screen_on_summary">Mantén la pantalla encendida cuando veas o edites una entrada</string>
<string name="enable_screenshot_mode_title">Modo captura de pantalla</string>
<string name="enable_screenshot_mode_summary">Permitir que otras aplicaciones graben o tomen capturas de pantalla de la aplicación</string>
<string name="show_entry_colors_summary">Muestra los colores de primer y segundo plano de una entrada</string>
@@ -669,4 +669,25 @@
<string name="waiting_challenge_request">Esperando solicitud de desafío…</string>
<string name="waiting_challenge_response">Esperando respuesta al desafío…</string>
<string name="merge_success">Fusión finalizada con éxito</string>
</resources>
<string name="info">Información</string>
<string name="menu_app_settings_summary">Buscar, bloquear, historial, propiedades</string>
<string name="menu_form_filling_settings_summary">Teclado, autocompletar, portapapeles</string>
<string name="menu_database_settings_summary">Metadatos, papelera de reciclaje, plantillas, historial</string>
<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_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>
<string name="configure">Configurar</string>
<string name="unlock_and_link_biometric">Enlace de desbloqueo del dispositivo</string>
<string name="menu_appearance_settings_summary">Temas, colores, atributos</string>
<string name="unlock">Desbloquear</string>
<string name="education_validate_entry_title">Validar la entrada</string>
<string name="education_validate_entry_summary">No olvides validar tu entrada y guardar tu base de datos.
\n
\nSi se activa un bloqueo automático y olvidas que estabas haciendo una modificación, corres el riesgo de perder tus datos.</string>
</resources>

View File

@@ -118,7 +118,7 @@
<string name="never">Jamais</string>
<string name="no_results">Aucun résultat</string>
<string name="no_url_handler">Installer un navigateur Web pour ouvrir cette URL.</string>
<string name="select_database_file">Ouvrir une base de données existante</string>
<string name="select_database_file">Ouvrir un coffre-fort existant</string>
<string name="progress_create">Création dune nouvelle base de données…</string>
<string name="progress_title">Traitement en cours…</string>
<string name="protection">Protection</string>
@@ -159,7 +159,7 @@
<string name="configure_biometric">Aucune information didentification biométrique ou de périphérique nest enregistrée.</string>
<string name="encrypted_value_stored">Mot de passe chiffré stocké</string>
<string name="database_history">Historique</string>
<string name="unavailable">Cette base de données na pas encore stocké didentifiants.</string>
<string name="unavailable">Indisponible</string>
<string name="menu_appearance_settings">Apparence</string>
<string name="general">Général</string>
<string name="autofill">Remplissage automatique</string>
@@ -183,14 +183,14 @@
<string name="biometric_unlock_enable_title">Déverrouillage biométrique</string>
<string name="biometric_unlock_enable_summary">Permet de numériser votre empreinte biométrique pour ouvrir la base de données</string>
<string name="biometric_delete_all_key_title">Supprimer les clés de chiffrement</string>
<string name="biometric_delete_all_key_summary">Supprime toutes les clés de chiffrement liées à la reconnaissance biométrique</string>
<string name="biometric_delete_all_key_summary">Supprime toutes les clés de chiffrement liées à la reconnaissance du déverouillage de l\'appareil</string>
<string name="unavailable_feature_text">Impossible de démarrer cette fonctionnalité.</string>
<string name="unavailable_feature_version">Lappareil tourne sous Android %1$s, mais la version %2$s ou supérieure est requise.</string>
<string name="unavailable_feature_hardware">Impossible de trouver le matériel correspondant.</string>
<string name="file_name">Nom de fichier</string>
<string name="path">Chemin daccès</string>
<string name="assign_master_key">Affecter une clé principale</string>
<string name="create_keepass_file">Créer une nouvelle base de données</string>
<string name="create_keepass_file">Créer un nouveau coffre-fort</string>
<string name="recycle_bin_title">Utilisation de la corbeille</string>
<string name="recycle_bin_summary">Déplace les groupes et les entrées dans le groupe \"Corbeille\" avant leur suppression</string>
<string name="monospace_font_fields_enable_title">Fonte de caractères des champs</string>
@@ -317,7 +317,7 @@
<string name="keyboard_change">Changement de clavier</string>
<string name="keyboard_previous_database_credentials_title">Écran d\'authentification de la base de données</string>
<string name="keyboard_previous_database_credentials_summary">Revenir automatiquement au clavier précédent sur lécran d\'authentification de la base de données</string>
<string name="keyboard_previous_fill_in_title">Action de touche automatique</string>
<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>
@@ -353,12 +353,12 @@
<string name="content_description_update_from_list">Mise à jour</string>
<string name="content_description_keyboard_close_fields">Fermer les champs</string>
<string name="error_create_database_file">Impossible de créer une base de données avec ce mot de passe et ce fichier clé.</string>
<string name="menu_advanced_unlock_settings">Déverrouillage avancé</string>
<string name="menu_advanced_unlock_settings">Déverrouillage de l\'appareil</string>
<string name="enable">Activer</string>
<string name="disable">Désactiver</string>
<string name="biometric">Biométrie</string>
<string name="biometric_auto_open_prompt_title">Ouvrir automatiquement linvite biométrique</string>
<string name="biometric_auto_open_prompt_summary">Demande automatiquement la reconnaissance biométrique si la base de données est configurée pour lutiliser</string>
<string name="biometric_auto_open_prompt_summary">Demande automatiquement le deverouillage de l\'appareil si la base de données est configurée pour lutiliser</string>
<string name="master_key">Clé principale</string>
<string name="security">Sécurité</string>
<string name="entry_history">Historique</string>
@@ -389,7 +389,7 @@
<string name="contains_duplicate_uuid_procedure">Résoudre le problème en générant de nouveaux UUID pour les doublons et continuer \?</string>
<string name="database_opened">Base de données ouverte</string>
<string name="clipboard_explanation_summary">Copier les champs dune entrée à laide du presse-papier de votre appareil</string>
<string name="advanced_unlock_explanation_summary">Utiliser le déverrouillage avancé pour ouvrir plus facilement une base de données</string>
<string name="advanced_unlock_explanation_summary">Utiliser le déverrouillage de l\'appareil pour ouvrir plus facilement une base de données</string>
<string name="database_data_compression_title">Compression de données</string>
<string name="database_data_compression_summary">La compression des données réduit la taille de la base de données</string>
<string name="max_history_items_title">Nombre maximum</string>
@@ -403,7 +403,7 @@
<string name="settings_database_force_changing_master_key_next_time_title">Forcer le renouvellement la prochaine fois</string>
<string name="settings_database_force_changing_master_key_next_time_summary">Nécessite de changer la clé principale la prochaine fois (une seule fois)</string>
<string name="database_default_username_title">Nom dutilisateur par défaut</string>
<string name="database_custom_color_title">Couleur de la base de données</string>
<string name="database_custom_color_title">Couleur customisée de la base de données</string>
<string name="compression">Compression</string>
<string name="compression_none">Aucune</string>
<string name="compression_gzip">Gzip</string>
@@ -429,7 +429,7 @@
<string name="download_complete">Terminé !</string>
<string name="hide_expired_entries_title">Masquer les entrées expirées</string>
<string name="hide_expired_entries_summary">Les entrées expirées ne sont pas affichées</string>
<string name="contact">Contacthttps://hosted.weblate.org/translate/keepass-dx/strings/fr/\?checksum=7eedefa01e57015e</string>
<string name="contact">Contact</string>
<string name="contribution">Contribution</string>
<string name="html_about_contribution">Afin de &lt;strong&gt;garder notre liberté&lt;/strong&gt;, &lt;strong&gt;corriger les bugs&lt;/strong&gt;, &lt;strong&gt;ajouter des fonctionnalités&lt;/strong&gt; et &lt;strong&gt;être toujours actif&lt;/strong&gt;, nous comptons sur votre &lt;strong&gt;contribution&lt;/strong&gt;.</string>
<string name="auto_focus_search_title">Recherche rapide</string>
@@ -503,20 +503,20 @@
<string name="search_mode">Mode recherche</string>
<string name="error_registration_read_only">Lenregistrement dun nouvel élément nest 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 avancée \?</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>
<string name="device_credential_unlock_enable_title">Déverrouillage par identifiants de l\'appareil</string>
<string name="device_credential">Déverouillage de l\'appareil</string>
<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 avancé</string>
<string name="advanced_unlock_invalid_key">Impossible de lire la clé de déverrouillage avancé. 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 avancées</string>
<string name="advanced_unlock_prompt_extract_credential_title">Ouvrir la base de données avec la reconnaissance de déverrouillage avancée</string>
<string name="advanced_unlock_prompt_store_credential_message">Vous devez toujours vous souvenir de votre identifiant principal si vous utilisez le déverrouillage avancé.</string>
<string name="advanced_unlock_prompt_store_credential_title">Reconnaissance de déverrouillage avancée</string>
<string name="menu_keystore_remove_key">Supprimer la clé 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>
<string name="advanced_unlock_prompt_extract_credential_title">Reconnaissance du déverrouillage de l\'appareil</string>
<string name="advanced_unlock_prompt_store_credential_message">Vous devez toujours vous souvenir de l\'identifiant principal du coffre-fort si vous utilisez le déverrouillage de l\'appareil.</string>
<string name="advanced_unlock_prompt_store_credential_title">Liaison vers le déverrouillage de l\'appareil</string>
<string name="menu_keystore_remove_key">Supprimer la clé de déverrouillage avancée</string>
<string name="enter">Entrer</string>
<string name="backspace">Retour arrière</string>
<string name="select_entry">Sélection d\'une entrée</string>
@@ -524,12 +524,12 @@
<string name="custom_fields">Champs customisés</string>
<string name="education_advanced_unlock_summary">Lier votre mot de passe à vos informations d\'identification biométriques ou de périphérique scannées pour déverrouiller rapidement votre base de données.</string>
<string name="education_advanced_unlock_title">Déverrouillage avancé de la base de données</string>
<string name="advanced_unlock_timeout">Délai du déverrouillage avancé</string>
<string name="temp_advanced_unlock_timeout_summary">Durée d\'utilisation du déverrouillage avancé avant de supprimer son contenu</string>
<string name="temp_advanced_unlock_timeout_title">Expiration du déverrouillage avancé</string>
<string name="temp_advanced_unlock_enable_summary">Ne stocker aucun contenu crypté pour utiliser le déverrouillage avancé</string>
<string name="temp_advanced_unlock_enable_title">Déverrouillage avancé temporaire</string>
<string name="advanced_unlock_tap_delete">Appuyez pour supprimer les clés de déverrouillage avancées</string>
<string name="advanced_unlock_timeout">Délai du déverrouillage de l\'appareil</string>
<string name="temp_advanced_unlock_timeout_summary">Durée d\'utilisation du déverrouillage de l\'appareil avant de supprimer son contenu</string>
<string name="temp_advanced_unlock_timeout_title">Expiration du déverrouillage de l\'appareil</string>
<string name="temp_advanced_unlock_enable_summary">Ne stocker aucun contenu crypté pour utiliser le déverrouillage de l\'appareil</string>
<string name="temp_advanced_unlock_enable_title">Déverrouillage de l\'appareil temporaire</string>
<string name="advanced_unlock_tap_delete">Appuyez pour supprimer les clés de déverrouillage de l\'appareil</string>
<string name="content">Contenu</string>
<string name="error_rebuild_list">Impossible de reconstruire correctement la liste.</string>
<string name="error_database_uri_null">L\'URI de la base de données ne peut pas être récupéré.</string>
@@ -610,7 +610,7 @@
<string name="content_description_entry_background_color">Couleur d\'arrière plan de l\'entrée</string>
<string name="tags">Étiquettes</string>
<string name="menu_merge_database">Fusionner les données</string>
<string name="enable_keep_screen_on_summary">Maintiens l\'écran allumé lorsque l\'entrée est visionnée</string>
<string name="enable_keep_screen_on_summary">Maintiens l\'écran allumé lorsque l\'entrée est visionnée ou éditée</string>
<string name="warning_keyfile_integrity">Le hachage du fichier n\'est pas garanti car Android peut modifier ses données à la volée. Changez l\'extension du fichier en .bin pour une intégrité correcte.</string>
<string name="warning_copy_permission">L\'autorisation de notification est nécessaire pour utiliser la fonction de notification du presse-papiers.</string>
<string name="later">Plus tard</string>
@@ -682,4 +682,19 @@
<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\'une base de données V1.</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>
<string name="menu_form_filling_settings_summary">Clavier, remplissage automatique, presse-papiers</string>
<string name="master_key_settings_summary">Changement, renouvellement</string>
<string name="menu_advanced_unlock_settings_summary">Biométrie, identifiant de l\'appareil</string>
<string name="unlock_and_link_biometric">Liaison avec déverouillage de l\'appareil</string>
<string name="unlock">Déverouiller</string>
<string name="configure">Configurer</string>
<string name="menu_database_settings_summary">Métadonnées, corbeille, gabarits, historique</string>
<string name="menu_security_settings_summary">Chiffrement, fonction de dérivation de clé</string>
<string name="menu_appearance_settings_summary">Thèmes, couleurs, attributs</string>
<string name="education_validate_entry_title">Valider l\'entrée</string>
<string name="education_validate_entry_summary">N\'oubliez pas de valider votre saisie et de sauvegarder votre base de données
\n
\nSi un verrouillage automatique est activé et que vous oubliez que vous étiez en train d\'effectuer une modification, vous risquez de perdre vos données.</string>
</resources>

View File

@@ -118,7 +118,7 @@
<string name="settings">Postavke</string>
<string name="menu_app_settings">Postavke aplikacije</string>
<string name="menu_form_filling_settings">Ispunjavanje obrasca</string>
<string name="menu_advanced_unlock_settings">Napredno otključavanje</string>
<string name="menu_advanced_unlock_settings">Otključavanje uređaja</string>
<string name="menu_database_settings">Postavke baze podataka</string>
<string name="menu_security_settings">Postavke sigurnosti</string>
<string name="menu_master_key_settings">Postavke glavnog ključa</string>
@@ -142,8 +142,8 @@
<string name="never">Nikada</string>
<string name="no_results">Nema rezultata pretraživanja</string>
<string name="no_url_handler">Instalirajte web preglednik da bi ste otvorili ovaj URL.</string>
<string name="select_database_file">Otvori postojeću bazu podataka</string>
<string name="create_keepass_file">Stvori novu bazu podataka</string>
<string name="select_database_file">Otvori postojeći trezor</string>
<string name="create_keepass_file">Stvori novi trezor</string>
<string name="progress_create">Stvaranje nove baze podataka …</string>
<string name="protection">Zaštita</string>
<string name="contains_duplicate_uuid">Baza podataka sadrži duplicirane UUID-ove.</string>
@@ -177,7 +177,7 @@
<string name="menu_appearance_settings">Izgled</string>
<string name="general">Opće</string>
<string name="autofill">Automatsko ispunjavanje</string>
<string name="autofill_service_name">Automatsko ispunjavanje obrazaca KeePassDX</string>
<string name="autofill_service_name">Automatsko ispunjavanje KeePassDX obrasca</string>
<string name="set_autofill_service_title">Postavi standardnu uslugu automatskog ispunjavanja</string>
<string name="list_password_generator_options_title">Znakovi lozinke</string>
<string name="list_password_generator_options_summary">Postavi dozvoljene znakove za generiranje lozinke</string>
@@ -187,12 +187,12 @@
<string name="clipboard_warning">Ako automatsko brisanje međuspremnika ne uspije, izbriši njegovu povijest ručno.</string>
<string name="lock_database_screen_off_summary">Zaključaj bazu podataka nakon par sekundi kad se ekran ugasi</string>
<string name="lock_database_back_root_title">Pritisni \'Natrag\' za zaključavanje</string>
<string name="advanced_unlock">Napredno otključavanje</string>
<string name="advanced_unlock_explanation_summary">Koristi napredno otključavanje za jednostavnije otvaranje baze podataka</string>
<string name="advanced_unlock">Otključavanje uređaja</string>
<string name="advanced_unlock_explanation_summary">Koristi otključavanje uređaja za jednostavnije otvaranje baze podataka</string>
<string name="biometric_unlock_enable_title">Biometrijsko otključavanje</string>
<string name="biometric_unlock_enable_summary">Otvaranje baze podataka skeniranjem biometrike</string>
<string name="biometric_delete_all_key_title">Izbriši ključeve šifriranja</string>
<string name="biometric_delete_all_key_summary">Izbriši sve ključeve šifriranja povezane s naprednim prepoznavanjem otključavanja</string>
<string name="biometric_delete_all_key_summary">Izbriši sve ključeve šifriranja povezane s prepoznavanjem otključavanja uređaja</string>
<string name="unavailable_feature_hardware">Nije moguće pronaći odgovarajući hardver.</string>
<string name="file_name">Ime datoteke</string>
<string name="path">Putanja</string>
@@ -267,7 +267,7 @@
<string name="special">Posebni znakovi</string>
<string name="underline">Podcrtaj</string>
<string name="uppercase">Velika slova</string>
<string name="unavailable">Ova baza podataka još nema spremljene podatke za prijavu.</string>
<string name="unavailable">Nedostupno</string>
<string name="biometric">Biometrija</string>
<string name="autofill_sign_in_prompt">Prijavi se s KeePassDX</string>
<string name="autofill_explanation_summary">Aktiviraj automatsko ispunjavanje za brzo ispunjavanje obrazaca u drugim aplikacijama</string>
@@ -395,7 +395,7 @@
<string name="hide_expired_entries_summary">Istekli unosi se ne pokazuju</string>
<string name="education_lock_title">Zaključaj bazu podataka</string>
<string name="education_unlock_title">Otključaj bazu podataka</string>
<string name="biometric_auto_open_prompt_summary">Automatski zatraži napredno otključavanje ako je baza podataka tako postavljena</string>
<string name="biometric_auto_open_prompt_summary">Automatski zatraži otključavanje uređaja ako je baza podataka postavljena da ga koristi</string>
<string name="unavailable_feature_text">Nije moguće pokrenuti ovu funkciju.</string>
<string name="biometric_auto_open_prompt_title">Automatski otvori prozor za prijavu</string>
<string name="clipboard_timeout">Istek vremena međuspremnika</string>
@@ -441,8 +441,8 @@
<string name="download_progression">U tijeku: %1$d%%</string>
<string name="download_complete">Gotovo!</string>
<string name="keyboard_previous_fill_in_summary">Automatski se vrati na prethodnu tipkovnicu nakon izvršavanja „Automatska radnje tipke”</string>
<string name="keyboard_previous_fill_in_title">Automatska radnja tipke</string>
<string name="keyboard_previous_database_credentials_summary">Automatski se prebaci na prethodnu tipkovnicu pri ekranu za unos podataka za prijavu na bazu podataka</string>
<string name="keyboard_previous_fill_in_title">Vrati se na prethodnu tipkovnicu</string>
<string name="keyboard_previous_database_credentials_summary">Automatski se vrati na prethodnu tipkovnicu pri ekranu za unos podataka za prijavu na bazu podataka</string>
<string name="keyboard_previous_database_credentials_title">Ekran za unos podataka za prijavu na bazu podataka</string>
<string name="keyboard_change">Promijeni tipkovnicu</string>
<string name="warning_file_too_big">Baza podataka za KeePass trebala bi sadržavati samo male datoteke uslužnih programa (poput PGP datoteke ključeva).
@@ -472,7 +472,7 @@
<string name="autofill_save_search_info_title">Spremi podatke pretrage</string>
<string name="autofill_close_database_summary">Zatvori bazu podataka nakon odabira automatskog ispunjavanja</string>
<string name="autofill_close_database_title">Zatvori bazu podataka</string>
<string name="keyboard_previous_lock_summary">Automatski prebaci na prethodnu tipkovnicu nakon zaključavanja baze podataka</string>
<string name="keyboard_previous_lock_summary">Automatski se vrati na prethodnu tipkovnicu nakon zaključavanja baze podataka</string>
<string name="keyboard_previous_lock_title">Zaključaj bazu podataka</string>
<string name="keyboard_save_search_info_summary">Pokušaj spremiti dijeljene podatke prilikom ručnog odabira unosa za jednostavniju buduću upotrebu</string>
<string name="keyboard_save_search_info_title">Spremi dijeljene informacije</string>
@@ -483,17 +483,17 @@
<string name="save_mode">Modus spremanja</string>
<string name="search_mode">Modus pretrage</string>
<string name="error_field_name_already_exists">Ime polja već postoji.</string>
<string name="advanced_unlock_delete_all_key_warning">Izbrisati sve ključeve šifriranja povezane s naprednim prepoznavanjem otključavanja\?</string>
<string name="advanced_unlock_delete_all_key_warning">Izbrisati sve ključeve šifriranja povezane s prepoznavanjem otključavanja uređaja\?</string>
<string name="credential_before_click_advanced_unlock_button">Upiši lozinku, zatim pritisni ovaj gumb.</string>
<string name="advanced_unlock_prompt_extract_credential_title">Otvori bazu podataka pomoću naprednog prepoznavanja otključavanja</string>
<string name="advanced_unlock_prompt_store_credential_message">Ako koristiš prepoznavanje naprednog otključavanja morat ćeš i dalje znati glavnu lozinku.</string>
<string name="menu_keystore_remove_key">Izbriši ključ naprednog otključavanja</string>
<string name="advanced_unlock_prompt_store_credential_title">Napredno prepoznavanje otključavanja</string>
<string name="advanced_unlock_prompt_not_initialized">Nije moguće pokrenuti prozor naprednog otključavanja.</string>
<string name="advanced_unlock_scanning_error">Greška naprednog otključavanja: %1$s</string>
<string name="advanced_unlock_prompt_extract_credential_message">Izdvoji podatake za prijavu na bazu podataka pomoću podataka naprednog otključavanja</string>
<string name="advanced_unlock_not_recognized">Nije moguće prepoznati digitanlni otisak za napredno otključavanje</string>
<string name="advanced_unlock_invalid_key">Nije moguće pročitati ključ naprednog otključavanja. Izbriši ga i ponovi postupak prepoznavanja otključavanja.</string>
<string name="advanced_unlock_prompt_extract_credential_title">Prepoznavanje otključavanja uređaja</string>
<string name="advanced_unlock_prompt_store_credential_message">Ako koristiš prepoznavanje otključavanja uređaja morat ćeš i dalje znati tvoj glavni podatak za prijavu za trezor.</string>
<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>
<string name="enter">Tipka Enter</string>
<string name="backspace">Tipka Backspace</string>
<string name="select_entry">Odaberi unos</string>
@@ -502,19 +502,19 @@
<string name="device_credential_unlock_enable_summary">Omogućuje otvaranje baze podataka pomoću podataka za prijavu</string>
<string name="device_credential_unlock_enable_title">Otključavanje s podacima za prijavu uređaja</string>
<string name="device_credential">Podaci za prijavu uređaja</string>
<string name="advanced_unlock_tap_delete">Dodirni za brisanje ključeva naprednog otključavanja</string>
<string name="education_advanced_unlock_title">Napredno otključavanje baze podataka</string>
<string name="advanced_unlock_timeout">Vremensko ograničenje neprednog otključavanja</string>
<string name="temp_advanced_unlock_timeout_summary">Trajanje korištenja naprednog otključavanja prije brisanja sadržaja</string>
<string name="temp_advanced_unlock_timeout_title">Istek naprednog otključavanja</string>
<string name="temp_advanced_unlock_enable_summary">Nemoj spremati šifrirani sadržaj za napredno otključavanje</string>
<string name="advanced_unlock_tap_delete">Dodirni za brisanje ključeva za otključavanje uređaja</string>
<string name="education_advanced_unlock_title">Otključavanje uređaja baze podataka</string>
<string name="advanced_unlock_timeout">Vremensko ograničenje otključavanja uređaja</string>
<string name="temp_advanced_unlock_timeout_summary">Trajanje korištenja otključavanja uređaja prije brisanja njegovog sadržaja</string>
<string name="temp_advanced_unlock_timeout_title">Istek otključavanja uređaja</string>
<string name="temp_advanced_unlock_enable_summary">Nemoj spremati šifrirani sadržaj za otključavanje uređaja</string>
<string name="content">Sadržaj</string>
<string name="temp_advanced_unlock_enable_title">Privremeno napredno otključavanje</string>
<string name="temp_advanced_unlock_enable_title">Privremeno otključavanje uređaja</string>
<string name="error_rebuild_list">Nije moguće ispravno obnoviti popis.</string>
<string name="error_database_uri_null">URI baze podataka nije moguće dobiti.</string>
<string name="autofill_inline_suggestions_title">Umetnuti prijedlozi</string>
<string name="autofill_inline_suggestions_keyboard">Prijedlozi za automatsko popunjavanje su dodani.</string>
<string name="autofill_inline_suggestions_summary">Pokušaj prikazivanja prijedloga za automatsko popunjavanje izravno s kompatibilne tipkovnice</string>
<string name="autofill_inline_suggestions_keyboard">Prijedlozi za automatsko ispunjavanje su dodani.</string>
<string name="autofill_inline_suggestions_summary">Pokušaj prikazivanja prijedloga za automatsko ispunjavanje izravno s kompatibilne tipkovnice</string>
<string name="warning_database_revoked">Pristup datoteci opozvan od upravljača datoteka. Zatvori bazu podataka i ponovo je otvori s njezinog mjesta.</string>
<string name="warning_database_info_changed_options">Sjedini podatke, prepiši vanjske promjene spremanjem baze podataka ili je ponovo učitaj s najnovijim promjenama.</string>
<string name="warning_database_info_changed">Podaci u datoteci tvoje baze podataka izmijenjeni su izvan aplikacije.</string>
@@ -595,7 +595,7 @@
<string name="warning_database_info_reloaded">Ponovnim učitavanjem baze podataka izbrisat će se lokalno izmijenjeni podaci.</string>
<string name="warning_keyfile_integrity">Hash-šifra datoteke nije zajamčena jer Android svoje podatke može promijeniti za vrijeme rada. Promijeni datotečni nastavak u .bin radi ispravnog integriteta.</string>
<string name="enable_keep_screen_on_title">Ostavi ekran uključen</string>
<string name="enable_keep_screen_on_summary">Ostavi ekran uključen tijekom gledanja unosa</string>
<string name="enable_keep_screen_on_summary">Ostavi ekran uključen tijekom gledanja ili uređivanja unosa</string>
<string name="show_entry_colors_title">Boje unosa</string>
<string name="show_entry_colors_summary">Prikazuje prednje boje i boje pozadine za unos</string>
<string name="content_description_entry_foreground_color">Prednja boja unosa</string>
@@ -662,4 +662,25 @@
<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>
<string name="menu_form_filling_settings_summary">Tipkovnica, automatsko ispunjavanje, međuspremnik</string>
<string name="menu_database_settings_summary">Metapodaci, koš za smeće, predlošci, povijest</string>
<string name="menu_security_settings_summary">Šifriranje, funkcija derivacije ključa</string>
<string name="warning_copy_permission">Dozvola za obavijesti je potrebna za korištenje funkcije obavijesti međuspremnika.</string>
<string name="later">Kasnije</string>
<string name="ask">Pitaj</string>
<string name="warning_database_notification_permission">Dozvola za obavijesti omogućuje prikaz stanja baze podataka i zaključavanje pomoću lako dostupnog gumba.
\n
\nAko ovu dozvolu ne aktiviraš, u pozadini otvorena baza podataka neće biti vidljiva ako je jedna druga aplikacija u prvom planu.</string>
<string name="configure">Konfiguriraj</string>
<string name="unlock_and_link_biometric">Poveznica za otključavanje uređaja</string>
<string name="menu_appearance_settings_summary">Teme, boje, atributi</string>
<string name="unlock">Otključaj</string>
<string name="menu_advanced_unlock_settings_summary">Biometrija, podatak za prijavu uređaja</string>
<string name="info">Informacije</string>
<string name="master_key_settings_summary">Promjena, obnova</string>
<string name="education_validate_entry_title">Potvrdi unos</string>
<string name="education_validate_entry_summary">Nemoj zaboraviti potvrditi svoj unos i spremiti svoju bazu podataka.
\n
\nAko se automatsko zaključavanje aktivira i ako zaboraviš da si izvršio/la promjene, riskiraš gubitak podataka.</string>
</resources>

View File

@@ -12,8 +12,8 @@
<string name="menu_showpass">Tampilkan Kata Sandi</string>
<string name="menu_search">Cari</string>
<string name="menu_open">Buka</string>
<string name="menu_save_database">Simpan Database</string>
<string name="menu_lock">Basisdata Terkunci</string>
<string name="menu_save_database">Simpan data</string>
<string name="menu_lock">Basis Data Terkunci</string>
<string name="menu_hide_password">Sembunyikan Kata Sandi</string>
<string name="menu_cancel">Batal</string>
<string name="menu_delete">Hapus</string>
@@ -25,8 +25,8 @@
<string name="menu_master_key_settings">Pengaturan Kunci Utama</string>
<string name="menu_security_settings">Pengaturan Keamanan</string>
<string name="menu_app_settings">Pengaturan Aplikasi</string>
<string name="menu_database_settings">Pengaturan Basisdata</string>
<string name="menu_advanced_unlock_settings">Buka Kunci Lanjutan</string>
<string name="menu_database_settings">Pengaturan Basis Data</string>
<string name="menu_advanced_unlock_settings">Membuka kunci perangkat</string>
<string name="menu_form_filling_settings">Pengisian Formulir</string>
<string name="settings">Pengaturan</string>
<string name="copy_field">Salinan dari %1$s</string>
@@ -68,7 +68,7 @@
<string name="error_otp_secret_key">Kunci rahasia harus dalam format Base32.</string>
<string name="error_save_database">Tidak dapat menyimpan basis data.</string>
<string name="error_create_database_file">Tidak bisa membuat basis data dengan kata sandi dan file kunci ini.</string>
<string name="error_create_database">Tidak bisa membuat berkas database.</string>
<string name="error_create_database">Tidak bisa membuat berkas basis data.</string>
<string name="error_copy_group_here">Anda tidak bisa menyalin grup di sini.</string>
<string name="error_copy_entry_here">Anda tidak dapat menyalin entri di sini.</string>
<string name="error_move_entry_here">Anda tidak dapat memindahkan sebuah entri ke sini.</string>
@@ -93,7 +93,7 @@
<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>
<string name="file_manager_install_description">Manajer file yang menerima ACTION_CREATE_DOCUMENT ACTION_OPEN_DOCUMENT izin diperlukan untuk membuat, membuka, dan menyimpan file database.</string>
<string name="file_manager_install_description">Manajer file yang menerima ACTION_CREATE_DOCUMENT ACTION_OPEN_DOCUMENT izin diperlukan untuk membuat, membuka, dan menyimpan file basis data.</string>
<string name="otp_type">Jenis OTP</string>
<string name="entry_setup_otp">Penyiapan Sandi Sekali Pakai (OTP)</string>
<string name="error_can_not_handle_uri">Tidak bisa menangani URI ini di KeePassDX.</string>
@@ -131,7 +131,7 @@
\nTersedia apa adanya, di bawah lisensi &lt;strong&gt;GPLv3&lt;/strong&gt;, tanpa jaminan apa pun.</string>
<string name="default_checkbox">Gunakan sebagai basis data standar</string>
<string name="decrypting_db">Mendekripsi konten basis data…</string>
<string name="database">BasisData</string>
<string name="database">Basis Data</string>
<string name="select_to_copy">Pilih untuk menyalin %1$s ke papan klip</string>
<string name="content_description_keyboard_close_fields">Tutup Bidang</string>
<string name="content_description_remove_from_list">Buang</string>
@@ -175,10 +175,10 @@
<string name="feedback">Umpan Balik</string>
<string name="contribution">Kontribusi</string>
<string name="contact">Kontak</string>
<string name="auto_focus_search_summary">Minta pencarian saat membuka database</string>
<string name="auto_focus_search_summary">Minta pencarian saat membuka basis data</string>
<string name="auto_focus_search_title">Pencarian cepat</string>
<string name="create_keepass_file">Buat basis data baru</string>
<string name="select_database_file">Buka basis data yang sudah ada</string>
<string name="create_keepass_file">Membuat brankas baru</string>
<string name="select_database_file">Buka brankas yang ada</string>
<string name="no_url_handler">Pasang browser web untuk membuka URL ini.</string>
<string name="memory_usage">Penggunaan memori</string>
<string name="rounds">Putaran transformasi</string>
@@ -190,11 +190,11 @@
<string name="show_recent_files_title">Tampilkan file sebelumnya</string>
<string name="remember_keyfile_locations_summary">Melacak di mana file kunci disimpan</string>
<string name="remember_keyfile_locations_title">Ingat lokasi file kunci</string>
<string name="remember_database_locations_summary">Melacak di mana database disimpan</string>
<string name="remember_database_locations_summary">Melacak di mana basis data disimpan</string>
<string name="remember_database_locations_title">Ingat lokasi basis data</string>
<string name="selection_mode">Mode seleksi</string>
<string name="contains_duplicate_uuid_procedure">Selesaikan masalah dengan menghasilkan UUID baru, lanjutkan\?</string>
<string name="contains_duplicate_uuid">Basisdata berisi UUIDs duplikat.</string>
<string name="contains_duplicate_uuid">Basis data berisi UUID yang terduplikat.</string>
<string name="read_only_warning">Tergantung pada manajer file Anda, KeePassDX mungkin tidak diizinkan untuk menulis di penyimpanan Anda.</string>
<string name="read_only">Terlindung dari penulisan</string>
<string name="protection">Perlindungan</string>
@@ -219,7 +219,7 @@
<string name="warning_empty_keyfile">Tidak disarankan menambah keyfile kosong.</string>
<string name="warning_sure_remove_data">Hapus data ini\?</string>
<string name="warning">Peringatan</string>
<string name="unsupported_db_version">Versi database tidak di dukung.</string>
<string name="unsupported_db_version">Versi basis data tidak didukung.</string>
<string name="search">Cari</string>
<string name="sort_last_access_time">Akses</string>
<string name="sort_last_modify_time">Modifikasi</string>
@@ -237,23 +237,23 @@
<string name="compression">Kompresi</string>
<string name="other">Lainnya</string>
<string name="application_appearance">Tampilan</string>
<string name="advanced_unlock_prompt_store_credential_title">Pengenalan pembuka kunci tingkat lanjut</string>
<string name="advanced_unlock_prompt_store_credential_title">Tautan ke pembukaan kunci perangkat</string>
<string name="keystore_not_accessible">Keystore tidak diinisialisasi dengan benar.</string>
<string name="biometric_security_update_required">Pembaruan keamanan biometrik diperlukan.</string>
<string name="configure_biometric">Tidak ada kredensial biometrik atau perangkat yang terdaftar.</string>
<string name="warning_remove_unlinked_attachment">Menghapus data yang tidak tertaut dapat mengurangi ukuran database Anda, tetapi juga dapat menghapus data yang digunakan untuk plugin KeePass.</string>
<string name="warning_remove_unlinked_attachment">Menghapus data yang tidak tertaut dapat mengurangi ukuran basis data Anda, tetapi juga dapat menghapus data yang digunakan untuk plugin KeePass.</string>
<string name="warning_sure_add_file">Tetap tambahkan berkas\?</string>
<string name="warning_replace_file">Mengunggah berkas ini akan menggantikan berkas yang ada.</string>
<string name="warning_file_too_big">Database KeePass seharusnya hanya berisi file utilitas kecil (seperti file kunci PGP).
<string name="warning_file_too_big">Basis data KeePass seharusnya hanya berisi file utilitas kecil (seperti file kunci PGP).
\n
\nDatabase Anda mungkin menjadi sangat besar dan mengurangi kinerja dengan unggahan ini.</string>
\nBasis data Anda mungkin menjadi sangat besar dan mengurangi kinerja dengan unggahan ini.</string>
<string name="warning_empty_recycle_bin">Hapus permanen semua node dari keranjang sampah\?</string>
<string name="advanced_unlock_tap_delete">Ketuk untuk menghapus tombol pembuka kunci lanjutan</string>
<string name="advanced_unlock">Buka kunci lanjutan</string>
<string name="advanced_unlock_tap_delete">Ketuk untuk menghapus tombol pembuka kunci perangkat</string>
<string name="advanced_unlock">Buka kunci perangkat</string>
<string name="content">Konten</string>
<string name="lock_database_show_button_summary">Tampilkan tombol kunci di antarmuka pengguna</string>
<string name="lock_database_show_button_title">Tampilkan tombol kunci</string>
<string name="lock_database_back_root_summary">Kunci database saat pengguna mengklik tombol kembali di layar root</string>
<string name="lock_database_back_root_summary">Kunci basis data saat pengguna mengklik tombol kembali di layar root</string>
<string name="lock_database_back_root_title">Tekan \'Kembali\' untuk mengunci</string>
<string name="lock_database_screen_off_summary">Kunci basis data setelah beberapa detik ketika layar mati</string>
<string name="lock_database_screen_off_title">Kunci layar</string>
@@ -263,14 +263,14 @@
<string name="clipboard_notifications_title">Pemberitahuan papan klip</string>
<string name="clipboard_explanation_summary">Salin kolom entri menggunakan papan klip perangkat Anda</string>
<string name="clipboard">Papan klip</string>
<string name="database_opened">Database dibuka</string>
<string name="database_opened">Basis data dibuka</string>
<string name="list_password_generator_options_summary">Atur karakter pembuat kata sandi yang diperbolehkan</string>
<string name="list_password_generator_options_title">Karakter kata sandi</string>
<string name="password_size_summary">Setel ukuran default kata sandi yang dihasilkan</string>
<string name="password_size_title">Ukuran kata sandi yang dihasilkan</string>
<string name="database_data_remove_unlinked_attachments_summary">Menghapus lampiran yang terdapat dalam database tetapi tidak ditautkan ke entri</string>
<string name="database_data_remove_unlinked_attachments_summary">Menghapus lampiran yang terdapat dalam basis data tetapi tidak ditautkan ke entri</string>
<string name="database_data_remove_unlinked_attachments_title">Hapus data yang tidak tertaut</string>
<string name="database_data_compression_summary">Kompresi data mengurangi ukuran database</string>
<string name="database_data_compression_summary">Kompresi data mengurangi ukuran basis data</string>
<string name="database_data_compression_title">Kompresi data</string>
<string name="data">Data</string>
<string name="assign_master_key">Tetapkan kunci master</string>
@@ -296,7 +296,7 @@
<string name="unit_kibibyte">KiB</string>
<string name="unit_byte">B</string>
<string name="show_uuid_summary">Tampilkan UUID yang ditautkan ke entri atau grup</string>
<string name="warning_password_encoding">Hindari karakter kata sandi di luar format pengkodean teks dalam file database (karakter yang tidak dikenal dikonversi ke huruf yang sama).</string>
<string name="warning_password_encoding">Hindari karakter kata sandi di luar format pengkodean teks dalam file basis data (karakter yang tidak dikenal dikonversi ke huruf yang sama).</string>
<string name="uppercase">Huruf besar</string>
<string name="sort_creation_time">Penciptaan</string>
<string name="sort_ascending">Terendah pertama ↓</string>
@@ -309,11 +309,11 @@
<string name="registration_mode">Mode pendaftaran</string>
<string name="save_mode">Mode simpan</string>
<string name="search_mode">Mode pencarian</string>
<string name="menu_keystore_remove_key">Hapus pembuka kunci lanjutan</string>
<string name="menu_keystore_remove_key">Menghapus kunci buka kunci perangkat</string>
<string name="menu_reload_database">Muat ulang data</string>
<string name="error_database_uri_null">URI database tidak dapat diambil.</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 database read-only</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>
@@ -328,17 +328,17 @@
<string name="autofill_save_search_info_summary">Cobalah untuk menyimpan informasi pencarian saat membuat pilihan entri manual untuk penggunaan mudah di waktu mendatang</string>
<string name="autofill_save_search_info_title">Simpan info pencarian</string>
<string name="autofill_inline_suggestions_title">Saran sebaris</string>
<string name="autofill_close_database_summary">Menutup database setelah pilihan isi-auto</string>
<string name="autofill_close_database_title">Tutup database</string>
<string name="autofill_close_database_summary">Tutup basis data setelah pengisian otomatis pada pilihan</string>
<string name="autofill_close_database_title">Tutup basis data</string>
<string name="enter">Enter</string>
<string name="backspace">Hapus</string>
<string name="select_entry">Pilih entri</string>
<string name="back_to_previous_keyboard">Kembali ke papan tik sebelumnya</string>
<string name="custom_fields">Bidang kustom</string>
<string name="keyboard_previous_lock_title">Kunci database</string>
<string name="keyboard_previous_lock_title">Kunci basis data</string>
<string name="keyboard_auto_go_action_title">Aksi tombol otomatis</string>
<string name="keyboard_keys_category">Tombol</string>
<string name="keyboard_previous_database_credentials_title">Layar kredensial database</string>
<string name="keyboard_previous_database_credentials_title">Layar kredensial basis data</string>
<string name="keyboard_change">Ganti papan tik</string>
<string name="keyboard_key_sound_title">Tombol terdengar</string>
<string name="keyboard_key_vibrate_title">Getar saat menekan tombol</string>
@@ -350,7 +350,7 @@
<string name="keyboard_notification_entry_content_title_text">Entri</string>
<string name="keyboard_entry_timeout_summary">Waktu habis untuk menghapus entri papan tik</string>
<string name="keyboard_entry_timeout_title">Waktu habis</string>
<string name="keyboard_notification_entry_clear_close_summary">Tutup database saat menutup notifikasi</string>
<string name="keyboard_notification_entry_clear_close_summary">Tutup basis data saat menutup notifikasi</string>
<string name="keyboard_notification_entry_clear_close_title">Bersihkan saat menutup</string>
<string name="keyboard_notification_entry_summary">Tampilkan notifikasi ketika entri tersedia</string>
<string name="keyboard_notification_entry_title">Info notifikasi</string>
@@ -390,10 +390,10 @@
<string name="education_field_copy_title">Salin bidang</string>
<string name="education_setup_OTP_title">Atur OTP</string>
<string name="education_donation_title">Partisipasi</string>
<string name="advanced_unlock_prompt_extract_credential_title">Buka basis data dengan pengenalan pembuka kunci tingkat lanjut</string>
<string name="advanced_unlock_prompt_store_credential_message">Anda tetap harus mengingat kata sandi utama Anda jika Anda menggunakan pengenalan pembukaan kunci tingkat lanjut.</string>
<string name="advanced_unlock_prompt_extract_credential_title">Pengenalan pembuka kunci perangkat</string>
<string name="advanced_unlock_prompt_store_credential_message">Anda masih perlu mengingat kredensial utama vault Anda jika Anda menggunakan pengenalan kunci perangkat.</string>
<string name="warning_database_revoked">Akses ke berkas dicabut oleh pengelola berkas, tutup basis data dan buka kembali dari lokasi tempatnya.</string>
<string name="warning_database_info_changed_options">Gabungkan data, timpa perubahan dengan cara menyimpan database atau muat ulang dengan perubahan terbaru.</string>
<string name="warning_database_info_changed_options">Gabungkan data, timpa perubahan dengan cara menyimpan basis data atau muat ulang dengan perubahan terbaru.</string>
<string name="warning_database_info_changed">Informasi yang tersimpan di berkas basis data Anda sudah diubah di luar aplikasi.</string>
<string name="warning_no_encryption_key">Lanjut tanpa kunci enkripsi\?</string>
<string name="warning_empty_password">Lanjut tanpa proteksi buka kunci dengan kata sandi\?</string>
@@ -414,11 +414,11 @@
<string name="device_credential_unlock_enable_title">Membuka kredensial perangkat</string>
<string name="biometric_unlock_enable_summary">Memperbolehkan Anda memindai biometrik Anda untuk membuka basis data</string>
<string name="biometric_unlock_enable_title">Membuka kunci biometrik</string>
<string name="advanced_unlock_explanation_summary">Gunakan buka kunci lanjutan untuk membuka database dengan lebih mudah</string>
<string name="unavailable">Basis data ini belum menyimpan kredensial.</string>
<string name="advanced_unlock_not_recognized">Tidak dapat mengenali cetakan buka kunci lanjutan</string>
<string name="advanced_unlock_invalid_key">Tidak dapat membaca kunci pembuka lanjutan. Harap hapus dan ulangi prosedur pengenalan buka kunci.</string>
<string name="advanced_unlock_prompt_extract_credential_message">Ekstrak kredensial basis data dengan pembuka kunci data lanjutan</string>
<string name="advanced_unlock_explanation_summary">Gunakan buka kunci perangkat untuk membuka basis data dengan lebih mudah</string>
<string name="unavailable">Tidak tersedia</string>
<string name="advanced_unlock_not_recognized">Tidak dapat mengenali cetakan buka kunci perangkat</string>
<string name="advanced_unlock_invalid_key">Tidak dapat membaca kunci pembuka perangkat. Harap hapus dan ulangi prosedur pengenalan buka kunci.</string>
<string name="advanced_unlock_prompt_extract_credential_message">Ekstrak kredensial basis data dengan pembuka kunci data perangkat</string>
<string name="error_word_reserved">Kata ini telah dipakai dan tidak bisa digunakan.</string>
<string name="credential_before_click_advanced_unlock_button">Ketik kata sandi, lalu klik tombol ini.</string>
<string name="autofill_service_name">Isi formulir KeePassDX otomatis</string>
@@ -461,14 +461,14 @@
<string name="menu_external_icon">Ikon eksternal</string>
<string name="holder">Penyangga</string>
<string name="autofill_select_entry">Pilih entri…</string>
<string name="biometric_auto_open_prompt_summary">Secara otomatis meminta buka kunci lanjutan jika basis data diatur menggunakan itu</string>
<string name="temp_advanced_unlock_enable_title">Buka kunci lanjutan sementara</string>
<string name="temp_advanced_unlock_enable_summary">Jangan simpan konten terenkripsi apa pun untuk menggunakan buka kunci lanjutan</string>
<string name="temp_advanced_unlock_timeout_summary">Durasi penggunaan buka kunci lanjutan sebelum menghapus konten tersebut</string>
<string name="advanced_unlock_timeout">Batas waktu membuka kunci lanjutan</string>
<string name="advanced_unlock_delete_all_key_warning">Hapus semua kunci enkripsi yang terkait pengenalan buka kunci lanjutan\?</string>
<string name="biometric_auto_open_prompt_summary">Secara otomatis meminta buka kunci perangkat jika basis data diatur menggunakan itu</string>
<string name="temp_advanced_unlock_enable_title">Buka kunci perangkat sementara</string>
<string name="temp_advanced_unlock_enable_summary">Jangan simpan konten terenkripsi apa pun untuk menggunakan buka kunci perangkat</string>
<string name="temp_advanced_unlock_timeout_summary">Durasi penggunaan buka kunci perangkat sebelum menghapus konten tersebut</string>
<string name="advanced_unlock_timeout">Batas waktu membuka kunci perangkat</string>
<string name="advanced_unlock_delete_all_key_warning">Hapus semua kunci enkripsi yang terkait pengenalan buka kunci perangkat\?</string>
<string name="templates_group_enable_title">Penggunaan templat</string>
<string name="biometric_delete_all_key_summary">Hapus semua kunci enkripsi yang terkait pengenalan buka kunci lanjutan</string>
<string name="biometric_delete_all_key_summary">Hapus semua kunci enkripsi yang terkait pengenalan buka kunci perangkat</string>
<string name="max_history_items_summary">Batasi jumlah item riwayat per entri</string>
<string name="template_group_name">Templat</string>
<string name="date_of_issue">Tanggal diterbitkan</string>
@@ -480,7 +480,7 @@
<string name="max_history_size_summary">Batasi ukuran riwayat per entri</string>
<string name="max_history_size_title">Ukuran maksimum</string>
<string name="biometric_delete_all_key_title">Hapus kunci enkripsi</string>
<string name="temp_advanced_unlock_timeout_title">Kedaluwarsa pembuka kunci lanjutan</string>
<string name="temp_advanced_unlock_timeout_title">Kedaluwarsa pembuka kunci perangkat</string>
<string name="templates_group_enable_summary">Gunakan templat dinamis untuk mengisi bidang entri</string>
<string name="education_read_only_summary">Ubah mode pembuka untuk sesi.
\n
@@ -526,7 +526,7 @@
<string name="html_text_dev_feature_buy_pro">Dengan membeli versi &lt;strong&gt;pro&lt;/strong&gt;,</string>
<string name="content_description_database_color">Warna basis data</string>
<string name="menu_merge_database">Gabung data</string>
<string name="warning_database_info_reloaded">Memuat ulang database akan menghapus data yang diubah secara lokal.</string>
<string name="warning_database_info_reloaded">Memuat ulang basis data akan menghapus data yang diubah secara lokal.</string>
<string name="warning_keyfile_integrity">Hash file tidak dijamin karena Android dapat mengubah datanya dengan cepat. Ubah ekstensi file menjadi .bin untuk integritas yang benar.</string>
<string name="content_description_entry_foreground_color">Warna latar depan entri</string>
<string name="content_description_entry_background_color">Warna latar belakang entri</string>
@@ -562,7 +562,7 @@
\n
\nGrup (~folder) mengatur entri dalam basis data Anda.</string>
<string name="education_search_summary">Masukkan judul, nama pengguna atau konten bidang lain untuk mengambil kata sandi Anda.</string>
<string name="education_advanced_unlock_title">Pembukaan kunci basis data tingkat lanjut</string>
<string name="education_advanced_unlock_title">Pembukaan kunci basis data perangkat</string>
<string name="education_advanced_unlock_summary">Tautkan kata sandi Anda ke kredensial biometrik atau perangkat yang dipindai untuk membuka kunci basis data Anda dengan cepat.</string>
<string name="education_entry_new_field_title">Tambahkan bidang kustom</string>
<string name="education_entry_new_field_summary">Daftarkan bidang tambahan, tambahkan nilai, dan lindungi secara opsional.</string>
@@ -582,11 +582,11 @@
<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 lanjutan: %1$s</string>
<string name="advanced_unlock_prompt_not_initialized">Tidak dapat menginisialisasi prompt buka kunci tingkat lanjut.</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>
<string name="keyboard_previous_fill_in_title">Tindakan tombol otomatis</string>
<string name="keyboard_previous_fill_in_title">Ganti kembali</string>
<string name="keyboard_previous_lock_summary">Secara otomatis beralih kembali ke keyboard sebelumnya setelah mengunci basis data</string>
<string name="autofill_inline_suggestions_summary">Coba tampilkan saran pengisian otomatis langsung dari keyboard yang kompatibel</string>
<string name="enable_education_screens_title">Petunjuk pendidikan</string>
@@ -616,10 +616,10 @@
\n
\nBergantung pada implementasi API asli dari sistem operasi, mungkin tidak berfungsi penuh.
\nPeriksa kompatibilitas dan keamanan KeyStore dengan produsen perangkat Anda dan pembuat ROM yang Anda gunakan.</string>
<string name="education_read_only_title">Lindungi database Anda dari penulisan</string>
<string name="education_read_only_title">Lindungi basis data Anda dari penulisan</string>
<string name="keyboard_save_search_info_summary">Coba simpan informasi terbagi ketika membuat sebuah pilihan entri manual untuk penggunaan mudah di waktu mendatang</string>
<string name="enable_read_only_title">Terlindungi-tulis</string>
<string name="enable_keep_screen_on_summary">Jaga layar tetap menyala saat melihat entri</string>
<string name="enable_keep_screen_on_summary">Jaga layar tetap menyala saat melihat atau menyunting sebuah entri</string>
<string name="content_description_hardware_key_checkbox">Kotak centang kunci perangkat keras</string>
<string name="waiting_challenge_request">Menunggu untuk permintaan tantangan…</string>
<string name="waiting_challenge_response">Menunggu untuk tanggapan tantangan…</string>
@@ -645,4 +645,25 @@
<string name="content_description_nav_header">Tajuk navigasi</string>
<string name="auto_type">Ketik Otomatis</string>
<string name="merge_success">Penggabungan berhasil dilakukan</string>
<string name="info">Info</string>
<string name="menu_app_settings_summary">Cari, kunci, riwayat, properti</string>
<string name="menu_form_filling_settings_summary">Papan ketik, isi otomatis, papan klip</string>
<string name="menu_advanced_unlock_settings_summary">Biometri, kredensial perangkat</string>
<string name="menu_database_settings_summary">Metadata, tempat sampah, templat, riwayat</string>
<string name="menu_security_settings_summary">Enkripsi, fungsi derivasi kunci</string>
<string name="master_key_settings_summary">Perubahan, pembaruan</string>
<string name="warning_database_notification_permission">Izin notifikasi memungkinkan Anda untuk menampilkan status basis data dan menguncinya dengan tombol yang mudah diakses.
\n
\nJika Anda tidak mengaktifkan, basis data yang terbuka di latar belakang tidak akan terlihat jika ada aplikasi lain di latar depan.</string>
<string name="warning_copy_permission">Izin pemberitahuan diperlukan untuk menggunakan fitur pemberitahuan papan klip.</string>
<string name="ask">Tanya</string>
<string name="configure">Atur</string>
<string name="later">Nanti</string>
<string name="unlock_and_link_biometric">Tautan buka kunci perangkat</string>
<string name="education_validate_entry_summary">Ingat untuk memvalidasi entri Anda dan simpan basis data Anda.
\n
\nJika penguncian otomatis diaktifkan dan Anda lupa bahwa Anda sedang membuat perubahan, Anda berisiko kehilangan data Anda.</string>
<string name="menu_appearance_settings_summary">Tema, warna, atribut</string>
<string name="unlock">Buka kunci</string>
<string name="education_validate_entry_title">Validasi entri</string>
</resources>

View File

@@ -26,7 +26,7 @@
<string name="add_entry">Aggiungi elemento</string>
<string name="add_group">Aggiungi gruppo</string>
<string name="encryption_algorithm">Algoritmo di cifratura</string>
<string name="app_timeout">Timeout</string>
<string name="app_timeout">Scadenza</string>
<string name="app_timeout_summary">Tempo di inattività prima del blocco del database</string>
<string name="application">App</string>
<string name="menu_app_settings">Impostazioni app</string>
@@ -47,7 +47,7 @@
<string name="html_about_licence">KeePassDX © %1$d Kunzisoft è un programma &lt;strong&gt;open-source&lt;/strong&gt; e &lt;strong&gt;senza pubblicità&lt;/strong&gt;.
\nViene distribuito sotto le condizioni della licenza &lt;strong&gt;GPL versione 3&lt;/strong&gt; o successiva, senza alcuna garanzia.</string>
<string name="entry_notes">Note</string>
<string name="select_database_file">Apri un database esistente</string>
<string name="select_database_file">Apri una cassaforte esistente</string>
<string name="entry_accessed">Ultimo accesso</string>
<string name="entry_cancel">Annulla</string>
<string name="entry_confpassword">Conferma password</string>
@@ -134,7 +134,7 @@
<string name="warning_password_encoding">Evita password con caratteri al di fuori del formato di codifica del testo nel file del database (i caratteri non riconosciuti vengono convertiti nella stessa lettera).</string>
<string name="version_label">Versione %1$s</string>
<string name="encrypted_value_stored">Password criptata salvata</string>
<string name="unavailable">Questo database non contiene alcuna credenziale.</string>
<string name="unavailable">Non disponibile</string>
<string name="education_unlock_summary">Inserisci la password e/o il file chiave per sbloccare il database.
\n
\nEseguire il backup del file del database in un luogo sicuro dopo ogni modifica.</string>
@@ -192,18 +192,18 @@
<string name="lock">Blocca</string>
<string name="lock_database_screen_off_title">Blocco schermo</string>
<string name="lock_database_screen_off_summary">Blocca il database dopo alcuni secondi quando lo schermo è spento</string>
<string name="advanced_unlock">Impronta digitale</string>
<string name="advanced_unlock">Sblocco con dispositivo</string>
<string name="biometric_unlock_enable_title">Scansione biometrica</string>
<string name="biometric_unlock_enable_summary">Consente la scansione biometrica per aprire il database</string>
<string name="biometric_delete_all_key_title">Elimina chiavi di cifratura</string>
<string name="biometric_delete_all_key_summary">Elimina tutte le chiavi di cifratura relative allo sblocco avanzato</string>
<string name="biometric_delete_all_key_summary">Elimina tutte le chiavi di crittografia relative allo sblocco con dispositivo</string>
<string name="unavailable_feature_text">Impossibile avviare questa funzione.</string>
<string name="unavailable_feature_version">Il dispositivo usa Android %1$s, ma richiede %2$s o versioni successive.</string>
<string name="unavailable_feature_hardware">L\'hardware relativo non è stato trovato.</string>
<string name="file_name">Nome del file</string>
<string name="path">Percorso</string>
<string name="assign_master_key">Assegna una chiave master</string>
<string name="create_keepass_file">Crea un nuovo database</string>
<string name="create_keepass_file">Crea una nuova cassaforte</string>
<string name="recycle_bin_title">Utilizzo del Cestino</string>
<string name="recycle_bin_summary">Sposta i gruppi e le voci nel gruppo «Cestino» prima di eliminarli</string>
<string name="monospace_font_fields_enable_title">Carattere campi</string>
@@ -285,7 +285,7 @@
<string name="list_entries_show_username_title">Mostra nomi utente</string>
<string name="list_entries_show_username_summary">Mostra i nomi utente negli elenchi</string>
<string name="clipboard">Appunti</string>
<string name="build_label">Build %1$s</string>
<string name="build_label">Versione %1$s</string>
<string name="keyboard_name">Magitastiera</string>
<string name="keyboard_label">Magitastiera (KeePassDX)</string>
<string name="keyboard_setting_label">Impostazioni Magitastiera</string>
@@ -339,7 +339,7 @@
<string name="content_description_background">Sfondo</string>
<string name="entry_UUID">Identificativo univoco universale</string>
<string name="error_create_database_file">Impossibile creare un database con questa password e file chiave.</string>
<string name="menu_advanced_unlock_settings">Sblocco avanzato</string>
<string name="menu_advanced_unlock_settings">Sblocco con dispositivo</string>
<string name="entry_history">Cronologia</string>
<string name="entry_setup_otp">Imposta password usa e getta</string>
<string name="otp_type">Tipo di OTP</string>
@@ -398,8 +398,8 @@
<string name="recycle_bin_group_title">Gruppo cestino</string>
<string name="database_data_compression_summary">La compressione dei dati riduce le dimensioni del database</string>
<string name="database_data_compression_title">Compressione dati</string>
<string name="biometric_auto_open_prompt_summary">Richiedi automaticamente lo sblocco avanzato se il database è impostato per usarlo</string>
<string name="advanced_unlock_explanation_summary">Utilizza lo sblocco avanzato per aprire il database più facilmente</string>
<string name="biometric_auto_open_prompt_summary">Richiedi automaticamente lo sblocco con dispositivo se il database è impostato per usarlo</string>
<string name="advanced_unlock_explanation_summary">Utilizza lo sblocco con dispositivo per aprire un database più facilmente</string>
<string name="clipboard_explanation_summary">Copia i campi di immissione utilizzando gli appunti del tuo dispositivo</string>
<string name="database_opened">Database aperto</string>
<string name="biometric">Biometrico</string>
@@ -448,7 +448,7 @@
<string name="subdomain_search_title">Ricerca per sotto-dominio</string>
<string name="content_description_add_item">Aggiungi elemento</string>
<string name="keyboard_previous_fill_in_summary">Torna automaticamente alla tastiera precedente quando si esegue l\'azione del tasto automatico</string>
<string name="keyboard_previous_fill_in_title">Azione tasto automatico</string>
<string name="keyboard_previous_fill_in_title">Torna indietro</string>
<string name="keyboard_previous_database_credentials_summary">Torna automaticamente alla tastiera precedente nella schermata credenziali del database</string>
<string name="keyboard_previous_database_credentials_title">Schermata credenziali del database</string>
<string name="keyboard_change">Cambia tastiera</string>
@@ -478,7 +478,7 @@
<string name="autofill_close_database_summary">Chiudi il database dopo aver usato l\'autocompletamento</string>
<string name="autofill_close_database_title">Chiudi database</string>
<string name="keyboard_previous_lock_summary">Torna automaticamente alla tastiera precedente dopo aver bloccato il database</string>
<string name="keyboard_previous_lock_title">Blocca il database</string>
<string name="keyboard_previous_lock_title">Blocca database</string>
<string name="keyboard_save_search_info_summary">Provare a salvare l\'informazione condivisa quando viene selezionato manualmente un elemento, per poterne facilitare gli utilizzi futuri</string>
<string name="keyboard_save_search_info_title">Salva le informazioni condivise</string>
<string name="notification">Notifica</string>
@@ -491,33 +491,33 @@
<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 avanzato del database</string>
<string name="education_advanced_unlock_title">Sblocco del database con dispositivo</string>
<string name="enter">Invio</string>
<string name="backspace">Backspace</string>
<string name="select_entry">Seleziona voce</string>
<string name="back_to_previous_keyboard">Torna alla tasitera precedente</string>
<string name="custom_fields">Campi personalizzati</string>
<string name="advanced_unlock_delete_all_key_warning">Vuoi eliminare le chiavi di cifratura relative allo sblocco avanzato\?</string>
<string name="advanced_unlock_timeout">Durata dello sblocco avanzato</string>
<string name="temp_advanced_unlock_enable_summary">Non salvare alcun contenuto criptato per usare lo sblocco avanzato</string>
<string name="temp_advanced_unlock_timeout_summary">Validità dello sblocco avanzato prima di eliminarne il contenuto</string>
<string name="temp_advanced_unlock_timeout_title">Scadenza dello sblocco avanzato</string>
<string name="temp_advanced_unlock_enable_title">Sblocco avanzato temporaneo</string>
<string name="advanced_unlock_delete_all_key_warning">Vuoi eliminare tutte le chiavi di crittografia relative allo sblocco con dispositivo\?</string>
<string name="advanced_unlock_timeout">Scadenza dello sblocco con dispositivo</string>
<string name="temp_advanced_unlock_enable_summary">Non salvare alcun contenuto cifrato per usare lo sblocco con dispositivo</string>
<string name="temp_advanced_unlock_timeout_summary">Validità dell\'uso dello sblocco con dispositivo prima di eliminarne il contenuto</string>
<string name="temp_advanced_unlock_timeout_title">Scadenza dello sblocco con dispositivo</string>
<string name="temp_advanced_unlock_enable_title">Sblocco con dispositivo temporaneo</string>
<string name="device_credential_unlock_enable_summary">Permette di usare le credenziali del dispositivo per sbloccare il database</string>
<string name="device_credential_unlock_enable_title">Sblocco con le credenziali del dispositivo</string>
<string name="advanced_unlock_tap_delete">Tocca per eliminare le chiavi di sblocco avanzato</string>
<string name="advanced_unlock_tap_delete">Tocca per eliminare le chiavi di sblocco con dispositivo</string>
<string name="content">Contenuto</string>
<string name="advanced_unlock_prompt_not_initialized">Non è possibile inizializzare lo sblocco avanzato.</string>
<string name="advanced_unlock_not_recognized">Non è possibile riconoscere lo sblocco avanzato</string>
<string name="advanced_unlock_invalid_key">Non è possibile leggere la chiave di sblocco avanzato. Eliminala e ripeti la procedura di riconoscimento dello sblocco.</string>
<string name="advanced_unlock_prompt_extract_credential_message">Estrai le credenziali del database con i dati dallo sblocco avanzato</string>
<string name="advanced_unlock_prompt_store_credential_message">Attenzione: dovrai comunque ricordare la password principale anche se usi lo sblocco avanzato.</string>
<string name="advanced_unlock_prompt_store_credential_title">Riconoscimento con sblocco avanzato</string>
<string name="advanced_unlock_prompt_not_initialized">Impossibile inizializzare la richiesta di sblocco con dispositivo.</string>
<string name="advanced_unlock_not_recognized">Non è stato possibile riconoscere l\'impronta di sblocco del dispositivo</string>
<string name="advanced_unlock_invalid_key">Non è possibile leggere la chiave di sblocco del dispositivo. Eliminala e ripeti la procedura di riconoscimento dello sblocco.</string>
<string name="advanced_unlock_prompt_extract_credential_message">Estrai le credenziali del database con i dati dello sblocco con dispositivo</string>
<string name="advanced_unlock_prompt_store_credential_message">Dovrai comunque ricordare la password principale della cassaforte anche se usi lo sblocco con dispositivo.</string>
<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 avanzato: %1$s</string>
<string name="advanced_unlock_prompt_extract_credential_title">Apri il database con lo sblocco avanzato</string>
<string name="menu_keystore_remove_key">Elimina chiave di sblocco avanzato</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>
<string name="error_database_uri_null">Non è stato recuperato l\'indirizzo del database.</string>
<string name="autofill_inline_suggestions_keyboard">Suggerimento di riempimento aggiunto.</string>
@@ -606,7 +606,7 @@
<string name="warning_database_info_reloaded">Ricaricare il database eliminerà i dati modificati in locale.</string>
<string name="warning_keyfile_integrity">L\'hash del file non è garantito perché Android può cambiare i suoi dati al volo. Cambia l\'estensione del file in .bin per una corretta integrità.</string>
<string name="enable_keep_screen_on_title">Tieni lo schermo acceso</string>
<string name="enable_keep_screen_on_summary">Tieni lo schermo acceso mentre si vede la voce</string>
<string name="enable_keep_screen_on_summary">Mantieni lo schermo acceso mentre guardi o modifichi un elemento</string>
<string name="show_entry_colors_title">Colori della voce</string>
<string name="show_entry_colors_summary">Mostra colori in evidenza e in secondo piano per una voce</string>
<string name="custom_data">Dati personalizzati</string>
@@ -626,7 +626,7 @@
<string name="passphrase">Frase di accesso</string>
<string name="colorize_password_title">Colora le password</string>
<string name="colorize_password_summary">Colora i tipi di carattere della password</string>
<string name="warning_database_already_opened">Un database è già aperto, chiuderlo prima di aprirne un altro</string>
<string name="warning_database_already_opened">Un database è già aperto, chiudilo prima di aprirne un altro</string>
<string name="auto_type_sequence">Sequenza di autodigitazione</string>
<string name="advanced_unlock_keystore_warning">Questa funzione memorizzerà le informazioni cifrate di accesso nel KeyStore protetto del dispositivo.
\n
@@ -670,4 +670,25 @@
<string name="html_about_privacy">&lt;strong&gt;Nessun dato dell\'utente viene prelevato&lt;/strong&gt;, questa applicazione non si connette ad alcun server, funziona solo in locale e rispetta pienamente la privacy degli utenti.</string>
<string name="auto_type">Auto-digita</string>
<string name="merge_success">Unione completata correttamente</string>
<string name="info">Info</string>
<string name="menu_app_settings_summary">Ricerca, blocco, cronologia, proprietà</string>
<string name="menu_form_filling_settings_summary">Tastiera, riempimento automatico, appunti</string>
<string name="menu_advanced_unlock_settings_summary">Biometria, credenziali del dispositivo</string>
<string name="menu_database_settings_summary">Metadati, cestino, modelli, cronologia</string>
<string name="menu_security_settings_summary">Crittografia, funzione di derivazione della chiave</string>
<string name="master_key_settings_summary">Cambio, rinnovo</string>
<string name="warning_copy_permission">L\'autorizzazione per le notifiche è necessaria per usare la funzione di notifica degli appunti.</string>
<string name="later">Dopo</string>
<string name="ask">Chiedi</string>
<string name="configure">Configura</string>
<string name="unlock_and_link_biometric">Collegamento sblocco con dispositivo</string>
<string name="menu_appearance_settings_summary">Temi, colori, attributi</string>
<string name="unlock">Sblocca</string>
<string name="education_validate_entry_title">Conferma la voce</string>
<string name="education_validate_entry_summary">Ricordati di confermare la voce e salvare il tuo database.
\n
\nSe un blocco automatico è attivo e ti dimentichi che stavi apportando una modifica, rischi di perdere i tuoi dati.</string>
<string name="warning_database_notification_permission">L\'autorizzazione per le notifiche ti permette di mostrare lo stato del database e bloccarlo con un pulsante facilmente accessibile.
\n
\nSe non attivi questa autorizzazione, il database aperto in secondo piano non sarà visibile se un\'altra applicazione è aperta in primo piano.</string>
</resources>

View File

@@ -0,0 +1,33 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="info">အချက်အလက်</string>
<string name="feedback">တုံ့ပြန်ချက်</string>
<string name="homepage">ပင်မစာမျက်နှာ</string>
<string name="accept">လက်ခံသည်</string>
<string name="add_entry">စကားဝှက်ထည့်မည်</string>
<string name="add_group">ဂရုထဲထည့်မည်</string>
<string name="master_key">မာစတာ ကီး</string>
<string name="security">လုံခြုံရေး</string>
<string name="encryption">ကုဒ်ဝှက်ခြင်း</string>
<string name="key_derivation_function">မာစတာကီးအား ကုဒ်ဝှက်ခြင်းလုပ်ဆောင်ချက်</string>
<string name="app_timeout">အချိန်ပြည့်</string>
<string name="application">အက်ပ်</string>
<string name="extended_ASCII">ထပ်တိုးထားသော အေအက်စ်စီအိုင်အိုင်</string>
<string name="allow">ခွင့်ပြုသည်</string>
<string name="clipboard_cleared">ကလစ်ဘုတ် ရှင်းလင်းပြီး</string>
<string name="clipboard_error_title">ကလစ်ဘုတ် အယ်ရာ</string>
<string name="clipboard_error">တချို့ဖုန်းတွေမှာ အက်ပ်တွေကို ကလစ်ဘုတ်အသုံးပြုခွင့်မပေးတာမျိုးရိှနိုင်ပါတယ်။</string>
<string name="content_description_open_file">ဖိုင်ဖွင့်မည်</string>
<string name="content_description_add_entry">ထည့်မည်</string>
<string name="contact">ဆက်သွယ်ရန်</string>
<string name="contribution">ပါဝင်အားဖြည့်မှု</string>
<string name="about_description">Android အတွက် KeePass စကားဝှက်မန်နေဂျာ</string>
<string name="encryption_algorithm">ကုဒ်ဝှက်ခြင်း အယ်ဂိုရီသမ်</string>
<string name="edit_entry">ပြုပြင်မည်</string>
<string name="app_timeout_summary">ဒေတာဘေ့စ်အား ဖွင့်ထားရန်ကြာချိန်</string>
<string name="file_manager_install_description">ဒေတာဘေ့ ဖန်တီးရန်၊ဖွင့်ရန်နှင့်သိမ်းဆည်းရန်အတွက် ACTION_CREATE_DOCUMENT နှင့် ACTION_OPEN_DOCUMENT လုပ်ဆောင်ချက်များပါဝင် သောဖိုင်မန်နေဂျာလိုအပ်ပါသည်။</string>
<string name="clipboard_error_clear">ကလစ်ဘုတ်ကို မရှင်းလင်းနိုင်ပါ</string>
<string name="clipboard_timeout">ကလစ်ဘုတ် သတ်မှတ်ချိန်ကုန်သွားသည်</string>
<string name="clipboard_timeout_summary">ကလစ်ဘုတ်ရှိ သိုလှောင်မှုကြာချိန် (သင့်ဖုန်းမှပံ့ပိုးပေးလျှင်)</string>
<string name="content_description_background">နောက်ခံ</string>
</resources>

View File

@@ -27,7 +27,7 @@
<string name="add_group">Groep toevoegen</string>
<string name="encryption_algorithm">Versleutelingsalgoritme</string>
<string name="app_timeout">Time-out</string>
<string name="app_timeout_summary">Inactieve tijd tot vergrendeling van de database</string>
<string name="app_timeout_summary">Inactieve tijd waarna de database vergrendeld wordt</string>
<string name="application">App</string>
<string name="menu_app_settings">App-instellingen</string>
<string name="brackets">Haakjes</string>
@@ -39,17 +39,17 @@
<string name="retrieving_db_key">Databasesleutel ophalen…</string>
<string name="database">Database</string>
<string name="decrypting_db">Database-inhoud decoderen …</string>
<string name="default_checkbox">Gebruiken als standaarddatabase</string>
<string name="digits">Getallen</string>
<string name="default_checkbox">Als standaarddatabase gebruiken</string>
<string name="digits">Cijfers</string>
<string name="html_about_licence">KeePassDX © %1$d Kunzisoft is &lt;strong&gt;open source&lt;/strong&gt; en &lt;strong&gt;zonder reclame&lt;/strong&gt;.
\nHet wordt geleverd zoals het is, onder &lt;strong&gt;GPLv3&lt;/strong&gt; -licentie, zonder enige garantie.</string>
<string name="select_database_file">Bestaande database openen</string>
<string name="select_database_file">Bestaande kluis openen</string>
<string name="entry_accessed">Laatst geopend</string>
<string name="entry_cancel">Annuleren</string>
<string name="entry_notes">Opmerkingen</string>
<string name="entry_notes">Notities</string>
<string name="entry_confpassword">Wachtwoord bevestigen</string>
<string name="entry_created">Aangemaakt</string>
<string name="entry_expires">Verloopt op</string>
<string name="entry_expires">Verloopt</string>
<string name="entry_keyfile">Sleutelbestand</string>
<string name="entry_modified">Bewerkt op</string>
<string name="entry_password">Wachtwoord</string>
@@ -61,11 +61,11 @@
<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_invalid_db">Kan de database niet uitlezen.</string>
<string name="error_invalid_path">Zorg ervoor dat het pad juist is.</string>
<string name="error_invalid_path">Zorg ervoor dat het pad correct is.</string>
<string name="error_no_name">Voer een naam in.</string>
<string name="error_nokeyfile">Kies een sleutelbestand.</string>
<string name="error_out_of_memory">Onvoldoende vrij geheugen om de gehele database te laden.</string>
<string name="error_pass_gen_type">Je moet minimaal één soort wachtwoordgenerering kiezen.</string>
<string name="error_pass_gen_type">Selecteer ten minste één type wachtwoordgeneratie.</string>
<string name="error_pass_match">De wachtwoorden komen niet overeen.</string>
<string name="error_rounds_too_large">\"Cycli-waarde\" te groot. Deze wordt ingesteld op 2147483648.</string>
<string name="error_wrong_length">Voer in het veld \"Lengte\" een positief geheel getal in.</string>
@@ -79,14 +79,14 @@
<string name="password">Wachtwoord</string>
<string name="hint_pass">Wachtwoord</string>
<string name="invalid_credentials">Kan referenties niet lezen.</string>
<string name="invalid_db_sig">Databaseformaat kan niet worden herkend.</string>
<string name="invalid_db_sig">Databaseformaat werd niet herkend.</string>
<string name="length">Lengte</string>
<string name="list_size_title">Lijstgrootte</string>
<string name="list_size_title">Grootte van lijstitems</string>
<string name="list_size_summary">Tekstgrootte in de itemslijst</string>
<string name="loading_database">Database laden…</string>
<string name="lowercase">Kleine letters</string>
<string name="hide_password_title">Wachtwoorden verbergen</string>
<string name="hide_password_summary">Wachtwoorden standaard maskeren (***)</string>
<string name="hide_password_summary">Wachtwoorden maskeren (***)</string>
<string name="about">Over</string>
<string name="menu_change_key_settings">Hoofdsleutel wijzigen</string>
<string name="settings">Instellingen</string>
@@ -99,7 +99,7 @@
<string name="menu_open">Openen</string>
<string name="menu_search">Zoeken</string>
<string name="menu_showpass">Wachtwoord tonen</string>
<string name="menu_url">Ga naar URL</string>
<string name="menu_url">URL openen</string>
<string name="minus">Minus</string>
<string name="never">Nooit</string>
<string name="no_results">Geen zoekresultaten</string>
@@ -108,10 +108,10 @@
<string name="progress_title">Bezig met verwerken…</string>
<string name="content_description_remove_from_list">Verwijderen</string>
<string name="root">Hoofdmap</string>
<string name="rounds">Encryptie-cycli</string>
<string name="rounds_explanation">Een hoger aantal encryptie-cycli geeft bijkomende bescherming tegen brute-force aanvallen, maar kan het laden en opslaan sterk vertragen.</string>
<string name="rounds">Versleutelingscycli</string>
<string name="rounds_explanation">Een hoger aantal versleutelingscycli geeft bijkomende bescherming tegen brute-force aanvallen, maar kan het laden en opslaan sterk vertragen.</string>
<string name="saving_database">Database opslaan…</string>
<string name="space">Ruimte</string>
<string name="space">Spatie</string>
<string name="sort_db">Natuurlijke volgorde</string>
<string name="special">Speciaal</string>
<string name="search">Zoeken</string>
@@ -132,17 +132,17 @@
<string name="key_derivation_function">Sleutelafleidingsfunctie</string>
<string name="extended_ASCII">Uitgebreide ASCII</string>
<string name="allow">Toestaan</string>
<string name="clipboard_error_title">Klembordfout</string>
<string name="clipboard_error_title">Fout met klembord</string>
<string name="clipboard_error">Sommige apparaten staan niet toe dat apps het klembord gebruiken.</string>
<string name="clipboard_error_clear">Klembord is niet gewist</string>
<string name="entry_not_found">Geen iteminhoud gevonden.</string>
<string name="entry_not_found">Geen itemgegevens gevonden.</string>
<string name="error_load_database">De database is niet geladen.</string>
<string name="error_load_database_KDF_memory">De sleutel kan niet worden geladen. Probeer om het \"geheugengebruik\" van KDF te verminderen.</string>
<string name="error_string_key">Elke zin moet een veldnaam bevatten.</string>
<string name="error_autofill_enable_service">De dienst automatisch aanvullen kan niet worden ingeschakeld.</string>
<string name="field_name">Veldnaam</string>
<string name="field_value">Veldwaarde</string>
<string name="file_not_found_content">Bestand niet gevonden. Probeer opnieuw te openen via bestandsbeheer.</string>
<string name="file_not_found_content">Bestand niet gevonden. Probeer het opnieuw te openen via bestandsbeheer.</string>
<string name="invalid_algorithm">Ongeldig algoritme.</string>
<string name="keyfile_is_empty">Het sleutelbestand is leeg.</string>
<string name="list_entries_show_username_title">Gebruikersnamen tonen</string>
@@ -159,7 +159,7 @@
<string name="read_only">Alleen-lezen</string>
<string name="read_only_warning">KeePassDX moet worden gemachtigd om je databank te kunnen aanpassen.</string>
<string name="show_recent_files_title">Bestandsgeschiedenis</string>
<string name="show_recent_files_summary">Toon locaties van recente databases</string>
<string name="show_recent_files_summary">Locaties van recente databases tonen</string>
<string name="encryption_explanation">Database-versleutelingsalgoritme voor alle gegevens</string>
<string name="kdf_explanation">Om de sleutel voor het algoritme te kunnen genereren, wordt de hoofdsleutel getransformeerd middels een willekeurige afleidingsfunctie.</string>
<string name="memory_usage">Geheugengebruik</string>
@@ -167,20 +167,20 @@
<string name="parallelism">Parallellen</string>
<string name="parallelism_explanation">Het aantal parallellen (aantal threads) dat de afleidingsfunctie mag gebruiken.</string>
<string name="sort_menu">Sorteren</string>
<string name="sort_ascending">Laagste eerst</string>
<string name="sort_groups_before">Groepen vooraan plaatsen</string>
<string name="sort_ascending">Oplopend</string>
<string name="sort_groups_before">Groepen bovenaan</string>
<string name="sort_recycle_bin_bottom">Prullenbak onderaan</string>
<string name="sort_title">Titel</string>
<string name="sort_username">Gebruikersnaam</string>
<string name="sort_creation_time">Gecreëerd op</string>
<string name="sort_last_modify_time">Aangepast om</string>
<string name="sort_last_access_time">Geopend om</string>
<string name="sort_creation_time">Aanmaakdatum</string>
<string name="sort_last_modify_time">Aangepast op</string>
<string name="sort_last_access_time">Geopend op</string>
<string name="warning">Waarschuwing</string>
<string name="warning_password_encoding">Vermijd wachtwoordtekens buiten het tekstcoderingsformaat in het databasebestand (niet-herkende tekens worden geconverteerd naar dezelfde letter).</string>
<string name="warning_empty_password">Doorgaan zonder beveiliging voor wachtwoordontgrendeling\?</string>
<string name="warning_no_encryption_key">Doorgaan zonder coderingssleutel\?</string>
<string name="encrypted_value_stored">Versleuteld wachtwoord is opgeslagen</string>
<string name="unavailable">Deze database heeft nog geen opgeslagen gegevens.</string>
<string name="unavailable">Niet beschikbaar</string>
<string name="database_history">Geschiedenis</string>
<string name="menu_appearance_settings">Uiterlijk</string>
<string name="general">Algemeen</string>
@@ -200,22 +200,22 @@
<string name="lock">Vergrendelen</string>
<string name="lock_database_screen_off_title">Schermvergrendeling</string>
<string name="lock_database_screen_off_summary">Vergrendel de database een paar seconden nadat het scherm is uitgeschakeld</string>
<string name="advanced_unlock">Geavanceerd ontgrendelen</string>
<string name="advanced_unlock">Apparaat ontgrendelen</string>
<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 geavanceerde ontgrendelingsherkenning verwijderen</string>
<string name="biometric_delete_all_key_summary">Alle coderingssleutels met betrekking tot apparaat-ontgrendelingsherkenning 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>
<string name="file_name">Bestandsnaam</string>
<string name="path">Pad</string>
<string name="assign_master_key">Hoofdsleutel toewijzen</string>
<string name="create_keepass_file">Nieuwe database aanmaken</string>
<string name="create_keepass_file">Nieuwe kluis aanmaken</string>
<string name="recycle_bin_title">Prullenbak gebruiken</string>
<string name="recycle_bin_summary">Verplaatst groepen en items naar \"Prullenbak\" voordat ze worden verwijderd</string>
<string name="monospace_font_fields_enable_title">Veldlettertype</string>
<string name="monospace_font_fields_enable_summary">Wijzig het lettertype dat in velden wordt gebruikt voor een betere leesbaarheid</string>
<string name="monospace_font_fields_enable_summary">Het lettertype aanpassen voor een betere leesbaarheid</string>
<string name="allow_copy_password_title">Klembord vertrouwen</string>
<string name="allow_copy_password_summary">Toestaan dat het wachtwoord en beveiligde velden naar het klembord worden gekopieerd</string>
<string name="allow_copy_password_warning">Waarschuwing: Het klembord wordt met alle aps gedeeld. Als gevoelige gegevens worden gekopieerd, kan andere software deze opvragen.</string>
@@ -310,7 +310,7 @@
<string name="lock_database_back_root_title">Druk \'Terug\' om te vergrendelen</string>
<string name="lock_database_back_root_summary">Vergrendel de database wanneer de gebruiker in het hoofdscherm op de knop Terug klikt</string>
<string name="clear_clipboard_notification_title">Wissen bij afsluiten</string>
<string name="clear_clipboard_notification_summary">Vergrendel de database wanneer de duur van het klembord verloopt of de melding wordt gesloten nadat u deze bent gaan gebruiken</string>
<string name="clear_clipboard_notification_summary">Vergrendel de database wanneer het klembord verlopen is of wanneer de melding wordt gesloten nadat u deze hebt gebruikt</string>
<string name="recycle_bin">Prullenbak</string>
<string name="keyboard_selection_entry_title">Itemselectie</string>
<string name="keyboard_selection_entry_summary">Vul, bij het bekijken van een item in KeePassDX, Magikeyboard met dat item</string>
@@ -331,18 +331,18 @@
<string name="entry_add_field">Veld toevoegen</string>
<string name="content_description_remove_field">Veld verwijderen</string>
<string name="entry_UUID">UUID</string>
<string name="error_move_entry_here">Je kan hier geen item plaatsen.</string>
<string name="error_copy_entry_here">Je kan hier geen item kopiëren.</string>
<string name="error_move_entry_here">Je kunt hier geen item plaatsen.</string>
<string name="error_copy_entry_here">Je kunt hier geen item kopiëren.</string>
<string name="list_groups_show_number_entries_title">Aantal items tonen</string>
<string name="list_groups_show_number_entries_summary">Toont het aantal items in een groep</string>
<string name="content_description_background">Achtergrond</string>
<string name="content_description_update_from_list">Update</string>
<string name="content_description_update_from_list">Bijwerken</string>
<string name="content_description_keyboard_close_fields">Velden sluiten</string>
<string name="error_create_database_file">Kan geen database aanmaken met dit wachtwoord en sleutelbestand.</string>
<string name="menu_advanced_unlock_settings">Geavanceerd ontgrendelen</string>
<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 geavanceerde ontgrendeling vragen als een database hiervoor is ingesteld</string>
<string name="biometric_auto_open_prompt_summary">Automatisch om apparaat-ontgrendeling vragen als een database hiervoor is ingesteld</string>
<string name="enable">Inschakelen</string>
<string name="disable">Uitschakelen</string>
<string name="master_key">Hoofdsleutel</string>
@@ -357,21 +357,21 @@
<string name="otp_algorithm">Algoritme</string>
<string name="entry_otp">OTP</string>
<string name="error_invalid_OTP">Ongeldig OTP-geheim.</string>
<string name="error_disallow_no_credentials">Er moet tenminste één referentie worden ingesteld.</string>
<string name="error_disallow_no_credentials">Stel tenminste één referentie in.</string>
<string name="error_copy_group_here">Je kunt hier geen groep kopiëren.</string>
<string name="error_otp_secret_key">Geheime sleutel moet in Base32-indeling zijn.</string>
<string name="error_otp_counter">Teller moet tussen %1$d en %2$d liggen.</string>
<string name="error_otp_period">De duur moet tussen %1$d en %2$d seconden liggen.</string>
<string name="error_otp_digits">Token moet %1$d tot %2$d cijfers bevatten.</string>
<string name="invalid_db_same_uuid">%1$s met dezelfde UUID %2$s bestaat al.</string>
<string name="creating_database">Database aanmaken </string>
<string name="creating_database">Database aanmaken…</string>
<string name="menu_security_settings">Beveiligingsinstellingen</string>
<string name="menu_master_key_settings">Instellingen hoofdsleutel</string>
<string name="contains_duplicate_uuid">De database bevat dubbele UUID\'s.</string>
<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">Geavanceerde ontgrendeling gebruiken om een database gemakkelijker te openen</string>
<string name="advanced_unlock_explanation_summary">Apparaat-ontgrendeling 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>
@@ -409,10 +409,10 @@
<string name="autofill_preference_title">Instellingen voor automatisch aanvullen</string>
<string name="keystore_not_accessible">De sleutelopslag is niet correct geïnitialiseerd.</string>
<string name="warning_permanently_delete_nodes">Geselecteerde knooppunten definitief verwijderen\?</string>
<string name="warning_database_link_revoked">Toegang tot het bestand ingetrokken door bestandsbeheer</string>
<string name="warning_database_link_revoked">Bestandsbeheer heeft de toegang tot het bestand ingetrokken</string>
<string name="warning_database_read_only">Bestandstoegang verlenen om databasewijzigingen op te slaan</string>
<string name="command_execution">Opdracht uitvoeren…</string>
<string name="hide_broken_locations_summary">Gebroken links in de lijst met recente databases verbergen</string>
<string name="hide_broken_locations_summary">Verbroken koppelingen in de lijst met recente databases verbergen</string>
<string name="hide_broken_locations_title">Verbroken databasekoppelingen verbergen</string>
<string name="remember_keyfile_locations_summary">Onthoud de locatie van databasesleutelbestanden</string>
<string name="remember_database_locations_summary">Onthoud de locatie van databases</string>
@@ -426,10 +426,10 @@
<string name="error_create_database">Databasebestand is niet aangemaakt.</string>
<string name="error_label_exists">Dit label bestaat al.</string>
<string name="entry_attachments">Bijlagen</string>
<string name="html_about_contribution">Om &lt;strong&gt;onze vrijheid te behouden&lt;/strong&gt;, &lt;strong&gt;bugs te verhelpen&lt;/strong&gt;, &lt;strong&gt;functies toe te voegen&lt;/strong&gt; en &lt;strong&gt;altijd actief te blijven&lt;/strong&gt;, rekenen wij op jouw &lt;strong&gt;bijdrage&lt;/strong&gt;.</string>
<string name="html_about_contribution">Om &lt;strong&gt;onze vrijheid te behouden&lt;/strong&gt;, &lt;strong&gt;fouten te verhelpen&lt;/strong&gt;, &lt;strong&gt;functies toe te voegen&lt;/strong&gt; en &lt;strong&gt;altijd actief te blijven&lt;/strong&gt;, rekenen wij op jouw &lt;strong&gt;bijdrage&lt;/strong&gt;.</string>
<string name="entry_add_attachment">Bijlage toevoegen</string>
<string name="discard">Weggooien</string>
<string name="discard_changes">Veranderingen ongedaan maken\?</string>
<string name="discard_changes">Wijzigingen weggooien\?</string>
<string name="validate">Valideren</string>
<string name="contribution">Donatie</string>
<string name="contact">Contact</string>
@@ -447,10 +447,10 @@
<string name="keyboard_auto_go_action_summary">\"Gaan\"-toetsactie na het indrukken van een \"Veld\"-toets</string>
<string name="keyboard_auto_go_action_title">Automatische toetsactie</string>
<string name="keyboard_previous_fill_in_summary">Schakel automatisch terug naar het vorige toetsenbord na het uitvoeren van de \"Automatische toetsactie\"</string>
<string name="keyboard_previous_fill_in_title">Automatische toetsactie</string>
<string name="keyboard_previous_fill_in_title">Terugzetten</string>
<string name="keyboard_previous_database_credentials_summary">Schakel automatisch terug naar het vorige toetsenbord op het databasereferentiescherm</string>
<string name="keyboard_previous_database_credentials_title">Scherm Databasereferenties</string>
<string name="keyboard_change">Van toetsenbord wisselen</string>
<string name="keyboard_change">Toetsenbord wisselen</string>
<string name="upload_attachment">Upload %1$s</string>
<string name="education_add_attachment_summary">Voeg een bijlage toe aan dit item om belangrijke externe gegevens op te slaan.</string>
<string name="education_add_attachment_title">Bijlage toevoegen</string>
@@ -458,7 +458,7 @@
<string name="warning_file_too_big">Een KeePass database is bedoeld om alleen kleine gebruiksbestanden te bevatten (zoals PGP sleutelbestanden).
\n
\nMet deze upload kan de database erg groot worden en kunnen de prestaties verminderen.</string>
<string name="warning_replace_file">Uploaden van dit bestand zal het bestaande bestand vervangen.</string>
<string name="warning_replace_file">De upload van dit bestand zal het bestaande bestand vervangen.</string>
<string name="content_description_credentials_information">Inloggegevens</string>
<string name="warning_remove_unlinked_attachment">Het verwijderen van niet-gekoppelde gegevens kan de omvang van uw database verkleinen, maar kan ook gegevens verwijderen die voor KeePass-plug-ins worden gebruikt.</string>
<string name="warning_sure_remove_data">Deze gegevens toch verwijderen\?</string>
@@ -489,33 +489,33 @@
<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="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">Geavanceerde database-ontgrendeling</string>
<string name="education_advanced_unlock_title">Apparaat-ontgrendeling database</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 geavanceerde ontgrendelingsherkenning verwijderen\?</string>
<string name="advanced_unlock_timeout">Time-out voor geavanceerd ontgrendelen</string>
<string name="temp_advanced_unlock_timeout_summary">Duur van geavanceerd ontgrendelingsgebruik voordat de inhoud wordt verwijderd</string>
<string name="temp_advanced_unlock_timeout_title">Vervaltijd voor geavanceerde ontgrendeling</string>
<string name="temp_advanced_unlock_enable_summary">Sla geen versleutelde inhoud op om geavanceerde ontgrendeling te gebruiken</string>
<string name="temp_advanced_unlock_enable_title">Tijdelijke geavanceerde ontgrendeling</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="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 geavanceerde ontgrendelingstoetsen te verwijderen</string>
<string name="advanced_unlock_tap_delete">Tik om apparaat-ontgrendelingssleutels 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 geavanceerde ontgrendelingsprompt niet initialiseren.</string>
<string name="advanced_unlock_scanning_error">Geavanceerde ontgrendelingsfout: %1$s</string>
<string name="advanced_unlock_not_recognized">Kan geavanceerde ontgrendelingsafdruk niet herkennen</string>
<string name="advanced_unlock_invalid_key">Kan de geavanceerde ontgrendelingssleutel niet lezen. Verwijder deze en herhaal de herkenningsprocedure voor het ontgrendelen.</string>
<string name="advanced_unlock_prompt_extract_credential_message">Databasegegevens uitpakken met geavanceerde ontgrendelingsgegevens</string>
<string name="advanced_unlock_prompt_extract_credential_title">Open database met geavanceerde ontgrendelingsherkenning</string>
<string name="advanced_unlock_prompt_store_credential_message">Je moet nog steeds je hoofdwachtwoord onthouden als je geavanceerde ontgrendelingsherkenning gebruikt.</string>
<string name="advanced_unlock_prompt_store_credential_title">Geavanceerde ontgrendelingsherkenning</string>
<string name="menu_keystore_remove_key">Geavanceerde ontgrendelingssleutel verwijderen</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="error_field_name_already_exists">De veldnaam bestaat al.</string>
<string name="unit_gibibyte">GiB</string>
<string name="unit_mebibyte">MiB</string>
@@ -526,7 +526,7 @@
<string name="autofill_inline_suggestions_summary">Probeer suggesties voor automatisch aanvullen rechtstreeks vanaf een compatibel toetsenbord weer te geven</string>
<string name="autofill_inline_suggestions_title">Inline suggesties</string>
<string name="warning_database_revoked">Toegang tot het bestand is ingetrokken door de bestandsbeheerder, sluit de database en open deze opnieuw vanaf de locatie.</string>
<string name="warning_database_info_changed_options">Voeg de gegevens samen, overschrijf de externe wijzigingen door de database op te slaan of herlaad deze met de laatste wijzigingen.</string>
<string name="warning_database_info_changed_options">De gegevens samenvoegen, de externe wijzigingen overschrijven door de database op te slaan of deze opnieuw te laden met de jongste wijzigingen.</string>
<string name="warning_database_info_changed">De informatie in het databasebestand is buiten de app gewijzigd.</string>
<string name="menu_reload_database">Gegevens opnieuw laden</string>
<string name="error_rebuild_list">Kan de lijst niet correct opnieuw opbouwen.</string>
@@ -539,18 +539,18 @@
<string name="error_remove_file">Er is een fout opgetreden bij het verwijderen van de bestandsgegevens.</string>
<string name="error_duplicate_file">De bestandsgegevens bestaan al.</string>
<string name="error_upload_file">Er is een fout opgetreden bij het uploaden van de bestandsgegevens.</string>
<string name="error_file_to_big">Het bestand dat je probeert te uploaden, is te groot.</string>
<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 tijdens het exporteren van app-eigenschappen</string>
<string name="success_export_app_properties">App-eigenschappen geëxporteerd</string>
<string name="error_import_app_properties">Fout tijdens het importeren van app-eigenschappen</string>
<string name="success_import_app_properties">App-eigenschappen geïmporteerd</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="success_import_app_properties">App-instellingen geïmporteerd</string>
<string name="description_app_properties">KeePassDX-eigenschappen om app-instellingen te beheren</string>
<string name="export_app_properties_summary">Maak een bestand om app-eigenschappen te exporteren</string>
<string name="export_app_properties_title">App-eigenschappen exporteren</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-eigenschappen te importeren</string>
<string name="import_app_properties_title">App-eigenschappen importeren</string>
<string name="import_app_properties_title">App-instellingen importeren</string>
<string name="error_start_database_action">Er is een fout opgetreden bij het uitvoeren van een actie op de database.</string>
<string name="error_move_group_here">Je kunt hier geen groep verplaatsen.</string>
<string name="error_word_reserved">Dit woord is gereserveerd en kan niet worden gebruikt.</string>
@@ -573,7 +573,7 @@
<string name="membership">Lidmaatschap</string>
<string name="secure_note">Veilige notitie</string>
<string name="international_bank_account_number">IBAN</string>
<string name="bank_identifier_code">SWIFT / BIC</string>
<string name="bank_identifier_code">SWIFT/BIC</string>
<string name="bank_name">Banknaam</string>
<string name="bank">Bank</string>
<string name="account">Rekening</string>
@@ -600,11 +600,11 @@
<string name="warning_database_info_reloaded">Door de database opnieuw te laden, worden de lokaal gewijzigde gegevens gewist.</string>
<string name="content_description_entry_foreground_color">Voorgrondkleur item</string>
<string name="menu_merge_database">Gegevens samenvoegen</string>
<string name="content_description_entry_background_color">Achtergrondkleur item</string>
<string name="content_description_entry_background_color">Achtergrondkleur van item</string>
<string name="tags">Labels</string>
<string name="warning_keyfile_integrity">Het controlegetal van het bestand is niet gegarandeerd omdat Android zijn gegevens direct kan wijzigen. Wijzig de bestandsextensie in .bin voor de juiste integriteit.</string>
<string name="enable_keep_screen_on_title">Houd het scherm aan</string>
<string name="enable_keep_screen_on_summary">Houd het scherm aan bij het bekijken van een item</string>
<string name="enable_keep_screen_on_summary">Houd het scherm aan bij het bekijken of bewerken van een item</string>
<string name="show_entry_colors_title">Itemkleuren</string>
<string name="show_entry_colors_summary">Toont items met voorgrond- en achtergrondkleuren</string>
<string name="wireless">Wi-Fi</string>
@@ -629,7 +629,7 @@
<string name="content_description_passphrase_word_count">Lengte wachtwoordzin</string>
<string name="passphrase">Wachtwoordzin</string>
<string name="colorize_password_title">Wachtwoorden kleuren</string>
<string name="colorize_password_summary">Wachtwoordtekens kleuren per type</string>
<string name="colorize_password_summary">Wachtwoordtekens per type kleuren</string>
<string name="keyboard_previous_search_title">Zoekvenster</string>
<string name="keyboard_previous_search_summary">Schakel in het zoekvenster automatisch terug naar het vorige toetsenbord</string>
<string name="entropy">Entropie: %1$s bit</string>
@@ -662,11 +662,32 @@
<string name="error_unable_merge_database_kdb">Samenvoegen vanuit database V1 niet mogelijk.</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">&lt;strong&gt; Er worden geen gebruikersgegevens opgehaald &lt;/strong&gt;, deze applicatie maakt geen verbinding met een server, werkt alleen lokaal en respecteert volledig de privacy van gebruikers.</string>
<string name="html_about_privacy">&lt;strong&gt;Er worden geen gebruikersgegevens opgehaald&lt;/strong&gt;, deze applicatie maakt geen verbinding met een server, werkt alleen lokaal en respecteert volledig de privacy van gebruikers.</string>
<string name="error_location_unknown">Locatie van database is onbekend, actie kan niet worden uitgevoerd.</string>
<string name="content_description_hardware_key_checkbox">Fysieke sleutel-selectievak</string>
<string name="waiting_challenge_request">In afwachting van de reactietest-vraag…</string>
<string name="waiting_challenge_response">In afwachting van het reactietest-antwoord…</string>
<string name="error_hardware_key_unsupported">Deze fysieke sleutel wordt niet ondersteund.</string>
<string name="merge_success">Samenvoeging met succes voltooid</string>
<string name="menu_advanced_unlock_settings_summary">Biometrie, apparaatreferenties</string>
<string name="menu_database_settings_summary">Metadata, prullenbak, sjablonen, geschiedenis</string>
<string name="master_key_settings_summary">Wijziging, vernieuwing</string>
<string name="warning_copy_permission">De meldingsrechten zijn nodig om de functie klembord-melding te gebruiken.</string>
<string name="later">Later</string>
<string name="ask">Vragen</string>
<string name="configure">Configureren</string>
<string name="menu_appearance_settings_summary">Thema\'s, kleuren, attributen</string>
<string name="menu_app_settings_summary">Zoeken, vergrendelen, geschiedenis, eigenschappen</string>
<string name="menu_form_filling_settings_summary">Toetsenbord, automatisch aanvullen, klembord</string>
<string name="info">Informatie</string>
<string name="menu_security_settings_summary">Versleuteling, sleutelafleidingsfunctie</string>
<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="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>
<string name="unlock">Ontgrendelen</string>
<string name="education_validate_entry_title">Invoer valideren</string>
</resources>

View File

@@ -39,7 +39,7 @@
<string name="decrypting_db">Odszyfrowywanie zawartości bazy danych…</string>
<string name="default_checkbox">Ustaw jako domyślną bazę danych</string>
<string name="digits">Cyfry</string>
<string name="select_database_file">Otwórz istniejącą bazę danych</string>
<string name="select_database_file">Otwórz istniejący sejf</string>
<string name="entry_accessed">Dostęp do pliku</string>
<string name="entry_cancel">Anuluj</string>
<string name="entry_notes">Notatki</string>
@@ -124,7 +124,7 @@
</string-array>
<string name="edit_entry">Edytuj wpis</string>
<string name="encryption">Szyfrowanie</string>
<string name="key_derivation_function">Funkcja generująca klucz</string>
<string name="key_derivation_function">Funkcja wyprowadzania klucza</string>
<string name="extended_ASCII">Rozszerzone ASCII</string>
<string name="allow">Zezwól</string>
<string name="clipboard_error_title">Błąd schowka</string>
@@ -171,12 +171,12 @@
<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_title">Tytuł</string>
<string name="warning_empty_password">Kontynuować bez ochrony odblokowującej hasło\?</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="unavailable">Baza danych nie ma jeszcze hasła.</string>
<string name="unavailable">Niedostępne</string>
<string name="database_history">Historia</string>
<string name="menu_appearance_settings">Wygląd</string>
<string name="general">Ogólne</string>
@@ -193,21 +193,21 @@
<string name="clipboard_notifications_title">Powiadomienia schowka</string>
<string name="clipboard_notifications_summary">Pokaż powiadomienia schowka, aby skopiować pola podczas przeglądania wpisu</string>
<string name="clipboard_warning">Jeśli automatyczne usuwanie schowka nie powiedzie się, ręcznie usuń jego historię.</string>
<string name="lock">Zablokuj bazę danych</string>
<string name="lock">Zablokuj</string>
<string name="lock_database_screen_off_title">Blokada ekranu</string>
<string name="lock_database_screen_off_summary">Zablokuj bazę danych po kilku sekundach od wyłączenia ekranu</string>
<string name="advanced_unlock">Zaawansowane odblokowywanie</string>
<string name="advanced_unlock">Odblokowanie urządzenia</string>
<string name="biometric_unlock_enable_title">Odblokowywanie biometryczne</string>
<string name="biometric_unlock_enable_summary">Umożliwia zeskanowanie danych biometrycznych w celu otwarcia bazy danych</string>
<string name="biometric_delete_all_key_title">Usuń klucze szyfrowania</string>
<string name="biometric_delete_all_key_summary">Usuń wszystkie klucze szyfrujące związane z zaawansowanym rozpoznawaniem odblokowania</string>
<string name="biometric_delete_all_key_summary">Usuń wszystkie klucze szyfrowania związane z rozpoznawaniem odblokowania urządzenia</string>
<string name="unavailable_feature_text">Nie można uruchomić tej funkcji.</string>
<string name="unavailable_feature_version">Urządzenie pracuje na systemie Android %1$s, ale wymaga wersji %2$s lub nowszej.</string>
<string name="unavailable_feature_hardware">Nie można znaleźć odpowiedniego sprzętu.</string>
<string name="file_name">Nazwa pliku</string>
<string name="path">Ścieżka</string>
<string name="assign_master_key">Przypisz klucz główny</string>
<string name="create_keepass_file">Utwórz nową bazę danych</string>
<string name="create_keepass_file">Utwórz nowy sejf</string>
<string name="recycle_bin_title">Wykorzystaj kosz</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>
@@ -334,12 +334,12 @@
<string name="content_description_update_from_list">Aktualizuj</string>
<string name="content_description_keyboard_close_fields">Zamknij pola</string>
<string name="error_create_database_file">Nie można utworzyć bazy danych przy użyciu tego hasła i pliku klucza.</string>
<string name="menu_advanced_unlock_settings">Zaawansowane odblokowywanie</string>
<string name="menu_advanced_unlock_settings">Odblokowywanie urządzenia</string>
<string name="biometric">Biometryczne</string>
<string name="biometric_auto_open_prompt_title">Automatyczne otwieranie</string>
<string name="enable">Włącz</string>
<string name="disable">Wyłącz</string>
<string name="biometric_auto_open_prompt_summary">Automatyczne żądanie zaawansowanego odblokowania, jeśli baza danych jest skonfigurowana do korzystania z niej</string>
<string name="biometric_auto_open_prompt_summary">Automatycznie żądaj odblokowania urządzenia, jeśli baza danych jest skonfigurowana do korzystania z tej funkcji</string>
<string name="content_description_node_children">Węzły podrzędne</string>
<string name="master_key">Klucz główny</string>
<string name="security">Zabezpieczenia</string>
@@ -379,7 +379,7 @@
<string name="invalid_db_same_uuid">%1$s o tym samym identyfikatorze UUID %2$s już istnieje.</string>
<string name="contains_duplicate_uuid_procedure">Rozwiązać problem, generując nowe identyfikatory UUID dla duplikatów, aby kontynuować\?</string>
<string name="clipboard_explanation_summary">Skopiuj pola wprowadzania danych za pomocą schowka urządzenia</string>
<string name="advanced_unlock_explanation_summary">Użyj zaawansowanego odblokowywania w celu łatwiejszego otwierania bazy danych</string>
<string name="advanced_unlock_explanation_summary">Użyj odblokowywania urządzenia, aby łatwiej otwierać bazę danych</string>
<string name="database_data_compression_summary">Kompresja danych zmniejsza rozmiar bazy danych</string>
<string name="max_history_items_title">Maksymalna liczba</string>
<string name="max_history_size_summary">Ogranicz rozmiar historii każdego wpisu</string>
@@ -445,7 +445,7 @@
<string name="autofill_web_domain_blocklist_title">Lista zablokowanych domen internetowych</string>
<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">Automatyczne działanie klucza</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_title">Ekran poświadczeń bazy danych</string>
<string name="keyboard_change">Przełącz klawiaturę</string>
@@ -492,34 +492,34 @@
<string name="select_entry">Wybierz pozycję</string>
<string name="back_to_previous_keyboard">Wróć do poprzedniej klawiatury</string>
<string name="custom_fields">Pola niestandardowe</string>
<string name="advanced_unlock_delete_all_key_warning">Czy usunąć wszystkie klucze szyfrowania związane z zaawansowanym rozpoznawaniem odblokowywania\?</string>
<string name="advanced_unlock_delete_all_key_warning">Usunąć wszystkie klucze szyfrowania związane z rozpoznawaniem odblokowania urządzenia\?</string>
<string name="device_credential_unlock_enable_summary">Umożliwia otwieranie bazy danych za pomocą poświadczeń urządzenia</string>
<string name="device_credential_unlock_enable_title">Odblokowywanie uwierzytelniające urządzenia</string>
<string name="device_credential">Uwierzytelnienie urządzenia</string>
<string name="device_credential_unlock_enable_title">Odblokowywanie urządzenia poświadczeniem</string>
<string name="device_credential">Poświadczenie urządzenia</string>
<string name="credential_before_click_advanced_unlock_button">Wpisz hasło, a następnie kliknij ten przycisk.</string>
<string name="advanced_unlock_not_recognized">Nie można rozpoznać wprowadzonych danych odblokowujących</string>
<string name="advanced_unlock_invalid_key">Nie można odczytać zaawansowanego klucza odblokowującego. Usuń go i powtórz procedurę rozpoznawania odblokowania.</string>
<string name="advanced_unlock_prompt_extract_credential_message">Wyodrębnij poświadczenia bazy danych z zaawansowanymi danymi odblokowującymi</string>
<string name="advanced_unlock_prompt_store_credential_message">Jeśli używasz zaawansowanego rozpoznawania odblokowania, nadal musisz zapamiętać główne dane uwierzytelniające.</string>
<string name="advanced_unlock_prompt_store_credential_title">Zaawansowane rozpoznawanie odblokowania</string>
<string name="menu_keystore_remove_key">Usuń zaawansowany klucz odblokowujący</string>
<string name="education_advanced_unlock_summary">Połącz swoje hasło ze zeskanowanymi danymi biometrycznymi lub danymi logowania urządzenia, aby szybko odblokować bazę danych.</string>
<string name="education_advanced_unlock_title">Zaawansowane odblokowywanie bazy danych</string>
<string name="advanced_unlock_timeout">Limit czasu zaawansowanego odblokowywania</string>
<string name="temp_advanced_unlock_timeout_summary">Czas trwania zaawansowanego odblokowywania przed usunięciem jego zawartości</string>
<string name="temp_advanced_unlock_timeout_title">Wygaśnięcie zaawansowanego odblokowywania</string>
<string name="temp_advanced_unlock_enable_summary">Nie przechowuj żadnych zaszyfrowanych treści, aby korzystać z zaawansowanego odblokowywania</string>
<string name="advanced_unlock_tap_delete">Naciśnij, aby usunąć zaawansowane klucze odblokowujące</string>
<string name="advanced_unlock_not_recognized">Nie można rozpoznać odcisku odblokowującego urządzenie</string>
<string name="advanced_unlock_invalid_key">Nie można odczytać klucza odblokowującego urządzenie. Usuń go i powtórz procedurę rozpoznawania odblokowania.</string>
<string name="advanced_unlock_prompt_extract_credential_message">Wyodrębnij poświadczenia bazy danych z danymi odblokowania urządzenia</string>
<string name="advanced_unlock_prompt_store_credential_message">Nadal musisz pamiętać główne poświadczenie sejfu, jeśli używasz rozpoznawania odblokowania urządzenia.</string>
<string name="advanced_unlock_prompt_store_credential_title">Łącze do odblokowywania urządzenia</string>
<string name="menu_keystore_remove_key">Usuń klucz odblokowujący urządzenie</string>
<string name="education_advanced_unlock_summary">Połącz swoje hasło z zeskanowanymi danymi biometrycznymi lub poświadczeniami urządzenia, aby szybko odblokować bazę danych.</string>
<string name="education_advanced_unlock_title">Odblokowywanie bazy danych urządzenia</string>
<string name="advanced_unlock_timeout">Limit czasu odblokowywania urządzenia</string>
<string name="temp_advanced_unlock_timeout_summary">Czas odblokowywania urządzenia przed usunięciem jego zawartości</string>
<string name="temp_advanced_unlock_timeout_title">Wygaśnięcie odblokowywania urządzenia</string>
<string name="temp_advanced_unlock_enable_summary">Nie przechowuj żadnych zaszyfrowanych treści w celu odblokowywania urządzenia</string>
<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">Otwórz bazę danych z zaawansowanym rozpoznawaniem odblokowania</string>
<string name="advanced_unlock_scanning_error">Błąd zaawansowanego odblokowywania: %1$s</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>
<string name="autofill_inline_suggestions_title">Sugestie wbudowane</string>
<string name="autofill_inline_suggestions_summary">Spróbuj wyświetlić sugestie autouzupełniania bezpośrednio z kompatybilnej klawiatury</string>
<string name="temp_advanced_unlock_enable_title">Zaawansowane odblokowywanie tymczasowe</string>
<string name="advanced_unlock_prompt_not_initialized">Nie można zainicjować monitu odblokowania zaawansowanego.</string>
<string name="temp_advanced_unlock_enable_title">Odblokowywanie tymczasowe urządzenia</string>
<string name="advanced_unlock_prompt_not_initialized">Nie można zainicjować monitu o odblokowanie urządzenia.</string>
<string name="warning_database_revoked">Dostęp do pliku odwołany przez menedżera plików, zamknij bazę danych i otwórz ją ponownie z jej lokalizacji.</string>
<string name="warning_database_info_changed_options">Scal dane, zastąp modyfikacje zewnętrzne poprzez zapisanie bazy danych lub ponownie załaduj ją z najnowszymi zmianami.</string>
<string name="warning_database_info_changed">Informacje zawarte w pliku bazy danych zostały zmodyfikowane poza aplikacją.</string>
@@ -602,7 +602,7 @@
<string name="menu_merge_database">Scal dane</string>
<string name="show_entry_colors_title">Kolory wpisu</string>
<string name="warning_keyfile_integrity">Hash pliku nie jest gwarantowany, ponieważ system Android może zmieniać swoje dane w locie. Zmień rozszerzenie pliku na .bin, aby uzyskać prawidłową integralność.</string>
<string name="enable_keep_screen_on_summary">Nie wyłączaj ekranu podczas oglądania wpisu</string>
<string name="enable_keep_screen_on_summary">Nie wyłączaj ekranu podczas oglądania lub edytowania wpisu</string>
<string name="tags">Etykiety</string>
<string name="enable_keep_screen_on_title">Nie wyłączaj ekranu</string>
<string name="show_entry_colors_summary">Wyświetla kolory pierwszego planu i tła wpisu</string>
@@ -667,4 +667,25 @@
<string name="screenshot_mode_banner_text">Tryb zrzutu ekranu</string>
<string name="html_about_privacy">&lt;strong&gt;Żadne dane użytkownika nie są pobierane&lt;/strong&gt;, ta aplikacja nie łączy się z żadnym serwerem, działa tylko lokalnie i w pełni szanuje prywatność użytkowników.</string>
<string name="merge_success">Scalanie zostało pomyślnie zakończone</string>
<string name="info">Informacje</string>
<string name="menu_app_settings_summary">Wyszukiwanie, blokada, historia, właściwości</string>
<string name="menu_form_filling_settings_summary">Klawiatura, autouzupełnianie, schowek</string>
<string name="menu_database_settings_summary">Metadane, kosz, szablony, historia</string>
<string name="menu_security_settings_summary">Szyfrowanie, funkcja wyprowadzania klucza</string>
<string name="master_key_settings_summary">Zmiana, odnowienie</string>
<string name="warning_copy_permission">Uprawnienie do powiadamiania jest wymagane do korzystania z funkcji powiadamiania o schowku.</string>
<string name="later">Później</string>
<string name="ask">Zapytaj</string>
<string name="configure">Skonfiguruj</string>
<string name="unlock_and_link_biometric">Łącze do odblokowania urządzenia</string>
<string name="menu_appearance_settings_summary">Motywy, kolory, atrybuty</string>
<string name="unlock">Odblokuj</string>
<string name="education_validate_entry_title">Sprawdź poprawność wpisu</string>
<string name="menu_advanced_unlock_settings_summary">Biometria, poświadczenie urządzenia</string>
<string name="warning_database_notification_permission">Uprawnienie do powiadomień umożliwia wyświetlanie stanu bazy danych i blokowanie jej za pomocą łatwo dostępnego przycisku.
\n
\nJeśli nie aktywujesz tego uprawnienia, baza danych otwarta w tle nie będzie widoczna, jeśli inna aplikacja jest na pierwszym planie.</string>
<string name="education_validate_entry_summary">Pamiętaj, aby sprawdzić poprawność wpisu i zapisać bazę danych.
\n
\nJeśli aktywowane jest automatyczne blokowanie i zapomnisz, że dokonano modyfikacji, ryzykujesz utratę danych.</string>
</resources>

View File

@@ -41,7 +41,7 @@
<string name="digits">Dígitos</string>
<string name="html_about_licence">KeePassDX © %1$d Kunzisoft é de &lt;strong&gt;código aberto&lt;/strong&gt; e &lt;strong&gt;sem propagandas&lt;/strong&gt;.
\nÉ fornecido no estado em que se encontra, sob licença &lt;strong&gt;GPLv3&lt;/strong&gt;, sem qualquer garantia.</string>
<string name="select_database_file">Abrir banco de dados existente</string>
<string name="select_database_file">Abrir cofre existente</string>
<string name="entry_accessed">Acessado</string>
<string name="entry_cancel">Cancelar</string>
<string name="entry_notes">Notas</string>
@@ -137,7 +137,7 @@
<string name="error_autofill_enable_service">Não foi possível habilitar o serviço de preenchimento automático.</string>
<string name="field_name">Nome do campo</string>
<string name="field_value">Valor do campo</string>
<string name="file_not_found_content">Não foi possível encontrar o arquivo. Tente reabri-lo de seu explorador de arquivos.</string>
<string name="file_not_found_content">Arquivo não encontrado. Tente reabri-lo de seu explorador de arquivos.</string>
<string name="invalid_algorithm">Algoritmo errado.</string>
<string name="keyfile_is_empty">O arquivo-chave está vazio.</string>
<string name="copy_field">Cópia de %1$s</string>
@@ -173,7 +173,7 @@
<string name="warning_empty_password">Continuar sem proteção de desbloqueio por senha\?</string>
<string name="warning_no_encryption_key">Continuar sem chave de criptografia\?</string>
<string name="encrypted_value_stored">Senha cifrada armazenada</string>
<string name="unavailable">Ainda não há nenhuma senha armazenada nesse banco de dados.</string>
<string name="unavailable">Indisponível</string>
<string name="database_history">Histórico</string>
<string name="menu_appearance_settings">Aparência</string>
<string name="general">Geral</string>
@@ -192,18 +192,18 @@
<string name="lock">Bloquear</string>
<string name="lock_database_screen_off_title">Bloqueio de tela</string>
<string name="lock_database_screen_off_summary">Bloqueie o banco de dados após alguns segundos quando a tela for desligada</string>
<string name="advanced_unlock">Desbloqueio avançado</string>
<string name="advanced_unlock">Desbloqueio do dispositivo</string>
<string name="biometric_unlock_enable_title">Desbloqueio biométrico</string>
<string name="biometric_unlock_enable_summary">Permite que você escaneie sua biometria para a abertura do banco de dados</string>
<string name="biometric_delete_all_key_title">Apague chaves de criptografia</string>
<string name="biometric_delete_all_key_summary">Apagar todas as chaves de criptografia relacionadas ao reconhecimento de desbloqueio avançado</string>
<string name="biometric_delete_all_key_summary">Excluir todas as chaves de criptografia relacionadas ao reconhecimento de desbloqueio do dispositivo</string>
<string name="unavailable_feature_text">Não foi possível iniciar esse recurso.</string>
<string name="unavailable_feature_version">O dispositivo está utilizando Android %1$s, mas precisa %2$s ou posterior.</string>
<string name="unavailable_feature_hardware">Não foi possível encontrar o hardware correspondente.</string>
<string name="file_name">Nome do arquivo</string>
<string name="path">Caminho</string>
<string name="assign_master_key">Defina uma chave-mestra</string>
<string name="create_keepass_file">Criar novo banco</string>
<string name="create_keepass_file">Criar novo cofre</string>
<string name="recycle_bin_title">Usar lixeira</string>
<string name="recycle_bin_summary">Mover grupos e entradas para o grupo \"Lixeira\" antes de apagar</string>
<string name="monospace_font_fields_enable_title">Tipo de letra nos campos</string>
@@ -261,7 +261,7 @@
<string name="education_sort_summary">Escolha como entradas e grupos são ordenados.</string>
<string name="education_donation_title">Participar</string>
<string name="education_donation_summary">Ajude a aumentar a estabilidade, segurança e na adição de mais recursos.</string>
<string name="html_text_ad_free">Ao contrário de muitos aplicativos de gerenciamento de senhas, este aplicativo é &lt;strong&gt;livre de anúncios&lt;/strong&gt;, &lt;strong&gt;livre de direitos autorais&lt;/strong&gt; e não recupera dados pessoais em seus servidores, mesmo em sua versão gratuita.</string>
<string name="html_text_ad_free">Ao contrário de muitos aplicativos de gerenciamento de senhas, este aplicativo é &lt;strong&gt;livre de anúncios&lt;/strong&gt;, &lt;strong&gt;livre de direitos autorais&lt;/strong&gt; 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 &lt;strong&gt;recurso visual&lt;/strong&gt; e ajudará especialmente a &lt;strong&gt;realização de projetos comunitários.&lt;/strong&gt;</string>
<string name="html_text_feature_generosity">Este &lt;strong&gt;recurso visual&lt;/strong&gt; 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 &lt;strong&gt;contribuição.&lt;/strong&gt;</string>
@@ -337,10 +337,10 @@
<string name="content_description_update_from_list">Atualizar</string>
<string name="content_description_keyboard_close_fields">Campos fechados</string>
<string name="error_create_database_file">Impossibilitado de criar um banco de dados com essa senha e arquivo-chave.</string>
<string name="menu_advanced_unlock_settings">Desbloqueio avançado</string>
<string name="menu_advanced_unlock_settings">Desbloqueio do dispositivo</string>
<string name="biometric">Biometria</string>
<string name="biometric_auto_open_prompt_title">Abrir automaticamente o prompt</string>
<string name="biometric_auto_open_prompt_summary">Solicitar desbloqueio avançado automaticamente se o banco de dados estiver configurado para usá-lo</string>
<string name="biometric_auto_open_prompt_summary">Solicitar automaticamente o desbloqueio do dispositivo se o banco de dados estiver configurado para usá-lo</string>
<string name="enable">Habilitado</string>
<string name="disable">Desabilitado</string>
<string name="master_key">Chave-mestra</string>
@@ -369,7 +369,7 @@
<string name="contains_duplicate_uuid_procedure">Consertar o problema gerando nova UUIDs para duplicatas para continuar\?</string>
<string name="database_opened">Banco de dados aberto</string>
<string name="clipboard_explanation_summary">Copie campos de entrada usando a área de transferência do seu dispositivo</string>
<string name="advanced_unlock_explanation_summary">Use o desbloqueio avançado para abrir o banco de dados mais facilmente</string>
<string name="advanced_unlock_explanation_summary">Use o desbloqueio do dispositivo para abrir um banco de dados com mais facilidade</string>
<string name="database_data_compression_title">Compressão dos dados</string>
<string name="database_data_compression_summary">Compressão dos dados reduz o tamanho do banco de dados</string>
<string name="max_history_items_title">Número máximo</string>
@@ -435,7 +435,7 @@
<string name="contribution">Contribuição</string>
<string name="upload_attachment">Upload %1$s</string>
<string name="keyboard_previous_fill_in_summary">Retornar automaticamente para o teclado anterior após executar a \"ação de tecla automática\"</string>
<string name="keyboard_previous_fill_in_title">Ação automática de tecla</string>
<string name="keyboard_previous_fill_in_title">Mudar de volta</string>
<string name="warning_remove_unlinked_attachment">A remoção de dados não vinculados pode diminuir o tamanho do seu banco de dados, mas também pode excluir os dados usados para plug-ins KeePass.</string>
<string name="warning_replace_file">O upload deste arquivo substituirá o existente.</string>
<string name="education_add_attachment_summary">Carregar um anexo em sua entrada para salvar dados externos importantes.</string>
@@ -465,7 +465,7 @@
<string name="content_description_credentials_information">Informações de credenciais</string>
<string name="content_description_add_item">Adicionar item</string>
<string name="autofill_block_restart">Reinicie o aplicativo que contém o formulário para ativar o bloqueio.</string>
<string name="menu_keystore_remove_key">Excluir chave de desbloqueio avançado</string>
<string name="menu_keystore_remove_key">Excluir chave de desbloqueio do dispositivo</string>
<string name="menu_reload_database">Recarregar dados</string>
<string name="error_start_database_action">Ocorreu um erro ao executar uma ação no banco de dados.</string>
<string name="error_remove_file">Ocorreu um erro ao remover os dados do arquivo.</string>
@@ -511,14 +511,14 @@
<string name="device_credential">Credencial do dispositivo</string>
<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">Incapaz de inicializar o prompt de desbloqueio avançado.</string>
<string name="advanced_unlock_scanning_error">Erro de desbloqueio avançado: %1$s</string>
<string name="advanced_unlock_not_recognized">Não foi possível reconhecer a impressão de desbloqueio avançado</string>
<string name="advanced_unlock_invalid_key">Não é possível ler a chave de desbloqueio avançada. Por favor, apague-a e repita o procedimento de reconhecimento de desbloqueio.</string>
<string name="advanced_unlock_prompt_extract_credential_message">Extraia credencial de banco de dados com dados de desbloqueio avançado</string>
<string name="advanced_unlock_prompt_extract_credential_title">Banco de dados aberto com reconhecimento avançado de desbloqueio</string>
<string name="advanced_unlock_prompt_store_credential_message">Você ainda precisa lembrar sua credencial principal se usar o reconhecimento de desbloqueio avançado.</string>
<string name="advanced_unlock_prompt_store_credential_title">Reconhecimento de desbloqueio avançado</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>
<string name="advanced_unlock_prompt_extract_credential_title">Reconhecimento de desbloqueio do dispositivo</string>
<string name="advanced_unlock_prompt_store_credential_message">Você ainda precisa se lembrar da credencial principal do cofre se usar o reconhecimento de desbloqueio do dispositivo.</string>
<string name="advanced_unlock_prompt_store_credential_title">Link para desbloqueio do dispositivo</string>
<string name="biometric_security_update_required">Atualização de segurança biométrica necessária.</string>
<string name="configure_biometric">Nenhuma credencial biométrica ou de dispositivo está registrada.</string>
<string name="warning_database_revoked">Acesso ao arquivo revogado pelo gerenciador de arquivos, feche o banco de dados e reabra-o de sua localização.</string>
@@ -552,7 +552,7 @@
<string name="unit_byte">B</string>
<string name="download_canceled">Cancelado!</string>
<string name="education_advanced_unlock_summary">Vincule sua senha à credencial biométrica ou do dispositivo digitalizada para desbloquear rapidamente seu banco de dados.</string>
<string name="education_advanced_unlock_title">Desbloqueio avançado de banco de dados</string>
<string name="education_advanced_unlock_title">Desbloqueio do banco de dados do dispositivo</string>
<string name="autofill_inline_suggestions_keyboard">Sugestões de preenchimento automático adicionadas.</string>
<string name="autofill_read_only_save">A salvação de dados não é permitida para um banco de dados aberto apenas como leitura.</string>
<string name="autofill_ask_to_save_data_summary">Pedir para salvar dados ao terminar de preencher um formulário</string>
@@ -579,15 +579,15 @@
<string name="templates_group_uuid_title">Grupo de modelos</string>
<string name="templates_group_enable_summary">Use modelos dinâmicos para preencher os campos de uma entrada</string>
<string name="templates_group_enable_title">Uso de modelos</string>
<string name="advanced_unlock_delete_all_key_warning">Apagar todas as chaves de criptografia relacionadas ao reconhecimento de desbloqueio avançado\?</string>
<string name="advanced_unlock_timeout">Tempo limite de desbloqueio avançado</string>
<string name="temp_advanced_unlock_timeout_summary">Duração do uso de desbloqueio avançado antes de excluir seu conteúdo</string>
<string name="temp_advanced_unlock_timeout_title">Expiração de desbloqueio avançado</string>
<string name="temp_advanced_unlock_enable_summary">Não armazene nenhum conteúdo cifrado para usar desbloqueio avançado</string>
<string name="temp_advanced_unlock_enable_title">Desbloqueio avançado temporário</string>
<string name="advanced_unlock_delete_all_key_warning">Excluir todas as chaves de criptografia relacionadas ao reconhecimento de desbloqueio do dispositivo\?</string>
<string name="advanced_unlock_timeout">Tempo limite de desbloqueio do dispositivo</string>
<string name="temp_advanced_unlock_timeout_summary">Duração do uso do desbloqueio do dispositivo antes de excluir seu conteúdo</string>
<string name="temp_advanced_unlock_timeout_title">Expiração do desbloqueio do dispositivo</string>
<string name="temp_advanced_unlock_enable_summary">Não armazene nenhum conteúdo criptografado para usar desbloqueio dispositivo</string>
<string name="temp_advanced_unlock_enable_title">Desbloqueio temporário do dispositivo</string>
<string name="device_credential_unlock_enable_summary">Permite que você use a credencial do seu dispositivo para abrir o banco de dados</string>
<string name="device_credential_unlock_enable_title">Desbloqueio de credencial de dispositivo</string>
<string name="advanced_unlock_tap_delete">Toque para excluir as chaves de desbloqueio avançado</string>
<string name="advanced_unlock_tap_delete">Toque para excluir as chaves de desbloqueio do dispositivo</string>
<string name="content">Conteúdo</string>
<string name="autofill_select_entry">Selecione a entrada…</string>
<string name="hint_icon_name">Nome do ícone</string>
@@ -600,7 +600,7 @@
<string name="menu_merge_database">Mesclar dados</string>
<string name="tags">Etiquetas</string>
<string name="enable_keep_screen_on_title">Mantenha a tela ligada</string>
<string name="enable_keep_screen_on_summary">Mantenha a tela ligada enquanto estiver vendo a entrada</string>
<string name="enable_keep_screen_on_summary">Mantenha a tela ligada enquanto ver ou editar uma entrada</string>
<string name="show_entry_colors_title">Cores de entrada</string>
<string name="show_entry_colors_summary">Exibe as cores de primeiro plano e de fundo de uma entrada</string>
<string name="error_move_group_here">Você não pode mover um grupo pra cá.</string>
@@ -667,4 +667,25 @@
<string name="auto_type">Preenchimento automático</string>
<string name="content_description_hardware_key_checkbox">Caixa de verificação da chave física</string>
<string name="merge_success">Merge concluído com sucesso</string>
<string name="info">Info</string>
<string name="menu_advanced_unlock_settings_summary">Biometria, credencial do dispositivo</string>
<string name="menu_database_settings_summary">Metadados, lixeira, modelos, histórico</string>
<string name="menu_security_settings_summary">Criptografia, função de derivação chave</string>
<string name="master_key_settings_summary">Mudança, renovação</string>
<string name="warning_copy_permission">A permissão de notificação é necessária para usar o recurso de notificação da área de transferência.</string>
<string name="later">Mais tarde</string>
<string name="ask">Perguntar</string>
<string name="configure">Configurar</string>
<string name="unlock_and_link_biometric">Link de desbloqueio do dispositivo</string>
<string name="menu_appearance_settings_summary">Temas, cores, atributos</string>
<string name="unlock">Desbloquear</string>
<string name="education_validate_entry_title">Validar a entrada</string>
<string name="menu_app_settings_summary">Pesquisar, bloquear, histórico, propriedades</string>
<string name="warning_database_notification_permission">A permissão de notificação permite exibir o status do banco de dados e bloqueá-lo com um botão de fácil acesso.
\n
\nSe você não ativar essa permissão, o banco de dados aberto em segundo plano não ficará visível se outro aplicativo estiver em primeiro plano.</string>
<string name="education_validate_entry_summary">Lembre-se de validar sua entrada e salvar seu banco de dados.
\n
\nSe um bloqueio automático for ativado e você esquecer que estava fazendo uma modificação, você corre o risco de perder seus dados.</string>
<string name="menu_form_filling_settings_summary">Teclado, preenchimento automático, área de transferência</string>
</resources>

View File

@@ -44,7 +44,7 @@
<string name="digits">Dígitos</string>
<string name="html_about_licence">KeePassDX © %1$d Kunzisoft tem o &lt;strong&gt;código-fonte aberto&lt;/strong&gt; e &lt;strong&gt;sem publicidade&lt;/strong&gt;.
\nÉ fornecido como está, sob a &lt;strong&gt;licença GPLv3&lt;/strong&gt;, sem qualquer garantia.</string>
<string name="select_database_file">Abrir uma base de dados existente</string>
<string name="select_database_file">Abrir o cofre existente</string>
<string name="entry_accessed">Acedido</string>
<string name="entry_cancel">Cancelar</string>
<string name="entry_notes">Notas</string>
@@ -153,7 +153,7 @@
<string name="menu_cancel">Cancelar</string>
<string name="menu_file_selection_read_only">Apenas leitura</string>
<string name="menu_open_file_read_and_write">Alterável</string>
<string name="create_keepass_file">Criar base de dados</string>
<string name="create_keepass_file">Criar novo Cofre</string>
<string name="kdf_explanation">Para gerar a chave para o algoritmo de encriptação, a chave mestra é transformada usando uma função de derivação de chave com um salt aleatório.</string>
<string name="memory_usage">Uso de memória</string>
<string name="memory_usage_explanation">Quantidade de memória a ser usada pela função de derivação de chave.</string>
@@ -172,7 +172,7 @@
<string name="warning_no_encryption_key">Continuar sem a chave de encriptação\?</string>
<string name="build_label">Compilação %1$s</string>
<string name="encrypted_value_stored">Palavra-passe encriptada armazenada</string>
<string name="unavailable">Ainda não há nenhuma palavra-chave armazenada nesta base de dados.</string>
<string name="unavailable">Não disponível</string>
<string name="database_history">Histórico</string>
<string name="menu_appearance_settings">Aparência</string>
<string name="general">Geral</string>
@@ -276,7 +276,7 @@
\n
\n\"Apenas leitura\" evita que faça alterações não intencionais na base de dados.
\n\"Alterável\" permite adicionar, eliminar ou alterar todos os elementos.</string>
<string name="list_entries_show_username_summary">Apresenta nomes de Utilizador nas listas de entradas</string>
<string name="list_entries_show_username_summary">Mostra nomes de utilizador nas listas de entradas</string>
<string name="clipboard">Área de transferência</string>
<string name="keyboard_name">Magikeyboard</string>
<string name="keyboard_label">Magikeyboard (KeePassDX)</string>
@@ -325,14 +325,14 @@
<string name="error_move_entry_here">Não se pode mover uma entrada para aqui.</string>
<string name="error_copy_entry_here">Não se pode copiar uma entrada aqui.</string>
<string name="list_groups_show_number_entries_title">Mostrar número de entradas</string>
<string name="list_groups_show_number_entries_summary">Mostra o número de entradas num grupo</string>
<string name="list_groups_show_number_entries_summary">Mostra o número de entradas dentro de um grupo</string>
<string name="database_custom_color_title">Cor personalizada da base de dados</string>
<string name="database_data_compression_summary">A compressão de dados reduz o tamanho da base de dados</string>
<string name="biometric_unlock_enable_summary">Permite que leia os seus dados biométricos para abrir a base de dados</string>
<string name="advanced_unlock_explanation_summary">Usar desbloqueio avançado para abrir a base de dados mais facilmente</string>
<string name="advanced_unlock_explanation_summary">Utilizar o desbloqueio do dispositivo para abrir uma base de dados mais facilmente</string>
<string name="database_opened">Base de dados aberta</string>
<string name="contains_duplicate_uuid">A base de dados contém UUIDs duplicados.</string>
<string name="menu_save_database">Guardar base de dados</string>
<string name="menu_save_database">Guardar dados</string>
<string name="creating_database">A criar a base de dados…</string>
<string name="error_save_database">Não foi possível guardar a base de dados.</string>
<string name="error_create_database_file">Não foi possível criar a base de dados com essa palavra-passe e ficheiro-chave.</string>
@@ -344,7 +344,7 @@
<string name="autofill_application_id_blocklist_summary">Lista de aplicações bloqueadas sem permissão de preenchimento automático</string>
<string name="autofill_application_id_blocklist_title">Lista de bloqueio de aplicações</string>
<string name="keyboard_previous_fill_in_summary">Mudar automaticamente para o teclado anterior depois de executar a \"tecla automática\"</string>
<string name="keyboard_previous_fill_in_title">Ação da tecla automática</string>
<string name="keyboard_previous_fill_in_title">Voltar atrás</string>
<string name="keyboard_previous_database_credentials_summary">Voltar automaticamente para o teclado anterior no ecrã de credenciais da base de dados</string>
<string name="keyboard_previous_database_credentials_title">Ecrã de credenciais da base de dados</string>
<string name="keyboard_change">Mudar de teclado</string>
@@ -418,8 +418,8 @@
<string name="error_otp_counter">O contador tem de estar entre %1$d e %2$d.</string>
<string name="otp_period">Período (segundos)</string>
<string name="device_keyboard_setting_title">Configurações do teclado do dispositivo</string>
<string name="biometric_delete_all_key_summary">Eliminar todas as chaves de encriptação relacionadas com o desbloqueio de reconhecimento avançado</string>
<string name="biometric_auto_open_prompt_summary">Pedir automaticamente o desbloqueio avançado se a base de dados estiver configurada para usá-lo</string>
<string name="biometric_delete_all_key_summary">Eliminar todas as chaves de encriptação relacionadas com o reconhecimento do desbloqueio do dispositivo</string>
<string name="biometric_auto_open_prompt_summary">Solicitar automaticamente o desbloqueio do dispositivo se a base de dados estiver configurada para o utilizar</string>
<string name="warning_database_link_revoked">O acesso ao ficheiro foi revogado pelo gestor de ficheiros</string>
<string name="error_invalid_OTP">Segredo OTP inválido.</string>
<string name="contact">Contacto</string>
@@ -442,12 +442,12 @@
<string name="settings_database_force_changing_master_key_next_time_summary">Forçar alteração da chave mestra na próxima vez (uma vez)</string>
<string name="contains_duplicate_uuid_procedure">Resolver o problema gerando novas UUIDs para os duplicados para continuar\?</string>
<string name="settings_database_force_changing_master_key_next_time_title">Forçar renovação na próxima vez</string>
<string name="menu_advanced_unlock_settings">Desbloqueio avançado</string>
<string name="menu_advanced_unlock_settings">Desbloqueio de dispositivos</string>
<string name="education_setup_OTP_summary">Configure a gestão de palavra-passe única (HOTP / TOTP) para gerar um token solicitado para autenticação de dois fatores (2FA).</string>
<string name="remember_keyfile_locations_title">Lembrar locais dos ficheiros-chave</string>
<string name="download_progression">Em progresso: %1$d%%</string>
<string name="biometric_auto_open_prompt_title">Abrir automaticamente o leitor</string>
<string name="advanced_unlock">Desbloqueio avançado</string>
<string name="advanced_unlock">Desbloqueio do dispositivo</string>
<string name="settings_database_recommend_changing_master_key_title">Renovação recomendada</string>
<string name="upload_attachment">Enviar %1$s</string>
<string name="education_add_attachment_summary">Envie um anexo para a sua entrada para guardar dados externos importantes.</string>
@@ -467,14 +467,14 @@
<string name="content_description_credentials_information">Informações sobre credenciais</string>
<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 o desbloqueio avançado.</string>
<string name="advanced_unlock_scanning_error">Erro de desbloqueio avançado: %1$s</string>
<string name="advanced_unlock_not_recognized">Não foi possível reconhecer a impressão de desbloqueio avançado</string>
<string name="advanced_unlock_invalid_key">Não foi possível ler a chave de desbloqueio avançada. Por favor, 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 avançados</string>
<string name="advanced_unlock_prompt_extract_credential_title">Abrir base de dados com reconhecimento de desbloqueio avançado</string>
<string name="advanced_unlock_prompt_store_credential_message">Ainda terá de se lembrar da sua credencial principal se usar o reconhecimento de desbloqueio avançado.</string>
<string name="advanced_unlock_prompt_store_credential_title">Reconhecimento de desbloqueio avançado</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>
<string name="advanced_unlock_prompt_extract_credential_title">Reconhecimento do desbloqueio do dispositivo</string>
<string name="advanced_unlock_prompt_store_credential_message">Continua a ser necessário recordar a credencial principal do cofre se utilizar o reconhecimento de desbloqueio do dispositivo.</string>
<string name="advanced_unlock_prompt_store_credential_title">Ligação para o desbloqueio do dispositivo</string>
<string name="biometric_security_update_required">É necessária uma atualização de segurança biométrica.</string>
<string name="configure_biometric">Não está registada nenhuma credencial biométrica ou de dispositivo.</string>
<string name="warning_database_revoked">Acesso ao ficheiro revogado pelo gestor de ficheiros. Feche a base de dados e reabra-a a partir da sua localização.</string>
@@ -484,8 +484,8 @@
<string name="registration_mode">Modo de registo</string>
<string name="save_mode">Modo de guardar</string>
<string name="search_mode">Modo de pesquisa</string>
<string name="menu_keystore_remove_key">Eliminar chave de desbloqueio avançada</string>
<string name="menu_reload_database">Recarregar base de dados</string>
<string name="menu_keystore_remove_key">Eliminar a chave de desbloqueio do dispositivo</string>
<string name="menu_reload_database">Recarregar dados</string>
<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>
@@ -505,7 +505,7 @@
<string name="unit_byte">B</string>
<string name="download_canceled">Cancelado!</string>
<string name="education_advanced_unlock_summary">Ligue a sua palavra-passe às suas credenciais biométricas ou do dispositivo para desbloquear rapidamente a sua base de dados.</string>
<string name="education_advanced_unlock_title">Desbloqueio avançado da base de dados</string>
<string name="education_advanced_unlock_title">Desbloqueio da base de dados do dispositivo</string>
<string name="autofill_inline_suggestions_keyboard">Adicionadas sugestões de preenchimento automático.</string>
<string name="autofill_read_only_save">Não é possível guardar dados numa base de dados aberta apenas com permissão de leitura.</string>
<string name="autofill_ask_to_save_data_summary">Pedir para guardar dados quando terminar de preencher um formulário</string>
@@ -580,17 +580,17 @@
<string name="templates_group_uuid_title">Grupo de modelos</string>
<string name="templates_group_enable_summary">Usa modelos dinâmicos para preencher os campos de uma entrada</string>
<string name="templates_group_enable_title">Utilização de modelos</string>
<string name="advanced_unlock_delete_all_key_warning">Eliminar todas as chaves de encriptação relacionadas com o desbloqueio de reconhecimento avançado\?</string>
<string name="advanced_unlock_timeout">Tempo limite do desbloqueio avançado</string>
<string name="temp_advanced_unlock_timeout_summary">Duração do uso do desbloqueio avançado antes de eliminar os seus conteúdos</string>
<string name="temp_advanced_unlock_timeout_title">Duração do desbloqueio avançado</string>
<string name="temp_advanced_unlock_enable_summary">Não armazenar nenhum conteúdo encriptado para usar o desbloqueio avançado</string>
<string name="temp_advanced_unlock_enable_title">Desbloqueio avançado temporário</string>
<string name="advanced_unlock_delete_all_key_warning">Eliminar todas as chaves de encriptação relacionadas com o reconhecimento do desbloqueio do dispositivo\?</string>
<string name="advanced_unlock_timeout">Tempo limite de desbloqueio do dispositivo</string>
<string name="temp_advanced_unlock_timeout_summary">Duração da utilização do desbloqueio do dispositivo antes de eliminar o seu conteúdo</string>
<string name="temp_advanced_unlock_timeout_title">Expiração do desbloqueio do dispositivo</string>
<string name="temp_advanced_unlock_enable_summary">Não guarde qualquer conteúdo encriptado para utilizar o desbloqueio do dispositivo</string>
<string name="temp_advanced_unlock_enable_title">Desbloqueio temporário do dispositivo</string>
<string name="device_credential_unlock_enable_summary">Permite-lhe usar as credenciais do seu dispositivo para abrir a base de dados</string>
<string name="device_credential_unlock_enable_title">Desbloqueio das credenciais do dispositivo</string>
<string name="advanced_unlock_tap_delete">Tocar para as eliminar chaves de desbloqueio avançado</string>
<string name="advanced_unlock_tap_delete">Toque para eliminar as chaves de desbloqueio do dispositivo</string>
<string name="content">Conteúdo</string>
<string name="expired">Expirado</string>
<string name="expired">Expirou</string>
<string name="passphrase">Frase-chave</string>
<string name="enable_keep_screen_on_title">Manter o ecrã ligado</string>
<string name="error_move_group_here">Não se pode mover um grupo para aqui.</string>
@@ -611,10 +611,10 @@
<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>
<string name="corrupted_file">Ficheiro corrompido.</string>
<string name="colorize_password_title">Colorir passwords</string>
<string name="colorize_password_title">Colorir palavras-passe</string>
<string name="remember_hardware_key_summary">Mantém um registo das chaves físicas utilizadas</string>
<string name="warning_database_already_opened">Uma base de dados já está aberta, feche-a primeiro para abrir a nova base</string>
<string name="warning_database_info_reloaded">Recarregar a base de dados eliminará os dados modificados localmente.</string>
<string name="warning_database_already_opened">Já está aberta uma base de dados, feche-a primeiro para poder abrir uma nova</string>
<string name="warning_database_info_reloaded">Recarregar a base de dados irá eliminar os dados alterados localmente.</string>
<string name="warning_keyfile_integrity">O hash do ficheiro não é garantido porque o Android pode alterar os seus dados em tempo real. Altere a extensão do ficheiro para .bin para obter a integridade correta.</string>
<string name="advanced_unlock_keystore_warning">Esta funcionalidade irá armazenar dados encriptados de credenciais na KeyStore segura do seu dispositivo.
\n
@@ -630,33 +630,33 @@
<string name="ignore_chars_filter">Ignorar caracteres</string>
<string name="upper_case">MAIÚSCULAS</string>
<string name="title_case">Capitalização de Título</string>
<string name="show_entry_colors_title">Cores de entrada</string>
<string name="show_entry_colors_title">Cores da entrada</string>
<string name="screenshot_mode_banner_text">Modo de captura de ecrã</string>
<string name="show_entry_colors_summary">Mostra as cores de fundo e de primeiro plano numa entrada</string>
<string name="keyboard_previous_search_title">Ecrã de pesquisa</string>
<string name="enable_keep_screen_on_summary">Mantenha o ecrã ligado ao ver a entrada</string>
<string name="at_least_one_char">Pelo menos um carácter de cada</string>
<string name="enable_keep_screen_on_summary">Manter o ecrã ligado ao ver ou editar uma entrada</string>
<string name="at_least_one_char">Pelo menos um caractere de cada um</string>
<string name="exclude_ambiguous_chars">Excluir caracteres ambíguos</string>
<string name="character_count">Número de caracteres: %1$d</string>
<string name="content_description_database_color">Cor da base de dados</string>
<string name="content_description_entry_background_color">Cor de fundo da entrada</string>
<string name="content_description_entry_background_color">Cor do fundo da página inicial</string>
<string name="warning_exact_alarm">Não permitiu que a aplicação usasse um alarme exato. Como resultado, as funcionalidades que requerem um temporizador não serão feitas com um tempo exato.</string>
<string name="permission">Permissão</string>
<string name="colorize_password_summary">Colorir passwords pelo tipo de caracteres</string>
<string name="colorize_password_summary">Colorir caracteres da palavra-passe por tipo</string>
<string name="hint_icon_name">Nome do ícone</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_cancel_by_user">Cancelado pelo utilizador.</string>
<string name="error_driver_required">É necessário o driver para %1$s.</string>
<string name="menu_merge_database">Juntar dados</string>
<string name="menu_merge_database">Unir dados</string>
<string name="remember_hardware_key_title">Lembrar chaves físicas</string>
<string name="enable_screenshot_mode_title">Modo de captura de ecrã</string>
<string name="lower_case">Minúsculas</string>
<string name="lower_case">minúsculas</string>
<string name="content_description_nav_header">Cabeçalho de navegação</string>
<string name="navigation_drawer_open">Gaveta de navegação aberta</string>
<string name="navigation_drawer_close">Gaveta de navegação fechada</string>
<string name="inherited">Herdado</string>
<string name="inherited">Herdar</string>
<string name="searchable">Pesquisável</string>
<string name="auto_type">Preenchimento automático</string>
<string name="auto_type_sequence">Sequência de preenchimento automático</string>
@@ -664,7 +664,28 @@
<string name="current_group">Grupo atual</string>
<string name="case_sensitive">Sensível a maiúsculas e minúsculas</string>
<string name="regex">Expressão regular</string>
<string name="menu_merge_from">Juntar de </string>
<string name="menu_save_copy_to">Guarde uma cópia para </string>
<string name="menu_merge_from">Unir de…</string>
<string name="menu_save_copy_to">Guardar uma cópia em</string>
<string name="merge_success">Fusão concluída com sucesso</string>
<string name="info">Informação</string>
<string name="menu_app_settings_summary">Pesquisar, bloquear, histórico, propriedades</string>
<string name="menu_form_filling_settings_summary">Teclado, preenchimento automático, área de transferência</string>
<string name="menu_security_settings_summary">Encriptação, função de derivação de chaves</string>
<string name="master_key_settings_summary">Mudança, renovação</string>
<string name="warning_database_notification_permission">A permissão de notificação permite-lhe apresentar o estado da base de dados e bloqueá-la com um botão facilmente acessível.
\n
\nSe não ativar esta permissão, a base de dados aberta em segundo plano não será visível se outra aplicação estiver em primeiro plano.</string>
<string name="unlock">Desbloquear</string>
<string name="education_validate_entry_title">Validar a entrada</string>
<string name="education_validate_entry_summary">Não se esqueça de validar a sua entrada e de guardar a sua base de dados.
\n
\nSe um bloqueio automático estiver ativado e se esquecer que está a fazer uma modificação, corre o risco de perder os seus dados.</string>
<string name="menu_advanced_unlock_settings_summary">Biometria, credencial do dispositivo</string>
<string name="menu_database_settings_summary">Metadados, reciclagem, modelos, histórico</string>
<string name="warning_copy_permission">A permissão de notificação é necessária para utilizar a funcionalidade de notificação da área de transferência.</string>
<string name="later">Mais tarde</string>
<string name="ask">Perguntar</string>
<string name="configure">Configurar</string>
<string name="unlock_and_link_biometric">Ligação de desbloqueio do dispositivo</string>
<string name="menu_appearance_settings_summary">Temas, cores, atributos</string>
</resources>

View File

@@ -79,7 +79,7 @@
<string name="monospace_font_fields_enable_title">Tipo de letra nos campos</string>
<string name="recycle_bin_summary">Move grupos e entradas para o \"Caixote da reciclagem\" antes de eliminar</string>
<string name="recycle_bin_title">Utilização do caixote da reciclagem</string>
<string name="create_keepass_file">Criar base de dados</string>
<string name="create_keepass_file">Criar novo Cofre</string>
<string name="assign_master_key">Atribuir uma chave mestra</string>
<string name="path">Caminho</string>
<string name="file_name">Nome do ficheiro</string>
@@ -135,7 +135,7 @@
<string name="protection">Proteção</string>
<string name="progress_title">Em funcionamento…</string>
<string name="progress_create">A criar nova base de dados…</string>
<string name="select_database_file">Abrir uma base de dados existente</string>
<string name="select_database_file">Abrir o cofre existente</string>
<string name="no_url_handler">Instale um navegador para abrir esta URL.</string>
<string name="no_results">A pesquisa não obteve resultados</string>
<string name="never">Nunca</string>
@@ -207,14 +207,14 @@
<string name="remember_keyfile_locations_title">Lembrar locais dos ficheiros-chave</string>
<string name="remember_database_locations_summary">Mantém um registo dos locais onde as bases de dados são armazenadas</string>
<string name="remember_database_locations_title">Lembrar locais das bases de dados</string>
<string name="menu_advanced_unlock_settings">Desbloqueio avançado</string>
<string name="menu_advanced_unlock_settings">Desbloqueio de dispositivos</string>
<string name="error_invalid_db">Não foi possível ler a base de dados.</string>
<string name="html_about_licence">KeePassDX © %1$d Kunzisoft tem o &lt;strong&gt;código-fonte aberto&lt;/strong&gt; e &lt;strong&gt;sem publicidade&lt;/strong&gt;.
\nÉ fornecido como está, sob a &lt;strong&gt;licença GPLv3&lt;/strong&gt;, sem qualquer garantia.</string>
<string name="content_description_file_information">Informações sobre ficheiro</string>
<string name="content_description_credentials_information">Informações sobre credenciais</string>
<string name="keyboard_previous_fill_in_summary">Mudar automaticamente para o teclado anterior depois de executar a \"tecla automática\"</string>
<string name="keyboard_previous_fill_in_title">Ação da tecla automática</string>
<string name="keyboard_previous_fill_in_title">Voltar atrás</string>
<string name="keyboard_previous_database_credentials_summary">Voltar automaticamente para o teclado anterior no ecrã de credenciais da base de dados</string>
<string name="keyboard_previous_database_credentials_title">Ecrã de credenciais da base de dados</string>
<string name="keyboard_change">Mudar de teclado</string>
@@ -294,7 +294,7 @@
<string name="max_history_items_summary">Limitar a quantidade de itens no histórico por entrada</string>
<string name="max_history_items_title">Número máximo</string>
<string name="database_data_compression_title">Compressão de dados</string>
<string name="advanced_unlock_explanation_summary">Usar desbloqueio avançado para abrir a base de dados mais facilmente</string>
<string name="advanced_unlock_explanation_summary">Utilizar o desbloqueio do dispositivo para abrir uma base de dados mais facilmente</string>
<string name="clipboard_explanation_summary">Copiar campos de entrada usando a área de transferência do seu dispositivo</string>
<string name="database_opened">Base de dados aberta</string>
<string name="autofill_explanation_summary">Ative o serviço de preencher automático para preencher formulários noutras aplicações</string>
@@ -326,15 +326,15 @@
<string name="master_key">Chave mestra</string>
<string name="disable">Desativar</string>
<string name="enable">Ativar</string>
<string name="biometric_delete_all_key_summary">Eliminar todas as chaves de encriptação relacionadas com o desbloqueio de reconhecimento avançado</string>
<string name="biometric_delete_all_key_summary">Eliminar todas as chaves de encriptação relacionadas com o reconhecimento do desbloqueio do dispositivo</string>
<string name="biometric_delete_all_key_title">Eliminar chaves de encriptação</string>
<string name="biometric_auto_open_prompt_summary">Pedir automaticamente o desbloqueio avançado se a base de dados estiver configurada para usá-lo</string>
<string name="biometric_auto_open_prompt_summary">Solicitar automaticamente o desbloqueio do dispositivo se a base de dados estiver configurada para o utilizar</string>
<string name="biometric_unlock_enable_summary">Permite que leia os seus dados biométricos para abrir a base de dados</string>
<string name="biometric_unlock_enable_title">Desbloqueio biométrico</string>
<string name="advanced_unlock">Desbloqueio avançado</string>
<string name="advanced_unlock">Desbloqueio do dispositivo</string>
<string name="biometric">Biométrico</string>
<string name="menu_appearance_settings">Aparência</string>
<string name="unavailable">Ainda não há nenhuma palavra-chave armazenada nesta base de dados.</string>
<string name="unavailable">Não disponível.</string>
<string name="menu_database_settings">Configurações da base de dados</string>
<string name="menu_change_key_settings">Alterar chave mestra</string>
<string name="error_create_database_file">Não foi possível criar a base de dados com essa palavra-passe e ficheiro-chave.</string>
@@ -445,14 +445,14 @@
<string name="add_entry">Adicionar entrada</string>
<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 o desbloqueio avançado.</string>
<string name="advanced_unlock_scanning_error">Erro de desbloqueio avançado: %1$s</string>
<string name="advanced_unlock_not_recognized">Não foi possível reconhecer a impressão de desbloqueio avançado</string>
<string name="advanced_unlock_invalid_key">Não foi possível ler a chave de desbloqueio avançada. Por favor, 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 avançados</string>
<string name="advanced_unlock_prompt_extract_credential_title">Abrir base de dados com reconhecimento de desbloqueio avançado</string>
<string name="advanced_unlock_prompt_store_credential_message">Ainda terá de se lembrar da sua credencial principal se usar o reconhecimento de desbloqueio avançado.</string>
<string name="advanced_unlock_prompt_store_credential_title">Reconhecimento de desbloqueio avançado</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>
<string name="advanced_unlock_prompt_extract_credential_title">Reconhecimento do desbloqueio do dispositivo</string>
<string name="advanced_unlock_prompt_store_credential_message">Continua a ser necessário recordar a credencial principal do cofre se utilizar o reconhecimento de desbloqueio do dispositivo.</string>
<string name="advanced_unlock_prompt_store_credential_title">Ligação para o desbloqueio do dispositivo</string>
<string name="biometric_security_update_required">É necessária uma atualização de segurança biométrica.</string>
<string name="configure_biometric">Não está registada nenhuma credencial biométrica ou de dispositivo.</string>
<string name="warning_database_revoked">Acesso ao ficheiro revogado pelo gestor de ficheiros. Feche a base de dados e reabra-a a partir da sua localização.</string>
@@ -462,7 +462,7 @@
<string name="registration_mode">Modo de registo</string>
<string name="save_mode">Modo de guardar</string>
<string name="search_mode">Modo de pesquisa</string>
<string name="menu_keystore_remove_key">Eliminar chave de desbloqueio avançada</string>
<string name="menu_keystore_remove_key">Eliminar a chave de desbloqueio do dispositivo</string>
<string name="menu_reload_database">Recarregar dados</string>
<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>
@@ -486,7 +486,7 @@
<string name="style_brightness_summary">Escolha temas claros ou escuros</string>
<string name="style_brightness_title">Brilho do tema</string>
<string name="download_canceled">Cancelado!</string>
<string name="education_advanced_unlock_title">Desbloqueio avançado da base de dados</string>
<string name="education_advanced_unlock_title">Desbloqueio da base de dados do dispositivo</string>
<string name="autofill_inline_suggestions_keyboard">Adicionadas sugestões de preenchimento automático.</string>
<string name="autofill_read_only_save">Não é possível guardar dados numa base de dados aberta apenas com permissão de leitura.</string>
<string name="autofill_ask_to_save_data_summary">Pedir para guardar dados quando terminar de preencher um formulário</string>
@@ -513,15 +513,15 @@
<string name="templates_group_enable_title">Utilização de modelos</string>
<string name="templates_group_uuid_title">Grupo de modelos</string>
<string name="templates_group_enable_summary">Usa modelos dinâmicos para preencher os campos de uma entrada</string>
<string name="advanced_unlock_delete_all_key_warning">Eliminar todas as chaves de encriptação relacionadas com o desbloqueio de reconhecimento avançado\?</string>
<string name="advanced_unlock_timeout">Tempo limite do desbloqueio avançado</string>
<string name="temp_advanced_unlock_timeout_summary">Duração do uso do desbloqueio avançado antes de eliminar os seus conteúdos</string>
<string name="temp_advanced_unlock_timeout_title">Duração do desbloqueio avançado</string>
<string name="temp_advanced_unlock_enable_summary">Não armazenar nenhum conteúdo encriptado para usar o desbloqueio avançado</string>
<string name="temp_advanced_unlock_enable_title">Desbloqueio avançado temporário</string>
<string name="advanced_unlock_delete_all_key_warning">Eliminar todas as chaves de encriptação relacionadas com o reconhecimento do desbloqueio do dispositivo\?</string>
<string name="advanced_unlock_timeout">Tempo limite de desbloqueio do dispositivo</string>
<string name="temp_advanced_unlock_timeout_summary">Duração da utilização do desbloqueio do dispositivo antes de eliminar o seu conteúdo</string>
<string name="temp_advanced_unlock_timeout_title">Expiração do desbloqueio do dispositivo</string>
<string name="temp_advanced_unlock_enable_summary">Não guarde qualquer conteúdo encriptado para utilizar o desbloqueio do dispositivo</string>
<string name="temp_advanced_unlock_enable_title">Desbloqueio temporário do dispositivo</string>
<string name="device_credential_unlock_enable_summary">Permite-lhe usar as credenciais do seu dispositivo para abrir a base de dados</string>
<string name="device_credential_unlock_enable_title">Desbloqueio das credenciais do dispositivo</string>
<string name="advanced_unlock_tap_delete">Tocar para as eliminar chaves de desbloqueio avançado</string>
<string name="advanced_unlock_tap_delete">Toque para eliminar as chaves de desbloqueio do dispositivo</string>
<string name="content">Conteúdo</string>
<string name="autofill_select_entry">Selecionar entrada…</string>
<string name="properties">Propriedades</string>
@@ -578,7 +578,7 @@
<string name="menu_merge_database">Unir dados</string>
<string name="warning_database_info_reloaded">Recarregar a base de dados irá eliminar os dados alterados localmente.</string>
<string name="enable_keep_screen_on_title">Manter o ecrã ligado</string>
<string name="enable_keep_screen_on_summary">Manter o ecrã ligado ao ver uma entrada</string>
<string name="enable_keep_screen_on_summary">Manter o ecrã ligado ao ver ou editar uma entrada</string>
<string name="show_entry_colors_title">Cores da entrada</string>
<string name="error_move_group_here">Não se pode mover um grupo para aqui.</string>
<string name="content_description_database_color">Cor da base de dados</string>
@@ -645,4 +645,25 @@
<string name="html_about_privacy">&lt;strong&gt;Nenhum dado de utilizador é recuperado&lt;/strong&gt;, esta aplicação não se liga a nenhum servidor, funciona apenas localmente e respeita plenamente a privacidade dos utilizadores.</string>
<string name="auto_type">Preenchimento automático</string>
<string name="merge_success">Fusão concluída com sucesso</string>
<string name="info">Informação</string>
<string name="menu_app_settings_summary">Pesquisar, bloquear, histórico, propriedades</string>
<string name="menu_form_filling_settings_summary">Teclado, preenchimento automático, área de transferência</string>
<string name="menu_advanced_unlock_settings_summary">Biometria, credencial do dispositivo</string>
<string name="menu_database_settings_summary">Metadados, reciclagem, modelos, histórico</string>
<string name="menu_security_settings_summary">Encriptação, função de derivação de chaves</string>
<string name="master_key_settings_summary">Mudança, renovação</string>
<string name="warning_copy_permission">A permissão de notificação é necessária para utilizar a funcionalidade de notificação da área de transferência.</string>
<string name="later">Mais tarde</string>
<string name="ask">Perguntar</string>
<string name="configure">Configurar</string>
<string name="unlock_and_link_biometric">Ligação de desbloqueio do dispositivo</string>
<string name="unlock">Desbloquear</string>
<string name="education_validate_entry_title">Validar a entrada</string>
<string name="education_validate_entry_summary">Não se esqueça de validar a sua entrada e de guardar a sua base de dados.
\n
\nSe um bloqueio automático estiver ativado e se esquecer que está a fazer uma modificação, corre o risco de perder os seus dados.</string>
<string name="warning_database_notification_permission">A permissão de notificação permite-lhe apresentar o estado da base de dados e bloqueá-la com um botão facilmente acessível.
\n
\nSe não ativar esta permissão, a base de dados aberta em segundo plano não será visível se outra aplicação estiver em primeiro plano.</string>
<string name="menu_appearance_settings_summary">Temas, cores, atributos</string>
</resources>

View File

@@ -18,81 +18,81 @@
along with KeePassDX. If not, see <http://www.gnu.org/licenses/>.
--><resources>
<string name="about_description">Implementarea Android a managerului de parole KeePass</string>
<string name="accept">Accept</string>
<string name="add_entry">Introduce intrarea</string>
<string name="edit_entry">Editeaza intrarea</string>
<string name="add_group">Aduce grup</string>
<string name="master_key">Cheia generala</string>
<string name="accept">Acceptați</string>
<string name="add_entry">Introduceți intrarea</string>
<string name="edit_entry">Editați intrarea</string>
<string name="add_group">Adăugați un grup</string>
<string name="master_key">Cheia generală</string>
<string name="security">Securitate</string>
<string name="encryption">Criptare</string>
<string name="encryption_algorithm">Algoritm de criptare</string>
<string name="key_derivation_function">Functie derivata a cheii</string>
<string name="key_derivation_function">Funcție de derivare a cheii</string>
<string name="app_timeout">Timeout</string>
<string name="app_timeout_summary">Timpul de asteptare inaintea blocarii bancii de date</string>
<string name="app_timeout_summary">Timpul de așteptare înaintea blocării bazei de date</string>
<string name="application">Aplicație</string>
<string name="brackets">Paranteze patrate</string>
<string name="brackets">Paranteze pătrate</string>
<string name="extended_ASCII">ASCII extins</string>
<string name="file_manager_install_description">Pentru a crea, deschide și salva fișiere de baze de date, este necesar un manager de fișiere care acceptă acțiunea de intenție ACTION_CREATE_DOCUMENT și ACTION_OPEN_DOCUMENT.</string>
<string name="allow">Permite</string>
<string name="clipboard_cleared">Carnetelul din memorie curatat</string>
<string name="clipboard_error_title">Eroare de citire copiere memorie</string>
<string name="clipboard_error">Unele dispozitive nu permit aplicatiei sa foloseasca memoria de citire din carnetel.</string>
<string name="clipboard_error_clear">Nu s-a putut curata memoria carnetelului</string>
<string name="clipboard_timeout">Timp expirat de citire a carnetelului</string>
<string name="clipboard_timeout_summary">Durata de stocare în carnețel (dacă este acceptată de dispozitivul tău)</string>
<string name="content_description_background">In spate</string>
<string name="content_description_open_file">Deschide fisier</string>
<string name="content_description_node_children">Copil nod</string>
<string name="content_description_add_node">Introduce nod</string>
<string name="content_description_add_entry">Introduce o intrare</string>
<string name="content_description_add_group">Aduce un grup</string>
<string name="file_manager_install_description">Un manager de fișiere care acceptă acțiunea intenției ACTION_CREATE_DOCUMENT și ACTION_OPEN_DOCUMENT este necesară pentru a crea, deschide, și salva fișierele bazei de date.</string>
<string name="allow">Permiteți</string>
<string name="clipboard_cleared">Clipboard curățat</string>
<string name="clipboard_error_title">Eroare de Clipboard</string>
<string name="clipboard_error">Unele dispozitive nu permit aplicației sa folosească clipboard-ul.</string>
<string name="clipboard_error_clear">Nu s-a putut curăța clipboard-ul</string>
<string name="clipboard_timeout">Timeout pentru clipboard</string>
<string name="clipboard_timeout_summary">Durata de stocare în clipboard (dacă dispozitivul tău suportă)</string>
<string name="content_description_background">În fundal</string>
<string name="content_description_open_file">Deschide fișier</string>
<string name="content_description_node_children">Nod copil</string>
<string name="content_description_add_node">Adăugați nod</string>
<string name="content_description_add_entry">Introduceți intrarea</string>
<string name="content_description_add_group">Adăugați un grup</string>
<string name="content_description_file_information">Informații despre fișier</string>
<string name="content_description_password_checkbox">Verifica parola</string>
<string name="content_description_keyfile_checkbox">Verifica fisierul cheie</string>
<string name="content_description_repeat_toggle_password_visibility">Repetați pentru a comuta vizibilitatea parolei</string>
<string name="content_description_entry_icon">Pictograma de intrare</string>
<string name="entry_password_generator">Generator de parole</string>
<string name="content_description_password_checkbox">Căsuță de selectare pentru parolă</string>
<string name="content_description_keyfile_checkbox">Căsuță de selectare pentru fișier-cheie</string>
<string name="content_description_repeat_toggle_password_visibility">Repetați comutarea vizibilității parolei</string>
<string name="content_description_entry_icon">Pictogramă de intrare</string>
<string name="entry_password_generator">Generator de parolă</string>
<string name="content_description_password_length">Lungimea parolei</string>
<string name="entry_add_field">Adăugați câmp</string>
<string name="content_description_remove_field">Elimina câmp</string>
<string name="content_description_remove_field">Eliminați câmpul</string>
<string name="content_description_update_from_list">Actualizați</string>
<string name="content_description_remove_from_list">Elimina</string>
<string name="content_description_keyboard_close_fields">Câmpuri închise</string>
<string name="content_description_remove_from_list">Eliminați</string>
<string name="content_description_keyboard_close_fields">Închideți câmpurile</string>
<string name="select_to_copy">Selectați pentru a copia %1$s în clipboard</string>
<string name="retrieving_db_key">Obtinerea cheii bazei de date…</string>
<string name="database">Baza de date</string>
<string name="decrypting_db">Decriptarea continutului bazei de date.…</string>
<string name="retrieving_db_key">Se recuperea cheia bazei de date…</string>
<string name="database">Bază de date</string>
<string name="decrypting_db">Se decriptea conținutul bazei de date.…</string>
<string name="contact">Contact</string>
<string name="contribution">Contributie</string>
<string name="contribution">Contribuție</string>
<string name="feedback">Opinii</string>
<string name="homepage">Pagina acasa</string>
<string name="homepage">Pagina principală</string>
<string name="default_checkbox">Folosiți ca bază de date implicită</string>
<string name="digits">Digits</string>
<string name="digits">Cifre</string>
<string name="entry_accessed">Accesat</string>
<string name="entry_cancel">Anuleaza</string>
<string name="entry_cancel">Anulează</string>
<string name="entry_notes">Note</string>
<string name="entry_confpassword">Confirma parola</string>
<string name="entry_created">Creeat</string>
<string name="entry_expires">Expira</string>
<string name="entry_confpassword">Confirmă parola</string>
<string name="entry_created">Creat</string>
<string name="entry_expires">Expiră</string>
<string name="entry_UUID">UUID</string>
<string name="entry_history">Istoric</string>
<string name="entry_attachments">Atasamente</string>
<string name="entry_keyfile">Fisiercheie</string>
<string name="entry_attachments">Atașamente</string>
<string name="entry_keyfile">Fișier-cheie</string>
<string name="entry_modified">Modificat</string>
<string name="entry_not_found">Nu s-au putut găsi date de intrare.</string>
<string name="entry_password">Parola</string>
<string name="save">Salveaza</string>
<string name="entry_password">Parolă</string>
<string name="save">Salvează</string>
<string name="entry_title">Titlu</string>
<string name="entry_setup_otp">Setați o singură parolă</string>
<string name="otp_type">Tipul OTP</string>
<string name="entry_setup_otp">Setați o parolă unică</string>
<string name="otp_type">Tip OTP</string>
<string name="otp_secret">Secret</string>
<string name="otp_period">Perioada(secunde)</string>
<string name="otp_counter">Numaratoare</string>
<string name="otp_digits">Digiti</string>
<string name="otp_period">Perioadă (secunde)</string>
<string name="otp_counter">Numărătoare</string>
<string name="otp_digits">Cifre</string>
<string name="otp_algorithm">Algoritm</string>
<string name="entry_otp">OTP</string>
<string name="entry_url">URL</string>
<string name="entry_user_name">Nume utilizator</string>
<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 creea fisierul</string>
@@ -123,7 +123,7 @@
<string name="field_name">Numele domeniului</string>
<string name="field_value">Valoarea câmpului</string>
<string name="file_not_found_content">Nu s-a putut găsi fișierul. Încercați să-l redeschideți din browserul de fișiere.</string>
<string name="file_browser">Browser de fișiere</string>
<string name="file_browser">Manager fișiere</string>
<string name="generate_password">Generați parola</string>
<string name="hint_conf_pass">Confirmă parola</string>
<string name="hint_generated_password">Parola generata</string>
@@ -152,7 +152,7 @@
<string name="settings">Setări</string>
<string name="menu_app_settings">Setările aplicației</string>
<string name="menu_form_filling_settings">Completarea formularului</string>
<string name="menu_advanced_unlock_settings">Deblocare avansată</string>
<string name="menu_advanced_unlock_settings">Deblocare dispozitiv</string>
<string name="menu_database_settings">Setările bazei de date</string>
<string name="menu_security_settings">Setări de securitate</string>
<string name="menu_master_key_settings">Setări cheie master</string>
@@ -165,7 +165,7 @@
<string name="menu_cancel">Anulare</string>
<string name="menu_hide_password">Ascunde parola</string>
<string name="menu_lock">Blocați baza de date</string>
<string name="menu_save_database">Salvați baza de date</string>
<string name="menu_save_database">Salvați datele</string>
<string name="menu_open">Deschide</string>
<string name="menu_search">Căutare</string>
<string name="menu_showpass">Arata parola</string>
@@ -178,15 +178,15 @@
<string name="minus">Minus</string>
<string name="never">Niciodata</string>
<string name="no_results">Nu există Rezultate</string>
<string name="html_about_licence">KeePassDX © %1$d Kunzisoft is &lt;strong&gt;sursa deschisa&lt;/strong&gt; and &lt;strong&gt;fara publicitate&lt;/strong&gt;.
\nEste prevăzut așa cum este, sub &lt;strong&gt;GPLv3&lt;/strong&gt; licenta, fara nici un fel de garantie.</string>
<string name="html_about_contribution">In oridine sa &lt;strong&gt;pastram libertatea noastra&lt;/strong&gt;, &lt;strong&gt;fix bugs&lt;/strong&gt;, &lt;strong&gt;adăugați funcții&lt;/strong&gt; si&lt;strong&gt;sa fie intotdeauna activ&lt;/strong&gt;, ne bazam pe &lt;strong&gt;contributie&lt;/strong&gt;.</string>
<string name="html_about_licence">KeePassDX © %1$d Kunzisoft este &lt;strong&gt;open-source (sursă deschisă)&lt;/strong&gt; și &lt;strong&gt;fără reclame&lt;/strong&gt;.
\nEste prevăzut așa cum este, sub licența &lt;strong&gt;GPLv3&lt;/strong&gt;, fără nici un fel de garanție.</string>
<string name="html_about_contribution">În ordine să &lt;strong&gt;pastrăm libertatea noastră&lt;/strong&gt;, &lt;strong&gt;fixăm bug-uri&lt;/strong&gt;, &lt;strong&gt;adăugăm funcții&lt;/strong&gt; și&lt;strong&gt;să fie întotdeauna activ&lt;/strong&gt;, ne bazam pe &lt;strong&gt;contribuția&lt;/strong&gt; ta.</string>
<string name="hide_password_title">Ascundeți parolele</string>
<string name="hide_password_summary">Mascați parolele (***) în mod implicit</string>
<string name="about">Despre</string>
<string name="no_url_handler">Instalați un browser web pentru a deschide această adresă URL.</string>
<string name="select_database_file">Deschide baza de date existentă</string>
<string name="create_keepass_file">Creați o bază de date nouă</string>
<string name="select_database_file">Deschideți seiful existentă</string>
<string name="create_keepass_file">Creați un nou seif</string>
<string name="progress_create">Crearea noii baze de date …</string>
<string name="progress_title">Lucrând …</string>
<string name="protection">Protecție</string>
@@ -407,10 +407,10 @@
<string name="hide_expired_entries_summary">Înscrierile expirate vor fi ascunse</string>
<string name="auto_focus_search_title">Căutare rapidă</string>
<string name="auto_focus_search_summary">Solicitați o căutare atunci când deschideți o bază de date</string>
<string name="remember_database_locations_title">Salvați locația bazelor de date</string>
<string name="remember_database_locations_summary">Amintiți-vă locația bazelor de date</string>
<string name="remember_keyfile_locations_title">Salvați locația fișierelor cheie</string>
<string name="remember_keyfile_locations_summary">Amintiți-vă locația bazelor de date cheie de date</string>
<string name="remember_database_locations_title">Amintiți locațiile bazelor de date</string>
<string name="remember_database_locations_summary">Ține evidența locului în care sunt stocate bazele de date</string>
<string name="remember_keyfile_locations_title">Amintiți locațiile fișierelor cheie</string>
<string name="remember_keyfile_locations_summary">Ține evidența locului în care sunt stocate fișierele cheie</string>
<string name="show_recent_files_title">Afișați fișiere recente</string>
<string name="show_recent_files_summary">Afișați locațiile bazelor de date recente</string>
<string name="hide_broken_locations_title">Ascundeți linkurile de bază de date stricate</string>
@@ -419,27 +419,27 @@
<string name="warning_database_link_revoked">Accesul catre fisier eliminat de catre managerul de fisiere</string>
<string name="error_create_database">Imposibil de creeat fisierul bazei de date.</string>
<string name="error_label_exists">Aceasta eticheta exista</string>
<string name="entry_add_attachment">Aduce atasament</string>
<string name="discard">Renunta</string>
<string name="discard_changes">Renunti la schimbari\?</string>
<string name="validate">Valideaza</string>
<string name="content_description_add_item">adaugă un element</string>
<string name="entry_add_attachment">Adăugați atașament</string>
<string name="discard">Renunțați</string>
<string name="discard_changes">Renunțați la schimbări\?</string>
<string name="validate">Validează</string>
<string name="content_description_add_item">Adăugați un element</string>
<string name="content_description_database_color">Culoarea bazei de date</string>
<string name="content_description_entry_foreground_color">Culoarea primului plan</string>
<string name="content_description_entry_background_color">Culoarea de fundal</string>
<string name="debit_credit_card">Card de debit / credit</string>
<string name="holder">Titularul</string>
<string name="holder">Titular</string>
<string name="number">Număr</string>
<string name="card_verification_value">CVV</string>
<string name="name">Nume</string>
<string name="place_of_issue">Locul de eliberare</string>
<string name="date_of_issue">Data eliberării</string>
<string name="email">Email</string>
<string name="email_address">Adresa email</string>
<string name="email_address">Adresă de email</string>
<string name="ssid">SSID</string>
<string name="type">Tip</string>
<string name="cryptocurrency">Portofel de criptomonede</string>
<string name="token">Token</string>
<string name="token">Token (Jeton)</string>
<string name="public_key">Cheie publică</string>
<string name="private_key">Cheie privată</string>
<string name="seed">Sămânță</string>
@@ -452,15 +452,15 @@
<string name="content_description_otp_information">Informații despre parola de unică folosință</string>
<string name="template_group_name">Șabloane</string>
<string name="content_description_credentials_information">Informații despre acreditări</string>
<string name="id_card">Cartă de identitate</string>
<string name="id_card">Carte de identitate</string>
<string name="bank_identifier_code">SWIFT / BIC</string>
<string name="personal_identification_number">PIN</string>
<string name="bank_name">Numele băncii</string>
<string name="account">Cont</string>
<string name="bank">Banca</string>
<string name="bank">Bancă</string>
<string name="international_bank_account_number">IBAN</string>
<string name="expired">Expirat</string>
<string name="custom_data">Date personalizat</string>
<string name="custom_data">Date personalizate</string>
<string name="tags">Etichete</string>
<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>
@@ -469,20 +469,70 @@
<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 siguranță</string>
<string name="html_about_privacy">&lt;strong&gt;Nu se recuperează date de utilizator &lt;/strong&gt;, această aplicație nu se conectează la niciun server, funcționează doar la nivel local și respectă pe deplin confidențialitatea utilizatorilor.</string>
<string name="html_about_privacy">&lt;strong&gt;Nu este colectat datele utilizatorilor &lt;/strong&gt;, această aplicație nu se conectează la niciun server, funcționează doar la local și respectă pe deplin confidențialitatea utilizatorilor.</string>
<string name="current_group">Grup curent</string>
<string name="search_filters">Filtre de căutare</string>
<string name="navigation_drawer_close">Sertar de navigare închis</string>
<string name="content_description_nav_header">Antet de navigare</string>
<string name="inherited">Moștenește</string>
<string name="searchable">Căutabil</string>
<string name="case_sensitive">Caz sensibil</string>
<string name="regex">Expresie regular</string>
<string name="case_sensitive">Sensibil la majuscule</string>
<string name="regex">Expresie regula</string>
<string name="waiting_challenge_request">Se așteaptă pentru cererea de provocare…</string>
<string name="waiting_challenge_response">Se așteaptă pentru un răspuns la provocare…</string>
<string name="content_description_hardware_key_checkbox">Casetă de selectare a cheilor hardware</string>
<string name="content_description_hardware_key_checkbox">Căsuță de selectare a cheii hardware</string>
<string name="hardware_key">Cheie hardware</string>
<string name="auto_type_sequence">Secvență Auto-Type</string>
<string name="error_database_uri_null">URI-ul bazei de date nu poate fi recuperat.</string>
<string name="error_no_hardware_key">Selectează o cheie hardware.</string>
<string name="info">Info</string>
<string name="menu_merge_database">Fuzionați datele</string>
<string name="menu_reload_database">Reîncărcați datele</string>
<string name="save_mode">Mod de salvare</string>
<string name="colorize_password_summary">Colorați caracterele parolei în funcție de tip</string>
<string name="show_uuid_title">Arată UUID</string>
<string name="hint_icon_name">Numele iconiței</string>
<string name="search_mode">Mod de căutare</string>
<string name="wireless">Wi-Fi</string>
<string name="menu_merge_from">Fuzionați din …</string>
<string name="menu_save_copy_to">Salvați o copie în …</string>
<string name="menu_keystore_remove_key">Ștergeți cheia de deblocare a dispozitivului</string>
<string name="error_duplicate_file">Datele din fișier există deja.</string>
<string name="error_remove_file">S-a produs o eroare în timpul eliminării datelor din fișier.</string>
<string name="error_response_already_provided">Răspuns deja furnizat.</string>
<string name="error_hardware_key_unsupported">Cheia hardware nu este suportat(ă).</string>
<string name="error_empty_key">Cheia nu poate fi goală.</string>
<string name="corrupted_file">Fișier coruptat.</string>
<string name="passphrase">Fraza de acces</string>
<string name="colorize_password_title">Colorați parolele</string>
<string name="show_otp_token_summary">Afișează tokenurile OTP în lista de intrări</string>
<string name="show_otp_token_title">Afișați Tokenul OTP</string>
<string name="show_uuid_summary">Afișează UUID-ul legat de o intrare sau de un grup</string>
<string name="menu_app_settings_summary">Căutare, blocare, istoric, proprietăți</string>
<string name="menu_form_filling_settings_summary">Tastatură, completarea automată, clipboard</string>
<string name="menu_advanced_unlock_settings_summary">Biometrie, acreditare din dispozitiv</string>
<string name="menu_database_settings_summary">Metadata, coșul de reciclare, șabloane, istoric</string>
<string name="master_key_settings_summary">Schimbare, reînnoire</string>
<string name="menu_security_settings_summary">Criptare, funcție de derivare a cheilor</string>
<string name="menu_external_icon">Iconiță externă</string>
<string name="subdomain_search_title">Căutare subdomeniu</string>
<string name="subdomain_search_summary">Căutați domenii web cu constrângeri de subdomenii</string>
<string name="import_app_properties_title">Importați proprietățile aplicației</string>
<string name="auto_type">Auto-Scriere</string>
<string name="error_XML_malformed">XML malformat.</string>
<string name="error_rebuild_list">Nu s-a putut reconstrui corect lista.</string>
<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_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 de la o bază de date V1.</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">Amintiți cheile hardware</string>
<string name="remember_hardware_key_summary">Ține evidența cheilor hardware utilizate</string>
<string name="import_app_properties_summary">Selectați un fișier pentru a importa proprietățile aplicației</string>
<string name="export_app_properties_title">Exportați proprietățile aplicației</string>
</resources>

View File

@@ -118,7 +118,7 @@
<string name="read_only">Только чтение</string>
<string name="read_only_warning">KeePassDX необходимо разрешение на запись, чтобы иметь возможность изменить что-либо в вашей базе.</string>
<string name="content_description_remove_from_list">Убрать из списка</string>
<string name="root">База</string>
<string name="root">Корень</string>
<string name="rounds">Раунды шифрования</string>
<string name="rounds_explanation">Дополнительные раунды шифрования выше стойкость базы к подбору пароля, но медленнее открытие и сохранение.</string>
<string name="saving_database">Сохранение базы…</string>
@@ -133,7 +133,7 @@
<string name="warning_password_encoding">Избегайте использования в пароле символов вне кодировки текста в файле базы, так как эти символы будут преобразованы в одинаковый символ.</string>
<string name="version_label">Версия %1$s</string>
<string name="encrypted_value_stored">Зашифрованный пароль сохранён</string>
<string name="unavailable">Для этой базы главный пароль ещё не сохранён.</string>
<string name="unavailable">Недоступно</string>
<string name="education_unlock_summary">Введите пароль и/или файл ключа, чтобы разблокировать базу.
\n
\nНе забывайте сохранять копию файла базы в безопасном месте после каждого изменения.</string>
@@ -196,11 +196,11 @@
<string name="lock">Блокировка</string>
<string name="lock_database_screen_off_title">Блокировка экрана</string>
<string name="lock_database_screen_off_summary">Блокировать базу через несколько секунд после отключения экрана</string>
<string name="advanced_unlock">Расширенная разблокировка</string>
<string name="advanced_unlock">Разблокировка устройства</string>
<string name="biometric_unlock_enable_title">Биометрическая разблокировка</string>
<string name="biometric_unlock_enable_summary">Включить разблокировку базы при помощи биометрического ключа</string>
<string name="biometric_delete_all_key_title">Удалить ключи шифрования</string>
<string name="biometric_delete_all_key_summary">Удалить все ключи шифрования, связанные с распознаванием расширенной разблокировки</string>
<string name="biometric_delete_all_key_summary">Удалить все ключи шифрования, связанные с распознаванием разблокировки устройства</string>
<string name="unavailable_feature_text">Невозможно использовать эту функцию.</string>
<string name="unavailable_feature_version">Ваша версия Android %1$s, требуется %2$s.</string>
<string name="unavailable_feature_hardware">Соответствующее оборудование не найдено.</string>
@@ -219,7 +219,7 @@
<string name="database_description_title">Описание базы</string>
<string name="database_version_title">Версия базы</string>
<string name="text_appearance">Текст</string>
<string name="application_appearance">Внешний вид</string>
<string name="application_appearance">Интерфейс</string>
<string name="other">Прочее</string>
<string name="keyboard">Клавиатура</string>
<string name="magic_keyboard_title">Настройки Magikeyboard</string>
@@ -230,7 +230,7 @@
<string name="enable_read_only_summary">По умолчанию открывать базу только для чтения</string>
<string name="enable_education_screens_title">Обучающие подсказки</string>
<string name="enable_education_screens_summary">Выделять элементы, чтобы показать, как работает приложение</string>
<string name="reset_education_screens_title">Сбросить обучающие подсказки</string>
<string name="reset_education_screens_title">Вернуть обучающие подсказки</string>
<string name="reset_education_screens_summary">Снова показывать все обучающие подсказки</string>
<string name="reset_education_screens_text">Обучающие подсказки сброшены</string>
<string name="education_create_database_title">Создайте файл базы</string>
@@ -334,10 +334,10 @@
<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="menu_advanced_unlock_settings">Расширенная разблокировка</string>
<string name="menu_advanced_unlock_settings">Разблокировка устройства</string>
<string name="biometric">Биометрический ключ</string>
<string name="biometric_auto_open_prompt_title">Автозапрос ключа</string>
<string name="biometric_auto_open_prompt_summary">Автоматически запрашивать расширенную разблокировку, если она установлена для базы</string>
<string name="biometric_auto_open_prompt_summary">Автоматически запрашивать разблокировку устройства, если она установлена для базы</string>
<string name="enable">Включить</string>
<string name="disable">Отключить</string>
<string name="selection_mode">Режим выбора</string>
@@ -367,7 +367,7 @@
<string name="contains_duplicate_uuid_procedure">Исправить проблему путём создания новых UUID для дубликатов и продолжить работу\?</string>
<string name="database_opened">База открыта</string>
<string name="clipboard_explanation_summary">Копирование полей ввода с помощью буфера обмена устройства</string>
<string name="advanced_unlock_explanation_summary">Использовать расширенную разблокировку для более лёгкого открытия базы данных</string>
<string name="advanced_unlock_explanation_summary">Использовать разблокировку устройства для более лёгкого открытия базы</string>
<string name="database_data_compression_title">Сжатие данных</string>
<string name="database_data_compression_summary">Сжатие данных уменьшает размер базы</string>
<string name="max_history_items_title">Максимум записей</string>
@@ -413,9 +413,9 @@
<string name="auto_focus_search_title">Быстрый поиск</string>
<string name="auto_focus_search_summary">Открывать поисковый запрос при открытии базы</string>
<string name="remember_database_locations_title">Помнить расположение баз</string>
<string name="remember_database_locations_summary">Помнить расположение файлов баз</string>
<string name="remember_keyfile_locations_title">Помнить расположение файлов ключей</string>
<string name="remember_keyfile_locations_summary">Помнить расположение файлов ключей баз</string>
<string name="remember_database_locations_summary">Запоминать расположение баз паролей</string>
<string name="remember_keyfile_locations_title">Помнить расположение ключей</string>
<string name="remember_keyfile_locations_summary">Запоминать расположение файлов ключей к базам паролей</string>
<string name="show_recent_files_title">Показывать последние базы</string>
<string name="show_recent_files_summary">Показывать расположение последних открытых баз</string>
<string name="hide_broken_locations_title">Скрывать отсутствующие</string>
@@ -446,7 +446,7 @@
<string name="content_description_add_item">Добавить элемент</string>
<string name="keyboard_previous_database_credentials_title">Экран ввода главного пароля</string>
<string name="keyboard_previous_fill_in_summary">Автоматически переключаться на предыдущую клавиатуру после заполнения формы и выполнения автоматического действия кнопки</string>
<string name="keyboard_previous_fill_in_title">Автоматическое действие кнопки</string>
<string name="keyboard_previous_fill_in_title">Переключение назад</string>
<string name="keyboard_previous_database_credentials_summary">Автоматически переключаться на предыдущую клавиатуру на экране входа в базу</string>
<string name="keyboard_change">Переключение клавиатуры</string>
<string name="upload_attachment">Добавить %1$s</string>
@@ -491,29 +491,29 @@
<string name="device_credential_unlock_enable_title">Разблокировка учётными данными устройства</string>
<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_not_recognized">Невозможно распознать расширенную разблокировку</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">При использовании расширенной разблокировки вам всё равно необходимо помнить основные учётные данные.</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="advanced_unlock_prompt_not_initialized">Невозможно инициализировать запрос разблокировки устройства.</string>
<string name="advanced_unlock_not_recognized">Невозможно распознать разблокировку устройства</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">При использовании разблокировки устройства вам всё равно необходимо помнить основные учётные данные.</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>
<string name="back_to_previous_keyboard">Возврат к предыдущей клавиатуре</string>
<string name="custom_fields">Пользовательские поля</string>
<string name="backspace">Backspace</string>
<string name="select_entry">Выберите запись</string>
<string name="education_advanced_unlock_title">Расширенная разблокировка базы</string>
<string name="advanced_unlock_timeout">Срок действия расширенной разблокировки</string>
<string name="education_advanced_unlock_title">Разблокировка базы устройством</string>
<string name="advanced_unlock_timeout">Срок действия разблокировки устройства</string>
<string name="education_advanced_unlock_summary">Свяжите пароль с отсканированными биометрическими данными или учётными данными устройства, чтобы быстро разблокировать базу.</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_title">Временная расширенная разблокировка</string>
<string name="temp_advanced_unlock_enable_summary">Не сохранять зашифрованное содержимое для использования расширенной разблокировки</string>
<string name="advanced_unlock_tap_delete">Нажмите, чтобы удалить ключи расширенной разблокировки</string>
<string name="temp_advanced_unlock_enable_title">Временная разблокировка устройства</string>
<string name="temp_advanced_unlock_enable_summary">Не сохранять зашифрованное содержимое для использования разблокировки устройства</string>
<string name="advanced_unlock_tap_delete">Нажмите, чтобы удалить ключи разблокировки устройства</string>
<string name="content">Содержимое</string>
<string name="error_database_uri_null">Невозможно получить URI базы.</string>
<string name="error_rebuild_list">Невозможно правильно перестроить список.</string>
@@ -545,10 +545,10 @@
<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>
<string name="export_app_properties_summary">Создать резервную копию настроек</string>
<string name="export_app_properties_title">Экспорт настроек</string>
<string name="import_app_properties_summary">Импортировать настройки приложения из файла</string>
<string name="import_app_properties_title">Импорт настроек</string>
<string name="import_app_properties_summary">Выберите резервную копию настроек</string>
<string name="import_app_properties_title">Восстановить настройки</string>
<string name="error_start_database_action">Произошла ошибка при выполнении действия с базой.</string>
<string name="error_move_group_here">Сюда группу переместить невозможно.</string>
<string name="error_word_reserved">Это слово зарезервировано и не может быть использовано.</string>
@@ -603,7 +603,7 @@
<string name="tags">Метки</string>
<string name="warning_keyfile_integrity">Хеш файла не гарантируется, поскольку Android может изменять свои данные на лету. Измените расширение файла на .bin для сохранения целостности.</string>
<string name="enable_keep_screen_on_title">Держать экран включённым</string>
<string name="enable_keep_screen_on_summary">Не отключать экран при просмотре записи</string>
<string name="enable_keep_screen_on_summary">Не отключать экран при просмотре или редактировании записи</string>
<string name="show_entry_colors_title">Цвета записей</string>
<string name="show_entry_colors_summary">Показывать цвета текста и фона записи</string>
<string name="navigation_drawer_open">Открыть панель навигации</string>
@@ -657,9 +657,9 @@
<string name="corrupted_file">Файл повреждён.</string>
<string name="error_location_unknown">Расположение базы неизвестно, действие с базой не может быть выполнено.</string>
<string name="remember_hardware_key_title">Помнить аппаратные ключи</string>
<string name="remember_hardware_key_summary">Помнить используемые аппаратные ключи</string>
<string name="remember_hardware_key_summary">Запоминать используемые аппаратные ключи</string>
<string name="screenshot_mode_banner_text">Режим снимка экрана</string>
<string name="enable_screenshot_mode_title">Режим снимка экрана</string>
<string name="enable_screenshot_mode_title">Разрешать снимки экрана</string>
<string name="hardware_key">Аппаратный ключ</string>
<string name="enable_screenshot_mode_summary">Разрешать сторонним приложениям делать снимки или запись экрана приложения</string>
<string name="waiting_challenge_request">Ожидание запроса на вызов…</string>
@@ -667,4 +667,25 @@
<string name="html_about_privacy">&lt;strong&gt;Никакие пользовательские данные не собираются&lt;/strong&gt;, это приложение не подключается ни к одному серверу, работает исключительно локально и полностью соблюдает конфиденциальность пользователей.</string>
<string name="auto_type">Автонабор</string>
<string name="merge_success">Объединение выполнено</string>
<string name="later">Позже</string>
<string name="ask">Запрос</string>
<string name="unlock">Открыть</string>
<string name="menu_app_settings_summary">Поиск, блокировка, история, настройки</string>
<string name="menu_form_filling_settings_summary">Клавиатура, автозаполнение, буфер обмена</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="education_validate_entry_summary">Не забывайте проверять введённые данные и сохранять базу.
\n
\nЕсли сработает автоматическая блокировка, а вы забудете, что вносили изменения, то рискуете потерять данные.</string>
<string name="info">Информация</string>
<string name="master_key_settings_summary">Изменение, обновление</string>
<string name="warning_copy_permission">Разрешение необходимо для использования функции уведомления буфера обмена.</string>
<string name="menu_appearance_settings_summary">Темы, цвета, атрибуты</string>
<string name="configure">Настройка</string>
<string name="education_validate_entry_title">Проверка записи</string>
<string name="unlock_and_link_biometric">Настройка разблокировки устройства</string>
<string name="warning_database_notification_permission">Разрешение на отображение уведомлений позволяет показывать состояние базы и блокировать её с помощью легкодоступной кнопки.
\n
\nЕсли не предоставить это разрешение, то открытая в фоновом режиме база не будет видна, если на переднем плане находится другое приложение.</string>
</resources>

View File

@@ -53,7 +53,7 @@
<string name="add_entry">เพื่มรายการ</string>
<string name="edit_entry">แก้ไขรายการ</string>
<string name="key_derivation_function">อนุพันธ์ของฟังก์ชันหลัก</string>
<string name="app_timeout">หมดเวลา</string>
<string name="app_timeout">ระยะหมดเวลา</string>
<string name="extended_ASCII">อักขระ ASCII เพื่มเติม</string>
<string name="clipboard_error">บางอุปกรณ์ไม่อนุญาตให้แอปใช้คลิปบอร์ด</string>
<string name="clipboard_error_clear">ไม่สามารถล้างคลิปบอร์ดได้</string>
@@ -90,7 +90,7 @@
<string name="error_hardware_key_unsupported">ไม่รองรับกุญแจฮาร์ดแวร์</string>
<string name="create_keepass_file">สร้างฐานข้อมูลใหม่</string>
<string name="configure_biometric">ไม่ได้กำหนดข้อมูลการยืนยันตัวตนหรือไบโอเมตริก</string>
<string name="advanced_unlock_prompt_store_credential_message">คุณยังจำเป็นต้องจำข้อมูลประจำตัวหลักอยู่ถ้าใช้การปลดล็อกขั้นสูง</string>
<string name="advanced_unlock_prompt_store_credential_message">คุณยังต้องจำข้อมูลรหัสผ่านหลักไว้อยู่ถ้าใช้การปลดล็อกขั้นสูง</string>
<string name="hardware_key">กุญแจฮาร์ดแวร์</string>
<string name="loading_database">กำลังโหลดฐานข้อมูล…</string>
<string name="advanced_unlock_prompt_extract_credential_title">เปิดฐานข้อมูลด้วยการปลดล็อกขั้นสูง</string>
@@ -179,10 +179,10 @@
<string name="select_entry">เลือกรายการ</string>
<string name="autofill_close_database_title">ปิดฐานข้อมูล</string>
<string name="autofill_manual_selection_summary">แสดงตัวเลือกเพื่อให้ผู้ใช้เลือกรายการฐานข้อมูล</string>
<string name="delete_entered_password_title">Delete password</string>
<string name="delete_entered_password_title">ลบรหัสผ่าน</string>
<string name="enable_auto_save_database_title">บันทึกฐานข้อมูลอัตโนมัติ</string>
<string name="enable_keep_screen_on_title">เปิดหน้าจอไว้</string>
<string name="enable_screenshot_mode_title">Screenshot mode</string>
<string name="enable_screenshot_mode_title">โหมดจับภาพหน้าจอ</string>
<string name="education_select_database_summary">เปิดไฟล์ฐานข้อมูลก่อนหน้านี้จากตัวจัดการไฟล์เพื่อใช้งานมันต้อ</string>
<string name="education_new_node_title">เพื่มรายการใหม่ในฐานข้อมูล</string>
<string name="education_new_node_summary">รายการช่วยจัดการตัวตนดิจิทัลของคุณ
@@ -418,7 +418,7 @@
<string name="autofill_block">บล็อกการกรอกอัตโนมัติ</string>
<string name="enable_read_only_title">ป้องกันการเขียน</string>
<string name="reset_education_screens_title">รีเซ็ทคำแนะนำการใช้งาน</string>
<string name="reset_education_screens_summary">แสดงคำแนะนำการใช้งานอีกคั้ง</string>
<string name="reset_education_screens_summary">แสดงคำแนะนำการใช้งานอีกคั้ง</string>
<string name="html_text_dev_feature_contibute">โดยการ&lt;strong&gt;ร่วมแก้ไข&lt;/strong&gt;</string>
<string name="education_setup_OTP_title">ตั้งค่า OTP</string>
<string name="show_entry_colors_title">สีของรายการ</string>
@@ -520,7 +520,7 @@
<string name="warning_keyfile_integrity">ค่าแฮชของไฟล์จะไม่แน่นอนเนี่องจาก Android สามารถเปลี่ยนแปลงข้อมูลในขณะที่ใช้อยู่ได้ เปลี่ยนส่วนขยายไฟล์เป็น .bin เพื่อคงความสมบูรณ์ไว้</string>
<string name="biometric_security_update_required">จำเป็นต้องอัปเดทการรักษาความปลอดภัยของไบโอเมตริก</string>
<string name="keystore_not_accessible">Keystore เรื่มทำงานได้ไม่ถูกต้อง</string>
<string name="advanced_unlock_prompt_store_credential_title">บันทึกการปลดล็อกขั้นสูง</string>
<string name="advanced_unlock_prompt_store_credential_title">เชื่อมโยงการปลดล็อกขั้นสูง</string>
<string name="encrypted_value_stored">เก็บค่ารหัสผ่านที่เข้ารหัสไว้</string>
<string name="advanced_unlock_invalid_key">อ่านกุญแจการปลดล็อกขั้นสูงไม่ได้ โปรดลบข้อมูลออกและเพื่มข้อมูลการปลดล็อกขั้นสูงอีกครั้ง</string>
<string name="advanced_unlock_not_recognized">ไม่รู้จักลายนิ้วมือ</string>
@@ -539,7 +539,7 @@
<string name="general">ทั่วไป</string>
<string name="autofill">การกรอกอัตโนมัติ</string>
<string name="autofill_service_name">การกรอกข้อมูลอัตโนมัติของ KeePassDX</string>
<string name="autofill_explanation_summary">เปิดการกรอกข้อมูลอัตโนมัติเพื่อกรอกข้อมูลในแอปอืนได้อย่างรวดเร็ว</string>
<string name="autofill_explanation_summary">เปิดการกรอกข้อมูลอัตโนมัติเพื่อกรอกข้อมูลในแอปอืนได้อย่างรวดเร็ว</string>
<string name="password_size_summary">ตั้งขนาดรหัสผ่านที่สร้างเรื่มต้น</string>
<string name="lock_database_screen_off_title">หน้าจอล็อก</string>
<string name="unavailable_feature_version">อุปกรณ์นี้เป็น Android %1$s, แต่ต้องการ %2$s ขึ้นไป</string>
@@ -555,7 +555,7 @@
<string name="advanced_unlock_timeout">ระยะหมดเวลาของการปลดล็อกขั้นสูง</string>
<string name="advanced_unlock_delete_all_key_warning">ลบกุญแจเข้ารหัสทั้งหมดที่เกี่ยวข้องกับการปลดล็อกขั้นสูง\?</string>
<string name="unavailable_feature_hardware">ไม่พบอุปกรณ์ที่เกี่ยวข้อง</string>
<string name="biometric_unlock_enable_summary">ให้คุณสแกนไบโอเมตริกเพื่อปลดล็อกฐานข้อมูล</string>
<string name="biometric_unlock_enable_summary">ให้คุณใช้ไบโอเมตริกเพื่อปลดล็อกฐานข้อมูล</string>
<string name="device_credential_unlock_enable_title">การปลดล็อกด้วยข้อมูลประจำตัว</string>
<string name="temp_advanced_unlock_timeout_summary">ระยะเวลาของการใช้การปลดล็อกขั้นสูงก่อนที่จะลบข้อมูลดังกล่าวออก</string>
<string name="biometric_delete_all_key_title">ลบกุญแจเข้ารหัส</string>
@@ -586,7 +586,7 @@
<string name="clear_clipboard_notification_summary">ล็อกฐานข้อมูลเมื่อระยะเวลาในคลิปบอร์ดสิ้นสุดหรือปิดหลังจากคุณเรื่มใช้มันแล้ว</string>
<string name="database_name_title">ชื่อฐานข้อมุ,</string>
<string name="magic_keyboard_explanation_summary">เปิดใช้งานแป้นพิมพ์แบบพิเศษที่จะสำรวจช่องกรอกรหัสผ่านและข้อมูลอื่นๆ</string>
<string name="allow_copy_password_summary">อนุญาตให้คัดลอกรหัสผ่านและเขตข้อมูลที่ป้องกันไว้ไปยังคลิปบอร์ด</string>
<string name="allow_copy_password_summary">อนุญาตให้คัดลอกรหัสผ่านและเขตข้อมูลที่ป้องกันไว้เก็บในคลิปบอร์ด</string>
<string name="allow_copy_password_warning">คำเตือน:คลิปบอร์ดถูกใช้ร่วมกันในทุกแอป หากข้อมูลละเอียดอ่อนถูกคัดลอกไป ซอฟท์แวร์อื่นอาจกู้มันกลับมาได้</string>
<string name="database_default_username_title">ชื่อผู้ใช้เรื่มต้น</string>
<string name="database_custom_color_title">สีของฐานข้อมูลที่กำหนดเอง</string>
@@ -639,10 +639,17 @@
<string name="education_setup_OTP_summary">ตั่้งค่ารหัสผ่านแบบใช้ครั้งเดียว (HOTP/TOTP) เพิ่อสร้างโทเค็นสำหรับการยืนยันสองขั้นตอน (2FA)</string>
<string name="education_field_copy_title">คัดลอกเขตข้อมูล</string>
<string name="education_donation_summary">ช่วยเพื่มความสเถียร ความปลอดภัย และใส่ฟีเจอร์เข้าไปเพื่มเติม</string>
<string name="html_text_ad_free">ไม่เหมือนแอปจัดการรหัสผ่านอื่นๆ แอปนี้&lt;strong&gt;ปลอดโซษณา&lt;/strong&gt;, &lt;strong&gt;เป็นซอฟท์แวร์แบบเสรี&lt;/strong&gt; และไม่เก็บข้อมูลผู้ใช้ไว้บนเซิฟเวอร์ ไม่ว่าจะใช้เวอร์ชั่นอะไรก็ตาม</string>
<string name="html_text_ad_free">ไม่เหมือนแอปจัดการรหัสผ่านอื่นๆ แอปนี้&lt;strong&gt;เป็นซอฟท์แวร์แบบเสรี&lt;/strong&gt;, &lt;strong&gt;ปลอดโฆษณา&lt;/strong&gt; และไม่เก็บข้อมูลผู้ใช้ไว้บนเซิฟเวอร์ ไม่ว่าจะใช้เวอร์ชั่นอะไรก็ตาม</string>
<string name="html_text_buy_pro">โดยการซื้อเวอร์ชั่นโปร คุณจะได้เข้าถึง &lt;strong&gt;สไตล์ของแอปที่มากขึ้น&lt;/strong&gt; และยังมีส่วนช่วย &lt;strong&gt;พัฒนาโครงการโดยชุมชนนี้ต่อไป&lt;/strong&gt;</string>
<string name="html_text_feature_generosity">&lt;strong&gt;สไตล์ของแอป&lt;/strong&gt; นี้ใช้งานได้ ขอขอบคุณการสนับสนุนของคุณ</string>
<string name="html_text_dev_feature">ฟีเจอร์นี้ &lt;strong&gt;อยู่ในระหว่างการพัฒนา&lt;/strong&gt; และต้องการ &lt;strong&gt;ร่วมแก้ไข&lt;/strong&gt;ของคุณ และเปิดให้ใช้งานเร็วๆนี้</string>
<string name="html_text_dev_feature_buy_pro">โดยการซื้อเวอร์ขั่น&lt;strong&gt;โปร&lt;/strong&gt;</string>
<string name="merge_success">การควบรวมเสร็จสมบูรณ์</string>
<string name="warning_database_notification_permission">การอนุญาตสิทธิ์แจ้งเตือนจะทำให้คุณเห็นสถานะของฐานข้อมูลและล็อกมันด้วยปุ่มที่เข้าถืงง่าย
\n
\nหากคุณไม่อนุญาตสิทธิ์นี้ ฐานข้อมูลที่เปิดในพื้นหลังจะไม่สามารถมองเห็นได้หากมีอีกแอปพลิเคชั่นอยู่ในพื้นหน้า</string>
<string name="unlock_and_link_biometric">เชื่อมโยงการปลดล็อกของอุปกรณ์</string>
<string name="ask">ถาม</string>
<string name="warning_copy_permission">ต้องการสิทธิ์การแจ้งเตือนสำหรับคุณสมบัติการแจ้งเตือนของคลิปบอร์ด</string>
<string name="later">ภายหลัง</string>
</resources>

View File

@@ -41,7 +41,7 @@
<string name="digits">Цифри</string>
<string name="html_about_licence">KeePassDX © %1$d Kunzisoft є застосунком з &lt;strong&gt;відкритим програмним кодом&lt;/strong&gt; та &lt;strong&gt;не містить реклами&lt;/strong&gt;.
\nЗастосунок постачається як є, на умовах ліцензії &lt;strong&gt;GPLv3&lt;/strong&gt;, без будь-яких гарантій.</string>
<string name="select_database_file">Відкрити наявну базу даних</string>
<string name="select_database_file">Відкрити наявне сховище</string>
<string name="entry_accessed">Доступ</string>
<string name="entry_cancel">Скасувати</string>
<string name="entry_notes">Примітки</string>
@@ -90,7 +90,7 @@
<string name="settings">Налаштування</string>
<string name="menu_database_settings">Налаштування бази даних</string>
<string name="menu_delete">Видалити</string>
<string name="menu_donate">Допомогти</string>
<string name="menu_donate">Підтримати</string>
<string name="menu_edit">Змінити</string>
<string name="menu_hide_password">Приховати пароль</string>
<string name="menu_lock">Заблокувати базу даних</string>
@@ -176,7 +176,7 @@
<string name="protection">Захист</string>
<string name="auto_focus_search_summary">Відкривати пошук під час відкриття бази даних</string>
<string name="auto_focus_search_title">Швидкий пошук</string>
<string name="create_keepass_file">Створити нову базу даних</string>
<string name="create_keepass_file">Створити нове сховище</string>
<string name="menu_delete_entry_history">Видалити історію</string>
<string name="menu_restore_entry_history">Відновити історію</string>
<string name="menu_empty_recycle_bin">Спорожнити кошик</string>
@@ -190,7 +190,7 @@
<string name="content_description_keyfile_checkbox">Поле файла ключа</string>
<string name="menu_master_key_settings">Налаштування головного ключа</string>
<string name="menu_security_settings">Налаштування безпеки</string>
<string name="menu_advanced_unlock_settings">Розширене розблокування</string>
<string name="menu_advanced_unlock_settings">Розблокування пристрою</string>
<string name="menu_form_filling_settings">Заповнення форм</string>
<string name="copy_field">Скопійовано %1$s</string>
<string name="creating_database">Створення бази даних…</string>
@@ -370,14 +370,14 @@
<string name="file_name">Назва файлу</string>
<string name="unavailable_feature_version">Пристрій працює під керуванням Android %1$s, але необхідний %2$s чи пізніші.</string>
<string name="unavailable_feature_text">Не вдалось запустити цю функцію.</string>
<string name="biometric_delete_all_key_summary">Видалити всі ключі шифрування, пов’язані з розпізнаванням розширеного розблокування</string>
<string name="biometric_delete_all_key_summary">Видалити всі ключі шифрування, пов’язані з розпізнаванням розблокування пристрою</string>
<string name="biometric_delete_all_key_title">Видалити ключі шифрування</string>
<string name="biometric_auto_open_prompt_summary">Автоматично запитувати розширене розблокування, якщо базу даних налаштовано для роботи з ним</string>
<string name="biometric_auto_open_prompt_summary">Автозапит розблокування пристрою, якщо базу даних налаштовано для роботи з ним</string>
<string name="biometric_auto_open_prompt_title">Автозапит ключа</string>
<string name="biometric_unlock_enable_summary">Дозволяє сканувати біометричні дані, щоб відкрити базу даних</string>
<string name="biometric_unlock_enable_title">Розблокування біометричним ключем</string>
<string name="advanced_unlock_explanation_summary">Увімкніть розширені параметри розблокування та спростіть відкриття бази даних</string>
<string name="advanced_unlock">Розширені параметри розблокування</string>
<string name="advanced_unlock_explanation_summary">Використовуйте розблокування пристрою, щоб спростити відкриття бази даних</string>
<string name="advanced_unlock">Розблокування пристрою</string>
<string name="lock_database_show_button_summary">Показувати кнопку блокування в інтерфейсі користувача</string>
<string name="lock_database_show_button_title">Показувати кнопку блокування</string>
<string name="lock_database_back_root_summary">Блокувати базу даних, коли користувач натисне кнопку назад на головному екрані</string>
@@ -405,7 +405,7 @@
<string name="biometric">Біометричний ключ</string>
<string name="menu_appearance_settings">Зовнішній вигляд</string>
<string name="database_history">Історія</string>
<string name="unavailable">У цій базі даних ще немає збережених облікових даних.</string>
<string name="unavailable">Недоступно</string>
<string name="encrypted_value_stored">Зашифрований пароль збережено</string>
<string name="keystore_not_accessible">Сховище ключів не ініціалізовано належним чином.</string>
<string name="build_label">Збірка %1$s</string>
@@ -446,7 +446,7 @@
<string name="content_description_add_item">Додати елемент</string>
<string name="keyboard_change">Перемикання клавіатури</string>
<string name="keyboard_previous_fill_in_summary">Автоматично перемикатися до попередньої клавіатури після виконання дії «Автоматична дія кнопки»</string>
<string name="keyboard_previous_fill_in_title">Автоматична дія кнопки</string>
<string name="keyboard_previous_fill_in_title">Перемкнутися назад</string>
<string name="keyboard_previous_database_credentials_summary">Автоматичне перемикання до попередньої клавіатури, на екрані входу до бази даних</string>
<string name="keyboard_previous_database_credentials_title">Екран входу до бази даних</string>
<string name="warning_file_too_big">База даних KeePass має містити лише невеликі файли утиліт (наприклад, файли ключів PGP).
@@ -487,33 +487,33 @@
<string name="search_mode">Режим пошуку</string>
<string name="error_registration_read_only">Збереження нового елемента заборонено в базі даних лише для читання</string>
<string name="error_field_name_already_exists">Назва поля вже існує.</string>
<string name="advanced_unlock_delete_all_key_warning">Видалити всі ключі шифрування, пов’язані з розширеним розпізнаванням розблокування\?</string>
<string name="advanced_unlock_delete_all_key_warning">Видалити всі ключі шифрування, пов’язані з розпізнаванням розблокування пристрою\?</string>
<string name="device_credential_unlock_enable_summary">Дає змогу використовувати облікові дані пристрою для відкриття бази даних</string>
<string name="device_credential_unlock_enable_title">Розблокування облікових даних пристрою</string>
<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_not_recognized">Не вдалося розпізнати розширене розблокування</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">Навіть якщо ви користуєтеся розширеним розблокуванням, вам однаково необхідно пам\'ятати основні облікові дані.</string>
<string name="advanced_unlock_prompt_store_credential_title">Розпізнавання розширеного розблокування</string>
<string name="menu_keystore_remove_key">Видалити ключ розширеного розблокування</string>
<string name="advanced_unlock_prompt_not_initialized">Не вдалося ініціалізувати запит на розблокування пристрою.</string>
<string name="advanced_unlock_scanning_error">Помилка розблокування пристрою: %1$s</string>
<string name="advanced_unlock_not_recognized">Не вдалося розпізнати розблокування пристрою</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">Якщо ви використовуєте розпізнавання розблокуванням пристрою, вам усе одно потрібно пам\'ятати свої основні облікові дані сховища.</string>
<string name="advanced_unlock_prompt_store_credential_title">Посилання на розблокування пристрою</string>
<string name="menu_keystore_remove_key">Видалити ключ розблокування пристрою</string>
<string name="enter">Enter</string>
<string name="backspace">Backspace</string>
<string name="select_entry">Вибрати запис</string>
<string name="back_to_previous_keyboard">Повернутися до попередньої клавіатури</string>
<string name="custom_fields">Власні поля</string>
<string name="advanced_unlock_timeout">Час дії розширеного розблокування</string>
<string name="temp_advanced_unlock_timeout_title">Час дії розширеного розблокування</string>
<string name="advanced_unlock_timeout">Час дії розблокування пристрою</string>
<string name="temp_advanced_unlock_timeout_title">Час дії розблокування пристрою</string>
<string name="education_advanced_unlock_summary">Пов’яжіть свій пароль зі сканованими біометричними даними або даними пристрою, щоб швидко розблокувати базу даних.</string>
<string name="education_advanced_unlock_title">Розширене розблокування бази даних</string>
<string name="temp_advanced_unlock_timeout_summary">Тривалість використання розширеного розблокування перед видаленням його вмісту</string>
<string name="temp_advanced_unlock_enable_summary">Не зберігати зашифрований вміст для використання розширеного розблокування</string>
<string name="temp_advanced_unlock_enable_title">Тимчасове розширене розблокування</string>
<string name="advanced_unlock_tap_delete">Торкнутися, щоб видалити клавіші розширеного розблокування</string>
<string name="education_advanced_unlock_title">Розблокування бази даних пристроєм</string>
<string name="temp_advanced_unlock_timeout_summary">Тривалість використання розблокування пристрою перед видаленням його вмісту</string>
<string name="temp_advanced_unlock_enable_summary">Не зберігати зашифрований вміст для використання розблокування пристрою</string>
<string name="temp_advanced_unlock_enable_title">Тимчасове розблокування пристрою</string>
<string name="advanced_unlock_tap_delete">Торкніться, щоб видалити ключі розблокування пристрою</string>
<string name="content">Вміст</string>
<string name="error_rebuild_list">Не вдалося належним чином відновити список.</string>
<string name="error_database_uri_null">Неможливо отримати URI бази даних.</string>
@@ -601,7 +601,7 @@
<string name="menu_merge_database">Об\'єднати дані</string>
<string name="warning_database_info_reloaded">Перезавантаження бази даних видалить локально змінені дані.</string>
<string name="enable_keep_screen_on_title">Не вимикати екран</string>
<string name="enable_keep_screen_on_summary">Не вимикати екран під час перегляду запису</string>
<string name="enable_keep_screen_on_summary">Не вимикати екран під час перегляду або редагування запису</string>
<string name="show_entry_colors_title">Кольори записів</string>
<string name="show_entry_colors_summary">Показує кольори шрифту й тла запису</string>
<string name="tags">Мітки</string>
@@ -667,4 +667,25 @@
<string name="html_about_privacy">&lt;strong&gt;Жодні користувацькі дані не збираються&lt;/strong&gt;, цей застосунок не з\'єднується з жодним сервером, він працює лише локально та повністю поважає приватність користувачів.</string>
<string name="auto_type">Автовведення</string>
<string name="merge_success">Успішно об\'єднано</string>
<string name="menu_app_settings_summary">Пошук, блокування, історія, властивості</string>
<string name="menu_form_filling_settings_summary">Клавіатура, автозаповнення, буфер обміну</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="warning_copy_permission">Щоб використовувати функцію сповіщень буфера обміну, потрібен дозвіл на сповіщення.</string>
<string name="later">Пізніше</string>
<string name="ask">Запитувати</string>
<string name="configure">Сконфігурувати</string>
<string name="unlock_and_link_biometric">Посилання для розблокування пристрою</string>
<string name="menu_appearance_settings_summary">Теми, кольори, атрибути</string>
<string name="unlock">Розблокувати</string>
<string name="education_validate_entry_title">Перевірте запис</string>
<string name="education_validate_entry_summary">Не забувайте перевірити свій запис і зберегти базу даних.
\n
\nЯкщо активовано автоблокування і ви забудете, що вносили зміни, ви ризикуєте втратити свої дані.</string>
<string name="info">Відомості</string>
<string name="warning_database_notification_permission">Дозвіл на сповіщення дозволяє показувати стан бази даних і блокувати її за допомогою легкодоступної кнопки.
\n
\nЯкщо ви не активуєте цей дозвіл відкриту у фоновому режимі базу даних не буде видно, якщо на передньому плані інший застосунок.</string>
</resources>

View File

@@ -35,6 +35,11 @@
<item name="android:elevation">0dp</item>
</style>
<!-- Action Style -->
<style name="KeepassDXStyle.Toolbar.Action" parent="KeepassDXStyle.Toolbar">
<item name="android:backgroundTint">@color/surface_selector</item>
</style>
<!-- Preference Theme -->
<style name="KeepassDXStyle.Preference.Theme" parent="@style/PreferenceThemeOverlay">
<item name="android:tint">?attr/colorOnSurface</item>

View File

@@ -20,12 +20,10 @@
<resources>
<style name="KeepassDXStyle.Light.v23" parent="KeepassDXStyle.Light.v21" >
<item name="android:statusBarColor">?attr/colorSurface</item>
<item name="android:navigationBarColor">?attr/colorSurface</item>
<item name="android:windowLightStatusBar">true</item>
</style>
<style name="KeepassDXStyle.Night.v23" parent="KeepassDXStyle.Night.v21" >
<item name="android:statusBarColor">?attr/colorSurface</item>
<item name="android:navigationBarColor">?attr/colorSurface</item>
<item name="android:windowLightStatusBar">false</item>
</style>
</resources>

View File

@@ -21,9 +21,11 @@
<style name="KeepassDXStyle.Light.v27" parent="KeepassDXStyle.Light.v23" >
<item name="android:navigationBarColor">?attr/colorSurface</item>
<item name="android:windowLightNavigationBar">true</item>
<item name="android:windowDrawsSystemBarBackgrounds">true</item>
</style>
<style name="KeepassDXStyle.Night.v27" parent="KeepassDXStyle.Night.v23" >
<item name="android:navigationBarColor">?attr/colorSurface</item>
<item name="android:windowLightNavigationBar">false</item>
<item name="android:windowDrawsSystemBarBackgrounds">true</item>
</style>
</resources>

View File

@@ -41,7 +41,7 @@
<string name="digits">数字</string>
<string name="html_about_licence">KeePassDX © %1$d 是 Kunzisoft 旗下的一个&lt;strong&gt;不含广告&lt;/strong&gt;&lt;strong&gt;开源软件&lt;/strong&gt;
\n它是根据&lt;strong&gt;GPLv3&lt;/strong&gt;许可证分发的您可在遵循GPLv3或者更高版本的协议下重新发布。Kunzisoft对软件的质量和性能等问题不提供任何形式的担保。</string>
<string name="select_database_file">打开已有数据</string>
<string name="select_database_file">打开现有密码</string>
<string name="entry_accessed">访问时间</string>
<string name="entry_cancel">取消</string>
<string name="entry_notes">备注</string>
@@ -179,10 +179,10 @@
<string name="clipboard">剪贴板</string>
<string name="clipboard_notifications_title">剪贴板通知</string>
<string name="lock">锁定</string>
<string name="advanced_unlock">高级解锁</string>
<string name="advanced_unlock">设备解锁</string>
<string name="file_name">文件名</string>
<string name="path">路径</string>
<string name="create_keepass_file">新建数据</string>
<string name="create_keepass_file">新建密码</string>
<string name="database_name_title">数据库名称</string>
<string name="database_description_title">数据库描述</string>
<string name="database_version_title">数据库版本</string>
@@ -208,7 +208,7 @@
<string name="warning_no_encryption_key">确认不使用加密密钥吗?</string>
<string name="build_label">构建 %1$s</string>
<string name="encrypted_value_stored">加密密码已保存</string>
<string name="unavailable">当前数据库无密码。</string>
<string name="unavailable">不可用</string>
<string name="set_autofill_service_title">设为默认的填充服务</string>
<string name="autofill_explanation_summary">启用自动填充功能,以快速填写其他应用中的表单</string>
<string name="password_size_title">密码生成长度</string>
@@ -222,7 +222,7 @@
<string name="biometric_unlock_enable_title">生物识别解锁</string>
<string name="biometric_unlock_enable_summary">通过生物识别解锁数据库</string>
<string name="biometric_delete_all_key_title">删除加密密钥</string>
<string name="biometric_delete_all_key_summary">删除所有与高级解锁识别相关的加密密钥</string>
<string name="biometric_delete_all_key_summary">删除所有与设备解锁识别相关的加密密钥</string>
<string name="unavailable_feature_text">无法启动此功能。</string>
<string name="unavailable_feature_version">此设备运行 Android %1$s ,但应用需要 %2$s 或更高版本。</string>
<string name="unavailable_feature_hardware">找不到所需的硬件。</string>
@@ -254,7 +254,7 @@
<string name="keyboard_key_vibrate_title">按键震动</string>
<string name="keyboard_key_sound_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_education_screens_title">新手引导</string>
<string name="enable_education_screens_summary">高亮界面元素来学习本应用工作方式</string>
<string name="reset_education_screens_title">重置新手引导</string>
@@ -337,10 +337,10 @@
<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="menu_advanced_unlock_settings">高级解锁</string>
<string name="menu_advanced_unlock_settings">设备解锁</string>
<string name="biometric">生物识别</string>
<string name="biometric_auto_open_prompt_title">自动打开提示</string>
<string name="biometric_auto_open_prompt_summary">自动请求高级解锁,如果数据库设置为使用它</string>
<string name="biometric_auto_open_prompt_summary">如数据库设置为使用设备解锁,自动请求使用它</string>
<string name="enable">启用</string>
<string name="disable">禁用</string>
<string name="master_key">主密钥</string>
@@ -369,7 +369,7 @@
<string name="contains_duplicate_uuid_procedure">是否通过为重复项生成新的 UUID 以解决问题?</string>
<string name="database_opened">数据库开启</string>
<string name="clipboard_explanation_summary">使用设备的剪贴板来复制输入字段</string>
<string name="advanced_unlock_explanation_summary">使用高级解锁以便快速解锁数据库</string>
<string name="advanced_unlock_explanation_summary">使用设备解锁以便更轻松地打开数据库</string>
<string name="database_data_compression_title">数据压缩</string>
<string name="database_data_compression_summary">数据压缩减少了数据库的大小</string>
<string name="max_history_items_title">最大数量</string>
@@ -446,7 +446,7 @@
<string name="content_description_add_item">添加条目</string>
<string name="keyboard_previous_database_credentials_title">数据库凭据屏幕</string>
<string name="keyboard_previous_fill_in_summary">执行“自动键动作”后,自动切换回前一个键盘</string>
<string name="keyboard_previous_fill_in_title">自动键动作</string>
<string name="keyboard_previous_fill_in_title">切换回</string>
<string name="keyboard_previous_database_credentials_summary">如果显示数据库凭据屏幕,则自动返回到上一个键盘</string>
<string name="keyboard_change">切换键盘</string>
<string name="upload_attachment">上传 %1$s</string>
@@ -487,33 +487,33 @@
<string name="search_mode">搜索模式</string>
<string name="error_registration_read_only">只读数据库不允许保存新条目</string>
<string name="error_field_name_already_exists">字段名已经存在。</string>
<string name="advanced_unlock_delete_all_key_warning">删除所有与高级解锁识别相关的加密密钥吗?</string>
<string name="advanced_unlock_delete_all_key_warning">删除所有与设备解锁识别相关的加密密钥吗?</string>
<string name="device_credential_unlock_enable_summary">允许您使用设备凭据来打开数据库</string>
<string name="device_credential_unlock_enable_title">设备凭据解锁</string>
<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_not_recognized">无法识别高级解锁印记</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">即使使用高级解锁识别,您仍然需要记住的主凭据。</string>
<string name="advanced_unlock_prompt_store_credential_title">高级解锁识别</string>
<string name="menu_keystore_remove_key">删除高级解锁密钥</string>
<string name="advanced_unlock_prompt_not_initialized">无法初始化设备解锁提示。</string>
<string name="advanced_unlock_scanning_error">设备解锁出错:%1$s</string>
<string name="advanced_unlock_not_recognized">无法识别设备解锁印记</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">即使使用设备解锁识别,您仍然需要记住密码库的主凭据。</string>
<string name="advanced_unlock_prompt_store_credential_title">设备解锁链接</string>
<string name="menu_keystore_remove_key">删除设备解锁密钥</string>
<string name="enter">输入</string>
<string name="backspace">退格键</string>
<string name="select_entry">选择条目</string>
<string name="back_to_previous_keyboard">回到先前的键盘</string>
<string name="custom_fields">自定义字段</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_title">高级解锁过期</string>
<string name="temp_advanced_unlock_enable_summary">存储任何加密内容来使用高级解锁</string>
<string name="temp_advanced_unlock_enable_title">临时性高级解锁</string>
<string name="advanced_unlock_tap_delete">点击删除高级解锁密钥</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_title">设备解锁过期</string>
<string name="temp_advanced_unlock_enable_summary">使用设备解锁但不存储任何加密内容</string>
<string name="temp_advanced_unlock_enable_title">临时性设备解锁</string>
<string name="advanced_unlock_tap_delete">轻按删除设备解锁密钥</string>
<string name="content">内容</string>
<string name="error_rebuild_list">无法正确地重建列表。</string>
<string name="error_database_uri_null">无法检索数据库 URI 。</string>
@@ -602,7 +602,7 @@
<string name="warning_database_info_reloaded">重新加载数据库将删除本地修改的数据。</string>
<string name="warning_keyfile_integrity">文件的哈希值不能保证,因为 Android 可以在运行中更改数据。将文件扩展名更改为 .bin 以确保完整性。</string>
<string name="enable_keep_screen_on_title">保持屏幕亮起</string>
<string name="enable_keep_screen_on_summary">查看条目时保持屏幕亮起</string>
<string name="enable_keep_screen_on_summary">查看或编辑条目时保持屏幕亮起</string>
<string name="show_entry_colors_title">条目颜色</string>
<string name="show_entry_colors_summary">显示条目的前景色和背景色</string>
<string name="tags">标签</string>
@@ -667,4 +667,25 @@
<string name="screenshot_mode_banner_text">截屏模式</string>
<string name="html_about_privacy">&lt;strong&gt;不获取用户数据&lt;/strong&gt;,此应用不连接任何服务器,仅在本地运行,并充分尊重用户的隐私。</string>
<string name="merge_success">合并成功完成</string>
<string name="menu_app_settings_summary">搜索、锁定、历史记录、属性</string>
<string name="menu_form_filling_settings_summary">键盘、自动填充、剪贴板</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="later">以后再说</string>
<string name="configure">配置</string>
<string name="unlock_and_link_biometric">设备解锁链接</string>
<string name="menu_appearance_settings_summary">主题、颜色、属性</string>
<string name="unlock">解锁</string>
<string name="education_validate_entry_title">验证条目</string>
<string name="info">信息</string>
<string name="warning_database_notification_permission">通知权限允许展示数据库状态并通过可以轻松访问的按钮锁定它。
\n
\n如未授予此权限那么在前台存在另一个程序情况下后台打开的数据库将不可见。</string>
<string name="warning_copy_permission">必须授予通知权限才能使用剪贴板通知功能。</string>
<string name="ask">询问</string>
<string name="education_validate_entry_summary">记得验证你的条目并保存你的数据库。
\n
\n如果激活了自动锁定且你忘了你正在进行更改你可能失去你的数据。</string>
</resources>

View File

@@ -139,15 +139,15 @@
<color name="forest_theme_light_errorContainer">#FFDAD6</color>
<color name="forest_theme_light_onError">#FFFFFF</color>
<color name="forest_theme_light_onErrorContainer">#410002</color>
<color name="forest_theme_light_background">#E2F8DF</color>
<color name="forest_theme_light_background">#F8FFF8</color>
<color name="forest_theme_light_onBackground">#1A1C19</color>
<color name="forest_theme_light_surface">#D4EDD0</color>
<color name="forest_theme_light_surface">#E5F6E4</color>
<color name="forest_theme_light_onSurface">#3C423A</color>
<color name="forest_theme_light_surfaceContainerLowest">#D9EFD6</color>
<color name="forest_theme_light_surfaceContainerLow">#D3EDD0</color>
<color name="forest_theme_light_surfaceContainer">#CDEACA</color>
<color name="forest_theme_light_surfaceContainerHigh">#C8E8C5</color>
<color name="forest_theme_light_surfaceContainerHighest">#C2E4BF</color>
<color name="forest_theme_light_surfaceContainerLowest">#E3F3E2</color>
<color name="forest_theme_light_surfaceContainerLow">#E2F4E1</color>
<color name="forest_theme_light_surfaceContainer">#DCF1DB</color>
<color name="forest_theme_light_surfaceContainerHigh">#D7EFD6</color>
<color name="forest_theme_light_surfaceContainerHighest">#D2ECD1</color>
<color name="forest_theme_light_surfaceVariant">#DEE5D8</color>
<color name="forest_theme_light_onSurfaceVariant">#424940</color>
<color name="forest_theme_light_outline">#72796F</color>
@@ -328,14 +328,14 @@
<color name="divine_theme_night_inversePrimary">#6E3000</color>
<color name="divine_theme_night_textPrimary">@color/orange_lighter</color>
<!-- Classic -->
<!-- Simple -->
<color name="simple_theme_light_primary">@color/blue_deep</color>
<color name="simple_theme_light_primaryDark">@color/white_slight</color>
<color name="simple_theme_light_onPrimary">@color/white</color>
<color name="simple_theme_light_primaryContainer">@color/blue_deep</color>
<color name="simple_theme_light_onPrimaryContainer">@color/white_darkest</color>
<color name="simple_theme_light_secondary">@color/blue_deep</color>
<color name="simple_theme_light_secondary">#4F91FF</color>
<color name="simple_theme_light_onSecondary">@color/white</color>
<color name="simple_theme_light_secondaryContainer">#B9DFFF</color>
<color name="simple_theme_light_onSecondaryContainer">#151B2C</color>
@@ -347,9 +347,9 @@
<color name="simple_theme_light_errorContainer">#FFDAD6</color>
<color name="simple_theme_light_onError">#FFFFFF</color>
<color name="simple_theme_light_onErrorContainer">#410002</color>
<color name="simple_theme_light_background">@color/white_slight</color>
<color name="simple_theme_light_background">#F7FBFF</color>
<color name="simple_theme_light_onBackground">@color/cyan_dark</color>
<color name="simple_theme_light_surface">@color/white_slight</color>
<color name="simple_theme_light_surface">#F7FBFF</color>
<color name="simple_theme_light_onSurface">@color/cyan_dark</color>
<color name="simple_theme_light_surfaceContainerLowest">#FCFEFF</color>
<color name="simple_theme_light_surfaceContainerLow">#F8FCFF</color>
@@ -487,15 +487,15 @@
<color name="sun_theme_light_errorContainer">#FFDAD6</color>
<color name="sun_theme_light_onError">#FFFFFF</color>
<color name="sun_theme_light_onErrorContainer">#410002</color>
<color name="sun_theme_light_background">@color/red_white_light</color>
<color name="sun_theme_light_background">#FFF8F8</color>
<color name="sun_theme_light_onBackground">@color/red_black_dark</color>
<color name="sun_theme_light_surface">#FFEDEF</color>
<color name="sun_theme_light_onSurface">@color/red_black_dark</color>
<color name="sun_theme_light_surfaceContainerLowest">#FBEBEB</color>
<color name="sun_theme_light_surfaceContainerLow">#FAE2E2</color>
<color name="sun_theme_light_surfaceContainer">#FADDDE</color>
<color name="sun_theme_light_surfaceContainerHigh">#FBD9DA</color>
<color name="sun_theme_light_surfaceContainerHighest">#FBD6D7</color>
<color name="sun_theme_light_surfaceContainerLowest">#FDEAEB</color>
<color name="sun_theme_light_surfaceContainerLow">#FFE7E8</color>
<color name="sun_theme_light_surfaceContainer">#FFE4E5</color>
<color name="sun_theme_light_surfaceContainerHigh">#FBDEDF</color>
<color name="sun_theme_light_surfaceContainerHighest">#FADBDC</color>
<color name="sun_theme_light_surfaceVariant">#DEE5D8</color>
<color name="sun_theme_light_onSurfaceVariant">#494040</color>
<color name="sun_theme_light_outline">#796F6F</color>
@@ -521,7 +521,7 @@
<color name="sun_theme_night_errorContainer">#93000A</color>
<color name="sun_theme_night_onError">#690005</color>
<color name="sun_theme_night_onErrorContainer">#FFDAD6</color>
<color name="sun_theme_night_background">@color/red_black_dark</color>
<color name="sun_theme_night_background">#27171A</color>
<color name="sun_theme_night_onBackground">#DDE3E3</color>
<color name="sun_theme_night_surface">#2E1D20</color>
<color name="sun_theme_night_onSurface">#F1F2F3</color>
@@ -545,7 +545,7 @@
<color name="reply_theme_light_onPrimary">#232F34</color>
<color name="reply_theme_light_primaryContainer">#F9AA33</color>
<color name="reply_theme_light_onPrimaryContainer">#232F34</color>
<color name="reply_theme_light_secondary">#FF9A00</color>
<color name="reply_theme_light_secondary">#E6900A</color>
<color name="reply_theme_light_onSecondary">#232F34</color>
<color name="reply_theme_light_secondaryContainer">#3E5560</color>
<color name="reply_theme_light_onSecondaryContainer">#F6F8FA</color>
@@ -579,7 +579,7 @@
<color name="reply_theme_night_onPrimary">#232F34</color>
<color name="reply_theme_night_primaryContainer">#F9AA33</color>
<color name="reply_theme_night_onPrimaryContainer">#232F34</color>
<color name="reply_theme_night_secondary">#FF9A00</color>
<color name="reply_theme_night_secondary">#DC8400</color>
<color name="reply_theme_night_onSecondary">#232F34</color>
<color name="reply_theme_night_secondaryContainer">#2D3E45</color>
<color name="reply_theme_night_onSecondaryContainer">#F6F8FA</color>
@@ -615,7 +615,7 @@
<color name="purple_theme_light_onPrimary">@color/white</color>
<color name="purple_theme_light_primaryContainer">@color/red</color>
<color name="purple_theme_light_onPrimaryContainer">@color/white</color>
<color name="purple_theme_light_secondary">@color/red</color>
<color name="purple_theme_light_secondary">#A34296</color>
<color name="purple_theme_light_onSecondary">@color/white</color>
<color name="purple_theme_light_secondaryContainer">#8449A8</color>
<color name="purple_theme_light_onSecondaryContainer">@color/white</color>
@@ -649,7 +649,7 @@
<color name="purple_theme_night_onPrimary">@color/white_purple_light</color>
<color name="purple_theme_night_primaryContainer">@color/red_dark</color>
<color name="purple_theme_night_onPrimaryContainer">@color/white</color>
<color name="purple_theme_night_secondary">@color/red</color>
<color name="purple_theme_night_secondary">#8A3C80</color>
<color name="purple_theme_night_onSecondary">@color/white_purple_light</color>
<color name="purple_theme_night_secondaryContainer">#4C186A</color>
<color name="purple_theme_night_onSecondaryContainer">#DED1E8</color>

View File

@@ -25,7 +25,7 @@
<dimen name="image_list_margin_vertical_back">15dp</dimen>
<dimen name="image_preview_height">144dp</dimen>
<dimen name="button_margin">8dp</dimen>
<dimen name="selectable_margin_vertical">4dp</dimen>
<dimen name="selectable_margin_top">8dp</dimen>
<dimen name="selectable_margin_horizontal">8dp</dimen>
<dimen name="selectable_min_height">36dp</dimen>
<dimen name="button_small_size">48dp</dimen>

View File

@@ -320,15 +320,15 @@
<string name="show_recent_files_summary">Show locations of recent databases</string>
<string name="hide_broken_locations_title">Hide broken database links</string>
<string name="hide_broken_locations_summary">Hide broken links in the list of recent databases</string>
<string name="import_app_properties_title">Import app properties</string>
<string name="import_app_properties_summary">Select a file to import app properties</string>
<string name="export_app_properties_title">Export app properties</string>
<string name="export_app_properties_summary">Create a file to export app properties</string>
<string name="import_app_properties_title">Import app settings</string>
<string name="import_app_properties_summary">Select a file to import app settings</string>
<string name="export_app_properties_title">Export app settings</string>
<string name="export_app_properties_summary">Create a file to export app settings</string>
<string name="description_app_properties">KeePassDX properties to manage app settings</string>
<string name="success_import_app_properties">App properties imported</string>
<string name="error_import_app_properties">Error during app properties importation</string>
<string name="success_export_app_properties">App properties exported</string>
<string name="error_export_app_properties">Error during app properties exportation</string>
<string name="success_import_app_properties">App settings imported</string>
<string name="error_import_app_properties">Error during app settings import</string>
<string name="success_export_app_properties">App settings exported</string>
<string name="error_export_app_properties">Error during app settings export</string>
<string name="root">Root</string>
<string name="encryption_explanation">Database encryption algorithm used for all data</string>
<string name="kdf_explanation">To generate the key for the encryption algorithm, the master key is transformed using a randomly salted key derivation function.</string>

View File

@@ -307,10 +307,10 @@
<item name="buttonBarPositiveButtonStyle">@style/KeepassDXStyle.Night.Dialog.PositiveButtonStyle</item>
</style>
<style name="KeepassDXStyle.Night.Dialog.NegativeButtonStyle" parent="Widget.Material3.Button.TextButton.Dialog">
<item name="android:textColor">?attr/colorOnSurface</item>
<item name="android:textColor">?attr/colorPrimary</item>
</style>
<style name="KeepassDXStyle.Night.Dialog.PositiveButtonStyle" parent="Widget.Material3.Button.TextButton.Dialog">
<item name="android:textColor">?attr/colorOnSurface</item>
<item name="android:textColor">?attr/colorPrimary</item>
</style>
<!-- CardView -->
@@ -430,6 +430,9 @@
<item name="android:tint">@color/text_primary_color</item>
<item name="android:textSize">11sp</item>
</style>
<style name="KeepassDXStyle.Meta.Entry.Important" parent="KeepassDXStyle.Meta.Entry">
<item name="android:textStyle">italic|bold</item>
</style>
<style name="KeepassDXStyle.Info.Entry" parent="KeepassDXStyle.Text">
<item name="android:textColor">@color/text_secondary_color</item>
<item name="android:tint">@color/text_secondary_color</item>
@@ -471,8 +474,8 @@
<item name="backgroundTint">?attr/colorSecondary</item>
</style>
<style name="KeepassDXStyle.ImageButton.Simple" parent="KeepassDXStyle.v21.ImageButton">
<item name="android:colorForeground">?attr/colorSecondary</item>
<item name="tint">?attr/colorSecondary</item>
<item name="android:colorForeground">@color/secondary_selector</item>
<item name="tint">@color/secondary_selector</item>
<item name="android:background">?android:attr/actionBarItemBackground</item>
<item name="backgroundTint">@null</item>
<item name="android:padding">12dp</item>

View File

@@ -29,6 +29,9 @@ Settings Activity. This is pointed to in the service's meta-data in the applicat
<compatibility-package
android:name="alook.browser"
android:maxLongVersionCode="10000000000"/>
<compatibility-package
android:name="alook.browser.google"
android:maxLongVersionCode="10000000000"/>
<compatibility-package
android:name="app.vanadium.browser"
android:maxLongVersionCode="10000000000"/>
@@ -89,12 +92,24 @@ Settings Activity. This is pointed to in the service's meta-data in the applicat
<compatibility-package
android:name="com.google.android.apps.chrome_dev"
android:maxLongVersionCode="10000000000"/>
<compatibility-package
android:name="com.google.android.captiveportallogin"
android:maxLongVersionCode="10000000000"/>
<compatibility-package
android:name="com.iode.firefox"
android:maxLongVersionCode="10000000000"/>
<compatibility-package
android:name="com.jamal2367.styx"
android:maxLongVersionCode="10000000000"/>
<compatibility-package
android:name="com.kiwibrowser.browser"
android:maxLongVersionCode="10000000000"/>
<compatibility-package
android:name="com.kiwibrowser.browser.dev"
android:maxLongVersionCode="10000000000"/>
<compatibility-package
android:name="com.lemurbrowser.exts"
android:maxLongVersionCode="10000000000"/>
<compatibility-package
android:name="com.microsoft.emmx"
android:maxLongVersionCode="10000000000"/>
@@ -119,12 +134,18 @@ Settings Activity. This is pointed to in the service's meta-data in the applicat
<compatibility-package
android:name="com.naver.whale"
android:maxLongVersionCode="10000000000"/>
<compatibility-package
android:name="com.neeva.app"
android:maxLongVersionCode="10000000000"/>
<compatibility-package
android:name="com.opera.browser"
android:maxLongVersionCode="10000000000"/>
<compatibility-package
android:name="com.opera.browser.beta"
android:maxLongVersionCode="10000000000"/>
<compatibility-package
android:name="com.opera.gx"
android:maxLongVersionCode="10000000000"/>
<compatibility-package
android:name="com.opera.mini.native"
android:maxLongVersionCode="10000000000"/>
@@ -134,9 +155,15 @@ Settings Activity. This is pointed to in the service's meta-data in the applicat
<compatibility-package
android:name="com.opera.touch"
android:maxLongVersionCode="10000000000"/>
<compatibility-package
android:name="com.qflair.browserq"
android:maxLongVersionCode="10000000000"/>
<compatibility-package
android:name="com.qwant.liberty"
android:maxLongVersionCode="10000000000"/>
<compatibility-package
android:name="com.rainsee.create"
android:maxLongVersionCode="10000000000"/>
<compatibility-package
android:name="com.sec.android.app.sbrowser"
android:maxLongVersionCode="10000000000"/>
@@ -161,6 +188,15 @@ Settings Activity. This is pointed to in the service's meta-data in the applicat
<compatibility-package
android:name="com.yandex.browser"
android:maxLongVersionCode="10000000000"/>
<compatibility-package
android:name="com.yjllq.internet"
android:maxLongVersionCode="10000000000"/>
<compatibility-package
android:name="com.yjllq.kito"
android:maxLongVersionCode="10000000000"/>
<compatibility-package
android:name="com.yujian.ResideMenuDemo"
android:maxLongVersionCode="10000000000"/>
<compatibility-package
android:name="com.z28j.feel"
android:maxLongVersionCode="10000000000"/>
@@ -182,6 +218,9 @@ Settings Activity. This is pointed to in the service's meta-data in the applicat
<compatibility-package
android:name="mark.via.gp"
android:maxLongVersionCode="10000000000"/>
<compatibility-package
android:name="net.dezor.browser"
android:maxLongVersionCode="10000000000"/>
<compatibility-package
android:name="net.slions.fulguris.full.download"
android:maxLongVersionCode="10000000000"/>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 68 KiB

After

Width:  |  Height:  |  Size: 58 KiB

View File

@@ -22,7 +22,7 @@ android {
minifyEnabled false
}
}
externalNativeBuild {
cmake {
path "src/main/jni/CMakeLists.txt"
@@ -30,11 +30,12 @@ android {
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
sourceCompatibility JavaVersion.VERSION_1_8
}
kotlinOptions {
jvmTarget = '1.8'
jvmTarget = "1.8"
}
}

View File

@@ -18,13 +18,16 @@ android {
minifyEnabled false
}
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
sourceCompatibility JavaVersion.VERSION_1_8
}
kotlinOptions {
jvmTarget = '1.8'
jvmTarget = "1.8"
}
testOptions {
unitTests {
includeAndroidResources = true

View File

@@ -29,7 +29,9 @@ import com.kunzisoft.keepass.database.element.icon.IconImage
import com.kunzisoft.keepass.database.element.node.*
import com.kunzisoft.keepass.model.EntryInfo
import com.kunzisoft.keepass.model.GroupInfo
import com.kunzisoft.keepass.utils.readBooleanCompat
import com.kunzisoft.keepass.utils.readParcelableCompat
import com.kunzisoft.keepass.utils.writeBooleanCompat
import java.util.*
import kotlin.collections.ArrayList
@@ -44,6 +46,7 @@ class Group : Node, GroupVersionedInterface<Group, Entry> {
var isVirtual = false
var numberOfChildEntries: Int = 0
var recursiveNumberOfChildEntries: Int = 0
/**
* Use this constructor to copy a Group
@@ -78,7 +81,7 @@ class Group : Node, GroupVersionedInterface<Group, Entry> {
constructor(parcel: Parcel) {
groupKDB = parcel.readParcelableCompat()
groupKDBX = parcel.readParcelableCompat()
isVirtual = parcel.readByte().toInt() != 0
isVirtual = parcel.readBooleanCompat()
}
enum class ChildFilter {
@@ -112,7 +115,7 @@ class Group : Node, GroupVersionedInterface<Group, Entry> {
override fun writeToParcel(dest: Parcel, flags: Int) {
dest.writeParcelable(groupKDB, flags)
dest.writeParcelable(groupKDBX, flags)
dest.writeByte((if (isVirtual) 1 else 0).toByte())
dest.writeBooleanCompat(isVirtual)
}
override val nodeId: NodeId<*>
@@ -330,6 +333,18 @@ class Group : Node, GroupVersionedInterface<Group, Entry> {
fun refreshNumberOfChildEntries(filters: Array<ChildFilter> = emptyArray()) {
this.numberOfChildEntries = getFilteredChildEntries(filters).size
this.recursiveNumberOfChildEntries = getFilteredChildEntriesInGroups(filters)
}
/**
* @return the cumulative number of entries in the current group and its children
*/
private fun getFilteredChildEntriesInGroups(filters: Array<ChildFilter>): Int {
var counter = 0
getChildGroups().forEach { childGroup ->
counter += childGroup.getFilteredChildEntriesInGroups(filters)
}
return getFilteredChildEntries(filters).size + counter
}
/**

View File

@@ -24,6 +24,8 @@ import android.content.Context
import android.os.Parcel
import android.os.Parcelable
import android.util.Base64
import com.kunzisoft.keepass.utils.readBooleanCompat
import com.kunzisoft.keepass.utils.writeBooleanCompat
import org.apache.commons.io.output.CountingOutputStream
import java.io.IOException
import java.io.InputStream
@@ -51,17 +53,17 @@ abstract class BinaryData : Parcelable {
}
protected constructor(parcel: Parcel) {
isCompressed = parcel.readByte().toInt() != 0
isProtected = parcel.readByte().toInt() != 0
isCorrupted = parcel.readByte().toInt() != 0
isCompressed = parcel.readBooleanCompat()
isProtected = parcel.readBooleanCompat()
isCorrupted = parcel.readBooleanCompat()
mLength = parcel.readLong()
mBinaryHash = parcel.readInt()
}
override fun writeToParcel(dest: Parcel, flags: Int) {
dest.writeByte((if (isCompressed) 1 else 0).toByte())
dest.writeByte((if (isProtected) 1 else 0).toByte())
dest.writeByte((if (isCorrupted) 1 else 0).toByte())
dest.writeBooleanCompat(isCompressed)
dest.writeBooleanCompat(isProtected)
dest.writeBooleanCompat(isCorrupted)
dest.writeLong(mLength)
dest.writeInt(mBinaryHash)
}

View File

@@ -22,6 +22,8 @@ package com.kunzisoft.keepass.database.element.entry
import android.os.Parcel
import android.os.Parcelable
import com.kunzisoft.keepass.utils.UnsignedInt
import com.kunzisoft.keepass.utils.readBooleanCompat
import com.kunzisoft.keepass.utils.writeBooleanCompat
class AutoType : Parcelable {
@@ -41,7 +43,7 @@ class AutoType : Parcelable {
}
constructor(parcel: Parcel) {
this.enabled = parcel.readByte().toInt() != 0
this.enabled = parcel.readBooleanCompat()
this.obfuscationOptions = UnsignedInt(parcel.readInt())
this.defaultSequence = parcel.readString() ?: defaultSequence
parcel.readTypedList(this.windowSeqPairs, AutoTypeItem.CREATOR)
@@ -52,7 +54,7 @@ class AutoType : Parcelable {
}
override fun writeToParcel(dest: Parcel, flags: Int) {
dest.writeByte((if (enabled) 1 else 0).toByte())
dest.writeBooleanCompat(enabled)
dest.writeInt(obfuscationOptions.toKotlinInt())
dest.writeString(defaultSequence)
dest.writeTypedList(windowSeqPairs)

View File

@@ -34,6 +34,8 @@ import com.kunzisoft.keepass.database.element.node.Type
import com.kunzisoft.keepass.utils.readParcelableCompat
import com.kunzisoft.keepass.utils.readSerializableCompat
import com.kunzisoft.keepass.utils.UnsignedLong
import com.kunzisoft.keepass.utils.readBooleanCompat
import com.kunzisoft.keepass.utils.writeBooleanCompat
import java.util.*
class GroupKDBX : GroupVersioned<UUID, UUID, GroupKDBX, EntryKDBX>, NodeKDBXInterface {
@@ -70,7 +72,7 @@ class GroupKDBX : GroupVersioned<UUID, UUID, GroupKDBX, EntryKDBX>, NodeKDBXInte
locationChanged = parcel.readParcelableCompat() ?: locationChanged
customData = parcel.readParcelableCompat() ?: CustomData()
notes = parcel.readString() ?: notes
isExpanded = parcel.readByte().toInt() != 0
isExpanded = parcel.readBooleanCompat()
val isSearchingEnabled = parcel.readInt()
enableSearching = if (isSearchingEnabled == -1) null else isSearchingEnabled == 1
val isAutoTypeEnabled = parcel.readInt()
@@ -95,7 +97,7 @@ class GroupKDBX : GroupVersioned<UUID, UUID, GroupKDBX, EntryKDBX>, NodeKDBXInte
dest.writeParcelable(locationChanged, flags)
dest.writeParcelable(customData, flags)
dest.writeString(notes)
dest.writeByte((if (isExpanded) 1 else 0).toByte())
dest.writeBooleanCompat(isExpanded)
dest.writeInt(if (enableSearching == null) -1 else if (enableSearching!!) 1 else 0)
dest.writeInt(if (enableAutoType == null) -1 else if (enableAutoType!!) 1 else 0)
dest.writeString(defaultAutoTypeSequence)

View File

@@ -26,7 +26,9 @@ import com.kunzisoft.keepass.database.element.DateInstant
import com.kunzisoft.keepass.database.element.entry.EntryVersionedInterface
import com.kunzisoft.keepass.database.element.group.GroupVersionedInterface
import com.kunzisoft.keepass.database.element.icon.IconImage
import com.kunzisoft.keepass.utils.readBooleanCompat
import com.kunzisoft.keepass.utils.readParcelableCompat
import com.kunzisoft.keepass.utils.writeBooleanCompat
/**
* Abstract class who manage Groups and Entries
@@ -51,7 +53,7 @@ abstract class NodeVersioned<IdType, Parent : GroupVersionedInterface<Parent, En
this.lastModificationTime = parcel.readParcelableCompat() ?: lastModificationTime
this.lastAccessTime = parcel.readParcelableCompat() ?: lastAccessTime
this.expiryTime = parcel.readParcelableCompat() ?: expiryTime
this.expires = parcel.readByte().toInt() != 0
this.expires = parcel.readBooleanCompat()
}
override fun writeToParcel(dest: Parcel, flags: Int) {
@@ -62,7 +64,7 @@ abstract class NodeVersioned<IdType, Parent : GroupVersionedInterface<Parent, En
dest.writeParcelable(lastModificationTime, flags)
dest.writeParcelable(lastAccessTime, flags)
dest.writeParcelable(expiryTime, flags)
dest.writeByte((if (expires) 1 else 0).toByte())
dest.writeBooleanCompat(expires)
}
override fun describeContents(): Int {

View File

@@ -21,6 +21,8 @@ package com.kunzisoft.keepass.database.element.security
import android.os.Parcel
import android.os.Parcelable
import com.kunzisoft.keepass.utils.readBooleanCompat
import com.kunzisoft.keepass.utils.writeBooleanCompat
class ProtectedString : Parcelable {
@@ -39,7 +41,7 @@ class ProtectedString : Parcelable {
}
constructor(parcel: Parcel) {
isProtected = parcel.readByte().toInt() != 0
isProtected = parcel.readBooleanCompat()
stringValue = parcel.readString() ?: stringValue
}
@@ -48,7 +50,7 @@ class ProtectedString : Parcelable {
}
override fun writeToParcel(dest: Parcel, flags: Int) {
dest.writeByte((if (isProtected) 1 else 0).toByte())
dest.writeBooleanCompat(isProtected)
dest.writeString(stringValue)
}

View File

@@ -27,7 +27,7 @@ import java.io.PrintWriter
abstract class DatabaseException : Exception {
var innerMessage: String? = null
var parameters: (Array<out String>)? = null
var parameters = mutableListOf<String>()
var mThrowable: Throwable? = null
constructor() : super()
@@ -94,7 +94,10 @@ class NoMemoryDatabaseException(exception: Throwable) : DatabaseInputException(e
class DuplicateUuidDatabaseException(type: Type, uuid: NodeId<*>) : DatabaseInputException() {
init {
parameters = arrayOf(type.name, uuid.toString())
parameters.apply {
add(type.name)
add(uuid.toString())
}
}
}

View File

@@ -29,8 +29,10 @@ import com.kunzisoft.keepass.database.element.template.TemplateField
import com.kunzisoft.keepass.otp.OtpElement
import com.kunzisoft.keepass.otp.OtpEntryFields
import com.kunzisoft.keepass.otp.OtpEntryFields.OTP_TOKEN_FIELD
import com.kunzisoft.keepass.utils.readBooleanCompat
import com.kunzisoft.keepass.utils.readListCompat
import com.kunzisoft.keepass.utils.readParcelableCompat
import com.kunzisoft.keepass.utils.writeBooleanCompat
import java.util.*
class EntryInfo : NodeInfo {
@@ -66,7 +68,7 @@ class EntryInfo : NodeInfo {
parcel.readListCompat(attachments)
autoType = parcel.readParcelableCompat() ?: autoType
otpModel = parcel.readParcelableCompat() ?: otpModel
isTemplate = parcel.readByte().toInt() != 0
isTemplate = parcel.readBooleanCompat()
}
override fun describeContents(): Int {
@@ -87,7 +89,7 @@ class EntryInfo : NodeInfo {
parcel.writeList(attachments)
parcel.writeParcelable(autoType, flags)
parcel.writeParcelable(otpModel, flags)
parcel.writeByte((if (isTemplate) 1 else 0).toByte())
parcel.writeBooleanCompat(isTemplate)
}
fun containsCustomFieldsProtected(): Boolean {

View File

@@ -5,7 +5,9 @@ import android.os.Parcelable
import com.kunzisoft.keepass.database.element.CustomData
import com.kunzisoft.keepass.database.element.DateInstant
import com.kunzisoft.keepass.database.element.icon.IconImage
import com.kunzisoft.keepass.utils.readBooleanCompat
import com.kunzisoft.keepass.utils.readParcelableCompat
import com.kunzisoft.keepass.utils.writeBooleanCompat
open class NodeInfo() : Parcelable {
@@ -22,7 +24,7 @@ open class NodeInfo() : Parcelable {
icon = parcel.readParcelableCompat() ?: icon
creationTime = parcel.readParcelableCompat() ?: creationTime
lastModificationTime = parcel.readParcelableCompat() ?: lastModificationTime
expires = parcel.readInt() != 0
expires = parcel.readBooleanCompat()
expiryTime = parcel.readParcelableCompat() ?: expiryTime
customData = parcel.readParcelableCompat() ?: customData
}
@@ -32,7 +34,7 @@ open class NodeInfo() : Parcelable {
parcel.writeParcelable(icon, flags)
parcel.writeParcelable(creationTime, flags)
parcel.writeParcelable(lastModificationTime, flags)
parcel.writeInt(if (expires) 1 else 0)
parcel.writeBooleanCompat(expires)
parcel.writeParcelable(expiryTime, flags)
parcel.writeParcelable(customData, flags)
}

View File

@@ -6,6 +6,8 @@ import android.os.Parcel
import android.os.Parcelable
import com.kunzisoft.keepass.otp.OtpEntryFields
import com.kunzisoft.keepass.utils.ObjectNameResource
import com.kunzisoft.keepass.utils.readBooleanCompat
import com.kunzisoft.keepass.utils.writeBooleanCompat
class SearchInfo : ObjectNameResource, Parcelable {
var manualSelection: Boolean = false
@@ -44,7 +46,7 @@ class SearchInfo : ObjectNameResource, Parcelable {
}
private constructor(parcel: Parcel) {
manualSelection = parcel.readByte().toInt() != 0
manualSelection = parcel.readBooleanCompat()
val readAppId = parcel.readString()
applicationId = if (readAppId.isNullOrEmpty()) null else readAppId
val readDomain = parcel.readString()
@@ -60,7 +62,7 @@ class SearchInfo : ObjectNameResource, Parcelable {
}
override fun writeToParcel(parcel: Parcel, flags: Int) {
parcel.writeByte((if (manualSelection) 1 else 0).toByte())
parcel.writeBooleanCompat(manualSelection)
parcel.writeString(applicationId ?: "")
parcel.writeString(webDomain ?: "")
parcel.writeString(webScheme ?: "")

View File

@@ -234,4 +234,8 @@ inline fun <reified T : Enum<T>> Parcel.readEnum() =
readString()?.let { enumValueOf<T>(it) }
fun <T : Enum<T>> Parcel.writeEnum(value: T?) =
writeString(value?.name)
writeString(value?.name)
fun Parcel.readBooleanCompat(): Boolean = readByte().toInt() != 0
fun Parcel.writeBooleanCompat(value: Boolean) = writeByte((if (value) 1 else 0).toByte())

View File

@@ -1,6 +0,0 @@
* New UX/UI with Material 3 #1183 #1529 #1428 #1441
* Material You theme (follow system colors) #1469
* Refactoring inner code #1371
* Migration to API 33
* Fix behaviors #1351
* Fix bugs #1589 #1584 #1545 #1563 #1371

View File

@@ -0,0 +1,7 @@
* New UX/UI with Material 3 #1183 #1529 #1428 #1441 #1607
* Material You theme (follow system colors) #1469
* Refactoring inner code #1371
* Migration to API 33
* Cut, copy and delete from search #891 #1308 #1263
* Fix behaviors #1351 #874 #1327
* Fix bugs #1589 #1584 #1545 #1563 #1371 #1609

Binary file not shown.

Before

Width:  |  Height:  |  Size: 182 KiB

After

Width:  |  Height:  |  Size: 142 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 113 KiB

After

Width:  |  Height:  |  Size: 234 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 357 KiB

After

Width:  |  Height:  |  Size: 173 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 82 KiB

After

Width:  |  Height:  |  Size: 188 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 134 KiB

After

Width:  |  Height:  |  Size: 166 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 104 KiB

After

Width:  |  Height:  |  Size: 204 KiB

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