Compare commits

..

135 Commits
3.4.0 ... 3.4.5

Author SHA1 Message Date
J-Jamet
0ef574d675 Merge branch 'release/3.4.5' 2022-06-02 11:29:00 +02:00
J-Jamet
6d15a2462d Merge branch 'translations' into develop 2022-06-02 11:02:57 +02:00
J-Jamet
24fcdeb7aa Merge branch 'develop' of https://hosted.weblate.org/git/keepass-dx/strings into translations 2022-06-02 11:01:11 +02:00
J-Jamet
13905db732 fix: searchable selection 2022-06-01 14:15:41 +02:00
J-Jamet
6e1c8e5bec fix: custom data in group (fix KeeShare) #1335 2022-06-01 12:41:01 +02:00
J-Jamet
9aa1d11b94 Change the order of the search filters 2022-05-31 18:46:46 +02:00
J-Jamet
6c9f359fae New clipboard manager #1343 2022-05-31 18:22:01 +02:00
J-Jamet
531ebcae85 Fix device credential unlocking #1344 2022-05-31 11:44:42 +02:00
J-Jamet
fe9601b510 Change to 3.4.5 2022-05-31 10:25:34 +02:00
Oymate
bdf7cc6ea0 Translated using Weblate (Bengali)
Currently translated at 15.7% (96 of 609 strings)

Translation: KeePassDX/Strings
Translate-URL: https://hosted.weblate.org/projects/keepass-dx/strings/bn/
2022-05-30 21:18:06 +02:00
Douglas Han
1cfe02af6f Translated using Weblate (Korean)
Currently translated at 28.0% (171 of 609 strings)

Translation: KeePassDX/Strings
Translate-URL: https://hosted.weblate.org/projects/keepass-dx/strings/ko/
2022-05-30 21:18:05 +02:00
J-Jamet
11da0a4500 Keep screen on by default when viewing an entry
Upgrade to 3.5.0
2022-05-30 10:31:18 +02:00
J-Jamet
fd736bd1c2 Keep screen on entry by default 2022-05-30 10:24:47 +02:00
Oymate
ca6a4bfeef Translated using Weblate (Bengali)
Currently translated at 7.2% (44 of 609 strings)

Translation: KeePassDX/Strings
Translate-URL: https://hosted.weblate.org/projects/keepass-dx/strings/bn/
2022-05-27 16:16:54 +02:00
Oymate
02e9debc42 Translated using Weblate (Bengali (Bangladesh))
Currently translated at 15.2% (93 of 609 strings)

Translation: KeePassDX/Strings
Translate-URL: https://hosted.weblate.org/projects/keepass-dx/strings/bn_BD/
2022-05-27 16:16:53 +02:00
Oymate
9bc9bd8b95 Added translation using Weblate (Bengali) 2022-05-26 15:10:24 +02:00
Park JM
d810f79b7a Translated using Weblate (Korean)
Currently translated at 20.5% (125 of 609 strings)

Translation: KeePassDX/Strings
Translate-URL: https://hosted.weblate.org/projects/keepass-dx/strings/ko/
2022-05-24 11:17:53 +02:00
Milo Ivir
f3468951f1 Translated using Weblate (Croatian)
Currently translated at 100.0% (609 of 609 strings)

Translation: KeePassDX/Strings
Translate-URL: https://hosted.weblate.org/projects/keepass-dx/strings/hr/
2022-05-22 19:32:57 +02:00
Kunzisoft
7ec5badabb Translated using Weblate (French)
Currently translated at 100.0% (609 of 609 strings)

Translation: KeePassDX/Strings
Translate-URL: https://hosted.weblate.org/projects/keepass-dx/strings/fr/
2022-05-20 22:17:36 +02:00
SHINJI.K
fe92e41e91 Translated using Weblate (Japanese)
Currently translated at 100.0% (609 of 609 strings)

Translation: KeePassDX/Strings
Translate-URL: https://hosted.weblate.org/projects/keepass-dx/strings/ja/
2022-05-15 15:18:25 +02:00
zeritti
e58c2f2a99 Translated using Weblate (Czech)
Currently translated at 100.0% (609 of 609 strings)

Translation: KeePassDX/Strings
Translate-URL: https://hosted.weblate.org/projects/keepass-dx/strings/cs/
2022-05-15 15:18:24 +02:00
J-Jamet
aecfbc7728 Upgrade gradle 2022-05-11 10:59:14 +02:00
J-Jamet
bdf9b864d4 Merge tag '3.4.4' into develop
3.4.4
2022-05-11 10:00:50 +02:00
J-Jamet
1c0f1a036b Merge branch 'release/3.4.4' 2022-05-11 10:00:42 +02:00
Claudio
1868d90693 Translated using Weblate (Italian)
Currently translated at 100.0% (609 of 609 strings)

Translation: KeePassDX/Strings
Translate-URL: https://hosted.weblate.org/projects/keepass-dx/strings/it/
2022-05-08 16:00:54 +02:00
bondlxv
da0c19e068 Translated using Weblate (Italian)
Currently translated at 100.0% (609 of 609 strings)

Translation: KeePassDX/Strings
Translate-URL: https://hosted.weblate.org/projects/keepass-dx/strings/it/
2022-05-08 16:00:54 +02:00
jazzyjabroni
d1103d8db4 Translated using Weblate (Danish)
Currently translated at 84.8% (517 of 609 strings)

Translation: KeePassDX/Strings
Translate-URL: https://hosted.weblate.org/projects/keepass-dx/strings/da/
2022-05-07 21:13:46 +02:00
solokot
b2e92646a1 Translated using Weblate (Russian)
Currently translated at 100.0% (609 of 609 strings)

Translation: KeePassDX/Strings
Translate-URL: https://hosted.weblate.org/projects/keepass-dx/strings/ru/
2022-05-06 18:36:13 +02:00
J-Jamet
831b649cbb Merge branch 'translations' into develop 2022-05-05 15:59:37 +02:00
Kunzisoft
ded3c204b9 Translated using Weblate (French)
Currently translated at 100.0% (609 of 609 strings)

Translation: KeePassDX/Strings
Translate-URL: https://hosted.weblate.org/projects/keepass-dx/strings/fr/
2022-05-05 15:58:56 +02:00
Hosted Weblate
23eec5f066 Merge branch 'origin/develop' into Weblate. 2022-05-05 15:54:24 +02:00
J-Jamet
6c167090e1 Small changes 2022-05-05 15:50:51 +02:00
J-Jamet
7d9eca0d46 Small changes 2022-05-05 15:29:56 +02:00
J-Jamet
c551aff474 Upgrade libs 2022-05-05 15:10:30 +02:00
J-Jamet
e627745358 Prevent Tapjacking #1318 2022-05-05 14:49:36 +02:00
J-Jamet
5a30d9d2b5 * Fix crash in New Android 13 #1321
* Better backstack management for selection mode
2022-05-05 12:45:07 +02:00
Santosh Anantwal
0a46817bbc Translated using Weblate (Marathi)
Currently translated at 1.9% (12 of 609 strings)

Translation: KeePassDX/Strings
Translate-URL: https://hosted.weblate.org/projects/keepass-dx/strings/mr/
2022-05-04 20:13:11 +02:00
Hosted Weblate
a4134fa8c8 Merge branch 'origin/develop' into Weblate. 2022-05-03 19:23:33 +02:00
Santosh Anantwal
683535a5a6 Translated using Weblate (Marathi)
Currently translated at 1.4% (9 of 609 strings)

Translation: KeePassDX/Strings
Translate-URL: https://hosted.weblate.org/projects/keepass-dx/strings/mr/
2022-05-03 19:23:33 +02:00
Santosh Anantwal
edb53112c2 Added translation using Weblate (Marathi) 2022-05-03 19:01:31 +02:00
SHINJI.K
83a77af520 Translated using Weblate (Japanese)
Currently translated at 100.0% (609 of 609 strings)

Translation: KeePassDX/Strings
Translate-URL: https://hosted.weblate.org/projects/keepass-dx/strings/ja/
2022-05-03 15:13:15 +02:00
SC
df3ae17c7b Translated using Weblate (Portuguese)
Currently translated at 100.0% (609 of 609 strings)

Translation: KeePassDX/Strings
Translate-URL: https://hosted.weblate.org/projects/keepass-dx/strings/pt/
2022-05-01 10:10:24 +02:00
abidin toumi
4a1624a443 Translated using Weblate (Arabic)
Currently translated at 78.3% (477 of 609 strings)

Translation: KeePassDX/Strings
Translate-URL: https://hosted.weblate.org/projects/keepass-dx/strings/ar/
2022-05-01 10:10:24 +02:00
wqk317
a8de9f9f9f Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (609 of 609 strings)

Translation: KeePassDX/Strings
Translate-URL: https://hosted.weblate.org/projects/keepass-dx/strings/zh_Hans/
2022-05-01 10:10:23 +02:00
hokonch
3aa5b40acd Translated using Weblate (Japanese)
Currently translated at 100.0% (609 of 609 strings)

Translation: KeePassDX/Strings
Translate-URL: https://hosted.weblate.org/projects/keepass-dx/strings/ja/
2022-05-01 10:10:23 +02:00
wqk317
8400f3e874 Translated using Weblate (Chinese (Simplified))
Currently translated at 99.6% (607 of 609 strings)

Translation: KeePassDX/Strings
Translate-URL: https://hosted.weblate.org/projects/keepass-dx/strings/zh_Hans/
2022-04-30 09:35:42 +02:00
wqk317
b40bca1913 Translated using Weblate (Chinese (Simplified))
Currently translated at 99.8% (608 of 609 strings)

Translation: KeePassDX/Strings
Translate-URL: https://hosted.weblate.org/projects/keepass-dx/strings/zh_Hans/
2022-04-30 09:18:00 +02:00
wqk317
7100257f31 Translated using Weblate (Chinese (Simplified))
Currently translated at 99.1% (604 of 609 strings)

Translation: KeePassDX/Strings
Translate-URL: https://hosted.weblate.org/projects/keepass-dx/strings/zh_Hans/
2022-04-30 09:17:06 +02:00
SHINJI.K
17df1a4d8a Translated using Weblate (Japanese)
Currently translated at 98.0% (597 of 609 strings)

Translation: KeePassDX/Strings
Translate-URL: https://hosted.weblate.org/projects/keepass-dx/strings/ja/
2022-04-30 08:53:45 +02:00
hokonch
d7a5209c68 Translated using Weblate (Japanese)
Currently translated at 98.0% (597 of 609 strings)

Translation: KeePassDX/Strings
Translate-URL: https://hosted.weblate.org/projects/keepass-dx/strings/ja/
2022-04-30 08:53:45 +02:00
wqk317
076220eacd Translated using Weblate (Chinese (Simplified))
Currently translated at 99.8% (608 of 609 strings)

Translation: KeePassDX/Strings
Translate-URL: https://hosted.weblate.org/projects/keepass-dx/strings/zh_Hans/
2022-04-30 08:43:03 +02:00
SHINJI.K
99a50f271a Translated using Weblate (Japanese)
Currently translated at 96.8% (590 of 609 strings)

Translation: KeePassDX/Strings
Translate-URL: https://hosted.weblate.org/projects/keepass-dx/strings/ja/
2022-04-30 08:43:03 +02:00
hokonch
63d265da06 Translated using Weblate (Japanese)
Currently translated at 96.8% (590 of 609 strings)

Translation: KeePassDX/Strings
Translate-URL: https://hosted.weblate.org/projects/keepass-dx/strings/ja/
2022-04-30 08:43:03 +02:00
wqk317
30e3624eb1 Translated using Weblate (Chinese (Simplified))
Currently translated at 99.8% (608 of 609 strings)

Translation: KeePassDX/Strings
Translate-URL: https://hosted.weblate.org/projects/keepass-dx/strings/zh_Hans/
2022-04-30 08:25:13 +02:00
Eric
88f3713e28 Translated using Weblate (Chinese (Simplified))
Currently translated at 99.8% (608 of 609 strings)

Translation: KeePassDX/Strings
Translate-URL: https://hosted.weblate.org/projects/keepass-dx/strings/zh_Hans/
2022-04-30 08:25:13 +02:00
wqk317
90f0c22545 Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (609 of 609 strings)

Translation: KeePassDX/Strings
Translate-URL: https://hosted.weblate.org/projects/keepass-dx/strings/zh_Hans/
2022-04-30 08:23:43 +02:00
wqk317
8deed8468d Translated using Weblate (Chinese (Simplified))
Currently translated at 99.8% (608 of 609 strings)

Translation: KeePassDX/Strings
Translate-URL: https://hosted.weblate.org/projects/keepass-dx/strings/zh_Hans/
2022-04-30 08:21:23 +02:00
hokonch
923ad26b1b Translated using Weblate (Japanese)
Currently translated at 96.0% (585 of 609 strings)

Translation: KeePassDX/Strings
Translate-URL: https://hosted.weblate.org/projects/keepass-dx/strings/ja/
2022-04-30 08:17:37 +02:00
SHINJI.K
3bc858e4c2 Translated using Weblate (Japanese)
Currently translated at 96.0% (585 of 609 strings)

Translation: KeePassDX/Strings
Translate-URL: https://hosted.weblate.org/projects/keepass-dx/strings/ja/
2022-04-30 08:17:37 +02:00
SHINJI.K
f5a7fa41a7 Translated using Weblate (Japanese)
Currently translated at 95.5% (582 of 609 strings)

Translation: KeePassDX/Strings
Translate-URL: https://hosted.weblate.org/projects/keepass-dx/strings/ja/
2022-04-30 08:10:18 +02:00
hokonch
bf71d5508b Translated using Weblate (Japanese)
Currently translated at 95.5% (582 of 609 strings)

Translation: KeePassDX/Strings
Translate-URL: https://hosted.weblate.org/projects/keepass-dx/strings/ja/
2022-04-30 08:10:17 +02:00
John Veness
aa5adc28cb Translated using Weblate (English (United Kingdom))
Currently translated at 3.6% (22 of 609 strings)

Translation: KeePassDX/Strings
Translate-URL: https://hosted.weblate.org/projects/keepass-dx/strings/en_GB/
2022-04-26 20:07:59 +02:00
abidin toumi
2dad013cc0 Translated using Weblate (Arabic)
Currently translated at 75.8% (462 of 609 strings)

Translation: KeePassDX/Strings
Translate-URL: https://hosted.weblate.org/projects/keepass-dx/strings/ar/
2022-04-26 20:07:59 +02:00
solokot
7ade66f3ac Translated using Weblate (Russian)
Currently translated at 100.0% (609 of 609 strings)

Translation: KeePassDX/Strings
Translate-URL: https://hosted.weblate.org/projects/keepass-dx/strings/ru/
2022-04-26 20:07:58 +02:00
Stephan Paternotte
ed75a64b46 Translated using Weblate (Dutch)
Currently translated at 100.0% (609 of 609 strings)

Translation: KeePassDX/Strings
Translate-URL: https://hosted.weblate.org/projects/keepass-dx/strings/nl/
2022-04-26 20:07:58 +02:00
Kunzisoft
e156b80d91 Translated using Weblate (French)
Currently translated at 100.0% (609 of 609 strings)

Translation: KeePassDX/Strings
Translate-URL: https://hosted.weblate.org/projects/keepass-dx/strings/fr/
2022-04-26 20:07:58 +02:00
Kunzisoft
90e4862280 Added translation using Weblate (English (United Kingdom)) 2022-04-25 18:22:17 +02:00
André Marcelo Alvarenga
438080d3d6 Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (609 of 609 strings)

Translation: KeePassDX/Strings
Translate-URL: https://hosted.weblate.org/projects/keepass-dx/strings/pt_BR/
2022-04-23 13:08:01 +02:00
SHINJI.K
3c17605764 Translated using Weblate (Japanese)
Currently translated at 94.2% (574 of 609 strings)

Translation: KeePassDX/Strings
Translate-URL: https://hosted.weblate.org/projects/keepass-dx/strings/ja/
2022-04-23 13:08:00 +02:00
VfBFan
3f68bc0eda Translated using Weblate (German)
Currently translated at 100.0% (609 of 609 strings)

Translation: KeePassDX/Strings
Translate-URL: https://hosted.weblate.org/projects/keepass-dx/strings/de/
2022-04-23 13:08:00 +02:00
J-Jamet
3e4452da00 Fix inherited view after orientation change 2022-04-21 17:43:24 +02:00
Linerly
549c690b56 Translated using Weblate (Indonesian)
Currently translated at 100.0% (609 of 609 strings)

Translation: KeePassDX/Strings
Translate-URL: https://hosted.weblate.org/projects/keepass-dx/strings/id/
2022-04-21 01:11:05 +02:00
Oğuz Ersen
aabe06f29b Translated using Weblate (Turkish)
Currently translated at 100.0% (609 of 609 strings)

Translation: KeePassDX/Strings
Translate-URL: https://hosted.weblate.org/projects/keepass-dx/strings/tr/
2022-04-21 01:11:05 +02:00
Eric
82693c5cd3 Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (609 of 609 strings)

Translation: KeePassDX/Strings
Translate-URL: https://hosted.weblate.org/projects/keepass-dx/strings/zh_Hans/
2022-04-21 01:11:04 +02:00
Ihor Hordiichuk
37a4f26d2f Translated using Weblate (Ukrainian)
Currently translated at 100.0% (609 of 609 strings)

Translation: KeePassDX/Strings
Translate-URL: https://hosted.weblate.org/projects/keepass-dx/strings/uk/
2022-04-21 01:11:04 +02:00
solokot
ca94063c7b Translated using Weblate (Russian)
Currently translated at 100.0% (609 of 609 strings)

Translation: KeePassDX/Strings
Translate-URL: https://hosted.weblate.org/projects/keepass-dx/strings/ru/
2022-04-21 01:11:04 +02:00
Matthaiks
eadc4bf6c2 Translated using Weblate (Polish)
Currently translated at 100.0% (609 of 609 strings)

Translation: KeePassDX/Strings
Translate-URL: https://hosted.weblate.org/projects/keepass-dx/strings/pl/
2022-04-21 01:11:03 +02:00
Retrial
b1c307c86b Translated using Weblate (Greek)
Currently translated at 100.0% (609 of 609 strings)

Translation: KeePassDX/Strings
Translate-URL: https://hosted.weblate.org/projects/keepass-dx/strings/el/
2022-04-21 01:11:03 +02:00
J-Jamet
48331f9552 Merge tag '3.4.3' into develop
3.4.3
2022-04-19 21:17:37 +02:00
J-Jamet
f907aa578a Merge branch 'release/3.4.3' 2022-04-19 21:17:31 +02:00
J-Jamet
41e2620cc1 Generate auto description for github repo 2022-04-19 21:16:55 +02:00
J-Jamet
e7a82b167a fix Fastfile 2022-04-19 18:18:15 +02:00
J-Jamet
088c556b00 Update fastlane to copy the release file with name 2022-04-19 18:04:12 +02:00
J-Jamet
c80343b6d4 Remove unused import 2022-04-19 16:41:13 +02:00
J-Jamet
4e52a8cf60 Show visual title when entry is available in Magikeyboard 2022-04-19 16:10:40 +02:00
J-Jamet
1ed1d4233f Allow to add entry with no info in Magikeyboard 2022-04-19 16:06:16 +02:00
J-Jamet
6e4626bc02 Fix ask lock when database can be saved 2022-04-19 15:47:21 +02:00
J-Jamet
2608ae247f Fix quick search and better loadGroup implementation #1302 2022-04-19 14:35:28 +02:00
J-Jamet
785586bfe9 Remove "Select share info" setting for Magikeyboard #1304 2022-04-19 12:24:51 +02:00
J-Jamet
bdcbb177ae Upgrade to 3.4.3 2022-04-19 11:36:04 +02:00
J-Jamet
15ac365d79 Merge branch 'develop' of https://hosted.weblate.org/git/keepass-dx/strings into translations 2022-04-15 19:29:56 +02:00
Braja Yudhistira
debbcb753b Translated using Weblate (Indonesian)
Currently translated at 100.0% (613 of 613 strings)

Translation: KeePassDX/Strings
Translate-URL: https://hosted.weblate.org/projects/keepass-dx/strings/id/
2022-04-15 18:27:39 +02:00
Linerly
69d73aeaa4 Translated using Weblate (Indonesian)
Currently translated at 100.0% (613 of 613 strings)

Translation: KeePassDX/Strings
Translate-URL: https://hosted.weblate.org/projects/keepass-dx/strings/id/
2022-04-15 18:27:39 +02:00
solokot
dffe53370f Translated using Weblate (Russian)
Currently translated at 100.0% (613 of 613 strings)

Translation: KeePassDX/Strings
Translate-URL: https://hosted.weblate.org/projects/keepass-dx/strings/ru/
2022-04-15 18:27:37 +02:00
Darin Avdeyeva
4334e6dcdf Translated using Weblate (Russian)
Currently translated at 100.0% (613 of 613 strings)

Translation: KeePassDX/Strings
Translate-URL: https://hosted.weblate.org/projects/keepass-dx/strings/ru/
2022-04-15 18:27:37 +02:00
Stephan Paternotte
c2c6c093d5 Translated using Weblate (Dutch)
Currently translated at 100.0% (613 of 613 strings)

Translation: KeePassDX/Strings
Translate-URL: https://hosted.weblate.org/projects/keepass-dx/strings/nl/
2022-04-15 18:27:36 +02:00
Cow
77e539eec2 Translated using Weblate (Spanish)
Currently translated at 100.0% (613 of 613 strings)

Translation: KeePassDX/Strings
Translate-URL: https://hosted.weblate.org/projects/keepass-dx/strings/es/
2022-04-15 18:27:36 +02:00
J-Jamet
a57970210e Merge tag '3.4.2' into develop
3.4.2
2022-04-15 13:42:49 +02:00
J-Jamet
1b31a46fb7 Merge branch 'release/3.4.2' 2022-04-15 13:42:43 +02:00
J-Jamet
87f19c74fc Add clean in fastlane 2022-04-15 13:23:25 +02:00
J-Jamet
bd157a9724 Fix small UI color 2022-04-15 13:18:11 +02:00
J-Jamet
5a327eb0db Catch reset app timeout for unexpected exceptions 2022-04-15 13:00:41 +02:00
J-Jamet
4b9c0b0109 Fix navigation bar color in dark mode 2022-04-15 12:54:10 +02:00
J-Jamet
df6b75cdbb Fix color 2022-04-15 12:47:50 +02:00
J-Jamet
0b4f8c122b Fix color 2022-04-15 12:46:37 +02:00
J-Jamet
2a87eaf3e5 Upgrade to 3.4.2 and fix service parameter and workflow 2022-04-15 12:21:14 +02:00
J-Jamet
c52266f5cf Merge branch 'master' of github.com:Kunzisoft/KeePassDX 2022-04-14 19:28:49 +02:00
J-Jamet
3b21f8add2 Merge tag '3.4.1' into develop
3.4.1
2022-04-14 19:28:12 +02:00
J-Jamet
6574bd10a0 Merge branch 'release/3.4.1' 2022-04-14 19:28:05 +02:00
J-Jamet
23f3335988 Update version code for deployment 2022-04-14 19:17:49 +02:00
J-Jamet
a5d7f33c82 Fix unexpected lock of the app #1294 2022-04-14 19:11:33 +02:00
J-Jamet
3782c4dac0 Fix styles 2022-04-14 17:17:38 +02:00
J-Jamet
1fc02fd2fe Small UI changes 2022-04-14 15:16:32 +02:00
J-Jamet
cc347c1dbe Update strings 2022-04-14 15:07:32 +02:00
J-Jamet
79ff20eb18 Remove irrelevant Autofill autosearch setting 2022-04-14 14:55:00 +02:00
J-Jamet
e6e8a447da Clear focus in autosearch and update CHANGELOG 2022-04-14 14:32:34 +02:00
J-Jamet
233f0c5bdb Fix another entry in selection mode with Magikeyboard #1293 2022-04-14 14:12:35 +02:00
J-Jamet
9ed4271a14 Fix search mode with Magikeyboard #1292 2022-04-14 12:50:33 +02:00
J-Jamet
470c0b6b43 Update README description 2022-04-14 11:54:16 +02:00
J-Jamet
afa8ae42b9 Upgrade gradle to 3.4.1 2022-04-14 11:45:55 +02:00
Jérémy JAMET
63d426503f Update FUNDING.yml
Fix issuehunt
2022-04-12 20:43:48 +02:00
Jérémy JAMET
ffb7f80b26 Create FUNDING.yml 2022-04-12 20:42:35 +02:00
J-Jamet
63f8826fd8 Merge branch 'master' into develop 2022-04-12 20:08:21 +02:00
J-Jamet
ef836e8b84 Change screenshots 2022-04-12 20:08:10 +02:00
J-Jamet
abc1c43a51 Merge tag '3.4.0' into develop
3.4.0
2022-04-12 19:45:17 +02:00
Hosted Weblate
a4fe92562f Merge branch 'origin/develop' into Weblate. 2022-04-12 12:39:39 +02:00
SC
b9bd1d9d4b Translated using Weblate (Portuguese)
Currently translated at 100.0% (613 of 613 strings)

Translation: KeePassDX/Strings
Translate-URL: https://hosted.weblate.org/projects/keepass-dx/strings/pt/
2022-04-12 12:39:39 +02:00
Milo Ivir
3b6c28488a Translated using Weblate (Croatian)
Currently translated at 100.0% (613 of 613 strings)

Translation: KeePassDX/Strings
Translate-URL: https://hosted.weblate.org/projects/keepass-dx/strings/hr/
2022-04-12 12:39:38 +02:00
Eric
875eb3500d Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (613 of 613 strings)

Translation: KeePassDX/Strings
Translate-URL: https://hosted.weblate.org/projects/keepass-dx/strings/zh_Hans/
2022-04-12 12:39:38 +02:00
Ihor Hordiichuk
3a88a2451c Translated using Weblate (Ukrainian)
Currently translated at 100.0% (613 of 613 strings)

Translation: KeePassDX/Strings
Translate-URL: https://hosted.weblate.org/projects/keepass-dx/strings/uk/
2022-04-12 12:39:37 +02:00
solokot
6800b73a4f Translated using Weblate (Russian)
Currently translated at 100.0% (613 of 613 strings)

Translation: KeePassDX/Strings
Translate-URL: https://hosted.weblate.org/projects/keepass-dx/strings/ru/
2022-04-12 12:39:37 +02:00
Matthaiks
983404e6d8 Translated using Weblate (Polish)
Currently translated at 100.0% (613 of 613 strings)

Translation: KeePassDX/Strings
Translate-URL: https://hosted.weblate.org/projects/keepass-dx/strings/pl/
2022-04-12 12:39:37 +02:00
Retrial
b95c0a18a7 Translated using Weblate (Greek)
Currently translated at 100.0% (613 of 613 strings)

Translation: KeePassDX/Strings
Translate-URL: https://hosted.weblate.org/projects/keepass-dx/strings/el/
2022-04-12 12:39:36 +02:00
VfBFan
36b317cad8 Translated using Weblate (German)
Currently translated at 100.0% (613 of 613 strings)

Translation: KeePassDX/Strings
Translate-URL: https://hosted.weblate.org/projects/keepass-dx/strings/de/
2022-04-12 12:39:36 +02:00
Sebastian
35d74888fb Translated using Weblate (Danish)
Currently translated at 84.3% (517 of 613 strings)

Translation: KeePassDX/Strings
Translate-URL: https://hosted.weblate.org/projects/keepass-dx/strings/da/
2022-04-12 12:39:36 +02:00
139 changed files with 1478 additions and 728 deletions

13
.github/FUNDING.yml vendored Normal file
View File

@@ -0,0 +1,13 @@
# These are supported funding model platforms
#github: [J-Jamet] # Replace with up to 4 GitHub Sponsors-enabled usernames e.g., [user1, user2]
#patreon: # Replace with a single Patreon username
#open_collective: # Replace with a single Open Collective username
#ko_fi: # Replace with a single Ko-fi username
#tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel
#community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry
liberapay: Kunzisoft # Replace with a single Liberapay username
issuehunt: Kunzisoft/KeePassDX # Replace with a single IssueHunt username
#otechie: # Replace with a single Otechie username
#lfx_crowdfunding: # Replace with a single LFX Crowdfunding project-name e.g., cloud-foundry
custom: ['https://www.keepassdx.com/#donation'] # Replace with up to 4 custom sponsorship URLs e.g., ['link1', 'link2']

3
.gitignore vendored
View File

@@ -80,6 +80,9 @@ art/screen*.png
art/logo_512.png
art/store_screens/
# Release
releases/*
# Dir linux
.directory
*/.directory

View File

@@ -1,3 +1,32 @@
KeePassDX(3.4.5)
* Fix custom data in group (fix KeeShare) #1335
* Fix device credential unlocking #1344
* New clipboard manager #1343
* Keep screen on by default when viewing an entry
* Change the order of the search filters
* Fix searchable selection
KeePassDX(3.4.4)
* Fix crash in New Android 13 #1321
* Better backstack management for selection mode
* Prevent Tapjacking #1318
* Small changes #1298
KeePassDX(3.4.3)
* Remove "Select share info" setting for Magikeyboard #1304
* Fix quick search and better loadGroup implementation #1302
* Fix small bugs
KeePassDX(3.4.2)
* Fix service parameter and workflow to remove notification when service is killed
* Fix color
KeePassDX(3.4.1)
* Fix search mode with Magikeyboard #1292
* Fix select another entry with Magikeyboard #1293
* Fix unexpected lock with Magikeyboard #1294
* Small UI changes
KeePassDX(3.4.0)
* Passphrase implementation #218
* Show visual password strength indicator with entropy #631 #869 #454 #1270

10
Gemfile Normal file
View File

@@ -0,0 +1,10 @@
# Autogenerated by fastlane
#
# Ensure this file is checked in to source control!
source "https://rubygems.org"
gem 'fastlane'
plugins_path = File.join(File.dirname(__FILE__), 'fastlane', 'Pluginfile')
eval_gemfile(plugins_path) if File.exist?(plugins_path)

220
Gemfile.lock Normal file
View File

@@ -0,0 +1,220 @@
GEM
remote: https://rubygems.org/
specs:
CFPropertyList (3.0.5)
rexml
addressable (2.8.0)
public_suffix (>= 2.0.2, < 5.0)
artifactory (3.0.15)
atomos (0.1.3)
aws-eventstream (1.2.0)
aws-partitions (1.577.0)
aws-sdk-core (3.130.1)
aws-eventstream (~> 1, >= 1.0.2)
aws-partitions (~> 1, >= 1.525.0)
aws-sigv4 (~> 1.1)
jmespath (~> 1.0)
aws-sdk-kms (1.55.0)
aws-sdk-core (~> 3, >= 3.127.0)
aws-sigv4 (~> 1.1)
aws-sdk-s3 (1.113.0)
aws-sdk-core (~> 3, >= 3.127.0)
aws-sdk-kms (~> 1)
aws-sigv4 (~> 1.4)
aws-sigv4 (1.4.0)
aws-eventstream (~> 1, >= 1.0.2)
babosa (1.0.4)
claide (1.1.0)
colored (1.2)
colored2 (3.1.2)
commander (4.6.0)
highline (~> 2.0.0)
declarative (0.0.20)
digest-crc (0.6.4)
rake (>= 12.0.0, < 14.0.0)
domain_name (0.5.20190701)
unf (>= 0.0.5, < 1.0.0)
dotenv (2.7.6)
emoji_regex (3.2.3)
excon (0.92.2)
faraday (1.10.0)
faraday-em_http (~> 1.0)
faraday-em_synchrony (~> 1.0)
faraday-excon (~> 1.1)
faraday-httpclient (~> 1.0)
faraday-multipart (~> 1.0)
faraday-net_http (~> 1.0)
faraday-net_http_persistent (~> 1.0)
faraday-patron (~> 1.0)
faraday-rack (~> 1.0)
faraday-retry (~> 1.0)
ruby2_keywords (>= 0.0.4)
faraday-cookie_jar (0.0.7)
faraday (>= 0.8.0)
http-cookie (~> 1.0.0)
faraday-em_http (1.0.0)
faraday-em_synchrony (1.0.0)
faraday-excon (1.1.0)
faraday-httpclient (1.0.1)
faraday-multipart (1.0.3)
multipart-post (>= 1.2, < 3)
faraday-net_http (1.0.1)
faraday-net_http_persistent (1.2.0)
faraday-patron (1.0.0)
faraday-rack (1.0.0)
faraday-retry (1.0.3)
faraday_middleware (1.2.0)
faraday (~> 1.0)
fastimage (2.2.6)
fastlane (2.205.1)
CFPropertyList (>= 2.3, < 4.0.0)
addressable (>= 2.8, < 3.0.0)
artifactory (~> 3.0)
aws-sdk-s3 (~> 1.0)
babosa (>= 1.0.3, < 2.0.0)
bundler (>= 1.12.0, < 3.0.0)
colored
commander (~> 4.6)
dotenv (>= 2.1.1, < 3.0.0)
emoji_regex (>= 0.1, < 4.0)
excon (>= 0.71.0, < 1.0.0)
faraday (~> 1.0)
faraday-cookie_jar (~> 0.0.6)
faraday_middleware (~> 1.0)
fastimage (>= 2.1.0, < 3.0.0)
gh_inspector (>= 1.1.2, < 2.0.0)
google-apis-androidpublisher_v3 (~> 0.3)
google-apis-playcustomapp_v1 (~> 0.1)
google-cloud-storage (~> 1.31)
highline (~> 2.0)
json (< 3.0.0)
jwt (>= 2.1.0, < 3)
mini_magick (>= 4.9.4, < 5.0.0)
multipart-post (~> 2.0.0)
naturally (~> 2.2)
optparse (~> 0.1.1)
plist (>= 3.1.0, < 4.0.0)
rubyzip (>= 2.0.0, < 3.0.0)
security (= 0.1.3)
simctl (~> 1.6.3)
terminal-notifier (>= 2.0.0, < 3.0.0)
terminal-table (>= 1.4.5, < 2.0.0)
tty-screen (>= 0.6.3, < 1.0.0)
tty-spinner (>= 0.8.0, < 1.0.0)
word_wrap (~> 1.0.0)
xcodeproj (>= 1.13.0, < 2.0.0)
xcpretty (~> 0.3.0)
xcpretty-travis-formatter (>= 0.0.3)
fastlane-plugin-versioning_android (0.1.0)
gh_inspector (1.1.3)
google-apis-androidpublisher_v3 (0.19.0)
google-apis-core (>= 0.4, < 2.a)
google-apis-core (0.4.2)
addressable (~> 2.5, >= 2.5.1)
googleauth (>= 0.16.2, < 2.a)
httpclient (>= 2.8.1, < 3.a)
mini_mime (~> 1.0)
representable (~> 3.0)
retriable (>= 2.0, < 4.a)
rexml
webrick
google-apis-iamcredentials_v1 (0.10.0)
google-apis-core (>= 0.4, < 2.a)
google-apis-playcustomapp_v1 (0.7.0)
google-apis-core (>= 0.4, < 2.a)
google-apis-storage_v1 (0.13.0)
google-apis-core (>= 0.4, < 2.a)
google-cloud-core (1.6.0)
google-cloud-env (~> 1.0)
google-cloud-errors (~> 1.0)
google-cloud-env (1.6.0)
faraday (>= 0.17.3, < 3.0)
google-cloud-errors (1.2.0)
google-cloud-storage (1.36.1)
addressable (~> 2.8)
digest-crc (~> 0.4)
google-apis-iamcredentials_v1 (~> 0.1)
google-apis-storage_v1 (~> 0.1)
google-cloud-core (~> 1.6)
googleauth (>= 0.16.2, < 2.a)
mini_mime (~> 1.0)
googleauth (1.1.2)
faraday (>= 0.17.3, < 3.a)
jwt (>= 1.4, < 3.0)
memoist (~> 0.16)
multi_json (~> 1.11)
os (>= 0.9, < 2.0)
signet (>= 0.16, < 2.a)
highline (2.0.3)
http-cookie (1.0.4)
domain_name (~> 0.5)
httpclient (2.8.3)
jmespath (1.6.1)
json (2.6.1)
jwt (2.3.0)
memoist (0.16.2)
mini_magick (4.11.0)
mini_mime (1.1.2)
multi_json (1.15.0)
multipart-post (2.0.0)
nanaimo (0.3.0)
naturally (2.2.1)
optparse (0.1.1)
os (1.1.4)
plist (3.6.0)
public_suffix (4.0.7)
rake (13.0.6)
representable (3.1.1)
declarative (< 0.1.0)
trailblazer-option (>= 0.1.1, < 0.2.0)
uber (< 0.2.0)
retriable (3.1.2)
rexml (3.2.5)
rouge (2.0.7)
ruby2_keywords (0.0.5)
rubyzip (2.3.2)
security (0.1.3)
signet (0.16.1)
addressable (~> 2.8)
faraday (>= 0.17.5, < 3.0)
jwt (>= 1.5, < 3.0)
multi_json (~> 1.10)
simctl (1.6.8)
CFPropertyList
naturally
terminal-notifier (2.0.0)
terminal-table (1.8.0)
unicode-display_width (~> 1.1, >= 1.1.1)
trailblazer-option (0.1.2)
tty-cursor (0.7.1)
tty-screen (0.8.1)
tty-spinner (0.9.3)
tty-cursor (~> 0.7)
uber (0.1.0)
unf (0.1.4)
unf_ext
unf_ext (0.0.8.1)
unicode-display_width (1.8.0)
webrick (1.7.0)
word_wrap (1.0.0)
xcodeproj (1.21.0)
CFPropertyList (>= 2.3.3, < 4.0)
atomos (~> 0.1.3)
claide (>= 1.0.2, < 2.0)
colored2 (~> 3.1)
nanaimo (~> 0.3.0)
rexml (~> 3.2.4)
xcpretty (0.3.0)
rouge (~> 2.0.7)
xcpretty-travis-formatter (1.0.1)
xcpretty (~> 0.2, >= 0.0.7)
PLATFORMS
ruby
DEPENDENCIES
fastlane
fastlane-plugin-versioning_android
BUNDLED WITH
2.1.4

View File

@@ -1,6 +1,6 @@
# Android KeePassDX
<img src="https://raw.githubusercontent.com/Kunzisoft/KeePassDX/master/art/icon.png"> KeePassDX is a **multi-format KeePass manager for Android devices**. The app allows creating keys and passwords in a secure way by integrating with the Android design standards.
<img src="https://raw.githubusercontent.com/Kunzisoft/KeePassDX/master/art/icon.png"> **Lightweight password manager for Android**, KeePassDX allows editing encrypted data in a single file in KeePass format and fill in the forms in a secure way.
<img src="https://raw.githubusercontent.com/Kunzisoft/KeePassDX/master/art/screen.jpg" width="220">

View File

@@ -4,16 +4,16 @@ apply plugin: 'kotlin-parcelize'
apply plugin: 'kotlin-kapt'
android {
compileSdkVersion 31
buildToolsVersion "31.0.0"
compileSdkVersion 32
buildToolsVersion "32.0.0"
ndkVersion "21.4.7075529"
defaultConfig {
applicationId "com.kunzisoft.keepass"
minSdkVersion 15
targetSdkVersion 31
versionCode = 108
versionName = "3.4.0"
targetSdkVersion 32
versionCode = 114
versionName = "3.4.5"
multiDexEnabled true
testApplicationId = "com.kunzisoft.keepass.tests"
@@ -105,7 +105,7 @@ dependencies {
implementation 'androidx.viewpager2:viewpager2:1.1.0-beta01'
implementation 'androidx.documentfile:documentfile:1.0.1'
implementation 'androidx.biometric:biometric:1.1.0'
implementation 'androidx.media:media:1.5.0'
implementation 'androidx.media:media:1.6.0'
// Lifecycle - LiveData - ViewModel - Coroutines
implementation "androidx.core:core-ktx:$android_core_version"
implementation 'androidx.fragment:fragment-ktx:1.4.1'

View File

@@ -150,7 +150,8 @@
<activity
android:name="com.kunzisoft.keepass.activities.AutofillLauncherActivity"
android:theme="@style/Theme.Transparent"
android:configChanges="keyboardHidden" />
android:configChanges="keyboardHidden"
android:excludeFromRecents="true"/>
<activity
android:name="com.kunzisoft.keepass.settings.SettingsAdvancedUnlockActivity" />
<activity
@@ -158,7 +159,7 @@
<activity
android:name="com.kunzisoft.keepass.activities.EntrySelectionLauncherActivity"
android:theme="@style/Theme.Transparent"
android:excludeFromRecents="true"
android:launchMode="singleInstance"
android:exported="true">
<intent-filter>
<action android:name="android.intent.action.SEND" />

View File

@@ -30,6 +30,7 @@ import androidx.core.text.HtmlCompat
import com.kunzisoft.keepass.BuildConfig
import com.kunzisoft.keepass.R
import com.kunzisoft.keepass.activities.stylish.StylishActivity
import com.kunzisoft.keepass.utils.UriUtil
import org.joda.time.DateTime
class AboutActivity : StylishActivity() {
@@ -45,6 +46,12 @@ class AboutActivity : StylishActivity() {
supportActionBar?.setDisplayHomeAsUpEnabled(true)
supportActionBar?.setDisplayShowHomeEnabled(true)
val appName = if (UriUtil.contributingUser(this))
getString(R.string.app_name) + " " + getString(R.string.app_name_part3)
else
getString(R.string.app_name)
findViewById<TextView>(R.id.activity_about_app_name).text = appName
var version: String
var build: String
try {

View File

@@ -60,6 +60,7 @@ import com.kunzisoft.keepass.database.element.node.Node
import com.kunzisoft.keepass.database.element.node.NodeId
import com.kunzisoft.keepass.database.element.template.Template
import com.kunzisoft.keepass.education.EntryEditActivityEducation
import com.kunzisoft.keepass.magikeyboard.MagikeyboardService
import com.kunzisoft.keepass.model.AttachmentState
import com.kunzisoft.keepass.model.EntryAttachmentState
import com.kunzisoft.keepass.model.RegisterInfo
@@ -434,9 +435,10 @@ class EntryEditActivity : DatabaseLockActivity(),
private fun entryValidatedForKeyboardSelection(database: Database, entry: Entry) {
// Populate Magikeyboard with entry
populateKeyboardAndMoveAppToBackground(this,
entry.getEntryInfo(database),
intent)
MagikeyboardService.populateKeyboardAndMoveAppToBackground(
this,
entry.getEntryInfo(database)
)
onValidateSpecialMode()
// Don't keep activity history for entry edition
finishForEntryResult(entry)
@@ -477,6 +479,11 @@ class EntryEditActivity : DatabaseLockActivity(),
}
}
}
// Keep the screen on
if (PreferencesUtil.isKeepScreenOnEnabled(this)) {
window.addFlags(android.view.WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON)
}
}
override fun onPause() {

View File

@@ -19,23 +19,18 @@
*/
package com.kunzisoft.keepass.activities
import android.app.Activity
import android.content.Context
import android.content.Intent
import android.net.Uri
import android.os.Bundle
import android.util.Log
import android.widget.Toast
import com.kunzisoft.keepass.R
import com.kunzisoft.keepass.activities.helpers.EntrySelectionHelper
import com.kunzisoft.keepass.activities.legacy.DatabaseModeActivity
import com.kunzisoft.keepass.database.element.Database
import com.kunzisoft.keepass.database.search.SearchHelper
import com.kunzisoft.keepass.magikeyboard.MagikeyboardService
import com.kunzisoft.keepass.model.EntryInfo
import com.kunzisoft.keepass.model.SearchInfo
import com.kunzisoft.keepass.otp.OtpEntryFields
import com.kunzisoft.keepass.settings.PreferencesUtil
/**
* Activity to search or select entry in database,
@@ -48,7 +43,7 @@ class EntrySelectionLauncherActivity : DatabaseModeActivity() {
}
override fun finishActivityIfReloadRequested(): Boolean {
return true
return false
}
override fun onDatabaseRetrieved(database: Database?) {
@@ -61,7 +56,7 @@ class EntrySelectionLauncherActivity : DatabaseModeActivity() {
keySelectionBundle.getParcelable<SearchInfo>(KEY_SEARCH_INFO)?.let { mSearchInfo ->
searchInfo = mSearchInfo
}
launch(database, searchInfo, true)
launch(database, searchInfo)
} else {
// To manage share
var sharedWebDomain: String? = null
@@ -78,6 +73,7 @@ class EntrySelectionLauncherActivity : DatabaseModeActivity() {
sharedWebDomain = Uri.parse(extra).host
}
}
launchSelection(database, sharedWebDomain, otpString)
}
Intent.ACTION_VIEW -> {
// Retrieve OTP
@@ -85,29 +81,40 @@ class EntrySelectionLauncherActivity : DatabaseModeActivity() {
if (OtpEntryFields.isOTPUri(extra))
otpString = extra
}
launchSelection(database, sharedWebDomain, otpString)
}
else -> {
if (database != null) {
GroupActivity.launch(this, database)
} else {
FileDatabaseSelectActivity.launch(this)
}
}
else -> {}
}
}
finish()
}
// Build domain search param
val searchInfo = SearchInfo().apply {
this.webDomain = sharedWebDomain
this.otpString = otpString
}
private fun launchSelection(database: Database?,
sharedWebDomain: String?,
otpString: String?) {
// Build domain search param
val searchInfo = SearchInfo().apply {
this.webDomain = sharedWebDomain
this.otpString = otpString
}
SearchInfo.getConcreteWebDomain(this, searchInfo.webDomain) { concreteWebDomain ->
searchInfo.webDomain = concreteWebDomain
launch(database, searchInfo)
}
SearchInfo.getConcreteWebDomain(this, searchInfo.webDomain) { concreteWebDomain ->
searchInfo.webDomain = concreteWebDomain
launch(database, searchInfo)
}
}
private fun launch(database: Database?,
searchInfo: SearchInfo,
forceSelection: Boolean = false) {
searchInfo: SearchInfo) {
// Setting to integrate Magikeyboard
val searchShareForMagikeyboard = PreferencesUtil.isKeyboardSearchShareEnable(this)
val searchShareForMagikeyboard = MagikeyboardService.activatedInSettings(this)
// If database is open
val readOnly = database?.isReadOnly != false
@@ -130,21 +137,22 @@ class EntrySelectionLauncherActivity : DatabaseModeActivity() {
.show()
}
} else if (searchShareForMagikeyboard) {
if (items.size == 1 && !forceSelection) {
// Automatically populate keyboard
val entryPopulate = items[0]
populateKeyboardAndMoveAppToBackground(
this,
entryPopulate,
intent)
Log.e("TEST", "One item activity")
} else {
// Select the one we want
GroupActivity.launchForKeyboardSelectionResult(this,
openedDatabase,
searchInfo,
true)
}
MagikeyboardService.performSelection(
items,
{ entryInfo ->
// Automatically populate keyboard
MagikeyboardService.populateKeyboardAndMoveAppToBackground(
this,
entryInfo
)
},
{ autoSearch ->
GroupActivity.launchForKeyboardSelectionResult(this,
openedDatabase,
searchInfo,
autoSearch)
}
)
} else {
GroupActivity.launchForSearchResult(this,
openedDatabase,
@@ -166,13 +174,13 @@ class EntrySelectionLauncherActivity : DatabaseModeActivity() {
Toast.LENGTH_LONG)
.show()
}
} else if (readOnly || searchShareForMagikeyboard) {
} else if (searchShareForMagikeyboard) {
GroupActivity.launchForKeyboardSelectionResult(this,
openedDatabase,
searchInfo,
false)
} else {
GroupActivity.launchForSaveResult(this,
GroupActivity.launchForSearchResult(this,
openedDatabase,
searchInfo,
false)
@@ -192,7 +200,6 @@ class EntrySelectionLauncherActivity : DatabaseModeActivity() {
}
}
)
finish()
}
companion object {
@@ -214,14 +221,3 @@ class EntrySelectionLauncherActivity : DatabaseModeActivity() {
}
}
}
fun populateKeyboardAndMoveAppToBackground(activity: Activity,
entry: EntryInfo,
intent: Intent,
toast: Boolean = true) {
// Populate Magikeyboard with entry
MagikeyboardService.addEntryAndLaunchNotificationIfAllowed(activity, entry, toast)
// Consume the selection mode
EntrySelectionHelper.removeModesFromIntent(intent)
activity.moveTaskToBack(true)
}

View File

@@ -320,16 +320,6 @@ class FileDatabaseSelectActivity : DatabaseModeActivity(),
}
}
override fun onValidateSpecialMode() {
super.onValidateSpecialMode()
finish()
}
override fun onCancelSpecialMode() {
super.onCancelSpecialMode()
finish()
}
private fun launchPasswordActivityWithPath(databaseUri: Uri) {
launchPasswordActivity(databaseUri, null)
// Delete flickering for kitkat <=

View File

@@ -67,6 +67,7 @@ import com.kunzisoft.keepass.database.element.node.Type
import com.kunzisoft.keepass.database.search.SearchHelper
import com.kunzisoft.keepass.database.search.SearchParameters
import com.kunzisoft.keepass.education.GroupActivityEducation
import com.kunzisoft.keepass.magikeyboard.MagikeyboardService
import com.kunzisoft.keepass.model.GroupInfo
import com.kunzisoft.keepass.model.MainCredential
import com.kunzisoft.keepass.model.RegisterInfo
@@ -123,8 +124,6 @@ class GroupActivity : DatabaseLockActivity(),
private var mBreadcrumbAdapter: BreadcrumbAdapter? = null
private var mSearchMenuItem: MenuItem? = null
private var mGroupFragment: GroupFragment? = null
private var mRecyclingBinEnabled = false
private var mRecyclingBinIsCurrentGroup = false
@@ -408,20 +407,14 @@ class GroupActivity : DatabaseLockActivity(),
val currentGroup = it.group
mCurrentGroup = currentGroup
if (currentGroup.isVirtual) {
val searchParameters = it.searchParameters
mSearchState = SearchState(searchParameters, it.showFromPosition)
mSearchState = SearchState(
it.searchParameters,
it.showFromPosition
)
}
// Main and search groups in activity are managed with another variables
// to keep values during orientation
// Expand the search view if defined in settings
if (mRequestStartupSearch
&& PreferencesUtil.automaticallyFocusSearch(this@GroupActivity)) {
// To request search only one time
mRequestStartupSearch = false
mSearchMenuItem?.expandActionView()
}
loadingView?.hideByFading()
}
@@ -728,8 +721,13 @@ class GroupActivity : DatabaseLockActivity(),
mSearchState = SearchState(PreferencesUtil.getDefaultSearchParameters(this).apply {
searchQuery = stringQuery
}, mSearchState?.firstVisibleItem ?: 0)
} else if (mRequestStartupSearch
&& PreferencesUtil.automaticallyFocusSearch(this@GroupActivity)) {
// Expand the search view if defined in settings
// To request search only one time
mRequestStartupSearch = false
addSearch()
}
loadGroup()
}
}
@@ -890,10 +888,9 @@ class GroupActivity : DatabaseLockActivity(),
private fun entrySelectedForKeyboardSelection(database: Database, entry: Entry) {
reloadCurrentGroup()
// Populate Magikeyboard with entry
populateKeyboardAndMoveAppToBackground(
MagikeyboardService.populateKeyboardAndMoveAppToBackground(
this,
entry.getEntryInfo(database),
intent
entry.getEntryInfo(database)
)
onValidateSpecialMode()
}
@@ -1180,7 +1177,6 @@ class GroupActivity : DatabaseLockActivity(),
// Get the SearchView and set the searchable configuration
menu.findItem(R.id.menu_search)?.let {
mLockSearchListeners = true
mSearchMenuItem = it
it.setOnActionExpandListener(mOnSearchActionExpandListener)
searchView = it.actionView as SearchView?
searchView?.apply {
@@ -1612,50 +1608,31 @@ class GroupActivity : DatabaseLockActivity(),
autofillActivityResultLauncher: ActivityResultLauncher<Intent>?) {
EntrySelectionHelper.doSpecialAction(activity.intent,
{
GroupActivity.launch(
// Default action
launch(
activity,
database,
true
)
},
{ searchInfo ->
SearchHelper.checkAutoSearchInfo(activity,
// Search action
if (database.loaded) {
launchForSearchResult(activity,
database,
searchInfo,
{ _, _ ->
// Response is build
GroupActivity.launchForSearchResult(activity,
database,
searchInfo,
true)
onLaunchActivitySpecialMode()
},
{
// Here no search info found
if (database.isReadOnly) {
GroupActivity.launchForSearchResult(activity,
database,
searchInfo,
false)
} else {
GroupActivity.launchForSaveResult(activity,
database,
searchInfo,
false)
}
onLaunchActivitySpecialMode()
},
{
// Simply close if database not opened, normally not happened
onCancelSpecialMode()
}
)
true)
onLaunchActivitySpecialMode()
} else {
// Simply close if database not opened
onCancelSpecialMode()
}
},
{ searchInfo ->
// Save info used with OTP
// Save info
if (database.loaded) {
if (!database.isReadOnly) {
GroupActivity.launchForSaveResult(
launchForSaveResult(
activity,
database,
searchInfo,
@@ -1674,28 +1651,33 @@ class GroupActivity : DatabaseLockActivity(),
}
},
{ searchInfo ->
// Keyboard selection
SearchHelper.checkAutoSearchInfo(activity,
database,
searchInfo,
{ _, items ->
// Response is build
if (items.size == 1) {
populateKeyboardAndMoveAppToBackground(activity,
items[0],
activity.intent)
onValidateSpecialMode()
} else {
// Select the one we want
GroupActivity.launchForKeyboardSelectionResult(activity,
database,
searchInfo,
true)
onLaunchActivitySpecialMode()
}
MagikeyboardService.performSelection(
items,
{ entryInfo ->
// Keyboard populated
MagikeyboardService.populateKeyboardAndMoveAppToBackground(
activity,
entryInfo
)
onValidateSpecialMode()
},
{ autoSearch ->
launchForKeyboardSelectionResult(activity,
database,
searchInfo,
autoSearch)
onLaunchActivitySpecialMode()
}
)
},
{
// Here no search info found, disable auto search
GroupActivity.launchForKeyboardSelectionResult(activity,
launchForKeyboardSelectionResult(activity,
database,
searchInfo,
false)
@@ -1708,6 +1690,7 @@ class GroupActivity : DatabaseLockActivity(),
)
},
{ searchInfo, autofillComponent ->
// Autofill selection
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
SearchHelper.checkAutoSearchInfo(activity,
database,
@@ -1719,7 +1702,7 @@ class GroupActivity : DatabaseLockActivity(),
},
{
// Here no search info found, disable auto search
GroupActivity.launchForAutofillResult(activity,
launchForAutofillResult(activity,
database,
autofillActivityResultLauncher,
autofillComponent,
@@ -1737,20 +1720,21 @@ class GroupActivity : DatabaseLockActivity(),
}
},
{ registerInfo ->
// Autofill registration
if (!database.isReadOnly) {
SearchHelper.checkAutoSearchInfo(activity,
database,
registerInfo?.searchInfo,
{ _, _ ->
// No auto search, it's a registration
GroupActivity.launchForRegistration(activity,
launchForRegistration(activity,
database,
registerInfo)
onLaunchActivitySpecialMode()
},
{
// Here no search info found, disable auto search
GroupActivity.launchForRegistration(activity,
launchForRegistration(activity,
database,
registerInfo)
onLaunchActivitySpecialMode()

View File

@@ -369,16 +369,6 @@ class MainCredentialActivity : DatabaseModeActivity(), AdvancedUnlockFragment.Bu
}
}
override fun onValidateSpecialMode() {
super.onValidateSpecialMode()
finish()
}
override fun onCancelSpecialMode() {
super.onCancelSpecialMode()
finish()
}
override fun retrieveCredentialForEncryption(): ByteArray {
return mainCredentialView?.retrieveCredentialForStorage(credentialStorageListener)
?: byteArrayOf()

View File

@@ -27,7 +27,6 @@ import com.kunzisoft.keepass.view.TemplateView
import com.kunzisoft.keepass.view.hideByFading
import com.kunzisoft.keepass.view.showByFading
import com.kunzisoft.keepass.viewmodels.EntryViewModel
import java.util.*
class EntryFragment: DatabaseFragment() {
@@ -158,11 +157,9 @@ class EntryFragment: DatabaseFragment() {
setOnCopyActionClickListener { field ->
mClipboardHelper?.timeoutCopyToClipboard(
TemplateField.getLocalizedName(context, field.name),
field.protectedValue.stringValue,
getString(
R.string.copy_field,
TemplateField.getLocalizedName(context, field.name)
)
field.protectedValue.isProtected
)
}
}
@@ -251,8 +248,7 @@ class EntryFragment: DatabaseFragment() {
fun launchEntryCopyEducationAction() {
val appNameString = getString(R.string.app_name)
mClipboardHelper?.timeoutCopyToClipboard(appNameString,
getString(R.string.copy_field, appNameString))
mClipboardHelper?.timeoutCopyToClipboard(appNameString, appNameString)
}
companion object {

View File

@@ -78,9 +78,11 @@ class PassphraseGeneratorFragment : DatabaseFragment() {
View.VISIBLE else View.GONE
val clipboardHelper = ClipboardHelper(context)
passphraseCopyView?.setOnClickListener {
clipboardHelper.timeoutCopyToClipboard(passKeyView.passwordString,
getString(R.string.copy_field,
getString(R.string.entry_password)))
clipboardHelper.timeoutCopyToClipboard(
getString(R.string.passphrase),
passKeyView.passwordString,
true
)
}
wordCaseAdapter = ArrayAdapter(context,

View File

@@ -99,9 +99,11 @@ class PasswordGeneratorFragment : DatabaseFragment() {
View.VISIBLE else View.GONE
val clipboardHelper = ClipboardHelper(context)
passwordCopyView?.setOnClickListener {
clipboardHelper.timeoutCopyToClipboard(passKeyView.passwordString,
getString(R.string.copy_field,
getString(R.string.entry_password)))
clipboardHelper.timeoutCopyToClipboard(
getString(R.string.password),
passKeyView.passwordString,
true
)
}
}

View File

@@ -85,7 +85,7 @@ object EntrySelectionHelper {
return intent.getParcelableExtra(KEY_SEARCH_INFO)
}
fun addRegisterInfoInIntent(intent: Intent, registerInfo: RegisterInfo?) {
private fun addRegisterInfoInIntent(intent: Intent, registerInfo: RegisterInfo?) {
registerInfo?.let {
intent.putExtra(KEY_REGISTER_INFO, it)
}
@@ -113,7 +113,7 @@ object EntrySelectionHelper {
?: SpecialMode.DEFAULT
}
fun addTypeModeInIntent(intent: Intent, typeMode: TypeMode) {
private fun addTypeModeInIntent(intent: Intent, typeMode: TypeMode) {
intent.putExtra(KEY_TYPE_MODE, typeMode as Serializable)
}

View File

@@ -24,6 +24,7 @@ import android.content.Context
import android.content.Intent
import android.net.Uri
import android.os.Bundle
import android.util.Log
import android.view.MotionEvent
import android.view.View
import android.view.ViewGroup
@@ -31,6 +32,7 @@ import android.widget.Toast
import androidx.activity.viewModels
import androidx.appcompat.app.AlertDialog
import com.kunzisoft.keepass.R
import com.kunzisoft.keepass.activities.dialogs.DatabaseDialogFragment
import com.kunzisoft.keepass.activities.dialogs.DeleteNodesDialogFragment
import com.kunzisoft.keepass.activities.dialogs.PasswordEncodingDialogFragment
import com.kunzisoft.keepass.activities.helpers.EntrySelectionHelper
@@ -433,9 +435,7 @@ abstract class DatabaseLockActivity : DatabaseModeActivity(),
protected fun lockAndExit() {
// Ask confirmation if modification not saved
if (mDatabase?.isReadOnly == false
&& mDatabase?.dataModifiedSinceLastLoading == true
&& !PreferencesUtil.isAutoSaveDatabaseEnabled(this)) {
if (mDatabase?.dataModifiedSinceLastLoading == true) {
AlertDialog.Builder(this)
.setMessage(R.string.discard_changes)
.setNegativeButton(android.R.string.cancel, null)
@@ -480,25 +480,33 @@ abstract class DatabaseLockActivity : DatabaseModeActivity(),
*/
@SuppressLint("ClickableViewAccessibility")
fun View.resetAppTimeoutWhenViewTouchedOrFocused(context: Context, databaseLoaded: Boolean?) {
// Log.d(DatabaseLockActivity.TAG, "View prepared to reset app timeout")
setOnTouchListener { _, event ->
when (event.action) {
MotionEvent.ACTION_DOWN -> {
// Log.d(DatabaseLockActivity.TAG, "View touched, try to reset app timeout")
TimeoutHelper.checkTimeAndLockIfTimeoutOrResetTimeout(context,
databaseLoaded ?: false)
try {
// Log.d(DatabaseLockActivity.TAG, "View prepared to reset app timeout")
setOnTouchListener { _, event ->
when (event.action) {
MotionEvent.ACTION_DOWN -> {
// Log.d(DatabaseLockActivity.TAG, "View touched, try to reset app timeout")
TimeoutHelper.checkTimeAndLockIfTimeoutOrResetTimeout(
context,
databaseLoaded ?: false
)
}
}
false
}
setOnFocusChangeListener { _, _ ->
// Log.d(DatabaseLockActivity.TAG, "View focused, try to reset app timeout")
TimeoutHelper.checkTimeAndLockIfTimeoutOrResetTimeout(
context,
databaseLoaded ?: false
)
}
if (this is ViewGroup) {
for (i in 0..childCount) {
getChildAt(i)?.resetAppTimeoutWhenViewTouchedOrFocused(context, databaseLoaded)
}
}
false
}
setOnFocusChangeListener { _, _ ->
// Log.d(DatabaseLockActivity.TAG, "View focused, try to reset app timeout")
TimeoutHelper.checkTimeAndLockIfTimeoutOrResetTimeout(context,
databaseLoaded ?: false)
}
if (this is ViewGroup) {
for (i in 0..childCount) {
getChildAt(i)?.resetAppTimeoutWhenViewTouchedOrFocused(context, databaseLoaded)
}
} catch (e: Exception) {
Log.e("AppTimeout", "Unable to reset app timeout", e)
}
}

View File

@@ -1,9 +1,6 @@
package com.kunzisoft.keepass.activities.legacy
import android.os.Build
import android.os.Bundle
import android.os.Handler
import android.os.Looper
import android.view.View
import android.widget.Toast
import com.kunzisoft.keepass.R
@@ -96,9 +93,8 @@ abstract class DatabaseModeActivity : DatabaseActivity() {
private fun backToTheMainAppAndFinish() {
// To move the app in background and return to the main app
// Not visible as opened with FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS
moveTaskToBack(true)
// Not finish() to prevent service kill
// Not using FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS or finish() because kills the service
}
override fun onCreate(savedInstanceState: Bundle?) {

View File

@@ -21,13 +21,13 @@ package com.kunzisoft.keepass.adapters
import android.content.Context
import android.graphics.Color
import android.util.Log
import android.util.TypedValue
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import android.widget.ImageView
import android.widget.TextView
import android.widget.Toast
import androidx.annotation.ColorInt
import androidx.recyclerview.widget.RecyclerView
import androidx.recyclerview.widget.SortedList
@@ -521,13 +521,14 @@ class NodesAdapter (private val context: Context,
}
holder?.otpContainer?.setOnClickListener {
otpElement?.token?.let { token ->
Toast.makeText(
context,
context.getString(R.string.copy_field,
TemplateField.getLocalizedName(context, TemplateField.LABEL_TOKEN)),
Toast.LENGTH_LONG
).show()
mClipboardHelper.copyToClipboard(token)
try {
mClipboardHelper.copyToClipboard(
TemplateField.getLocalizedName(context, TemplateField.LABEL_TOKEN),
token
)
} catch (e: Exception) {
Log.e(TAG, "Unable to copy the OTP token", e)
}
}
}
}

View File

@@ -403,13 +403,11 @@ class AdvancedUnlockManager(private var retrieveContext: () -> FragmentActivity)
}
}
@RequiresApi(api = Build.VERSION_CODES.M)
fun isDeviceSecure(context: Context): Boolean {
val keyguardManager = ContextCompat.getSystemService(context, KeyguardManager::class.java)
return keyguardManager?.isDeviceSecure ?: false
return ContextCompat.getSystemService(context, KeyguardManager::class.java)
?.isDeviceSecure ?: false
}
@RequiresApi(api = Build.VERSION_CODES.M)
fun biometricUnlockSupported(context: Context): Boolean {
val biometricCanAuthenticate = try {
BiometricManager.from(context).canAuthenticate(BIOMETRIC_STRONG)
@@ -430,28 +428,23 @@ class AdvancedUnlockManager(private var retrieveContext: () -> FragmentActivity)
)
}
@RequiresApi(api = Build.VERSION_CODES.M)
fun deviceCredentialUnlockSupported(context: Context): Boolean {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) {
return if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) {
val biometricCanAuthenticate = BiometricManager.from(context).canAuthenticate(DEVICE_CREDENTIAL)
return (biometricCanAuthenticate == BiometricManager.BIOMETRIC_SUCCESS
(biometricCanAuthenticate == BiometricManager.BIOMETRIC_SUCCESS
|| biometricCanAuthenticate == BiometricManager.BIOMETRIC_STATUS_UNKNOWN
|| biometricCanAuthenticate == BiometricManager.BIOMETRIC_ERROR_HW_UNAVAILABLE
|| biometricCanAuthenticate == BiometricManager.BIOMETRIC_ERROR_NONE_ENROLLED
|| biometricCanAuthenticate == BiometricManager.BIOMETRIC_ERROR_SECURITY_UPDATE_REQUIRED
)
} else if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
ContextCompat.getSystemService(context, KeyguardManager::class.java)?.apply {
return isDeviceSecure
}
} else {
true
}
return false
}
/**
* Remove entry key in keystore
*/
@RequiresApi(api = Build.VERSION_CODES.M)
fun deleteEntryKeyInKeystoreForBiometric(fragmentActivity: FragmentActivity,
advancedCallback: AdvancedUnlockErrorCallback) {
AdvancedUnlockManager{ fragmentActivity }.apply {

View File

@@ -248,7 +248,7 @@ class DatabaseTaskProvider {
private fun bindService() {
initServiceConnection()
serviceConnection?.let {
context.bindService(intentDatabaseTask, it, BIND_AUTO_CREATE or BIND_NOT_FOREGROUND or BIND_ABOVE_CLIENT)
context.bindService(intentDatabaseTask, it, BIND_AUTO_CREATE or BIND_IMPORTANT or BIND_ABOVE_CLIENT)
}
}

View File

@@ -855,10 +855,6 @@ class DatabaseKDBX : DatabaseVersioned<UUID, UUID, GroupKDBX, EntryKDBX> {
mFieldReferenceEngine.clear()
}
fun containsPublicCustomData(): Boolean {
return publicCustomData.size() > 0
}
fun buildNewBinaryAttachment(smallSize: Boolean,
compression: Boolean,
protection: Boolean,

View File

@@ -1,22 +0,0 @@
/*
* Copyright 2019 Jeremy Jamet / Kunzisoft.
*
* This file is part of KeePassDX.
*
* KeePassDX is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* KeePassDX is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with KeePassDX. If not, see <http://www.gnu.org/licenses/>.
*
*/
package com.kunzisoft.keepass.database.exception
class ClipboardException(e: Exception) : Exception(e)

View File

@@ -92,7 +92,7 @@ constructor(private val databaseKDBX: DatabaseKDBX,
writeHeaderField(DatabaseHeaderKDBX.PwDbHeaderV4Fields.InnerRandomStreamID, uIntTo4Bytes(header.innerRandomStream!!.id))
}
if (databaseKDBX.containsPublicCustomData()) {
if (databaseKDBX.publicCustomData.size() > 0) {
val bos = ByteArrayOutputStream()
VariantDictionary.serialize(databaseKDBX.publicCustomData, bos)
writeHeaderField(DatabaseHeaderKDBX.PwDbHeaderV4Fields.PublicCustomData, bos.toByteArray())

View File

@@ -359,6 +359,7 @@ class DatabaseOutputKDBX(private val mDatabaseKDBX: DatabaseKDBX,
writeBoolean(DatabaseKDBXXML.ElemEnableAutoType, group.enableAutoType)
writeBoolean(DatabaseKDBXXML.ElemEnableSearching, group.enableSearching)
writeUuid(DatabaseKDBXXML.ElemLastTopVisibleEntry, group.lastTopVisibleEntry)
writeCustomData(group.customData)
}
@Throws(IllegalArgumentException::class, IllegalStateException::class, IOException::class)

View File

@@ -148,9 +148,9 @@ class SearchHelper {
onDatabaseClosed.invoke()
} else if (TimeoutHelper.checkTime(context)) {
var searchWithoutUI = false
if (PreferencesUtil.isAutofillAutoSearchEnable(context)
&& searchInfo != null && !searchInfo.manualSelection
&& !searchInfo.containsOnlyNullValues()) {
if (searchInfo != null
&& !searchInfo.manualSelection
&& !searchInfo.containsOnlyNullValues()) {
// If search provide results
database.createVirtualGroupFromSearchInfo(
searchInfo.toString(),

View File

@@ -20,6 +20,7 @@
package com.kunzisoft.keepass.magikeyboard
import android.app.Activity
import android.content.Context
import android.content.Intent
import android.inputmethodservice.InputMethodService
@@ -36,8 +37,11 @@ import android.widget.TextView
import androidx.core.content.ContextCompat
import androidx.core.graphics.BlendModeColorFilterCompat
import androidx.core.graphics.BlendModeCompat
import androidx.recyclerview.widget.LinearLayoutManager
import androidx.recyclerview.widget.RecyclerView
import com.kunzisoft.keepass.R
import com.kunzisoft.keepass.activities.EntrySelectionLauncherActivity
import com.kunzisoft.keepass.activities.helpers.EntrySelectionHelper
import com.kunzisoft.keepass.adapters.FieldsAdapter
import com.kunzisoft.keepass.database.action.DatabaseTaskProvider
import com.kunzisoft.keepass.database.element.Database
@@ -91,6 +95,14 @@ class MagikeyboardService : InputMethodService(), KeyboardView.OnKeyboardActionL
switchToPreviousKeyboard()
}
fieldsAdapter = FieldsAdapter(this)
fieldsAdapter?.onItemClickListener = object : FieldsAdapter.OnItemClickListener {
override fun onItemClick(item: Field) {
currentInputConnection.commitText(getEntryInfo()?.getGeneratedFieldValue(item.name) , 1)
actionTabAutomatically()
}
}
registerLockReceiver(lockReceiver, true)
}
@@ -119,15 +131,8 @@ class MagikeyboardService : InputMethodService(), KeyboardView.OnKeyboardActionL
contentView = popupFieldsView
}
val recyclerView = popupFieldsView.findViewById<androidx.recyclerview.widget.RecyclerView>(R.id.keyboard_popup_fields_list)
fieldsAdapter = FieldsAdapter(this)
fieldsAdapter?.onItemClickListener = object : FieldsAdapter.OnItemClickListener {
override fun onItemClick(item: Field) {
currentInputConnection.commitText(getEntryInfo()?.getGeneratedFieldValue(item.name) , 1)
actionTabAutomatically()
}
}
recyclerView.layoutManager = androidx.recyclerview.widget.LinearLayoutManager(this, androidx.recyclerview.widget.LinearLayoutManager.HORIZONTAL, true)
val recyclerView = popupFieldsView.findViewById<RecyclerView>(R.id.keyboard_popup_fields_list)
recyclerView.layoutManager = LinearLayoutManager(this, LinearLayoutManager.HORIZONTAL, true)
recyclerView.adapter = fieldsAdapter
val closeView = popupFieldsView.findViewById<View>(R.id.keyboard_popup_close)
@@ -139,7 +144,7 @@ class MagikeyboardService : InputMethodService(), KeyboardView.OnKeyboardActionL
return rootKeyboardView
}
return super.onCreateInputView()
return rootKeyboardView
}
private fun getEntryInfo(): EntryInfo? {
@@ -351,38 +356,35 @@ class MagikeyboardService : InputMethodService(), KeyboardView.OnKeyboardActionL
mDatabase,
searchInfo,
{ _, items ->
if (items.size == 1) {
if (entryUUID == null) {
performSelection(
items,
{
// Automatically populate keyboard
removeEntryInfo()
addEntryAndLaunchNotificationIfAllowed(
this,
items[0],
true
)
assignKeyboardView()
} else {
// Choose another one
launchEntrySelection(null)
},
{
launchEntrySelection(searchInfo)
}
} else {
// Select if multiple
launchEntrySelection(searchInfo)
}
)
},
{ _ ->
{
// Select if not found
launchEntrySelection(searchInfo)
},
{
// Select if database not opened
removeEntryInfo()
launchEntrySelection(searchInfo)
}
)
}
private fun launchEntrySelection(searchInfo: SearchInfo?) {
removeEntryInfo()
EntrySelectionLauncherActivity.launch(this, searchInfo)
}
@@ -476,5 +478,35 @@ class MagikeyboardService : InputMethodService(), KeyboardView.OnKeyboardActionL
it.packageName == context.packageName
} ?: false
}
fun performSelection(items: List<EntryInfo>,
actionPopulateKeyboard: (entryInfo: EntryInfo) -> Unit,
actionEntrySelection: (autoSearch: Boolean) -> Unit) {
if (items.size == 1) {
val itemFound = items[0]
if (entryUUID != itemFound.id) {
actionPopulateKeyboard.invoke(itemFound)
} else {
// Force selection if magikeyboard already populated
actionEntrySelection.invoke(false)
}
} else if (items.size > 1) {
// Select the one we want in the selection
actionEntrySelection.invoke(true)
} else {
// Select an arbitrary one
actionEntrySelection.invoke(false)
}
}
fun populateKeyboardAndMoveAppToBackground(activity: Activity,
entry: EntryInfo,
toast: Boolean = true) {
// Populate Magikeyboard with entry
addEntryAndLaunchNotificationIfAllowed(activity, entry, toast)
// Consume the selection mode
EntrySelectionHelper.removeModesFromIntent(activity.intent)
activity.moveTaskToBack(true)
}
}
}

View File

@@ -27,6 +27,7 @@ import android.os.Binder
import android.os.Build
import android.os.IBinder
import android.util.Log
import androidx.core.app.ServiceCompat
import com.kunzisoft.keepass.R
import com.kunzisoft.keepass.database.action.DatabaseTaskProvider
import com.kunzisoft.keepass.database.element.Attachment
@@ -36,7 +37,10 @@ import com.kunzisoft.keepass.model.EntryAttachmentState
import com.kunzisoft.keepass.model.StreamDirection
import com.kunzisoft.keepass.tasks.BinaryDatabaseManager
import com.kunzisoft.keepass.utils.UriUtil
import kotlinx.coroutines.*
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.launch
import kotlinx.coroutines.withContext
import java.util.*
import java.util.concurrent.CopyOnWriteArrayList
@@ -275,7 +279,7 @@ class AttachmentFileNotificationService: LockNotificationService() {
AttachmentState.COMPLETE,
AttachmentState.CANCELED,
AttachmentState.ERROR -> {
stopForeground(false)
ServiceCompat.stopForeground(this, ServiceCompat.STOP_FOREGROUND_DETACH)
notificationManager?.notify(attachmentNotification.notificationId, builder.build())
} else -> {
startForeground(attachmentNotification.notificationId, builder.build())

View File

@@ -33,6 +33,10 @@ class ClipboardEntryNotificationField : Parcelable {
private var id: NotificationFieldId = NotificationFieldId.UNKNOWN
var label: String = ""
val isSensitive: Boolean
get() {
return id == NotificationFieldId.PASSWORD
}
val actionKey: String
get() = getActionKey(id)

View File

@@ -31,7 +31,6 @@ import com.kunzisoft.keepass.settings.PreferencesUtil
import com.kunzisoft.keepass.timeout.ClipboardHelper
import com.kunzisoft.keepass.timeout.TimeoutHelper.NEVER
import com.kunzisoft.keepass.utils.LOCK_ACTION
import java.util.*
class ClipboardEntryNotificationService : LockNotificationService() {
@@ -75,7 +74,7 @@ class ClipboardEntryNotificationService : LockNotificationService() {
}
ACTION_CLEAN_CLIPBOARD == intent.action -> {
mTimerJob?.cancel()
cleanClipboard()
clipboardHelper?.cleanClipboard()
stopNotificationAndSendLockIfNeeded()
}
else -> for (actionKey in ClipboardEntryNotificationField.allActionKeys) {
@@ -153,7 +152,11 @@ class ClipboardEntryNotificationService : LockNotificationService() {
try {
var generatedValue = fieldToCopy.getGeneratedValue(mEntryInfo)
clipboardHelper?.copyToClipboard(fieldToCopy.label, generatedValue)
clipboardHelper?.copyToClipboard(
fieldToCopy.label,
generatedValue,
fieldToCopy.isSensitive
)
val builder = buildNewNotification()
.setSmallIcon(R.drawable.notification_ic_clipboard_key_24dp)
@@ -186,13 +189,17 @@ class ClipboardEntryNotificationService : LockNotificationService() {
// New auto generated value
if (generatedValue != newGeneratedValue) {
generatedValue = newGeneratedValue
clipboardHelper?.copyToClipboard(fieldToCopy.label, generatedValue)
clipboardHelper?.copyToClipboard(
fieldToCopy.label,
generatedValue,
fieldToCopy.isSensitive
)
}
}) {
stopNotificationAndSendLockIfNeeded()
// Clean password only if no next field
if (nextFields.size <= 0)
cleanClipboard()
clipboardHelper?.cleanClipboard()
}
} else {
// No timer
@@ -202,25 +209,15 @@ class ClipboardEntryNotificationService : LockNotificationService() {
} catch (e: Exception) {
Log.e(TAG, "Clipboard can't be populate", e)
}
}
private fun cleanClipboard() {
try {
clipboardHelper?.cleanClipboard()
} catch (e: Exception) {
Log.e(TAG, "Clipboard can't be cleaned", e)
}
}
override fun onTaskRemoved(rootIntent: Intent?) {
cleanClipboard()
clipboardHelper?.cleanClipboard()
super.onTaskRemoved(rootIntent)
}
override fun onDestroy() {
cleanClipboard()
clipboardHelper?.cleanClipboard()
super.onDestroy()
}

View File

@@ -149,30 +149,23 @@ class KeyboardEntryNotificationService : LockNotificationService() {
fun launchNotificationIfAllowed(context: Context, entry: EntryInfo, toast: Boolean) {
val containsURLToCopy = entry.url.isNotEmpty()
val containsUsernameToCopy = entry.username.isNotEmpty()
val containsPasswordToCopy = entry.password.isNotEmpty()
val containsExtraFieldToCopy = entry.customFields.isNotEmpty()
var startService = false
val intent = Intent(context, KeyboardEntryNotificationService::class.java)
if (containsURLToCopy || containsUsernameToCopy || containsPasswordToCopy || containsExtraFieldToCopy) {
if (toast) {
Toast.makeText(context,
context.getString(R.string.keyboard_notification_entry_content_title, entry.title),
Toast.LENGTH_SHORT).show()
}
if (toast) {
Toast.makeText(context,
context.getString(R.string.keyboard_notification_entry_content_title,
entry.getVisualTitle()
),
Toast.LENGTH_SHORT).show()
}
// Show the notification if allowed in Preferences
if (PreferencesUtil.isKeyboardNotificationEntryEnable(context)) {
startService = true
context.startService(intent.apply {
putExtra(ENTRY_INFO_KEY, entry)
})
}
} else {
MagikeyboardService.removeEntry(context)
// Show the notification if allowed in Preferences
if (PreferencesUtil.isKeyboardNotificationEntryEnable(context)) {
startService = true
context.startService(intent.apply {
putExtra(ENTRY_INFO_KEY, entry)
})
}
if (!startService)

View File

@@ -20,6 +20,7 @@
package com.kunzisoft.keepass.services
import android.content.Intent
import androidx.core.app.ServiceCompat
import com.kunzisoft.keepass.timeout.TimeoutHelper
import com.kunzisoft.keepass.utils.LockReceiver
import com.kunzisoft.keepass.utils.registerLockReceiver
@@ -33,6 +34,7 @@ abstract class LockNotificationService : NotificationService() {
protected open fun actionOnLock() {
// Stop the service in all cases
ServiceCompat.stopForeground(this, ServiceCompat.STOP_FOREGROUND_REMOVE)
stopSelf()
}

View File

@@ -620,15 +620,8 @@ object PreferencesUtil {
context.resources.getBoolean(R.bool.keyboard_selection_entry_default))
}
fun isKeyboardSearchShareEnable(context: Context): Boolean {
val prefs = PreferenceManager.getDefaultSharedPreferences(context)
return prefs.getBoolean(context.getString(R.string.keyboard_search_share_key),
context.resources.getBoolean(R.bool.keyboard_search_share_default))
&& MagikeyboardService.activatedInSettings(context)
}
fun isKeyboardSaveSearchInfoEnable(context: Context): Boolean {
if (!isKeyboardSearchShareEnable(context))
if (!MagikeyboardService.activatedInSettings(context))
return false
val prefs = PreferenceManager.getDefaultSharedPreferences(context)
return prefs.getBoolean(context.getString(R.string.keyboard_save_search_info_key),
@@ -683,12 +676,6 @@ object PreferencesUtil {
context.resources.getBoolean(R.bool.autofill_close_database_default))
}
fun isAutofillAutoSearchEnable(context: Context): Boolean {
val prefs = PreferenceManager.getDefaultSharedPreferences(context)
return prefs.getBoolean(context.getString(R.string.autofill_auto_search_key),
context.resources.getBoolean(R.bool.autofill_auto_search_default))
}
fun isAutofillInlineSuggestionsEnable(context: Context): Boolean {
val prefs = PreferenceManager.getDefaultSharedPreferences(context)
return prefs.getBoolean(context.getString(R.string.autofill_inline_suggestions_key),
@@ -824,7 +811,6 @@ object PreferencesUtil {
context.getString(R.string.keyboard_notification_entry_clear_close_key) -> editor.putBoolean(name, value.toBoolean())
context.getString(R.string.keyboard_entry_timeout_key) -> editor.putString(name, value.toLong().toString())
context.getString(R.string.keyboard_selection_entry_key) -> editor.putBoolean(name, value.toBoolean())
context.getString(R.string.keyboard_search_share_key) -> editor.putBoolean(name, value.toBoolean())
context.getString(R.string.keyboard_save_search_info_key) -> editor.putBoolean(name, value.toBoolean())
context.getString(R.string.keyboard_auto_go_action_key) -> editor.putBoolean(name, value.toBoolean())
context.getString(R.string.keyboard_key_vibrate_key) -> editor.putBoolean(name, value.toBoolean())
@@ -834,7 +820,6 @@ object PreferencesUtil {
context.getString(R.string.keyboard_previous_fill_in_key) -> editor.putBoolean(name, value.toBoolean())
context.getString(R.string.keyboard_previous_lock_key) -> editor.putBoolean(name, value.toBoolean())
context.getString(R.string.autofill_close_database_key) -> editor.putBoolean(name, value.toBoolean())
context.getString(R.string.autofill_auto_search_key) -> editor.putBoolean(name, value.toBoolean())
context.getString(R.string.autofill_inline_suggestions_key) -> editor.putBoolean(name, value.toBoolean())
context.getString(R.string.autofill_manual_selection_key) -> editor.putBoolean(name, value.toBoolean())
context.getString(R.string.autofill_save_search_info_key) -> editor.putBoolean(name, value.toBoolean())

View File

@@ -24,117 +24,117 @@ import android.content.ClipData
import android.content.ClipboardManager
import android.content.Context
import android.os.Build
import android.os.PersistableBundle
import android.text.SpannableString
import android.text.method.LinkMovementMethod
import android.text.util.Linkify
import android.util.Log
import android.widget.TextView
import android.widget.Toast
import androidx.appcompat.app.AlertDialog
import com.kunzisoft.keepass.R
import com.kunzisoft.keepass.database.exception.ClipboardException
import com.kunzisoft.keepass.settings.PreferencesUtil
import java.util.*
class ClipboardHelper(private val context: Context) {
class ClipboardHelper(context: Context) {
private var mAppContext = context.applicationContext
private var mClipboardManager: ClipboardManager? = null
private val mTimer = Timer()
private fun getClipboardManager(): ClipboardManager? {
if (mClipboardManager == null)
mClipboardManager = context.getSystemService(Context.CLIPBOARD_SERVICE) as ClipboardManager?
mClipboardManager = mAppContext.getSystemService(Context.CLIPBOARD_SERVICE) as ClipboardManager?
return mClipboardManager
}
fun timeoutCopyToClipboard(text: String, toastString: String = "") {
if (toastString.isNotEmpty())
Toast.makeText(context, toastString, Toast.LENGTH_LONG).show()
fun timeoutCopyToClipboard(label: String, text: String, sensitive: Boolean = false) {
try {
copyToClipboard(text)
} catch (e: ClipboardException) {
copyToClipboard(label, text, sensitive)
} catch (e: Exception) {
showClipboardErrorDialog()
return
}
val clipboardTimeout = PreferencesUtil.getClipboardTimeout(context)
val clipboardTimeout = PreferencesUtil.getClipboardTimeout(mAppContext)
if (clipboardTimeout > 0) {
mTimer.schedule(ClearClipboardTask(context, text), clipboardTimeout)
mTimer.schedule(ClearClipboardTask(text), clipboardTimeout)
}
}
fun getClipboard(context: Context): CharSequence {
if (getClipboardManager()?.hasPrimaryClip() == true) {
val data = getClipboardManager()?.primaryClip
if (data != null && data.itemCount > 0) {
val text = data.getItemAt(0).coerceToText(context)
if (text != null) {
return text
fun copyToClipboard(label: String, value: String, sensitive: Boolean = false) {
getClipboardManager()?.setPrimaryClip(ClipData.newPlainText(DEFAULT_LABEL, value).apply {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
description.extras = PersistableBundle().apply {
putBoolean("android.content.extra.IS_SENSITIVE", sensitive)
}
}
})
if (label.isNotEmpty() && Build.VERSION.SDK_INT < Build.VERSION_CODES.S_V2) {
Toast.makeText(
mAppContext,
mAppContext.getString(
R.string.copy_field,
label
),
Toast.LENGTH_LONG
).show()
}
return ""
}
@Throws(ClipboardException::class)
fun copyToClipboard(value: String) {
copyToClipboard("", value)
}
@Throws(ClipboardException::class)
fun copyToClipboard(label: String, value: String) {
try {
getClipboardManager()?.setPrimaryClip(ClipData.newPlainText(label, value))
} catch (e: Exception) {
throw ClipboardException(e)
}
}
@Throws(ClipboardException::class)
fun cleanClipboard(label: String = "") {
fun cleanClipboard() {
try {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P) {
getClipboardManager()?.clearPrimaryClip()
} else {
copyToClipboard(label, "")
copyToClipboard(DEFAULT_LABEL, "")
}
} catch (e: Exception) {
throw ClipboardException(e)
Log.e("ClipboardHelper", "Unable to clean the clipboard", e)
}
}
// Task which clears the clipboard, and sends a toast to the foreground.
private inner class ClearClipboardTask (private val mCtx: Context,
private val mClearText: String) : TimerTask() {
private inner class ClearClipboardTask (private val mClearText: String) : TimerTask() {
override fun run() {
val currentClip = getClipboard(mCtx).toString()
if (currentClip == mClearText) {
try {
cleanClipboard()
R.string.clipboard_cleared
} catch (e: ClipboardException) {
R.string.clipboard_error_clear
if (getClipboard(mAppContext).toString() == mClearText) {
cleanClipboard()
}
}
private fun getClipboard(context: Context): CharSequence {
if (getClipboardManager()?.hasPrimaryClip() == true) {
val data = getClipboardManager()?.primaryClip
if (data != null && data.itemCount > 0) {
val text = data.getItemAt(0).coerceToText(context)
if (text != null) {
return text
}
}
}
return ""
}
}
private fun showClipboardErrorDialog() {
val textDescription = context.getString(R.string.clipboard_error)
val textDescription = mAppContext.getString(R.string.clipboard_error)
val spannableString = SpannableString(textDescription)
val textView = TextView(context).apply {
val textView = TextView(mAppContext).apply {
text = spannableString
autoLinkMask = Activity.RESULT_OK
movementMethod = LinkMovementMethod.getInstance()
}
Linkify.addLinks(spannableString, Linkify.WEB_URLS)
AlertDialog.Builder(context)
AlertDialog.Builder(mAppContext)
.setTitle(R.string.clipboard_error_title)
.setView(textView)
.setPositiveButton(android.R.string.ok) { dialog, _ -> dialog.dismiss() }
.show()
}
companion object {
private const val DEFAULT_LABEL = ""
}
}

View File

@@ -269,17 +269,18 @@ object UriUtil {
fun contributingUser(context: Context): Boolean {
return (Education.isEducationScreenReclickedPerformed(context)
|| isExternalAppInstalled(context, "com.kunzisoft.keepass.pro")
|| isExternalAppInstalled(context, "com.kunzisoft.keepass.pro", false)
)
}
private fun isExternalAppInstalled(context: Context, packageName: String): Boolean {
private fun isExternalAppInstalled(context: Context, packageName: String, showError: Boolean = true): Boolean {
try {
context.applicationContext.packageManager.getPackageInfo(packageName, PackageManager.GET_ACTIVITIES)
Education.setEducationScreenReclickedPerformed(context)
return true
} catch (e: Exception) {
Log.e(TAG, "App not accessible", e)
if (showError)
Log.e(TAG, "App not accessible", e)
}
return false
}

View File

@@ -4,6 +4,8 @@ import android.content.Context
import android.text.InputType
import android.util.AttributeSet
import android.widget.ArrayAdapter
import android.widget.Filter
import androidx.annotation.LayoutRes
import androidx.appcompat.widget.AppCompatAutoCompleteTextView
import com.kunzisoft.keepass.R
@@ -11,15 +13,55 @@ class InheritedCompletionView @JvmOverloads constructor(
context: Context, attrs: AttributeSet? = null
) : AppCompatAutoCompleteTextView(context, attrs) {
val adapter = ArrayAdapter(
private val adapter = ArrayAdapterNoFilter(
context,
android.R.layout.simple_list_item_1,
InheritedStatus.listOfStrings(context))
android.R.layout.simple_list_item_1
)
private class ArrayAdapterNoFilter(context: Context,
@LayoutRes private val layoutResource: Int)
: ArrayAdapter<String>(context, layoutResource) {
val items = InheritedStatus.listOfStrings(context)
override fun getCount(): Int {
return items.size
}
override fun getItem(position: Int): String {
return items[position]
}
override fun getItemId(position: Int): Long {
// Or just return p0
return items[position].hashCode().toLong()
}
override fun getFilter(): Filter {
return object : Filter() {
override fun performFiltering(p0: CharSequence?): FilterResults {
return FilterResults().apply {
values = items
}
}
override fun publishResults(p0: CharSequence?, p1: FilterResults?) {
notifyDataSetChanged()
}
}
}
}
init {
setAdapter(adapter)
isFocusable = false
isFocusableInTouchMode = false
//hardwareKeyCompletion.isEnabled = false
isCursorVisible = false
setTextIsSelectable(false)
inputType = InputType.TYPE_NULL
adapter.filter.filter(null)
setAdapter(adapter)
setOnClickListener {
showDropDown()
}
}
fun getValue(): Boolean? {
@@ -28,7 +70,6 @@ class InheritedCompletionView @JvmOverloads constructor(
fun setValue(inherited: Boolean?) {
setText(context.getString(InheritedStatus.getStatusFromValue(inherited).stringId))
adapter.filter.filter(null)
}
private enum class InheritedStatus(val stringId: Int, val value: Boolean?) {

View File

@@ -1,13 +1,10 @@
package com.kunzisoft.keepass.view
import android.content.Context
import android.graphics.Typeface
import android.os.Build
import android.text.InputFilter
import android.text.InputType
import android.text.Spannable
import android.text.SpannableString
import android.text.style.StyleSpan
import android.util.AttributeSet
import android.util.TypedValue
import android.view.ContextThemeWrapper

View File

@@ -20,12 +20,9 @@
package com.kunzisoft.keepass.view
import android.content.Context
import android.graphics.Typeface
import android.os.Build
import android.text.InputFilter
import android.text.Spannable
import android.text.SpannableString
import android.text.style.StyleSpan
import android.text.util.Linkify
import android.util.AttributeSet
import android.util.TypedValue

View File

@@ -23,7 +23,8 @@
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/fingerprint_container"
android:layout_width="match_parent"
android:layout_height="wrap_content">
android:layout_height="wrap_content"
android:filterTouchesWhenObscured="true">
<androidx.appcompat.widget.AppCompatImageView
android:id="@+id/biometric_image"

View File

@@ -21,6 +21,7 @@
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:filterTouchesWhenObscured="true"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:orientation="vertical">
@@ -71,28 +72,29 @@
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical"
android:layout_toEndOf="@+id/activity_about_icon"
android:layout_toRightOf="@+id/activity_about_icon"
android:layout_toEndOf="@+id/activity_about_icon">
android:orientation="vertical">
<TextView
android:id="@+id/activity_about_app_name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/app_name"
android:textSize="18sp"
android:textStyle="bold"/>
android:textStyle="bold" />
<TextView
android:id="@+id/activity_about_version"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="@android:style/TextAppearance.Small"/>
android:textAppearance="@android:style/TextAppearance.Small" />
<TextView
android:id="@+id/activity_about_build"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="@android:style/TextAppearance.Small"/>
android:textAppearance="@android:style/TextAppearance.Small" />
</LinearLayout>
</RelativeLayout>

View File

@@ -24,6 +24,7 @@
android:id="@+id/toolbar_coordinator"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:filterTouchesWhenObscured="true"
android:fitsSystemWindows="true">
<com.google.android.material.appbar.AppBarLayout

View File

@@ -24,7 +24,8 @@
android:importantForAutofill="noExcludeDescendants"
tools:targetApi="o"
android:layout_width="match_parent"
android:layout_height="match_parent">
android:layout_height="match_parent"
android:filterTouchesWhenObscured="true">
<androidx.coordinatorlayout.widget.CoordinatorLayout
android:id="@+id/entry_edit_coordinator_layout"

View File

@@ -23,6 +23,7 @@
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:filterTouchesWhenObscured="true"
android:importantForAutofill="noExcludeDescendants"
tools:targetApi="o">

View File

@@ -24,6 +24,7 @@
android:id="@+id/drawer_layout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:filterTouchesWhenObscured="true"
android:fitsSystemWindows="true">
<RelativeLayout

View File

@@ -22,6 +22,7 @@
android:id="@+id/icon_picker_container"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:filterTouchesWhenObscured="true"
xmlns:app="http://schemas.android.com/apk/res-auto">
<androidx.coordinatorlayout.widget.CoordinatorLayout

View File

@@ -4,6 +4,7 @@
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:filterTouchesWhenObscured="true"
android:id="@+id/image_viewer_container"
android:background="?android:attr/windowBackground">
<include

View File

@@ -22,6 +22,7 @@
android:id="@+id/key_generator_container"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:filterTouchesWhenObscured="true"
xmlns:app="http://schemas.android.com/apk/res-auto">
<androidx.coordinatorlayout.widget.CoordinatorLayout
@@ -51,6 +52,7 @@
android:layout_height="wrap_content"
android:contentDescription="@string/validate"
android:src="@drawable/ic_check_white_24dp"
android:tint="?attr/colorOnAccentColor"
app:fabSize="mini"
app:layout_constraintTop_toTopOf="@+id/toolbar"
app:layout_constraintBottom_toBottomOf="parent"

View File

@@ -23,6 +23,7 @@
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:filterTouchesWhenObscured="true"
android:background="?android:attr/windowBackground"
tools:targetApi="o">

View File

@@ -22,6 +22,7 @@
android:id="@+id/toolbar_coordinator"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:filterTouchesWhenObscured="true"
android:background="?android:attr/windowBackground"
android:fitsSystemWindows="true">

View File

@@ -30,11 +30,10 @@
<FrameLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:minHeight="240dp">
android:layout_height="wrap_content">
<View
android:layout_width="match_parent"
android:layout_height="180dp"
android:layout_height="68dp"
android:background="?attr/colorPrimary" />
<androidx.cardview.widget.CardView
android:layout_width="match_parent"
@@ -43,7 +42,7 @@
android:layout_marginEnd="@dimen/card_view_margin_horizontal"
android:layout_marginLeft="@dimen/card_view_margin_horizontal"
android:layout_marginRight="@dimen/card_view_margin_horizontal"
android:layout_marginTop="@dimen/card_view_margin_vertical"
android:layout_marginTop="@dimen/default_margin"
android:layout_marginBottom="@dimen/card_view_margin_vertical"
android:layout_gravity="bottom"
app:cardCornerRadius="4dp">

View File

@@ -30,11 +30,10 @@
<FrameLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:minHeight="180dp">
android:layout_height="wrap_content">
<View
android:layout_width="match_parent"
android:layout_height="120dp"
android:layout_height="68dp"
android:background="?attr/colorPrimary" />
<androidx.cardview.widget.CardView
android:layout_width="match_parent"
@@ -43,7 +42,7 @@
android:layout_marginEnd="@dimen/card_view_margin_horizontal"
android:layout_marginLeft="@dimen/card_view_margin_horizontal"
android:layout_marginRight="@dimen/card_view_margin_horizontal"
android:layout_marginTop="@dimen/card_view_margin_vertical"
android:layout_marginTop="@dimen/default_margin"
android:layout_marginBottom="@dimen/card_view_margin_vertical"
android:layout_gravity="bottom"
app:cardCornerRadius="4dp">

View File

@@ -22,4 +22,5 @@
android:id="@+id/fingerprint_container"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:filterTouchesWhenObscured="true"
tools:visibility="gone" />

View File

@@ -21,6 +21,7 @@
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:filterTouchesWhenObscured="true"
xmlns:app="http://schemas.android.com/apk/res-auto">
<LinearLayout

View File

@@ -2,7 +2,8 @@
<FrameLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
android:layout_height="wrap_content"
android:filterTouchesWhenObscured="true">
<com.google.android.material.floatingactionbutton.FloatingActionButton
android:id="@+id/lock_button"
style="@style/KeepassDXStyle.Fab.Special"

View File

@@ -2,6 +2,7 @@
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:filterTouchesWhenObscured="true"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:orientation="vertical">
<androidx.appcompat.widget.AppCompatTextView

View File

@@ -3,6 +3,7 @@
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:filterTouchesWhenObscured="true"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools">
<com.google.android.material.textfield.TextInputLayout

View File

@@ -2,7 +2,8 @@
<FrameLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content">
android:layout_height="wrap_content"
android:filterTouchesWhenObscured="true">
<!-- Icon -->
<androidx.appcompat.widget.AppCompatImageButton
android:id="@+id/template_icon_button"

View File

@@ -7,6 +7,7 @@
android:layout_marginBottom="@dimen/default_margin"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:filterTouchesWhenObscured="true"
android:importantForAutofill="noExcludeDescendants"
tools:ignore="UnusedAttribute">

View File

@@ -6,6 +6,7 @@
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:filterTouchesWhenObscured="true"
android:paddingTop="6dp"
android:paddingLeft="12dp"
android:paddingStart="12dp"

View File

@@ -2,6 +2,7 @@
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:filterTouchesWhenObscured="true"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools">

View File

@@ -4,6 +4,7 @@
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:filterTouchesWhenObscured="true"
android:minHeight="?attr/actionBarSize"
android:orientation="vertical">
<androidx.constraintlayout.widget.ConstraintLayout
@@ -68,34 +69,6 @@
android:layout_height="wrap_content"
android:background="?attr/colorPrimary"
android:orientation="vertical">
<com.google.android.material.chip.ChipGroup
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center"
app:chipSpacingVertical="16dp"
android:paddingTop="18dp"
android:paddingStart="@dimen/default_margin"
android:paddingLeft="@dimen/default_margin"
android:paddingEnd="@dimen/default_margin"
android:paddingRight="@dimen/default_margin"
android:paddingBottom="@dimen/default_margin">
<com.google.android.material.chip.Chip
android:id="@+id/search_chip_case_sensitive"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:checked="false"
style="@style/KeepassDXStyle.Chip.Filter.Icon"
android:text="@string/case_sensitive"
app:closeIcon="@drawable/ic_case_sensitive_white_24dp" />
<com.google.android.material.chip.Chip
android:id="@+id/search_chip_regex"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:checked="false"
style="@style/KeepassDXStyle.Chip.Filter.Icon"
android:text="@string/regex"
app:closeIcon="@drawable/ic_regex_white_24dp" />
</com.google.android.material.chip.ChipGroup>
<com.google.android.material.chip.ChipGroup
android:layout_width="match_parent"
android:layout_height="wrap_content"
@@ -173,7 +146,7 @@
android:text="@string/tags"/>
</com.google.android.material.chip.ChipGroup>
<com.google.android.material.chip.ChipGroup
android:layout_width="wrap_content"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:chipSpacingVertical="16dp"
android:paddingTop="12dp"
@@ -208,5 +181,33 @@
android:enabled="false"
android:text="@string/template"/>
</com.google.android.material.chip.ChipGroup>
<com.google.android.material.chip.ChipGroup
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center"
app:chipSpacingVertical="16dp"
android:paddingTop="18dp"
android:paddingStart="@dimen/default_margin"
android:paddingLeft="@dimen/default_margin"
android:paddingEnd="@dimen/default_margin"
android:paddingRight="@dimen/default_margin"
android:paddingBottom="@dimen/default_margin">
<com.google.android.material.chip.Chip
android:id="@+id/search_chip_case_sensitive"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:checked="false"
style="@style/KeepassDXStyle.Chip.Filter.Icon"
android:text="@string/case_sensitive"
app:closeIcon="@drawable/ic_case_sensitive_white_24dp" />
<com.google.android.material.chip.Chip
android:id="@+id/search_chip_regex"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:checked="false"
style="@style/KeepassDXStyle.Chip.Filter.Icon"
android:text="@string/regex"
app:closeIcon="@drawable/ic_regex_white_24dp" />
</com.google.android.material.chip.ChipGroup>
</LinearLayout>
</LinearLayout>

View File

@@ -19,10 +19,10 @@
-->
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
xmlns:app="http://schemas.android.com/apk/res-auto"
tools:targetApi="o"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:filterTouchesWhenObscured="true"
android:orientation="vertical">
<androidx.cardview.widget.CardView

View File

@@ -180,7 +180,7 @@
<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>
<string name="unavailable_feature_version">هذا الجهاز يعمل بأندرويد %1$s لكن يحتاج نسخة %2$s على الأقل.</string>
<string name="file_name">اسم الملف</string>
<string name="path">مسار</string>
<string name="database_history">تأريخ</string>
@@ -190,13 +190,13 @@
<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>
<string name="allow_copy_password_summary">اسمح بنسخ كلمة السر والحقول المحمية إلى للحافظة</string>
<string name="allow_copy_password_warning">تحذير: الحافظة مشتركة بين التطبيقات وستتمكن التطبيقات الاخرى من الوصول الى المعلومات الحساسة.</string>
<string name="database_name_title">اسم قاعدة البيانات</string>
<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="keyboard_setting_label">إعدادات Magikeyboard</string>
@@ -227,7 +227,7 @@
<string name="sort_last_access_time">الوصول</string>
<string name="lock">إقفال</string>
<string name="assign_master_key">تعيين مفتاح رئيسي</string>
<string name="recycle_bin_title">استخدم سلة المحذوفات</string>
<string name="recycle_bin_title">استخدام سلة المحذوفات</string>
<string name="magic_keyboard_title">Magikeyboard</string>
<string name="keyboard_name">Magikeyboard</string>
<string name="keyboard_label">Magikeyboard (KeePassDX)</string>
@@ -334,7 +334,7 @@
<string name="database_data_compression_title">ضغط البيانات</string>
<string name="data">البيانات</string>
<string name="unavailable_feature_hardware">تعذر العثور على ماسح البصمة.</string>
<string name="biometric_delete_all_key_summary">احذف كل مفاتيح التشفير المرتبطة بالبصمة</string>
<string name="biometric_delete_all_key_summary">احذف كل مفاتيح التعمية المرتبطة بفك القفل المتقدم</string>
<string name="advanced_unlock_explanation_summary">استخدم إلغاء القفل المتقدم لفتح قاعدة البيانات بسهولة</string>
<string name="lock_database_show_button_summary">يعرض زر القَفل في الواجهة</string>
<string name="lock_database_show_button_title">اعرض زر القَفل</string>
@@ -357,8 +357,6 @@
<string name="autofill_web_domain_blocklist_title">قائمة النطاقات المحظورة</string>
<string name="autofill_application_id_blocklist_summary">منع الملء التلقائي للتطبيقات الموجودة في القائمة</string>
<string name="autofill_application_id_blocklist_title">قائمة التطبيقات المحظورة</string>
<string name="autofill_auto_search_summary">يقترح تلقائيا نتائج البحث في النطاقات ومعرفات التطبيقات</string>
<string name="autofill_auto_search_title">البحث التلقائي</string>
<string name="content_description_repeat_toggle_password_visibility">بدِّل ظهور كلمة السر</string>
<string name="hide_expired_entries_summary">لن تعرض المدخلات منتهية الصلاحية</string>
<string name="education_read_only_summary">غيِّر وضع الجلسة.
@@ -474,7 +472,6 @@
<string name="credential_before_click_advanced_unlock_button">اكتب كلمة السر، وأنقر هذا الزر.</string>
<string name="device_credential">بيانات الاعتماد للجهاز</string>
<string name="advanced_unlock_tap_delete">انفر لحذف مفاتيح فك القفل المتقدم</string>
<string name="keyboard_search_share_title">ابحث في المعلومات المشاركة</string>
<string name="keyboard_auto_go_action_title">إجراء اللمس التلقائي</string>
<string name="keyboard_previous_fill_in_title">إجراء لمس تلقائي</string>
<string name="keyboard_previous_lock_title">اقفل قاعدة البيانات</string>
@@ -504,4 +501,23 @@
<string name="regex">تعابير نمطية</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="autofill_manual_selection_summary">اعرض خيارًا يسمح للمستخدم باختيار مدخلة من قاعدة البيانات</string>
<string name="keyboard_previous_search_title">شاشة البحث</string>
<string name="keyboard_previous_search_summary">ارجع للوحة المفاتيح السابقة تلقائيًا في شاشة البحث</string>
<string name="autofill_save_search_info_summary">حاول حفظ معلومات البحث بعد اختيار مدخلة يدويًا وهذا لتسهيل استخدمها مستقبلًا</string>
<string name="keyboard_previous_lock_summary">ارجع للوحة المفاتيح السابقة تلقائيًا بعد إغلاق قاعدة البيانات</string>
<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="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>
</resources>

View File

@@ -132,8 +132,6 @@
<string name="keyboard_notification_entry_clear_close_summary">Zatvori bazu podataka prilikom zatvaranja obaveštenja</string>
<string name="keyboard_notification_entry_clear_close_title">Isprazni pri zatvaranju</string>
<string name="keyboard_save_search_info_summary">Pokušaj da sačuvaš podeljene informacije prilikom ručnog izbora unosa</string>
<string name="keyboard_search_share_summary">Automatski тражите заједничке информације да бисте попунили тастатуру</string>
<string name="keyboard_search_share_title">Traži podeljene informacije</string>
<string name="keyboard_notification_entry_summary">Prikaži obaveštenje kada je unos dostupn</string>
<string name="keyboard_notification_entry_title">Obaveštenje</string>
<string name="keyboard_selection_entry_summary">Prikaži polja za unos podataka u Magikeyboard-u prilikom prikazivanja unosa</string>

View File

@@ -41,4 +41,53 @@
<string name="clipboard_cleared">ক্লিপবোর্ড পরিষ্কার করা হয়েছে</string>
<string name="entry_accessed">শেষ ব্যবহার</string>
<string name="clipboard_error">কিছু ডিভাইস অ্যাপ্লিকেশনগুলোকে ক্লিপবোর্ড ব্যবহার করতে দেয় না।</string>
<string name="otp_digits">সংখ্যা</string>
<string name="password">পাসওয়ার্ড</string>
<string name="menu_open">খুলো</string>
<string name="read_only">লিখন-সুরক্ষিত</string>
<string name="space">স্পেস</string>
<string name="menu_file_selection_read_only">লিখন-সুরক্ষিত</string>
<string name="protection">সুরক্ষা</string>
<string name="menu_cancel">বাতিল</string>
<string name="root">মূল</string>
<string name="sort_creation_time">সৃষ্টি</string>
<string name="database_history">ইতিহাস</string>
<string name="hint_length">দৈর্ঘ্য</string>
<string name="length">দৈর্ঘ্য</string>
<string name="about">সম্পর্কে</string>
<string name="warning">সতর্কতা</string>
<string name="menu_edit">সম্পাদনা</string>
<string name="sort_title">শিরোনাম</string>
<string name="sort_username">নাম</string>
<string name="uppercase">বড় হাতের</string>
<string name="menu_appearance_settings">চেহারা</string>
<string name="entry_url">ইউআরএল</string>
<string name="menu_donate">দান করো</string>
<string name="menu_copy">অনুলিপি</string>
<string name="menu_paste">লেপন</string>
<string name="hint_pass">পাসওয়ার্ড</string>
<string name="sort_last_modify_time">পরিবর্তন</string>
<string name="otp_counter">গণক</string>
<string name="parallelism">উপমা</string>
<string name="minus">বিয়োগ</string>
<string name="never">কখনো না</string>
<string name="menu_move">স্থানান্তর</string>
<string name="otp_secret">গোপন</string>
<string name="entry_password">পাসওয়ার্ড</string>
<string name="sort_menu">সাজাও</string>
<string name="entry_title">শিরোনাম</string>
<string name="otp_algorithm">অ্যালগরিদম</string>
<string name="entry_otp">ওটিপি</string>
<string name="entry_user_name">নাম</string>
<string name="hint_keyfile">চাবিনথি(কি ফাইল)</string>
<string name="settings">পছন্দসমূহ</string>
<string name="lowercase">ছোটো হাতের</string>
<string name="menu_delete">মুছো</string>
<string name="menu_search">অনুসন্ধান</string>
<string name="menu_open_file_read_and_write">পরিবর্তনযোগ্য</string>
<string name="progress_title">কাজ করা হচ্ছে…</string>
<string name="special">বিশেষ</string>
<string name="underline">নিম্নরেখা</string>
<string name="sort_last_access_time">প্রবেশ</string>
<string name="search">অনুসন্ধান</string>
</resources>

View File

@@ -0,0 +1,96 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="contact">যোগাযোগ</string>
<string name="contribution">অবদান</string>
<string name="feedback">প্রতিক্রিয়া</string>
<string name="homepage">মূলপাতা</string>
<string name="about_description">কিপাস পাসওয়ার্ড ম্যানেজারের অ্যান্ড্রয়েড বাস্তবায়ন</string>
<string name="accept">গ্রহণ</string>
<string name="add_entry">এন্টরি যোগ করুন</string>
<string name="edit_entry">এন্টরি সম্পাদনা করুন</string>
<string name="add_group">গ্রুপ যোগ করুন</string>
<string name="master_key">প্রধান চাবি</string>
<string name="security">নিরাপত্তা</string>
<string name="encryption">এনক্রিপশন</string>
<string name="encryption_algorithm">এনক্রিপশন অ্যালগরিদম</string>
<string name="key_derivation_function">কি পাওয়ার ফাংশন</string>
<string name="app_timeout">অ্যাপের সময় পার হয়ে গিয়েছিলো</string>
<string name="app_timeout_summary">ডাটাবেস লক করার আগে অব্যবহৃত সময়</string>
<string name="application">অ্যাপ</string>
<string name="brackets">ব্র্যাকেট</string>
<string name="extended_ASCII">বর্ধিত ASCII</string>
<string name="file_manager_install_description">ACTION_CREATE_DOCUMENT এবং ACTION_OPEN_DOCUMENT অভিপ্রায় গ্রহণ করে এমন একটি ফাইল ম্যানেজার ডাটাবেস ফাইলগুলো তৈরি করা, খোলা এবং সংরক্ষণ করতে প্রয়োজন।</string>
<string name="allow">অনুমোদন</string>
<string name="clipboard_cleared">ক্লিপবোর্ড পরিষ্কার করা হয়েছে</string>
<string name="clipboard_error_title">ক্লিপবোর্ড ত্রুটি</string>
<string name="clipboard_error">কিছু ডিভাইস অ্যাপ্লিকেশনগুলোকে ক্লিপবোর্ড ব্যবহার করতে দেয় না।</string>
<string name="content_description_background">পটভূমি</string>
<string name="validate">সত্যায়ন</string>
<string name="discard">বাতিল</string>
<string name="content_description_update_from_list">হালনাগাদ</string>
<string name="content_description_remove_from_list">সরাও</string>
<string name="database">তথ্যভিত্তি</string>
<string name="digits">ডিজিট</string>
<string name="entry_accessed">শেষ ব্যবহার</string>
<string name="entry_cancel">বাতিল</string>
<string name="entry_notes">দ্রষ্টব্য</string>
<string name="entry_created">তৈরিকৃত</string>
<string name="entry_expires">মেয়াদ</string>
<string name="entry_UUID">বিশেষ শনাক্তকরণ সংকেত(ইউইউআইডি)</string>
<string name="entry_history">ইতিহাস</string>
<string name="entry_attachments">সংযুক্তি</string>
<string name="entry_keyfile">চাবিনথি(কিফাইল)</string>
<string name="entry_modified">পরিবর্তিত</string>
<string name="clipboard_error_clear">ক্লিপবোর্ড পরিষ্কার করা যায়নি</string>
<string name="clipboard_timeout">ক্লিপবোর্ডের সময় শেষ</string>
<string name="entry_password">পাসওয়ার্ড</string>
<string name="entry_title">শিরোনাম</string>
<string name="otp_secret">গোপন</string>
<string name="hint_keyfile">চাবিনথি(কি ফাইল)</string>
<string name="menu_donate">দান করো</string>
<string name="menu_edit">সম্পাদনা</string>
<string name="database_history">ইতিহাস</string>
<string name="menu_appearance_settings">চেহারা</string>
<string name="otp_counter">গণক</string>
<string name="otp_digits">সংখ্যা</string>
<string name="otp_algorithm">অ্যালগরিদম</string>
<string name="entry_otp">ওটিপি</string>
<string name="entry_url">ইউআরএল</string>
<string name="entry_user_name">নাম</string>
<string name="hint_length">দৈর্ঘ্য</string>
<string name="hint_pass">পাসওয়ার্ড</string>
<string name="password">পাসওয়ার্ড</string>
<string name="length">দৈর্ঘ্য</string>
<string name="lowercase">ছোটো হাতের</string>
<string name="about">সম্পর্কে</string>
<string name="settings">পছন্দসমূহ</string>
<string name="menu_copy">অনুলিপি</string>
<string name="menu_move">স্থানান্তর</string>
<string name="menu_paste">লেপন</string>
<string name="menu_delete">মুছো</string>
<string name="menu_cancel">বাতিল</string>
<string name="menu_open">খুলো</string>
<string name="menu_search">অনুসন্ধান</string>
<string name="menu_file_selection_read_only">লিখন-সুরক্ষিত</string>
<string name="menu_open_file_read_and_write">পরিবর্তনযোগ্য</string>
<string name="minus">বিয়োগ</string>
<string name="never">কখনো না</string>
<string name="progress_title">কাজ করা হচ্ছে…</string>
<string name="protection">সুরক্ষা</string>
<string name="read_only">লিখন-সুরক্ষিত</string>
<string name="root">মূল</string>
<string name="parallelism">উপমা</string>
<string name="space">স্পেস</string>
<string name="sort_menu">সাজাও</string>
<string name="sort_title">শিরোনাম</string>
<string name="sort_username">নাম</string>
<string name="sort_creation_time">সৃষ্টি</string>
<string name="sort_last_modify_time">পরিবর্তন</string>
<string name="sort_last_access_time">প্রবেশ</string>
<string name="special">বিশেষ</string>
<string name="search">অনুসন্ধান</string>
<string name="underline">নিম্নরেখা</string>
<string name="uppercase">বড় হাতের</string>
<string name="warning">সতর্কতা</string>
<string name="clipboard_timeout_summary">ক্লিপবোর্ডে সংরক্ষণ সময়কাল (যদি তোমার যন্ত্র সনর্থন করে)</string>
</resources>

View File

@@ -429,15 +429,11 @@
<string name="validate">Zkontrolovat</string>
<string name="education_setup_OTP_summary">Nastavit správu One-Time hesla (HOTP / TOTP) pro založení tokenu požadovaného pro dvoufázové ověření (2FA).</string>
<string name="education_setup_OTP_title">Nastavit OTP</string>
<string name="autofill_auto_search_summary">Automaticky navrhnout výsledky hledání z webové domény nebo ID aplikace</string>
<string name="autofill_auto_search_title">Automatické vyhledávání</string>
<string name="lock_database_show_button_summary">Zobrazí tlačítko zámku v uživatelském rozhraní</string>
<string name="lock_database_show_button_title">Zobrazit tlačítko zámku</string>
<string name="autofill_preference_title">Nastavení samovyplnění</string>
<string name="warning_database_link_revoked">Přístup k souboru zrušenému správcem souborů</string>
<string name="error_label_exists">Tento štítek už existuje.</string>
<string name="keyboard_search_share_summary">Při sdílení URL s KeePassDX filtrovat záznamy podle URL domény</string>
<string name="keyboard_search_share_title">Prohledat sdílené info</string>
<string name="autofill_block_restart">Aktivovat zamezení restartováním aplikace obsahující formulář.</string>
<string name="autofill_block">Zamezit samovyplnění</string>
<string name="autofill_web_domain_blocklist_summary">Seznam domén, pro něž se zamezí samovyplnění</string>
@@ -475,13 +471,13 @@
<string name="autofill_read_only_save">Uložení dat není povoleno, je-li databáze v režimu pouze pro čtení.</string>
<string name="autofill_ask_to_save_data_summary">Po dokončení vyplňování formuláře se zeptat na uložení dat</string>
<string name="autofill_ask_to_save_data_title">Zeptat se před uložením</string>
<string name="autofill_save_search_info_summary">Pokuste se uložit údaje hledání, když manuálně vybíráte položku</string>
<string name="autofill_save_search_info_summary">Pokusit se uložit údaje hledání pro příští použití, vybíráte-li manuálně záznam</string>
<string name="autofill_save_search_info_title">Uložit výsledky vyhledávání</string>
<string name="autofill_close_database_summary">Zavřít databázi po samovyplnění polí</string>
<string name="autofill_close_database_title">Zavřít databázi</string>
<string name="keyboard_previous_lock_summary">Po uzamknutí databáze automaticky přepnout zpět na předchozí klávesnici</string>
<string name="keyboard_previous_lock_title">Uzamknout databázi</string>
<string name="keyboard_save_search_info_summary">Je-li po sdílení URL s KeePassDX vybrán záznam, pokusit se zapamatovat onen záznam pro další použití</string>
<string name="keyboard_save_search_info_summary">Pokusit se uložit sdílený záznam pro příští použití, je-li záznam manuálně vybrán</string>
<string name="keyboard_save_search_info_title">Uložit sdílené info</string>
<string name="notification">Oznámení</string>
<string name="biometric_security_update_required">Vyžadována aktualizace biometrického zabezpečení.</string>
@@ -508,7 +504,7 @@
<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ání</string>
<string name="advanced_unlock_prompt_store_credential_message">Varování: 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_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="open_advanced_unlock_prompt_store_credential">Pro uložení důvěrných údajů otevřete pobídku rozšířeného odemknutí</string>
<string name="open_advanced_unlock_prompt_unlock_database">Databázi otevřete i pomocí nabídky rozšířeného odemykání</string>
@@ -626,4 +622,27 @@
<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="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>
<string name="advanced_unlock_keystore_warning">Tato funkce uloží přihlašovací údaje v bezpečném úložišti klíčů Vašeho zařízení.
\n
\nV závislosti na implementaci nativního API operačního systému nemusí být plně funkční.
\nOvěřte kompatibilitu a zabezpečení úložiště klíčů u výrobce svého zařízení a dodavatele operačního systému, jejž používáte.</string>
<string name="keyboard_previous_search_title">Panel hledání</string>
<string name="keyboard_previous_search_summary">Automaticky přepnout na předchozí klávesnici v panelu hledání</string>
<string name="entropy">Entropie: %1$s bitů</string>
<string name="entropy_calculate">Entropie: spočítat…</string>
<string name="at_least_one_char">Alespoň jeden znak z každé</string>
<string name="entropy_high">Entropie: vysoká</string>
<string name="exclude_ambiguous_chars">Vyloučit víceznačné znaky</string>
<string name="consider_chars_filter">Uvážit znaky</string>
<string name="word_separator">Oddělovač</string>
<string name="ignore_chars_filter">Vyloučit znaky</string>
<string name="lower_case">malá písmena</string>
<string name="upper_case">VELKÁ PÍSMENA</string>
<string name="title_case">Titulové Psaní</string>
<string name="character_count">Počet znaků: %1$d</string>
</resources>

View File

@@ -429,15 +429,11 @@
<string name="discard">Kassér</string>
<string name="discard_changes">Kasser ændringer\?</string>
<string name="validate">Valider</string>
<string name="autofill_auto_search_summary">Foreslår automatisk søgeresultater fra webdomænet eller applikations-id</string>
<string name="autofill_auto_search_title">Automatisk søgning</string>
<string name="lock_database_show_button_summary">Viser låseknappen i brugergrænsefladen</string>
<string name="lock_database_show_button_title">Vis låseknap</string>
<string name="autofill_preference_title">Indstillinger for automatisk udfyldning</string>
<string name="warning_database_link_revoked">Adgang til filen tilbagekaldt af filadministratoren</string>
<string name="error_label_exists">Etiketten findes allerede.</string>
<string name="keyboard_search_share_summary">Søg automatisk efter delte oplysninger for at udfylde tastaturet</string>
<string name="keyboard_search_share_title">Søg i delte oplysninger</string>
<string name="autofill_block_restart">Genstart programmet, der indeholder formularen for at aktivere blokeringen.</string>
<string name="autofill_block">Bloker autofyld</string>
<string name="autofill_web_domain_blocklist_summary">Blokeringsliste, der forhindrer automatisk udfyldning af webdomæner</string>
@@ -559,4 +555,16 @@
<string name="import_app_properties_title">Importer appegenskaber</string>
<string name="error_move_group_here">Du kan flytte en gruppe her.</string>
<string name="error_word_reserved">Dette ord er reseveret og kan ikke bruges.</string>
<string name="expired">Udløbet</string>
<string name="tags">Tags</string>
<string name="content_description_database_color">Database farve</string>
<string name="template_group_name">Skabeloner</string>
<string name="searchable">Søgbar</string>
<string name="inherited">Arve</string>
<string name="custom_data">Brugerdefinerede data</string>
<string name="search_filters">Søg filtre</string>
<string name="current_group">Nuværende gruppe</string>
<string name="number">Nummer</string>
<string name="name">Navn</string>
<string name="type">Type</string>
</resources>

View File

@@ -445,8 +445,6 @@
<string name="discard">Verwerfen</string>
<string name="discard_changes">Änderungen verwerfen\?</string>
<string name="validate">Validieren</string>
<string name="autofill_auto_search_summary">Suchergebnisse automatisch nach Web-Domain oder Anwendungs-ID vorschlagen</string>
<string name="autofill_auto_search_title">Automatische Suche</string>
<string name="autofill_manual_selection_title">Manuelle Auswahl</string>
<string name="autofill_manual_selection_summary">Manuelle Auswahl des Datenbankeintrags ermöglichen</string>
<string name="lock_database_show_button_summary">Zeigt die Sperrtaste in der Benutzeroberfläche an</string>
@@ -454,8 +452,6 @@
<string name="autofill_preference_title">Einstellungen für automatisches Ausfüllen</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="keyboard_search_share_summary">Beim Teilen einer URL mit KeePassDX die Einträge nach dieser URL filtern</string>
<string name="keyboard_search_share_title">Gemeinsame Infos auswählen</string>
<string name="autofill_block_restart">Starten Sie die Anwendung, die das Formular enthält, neu, um die Sperrung zu aktivieren.</string>
<string name="autofill_block">Automatisches Ausfüllen sperren</string>
<string name="autofill_web_domain_blocklist_summary">Liste der Domains, auf denen ein automatisches Ausfüllen verhindert wird</string>
@@ -501,12 +497,12 @@
<string name="save_mode">Speichermodus</string>
<string name="search_mode">Suchmodus</string>
<string name="error_registration_read_only">Das Speichern eines neuen Elements in einer schreibgeschützten Datenbank ist nicht zulässig</string>
<string name="autofill_save_search_info_summary">Suchdaten bei manueller Auswahl einer Eingabe, wenn möglich, speichern</string>
<string name="autofill_save_search_info_summary">Wenn möglich, die Suchinformationen bei manueller Eintragsauswahl, zur einfacheren zukünftigen Verwendung, speichern</string>
<string name="autofill_ask_to_save_data_summary">Nachfragen, ob die Daten gespeichert werden sollen, wenn ein Formular ausgefüllt ist</string>
<string name="autofill_ask_to_save_data_title">Speichern von Daten abfragen</string>
<string name="autofill_save_search_info_title">Suchinformationen speichern</string>
<string name="autofill_close_database_summary">Datenbank nach Auswahl eines Eintrags zum automatischen Ausfüllen schließen</string>
<string name="keyboard_save_search_info_summary">Nachdem eine URL mit KeePassDX geteilt und ein Eintrag gewählt wurde, wird versucht, sich diesen Eintrag für die weitere Nutzung zu merken</string>
<string name="keyboard_save_search_info_summary">Wenn möglich, die gemeinsamen Informationen bei manueller Eintragsauswahl, zur einfacheren zukünftigen Verwendung, speichern</string>
<string name="keyboard_save_search_info_title">Gemeinsame Informationen speichern</string>
<string name="warning_empty_recycle_bin">Sollen alle ausgewählten Knoten wirklich aus dem Papierkorb gelöscht werden\?</string>
<string name="error_field_name_already_exists">Der Feldname existiert bereits.</string>

View File

@@ -413,8 +413,6 @@
<string name="contribution">Συνεισφορά</string>
<string name="education_setup_OTP_summary">Ρύθμιση διαχείρισης μίας-χρήσης κωδικού πρόσβασης (HOTP / TOTP) για δημιουργία token που ζητήθηκε για έλεγχο ταυτότητας δύο παραγόντων (2FA).</string>
<string name="education_setup_OTP_title">Ρύθμιση OTP</string>
<string name="autofill_auto_search_summary">Προτείνετε αυτόματα αποτελέσματα αναζήτησης από τον τομέα ιστού ή το αναγνωριστικό εφαρμογής</string>
<string name="autofill_auto_search_title">Αυτόματη αναζήτηση</string>
<string name="lock_database_show_button_summary">Εμφανίζει το κουμπί κλειδώματος στη διεπαφή χρήστη</string>
<string name="lock_database_show_button_title">Εμφάνιση κουμπιού κλειδώματος</string>
<string name="autofill_preference_title">Ρυθμίσεις Αυτόματης Συμπλήρωσης</string>
@@ -449,8 +447,6 @@
<string name="keyboard_previous_database_credentials_summary">Επιστρέψτε αυτόματα στο προηγούμενο πληκτρολόγιο στην οθόνη διαπιστευτηρίων βάσης δεδομένων</string>
<string name="keyboard_previous_database_credentials_title">Οθόνη διαπιστευτηρίων βάσης δεδομένων</string>
<string name="keyboard_change">Εναλλαγή πληκτρολογίου</string>
<string name="keyboard_search_share_title">Αναζήτηση κοινών πληροφοριών</string>
<string name="keyboard_search_share_summary">Κατά την κοινή χρήση ενός URL στο KeePassDX, φιλτράρετε τις καταχωρήσεις χρησιμοποιώντας αυτόν τον τομέα URL</string>
<string name="database_data_remove_unlinked_attachments_summary">Καταργεί συνημμένα που περιέχονται στη βάση δεδομένων, αλλά δεν συνδέονται με μια καταχώριση</string>
<string name="database_data_remove_unlinked_attachments_title">Κατάργηση αποσυνδεδεμένων δεδομένων</string>
<string name="data">Δεδομένα</string>
@@ -474,13 +470,13 @@
<string name="autofill_read_only_save">Δεν επιτρέπεται η αποθήκευση δεδομένων για μια βάση δεδομένων που ανοίγει ως μόνο για ανάγνωση.</string>
<string name="autofill_ask_to_save_data_summary">Ζητήστε αποθήκευση δεδομένων όταν ολοκληρωθεί η συμπλήρωση μιας φόρμας</string>
<string name="autofill_ask_to_save_data_title">Ζητήστε να αποθηκεύσετε δεδομένα</string>
<string name="autofill_save_search_info_summary">Προσπαθήστε να αποθηκεύσετε πληροφορίες αναζήτησης κατά την επιλογή χειροκίνητης καταχώρισης</string>
<string name="autofill_save_search_info_summary">Προσπαθήστε να αποθηκεύσετε πληροφορίες αναζήτησης όταν κάνετε μια χειροκίνητη επιλογή καταχώρησης για ευκολότερες μελλοντικές χρήσεις</string>
<string name="autofill_save_search_info_title">Αποθήκευση πληροφοριών αναζήτησης</string>
<string name="autofill_close_database_summary">Κλείστε τη βάση δεδομένων μετά από μια επιλογή αυτόματης συμπλήρωσης</string>
<string name="autofill_close_database_title">Κλείσιμο βάσης δεδομένων</string>
<string name="keyboard_previous_lock_summary">Επιστρέψτε αυτόματα στο προηγούμενο πληκτρολόγιο μετά το κλείδωμα της βάσης δεδομένων</string>
<string name="keyboard_previous_lock_title">Κλείδωμα βάσης δεδομένων</string>
<string name="keyboard_save_search_info_summary">Μετά την κοινή χρήση ενός URL στο KeePassDX , όταν έχει επιλεγεί μια καταχώρηση, προσπαθήστε να θυμηθείτε αυτήν την καταχώρηση για περαιτέρω χρήσεις</string>
<string name="keyboard_save_search_info_summary">Προσπαθήστε να αποθηκεύσετε τις κοινές πληροφορίες όταν κάνετε μια χειροκίνητη επιλογή καταχώρισης για ευκολότερες μελλοντικές χρήσεις</string>
<string name="keyboard_save_search_info_title">Αποθήκευση κοινόχρηστων πληροφοριών</string>
<string name="notification">Ειδοποίηση</string>
<string name="biometric_security_update_required">Απαιτείται ενημέρωση βιομετρικής ασφάλειας.</string>

View File

@@ -0,0 +1,24 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="warning_password_encoding">Avoid password characters outside of text encoding format in database file (unrecognised chars are converted to the same letter).</string>
<string name="keystore_not_accessible">The keystore is not properly initialised.</string>
<string name="colorize_password_summary">Colourise password characters by type</string>
<string name="content_description_entry_background_color">Entry background colour</string>
<string name="invalid_db_sig">Could not recognise the database format.</string>
<string name="advanced_unlock_not_recognized">Could not recognise advanced unlock print</string>
<string name="advanced_unlock_prompt_not_initialized">Unable to initialise advanced unlock prompt.</string>
<string name="download_initialization">Initialising…</string>
<string name="download_finalization">Finalising…</string>
<string name="download_canceled">Cancelled!</string>
<string name="database_custom_color_title">Custom database colour</string>
<string name="colorize_password_title">Colourise passwords</string>
<string name="content_description_entry_foreground_color">Entry foreground colour</string>
<string name="show_entry_colors_title">Entry colours</string>
<string name="content_description_database_color">Database colour</string>
<string name="show_entry_colors_summary">Displays foreground and background colours in an entry</string>
<string name="education_new_node_summary">Entries help manage your digital identities.
\n
\nGroups (~folders) organise entries in your database.</string>
<string name="error_otp_type">The existing OTP type is not recognised by this form, its validation may no longer correctly generate the token.</string>
<string name="html_text_buy_pro">By buying the pro version, you will have access to this <strong>visual style</strong> and you will especially help <strong>the realisation of community projects.</strong></string>
</resources>

View File

@@ -26,17 +26,17 @@
<string name="add_entry">Añadir entrada</string>
<string name="add_group">Añadir grupo</string>
<string name="encryption_algorithm">Algoritmo de cifrado</string>
<string name="app_timeout">Tiempo de espera excedido</string>
<string name="app_timeout">Tiempo de espera superado</string>
<string name="app_timeout_summary">Inactividad antes del bloqueo de aplicación</string>
<string name="application">Aplicación</string>
<string name="menu_app_settings">Configuración de la aplicación</string>
<string name="brackets">Paréntesis</string>
<string name="brackets">Corchete</string>
<string name="file_manager_install_description">Se requiere un administrador de archivos que acepte la acciones de intención ACTION_CREATE_DOCUMENT y ACTION_OPEN_DOCUMENT para crear, abrir y guardar los archivos de la base de datos.</string>
<string name="clipboard_cleared">Portapapeles limpiado</string>
<string name="clipboard_cleared">Portapapeles vaciado</string>
<string name="clipboard_timeout">Portapapeles caducado</string>
<string name="clipboard_timeout_summary">Duración del almacenamiento en el portapapeles (si lo admite su dispositivo)</string>
<string name="select_to_copy">Seleccionar para copiar %1$s en el portapapeles</string>
<string name="retrieving_db_key">Recuperando la clave de la base de datos</string>
<string name="clipboard_timeout_summary">Duración del almacenaje en el portapapeles (si lo admite su dispositivo)</string>
<string name="select_to_copy">Seleccionar para copiar %1$s al portapapeles</string>
<string name="retrieving_db_key">Recuperando clave de BdD</string>
<string name="database">Base de datos</string>
<string name="decrypting_db">Descifrando el contenido de la base de datos…</string>
<string name="default_checkbox">Utilizar como base de datos por defecto</string>
@@ -46,11 +46,11 @@
<string name="select_database_file">Abrir base de datos existente</string>
<string name="entry_accessed">Accedido</string>
<string name="entry_cancel">Cancelar</string>
<string name="entry_notes">Notas</string>
<string name="entry_notes">Anotaciones</string>
<string name="entry_confpassword">Confirmar contraseña</string>
<string name="entry_created">Creado</string>
<string name="entry_expires">Caduca</string>
<string name="entry_keyfile">Archivo de clave</string>
<string name="entry_keyfile">Cerrojo</string>
<string name="entry_modified">Modificada</string>
<string name="entry_password">Contraseña</string>
<string name="save">Guardar</string>
@@ -132,8 +132,8 @@
<string name="extended_ASCII">ASCII extendido</string>
<string name="allow">Permitir</string>
<string name="clipboard_error_title">Error del portapapeles</string>
<string name="clipboard_error">Algunos dispositivos no permiten que las aplicaciones usen el portapapeles.</string>
<string name="clipboard_error_clear">No se pudo limpiar el portapapeles</string>
<string name="clipboard_error">Algunos dispositivos no permiten que las aplicaciones utilicen el portapapeles.</string>
<string name="clipboard_error_clear">No se pudo vaciar el portapapeles</string>
<string name="error_string_key">Cada cadena debe tener un nombre de campo.</string>
<string name="error_autofill_enable_service">El servicio de autocompletado no se ha podido habilitar.</string>
<string name="field_name">Nombre del campo</string>
@@ -310,18 +310,18 @@
<string name="delete_entered_password_title">Eliminar contraseña</string>
<string name="delete_entered_password_summary">Elimina la contraseña introducida tras un intento de conexión a una bse de datos</string>
<string name="content_description_open_file">Abrir archivo</string>
<string name="content_description_node_children">Nodos hijo</string>
<string name="content_description_node_children">Nodo heredado</string>
<string name="content_description_add_node">Añadir nodo</string>
<string name="content_description_add_entry">Añadir entrada</string>
<string name="content_description_add_entry">Añadir apunte</string>
<string name="content_description_add_group">Añadir grupo</string>
<string name="content_description_file_information">Información del archivo</string>
<string name="content_description_password_checkbox">Casilla de verificación de la contraseña</string>
<string name="content_description_keyfile_checkbox">Casilla de verificación del archivo de clave</string>
<string name="content_description_entry_icon">Icono de entrada</string>
<string name="content_description_file_information">Informe de archivo</string>
<string name="content_description_password_checkbox">Casilla de contraseña</string>
<string name="content_description_keyfile_checkbox">Casilla del cerrojo</string>
<string name="content_description_entry_icon">Icono de apunte</string>
<string name="entry_password_generator">Generador de contraseñas</string>
<string name="content_description_password_length">Longitud de contraseña</string>
<string name="entry_add_field">Añadir campo</string>
<string name="content_description_remove_field">Eliminar el campo</string>
<string name="content_description_remove_field">Retirar campo</string>
<string name="entry_UUID">UUID</string>
<string name="error_move_entry_here">No se puede mover una entrada aquí.</string>
<string name="error_copy_entry_here">No puede copiar una entrada aquí.</string>
@@ -342,7 +342,7 @@
\n\"Protegido contra escritura\" evita cambios no deseados en la base de datos.
\n\"Modificable\" le permite agregar, eliminar o modificar todos los elementos como desee.</string>
<string name="lock_database_back_root_title">Presione \'Atrás\' para bloquear</string>
<string name="content_description_repeat_toggle_password_visibility">Repetir la visibilidad de la contraseña</string>
<string name="content_description_repeat_toggle_password_visibility">Repetir conmutación de visibilidad de contraseña</string>
<string name="master_key">Clave maestra</string>
<string name="security">Seguridad</string>
<string name="entry_history">Historial</string>
@@ -426,9 +426,9 @@
<string name="auto_focus_search_title">Búsqueda rápida</string>
<string name="menu_delete_entry_history">Eliminar el historial</string>
<string name="error_otp_digits">El token debe contener de %1$d a %2$d dígitos.</string>
<string name="entry_attachments">Archivos adjuntos</string>
<string name="entry_add_attachment">Añadir el archivo adjunto</string>
<string name="content_description_credentials_information">Información de credenciales</string>
<string name="entry_attachments">Adjuntos</string>
<string name="entry_add_attachment">Añadir adjunto</string>
<string name="content_description_credentials_information">Informe de credenciales</string>
<string name="database_opened">Base de datos abierta</string>
<string name="education_add_attachment_title">Adjuntar</string>
<string name="education_add_attachment_summary">Cargue un archivo adjunto a la entrada para guardar datos externos importantes.</string>
@@ -461,7 +461,7 @@
<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">Advertencia: Aún debes recordar tu contraseña maestra si usas el 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="open_advanced_unlock_prompt_store_credential">Abrir el indicador de desbloqueo avanzado para almacenar las credenciales</string>
<string name="open_advanced_unlock_prompt_unlock_database">Abrir el aviso de desbloqueo avanzado para desbloquear la base de datos</string>
@@ -486,7 +486,6 @@
<string name="settings_database_recommend_changing_master_key_summary">Recomendar cambiar la contraseña maestra (días)</string>
<string name="notification">Notificación</string>
<string name="hide_expired_entries_title">Ocultar las entradas expiradas</string>
<string name="keyboard_search_share_title">Buscar información compartida</string>
<string name="upload_attachment">Cargar %1$s</string>
<string name="education_setup_OTP_summary">Configurar la gestión de contraseñas de un solo uso (HOTP / TOTP) para generar un token solicitado para la autenticación de dos factores (2FA).</string>
<string name="education_setup_OTP_title">Establecer la contaseña de un solo uso</string>
@@ -502,8 +501,6 @@
<string name="autofill_ask_to_save_data_title">Pedir que se guarden los datos</string>
<string name="autofill_save_search_info_summary">Intente guardar la información de la búsqueda cuando haga una selección de entrada manual</string>
<string name="autofill_save_search_info_title">Guardar la información de la búsqueda</string>
<string name="autofill_auto_search_summary">Sugerir automáticamente los resultados de la búsqueda desde el dominio web o el ID de la aplicación</string>
<string name="autofill_auto_search_title">Búsqueda automática</string>
<string name="autofill_close_database_summary">Cerrar la base de datos después de una selección de autocompletado</string>
<string name="autofill_close_database_title">Cerrar la base de datos</string>
<string name="enter">Entrar</string>
@@ -518,9 +515,8 @@
<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>
<string name="keyboard_save_search_info_summary">Luego de compartir un URL con KeePassDX, cuando se selecciona una entrada, intentar recordarla para futuros usos</string>
<string name="keyboard_save_search_info_summary">Tras compartir informe a KeePassDX, cuando esté seleccionado un apunte, intente guardar el informe dentro del apunte para posibles futuros usos</string>
<string name="keyboard_save_search_info_title">Guardar información compartida</string>
<string name="keyboard_search_share_summary">Al compartir un URL con KeePassDX, filtrar las entradas utilizando el dominio de ese URL</string>
<string name="show_uuid_summary">Muestra el UUID vinculado a una entrada o a un grupo</string>
<string name="show_uuid_title">Mostrar UUID</string>
<string name="error_rebuild_list">No es posible reconstruir adecuadamente la lista.</string>
@@ -541,7 +537,7 @@
<string name="error_duplicate_file">Los datos del archivo ya existen.</string>
<string name="error_upload_file">Se produjo un error al cargar los datos del archivo.</string>
<string name="description_app_properties">Propiedades de KeePassDX para gestionar la configuración de la aplicación</string>
<string name="content_description_otp_information">Información de contraseña de un solo uso</string>
<string name="content_description_otp_information">Informe de contraseña de un solo uso</string>
<string name="icon_section_custom">Personalizado</string>
<string name="icon_section_standard">Estándar</string>
<string name="style_brightness_summary">Seleccionar temas oscuros o claros</string>
@@ -604,8 +600,8 @@
<string name="warning_exact_alarm">No ha permitido que la app use una alarma exacta. Como resultado, las funciones que requieren un temporizador no se harán con una hora exacta.</string>
<string name="permission">Permiso</string>
<string name="content_description_database_color">Color de la base de datos</string>
<string name="content_description_entry_foreground_color">Color de primer plano de la entrada</string>
<string name="content_description_entry_background_color">Color de fondo de la entrada</string>
<string name="content_description_entry_foreground_color">Color de primer plano del apunte</string>
<string name="content_description_entry_background_color">Color de fondo del apunte</string>
<string name="tags">Etiquetas</string>
<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>
@@ -628,4 +624,27 @@
<string name="menu_save_copy_to">Guardar una copia en …</string>
<string name="inherited">Heredar</string>
<string name="expired">Caducada</string>
<string name="colorize_password_summary">Colorear caracteres de contraseña por el tipo</string>
<string name="warning_database_already_opened">Ya hay abierta una base de datos, cierrela antes de abrir otra</string>
<string name="exclude_ambiguous_chars">Excluya caracteres ambiguos</string>
<string name="consider_chars_filter">Considere caracteres</string>
<string name="entropy_calculate">Entropía: calcular…</string>
<string name="word_separator">Separador</string>
<string name="advanced_unlock_keystore_warning">Esta característica almacenará credenciales cifradas en el almacenaje seguro KeyStore de su dispositivo.
\n
\nDependiendo de la implementación del API nativo del sistema operativo, tal vez no sea completamente funcional.
\nCompruebe la compatibilidad y garantía del almacenaje KeyStore con el fabricante de su dispositivo y el creadas de la ROM que está utilizando.</string>
<string name="content_description_passphrase_word_count">Conteo de palabras de contraseña-frase</string>
<string name="passphrase">Contraseña frase</string>
<string name="colorize_password_title">Colorear contraseñas</string>
<string name="keyboard_previous_search_title">Pantalla de búsqueda</string>
<string name="keyboard_previous_search_summary">Volver automáticamente al teclado anterior en la pantalla de búsqueda</string>
<string name="entropy">Entropía: %1$s bit</string>
<string name="entropy_high">Entropía: Alta</string>
<string name="at_least_one_char">Al menos un carácter desde cada</string>
<string name="ignore_chars_filter">Descartar caracteres</string>
<string name="lower_case">minúsculas</string>
<string name="upper_case">MAYÚSCULAS</string>
<string name="title_case">Tipo Titular</string>
<string name="character_count">Conteo de caracteres: %1$d</string>
</resources>

View File

@@ -291,7 +291,7 @@
\n\"Modifiable\" vous permet dajouter, de supprimer ou de modifier tous les éléments comme vous le souhaitez.</string>
<string name="edit_entry">Modifier lentrée</string>
<string name="error_load_database">Impossible de charger votre base de données.</string>
<string name="error_load_database_KDF_memory">Impossible de charger la clé. Veuillez essayer de diminuer lutilisation mémoire de la fonction de dérivation de clé.</string>
<string name="error_load_database_KDF_memory">Impossible de charger la clé. Essayez de diminuer lutilisation mémoire de la fonction de dérivation de clé.</string>
<string name="list_entries_show_username_title">Afficher les noms dutilisateur</string>
<string name="list_entries_show_username_summary">Affiche les noms dutilisateur dans les listes dentrées</string>
<string name="build_label">Compilation %1$s</string>
@@ -449,8 +449,6 @@
<string name="discard">Abandonner</string>
<string name="discard_changes">Abandonner les modifications \?</string>
<string name="validate">Valider</string>
<string name="autofill_auto_search_summary">Suggérer automatiquement des résultats de recherche à partir du domaine Web ou de lidentifiant de lapplication</string>
<string name="autofill_auto_search_title">Recherche automatique</string>
<string name="lock_database_show_button_summary">Affiche le bouton de verrouillage dans linterface utilisateur</string>
<string name="lock_database_show_button_title">Afficher le bouton de verrouillage</string>
<string name="autofill_preference_title">Paramètres de remplissage automatique</string>
@@ -462,8 +460,6 @@
<string name="autofill_web_domain_blocklist_title">Liste de blocage de domaine Web</string>
<string name="autofill_application_id_blocklist_summary">Liste de blocage qui empêche le remplissage automatique des applications</string>
<string name="autofill_application_id_blocklist_title">Liste de blocage dapplication</string>
<string name="keyboard_search_share_summary">Lorsque des infos sont partagées avec KeePassDX, filtre les entrées en utilisant ces infos pour alimenter le Magiclavier</string>
<string name="keyboard_search_share_title">Sélectionner les infos partagées</string>
<string name="filter">Filtre</string>
<string name="subdomain_search_summary">Recherche des domaines Web avec des contraintes de sous-domaines</string>
<string name="subdomain_search_title">Recherche de sous-domaine</string>
@@ -490,13 +486,13 @@
<string name="autofill_read_only_save">Lenregistrement des données nest pas autorisé pour une base de données ouverte en lecture seule.</string>
<string name="autofill_ask_to_save_data_summary">Demande de sauvegarde des données à la fin du remplissage d\'un formulaire</string>
<string name="autofill_ask_to_save_data_title">Demander à enregistrer des données</string>
<string name="autofill_save_search_info_summary">Essaye denregistrer les informations de recherche lors de la sélection manuelle dune entrée</string>
<string name="autofill_save_search_info_summary">Essaye denregistrer les informations de recherche lors de la sélection manuelle dune entrée pour faciliter les utilisations futures</string>
<string name="autofill_save_search_info_title">Enregistrer les infos de recherche</string>
<string name="autofill_close_database_summary">Ferme la base de données après une sélection de remplissage automatique</string>
<string name="autofill_close_database_title">Fermer la base de données</string>
<string name="keyboard_previous_lock_summary">Revient automatiquement au clavier précédent après le verrouillage de la base de données</string>
<string name="keyboard_previous_lock_title">Verrouiller la base de données</string>
<string name="keyboard_save_search_info_summary">Après avoir partagé des infos avec KeePassDX, lorsqu\'une entrée est sélectionnée, essaye d\'enregistrer les infos dans l\'entrée pour faciliter les utilisations futures</string>
<string name="keyboard_save_search_info_summary">Essaye de sauvegarder les informations partagées lors de la sélection manuelle d\'une entrée pour faciliter les utilisations futures.</string>
<string name="keyboard_save_search_info_title">Enregistrer les infos partagées</string>
<string name="notification">Notification</string>
<string name="biometric_security_update_required">Mise à jour de sécurité biométrique requise.</string>

View File

@@ -336,7 +336,6 @@
<string name="homepage">Početna stranica</string>
<string name="remember_keyfile_locations_title">Zapamti mjesto datoteke ključa</string>
<string name="unavailable_feature_version">Uređaj koristi Android verziju %1$s, ali potrebna je verzija %2$s ili novija.</string>
<string name="autofill_auto_search_summary">Automatski predloži rezultate pretrage od web domene ili ID-a aplikacije</string>
<string name="hide_broken_locations_summary">Sakrij pokvarene poveznice u popisu nedavnih baza podataka</string>
<string name="html_text_dev_feature">Ova se funkcija nalazi &lt;strong&gt;u razvoju&lt;/strong&gt; i treba tvoj &lt;strong&gt;doprinos&lt;/strong&gt; kako bi uskoro bila dostupna.</string>
<string name="education_generate_password_title">Stvori sigurnu lozinku</string>
@@ -346,7 +345,6 @@
<string name="autofill_application_id_blocklist_title">Popis blokiranja aplikacija</string>
<string name="validate">Provjeri valjanost</string>
<string name="education_entry_edit_title">Uredi unos</string>
<string name="autofill_auto_search_title">Automatska pretraga</string>
<string name="html_text_dev_feature_work_hard">Trudimo se brzo izdati ovu funkciju.</string>
<string name="html_text_dev_feature_encourage">potičeš programere da stvore &lt;strong&gt;nove funkcije&lt;/strong&gt; i &lt;strong&gt;isprave greške&lt;/strong&gt; na osnovi tvojih napomena.</string>
<string name="keyboard_auto_go_action_summary">Radnja tipke „Idi” nakon pritiskanja tipke „Polje”</string>
@@ -368,7 +366,6 @@
<string name="warning_password_encoding">Izbjegni u lozinkama koristiti znakove koji su izvan formata kodiranja teksta u datoteci baze podataka (neprepoznati znakovi pretvaraju se u isto slovo).</string>
<string name="rounds_explanation">Dodatni prolazi šifriranja pružaju veću zaštitu od brutalnih napada, ali stvarno mogu usporiti učitavanje i spremanje.</string>
<string name="subdomain_search_summary">Traži web domene s ograničenjima poddomena</string>
<string name="keyboard_search_share_title">Traži dijeljene informacije</string>
<string name="html_text_dev_feature_upgrade">Redovito aktualiziraj aplikaciju instaliranjem najnovijih verzija.</string>
<string name="autofill_block_restart">Za aktiviranje blokiranja, ponovo pokreni aplikaciju koja sadrži obrazac.</string>
<string name="education_sort_summary">Odaberi način razvrstavanja unosa i grupa.</string>
@@ -412,7 +409,6 @@
<string name="html_text_dev_feature_buy_pro">Kupnjom &lt;strong&gt;pro&lt;/strong&gt; verzije,</string>
<string name="keyboard_selection_entry_summary">Prilikom prikaza unosa u KeePassDX-u, popuni Magikeyboard s tim unosom</string>
<string name="education_new_node_title">Dodaj elemente u bazu podataka</string>
<string name="keyboard_search_share_summary">Prilikom dijeljenja URL-a u KeePassDX-u, filtriraj unose koristeći tu domenu URL-a</string>
<string name="education_donation_summary">Pomogni povećati stabilnost i sigurnost dodavanjem dodatnih funkcija.</string>
<string name="error_string_type">Ovaj se tekst ne poklapa sa zatraženim elementom.</string>
<string name="html_text_buy_pro">Kupnjom pro verzije imat ćaš pristup ovom &lt;strong&gt;vizualnom stilu&lt;/strong&gt; i k tome ćeš pomoći &lt;strong&gt;u realizaciji projekata zajednice.&lt;/strong&gt;</string>
@@ -465,7 +461,7 @@
<string name="data">Podaci</string>
<string name="warning_sure_remove_data">Svejedno ukloniti ove podatke\?</string>
<string name="content_description_credentials_information">Podaci za prijavu</string>
<string name="autofill_save_search_info_summary">Pokušaj spremiti podatke pretrage prilikom odabira ručnog unosa</string>
<string name="autofill_save_search_info_summary">Pokušaj spremiti podatke prilikom odabira ručnog unosa za jednostavniju buduću upotrebu</string>
<string name="notification">Obavijest</string>
<string name="error_registration_read_only">Nije dopušteno spremati novi element u zaštićenoj bazi podataka</string>
<string name="autofill_read_only_save">Spremanje podataka nije dopušteno za bazu podataka koja je otvorena u zaštićenom stanju.</string>
@@ -478,7 +474,7 @@
<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_title">Zaključaj bazu podataka</string>
<string name="keyboard_save_search_info_summary">Nakon dijeljenja URL-a s KeePassDX-om, kad je unos odabran, pokušaj zapamtiti taj unos za daljnje korištenje</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>
<string name="warning_empty_recycle_bin">Trajno izbrisati sve čvorove iz smeća\?</string>
<string name="biometric_security_update_required">Potrebno je aktualizirati biometrijsku zaštitu.</string>

View File

@@ -314,8 +314,6 @@
<string name="error_create_database_file">Ezzel a jelszó és kulcsfájl kombinációval nem hozható létre adatbázis.</string>
<string name="education_setup_OTP_summary">Állítson be egyszer használatos jelszókezelést (HOTP/TOTP), hogy tokent állítson elő a kétfaktoros hitelesítéshez (2FA).</string>
<string name="education_setup_OTP_title">OTP beállítása</string>
<string name="autofill_auto_search_summary">Keresési találatok automatikus javaslata a webes domain vagy az alkalmazásazonosító alapján</string>
<string name="autofill_auto_search_title">Automatikus keresés</string>
<string name="clear_clipboard_notification_summary">Az adatbázis zárolása, ha a vágólap ideje lejár, vagy ha a használata után bezárja az értesítést</string>
<string name="clear_clipboard_notification_title">Zárolás bezáráskor</string>
<string name="lock_database_show_button_summary">Megjeleníti a zárolás gombot a felhasználói felületen</string>
@@ -438,8 +436,6 @@
<string name="keyboard_previous_database_credentials_title">Adatbázis-hitelesítőadatok képernyője</string>
<string name="keyboard_change">Billentyűzet váltása</string>
<string name="keyboard_save_search_info_title">Megosztott információk mentése</string>
<string name="keyboard_search_share_summary">Ha egy URL-t oszt meg a KeePassDX-szel, akkor az elemek szűrése arra az URL domainnel</string>
<string name="keyboard_search_share_title">Megosztott információk keresése</string>
<string name="notification">Értesítés</string>
<string name="database_data_remove_unlinked_attachments_summary">Eltávolítja azokat a mellékleteket, melyek az adatbázisban szerepelnek, de nem tartoznak bejegyzéshez</string>
<string name="database_data_remove_unlinked_attachments_title">Nem összekapcsolt adatok eltávolítása</string>

View File

@@ -39,7 +39,7 @@
<string name="creating_database">Pembuatan basisdata…</string>
<string name="list_size_summary">Ukuran teks dalam daftar elemen</string>
<string name="list_size_title">Ukuran daftar item</string>
<string name="list_groups_show_number_entries_summary">Tampilkan jumlah entri dalam sebuah grup</string>
<string name="list_groups_show_number_entries_summary">Menampilkan jumlah entri dalam sebuah grup</string>
<string name="list_groups_show_number_entries_title">Tampilkan jumlah entri</string>
<string name="list_entries_show_username_summary">Tampilkan nama pengguna di daftar entri</string>
<string name="list_entries_show_username_title">Tampilkan nama pengguna</string>
@@ -70,8 +70,8 @@
<string name="error_create_database_file">Tidak bisa membuat basisdata dengan kata sandi dan file kunci ini.</string>
<string name="error_create_database">Tidak bisa membuat berkas database.</string>
<string name="error_copy_group_here">Anda tidak bisa menyalin grup di sini.</string>
<string name="error_copy_entry_here">Anda tidak bisa menyalin entri di sini.</string>
<string name="error_move_entry_here">Anda tidak bisa memindahkan entri ke 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>
<string name="error_autofill_enable_service">Tidak bisa mengaktifkan layanan IsiOtomatis.</string>
<string name="error_wrong_length">Masukkan bilangan bulat di bidang \"Panjang\".</string>
<string name="error_label_exists">Label ini sudah ada.</string>
@@ -213,7 +213,7 @@
<string name="sort_db">Pengurutan alami</string>
<string name="sort_recycle_bin_bottom">Tong Sampah di bawah</string>
<string name="sort_groups_before">Grup sebelumnya</string>
<string name="build_label">Build %1$s</string>
<string name="build_label">Bangun %1$s</string>
<string name="version_label">Versi %1$s</string>
<string name="warning_empty_keyfile_explanation">Isi dari keyfile sebaiknya tidak di ubah, dan yang terbaik harus berupa data acak.</string>
<string name="warning_empty_keyfile">Tidak disarankan menambah keyfile kosong.</string>
@@ -256,7 +256,7 @@
<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_title">Tekan \'Kembali\' untuk mengunci</string>
<string name="lock_database_screen_off_summary">Kunci database saat layar mati</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>
<string name="lock">Kunci</string>
<string name="clipboard_warning">Jika penghapusan otomatis papan klip gagal, hapus riwayatnya secara manual.</string>
@@ -324,13 +324,11 @@
<string name="autofill_web_domain_blocklist_title">Daftar blokir domain web</string>
<string name="autofill_application_id_blocklist_summary">Daftar blokir yang mencegah pengisian otomatis aplikasi</string>
<string name="autofill_application_id_blocklist_title">Daftar blokir aplikasi</string>
<string name="autofill_ask_to_save_data_summary">Meminta untuk menyimpan data saat formulir divalidasi</string>
<string name="autofill_ask_to_save_data_summary">Minta untuk menyimpan data ketika pengisian formulir selesai</string>
<string name="autofill_ask_to_save_data_title">Minta untuk menyimpan data</string>
<string name="autofill_save_search_info_summary">Cobalah untuk menyimpan informasi pencarian saat membuat pilihan entri manual</string>
<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_auto_search_summary">Secara otomatis menyarankan hasil pencarian dari domain web atau ID aplikasi</string>
<string name="autofill_auto_search_title">Pencarian otomatis</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="enter">Enter</string>
@@ -355,10 +353,9 @@
<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_title">Bersihkan saat menutup</string>
<string name="keyboard_search_share_title">Telusuri info yang dibagikan</string>
<string name="keyboard_notification_entry_summary">Tampilkan notifikasi ketika entri tersedia</string>
<string name="keyboard_notification_entry_title">Info notifikasi</string>
<string name="keyboard_selection_entry_summary">Tampilkan bidang input di Magikeyboard saat melihat entri</string>
<string name="keyboard_selection_entry_summary">Saat menampilkan entri dalam KeePassDX, isi Magikeyboard dengan entrinya</string>
<string name="keyboard_selection_entry_title">Pilihan entri</string>
<string name="keyboard_entry_category">Entri</string>
<string name="keyboard_setting_label">Pengaturan Magikeyboard</string>
@@ -395,7 +392,7 @@
<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 basisdata dengan pengenalan pembuka kunci tingkat lanjut</string>
<string name="advanced_unlock_prompt_store_credential_message">Peringatan: Anda tetap harus mengingat kata sandi induk Anda jika Anda menggunakan pengenalan pembukaan 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="warning_database_revoked">Akses ke berkas dicabut oleh pengelola berkas, tutup basisdata 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">Informasi yang tersimpan di berkas basisdata Anda sudah diubah di luar aplikasi.</string>
@@ -414,7 +411,7 @@
<string name="import_app_properties_summary">Pilih sebuah berkas untuk mengimpor setelan aplikasi</string>
<string name="import_app_properties_title">Impor setelan aplikasi</string>
<string name="error_start_database_action">Timbul galat ketika melaksanakan sebuah aksi di basisdata.</string>
<string name="error_move_group_here">Anda tidak bisa memindahkan sebuah grup ke sini.</string>
<string name="error_move_group_here">Anda tidak dapat memindahkan sebuah grup ke sini.</string>
<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>
@@ -460,7 +457,7 @@
<string name="ssid">SSID</string>
<string name="token">Token</string>
<string name="seed">Bibit</string>
<string name="bank_identifier_code">SWIFT/BIC</string>
<string name="bank_identifier_code">SWIFT / BIC</string>
<string name="secure_note">Catatan Aman</string>
<string name="menu_external_icon">Ikon eksternal</string>
<string name="holder">Penyangga</string>
@@ -531,11 +528,98 @@
<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_keyfile_integrity">Hash file tidak terjamin karena Android dapat mengubah datanya saat itu juga. Ubah ekstensi file menjadi .bin agar integritas bisa dihasilkan secara tepat.</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>
<string name="wireless">Wi-Fi</string>
<string name="tags">Label</string>
<string name="open_advanced_unlock_prompt_store_credential">Buka penguncian lanjutan untuk menyimpan kredensial</string>
<string name="warning_permanently_delete_nodes">Hapus permanen node yang dipilih\?</string>
<string name="magic_keyboard_explanation_summary">Aktifkan keyboard kustom yang mengisi kata sandi Anda dan semua bidang identitas</string>
<string name="autofill_manual_selection_title">Pemilihan manual</string>
<string name="expired">Kadaluwarsa</string>
<string name="education_add_attachment_summary">Unggah lampiran ke entri Anda untuk menyimpan data eksternal penting.</string>
<string name="content_description_passphrase_word_count">Jumlah kata frasa sandi</string>
<string name="searchable">Dapat dicari</string>
<string name="search_filters">Saringan pencarian</string>
<string name="passphrase">Frasa sandi</string>
<string name="colorize_password_summary">Warnai karakter kata sandi berdasarkan tipe</string>
<string name="colorize_password_title">Warnai kata sandi</string>
<string name="biometric_auto_open_prompt_title">Buka prompt secara otomatis</string>
<string name="allow_copy_password_summary">Izinkan menyalin entri kata sandi dan bidang yang dilindungi ke papan klip</string>
<string name="keyboard_previous_search_title">Layar pencarian</string>
<string name="keyboard_previous_search_summary">Secara otomatis beralih kembali ke keyboard sebelumnya di layar pencarian</string>
<string name="keyboard_previous_fill_in_summary">Secara otomatis beralih kembali ke keyboard sebelumnya setelah menjalankan \"Tindakan tombol otomatis\"</string>
<string name="keyboard_previous_database_credentials_summary">Secara otomatis beralih kembali ke keyboard sebelumnya di layar kredensial basis data</string>
<string name="autofill_manual_selection_summary">Tampilkan opsi untuk memungkinkan pengguna memilih entri basis data</string>
<string name="autofill_read_only_save">Penyimpanan data tidak diperbolehkan untuk basis data yang dibuka sebagai baca-saja.</string>
<string name="allow_no_password_title">Izinkan tidak ada kunci utama</string>
<string name="allow_no_password_summary">Memungkinkan mengetuk tombol \"Buka\" jika tidak ada kredensial yang dipilih</string>
<string name="delete_entered_password_summary">Menghapus kata sandi yang dimasukkan setelah upaya koneksi ke basis data</string>
<string name="enable_read_only_summary">Buka basis data baca-saja secara baku</string>
<string name="enable_keep_screen_on_title">Biarkan layar nyala</string>
<string name="enable_education_screens_summary">Sorot elemen untuk mempelajari cara kerja aplikasi</string>
<string name="education_create_database_summary">Buat file pengelola kata sandi pertama Anda.</string>
<string name="education_new_node_summary">Entri membantu mengelola identitas digital Anda.
\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_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>
<string name="education_setup_OTP_summary">Siapkan pengelola kata sandi satu kali (HOTP / TOTP) untuk menghasilkan token yang diminta untuk otentikasi dua faktor (2FA).</string>
<string name="education_unlock_summary">Masukkan kata sandi dan/atau berkas kunci untuk membuka basis data Anda.
\n
\nCadangkan file basis data Anda di tempat yang aman setelah setiap perubahan.</string>
<string name="entropy">Entropi: %1$s bit</string>
<string name="entropy_high">Entropi: Tinggi</string>
<string name="entropy_calculate">Entropi: Hitung…</string>
<string name="at_least_one_char">Setidaknya satu karakter dari masing-masing</string>
<string name="exclude_ambiguous_chars">Kecualikan karakter ambigu</string>
<string name="consider_chars_filter">Pertimbangkan karakter</string>
<string name="word_separator">Pemisah</string>
<string name="ignore_chars_filter">Abaikan karakter</string>
<string name="lower_case">huruf kecil</string>
<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="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_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>
<string name="education_select_database_summary">Buka file basis data Anda sebelumnya dari peramban file Anda untuk terus menggunakannya.</string>
<string name="show_entry_colors_title">Warna entri</string>
<string name="show_entry_colors_summary">Menampilkan warna latar depan dan latar belakang dalam entri</string>
<string name="reset_education_screens_title">Atur ulang petunjuk pendidikan</string>
<string name="reset_education_screens_summary">Tampilkan semua info pendidikan lagi</string>
<string name="education_entry_edit_summary">Edit entri Anda dengan bidang kustom. Kumpulan data dapat dirujuk antara bidang entri yang berbeda.</string>
<string name="navigation_drawer_open">Laci navigasi terbuka</string>
<string name="navigation_drawer_close">Laci navigasi tertutup</string>
<string name="inherited">Wariskan</string>
<string name="auto_type_sequence">Urutan Pengetikan Otomatis</string>
<string name="case_sensitive">Kepekaan kapital</string>
<string name="regex">Ekspresi reguler</string>
<string name="menu_merge_from">Gabung dari …</string>
<string name="menu_save_copy_to">Simpan sebuah salinan ke …</string>
<string name="reset_education_screens_text">Atur ulang petunjuk pendidikan</string>
<string name="education_search_title">Cari melalui entri</string>
<string name="education_generate_password_title">Buat kata sandi yang kuat</string>
<string name="education_generate_password_summary">Buat kata sandi yang kuat untuk dikaitkan dengan entri Anda, tentukan dengan mudah sesuai dengan kriteria formulir dan jangan lupa kata sandi yang aman.</string>
<string name="current_group">Grup saat ini</string>
<string name="enable_auto_save_database_summary">Simpan basis data setelah setiap tindakan penting (dalam mode \"Bisa dimodifikasi\")</string>
<string name="custom_data">Data kustom</string>
<string name="warning_database_already_opened">Sebuah basis data sudah dibuka, tutup terlebih dahulu untuk membuka yang baru</string>
<string name="advanced_unlock_keystore_warning">Fitur ini akan menyimpan data kredensial terenkripsi di KeyStore perangkat Anda yang aman.
\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="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>
</resources>

View File

@@ -193,19 +193,19 @@
<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="biometric_unlock_enable_title">Scansione di impronte</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="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 file</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="recycle_bin_title">Uso del Cestino</string>
<string name="recycle_bin_summary">Sposta i gruppi e le voci nel gruppo «Cestino» prima di eliminarlo</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>
<string name="monospace_font_fields_enable_summary">Cambia il carattere usato nei campi per una migliore visibilità</string>
<string name="allow_copy_password_title">Fiducia appunti</string>
@@ -392,9 +392,9 @@
<string name="validate">Convalida</string>
<string name="max_history_size_title">Dimensione massima</string>
<string name="max_history_items_title">Numero massimo</string>
<string name="biometric_auto_open_prompt_title">Apri automaticamente la richiesta</string>
<string name="max_history_size_summary">Limita la dimensione della cronologia per voce</string>
<string name="max_history_items_summary">Limita il numero di elementi della cronologia per voce</string>
<string name="biometric_auto_open_prompt_title">Messaggio di apertura automatica</string>
<string name="max_history_size_summary">Limita la dimensione della cronologia per ciascuna voce</string>
<string name="max_history_items_summary">Limita il numero di elementi della cronologia per ciascuna voce</string>
<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>
@@ -417,8 +417,6 @@
<string name="education_setup_OTP_title">Imposta password usa e getta (OTP)</string>
<string name="enable_auto_save_database_summary">Salva il database dopo ogni azione importante (in modalità «Modificabile»)</string>
<string name="enable_auto_save_database_title">Salvataggio automatico del database</string>
<string name="autofill_auto_search_summary">Suggerisci automaticamente risultati dal dominio web o ID dell\'applicazione</string>
<string name="autofill_auto_search_title">Ricerca automatica</string>
<string name="keyboard_auto_go_action_summary">Azione del tasto \"Vai\" dopo aver premuto un tasto \"Campo\"</string>
<string name="keyboard_auto_go_action_title">Tasto di azione automatica</string>
<string name="device_keyboard_setting_title">Impostazioni della tastiera del dispositivo</string>
@@ -444,8 +442,6 @@
<string name="autofill_web_domain_blocklist_title">Lista di blocco per domini web</string>
<string name="autofill_application_id_blocklist_title">Lista di blocco per app</string>
<string name="autofill_application_id_blocklist_summary">La lista di blocco impedisce l\'auto riempimento nelle app</string>
<string name="keyboard_search_share_summary">Durante la condivisione di una URL a KeePassDX, filtra le voci che usano quel dominio</string>
<string name="keyboard_search_share_title">Cerca informazioni condivise</string>
<string name="filter">Filtro</string>
<string name="error_string_type">Questo testo non soddisfa l\'elemento richiesto.</string>
<string name="subdomain_search_summary">Cerca nei domini web includendo i sotto-domini</string>
@@ -459,7 +455,7 @@
<string name="upload_attachment">Carica %1$s</string>
<string name="education_add_attachment_summary">Carica un allegato alla voce per salvare dati esterni importanti.</string>
<string name="education_add_attachment_title">Aggiungi allegato</string>
<string name="database_data_remove_unlinked_attachments_summary">Rimuovi gli allegati contenuti nel database ma non collegati ad una voce</string>
<string name="database_data_remove_unlinked_attachments_summary">Rimuovi gli allegati contenuti nel database ma non riferiti ad alcuna voce</string>
<string name="database_data_remove_unlinked_attachments_title">Rimuovi i dati scollegati</string>
<string name="data">Dati</string>
<string name="warning_empty_keyfile_explanation">Il contenuto del file chiave non deve mai essere modificato e, nel migliore dei casi, dovrebbe contenere dati generati casualmente.</string>
@@ -475,15 +471,15 @@
<string name="show_uuid_summary">Visualizza l\'UUID collegato a una voce o a un gruppo</string>
<string name="show_uuid_title">Mostra UUID</string>
<string name="autofill_read_only_save">Il salvataggio dei dati non è consentito per un database aperto in sola lettura.</string>
<string name="autofill_ask_to_save_data_summary">Chiedi di salvare i dati quando un modulo viene convalidato</string>
<string name="autofill_ask_to_save_data_summary">Chiedi di salvare i dati quando l\'immissione dei dati in un form viene completata</string>
<string name="autofill_ask_to_save_data_title">Chiedi di salvare i dati</string>
<string name="autofill_save_search_info_summary">Prova a salvare le informazioni di ricerca quando effettui una selezione di immissione manuale</string>
<string name="autofill_save_search_info_summary">Provare a salvare le informazioni di ricerca quando viene selezionato manualmente un elemento per facilitarne gli utilizzi futuri</string>
<string name="autofill_save_search_info_title">Salva le informazioni di ricerca</string>
<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_save_search_info_summary">Dopo la una URL in KeePassDX, quando viene selezionata una voce, prova a salvare quella voce per usi futuri</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>
<string name="biometric_security_update_required">È necessario un aggiornamento della sicurezza biometrica.</string>
@@ -502,20 +498,20 @@
<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">Scadenza 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 sblocco avanzato</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="device_credential_unlock_enable_summary">Utilizza le credenziali del dispositivo per sbloccare il database</string>
<string name="device_credential_unlock_enable_title">Sblocco con credenziali dispositivo</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="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 sempre ricordare la password principale anche se usi lo 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="device_credential">Credenziali del dispositivo</string>
<string name="credential_before_click_advanced_unlock_button">Inserisci la password, poi clicca questo pulsante.</string>
@@ -562,8 +558,8 @@
<string name="error_word_reserved">Questa parola è riservata e non può essere usata.</string>
<string name="error_move_group_here">Non puoi spostare un gruppo qui.</string>
<string name="templates">Modelli</string>
<string name="templates_group_uuid_title">Gruppo di modelli</string>
<string name="templates_group_enable_summary">Usa modelli dinamici per riempire i campi di una voce</string>
<string name="templates_group_uuid_title">Gruppo dei modelli</string>
<string name="templates_group_enable_summary">Usa i modelli dinamici per riempire i campi di una voce</string>
<string name="templates_group_enable_title">Utilizzo dei modelli</string>
<string name="version">Versione</string>
<string name="template">Modello</string>
@@ -621,10 +617,34 @@
<string name="navigation_drawer_close">Chiusura del cassetto di navigazione</string>
<string name="searchable">Ricercabile</string>
<string name="content_description_nav_header">Intestazione di navigazione</string>
<string name="inherited">Ereditato</string>
<string name="inherited">Eredita</string>
<string name="search_filters">Filtri di ricerca</string>
<string name="regex">Espressione regolare</string>
<string name="menu_merge_from">Unisci da …</string>
<string name="menu_save_copy_to">Salva una copia in …</string>
<string name="case_sensitive">Distinzione tra maiuscole e minuscole</string>
<string name="content_description_passphrase_word_count">Numero di parole della password</string>
<string name="expired">Scaduta</string>
<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="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.
\nA seconda di come è stata implementata l\'API nativa del sistema operativo, potrebbe non essere pienanente funzionante.
\nVerificare la compatibilità e la sicurezza del KeyStore consultando sia il costruttore del dispositivo che il creatore della ROM in uso nel dispositivo stesso.</string>
<string name="keyboard_previous_search_title">Schermata di ricerca</string>
<string name="keyboard_previous_search_summary">Ritornare automaticamente alla tastiera precedente quando ci si trova sulla schermata di ricerca</string>
<string name="entropy_high">Entropia: Alta</string>
<string name="entropy_calculate">Entropia: Calcolo in corso…</string>
<string name="at_least_one_char">Almeno un carattere di ciascuno</string>
<string name="exclude_ambiguous_chars">Escludere i caratteri ambigui</string>
<string name="consider_chars_filter">Includi i caratteri</string>
<string name="word_separator">Separatore</string>
<string name="ignore_chars_filter">Ignorare i caratteri</string>
<string name="lower_case">minuscolo</string>
<string name="upper_case">MAIUSCOLO</string>
<string name="title_case">Iniziali maiuscole</string>
<string name="character_count">Numero di caratteri: %1$d</string>
<string name="entropy">Entropia: %1$s bit</string>
</resources>

View File

@@ -332,8 +332,8 @@
<string name="allow_copy_password_title">クリップボードの信頼</string>
<string name="allow_copy_password_summary">エントリーのパスワードと保護されたフィールドを、クリップボードにコピーすることを許可します</string>
<string name="allow_copy_password_warning">警告:クリップボードはすべてのアプリで共有されます。機密データがコピーされた場合、他のソフトウェアがデータを復元する可能性があります。</string>
<string name="enable">有効にする</string>
<string name="disable">無効にする</string>
<string name="enable">有効</string>
<string name="disable">無効</string>
<string name="notification">通知</string>
<string name="clear_clipboard_notification_title">データベースを閉じて消去</string>
<string name="clear_clipboard_notification_summary">クリップボードでの保存期間が終了したとき、または使用開始後に通知が閉じられたとき、データベースをロックします</string>
@@ -361,10 +361,8 @@
<string name="keyboard_selection_entry_summary">KeePassDX のエントリーを開いているとき、Magikeyboard にそのエントリーを格納します</string>
<string name="keyboard_notification_entry_title">通知情報</string>
<string name="keyboard_notification_entry_summary">エントリーが利用可能なとき、通知を表示します</string>
<string name="keyboard_search_share_title">共有情報の検索</string>
<string name="keyboard_search_share_summary">URL を KeePassDX に共有するとそのドメインを使ってエントリーを検索します</string>
<string name="keyboard_save_search_info_title">共有情報の保存</string>
<string name="keyboard_save_search_info_summary">KeePassDX に URL を共有して、エントリーが選択されたとき、さらなる使用のためそのエントリーを記憶しておきます</string>
<string name="keyboard_save_search_info_summary">手動でエントリーが選択されたときに、次回以降の自動選択のために共有情報の保存を試みます</string>
<string name="keyboard_notification_entry_clear_close_title">データベースを閉じて消去</string>
<string name="keyboard_notification_entry_clear_close_summary">通知を閉じるとき、データベースも閉じます</string>
<string name="keyboard_entry_timeout_title">タイムアウト</string>
@@ -388,13 +386,11 @@
<string name="keyboard_previous_lock_summary">データベースのロック後、切り替え前のキーボードへ自動的に戻します</string>
<string name="autofill_close_database_title">データベースを閉じる</string>
<string name="autofill_close_database_summary">自動入力の選択後、データベースを閉じます</string>
<string name="autofill_auto_search_title">自動検索</string>
<string name="autofill_auto_search_summary">ウェブドメインまたはアプリケーション ID から検索結果を自動的に提案します</string>
<string name="autofill_application_id_blocklist_title">アプリケーションのブロックリスト</string>
<string name="autofill_save_search_info_title">検索情報の保存</string>
<string name="autofill_save_search_info_summary">手動でエントリーを選択したとき、検索情報の保存を試みます</string>
<string name="autofill_save_search_info_summary">手動でエントリーを選択したとき、次回以降の自動選択のために検索情報の保存を試みます</string>
<string name="autofill_ask_to_save_data_title">データ保存の確認</string>
<string name="autofill_ask_to_save_data_summary">フォームが検証されたとき、データを保存するか確認します</string>
<string name="autofill_ask_to_save_data_summary">フォームの入力が完了したとき、データを保存するか確認します</string>
<string name="autofill_application_id_blocklist_summary">自動入力を行わないアプリの一覧</string>
<string name="autofill_web_domain_blocklist_title">ウェブドメインのブロックリスト</string>
<string name="autofill_web_domain_blocklist_summary">自動入力を行わないウェブドメインの一覧</string>
@@ -508,7 +504,7 @@
<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_message">高度なロック解除を使用する場合も、主たる認証情報は記憶する必要があります。</string>
<string name="advanced_unlock_prompt_store_credential_title">高度なロック解除の認証</string>
<string name="open_advanced_unlock_prompt_store_credential">ログイン プロンプトを開いて認証情報を保存する</string>
<string name="open_advanced_unlock_prompt_unlock_database">ログイン プロンプトを開いてロックを解除する</string>
@@ -600,7 +596,7 @@
<string name="template">テンプレート</string>
<string name="hint_icon_name">アイコン名</string>
<string name="tags">タグ</string>
<string name="menu_merge_database">マージする</string>
<string name="menu_merge_database">データベースの統合</string>
<string name="warning_keyfile_integrity">Android は実行中にデータを変更しうるため、ファイルのハッシュ値は保証されません。整合性を正しく保つにはファイルの拡張子を.binに変更してください。</string>
<string name="permission">権限</string>
<string name="enable_keep_screen_on_title">画面の表示を保つ</string>
@@ -609,8 +605,44 @@
<string name="content_description_entry_foreground_color">エントリーのフォアグラウンド カラー</string>
<string name="content_description_entry_background_color">エントリーのバックグラウンド カラー</string>
<string name="wireless">Wi-Fi</string>
<string name="warning_database_info_reloaded">データベースを再度読み込むとローカルで変更されたデータが削除されます。</string>
<string name="warning_database_info_reloaded">データベースを再読込すると、ローカルで変更されたデータは破棄されます。</string>
<string name="warning_exact_alarm">アプリに正確なアラームの使用を許可していません。その結果、タイマーを必要とする機能が正確な時間で行われなくなります。</string>
<string name="show_entry_colors_title">エントリー カラー</string>
<string name="show_entry_colors_summary">フォアグラウンド・バックグラウンド カラーをエントリー内に表示します</string>
<string name="regex">正規表現</string>
<string name="case_sensitive">ケース・センシティブ</string>
<string name="content_description_passphrase_word_count">パスフレーズの単語数</string>
<string name="inherited">上の階層のグループに合わせる</string>
<string name="expired">有効期限切れ</string>
<string name="passphrase">パスフレーズ</string>
<string name="colorize_password_title">パスワードを色付けする</string>
<string name="searchable">検索可能</string>
<string name="custom_data">カスタムデータ</string>
<string name="search_filters">検索フィルター</string>
<string name="keyboard_previous_search_title">検索画面</string>
<string name="entropy">エントロピー:%1$s ビット</string>
<string name="colorize_password_summary">文字種を基準にパスワードを色付けします</string>
<string name="lower_case">すべて小文字</string>
<string name="upper_case">すべて大文字</string>
<string name="character_count">文字数:%1$d</string>
<string name="entropy_high">エントロピー:高</string>
<string name="warning_database_already_opened">データベースがすでに開いているため、まず閉じてから新しく開き直してください</string>
<string name="advanced_unlock_keystore_warning">この機能は、暗号化された認証情報をデバイスの安全な KeyStore に保存します。
\n
\nオペレーティング システムのネイティブ API の実装によっては、完全に機能しない場合があります。
\nKeyStore の互換性と安全性については、お使いのデバイスの製造元および使用するROMの作成者にご確認ください。</string>
<string name="navigation_drawer_open">ナビゲーション ドロワーが開いています</string>
<string name="navigation_drawer_close">ナビゲーション ドロワーが閉じています</string>
<string name="auto_type_sequence">Auto-Type シークエンス</string>
<string name="current_group">選択されたグループ</string>
<string name="keyboard_previous_search_summary">検索画面で切り替え前のキーボードに自動的に戻します</string>
<string name="menu_merge_from">マージ…</string>
<string name="entropy_calculate">エントロピー:計算中…</string>
<string name="at_least_one_char">各文字種から少なくとも 1 文字を含めるようにする</string>
<string name="exclude_ambiguous_chars">見分けのつきにくい文字を除外する</string>
<string name="word_separator">区切り文字</string>
<string name="menu_save_copy_to">コピーを保存…</string>
<string name="consider_chars_filter">対象に加える文字</string>
<string name="ignore_chars_filter">使用しない文字</string>
<string name="title_case">語頭を大文字</string>
</resources>

View File

@@ -16,8 +16,7 @@
You should have received a copy of the GNU General Public License
along with KeePassDX. If not, see <http://www.gnu.org/licenses/>.
-->
<resources>
--><resources>
<string name="feedback">피드백</string>
<string name="homepage">홈페이지</string>
<string name="about_description">KeePass 암호 관리자의 Android 구현본</string>
@@ -28,19 +27,19 @@
<string name="encryption">암호화</string>
<string name="encryption_algorithm">안호화 방식</string>
<string name="key_derivation_function">키 파생 기능</string>
<string name="app_timeout">자동 종료 시간</string>
<string name="app_timeout_summary">앱이기 전에 비활성화됨</string>
<string name="app_timeout">자동 종료 시간</string>
<string name="app_timeout_summary">데이터베이스를기 전 유휴 시간</string>
<string name="application"></string>
<string name="brackets">브라켓</string>
<string name="extended_ASCII">확장 ASCII</string>
<string name="file_manager_install_description">OpenIntents File Manager를 설치하여 파일 찾아보기</string>
<string name="file_manager_install_description">파일 관리자는 데이터베이스 파일 생성, 열기 및 저장하기 위해 ACTION_CREATE_DOCUMENT 및 ACTION_OPEN_DOCUMENT 인텐트 액션의 허가가 필요합니다.</string>
<string name="allow">허가</string>
<string name="clipboard_cleared">클립보드 비워짐</string>
<string name="clipboard_error_title">클립보드 오류</string>
<string name="clipboard_error">일부 삼성 안드로이드 폰은 앱이 클립보드를 사용하지 못하게 니다.</string>
<string name="clipboard_error">일부 장치는 앱이 클립보드를 사용하지 못하게 할 수 있습니다.</string>
<string name="clipboard_error_clear">클립보드를 비울 수 없음</string>
<string name="clipboard_timeout">클립보드 시간 초과</string>
<string name="clipboard_timeout_summary">클립보드 저장이 유지될 시간</string>
<string name="clipboard_timeout_summary">클립보드 저장이 유지될 시간 (장치가 지원한다면)</string>
<string name="select_to_copy">%1$s 을(를) 클립보드에 복사하려면 선택하십시오.</string>
<string name="retrieving_db_key">데이터베이스 키를 검색하는 중…</string>
<string name="database">데이터베이스</string>
@@ -152,7 +151,7 @@
<string name="content_description_add_group">그룹 추가</string>
<string name="content_description_file_information">파일 정보</string>
<string name="content_description_password_checkbox">비밀번호 체크박스</string>
<string name="content_description_keyfile_checkbox">내용_설명_키파일_체크박스</string>
<string name="content_description_keyfile_checkbox">키파일 체크박스</string>
<string name="content_description_repeat_toggle_password_visibility">토글 비밀번호 가시성 반복</string>
<string name="entry_password_generator">비밀번호 생성</string>
<string name="content_description_password_length">비밀번호 길이</string>
@@ -160,4 +159,44 @@
<string name="content_description_remove_field">필드 제거</string>
<string name="error_move_entry_here">항목을 여기로 옮길 수 없습니다.</string>
<string name="error_copy_entry_here">항목을 여기로 복사할 수 없습니다.</string>
<string name="content_description_credentials_information">인증서</string>
<string name="master_key">마스터키</string>
<string name="contribution">기여</string>
<string name="entry_add_attachment">첨부파일 추가</string>
<string name="content_description_passphrase_word_count">비밀구절 단어 수</string>
<string name="expired">만료됨</string>
<string name="case_sensitive">대소문자 구분</string>
<string name="error_create_database">데이터베이스 파일을 생성할 수 없습니다.</string>
<string name="id_card">신분증</string>
<string name="place_of_issue">발행지</string>
<string name="cryptocurrency">가상 화폐 지갑</string>
<string name="error_word_reserved">이 단어는 예약되어 사용할 수 없습니다.</string>
<string name="error_invalid_OTP">OTP 비밀키가 유효하지 않습니다.</string>
<string name="error_disallow_no_credentials">하나 이상의 자격 증명을 설정해야 합니다.</string>
<string name="error_save_database">데이터베이스를 저장할 수 없습니다.</string>
<string name="error_otp_secret_key">비밀키는 Base32 포맷이어야 합니다.</string>
<string name="error_create_database_file">이 비밀번호와 키파일로 데이터베이스를 생성할 수 없습니다.</string>
<string name="content_description_database_color">데이터베이스 색상</string>
<string name="content_description_entry_foreground_color">항목 전면 색상</string>
<string name="content_description_entry_background_color">항목 배경 색상</string>
<string name="discard_changes">변경사항을 취소하시겠습니까\?</string>
<string name="debit_credit_card">직불 / 신용 카드</string>
<string name="otp_algorithm">알고리즘</string>
<string name="date_of_issue">발행일자</string>
<string name="error_move_group_here">그룹을 여기로 옮길 수 없습니다.</string>
<string name="error_copy_group_here">그룹을 여기로 복사할 수 없습니다.</string>
<string name="content_description_otp_information">일회용 암호 정보</string>
<string name="security">보안</string>
<string name="content_description_entry_icon">항목 아이콘</string>
<string name="content_description_add_item">아이템 추가</string>
<string name="contact">문의</string>
<string name="content_description_update_from_list">갱신</string>
<string name="validate">검증</string>
<string name="html_about_contribution"><strong>우리의 자유를 지키고</strong>, <strong>버그를 고치고</strong>, <strong>기능을 추가</strong>하고, <strong>언제나 활성화</strong>되기 위해 우리는 당신의 <strong>기여</strong>를 믿습니다.</string>
<string name="entry_setup_otp">일회용 비밀번호 설정</string>
<string name="otp_type">OTP 유형</string>
<string name="otp_period">주기 (초)</string>
<string name="search_filters">검색 필터</string>
<string name="regex">정규 표현식</string>
<string name="error_label_exists">이미 존재하는 라벨입니다.</string>
</resources>

View File

@@ -152,7 +152,6 @@
<string name="about_description">KeePass പാസ്‍വേഡ് മാനേജറിന്റെ Android നടപ്പിലാക്കൽ</string>
<string name="download_complete">പൂർത്തിയാക്കി!</string>
<string name="education_create_database_title">നിങ്ങളുടെ ഡാറ്റാബേസ് ഫയൽ സൃഷ്ടിക്കുക</string>
<string name="autofill_auto_search_title">സ്വയം തിരയൽ</string>
<string name="keyboard_change">കീബോർഡ് മാറ്റുക</string>
<string name="keyboard_label">Magikeyboard (KeePassDX)</string>
<string name="compression_gzip">Gzip</string>
@@ -200,7 +199,6 @@
<string name="keyboard_theme_title">കീബോർഡ് തീം</string>
<string name="keyboard_notification_entry_content_text">%1$s</string>
<string name="keyboard_notification_entry_clear_close_title">അടയ്‌ക്കുമ്പോൾ മായ്ക്കുക</string>
<string name="keyboard_search_share_title">പങ്കിട്ട വിവരങ്ങൾ തിരയുക</string>
<string name="keyboard_setting_label">Magikeyboard ക്രമീകരണങ്ങൾ</string>
<string name="keyboard_name">Magikeyboard</string>
<string name="keyboard">കീബോർഡ്</string>

View File

@@ -0,0 +1,12 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="contribution">योगदान</string>
<string name="homepage">मुख्य पान</string>
<string name="feedback">प्रतिक्रिया</string>
<string name="contact">संपर्क</string>
<string name="accept">स्वीकार करा</string>
<string name="about_description">किपास सांकेतांक व्यवस्थापनाचे अँड्रॉइड अंतर्भूतीकरण</string>
<string name="master_key">राणी चावी</string>
<string name="add_group">गट जोडा</string>
<string name="security">सुरक्षा</string>
</resources>

View File

@@ -383,7 +383,6 @@
<string name="entry_add_attachment">Legg til vedlegg</string>
<string name="contribution">Bidrag</string>
<string name="contact">Kontakt</string>
<string name="autofill_auto_search_title">Autosøk</string>
<string name="enable_auto_save_database_summary">Lagre database etter hver viktige handling i (i \"modifiserbart\" modus)</string>
<string name="download_initialization">Igangsetter…</string>
<string name="hide_expired_entries_summary">Utløpte oppføringer er skjult</string>
@@ -436,7 +435,6 @@
<string name="keyboard_previous_lock_title">Lås databasen</string>
<string name="keyboard_previous_lock_summary">Bytt automatisk tilbake til forrige tastatur etter å ha låst databasen</string>
<string name="autofill_close_database_summary">Lukk databasen etter et autofyllvalg</string>
<string name="autofill_auto_search_summary">Foreslå automatisk søkeresultater fra webdomenet eller applikasjons-IDen</string>
<string name="autofill_save_search_info_summary">Prøv å lagre søkeinformasjon når du foretar et manuelt valg</string>
<string name="autofill_block">Blokker autofyll</string>
<string name="autofill_block_restart">Start appen på nytt som inneholder skjemaet for å aktivere blokkeringen.</string>
@@ -454,7 +452,6 @@
<string name="style_brightness_title">Draktlysstyrke</string>
<string name="backspace">Rettetast</string>
<string name="keyboard_save_search_info_title">Lagre delt info</string>
<string name="keyboard_search_share_title">Søk i delt info</string>
<string name="device_keyboard_setting_title">Innstillinger for enhetens tastatur</string>
<string name="notification">Merknad</string>
<string name="data">Data</string>
@@ -573,7 +570,6 @@
<string name="show_otp_token_title">Vis OTP-symbol</string>
<string name="keyboard_auto_go_action_summary">«Start»-nøkkelhandling etter at en «Felt»-nøkkel trykkes</string>
<string name="keyboard_auto_go_action_title">Automatisk nøkkelhandling</string>
<string name="keyboard_search_share_summary">Filtrer oppføringene ved bruk av nettadressedomenet ved deling av en nettadresse til KeePassDX</string>
<string name="settings_database_force_changing_master_key_next_time_summary">Krev endring av hovednøkkelen neste gang (én gang)</string>
<string name="settings_database_force_changing_master_key_next_time_title">Påtving fornyelse neste gang</string>
<string name="database_data_remove_unlinked_attachments_title">Fjen ulenket data</string>

View File

@@ -403,8 +403,6 @@
<string name="download_attachment">Download %1$s</string>
<string name="education_setup_OTP_summary">Stel eenmalig wachtwoordbeheer (HOTP / TOTP) in om een token te genereren voor tweefactorauthenticatie (2FA).</string>
<string name="enable_auto_save_database_title">Automatisch opslaan</string>
<string name="autofill_auto_search_summary">Automatisch zoekresultaten voorstellen vanuit het webdomein of de toepassings-ID</string>
<string name="autofill_auto_search_title">Automatisch zoeken</string>
<string name="recycle_bin_group_title">Prullenbak</string>
<string name="lock_database_show_button_summary">Toont de vergrendelknop in de gebruikersinterface</string>
<string name="lock_database_show_button_title">Vergrendelknop tonen</string>
@@ -435,8 +433,6 @@
<string name="validate">Valideren</string>
<string name="contribution">Bijdragen</string>
<string name="contact">Contact</string>
<string name="keyboard_search_share_summary">Filter, wanneer een URL met KeePassDX is gedeeld, de items met dat URL-domein</string>
<string name="keyboard_search_share_title">Gedeelde informatie zoeken</string>
<string name="autofill_block_restart">Start de app met het formulier opnieuw op om de blokkering te activeren.</string>
<string name="autofill_block">Blokkering van automatisch invullen</string>
<string name="autofill_web_domain_blocklist_summary">Lijst die het automatisch invullen bij webdomeinen voorkomt</string>
@@ -476,13 +472,13 @@
<string name="autofill_read_only_save">Het opslaan van gegevens is niet toegestaan voor een database die is geopend als alleen-lezen.</string>
<string name="autofill_ask_to_save_data_summary">Vraag om gegevens op te slaan wanneer het invullen van een formulier is voltooid</string>
<string name="autofill_ask_to_save_data_title">Vragen om gegevens op te slaan</string>
<string name="autofill_save_search_info_summary">Probeer zoekinformatie op te slaan bij het maken van een handmatige selectie</string>
<string name="autofill_save_search_info_summary">Probeer zoekinformatie op te slaan bij het maken van een handmatige invoerselectie voor eenvoudiger toekomstig gebruik</string>
<string name="autofill_save_search_info_title">Zoekinformatie opslaan</string>
<string name="autofill_close_database_summary">Sluit de database na een selectie voor automatisch aanvullen</string>
<string name="autofill_close_database_title">Database sluiten</string>
<string name="keyboard_previous_lock_summary">Schakel na het vergrendelen van de database automatisch terug naar het vorige toetsenbord</string>
<string name="keyboard_previous_lock_title">Database vergrendelen</string>
<string name="keyboard_save_search_info_summary">Probeer, wanneer een URL met KeePassDX is gedeeld en een item is geselecteerd, dat item te onthouden voor verder gebruik</string>
<string name="keyboard_save_search_info_summary">Probeer gedeelde informatie op te slaan bij het maken van een handmatige invoerselectie voor eenvoudiger toekomstig gebruik</string>
<string name="keyboard_save_search_info_title">Gedeelde info opslaan</string>
<string name="notification">Melding</string>
<string name="biometric_security_update_required">Biometrische beveiligingsupdate vereist.</string>
@@ -632,4 +628,22 @@
\nAfhankelijk van de specifieke API-implementatie van het besturingssysteem, is dit mogelijk niet volledig functioneel.
\nControleer de compatibiliteit en beveiliging van de KeyStore met de fabrikant van uw apparaat en de maker van de ROM die u gebruikt.</string>
<string name="warning_database_already_opened">Er is al een database geopend, sluit deze eerst alvorens een nieuwe te openen</string>
<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="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>
<string name="entropy_high">Entropie: Hoog</string>
<string name="entropy_calculate">Entropie: Berekenen…</string>
<string name="word_separator">Scheidingsteken</string>
<string name="lower_case">kleine letters</string>
<string name="upper_case">GROTE LETTERS</string>
<string name="at_least_one_char">Minstens een teken van elk</string>
<string name="exclude_ambiguous_chars">Dubbelzinnige tekens uitsluiten</string>
<string name="consider_chars_filter">Tekens overwegen</string>
<string name="ignore_chars_filter">Tekens negeren</string>
<string name="title_case">Woordhoofdletters</string>
<string name="character_count">Aantal tekens: %1$d</string>
</resources>

View File

@@ -428,15 +428,11 @@
<string name="discard">Odrzuć</string>
<string name="discard_changes">Odrzucić zmiany\?</string>
<string name="validate">Walidacja</string>
<string name="autofill_auto_search_summary">Automatyczne sugerowanie wyników wyszukiwania z domeny internetowej lub identyfikatora aplikacji</string>
<string name="autofill_auto_search_title">Automatyczne wyszukiwanie</string>
<string name="lock_database_show_button_summary">Wyświetla przycisk blokady w interfejsie użytkownika</string>
<string name="lock_database_show_button_title">Pokaż przycisk blokady</string>
<string name="autofill_preference_title">Ustawienia autouzupełniania</string>
<string name="warning_database_link_revoked">Dostęp do pliku anulowany przez menedżera plików</string>
<string name="error_label_exists">Ta etykieta już istnieje.</string>
<string name="keyboard_search_share_summary">Udostępniając KeePassDX adres URL, filtruj wpisy przy użyciu tej domeny adresu URL</string>
<string name="keyboard_search_share_title">Wyszukaj udostępnione informacje</string>
<string name="autofill_block_restart">Zrestartuj aplikację zawierającą formularz, aby aktywować blokadę.</string>
<string name="autofill_block">Blokowanie autouzupełniania</string>
<string name="autofill_application_id_blocklist_summary">Lista zablokowanych, która uniemożliwia automatyczne wypełnianie aplikacji</string>
@@ -474,13 +470,13 @@
<string name="autofill_read_only_save">Zapisywanie danych nie jest dozwolone dla bazy danych otwartej jako tylko do odczytu.</string>
<string name="autofill_ask_to_save_data_summary">Pytaj o zapisanie danych po zakończeniu wypełniania formularza</string>
<string name="autofill_ask_to_save_data_title">Pytaj o zapisanie danych</string>
<string name="autofill_save_search_info_summary">Spróbuj zapisać informacje wyszukiwania podczas dokonywania ręcznego wyboru pozycji</string>
<string name="autofill_save_search_info_summary">Staraj się zapisywać informacje wyszukiwania podczas dokonywania ręcznego wyboru wpisu, aby ułatwić sobie przyszłe użycie</string>
<string name="autofill_save_search_info_title">Zapisz informacje wyszukiwania</string>
<string name="autofill_close_database_summary">Zamknij bazę danych po wybraniu autouzupełniania</string>
<string name="autofill_close_database_title">Zamknij bazę danych</string>
<string name="keyboard_previous_lock_summary">Automatycznie przełącz się z powrotem do poprzedniej klawiatury po zablokowaniu bazy danych</string>
<string name="keyboard_previous_lock_title">Zablokuj bazę danych</string>
<string name="keyboard_save_search_info_summary">Po udostępnieniu KeePassDX adresu URL, kiedy wpis jest wybrany, spróbuj zapamiętać ten wpis do dalszych zastosowań</string>
<string name="keyboard_save_search_info_summary">Staraj się zapisywać udostępnione informacje podczas dokonywania ręcznego wyboru wpisu, aby ułatwić sobie przyszłe użycie</string>
<string name="keyboard_save_search_info_title">Zapisz udostępnione informacje</string>
<string name="notification">Powiadomienia</string>
<string name="biometric_security_update_required">Wymagana aktualizacja zabezpieczeń biometrycznych.</string>

View File

@@ -402,7 +402,6 @@
<string name="auto_focus_search_title">Busca rápida</string>
<string name="menu_delete_entry_history">Apagar histórico</string>
<string name="menu_restore_entry_history">Restaurar histórico</string>
<string name="autofill_auto_search_summary">Sugerir resultados de busca de domínios da internet ou de aplicativos automaticamente</string>
<string name="hide_expired_entries_summary">Entradas expiradas foram escondidas</string>
<string name="hide_expired_entries_title">Esconder entradas expiradas</string>
<string name="download_complete">Completo!</string>
@@ -412,7 +411,6 @@
<string name="download_attachment">Baixar %1$s</string>
<string name="education_setup_OTP_summary">Configure o gerenciamento de senha descartável (HOTP / TOTP) para gerar um token solicitado para autenticação de dois fatores (2FA).</string>
<string name="education_setup_OTP_title">Configurar OTP</string>
<string name="autofill_auto_search_title">Busca automática</string>
<string name="keyboard_auto_go_action_summary">Ação da tecla \"Ir\" após pressionar a tecla \"Campo\"</string>
<string name="keyboard_auto_go_action_title">Ação de tecla automática</string>
<string name="lock_database_show_button_summary">Mostrar o botão de bloqueio na interface do usuário</string>
@@ -435,8 +433,6 @@
<string name="discard_changes">Descartar mudanças\?</string>
<string name="validate">Validar</string>
<string name="contribution">Contribuição</string>
<string name="keyboard_search_share_summary">Ao compartilhar um URL para KeePassDX, filtre as entradas usando esse domínio de URL</string>
<string name="keyboard_search_share_title">Procurar informação compartilhada</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>
@@ -563,7 +559,7 @@
<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>
<string name="autofill_ask_to_save_data_title">Perguntar para salvar dados</string>
<string name="autofill_save_search_info_summary">Tente salvar informações de pesquisa ao fazer uma seleção manual de entrada</string>
<string name="autofill_save_search_info_summary">Tente salvar informações de pesquisa ao fazer uma seleção manual de entrada para facilitar usos posteriores</string>
<string name="autofill_save_search_info_title">Salvar informações de busca</string>
<string name="autofill_manual_selection_summary">Exibir opção para permitir que o usuário selecione a entrada do banco de dados</string>
<string name="autofill_manual_selection_title">Seleção manual</string>
@@ -578,7 +574,7 @@
<string name="custom_fields">Campos personalizados</string>
<string name="keyboard_previous_lock_summary">Retornar automaticamente para o teclado anterior depois de bloquear o banco de dados</string>
<string name="keyboard_previous_lock_title">Bloquear banco de dados</string>
<string name="keyboard_save_search_info_summary">Depois de compartilhar uma URL para o KeePassDX, quando uma entrada é selecionada, tente lembrar que a entrada para usos adicionais</string>
<string name="keyboard_save_search_info_summary">Tente salvar informações compartilhadas ao fazer uma seleção manual de entrada para facilitar usos posteriores</string>
<string name="keyboard_save_search_info_title">Salvar informações compartilhadas</string>
<string name="templates">Modelos</string>
<string name="notification">Notificação</string>

View File

@@ -343,7 +343,6 @@
<string name="autofill_web_domain_blocklist_title">Lista de bloqueio de domínios da web</string>
<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="autofill_auto_search_summary">Sugerir resultados de pesquisa automaticamente do domínio da web ou do ID da aplicação</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_database_credentials_summary">Voltar automaticamente para o teclado anterior no ecrã de credenciais da base de dados</string>
@@ -405,7 +404,6 @@
<string name="auto_focus_search_title">Pesquisa rápida</string>
<string name="biometric_delete_all_key_title">Eliminar chaves de encriptação</string>
<string name="invalid_db_same_uuid">%1$s com o mesmo UUID %2$s já existe.</string>
<string name="autofill_auto_search_title">Pesquisa automática</string>
<string name="settings_database_force_changing_master_key_summary">Forçar alteração da chave mestra (em dias)</string>
<string name="command_execution">A executar o comando…</string>
<string name="otp_algorithm">Algorítimo</string>
@@ -417,7 +415,6 @@
<string name="content_description_keyboard_close_fields">Fechar campos</string>
<string name="biometric">Biométrico</string>
<string name="error_create_database">Não foi possível criar o ficheiro da base de dados.</string>
<string name="keyboard_search_share_summary">Ao partilhar um URL com o KeePassDX, filtrar as entradas usando esse domínio de URL</string>
<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>
@@ -441,7 +438,6 @@
<string name="hide_expired_entries_summary">As entradas expiradas não são mostradas</string>
<string name="menu_master_key_settings">Configurações da chave mestra</string>
<string name="entry_setup_otp">Configurar palavra-passe de uso único</string>
<string name="keyboard_search_share_title">Procurar informação partilhada</string>
<string name="menu_empty_recycle_bin">Esvaziar caixote da reciclagem</string>
<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>

View File

@@ -229,10 +229,6 @@
<string name="subdomain_search_title">Pesquisa de subdomínios</string>
<string name="error_string_type">Este texto não corresponde ao item solicitado.</string>
<string name="content_description_add_item">Adicionar item</string>
<string name="keyboard_search_share_summary">Ao partilhar um URL com o KeePassDX, filtrar as entradas usando esse domínio de URL</string>
<string name="keyboard_search_share_title">Procurar informação partilhada</string>
<string name="autofill_auto_search_summary">Sugerir resultados de pesquisa automaticamente do domínio da web ou do ID da aplicação</string>
<string name="autofill_auto_search_title">Pesquisa automática</string>
<string name="lock_database_show_button_summary">Mostrar o botão de bloqeuar na interface do utilizador</string>
<string name="lock_database_show_button_title">Mostrar botão de bloquear</string>
<string name="autofill_preference_title">Configurações de preenchimento automático</string>
@@ -497,7 +493,7 @@
<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>
<string name="autofill_ask_to_save_data_title">Pedir para guardar dados</string>
<string name="autofill_save_search_info_summary">Tentar guardar as informações de pesquisas ao fazer uma seleção de entrada manual</string>
<string name="autofill_save_search_info_summary">Tentar guardar as informações de pesquisas ao fazer uma seleção de entrada manual para facilitar utilizações posteriores</string>
<string name="autofill_save_search_info_title">Guardar informações de pesquisas</string>
<string name="autofill_manual_selection_summary">Mostrar opção para permitir que o utilizador selecione a entrada da base de dados</string>
<string name="autofill_manual_selection_title">Seleção manual</string>
@@ -512,7 +508,7 @@
<string name="custom_fields">Campos personalizados</string>
<string name="keyboard_previous_lock_summary">Mudar automaticamente para o teclado anterior após bloquear a base de dados</string>
<string name="keyboard_previous_lock_title">Bloquear base de dados</string>
<string name="keyboard_save_search_info_summary">Depois de partilhar um URL com o KeePassDX, quando uma entrada for selecionada, memorizar essa entrada para utilizações posteriores</string>
<string name="keyboard_save_search_info_summary">Tentar guardar informação partilhada ao fazer uma seleção manual de entradas para uma utilização futura mais fácil</string>
<string name="keyboard_save_search_info_title">Guardar informação partilhada</string>
<string name="templates">Modelos</string>
<string name="notification">Notificação</string>

View File

@@ -19,7 +19,7 @@
--><resources>
<string name="feedback">Отзыв</string>
<string name="homepage">Сайт</string>
<string name="about_description">Android-версия менеджера паролей KeePass</string>
<string name="about_description">Androidверсия менеджера паролей KeePass</string>
<string name="accept">Принять</string>
<string name="add_entry">Новая запись</string>
<string name="add_group">Новая группа</string>
@@ -44,13 +44,13 @@
<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_cancel">Назад</string>
<string name="entry_notes">Заметки</string>
<string name="entry_confpassword">Подтверждение пароля</string>
<string name="entry_created">Создано</string>
<string name="entry_expires">Срок действия</string>
<string name="entry_expires">Окончание</string>
<string name="entry_keyfile">Файл ключа</string>
<string name="entry_modified">Изменено</string>
<string name="entry_not_found">Данные записи не найдены.</string>
@@ -207,7 +207,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>
@@ -266,11 +266,11 @@
<string name="education_donation_title">Участвуйте</string>
<string name="education_donation_summary">Примите участие в проекте для повышения стабильности, безопасности и добавления новых возможностей.</string>
<string name="html_text_ad_free">В отличие от многих других приложений управления паролями, здесь <strong>нет рекламы</strong>, и оно <strong>свободно от лицензирования</strong>. Приложение не собирает ваши личные данные на своих серверах независимо от версии, которую вы используете.</string>
<string name="html_text_buy_pro">Купив Pro-версию, у вас появится доступ к данным <strong>визуальным стилям</strong>, а также вы внесёте вклад в <strong>реализацию общественных проектов</strong>.</string>
<string name="html_text_buy_pro">Купив Proверсию, у вас появится доступ к данным <strong>визуальным стилям</strong>, а также вы внесёте вклад в <strong>реализацию общественных проектов</strong>.</string>
<string name="html_text_feature_generosity">Эти &lt;strong&gt;визуальные стили&lt;/strong&gt; доступны благодаря вашей щедрости.</string>
<string name="html_text_donation">Для того, чтобы сохранить нашу независимость и быть всегда активными, мы рассчитываем на вашу <strong>поддержку</strong>.</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;Pro&lt;/strong&gt;-версию,</string>
<string name="html_text_dev_feature_buy_pro">Покупая <strong>Pro</strong>версию,</string>
<string name="html_text_dev_feature_contibute">&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>
<string name="html_text_dev_feature_thanks">Большое спасибо за поддержку.</string>
@@ -301,7 +301,7 @@
<string name="keyboard_keys_category">Кнопки</string>
<string name="keyboard_key_vibrate_title">Вибрация при нажатии</string>
<string name="keyboard_key_sound_title">Звук при нажатии</string>
<string name="do_not_kill_app">Не убивайте приложение…</string>
<string name="do_not_kill_app">Не закрывайте приложение…</string>
<string name="lock_database_back_root_title">Блокировка нажатием \"Назад\"</string>
<string name="lock_database_back_root_summary">Блокировка базы нажатием кнопки \"Назад\" на начальном экране</string>
<string name="clear_clipboard_notification_title">Очищать при закрытии</string>
@@ -422,21 +422,17 @@
<string name="hide_broken_locations_summary">Не показывать неработающие ссылки в списке последних открытых баз</string>
<string name="warning_database_read_only">Необходимо разрешение на запись в файл для сохранения изменений базы</string>
<string name="validate">Проверить</string>
<string name="discard_changes">Забыть изменения\?</string>
<string name="discard">Забыть</string>
<string name="discard_changes">Сохранить изменения\?</string>
<string name="discard">Не сохранять</string>
<string name="entry_add_attachment">Добавить вложение</string>
<string name="error_create_database">Невозможно создать файл базы.</string>
<string name="education_setup_OTP_title">Настройка OTP</string>
<string name="education_setup_OTP_summary">Настройте управление одноразовыми паролями (HOTP / TOTP) для создания токена, запрашиваемого при двухфакторной аутентификации (2FA).</string>
<string name="autofill_auto_search_summary">Автоматически предлагать результаты поиска для домена или идентификатора приложения</string>
<string name="lock_database_show_button_summary">Использовать кнопку блокировки в интерфейсе</string>
<string name="lock_database_show_button_title">Показывать кнопку блокировки</string>
<string name="error_label_exists">Такая метка уже существует.</string>
<string name="warning_database_link_revoked">Доступ к файлу отменён файловым менеджером</string>
<string name="autofill_auto_search_title">Автопоиск</string>
<string name="autofill_preference_title">Настройки автозаполнения</string>
<string name="keyboard_search_share_summary">При отправке URL в KeePassDX отфильтровать записи по домену этого URL</string>
<string name="keyboard_search_share_title">Поиск доступной информации</string>
<string name="subdomain_search_title">Поиск поддоменов</string>
<string name="subdomain_search_summary">Выполнять поиск доменов с некоторыми поддоменами</string>
<string name="autofill_block_restart">Перезапустите приложение, содержащее форму, чтобы активировать отключение.</string>
@@ -470,9 +466,9 @@
<string name="warning_remove_unlinked_attachment">Удаление несвязанных данных может уменьшить размер базы, но также может удалить данные, используемые для плагинов KeePass.</string>
<string name="content_description_credentials_information">Информация об учётных данных</string>
<string name="configure_biometric">Отсутствует зарегистрированный биометрический ключ или учётные данные устройства.</string>
<string name="autofill_save_search_info_summary">Сохранять поисковую информацию при ручном выборе записи</string>
<string name="autofill_save_search_info_summary">Сохранять поисковую информацию при ручном выборе записи для дальнейшего использования</string>
<string name="autofill_save_search_info_title">Сохранять данные поиска</string>
<string name="keyboard_save_search_info_summary">При отправке URL в KeePassDX, если выбрана запись, постараться запомнить её для дальнейшего использования</string>
<string name="keyboard_save_search_info_summary">При ручном выборе записи пытаться сохранить информацию для дальнейшего использования</string>
<string name="keyboard_save_search_info_title">Сохранять общие данные</string>
<string name="keyboard_previous_lock_title">Блокировка базы</string>
<string name="keyboard_previous_lock_summary">Автоматически переключаться на предыдущую клавиатуру после блокировки базы</string>
@@ -583,10 +579,10 @@
<string name="cryptocurrency">Криптовалютный кошелёк</string>
<string name="type">Тип</string>
<string name="ssid">SSID</string>
<string name="wireless">Wi-Fi</string>
<string name="wireless">WiFi</string>
<string name="email_address">Адрес эл. почты</string>
<string name="name">Имя</string>
<string name="personal_identification_number">PIN-код</string>
<string name="personal_identification_number">PINкод</string>
<string name="card_verification_value">CVV</string>
<string name="number">Номер</string>
<string name="holder">Владелец</string>
@@ -617,7 +613,7 @@
<string name="searchable">Доступно для поиска</string>
<string name="inherited">Наследовать</string>
<string name="case_sensitive">С учётом регистра</string>
<string name="menu_save_copy_to">Сохранить копию в</string>
<string name="menu_save_copy_to">Сохранить как</string>
<string name="menu_merge_from">Объединить с…</string>
<string name="search_filters">Фильтры поиска</string>
<string name="regex">Регулярное выражение</string>
@@ -633,15 +629,15 @@
\nПроверьте совместимость и безопасность хранилища ключей через производителя устройства и разработчика используемого ПЗУ.</string>
<string name="passphrase">Кодовая фраза</string>
<string name="colorize_password_title">Раскрашивать пароли</string>
<string name="colorize_password_summary">Разделять цветом символы пароля по типу</string>
<string name="colorize_password_summary">Разделять символы пароля цветом по типу</string>
<string name="keyboard_previous_search_title">Экран поиска</string>
<string name="entropy">Энтропия: %1$s бит</string>
<string name="entropy_high">Энтропия: высокая</string>
<string name="word_separator">Разделитель</string>
<string name="character_count">Количество символов: %1$d</string>
<string name="ignore_chars_filter">Игнорировать символы</string>
<string name="ignore_chars_filter">Исключить символы</string>
<string name="title_case">С Заглавных</string>
<string name="at_least_one_char">Не менее, чем по одному символу из каждого</string>
<string name="at_least_one_char">Обязательно использовать символы из выбранных наборов</string>
<string name="consider_chars_filter">Включить символы</string>
<string name="content_description_passphrase_word_count">Количество слов в кодовой фразе</string>
<string name="keyboard_previous_search_summary">Автоматически переключаться на предыдущую клавиатуру на экране поиска</string>

View File

@@ -415,8 +415,6 @@
<string name="download_attachment">Ladda ner %1$s</string>
<string name="education_setup_OTP_summary">Inställning av OTP (One-Time Password (Engångslösenord))-hantering av (HOTP/TOTP) för att skapa tecken begärda av Tvåstegs autentisering (2FA).</string>
<string name="education_setup_OTP_title">Ställ in OTP</string>
<string name="autofill_auto_search_summary">Föreslå automatiskt sökresultt från webbdomänen eller appens Id</string>
<string name="autofill_auto_search_title">Automatisk sökning</string>
<string name="keyboard_auto_go_action_summary">\"Goknappens\" åtgärd när en \"Fältknapp\" trycks ner</string>
<string name="keyboard_auto_go_action_title">Automatisk knappåtgärd</string>
<string name="lock_database_show_button_summary">Visa låsknappen i gränssnittet</string>

View File

@@ -422,15 +422,11 @@
<string name="discard">Vazgeç</string>
<string name="discard_changes">Değişikliklerden vazgeç\?</string>
<string name="validate">Doğrula</string>
<string name="autofill_auto_search_summary">Web etki alanından veya uygulama kimliğinden otomatik olarak arama sonuçları öner</string>
<string name="autofill_auto_search_title">Otomatik arama</string>
<string name="lock_database_show_button_summary">Kilit düğmesini kullanıcı arayüzünde görüntüler</string>
<string name="lock_database_show_button_title">Kilit düğmesini göster</string>
<string name="autofill_preference_title">Otomatik doldurma ayarları</string>
<string name="warning_database_link_revoked">Dosyaya erişim dosya yöneticisi tarafından iptal edildi</string>
<string name="error_label_exists">Bu etiket zaten var.</string>
<string name="keyboard_search_share_summary">KeePassDX ile bilgi paylaşırken, Magickeyboard\'a iletmek için bu bilgiyi kullanarak girdileri filtreleyin</string>
<string name="keyboard_search_share_title">Paylaşılan bilgileri seç</string>
<string name="filter">Filtre</string>
<string name="autofill_block_restart">Engellemeyi etkinleştirmek için formu içeren uygulamayı yeniden başlatın.</string>
<string name="autofill_block">Otomatik doldurmayı engelle</string>
@@ -468,13 +464,13 @@
<string name="autofill_read_only_save">Salt okunur olarak açılan bir veri tabanı için veri kaydına izin verilmiyor.</string>
<string name="autofill_ask_to_save_data_summary">Form doldurma işlemi tamamlandığında verileri kaydetmek için sor</string>
<string name="autofill_ask_to_save_data_title">Verileri kaydetmek için sor</string>
<string name="autofill_save_search_info_summary">Elle girdi seçimi yaparken arama bilgilerini kaydetmeyi dene</string>
<string name="autofill_save_search_info_summary">İleride daha kolay kullanım için elle girdi seçimi yaparken arama bilgilerini kaydetmeyi dene</string>
<string name="autofill_save_search_info_title">Arama bilgilerini kaydet</string>
<string name="autofill_close_database_summary">Otomatik doldurma seçiminden sonra veri tabanını kapat</string>
<string name="autofill_close_database_title">Veri tabanını kapat</string>
<string name="keyboard_previous_lock_summary">Veri tabanını kilitledikten sonra otomatik olarak önceki klavyeye dön</string>
<string name="keyboard_previous_lock_title">Veri tabanını kilitle</string>
<string name="keyboard_save_search_info_summary">KeePassDX ile bilgi paylaştıktan sonra, bir girdi seçildiğinde, gelecekte daha kolay kullanmak için bilgileri girdiye kaydetmeyi deneyin</string>
<string name="keyboard_save_search_info_summary">İleride daha kolay kullanım için elle girdi seçimi yaparken arama bilgilerini kaydetmeyi dene</string>
<string name="keyboard_save_search_info_title">Paylaşılan bilgileri kaydet</string>
<string name="notification">Bildirim</string>
<string name="biometric_security_update_required">Biyometrik güvenlik güncellemesi gerekli.</string>

View File

@@ -320,8 +320,6 @@
<string name="delete_entered_password_title">Видаляти пароль</string>
<string name="allow_no_password_summary">Дозволяє натискання «Відкрити», якщо не вибрано головний пароль</string>
<string name="allow_no_password_title">Дозволити без головного ключа</string>
<string name="autofill_auto_search_summary">Автоматично пропонувати результати пошуку з вебдомену або ID застосунку</string>
<string name="autofill_auto_search_title">Автоматичний пошук</string>
<string name="keyboard_key_sound_title">Звук під час натискання</string>
<string name="keyboard_key_vibrate_title">Вібрація під час натискання</string>
<string name="keyboard_auto_go_action_summary">Дія переходу після натискання кнопки заповнення поля</string>
@@ -435,8 +433,6 @@
<string name="parallelism">Паралельність</string>
<string name="memory_usage">Використання пам\'яті</string>
<string name="encryption_explanation">Алгоритм шифрування бази даних, застосований для всіх даних.</string>
<string name="keyboard_search_share_summary">Коли надано спільний доступ до URL-адреси у KeePassDX, фільтрувати записи, що застосовують домен з цією URL-адресою</string>
<string name="keyboard_search_share_title">Пошук доступних даних</string>
<string name="autofill_block_restart">Перезапустіть застосунок, який містить форму, для застосування блокування.</string>
<string name="autofill_block">Блокування автозаповнення</string>
<string name="autofill_web_domain_blocklist_summary">Вебдомени для яких вимкнено автозаповнення</string>
@@ -474,13 +470,13 @@
<string name="autofill_read_only_save">Збереження даних заборонено для бази даних, відкритої лише для читання.</string>
<string name="autofill_ask_to_save_data_summary">Запитувати зберігати дані після заповнення форми</string>
<string name="autofill_ask_to_save_data_title">Запит збереження даних</string>
<string name="autofill_save_search_info_summary">Намагатися зберегти подробиці пошуку під час вибору запису власноруч</string>
<string name="autofill_save_search_info_summary">Намагатися зберегти подробиці пошуку під час вибору запису вручну для простішого користування в подальшому</string>
<string name="autofill_save_search_info_title">Збереження відомостей пошуку</string>
<string name="autofill_close_database_summary">Закривати базу даних після вибору автозаповнення</string>
<string name="autofill_close_database_title">Закриття бази даних</string>
<string name="keyboard_previous_lock_summary">Автоматичне повернення до попередньої клавіатури після блокування бази даних</string>
<string name="keyboard_previous_lock_title">Блокування бази даних</string>
<string name="keyboard_save_search_info_summary">Після надання спільного доступу до URL-адреси KeePassDX, коли запис вибрано, пробувати запам\'ятати цей запис для подальшого застосування</string>
<string name="keyboard_save_search_info_summary">Пробувати зберегти спільну інформацію під час вибору запису вручну для простішого користування в подальшому</string>
<string name="keyboard_save_search_info_title">Збереження спільних відомостей</string>
<string name="notification">Сповіщення</string>
<string name="biometric_security_update_required">Необхідно оновити біометричний захист.</string>

View File

@@ -19,10 +19,10 @@
-->
<resources>
<!-- For setting encapsulation -->
<style name="KeepassDXStyle.Light" parent="KeepassDXStyle.Light.v21" >
<style name="KeepassDXStyle.Light.v14" parent="KeepassDXStyle.Light.Base" >
<item name="preferenceTheme">@style/PreferenceThemeOverlay.v14</item>
</style>
<style name="KeepassDXStyle.Night" parent="KeepassDXStyle.Night.v21" >
<style name="KeepassDXStyle.Night.v14" parent="KeepassDXStyle.Night.Base" >
<item name="preferenceTheme">@style/PreferenceThemeOverlay.v14</item>
</style>
</resources>

View File

@@ -23,18 +23,18 @@
<item name="android:statusBarColor">@color/grey_dark</item>
<item name="android:navigationBarColor">@color/grey_dark</item>
</style>
<style name="KeepassDXStyle.Light" parent="KeepassDXStyle.Light.v21" >
<style name="KeepassDXStyle.Light.v21" parent="KeepassDXStyle.Light.v14" >
<item name="preferenceTheme">@style/KeepassDXStyle.Preference.v21</item>
<item name="android:statusBarColor">?attr/colorPrimaryDark</item>
<item name="android:navigationBarColor">?attr/colorPrimaryDark</item>
<item name="android:timePickerDialogTheme">@style/KeepassDXStyle.Light.DateTime.Dialog</item>
<item name="android:datePickerDialogTheme">@style/KeepassDXStyle.Light.DateTime.Dialog</item>
</style>
<style name="KeepassDXStyle.Light.WhiteBar.v23" parent="KeepassDXStyle.Light" >
<style name="KeepassDXStyle.Light.WhiteBar.v21" parent="KeepassDXStyle.Light.Base" >
<item name="android:statusBarColor">@color/grey_darker</item>
<item name="android:navigationBarColor">@color/grey_darker</item>
</style>
<style name="KeepassDXStyle.Night" parent="KeepassDXStyle.Night.v21" >
<style name="KeepassDXStyle.Night.v21" parent="KeepassDXStyle.Night.v14" >
<item name="preferenceTheme">@style/KeepassDXStyle.Preference.v21</item>
<item name="android:statusBarColor">?attr/colorPrimaryDark</item>
<item name="android:navigationBarColor">?attr/colorPrimaryDark</item>

View File

@@ -21,14 +21,12 @@
<style name="KeepassDXStyle.Blue" parent="KeepassDXStyle.Blue.v21" >
<item name="preferenceTheme">@style/KeepassDXStyle.Preference.v21</item>
<item name="android:statusBarColor">?attr/colorPrimaryDark</item>
<item name="android:navigationBarColor">?attr/colorPrimaryDark</item>
<item name="android:timePickerDialogTheme">@style/KeepassDXStyle.Blue.DateTime.Dialog</item>
<item name="android:datePickerDialogTheme">@style/KeepassDXStyle.Blue.DateTime.Dialog</item>
</style>
<style name="KeepassDXStyle.Blue.Night" parent="KeepassDXStyle.Blue.Night.v21" >
<item name="preferenceTheme">@style/KeepassDXStyle.Preference.v21</item>
<item name="android:statusBarColor">?attr/colorPrimaryDark</item>
<item name="android:navigationBarColor">?attr/colorPrimaryDark</item>
<item name="android:timePickerDialogTheme">@style/KeepassDXStyle.Blue.Night.DateTime.Dialog</item>
<item name="android:datePickerDialogTheme">@style/KeepassDXStyle.Blue.Night.DateTime.Dialog</item>
</style>

View File

@@ -21,14 +21,12 @@
<style name="KeepassDXStyle.Red" parent="KeepassDXStyle.Red.v21" >
<item name="preferenceTheme">@style/KeepassDXStyle.Preference.v21</item>
<item name="android:statusBarColor">?attr/colorPrimaryDark</item>
<item name="android:navigationBarColor">?attr/colorPrimaryDark</item>
<item name="android:timePickerDialogTheme">@style/KeepassDXStyle.Red.DateTime.Dialog</item>
<item name="android:datePickerDialogTheme">@style/KeepassDXStyle.Red.DateTime.Dialog</item>
</style>
<style name="KeepassDXStyle.Red.Night" parent="KeepassDXStyle.Red.Night.v21" >
<item name="preferenceTheme">@style/KeepassDXStyle.Preference.v21</item>
<item name="android:statusBarColor">?attr/colorPrimaryDark</item>
<item name="android:navigationBarColor">?attr/colorPrimaryDark</item>
<item name="android:timePickerDialogTheme">@style/KeepassDXStyle.Red.Night.DateTime.Dialog</item>
<item name="android:datePickerDialogTheme">@style/KeepassDXStyle.Red.Night.DateTime.Dialog</item>
</style>

View File

@@ -18,7 +18,12 @@
along with KeePassDX. If not, see <http://www.gnu.org/licenses/>.
-->
<resources>
<style name="KeepassDXStyle.Light.WhiteBar.v23" parent="KeepassDXStyle.Light" >
<style name="KeepassDXStyle.Light.v23" parent="KeepassDXStyle.Light.v21" >
<item name="android:statusBarColor">?attr/colorPrimaryDark</item>
<item name="android:windowLightStatusBar">false</item>
</style>
<style name="KeepassDXStyle.Light.WhiteBar.v23" parent="KeepassDXStyle.Light.WhiteBar.v21" >
<item name="android:statusBarColor">@color/white</item>
<item name="android:windowLightStatusBar">true</item>
</style>

View File

@@ -0,0 +1,29 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
Copyright 2021 Jeremy Jamet / Kunzisoft.
This file is part of KeePassDX.
KeePassDX is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
KeePassDX is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with KeePassDX. If not, see <http://www.gnu.org/licenses/>.
-->
<resources>
<style name="KeepassDXStyle.Light.v27" parent="KeepassDXStyle.Light.v23" >
<item name="android:navigationBarColor">@color/white_dark</item>
<item name="android:windowLightNavigationBar">true</item>
</style>
<style name="KeepassDXStyle.Night.v27" parent="KeepassDXStyle.Night.v23" >
<item name="android:navigationBarColor">@color/grey_dark</item>
<item name="android:windowLightNavigationBar">false</item>
</style>
</resources>

View File

@@ -24,9 +24,9 @@
<string name="add_entry">添加条目</string>
<string name="add_group">添加群组</string>
<string name="encryption_algorithm">加密算法</string>
<string name="app_timeout"></string>
<string name="app_timeout"></string>
<string name="app_timeout_summary">在锁定数据库前处于非活动状态的时长</string>
<string name="application">应用</string>
<string name="application">应用程序</string>
<string name="menu_app_settings">应用设置</string>
<string name="brackets">括号</string>
<string name="file_manager_install_description">需要一款接受意图操作 ACTION_CREATE_DOCUMENT 和 ACTION_OPEN_DOCUMENT 的文件管理器来创建、打开和保存数据库文件。</string>
@@ -34,13 +34,13 @@
<string name="clipboard_timeout">剪贴板清空延时</string>
<string name="clipboard_timeout_summary">剪贴板保存时间 (若您的设备支持该功能)</string>
<string name="select_to_copy">选择%1$s以复制到剪贴板</string>
<string name="retrieving_db_key">取数据库密钥中……</string>
<string name="retrieving_db_key">取数据库密钥中……</string>
<string name="database">数据库</string>
<string name="decrypting_db">正在解密数据库内容…</string>
<string name="default_checkbox">设为默认数据库</string>
<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;许可证分发的您可在遵循GPL 3或者更高版本的协议下重新发布。Kunzisoft对软件的质量和性能等问题不提供任何形式的担保。</string>
<string name="html_about_licence">KeePassDX © %1$d 是 Kunzisoft 旗下的一个<strong>不含广告</strong><strong>开源软件</strong>
\n它是根据<strong>GPLv3</strong>许可证分发的您可在遵循GPLv3或者更高版本的协议下重新发布。Kunzisoft对软件的质量和性能等问题不提供任何形式的担保。</string>
<string name="select_database_file">打开已有数据库</string>
<string name="entry_accessed">访问时间</string>
<string name="entry_cancel">取消</string>
@@ -65,13 +65,13 @@
<string name="error_out_of_memory">因内存不足无法加载数据库。</string>
<string name="error_pass_gen_type">必须至少选择一种密码生成类型。</string>
<string name="error_pass_match">密码不匹配。</string>
<string name="error_rounds_too_large">“变换次数”过多。已设置为2147483648。</string>
<string name="error_rounds_too_large">“变换次数”项设置过大。已设置为2147483648。</string>
<string name="error_wrong_length">请在“长度”字段输入正整数。</string>
<string name="file_browser">文件管理器</string>
<string name="generate_password">生成密码</string>
<string name="hint_conf_pass">确认密码</string>
<string name="hint_generated_password">生成的密码</string>
<string name="hint_group_name">组名</string>
<string name="hint_group_name">组名</string>
<string name="hint_keyfile">密钥文件</string>
<string name="hint_length">长度</string>
<string name="password">密码</string>
@@ -79,7 +79,7 @@
<string name="invalid_credentials">无法读取您的密码或密钥文件。</string>
<string name="invalid_db_sig">无法识别数据库格式。</string>
<string name="length">长度</string>
<string name="list_size_title">列表项目尺寸</string>
<string name="list_size_title">列表项目大小</string>
<string name="list_size_summary">列表文字大小</string>
<string name="loading_database">正在加载数据库…</string>
<string name="lowercase">小写</string>
@@ -127,7 +127,7 @@
<string name="extended_ASCII">ASCII拓展区字符</string>
<string name="allow">允许</string>
<string name="clipboard_error_title">剪切板错误</string>
<string name="clipboard_error">某些设备不允许应用使用剪贴板。</string>
<string name="clipboard_error">某些设备不应用使用剪贴板。</string>
<string name="clipboard_error_clear">无法清空剪切板</string>
<string name="style_choose_title">主题</string>
<string name="icon_pack_choose_title">图标包</string>
@@ -135,7 +135,7 @@
<string name="edit_entry">编辑条目</string>
<string name="key_derivation_function">密钥推导函数</string>
<string name="entry_not_found">找不到条目数据。</string>
<string name="error_load_database">无法加载数据库。</string>
<string name="error_load_database">无法加载您的数据库。</string>
<string name="error_load_database_KDF_memory">无法加载密钥。尝试降低KDF的“内存使用”值。</string>
<string name="error_autofill_enable_service">无法启用自动填充服务。</string>
<string name="file_not_found_content">找不到文件。请重新打开文件。</string>
@@ -143,20 +143,20 @@
<string name="keyfile_is_empty">密钥文件为空。</string>
<string name="list_entries_show_username_title">显示用户名</string>
<string name="list_entries_show_username_summary">在条目列表上显示用户名</string>
<string name="menu_form_filling_settings">自动填充</string>
<string name="menu_form_filling_settings">表单填充</string>
<string name="menu_copy">复制</string>
<string name="menu_move">移动</string>
<string name="menu_paste">粘贴</string>
<string name="menu_cancel">取消</string>
<string name="menu_showpass">显示密码</string>
<string name="menu_file_selection_read_only">只读</string>
<string name="menu_file_selection_read_only">写保护</string>
<string name="menu_open_file_read_and_write">可修改</string>
<string name="protection">保护</string>
<string name="read_only">只读</string>
<string name="read_only">写保护</string>
<string name="read_only_warning">根据您的文件管理器KeePassDX 可能不允许在您的存储中写入数据。</string>
<string name="show_recent_files_title">最近文件历史</string>
<string name="show_recent_files_summary">记住最近使用的文件名</string>
<string name="encryption_explanation">加密所有数据时采用的算法。</string>
<string name="show_recent_files_title">显示最近打开的文件</string>
<string name="show_recent_files_summary">显示最近打开数据库的位置</string>
<string name="encryption_explanation">加密数据库所有数据时采用的算法。</string>
<string name="kdf_explanation">将迭代主密钥以生成加密数据库所需的密钥,转换方式为随机加盐算法。</string>
<string name="memory_usage">内存使用量</string>
<string name="memory_usage_explanation">密钥推导算法使用的内存。</string>
@@ -318,7 +318,7 @@
<string name="content_description_node_children">子节点</string>
<string name="content_description_add_node">增加节点</string>
<string name="content_description_add_entry">添加条目</string>
<string name="content_description_add_group">添加</string>
<string name="content_description_add_group">添加</string>
<string name="content_description_file_information">文件信息</string>
<string name="content_description_password_checkbox">密码选框</string>
<string name="content_description_keyfile_checkbox">密钥文件选框</string>
@@ -328,12 +328,12 @@
<string name="content_description_password_length">密码长度</string>
<string name="entry_add_field">添加字段</string>
<string name="content_description_remove_field">删除字段</string>
<string name="entry_UUID">UUID</string>
<string name="entry_UUID">UUID通用唯一识别码Universally Unique Identifier</string>
<string name="error_move_entry_here">你不能将条目移到此处。</string>
<string name="error_copy_entry_here">您不能在此处复制条目</string>
<string name="error_copy_entry_here">您不能将条目复制到此处</string>
<string name="list_groups_show_number_entries_title">显示条目数量</string>
<string name="list_groups_show_number_entries_summary">显示群组中的条目数</string>
<string name="content_description_background">背景</string>
<string name="content_description_background">后台</string>
<string name="content_description_update_from_list">更新</string>
<string name="content_description_keyboard_close_fields">关闭字段</string>
<string name="error_create_database_file">无法使用此密码和密钥文件新建数据库。</string>
@@ -345,28 +345,28 @@
<string name="disable">禁用</string>
<string name="master_key">主密钥</string>
<string name="security">安全</string>
<string name="entry_history">历史</string>
<string name="entry_history">修改历史</string>
<string name="entry_setup_otp">设置 OTP</string>
<string name="otp_type">OTP 类型</string>
<string name="otp_secret">密钥</string>
<string name="otp_secret">OTP密钥</string>
<string name="otp_period">时长(秒)</string>
<string name="otp_counter">计数器</string>
<string name="otp_digits">数字位数</string>
<string name="otp_algorithm">算法</string>
<string name="entry_otp">OTP</string>
<string name="error_invalid_OTP">错误的一次性密码密钥</string>
<string name="error_invalid_OTP">OTP密钥无效</string>
<string name="error_disallow_no_credentials">至少需要设置一个凭据。</string>
<string name="error_copy_group_here">您无法在此处复制群组</string>
<string name="error_copy_group_here">您无法将分组复制到此处</string>
<string name="error_otp_secret_key">密钥必须是BASE32格式。</string>
<string name="error_otp_counter">计数器必须在%1$d和%2$d之间。</string>
<string name="error_otp_period">时长必须在%1$d秒到%2$d秒之间。</string>
<string name="error_otp_digits">必须包括%1$d到%2$d个数字。</string>
<string name="error_otp_digits">令必须包括%1$d到%2$d个数字。</string>
<string name="invalid_db_same_uuid">与%1$s的UUID相同的%2$s已经存在。</string>
<string name="creating_database">新建数据库…</string>
<string name="creating_database">正在新建数据库…</string>
<string name="menu_security_settings">安全设置</string>
<string name="menu_master_key_settings">主密钥设置</string>
<string name="contains_duplicate_uuid">该数据库包含重复的 UUID。</string>
<string name="contains_duplicate_uuid_procedure">通过为重复项生成新的 UUID 以解决问题?</string>
<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>
@@ -428,15 +428,11 @@
<string name="entry_add_attachment">添加附件</string>
<string name="discard_changes">放弃更改?</string>
<string name="validate">验证</string>
<string name="autofill_auto_search_summary">自动建议匹配的网址域名或应用 ID 的搜索结果</string>
<string name="autofill_auto_search_title">自动搜索</string>
<string name="lock_database_show_button_summary">在用户界面中显示锁定数据库按钮</string>
<string name="lock_database_show_button_title">显示锁定数据库按钮</string>
<string name="autofill_preference_title">自动填充设置</string>
<string name="warning_database_link_revoked">访问文件管理器撤消访问权限的文件</string>
<string name="warning_database_link_revoked">访问文件管理器撤消访问权限的文件</string>
<string name="error_label_exists">该标签已经存在。</string>
<string name="keyboard_search_share_summary">将 URL 共享给 KeePassDX 时,使用该 URL 域过滤条目</string>
<string name="keyboard_search_share_title">搜索分享的信息</string>
<string name="autofill_block_restart">重新启动包含该表单的应用以激活拦截。</string>
<string name="autofill_block">阻止自动填充</string>
<string name="autofill_web_domain_blocklist_summary">禁止在下列域名中自动填充凭证</string>
@@ -474,13 +470,13 @@
<string name="autofill_read_only_save">以只读方式打开的数据库不允许保存数据。</string>
<string name="autofill_ask_to_save_data_summary">填写完表单后,询问是否保存数据</string>
<string name="autofill_ask_to_save_data_title">询问是否保存数据</string>
<string name="autofill_save_search_info_summary">手动选择条目时尝试保存搜索信息</string>
<string name="autofill_save_search_info_summary">手动选择条目时尝试保存搜索信息,以便将来使用</string>
<string name="autofill_save_search_info_title">保存搜索信息</string>
<string name="autofill_close_database_summary">在进行自动填充选择后关闭数据库</string>
<string name="autofill_close_database_title">关闭数据库</string>
<string name="keyboard_previous_lock_summary">锁定数据库后自动切换回上一个键盘</string>
<string name="keyboard_previous_lock_title">锁定数据库</string>
<string name="keyboard_save_search_info_summary">将URL共享到KeePassDX后选中一个条目时请尝试记住那个条目以备日后使用</string>
<string name="keyboard_save_search_info_summary">手动输入条目时尝试保存共享信息,以便将来使用</string>
<string name="keyboard_save_search_info_title">保存分享的信息</string>
<string name="notification">通知</string>
<string name="biometric_security_update_required">需要生物识别安全更新。</string>
@@ -575,7 +571,7 @@
<string name="seed">种子</string>
<string name="private_key">私钥</string>
<string name="public_key">公钥</string>
<string name="token"></string>
<string name="token"></string>
<string name="cryptocurrency">加密货币钱包</string>
<string name="type">类型</string>
<string name="ssid">SSID</string>
@@ -585,7 +581,7 @@
<string name="date_of_issue">发行日期</string>
<string name="place_of_issue">发行地</string>
<string name="name">姓名</string>
<string name="id_card">ID 卡</string>
<string name="id_card">身份证</string>
<string name="personal_identification_number">PIN</string>
<string name="card_verification_value">CVV</string>
<string name="number">卡号</string>
@@ -615,7 +611,7 @@
<string name="searchable">可搜索</string>
<string name="auto_type_sequence">自动输入序列</string>
<string name="custom_data">自定义数据</string>
<string name="current_group">当前组</string>
<string name="current_group">当前</string>
<string name="regex">正则表达式</string>
<string name="menu_merge_from">合并自…</string>
<string name="menu_save_copy_to">保存副本到…</string>

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