Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/keepassxreboot/keepassxc.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJanek Bevendorff <janek@jbev.net>2019-11-11 22:53:43 +0300
committerJanek Bevendorff <janek@jbev.net>2019-11-11 22:53:43 +0300
commit0fd883686c05c7689bf8f074b02dcfff3a705a97 (patch)
tree2712633ecf71270412ccb7512c196b8a696445ca
parent1ab8a9f42c065bd575490ad7f3fa43ce72a59d8a (diff)
parentdb63a40461990e0d989c48af88ae0ce2f43bcacf (diff)
Release 2.5.12.5.1
Added - Add programmatic use of the EntrySearcher [#3760] - Explicitly clear database memory upon locking even if the object is not deleted immediately [#3824] - macOS: Add ability to perform notarization of built package [#3827] Changed - Reduce file hash checking to every 30 seconds to correct performance issues [#3724] - Correct formatting of notes in entry preview widget [#3727] - Improve performance and UX of database statistics page [#3780] - Improve interface for key file selection to discourage use of the database file [#3807] - Hide Auto-Type sequences column when not needed [#3794] - macOS: Revert back to using Carbon API for hotkey detection [#3794] - CLI: Do not show protected fields by default [#3710] Fixed - Secret Service: Correct issues interfacing with various applications [#3761] - Fix building without additional features [#3693] - Fix handling TOTP secret keys that require padding [#3764] - Fix database unlock dialog password field focus [#3764] - Correctly label open databases as locked on launch [#3764] - Prevent infinite recursion when two databases AutoOpen each other [#3764] - Browser: Fix incorrect matching of invalid URLs [#3759] - Properly stylize the application name on Linux [#3775] - Show application icon on Plasma Wayland sessions [#3777] - macOS: Check for Auto-Type permissions on use instead of at launch [#3794]
-rw-r--r--CHANGELOG.md833
-rw-r--r--CMakeLists.txt10
-rwxr-xr-xrelease-tool156
-rw-r--r--share/docs/man/keepassxc-cli.14
-rw-r--r--share/linux/org.keepassxc.KeePassXC.appdata.xml26
-rw-r--r--share/macosx/keepassxc.entitlements37
-rw-r--r--share/translations/CMakeLists.txt4
-rw-r--r--share/translations/keepassx_ar.ts92
-rw-r--r--share/translations/keepassx_ca.ts2713
-rw-r--r--share/translations/keepassx_cs.ts99
-rw-r--r--share/translations/keepassx_da.ts92
-rw-r--r--share/translations/keepassx_de.ts162
-rw-r--r--share/translations/keepassx_en.ts74
-rw-r--r--share/translations/keepassx_en_GB.ts92
-rw-r--r--share/translations/keepassx_en_US.ts101
-rw-r--r--share/translations/keepassx_es.ts1204
-rw-r--r--share/translations/keepassx_et.ts7071
-rw-r--r--share/translations/keepassx_fi.ts100
-rw-r--r--share/translations/keepassx_fr.ts99
-rw-r--r--share/translations/keepassx_hu.ts394
-rw-r--r--share/translations/keepassx_id.ts94
-rw-r--r--share/translations/keepassx_it.ts99
-rw-r--r--share/translations/keepassx_ja.ts139
-rw-r--r--share/translations/keepassx_ko.ts960
-rw-r--r--share/translations/keepassx_lt.ts89
-rw-r--r--share/translations/keepassx_nb.ts91
-rw-r--r--share/translations/keepassx_nl_NL.ts505
-rw-r--r--share/translations/keepassx_pl.ts99
-rw-r--r--share/translations/keepassx_pt.ts92
-rw-r--r--share/translations/keepassx_pt_BR.ts721
-rw-r--r--share/translations/keepassx_pt_PT.ts509
-rw-r--r--share/translations/keepassx_ro.ts92
-rw-r--r--share/translations/keepassx_ru.ts850
-rw-r--r--share/translations/keepassx_sk.ts502
-rw-r--r--share/translations/keepassx_sv.ts92
-rw-r--r--share/translations/keepassx_th.ts110
-rw-r--r--share/translations/keepassx_tr.ts110
-rw-r--r--share/translations/keepassx_uk.ts312
-rw-r--r--share/translations/keepassx_zh_CN.ts867
-rw-r--r--share/translations/keepassx_zh_TW.ts99
-rw-r--r--snap/snapcraft.yaml2
-rw-r--r--src/autotype/AutoType.cpp9
-rw-r--r--src/autotype/mac/AutoTypeMac.cpp623
-rw-r--r--src/autotype/mac/AutoTypeMac.h19
-rw-r--r--src/autotype/mac/AutoTypeMacKeyCodes.h160
-rw-r--r--src/autotype/mac/CMakeLists.txt2
-rw-r--r--src/browser/BrowserService.cpp79
-rw-r--r--src/browser/BrowserService.h4
-rw-r--r--src/cli/Clip.cpp2
-rw-r--r--src/cli/Import.cpp4
-rw-r--r--src/cli/List.cpp2
-rw-r--r--src/cli/Locate.cpp2
-rw-r--r--src/cli/Show.cpp21
-rw-r--r--src/cli/Show.h1
-rw-r--r--src/core/Alloc.cpp6
-rw-r--r--src/core/Database.cpp98
-rw-r--r--src/core/Database.h39
-rw-r--r--src/core/EntrySearcher.cpp89
-rw-r--r--src/core/EntrySearcher.h31
-rw-r--r--src/core/FileWatcher.cpp29
-rw-r--r--src/core/FileWatcher.h3
-rw-r--r--src/core/Global.h6
-rw-r--r--src/core/IconDownloader.cpp2
-rw-r--r--src/core/Tools.cpp3
-rw-r--r--src/fdosecrets/objects/Collection.cpp38
-rw-r--r--src/fdosecrets/objects/Collection.h3
-rw-r--r--src/fdosecrets/objects/Item.cpp18
-rw-r--r--src/fdosecrets/objects/Item.h9
-rw-r--r--src/fdosecrets/objects/Service.cpp8
-rw-r--r--src/fdosecrets/objects/SessionCipher.cpp5
-rw-r--r--src/fdosecrets/objects/SessionCipher.h7
-rw-r--r--src/format/OpVaultReader.cpp2
-rw-r--r--src/gui/DatabaseOpenDialog.cpp2
-rw-r--r--src/gui/DatabaseOpenWidget.cpp26
-rw-r--r--src/gui/DatabaseOpenWidget.h1
-rw-r--r--src/gui/DatabaseOpenWidget.ui148
-rw-r--r--src/gui/DatabaseTabWidget.cpp3
-rw-r--r--src/gui/DatabaseWidget.cpp14
-rw-r--r--src/gui/EntryPreviewWidget.cpp59
-rw-r--r--src/gui/EntryPreviewWidget.h4
-rw-r--r--src/gui/EntryPreviewWidget.ui383
-rw-r--r--src/gui/TotpSetupDialog.cpp13
-rw-r--r--src/gui/dbsettings/DatabaseSettingsWidgetStatistics.cpp78
-rw-r--r--src/gui/dbsettings/DatabaseSettingsWidgetStatistics.h8
-rw-r--r--src/gui/dbsettings/DatabaseSettingsWidgetStatistics.ui6
-rw-r--r--src/gui/entry/AutoTypeMatchView.cpp16
-rw-r--r--src/gui/macutils/AppKit.h7
-rw-r--r--src/gui/macutils/AppKitImpl.h4
-rw-r--r--src/gui/macutils/AppKitImpl.mm69
-rw-r--r--src/gui/macutils/MacUtils.cpp17
-rw-r--r--src/gui/macutils/MacUtils.h5
-rw-r--r--src/keys/PasswordKey.cpp26
-rw-r--r--src/keys/PasswordKey.h2
-rw-r--r--src/keys/drivers/YubiKeyStub.cpp7
-rw-r--r--src/main.cpp6
-rw-r--r--src/totp/totp.cpp2
-rw-r--r--tests/CMakeLists.txt16
-rw-r--r--tests/TestBrowser.cpp126
-rw-r--r--tests/TestBrowser.h2
-rw-r--r--tests/TestCli.cpp25
-rw-r--r--tests/TestCsvParser.cpp10
-rw-r--r--tests/TestEntryModel.cpp4
-rw-r--r--tests/TestEntrySearcher.cpp44
-rw-r--r--tests/TestFdoSecrets.cpp22
-rw-r--r--tests/TestFdoSecrets.h1
-rw-r--r--tests/TestGroup.cpp2
-rw-r--r--tests/gui/CMakeLists.txt5
-rw-r--r--tests/gui/TestGui.cpp5
108 files changed, 16525 insertions, 5764 deletions
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 9a8ad96f0..9e7868c10 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,444 +1,475 @@
# Changelog
+## 2.5.1 (2019-11-11)
+
+### Added
+
+- Add programmatic use of the EntrySearcher [#3760]
+- Explicitly clear database memory upon locking even if the object is not deleted immediately [#3824]
+- macOS: Add ability to perform notarization of built package [#3827]
+
+### Changed
+
+- Reduce file hash checking to every 30 seconds to correct performance issues [#3724]
+- Correct formatting of notes in entry preview widget [#3727]
+- Improve performance and UX of database statistics page [#3780]
+- Improve interface for key file selection to discourage use of the database file [#3807]
+- Hide Auto-Type sequences column when not needed [#3794]
+- macOS: Revert back to using Carbon API for hotkey detection [#3794]
+- CLI: Do not show protected fields by default [#3710]
+
+### Fixed
+
+- Secret Service: Correct issues interfacing with various applications [#3761]
+- Fix building without additional features [#3693]
+- Fix handling TOTP secret keys that require padding [#3764]
+- Fix database unlock dialog password field focus [#3764]
+- Correctly label open databases as locked on launch [#3764]
+- Prevent infinite recursion when two databases AutoOpen each other [#3764]
+- Browser: Fix incorrect matching of invalid URLs [#3759]
+- Properly stylize the application name on Linux [#3775]
+- Show application icon on Plasma Wayland sessions [#3777]
+- macOS: Check for Auto-Type permissions on use instead of at launch [#3794]
+
## 2.5.0 (2019-10-26)
### Added
-- Add 'Paper Backup' aka 'Export to HTML file' to the 'Database' menu [[#3277](https://github.com/keepassxreboot/keepassxc/pull/3277)]
-- Add statistics panel with information about the database (number of entries, number of unique passwords, etc.) to the Database Settings dialog [[#2034](https://github.com/keepassxreboot/keepassxc/issues/2034)]
-- Add offline user manual accessible via the 'Help' menu [[#3274](https://github.com/keepassxreboot/keepassxc/issues/3274)]
-- Add support for importing 1Password OpVault files [[#2292](https://github.com/keepassxreboot/keepassxc/issues/2292)]
-- Implement Freedesktop.org secret storage DBus protocol so that KeePassXC can be used as a vault service by libsecret [[#2726](https://github.com/keepassxreboot/keepassxc/issues/2726)]
-- Add support for OnlyKey as an alternative to YubiKeys (requires yubikey-personalization >= 1.20.0) [[#3352](https://github.com/keepassxreboot/keepassxc/issues/3352)]
-- Add group sorting feature [[#3282](https://github.com/keepassxreboot/keepassxc/issues/3282)]
-- Add feature to download favicons for all entries at once [[#3169](https://github.com/keepassxreboot/keepassxc/issues/3169)]
-- Add word case option to passphrase generator [[#3172](https://github.com/keepassxreboot/keepassxc/issues/3172)]
-- Add support for RFC6238-compliant TOTP hashes [[#2972](https://github.com/keepassxreboot/keepassxc/issues/2972)]
-- Add UNIX man page for main program [[#3665](https://github.com/keepassxreboot/keepassxc/issues/3665)]
-- Add 'Monospaced font' option to the notes field [[#3321](https://github.com/keepassxreboot/keepassxc/issues/3321)]
-- Add support for key files in auto open [[#3504](https://github.com/keepassxreboot/keepassxc/issues/3504)]
-- Add search field for filtering entries in Auto-Type dialog [[#2955](https://github.com/keepassxreboot/keepassxc/issues/2955)]
-- Complete usernames based on known usernames from other entries [[#3300](https://github.com/keepassxreboot/keepassxc/issues/3300)]
-- Parse hyperlinks in the notes field of the entry preview pane [[#3596](https://github.com/keepassxreboot/keepassxc/issues/3596)]
-- Allow abbreviation of field names in entry search [[#3440](https://github.com/keepassxreboot/keepassxc/issues/3440)]
-- Allow setting group icons recursively [[#3273](https://github.com/keepassxreboot/keepassxc/issues/3273)]
-- Add copy context menu for username and password in Auto-Type dialog [[#3038](https://github.com/keepassxreboot/keepassxc/issues/3038)]
-- Drop to background after copying a password to the clipboard [[#3253](https://github.com/keepassxreboot/keepassxc/issues/3253)]
-- Add 'Lock databases' entry to tray icon menu [[#2896](https://github.com/keepassxreboot/keepassxc/issues/2896)]
-- Add option to minimize window after unlocking [[#3439](https://github.com/keepassxreboot/keepassxc/issues/3439)]
-- Add option to minimize window after opening a URL [[#3302](https://github.com/keepassxreboot/keepassxc/issues/3302)]
-- Request accessibility permissions for Auto-Type on macOS [[#3624](https://github.com/keepassxreboot/keepassxc/issues/3624)]
-- Browser: Add initial support for multiple URLs [[#3558](https://github.com/keepassxreboot/keepassxc/issues/3558)]
-- Browser: Add entry-specific browser integration settings [[#3444](https://github.com/keepassxreboot/keepassxc/issues/3444)]
-- CLI: Add offline HIBP checker (requires a downloaded HIBP dump) [[#2707](https://github.com/keepassxreboot/keepassxc/issues/2707)]
-- CLI: Add 'flatten' option to the 'ls' command [[#3276](https://github.com/keepassxreboot/keepassxc/issues/3276)]
-- CLI: Add password generation options to `Add` and `Edit` commands [[#3275](https://github.com/keepassxreboot/keepassxc/issues/3275)]
-- CLI: Add XML import [[#3572](https://github.com/keepassxreboot/keepassxc/issues/3572)]
-- CLI: Add CSV export to the 'export' command [[#3278](https://github.com/keepassxreboot/keepassxc/issues/3278)]
-- CLI: Add `-y --yubikey` option for YubiKey [[#3416](https://github.com/keepassxreboot/keepassxc/issues/3416)]
-- CLI: Add `--dry-run` option for merging databases [[#3254](https://github.com/keepassxreboot/keepassxc/issues/3254)]
-- CLI: Add group commands (mv, mkdir and rmdir) [[#3313](https://github.com/keepassxreboot/keepassxc/issues/3313)].
-- CLI: Add interactive shell mode command `open` [[#3224](https://github.com/keepassxreboot/keepassxc/issues/3224)]
+- Add 'Paper Backup' aka 'Export to HTML file' to the 'Database' menu [#3277]
+- Add statistics panel with information about the database (number of entries, number of unique passwords, etc.) to the Database Settings dialog [#2034]
+- Add offline user manual accessible via the 'Help' menu [#3274]
+- Add support for importing 1Password OpVault files [#2292]
+- Implement Freedesktop.org secret storage DBus protocol so that KeePassXC can be used as a vault service by libsecret [#2726]
+- Add support for OnlyKey as an alternative to YubiKeys (requires yubikey-personalization >= 1.20.0) [#3352]
+- Add group sorting feature [#3282]
+- Add feature to download favicons for all entries at once [#3169]
+- Add word case option to passphrase generator [#3172]
+- Add support for RFC6238-compliant TOTP hashes [#2972]
+- Add UNIX man page for main program [#3665]
+- Add 'Monospaced font' option to the notes field [#3321]
+- Add support for key files in auto open [#3504]
+- Add search field for filtering entries in Auto-Type dialog [#2955]
+- Complete usernames based on known usernames from other entries [#3300]
+- Parse hyperlinks in the notes field of the entry preview pane [#3596]
+- Allow abbreviation of field names in entry search [#3440]
+- Allow setting group icons recursively [#3273]
+- Add copy context menu for username and password in Auto-Type dialog [#3038]
+- Drop to background after copying a password to the clipboard [#3253]
+- Add 'Lock databases' entry to tray icon menu [#2896]
+- Add option to minimize window after unlocking [#3439]
+- Add option to minimize window after opening a URL [#3302]
+- Request accessibility permissions for Auto-Type on macOS [#3624]
+- Browser: Add initial support for multiple URLs [#3558]
+- Browser: Add entry-specific browser integration settings [#3444]
+- CLI: Add offline HIBP checker (requires a downloaded HIBP dump) [#2707]
+- CLI: Add 'flatten' option to the 'ls' command [#3276]
+- CLI: Add password generation options to `Add` and `Edit` commands [#3275]
+- CLI: Add XML import [#3572]
+- CLI: Add CSV export to the 'export' command [#3278]
+- CLI: Add `-y --yubikey` option for YubiKey [#3416]
+- CLI: Add `--dry-run` option for merging databases [#3254]
+- CLI: Add group commands (mv, mkdir and rmdir) [#3313].
+- CLI: Add interactive shell mode command `open` [#3224]
### Changed
-- Redesign database unlock dialog [ [#3287](https://github.com/keepassxreboot/keepassxc/issues/3287)]
-- Rework the entry preview panel [ [#3306](https://github.com/keepassxreboot/keepassxc/issues/3306)]
-- Move notes to General tab on Group Preview Panel [[#3336](https://github.com/keepassxreboot/keepassxc/issues/3336)]
-- Enable entry actions when editing an entry and cleanup entry context menu [[#3641](https://github.com/keepassxreboot/keepassxc/issues/3641)]
-- Improve detection of external database changes [[#2389](https://github.com/keepassxreboot/keepassxc/issues/2389)]
-- Warn if user is trying to use a KDBX file as a key file [[#3625](https://github.com/keepassxreboot/keepassxc/issues/3625)]
-- Add option to disable KeePassHTTP settings migrations prompt [[#3349](https://github.com/keepassxreboot/keepassxc/issues/3349), [#3344](https://github.com/keepassxreboot/keepassxc/issues/3344)]
-- Re-enabled Wayland support (no Auto-Type yet) [[#3520](https://github.com/keepassxreboot/keepassxc/issues/3520), [#3341](https://github.com/keepassxreboot/keepassxc/issues/3341)]
-- Add icon to 'Toggle Window' action in tray icon menu [[3244](https://github.com/keepassxreboot/keepassxc/issues/3244)]
-- Merge custom data between databases only when necessary [[#3475](https://github.com/keepassxreboot/keepassxc/issues/3475)]
-- Improve various file-handling related issues when picking files using the system's file dialog [[#3473](https://github.com/keepassxreboot/keepassxc/issues/3473)]
-- Add 'New Entry' context menu when no entries are selected [[#3671](https://github.com/keepassxreboot/keepassxc/issues/3671)]
-- Reduce default Argon2 settings from 128 MiB and one thread per CPU core to 64 MiB and two threads to account for lower-spec mobile hardware [ [#3672](https://github.com/keepassxreboot/keepassxc/issues/3672)]
-- Browser: Remove unused 'Remember' checkbox for HTTP Basic Auth [[#3371](https://github.com/keepassxreboot/keepassxc/issues/3371)]
-- Browser: Show database name when pairing with a new browser [[#3638](https://github.com/keepassxreboot/keepassxc/issues/3638)]
-- Browser: Show URL in allow access dialog [[#3639](https://github.com/keepassxreboot/keepassxc/issues/3639)]
-- CLI: The password length option `-l` for the CLI commands `Add` and `Edit` is now `-L` [[#3275](https://github.com/keepassxreboot/keepassxc/issues/3275)]
-- CLI: The `-u` shorthand for the `--upper` password generation option has been renamed to `-U` [[#3275](https://github.com/keepassxreboot/keepassxc/issues/3275)]
-- CLI: Rename command `extract` to `export`. [[#3277](https://github.com/keepassxreboot/keepassxc/issues/3277)]
+- Redesign database unlock dialog [ #3287]
+- Rework the entry preview panel [ #3306]
+- Move notes to General tab on Group Preview Panel [#3336]
+- Enable entry actions when editing an entry and cleanup entry context menu [#3641]
+- Improve detection of external database changes [#2389]
+- Warn if user is trying to use a KDBX file as a key file [#3625]
+- Add option to disable KeePassHTTP settings migrations prompt [#3349, #3344]
+- Re-enabled Wayland support (no Auto-Type yet) [#3520, #3341]
+- Add icon to 'Toggle Window' action in tray icon menu [#3244]
+- Merge custom data between databases only when necessary [#3475]
+- Improve various file-handling related issues when picking files using the system's file dialog [#3473]
+- Add 'New Entry' context menu when no entries are selected [#3671]
+- Reduce default Argon2 settings from 128 MiB and one thread per CPU core to 64 MiB and two threads to account for lower-spec mobile hardware [ #3672]
+- Browser: Remove unused 'Remember' checkbox for HTTP Basic Auth [#3371]
+- Browser: Show database name when pairing with a new browser [#3638]
+- Browser: Show URL in allow access dialog [#3639]
+- CLI: The password length option `-l` for the CLI commands `Add` and `Edit` is now `-L` [#3275]
+- CLI: The `-u` shorthand for the `--upper` password generation option has been renamed to `-U` [#3275]
+- CLI: Rename command `extract` to `export`. [#3277]
### Fixed
-- Improve accessibility for assistive technologies [[#3409](https://github.com/keepassxreboot/keepassxc/issues/3409)]
-- Correctly unlock all databases if `--pw-stdin` is provided [[#2916](https://github.com/keepassxreboot/keepassxc/issues/2916)]
-- Fix password generator issues with special characters [[#3303](https://github.com/keepassxreboot/keepassxc/issues/3303)]
-- Fix KeePassXC interrupting shutdown procedure [[#3666](https://github.com/keepassxreboot/keepassxc/issues/3666)]
-- Fix password visibility toggle button state on unlock dialog [[#3312](https://github.com/keepassxreboot/keepassxc/issues/3312)]
-- Fix potential data loss if database is reloaded while user is editing an entry [[#3656](https://github.com/keepassxreboot/keepassxc/issues/3656)]
-- Fix hard-coded background color in search help popup [[#3001](https://github.com/keepassxreboot/keepassxc/issues/3001)]
-- Fix font choice for password preview [[#3425](https://github.com/keepassxreboot/keepassxc/issues/3425)]
-- Fix handling of read-only files when autosave is enabled [[#3408](https://github.com/keepassxreboot/keepassxc/issues/3408)]
-- Handle symlinks correctly when atomic saves are disabled [[#3463](https://github.com/keepassxreboot/keepassxc/issues/3463)]
-- Enable HighDPI icon scaling on Linux [[#3332](https://github.com/keepassxreboot/keepassxc/issues/3332)]
-- Make Auto-Type on macOS more robust and remove old Carbon API calls [[#3634](https://github.com/keepassxreboot/keepassxc/issues/3634), [[#3347](https://github.com/keepassxreboot/keepassxc/issues/3347))]
-- Hide Share tab if KeePassXC is compiled without KeeShare support and other minor KeeShare improvements [[#3654](https://github.com/keepassxreboot/keepassxc/issues/3654), [[#3291](https://github.com/keepassxreboot/keepassxc/issues/3291), [#3029](https://github.com/keepassxreboot/keepassxc/issues/3029), [#3031](https://github.com/keepassxreboot/keepassxc/issues/3031), [#3236](https://github.com/keepassxreboot/keepassxc/issues/3236)]
-- Correctly bring window to the front when clicking tray icon on macOS [[#3576](https://github.com/keepassxreboot/keepassxc/issues/3576)]
-- Correct application shortcut created by MSI Installer on Windows [[#3296](https://github.com/keepassxreboot/keepassxc/issues/3296)]
-- Fix crash when removing custom data [[#3508](https://github.com/keepassxreboot/keepassxc/issues/3508)]
-- Fix placeholder resolution in URLs [[#3281](https://github.com/keepassxreboot/keepassxc/issues/3281)]
-- Fix various inconsistencies and platform-dependent compilation bugs [[#3664](https://github.com/keepassxreboot/keepassxc/issues/3664), [#3662](https://github.com/keepassxreboot/keepassxc/issues/3662), [#3660](https://github.com/keepassxreboot/keepassxc/issues/3660), [#3655](https://github.com/keepassxreboot/keepassxc/issues/3655), [#3649](https://github.com/keepassxreboot/keepassxc/issues/3649), [#3417](https://github.com/keepassxreboot/keepassxc/issues/3417), [#3357](https://github.com/keepassxreboot/keepassxc/issues/3357), [#3319](https://github.com/keepassxreboot/keepassxc/issues/3319), [#3318](https://github.com/keepassxreboot/keepassxc/issues/3318), [#3304](https://github.com/keepassxreboot/keepassxc/issues/3304)]
-- Browser: Fix potential leaking of entries through the browser integration API if multiple databases are opened [[#3480](https://github.com/keepassxreboot/keepassxc/issues/3480)]
-- Browser: Fix password entropy calculation [[#3107](https://github.com/keepassxreboot/keepassxc/issues/3107)]
-- Browser: Fix Windows registry settings for portable installation [[#3603](https://github.com/keepassxreboot/keepassxc/issues/3603)]
+- Improve accessibility for assistive technologies [#3409]
+- Correctly unlock all databases if `--pw-stdin` is provided [#2916]
+- Fix password generator issues with special characters [#3303]
+- Fix KeePassXC interrupting shutdown procedure [#3666]
+- Fix password visibility toggle button state on unlock dialog [#3312]
+- Fix potential data loss if database is reloaded while user is editing an entry [#3656]
+- Fix hard-coded background color in search help popup [#3001]
+- Fix font choice for password preview [#3425]
+- Fix handling of read-only files when autosave is enabled [#3408]
+- Handle symlinks correctly when atomic saves are disabled [#3463]
+- Enable HighDPI icon scaling on Linux [#3332]
+- Make Auto-Type on macOS more robust and remove old Carbon API calls [#3634, [#3347)]
+- Hide Share tab if KeePassXC is compiled without KeeShare support and other minor KeeShare improvements [#3654, [#3291, #3029, #3031, #3236]
+- Correctly bring window to the front when clicking tray icon on macOS [#3576]
+- Correct application shortcut created by MSI Installer on Windows [#3296]
+- Fix crash when removing custom data [#3508]
+- Fix placeholder resolution in URLs [#3281]
+- Fix various inconsistencies and platform-dependent compilation bugs [#3664, #3662, #3660, #3655, #3649, #3417, #3357, #3319, #3318, #3304]
+- Browser: Fix potential leaking of entries through the browser integration API if multiple databases are opened [#3480]
+- Browser: Fix password entropy calculation [#3107]
+- Browser: Fix Windows registry settings for portable installation [#3603]
## 2.4.3 (2019-06-12)
### Added
-- Add documentation for keyboard shortcuts to source code distribution [[#3215](https://github.com/keepassxreboot/keepassxc/issues/3215)]
+- Add documentation for keyboard shortcuts to source code distribution [#3215]
### Fixed
-- Fix library loading issues in the Snap and macOS releases [[#3247](https://github.com/keepassxreboot/keepassxc/issues/3247)]
-- Fix various keyboard navigation issues [[#3248](https://github.com/keepassxreboot/keepassxc/issues/3248)]
-- Fix main window toggling regression when clicking the tray icon on KDE [[#3258](https://github.com/keepassxreboot/keepassxc/issues/3258)]
+- Fix library loading issues in the Snap and macOS releases [#3247]
+- Fix various keyboard navigation issues [#3248]
+- Fix main window toggling regression when clicking the tray icon on KDE [#3258]
## 2.4.2 (2019-05-31)
-- Improve resilience against memory attacks - overwrite memory before free [[#3020](https://github.com/keepassxreboot/keepassxc/issues/3020)]
-- Prevent infinite save loop when location is unavailable [[#3026](https://github.com/keepassxreboot/keepassxc/issues/3026)]
-- Attempt to fix quitting application when shutdown or logout issued [[#3199](https://github.com/keepassxreboot/keepassxc/issues/3199)]
-- Support merging database custom data [[#3002](https://github.com/keepassxreboot/keepassxc/issues/3002)]
-- Fix opening URL's with non-http schemes [[#3153](https://github.com/keepassxreboot/keepassxc/issues/3153)]
-- Fix data loss due to not reading all database attachments if duplicates exist [[#3180](https://github.com/keepassxreboot/keepassxc/issues/3180)]
-- Fix entry context menu disabling when using keyboard navigation [[#3199](https://github.com/keepassxreboot/keepassxc/issues/3199)]
-- Fix behaviors when canceling an entry edit [[#3199](https://github.com/keepassxreboot/keepassxc/issues/3199)]
-- Fix processing of tray icon click and doubleclick [[#3112](https://github.com/keepassxreboot/keepassxc/issues/3112)]
-- Update group in preview widget when focused [[#3199](https://github.com/keepassxreboot/keepassxc/issues/3199)]
-- Prefer DuckDuckGo service over direct icon download (increases resolution) [#2996](https://github.com/keepassxreboot/keepassxc/issues/2996)]
-- Remove apply button in application settings [[#3019](https://github.com/keepassxreboot/keepassxc/issues/3019)]
-- Use winqtdeploy on Windows to correct deployment issues [[#3025](https://github.com/keepassxreboot/keepassxc/issues/3025)]
-- Don't mark entry edit as modified when attribute selection changes [[#3041](https://github.com/keepassxreboot/keepassxc/issues/3041)]
-- Use console code page CP_UTF8 on Windows if supported [[#3050](https://github.com/keepassxreboot/keepassxc/issues/3050)]
-- Snap: Fix locking database with session lock [[#3046](https://github.com/keepassxreboot/keepassxc/issues/3046)]
-- Snap: Fix theming across Linux distributions [[#3057](https://github.com/keepassxreboot/keepassxc/issues/3057)]
-- Snap: Use SNAP_USER_COMMON and SNAP_USER_DATA directories [[#3131](https://github.com/keepassxreboot/keepassxc/issues/3131)]
-- KeeShare: Automatically enable WITH_XC_KEESHARE_SECURE if quazip is found [[#3088](https://github.com/keepassxreboot/keepassxc/issues/3088)]
-- macOS: Fix toolbar text when in dark mode [[#2998](https://github.com/keepassxreboot/keepassxc/issues/2998)]
-- macOS: Lock database on switching user [[#3097](https://github.com/keepassxreboot/keepassxc/issues/3097)]
-- macOS: Fix global Auto-Type when the database is locked[ [#3138](https://github.com/keepassxreboot/keepassxc/issues/3138)]
-- Browser: Close popups when database is locked [[#3093](https://github.com/keepassxreboot/keepassxc/issues/3093)]
-- Browser: Add tests [[#3016](https://github.com/keepassxreboot/keepassxc/issues/3016)]
-- Browser: Don't create default group if custom group is enabled [[#3127](https://github.com/keepassxreboot/keepassxc/issues/3127)]
+- Improve resilience against memory attacks - overwrite memory before free [#3020]
+- Prevent infinite save loop when location is unavailable [#3026]
+- Attempt to fix quitting application when shutdown or logout issued [#3199]
+- Support merging database custom data [#3002]
+- Fix opening URL's with non-http schemes [#3153]
+- Fix data loss due to not reading all database attachments if duplicates exist [#3180]
+- Fix entry context menu disabling when using keyboard navigation [#3199]
+- Fix behaviors when canceling an entry edit [#3199]
+- Fix processing of tray icon click and doubleclick [#3112]
+- Update group in preview widget when focused [#3199]
+- Prefer DuckDuckGo service over direct icon download (increases resolution) #2996]
+- Remove apply button in application settings [#3019]
+- Use winqtdeploy on Windows to correct deployment issues [#3025]
+- Don't mark entry edit as modified when attribute selection changes [#3041]
+- Use console code page CP_UTF8 on Windows if supported [#3050]
+- Snap: Fix locking database with session lock [#3046]
+- Snap: Fix theming across Linux distributions [#3057]
+- Snap: Use SNAP_USER_COMMON and SNAP_USER_DATA directories [#3131]
+- KeeShare: Automatically enable WITH_XC_KEESHARE_SECURE if quazip is found [#3088]
+- macOS: Fix toolbar text when in dark mode [#2998]
+- macOS: Lock database on switching user [#3097]
+- macOS: Fix global Auto-Type when the database is locked[ #3138]
+- Browser: Close popups when database is locked [#3093]
+- Browser: Add tests [#3016]
+- Browser: Don't create default group if custom group is enabled [#3127]
## 2.4.1 (2019-04-12)
-- Fix database deletion when using unsafe saves to a different file system [#2889](https://github.com/keepassxreboot/keepassxc/issues/2889)
-- Fix opening databases with legacy key files that contain '/' [#2872](https://github.com/keepassxreboot/keepassxc/issues/2872)
-- Fix opening database files from the command line [#2919](https://github.com/keepassxreboot/keepassxc/issues/2919)
-- Fix crash when editing master key [#2836](https://github.com/keepassxreboot/keepassxc/issues/2836)
-- Fix multiple issues with apply button behavior [#2947](https://github.com/keepassxreboot/keepassxc/issues/2947)
-- Fix issues on application startup (tab order, --pw-stdin, etc.) [#2830](https://github.com/keepassxreboot/keepassxc/issues/2830)
+- Fix database deletion when using unsafe saves to a different file system #2889
+- Fix opening databases with legacy key files that contain '/' #2872
+- Fix opening database files from the command line #2919
+- Fix crash when editing master key #2836
+- Fix multiple issues with apply button behavior #2947
+- Fix issues on application startup (tab order, --pw-stdin, etc.) #2830
- Fix building without WITH_XC_KEESHARE
-- Fix reference entry coloring on macOS dark mode [#2984](https://github.com/keepassxreboot/keepassxc/issues/2984)
-- Hide window when performing entry auto-type on macOS [#2969](https://github.com/keepassxreboot/keepassxc/issues/2969)
-- Improve UX of update checker; reduce checks to every 7 days [#2968](https://github.com/keepassxreboot/keepassxc/issues/2968)
-- KeeShare improvements [[#2946](https://github.com/keepassxreboot/keepassxc/issues/2946), [#2978](https://github.com/keepassxreboot/keepassxc/issues/2978), [#2824](https://github.com/keepassxreboot/keepassxc/issues/2824)]
-- Re-enable Ctrl+C to copy password from search box [#2947](https://github.com/keepassxreboot/keepassxc/issues/2947)
-- Add KeePassXC-Browser integration for Brave browser [#2933](https://github.com/keepassxreboot/keepassxc/issues/2933)
-- SSH Agent: Re-Add keys on database unlock [#2982](https://github.com/keepassxreboot/keepassxc/issues/2982)
-- SSH Agent: Only remove keys on app exit if they are removed on lock [#2985](https://github.com/keepassxreboot/keepassxc/issues/2985)
-- CLI: Add --no-password option [#2708](https://github.com/keepassxreboot/keepassxc/issues/2708)
-- CLI: Improve database extraction to XML [#2698](https://github.com/keepassxreboot/keepassxc/issues/2698)
-- CLI: Don't call mandb on build [#2774](https://github.com/keepassxreboot/keepassxc/issues/2774)
-- CLI: Add debug info [#2714](https://github.com/keepassxreboot/keepassxc/issues/2714)
-- Improve support for Snap theming [#2832](https://github.com/keepassxreboot/keepassxc/issues/2832)
-- Add support for building on Haiku OS [#2859](https://github.com/keepassxreboot/keepassxc/issues/2859)
+- Fix reference entry coloring on macOS dark mode #2984
+- Hide window when performing entry auto-type on macOS #2969
+- Improve UX of update checker; reduce checks to every 7 days #2968
+- KeeShare improvements [#2946, #2978, #2824]
+- Re-enable Ctrl+C to copy password from search box #2947
+- Add KeePassXC-Browser integration for Brave browser #2933
+- SSH Agent: Re-Add keys on database unlock #2982
+- SSH Agent: Only remove keys on app exit if they are removed on lock #2985
+- CLI: Add --no-password option #2708
+- CLI: Improve database extraction to XML #2698
+- CLI: Don't call mandb on build #2774
+- CLI: Add debug info #2714
+- Improve support for Snap theming #2832
+- Add support for building on Haiku OS #2859
- Ctrl+PgDn now goes to the next tab and Ctrl+PgUp to the previous
-- Fix compiling on GCC 5 / Xenial [#2990](https://github.com/keepassxreboot/keepassxc/issues/2990)
-- Add .gitrev output to tarball for third-party builds [#2970](https://github.com/keepassxreboot/keepassxc/issues/2970)
-- Add WITH_XC_UPDATECHECK compile flag to toggle the update checker [#2968](https://github.com/keepassxreboot/keepassxc/issues/2968)
+- Fix compiling on GCC 5 / Xenial #2990
+- Add .gitrev output to tarball for third-party builds #2970
+- Add WITH_XC_UPDATECHECK compile flag to toggle the update checker #2968
## 2.4.0 (2019-03-19)
-- New Database Wizard [#1952](https://github.com/keepassxreboot/keepassxc/issues/1952)
-- Advanced Search [#1797](https://github.com/keepassxreboot/keepassxc/issues/1797)
-- Automatic update checker [#2648](https://github.com/keepassxreboot/keepassxc/issues/2648)
-- KeeShare database synchronization [[#2109](https://github.com/keepassxreboot/keepassxc/issues/2109), [#1992](https://github.com/keepassxreboot/keepassxc/issues/1992), [#2738](https://github.com/keepassxreboot/keepassxc/issues/2738), [#2742](https://github.com/keepassxreboot/keepassxc/issues/2742), [#2746](https://github.com/keepassxreboot/keepassxc/issues/2746), [#2739](https://github.com/keepassxreboot/keepassxc/issues/2739)]
-- Improve favicon fetching; transition to Duck-Duck-Go [[#2795](https://github.com/keepassxreboot/keepassxc/issues/2795), [#2011](https://github.com/keepassxreboot/keepassxc/issues/2011), [#2439](https://github.com/keepassxreboot/keepassxc/issues/2439)]
-- Remove KeePassHttp support [#1752](https://github.com/keepassxreboot/keepassxc/issues/1752)
-- CLI: output info to stderr for easier scripting [#2558](https://github.com/keepassxreboot/keepassxc/issues/2558)
-- CLI: Add --quiet option [#2507](https://github.com/keepassxreboot/keepassxc/issues/2507)
-- CLI: Add create command [#2540](https://github.com/keepassxreboot/keepassxc/issues/2540)
-- CLI: Add recursive listing of entries [#2345](https://github.com/keepassxreboot/keepassxc/issues/2345)
-- CLI: Fix stdin/stdout encoding on Windows [#2425](https://github.com/keepassxreboot/keepassxc/issues/2425)
-- SSH Agent: Support OpenSSH for Windows [#1994](https://github.com/keepassxreboot/keepassxc/issues/1994)
-- macOS: TouchID Quick Unlock [#1851](https://github.com/keepassxreboot/keepassxc/issues/1851)
-- macOS: Multiple improvements; include CLI in DMG [[#2165](https://github.com/keepassxreboot/keepassxc/issues/2165), [#2331](https://github.com/keepassxreboot/keepassxc/issues/2331), [#2583](https://github.com/keepassxreboot/keepassxc/issues/2583)]
-- Linux: Prevent Klipper from storing secrets in clipboard [#1969](https://github.com/keepassxreboot/keepassxc/issues/1969)
-- Linux: Use polling based file watching for NFS [#2171](https://github.com/keepassxreboot/keepassxc/issues/2171)
-- Linux: Enable use of browser plugin in Snap build [#2802](https://github.com/keepassxreboot/keepassxc/issues/2802)
-- TOTP QR Code Generator [#1167](https://github.com/keepassxreboot/keepassxc/issues/1167)
-- High-DPI Scaling for 4k screens [#2404](https://github.com/keepassxreboot/keepassxc/issues/2404)
-- Make keyboard shortcuts more consistent [#2431](https://github.com/keepassxreboot/keepassxc/issues/2431)
-- Warn user if deleting referenced entries [#1744](https://github.com/keepassxreboot/keepassxc/issues/1744)
-- Allow toolbar to be hidden and repositioned [[#1819](https://github.com/keepassxreboot/keepassxc/issues/1819), [#2357](https://github.com/keepassxreboot/keepassxc/issues/2357)]
-- Increase max allowed database timeout to 12 hours [#2173](https://github.com/keepassxreboot/keepassxc/issues/2173)
-- Password generator uses existing password length by default [#2318](https://github.com/keepassxreboot/keepassxc/issues/2318)
-- Improve alert message box button labels [#2376](https://github.com/keepassxreboot/keepassxc/issues/2376)
-- Show message when a database merge makes no changes [#2551](https://github.com/keepassxreboot/keepassxc/issues/2551)
-- Browser Integration Enhancements [[#1497](https://github.com/keepassxreboot/keepassxc/issues/1497), [#2253](https://github.com/keepassxreboot/keepassxc/issues/2253), [#1904](https://github.com/keepassxreboot/keepassxc/issues/1904), [#2232](https://github.com/keepassxreboot/keepassxc/issues/2232), [#1850](https://github.com/keepassxreboot/keepassxc/issues/1850), [#2218](https://github.com/keepassxreboot/keepassxc/issues/2218), [#2391](https://github.com/keepassxreboot/keepassxc/issues/2391), [#2396](https://github.com/keepassxreboot/keepassxc/issues/2396), [#2542](https://github.com/keepassxreboot/keepassxc/issues/2542), [#2622](https://github.com/keepassxreboot/keepassxc/issues/2622), [#2637](https://github.com/keepassxreboot/keepassxc/issues/2637), [#2790](https://github.com/keepassxreboot/keepassxc/issues/2790)]
-- Overall Code Improvements [[#2316](https://github.com/keepassxreboot/keepassxc/issues/2316), [#2284](https://github.com/keepassxreboot/keepassxc/issues/2284), [#2351](https://github.com/keepassxreboot/keepassxc/issues/2351), [#2402](https://github.com/keepassxreboot/keepassxc/issues/2402), [#2410](https://github.com/keepassxreboot/keepassxc/issues/2410), [#2419](https://github.com/keepassxreboot/keepassxc/issues/2419), [#2422](https://github.com/keepassxreboot/keepassxc/issues/2422), [#2443](https://github.com/keepassxreboot/keepassxc/issues/2443), [#2491](https://github.com/keepassxreboot/keepassxc/issues/2491), [#2506](https://github.com/keepassxreboot/keepassxc/issues/2506), [#2610](https://github.com/keepassxreboot/keepassxc/issues/2610), [#2667](https://github.com/keepassxreboot/keepassxc/issues/2667), [#2709](https://github.com/keepassxreboot/keepassxc/issues/2709), [#2731](https://github.com/keepassxreboot/keepassxc/issues/2731)]
+- New Database Wizard #1952
+- Advanced Search #1797
+- Automatic update checker #2648
+- KeeShare database synchronization [#2109, #1992, #2738, #2742, #2746, #2739]
+- Improve favicon fetching; transition to Duck-Duck-Go [#2795, #2011, #2439]
+- Remove KeePassHttp support #1752
+- CLI: output info to stderr for easier scripting #2558
+- CLI: Add --quiet option #2507
+- CLI: Add create command #2540
+- CLI: Add recursive listing of entries #2345
+- CLI: Fix stdin/stdout encoding on Windows #2425
+- SSH Agent: Support OpenSSH for Windows #1994
+- macOS: TouchID Quick Unlock #1851
+- macOS: Multiple improvements; include CLI in DMG [#2165, #2331, #2583]
+- Linux: Prevent Klipper from storing secrets in clipboard #1969
+- Linux: Use polling based file watching for NFS #2171
+- Linux: Enable use of browser plugin in Snap build #2802
+- TOTP QR Code Generator #1167
+- High-DPI Scaling for 4k screens #2404
+- Make keyboard shortcuts more consistent #2431
+- Warn user if deleting referenced entries #1744
+- Allow toolbar to be hidden and repositioned [#1819, #2357]
+- Increase max allowed database timeout to 12 hours #2173
+- Password generator uses existing password length by default #2318
+- Improve alert message box button labels #2376
+- Show message when a database merge makes no changes #2551
+- Browser Integration Enhancements [#1497, #2253, #1904, #2232, #1850, #2218, #2391, #2396, #2542, #2622, #2637, #2790]
+- Overall Code Improvements [#2316, #2284, #2351, #2402, #2410, #2419, #2422, #2443, #2491, #2506, #2610, #2667, #2709, #2731]
## 2.3.4 (2018-08-21)
-- Show all URL schemes in entry view [#1768](https://github.com/keepassxreboot/keepassxc/issues/1768)
-- Disable merge when database is locked [#1975](https://github.com/keepassxreboot/keepassxc/issues/1975)
-- Fix intermittent crashes with favorite icon downloads [#1980](https://github.com/keepassxreboot/keepassxc/issues/1980)
-- Provide potential crash warning to Qt 5.5.x users [#2211](https://github.com/keepassxreboot/keepassxc/issues/2211)
-- Disable apply button when creating new entry/group to prevent data loss [#2204](https://github.com/keepassxreboot/keepassxc/issues/2204)
-- Allow for 12 hour timeout to lock idle database [#2173](https://github.com/keepassxreboot/keepassxc/issues/2173)
-- Multiple SSH Agent fixes [[#1981](https://github.com/keepassxreboot/keepassxc/issues/1981), [#2117](https://github.com/keepassxreboot/keepassxc/issues/2117)]
-- Multiple Browser Integration enhancements [[#1993](https://github.com/keepassxreboot/keepassxc/issues/1993), [#2003](https://github.com/keepassxreboot/keepassxc/issues/2003), [#2055](https://github.com/keepassxreboot/keepassxc/issues/2055), [#2116](https://github.com/keepassxreboot/keepassxc/issues/2116), [#2159](https://github.com/keepassxreboot/keepassxc/issues/2159), [#2174](https://github.com/keepassxreboot/keepassxc/issues/2174), [#2185](https://github.com/keepassxreboot/keepassxc/issues/2185)]
-- Fix browser proxy application not closing properly [#2142](https://github.com/keepassxreboot/keepassxc/issues/2142)
-- Add real names and Patreon supporters to about dialog [#2214](https://github.com/keepassxreboot/keepassxc/issues/2214)
-- Add settings button to toolbar, Donate button, and Report a Bug button to help menu [#2214](https://github.com/keepassxreboot/keepassxc/issues/2214)
-- Enhancements to release-tool to appsign intermediate build products [#2101](https://github.com/keepassxreboot/keepassxc/issues/2101)
+- Show all URL schemes in entry view #1768
+- Disable merge when database is locked #1975
+- Fix intermittent crashes with favorite icon downloads #1980
+- Provide potential crash warning to Qt 5.5.x users #2211
+- Disable apply button when creating new entry/group to prevent data loss #2204
+- Allow for 12 hour timeout to lock idle database #2173
+- Multiple SSH Agent fixes [#1981, #2117]
+- Multiple Browser Integration enhancements [#1993, #2003, #2055, #2116, #2159, #2174, #2185]
+- Fix browser proxy application not closing properly #2142
+- Add real names and Patreon supporters to about dialog #2214
+- Add settings button to toolbar, Donate button, and Report a Bug button to help menu #2214
+- Enhancements to release-tool to appsign intermediate build products #2101
## 2.3.3 (2018-05-09)
-- Fix crash when browser integration is enabled [#1923](https://github.com/keepassxreboot/keepassxc/issues/1923)
+- Fix crash when browser integration is enabled #1923
## 2.3.2 (2018-05-07)
-- Enable high entropy ASLR on Windows [#1747](https://github.com/keepassxreboot/keepassxc/issues/1747)
-- Enhance favicon fetching [#1786](https://github.com/keepassxreboot/keepassxc/issues/1786)
-- Fix crash on Windows due to autotype [#1691](https://github.com/keepassxreboot/keepassxc/issues/1691)
-- Fix dark tray icon changing all icons [#1680](https://github.com/keepassxreboot/keepassxc/issues/1680)
-- Fix --pw-stdin not using getPassword function [#1686](https://github.com/keepassxreboot/keepassxc/issues/1686)
-- Fix placeholders being resolved in notes [#1907](https://github.com/keepassxreboot/keepassxc/issues/1907)
-- Enable auto-type start delay to be configurable [#1908](https://github.com/keepassxreboot/keepassxc/issues/1908)
-- Browser: Fix native messaging reply size [#1719](https://github.com/keepassxreboot/keepassxc/issues/1719)
-- Browser: Increase maximum buffer size [#1720](https://github.com/keepassxreboot/keepassxc/issues/1720)
-- Browser: Enhance usability and functionality [[#1810](https://github.com/keepassxreboot/keepassxc/issues/1810), [#1822](https://github.com/keepassxreboot/keepassxc/issues/1822), [#1830](https://github.com/keepassxreboot/keepassxc/issues/1830), [#1884](https://github.com/keepassxreboot/keepassxc/issues/1884), [#1906](https://github.com/keepassxreboot/keepassxc/issues/1906)]
-- SSH Agent: Parse aes-256-cbc/ctr keys [#1682](https://github.com/keepassxreboot/keepassxc/issues/1682)
-- SSH Agent: Enhance usability and functionality [[#1677](https://github.com/keepassxreboot/keepassxc/issues/1677), [#1679](https://github.com/keepassxreboot/keepassxc/issues/1679), [#1681](https://github.com/keepassxreboot/keepassxc/issues/1681), [#1787](https://github.com/keepassxreboot/keepassxc/issues/1787)]
+- Enable high entropy ASLR on Windows #1747
+- Enhance favicon fetching #1786
+- Fix crash on Windows due to autotype #1691
+- Fix dark tray icon changing all icons #1680
+- Fix --pw-stdin not using getPassword function #1686
+- Fix placeholders being resolved in notes #1907
+- Enable auto-type start delay to be configurable #1908
+- Browser: Fix native messaging reply size #1719
+- Browser: Increase maximum buffer size #1720
+- Browser: Enhance usability and functionality [#1810, #1822, #1830, #1884, #1906]
+- SSH Agent: Parse aes-256-cbc/ctr keys #1682
+- SSH Agent: Enhance usability and functionality [#1677, #1679, #1681, #1787]
## 2.3.1 (2018-03-06)
-- Fix unnecessary automatic upgrade to KDBX 4.0 and prevent challenge-response key being stripped [#1568](https://github.com/keepassxreboot/keepassxc/issues/1568)
-- Abort saving and show an error message when challenge-response fails [#1659](https://github.com/keepassxreboot/keepassxc/issues/1659)
-- Support inner stream protection on all string attributes [#1646](https://github.com/keepassxreboot/keepassxc/issues/1646)
-- Fix favicon downloads not finishing on some websites [#1657](https://github.com/keepassxreboot/keepassxc/issues/1657)
-- Fix freeze due to invalid STDIN data [#1628](https://github.com/keepassxreboot/keepassxc/issues/1628)
-- Correct issue with encrypted RSA SSH keys [#1587](https://github.com/keepassxreboot/keepassxc/issues/1587)
-- Fix crash on macOS due to QTBUG-54832 [#1607](https://github.com/keepassxreboot/keepassxc/issues/1607)
-- Show error message if ssh-agent communication fails [#1614](https://github.com/keepassxreboot/keepassxc/issues/1614)
-- Fix --pw-stdin and filename parameters being ignored [#1608](https://github.com/keepassxreboot/keepassxc/issues/1608)
-- Fix Auto-Type syntax check not allowing spaces and special characters [#1626](https://github.com/keepassxreboot/keepassxc/issues/1626)
-- Fix reference placeholders in combination with Auto-Type [#1649](https://github.com/keepassxreboot/keepassxc/issues/1649)
-- Fix qtbase translations not being loaded [#1611](https://github.com/keepassxreboot/keepassxc/issues/1611)
-- Fix startup crash on Windows due to missing SVG libraries [#1662](https://github.com/keepassxreboot/keepassxc/issues/1662)
-- Correct database tab order regression [#1610](https://github.com/keepassxreboot/keepassxc/issues/1610)
-- Fix GCC 8 compilation error [#1612](https://github.com/keepassxreboot/keepassxc/issues/1612)
-- Fix copying of advanced attributes on KDE [#1640](https://github.com/keepassxreboot/keepassxc/issues/1640)
-- Fix member initialization of CategoryListWidgetDelegate [#1613](https://github.com/keepassxreboot/keepassxc/issues/1613)
-- Fix inconsistent toolbar icon sizes and provide higher-quality icons [#1616](https://github.com/keepassxreboot/keepassxc/issues/1616)
-- Improve preview panel geometry [#1609](https://github.com/keepassxreboot/keepassxc/issues/1609)
+- Fix unnecessary automatic upgrade to KDBX 4.0 and prevent challenge-response key being stripped #1568
+- Abort saving and show an error message when challenge-response fails #1659
+- Support inner stream protection on all string attributes #1646
+- Fix favicon downloads not finishing on some websites #1657
+- Fix freeze due to invalid STDIN data #1628
+- Correct issue with encrypted RSA SSH keys #1587
+- Fix crash on macOS due to QTBUG-54832 #1607
+- Show error message if ssh-agent communication fails #1614
+- Fix --pw-stdin and filename parameters being ignored #1608
+- Fix Auto-Type syntax check not allowing spaces and special characters #1626
+- Fix reference placeholders in combination with Auto-Type #1649
+- Fix qtbase translations not being loaded #1611
+- Fix startup crash on Windows due to missing SVG libraries #1662
+- Correct database tab order regression #1610
+- Fix GCC 8 compilation error #1612
+- Fix copying of advanced attributes on KDE #1640
+- Fix member initialization of CategoryListWidgetDelegate #1613
+- Fix inconsistent toolbar icon sizes and provide higher-quality icons #1616
+- Improve preview panel geometry #1609
## 2.3.0 (2018-02-27)
-- Add support for KDBX 4.0, Argon2 and ChaCha20 [[#148](https://github.com/keepassxreboot/keepassxc/issues/148), [#1179](https://github.com/keepassxreboot/keepassxc/issues/1179), [#1230](https://github.com/keepassxreboot/keepassxc/issues/1230), [#1494](https://github.com/keepassxreboot/keepassxc/issues/1494)]
-- Add SSH Agent feature [[#1098](https://github.com/keepassxreboot/keepassxc/issues/1098), [#1450](https://github.com/keepassxreboot/keepassxc/issues/1450), [#1463](https://github.com/keepassxreboot/keepassxc/issues/1463)]
-- Add preview panel with details of the selected entry [[#879](https://github.com/keepassxreboot/keepassxc/issues/879), [#1338](https://github.com/keepassxreboot/keepassxc/issues/1338)]
-- Add more and configurable columns to entry table and allow copying of values by double click [#1305](https://github.com/keepassxreboot/keepassxc/issues/1305)
-- Add KeePassXC-Browser API as a replacement for KeePassHTTP [#608](https://github.com/keepassxreboot/keepassxc/issues/608)
-- Deprecate KeePassHTTP [#1392](https://github.com/keepassxreboot/keepassxc/issues/1392)
-- Add support for Steam one-time passwords [#1206](https://github.com/keepassxreboot/keepassxc/issues/1206)
-- Add support for multiple Auto-Type sequences for a single entry [#1390](https://github.com/keepassxreboot/keepassxc/issues/1390)
-- Adjust YubiKey HMAC-SHA1 challenge-response key generation for KDBX 4.0 [#1060](https://github.com/keepassxreboot/keepassxc/issues/1060)
-- Replace qHttp with cURL for website icon downloads [#1460](https://github.com/keepassxreboot/keepassxc/issues/1460)
-- Remove lock file [#1231](https://github.com/keepassxreboot/keepassxc/issues/1231)
-- Add option to create backup file before saving [#1385](https://github.com/keepassxreboot/keepassxc/issues/1385)
-- Ask to save a generated password before closing the entry password generator [#1499](https://github.com/keepassxreboot/keepassxc/issues/1499)
-- Resolve placeholders recursively [#1078](https://github.com/keepassxreboot/keepassxc/issues/1078)
-- Add Auto-Type button to the toolbar [#1056](https://github.com/keepassxreboot/keepassxc/issues/1056)
-- Improve window focus handling for Auto-Type dialogs [[#1204](https://github.com/keepassxreboot/keepassxc/issues/1204), [#1490](https://github.com/keepassxreboot/keepassxc/issues/1490)]
-- Auto-Type dialog and password generator can now be exited with ESC [[#1252](https://github.com/keepassxreboot/keepassxc/issues/1252), [#1412](https://github.com/keepassxreboot/keepassxc/issues/1412)]
-- Add optional dark tray icon [#1154](https://github.com/keepassxreboot/keepassxc/issues/1154)
-- Add new "Unsafe saving" option to work around saving problems with file sync services [#1385](https://github.com/keepassxreboot/keepassxc/issues/1385)
-- Add IBus support to AppImage and additional image formats to Windows builds [[#1534](https://github.com/keepassxreboot/keepassxc/issues/1534), [#1537](https://github.com/keepassxreboot/keepassxc/issues/1537)]
-- Add diceware password generator to CLI [#1406](https://github.com/keepassxreboot/keepassxc/issues/1406)
-- Add --key-file option to CLI [[#816](https://github.com/keepassxreboot/keepassxc/issues/816), [#824](https://github.com/keepassxreboot/keepassxc/issues/824)]
-- Add DBus interface for opening and closing KeePassXC databases [#283](https://github.com/keepassxreboot/keepassxc/issues/283)
-- Add KDBX compression options to database settings [#1419](https://github.com/keepassxreboot/keepassxc/issues/1419)
-- Discourage use of old fixed-length key files in favor of arbitrary files [[#1326](https://github.com/keepassxreboot/keepassxc/issues/1326), [#1327](https://github.com/keepassxreboot/keepassxc/issues/1327)]
-- Correct reference resolution in entry fields [#1486](https://github.com/keepassxreboot/keepassxc/issues/1486)
-- Fix window state and recent databases not being remembered on exit [#1453](https://github.com/keepassxreboot/keepassxc/issues/1453)
-- Correct history item generation when configuring TOTP for an entry [#1446](https://github.com/keepassxreboot/keepassxc/issues/1446)
-- Correct multiple TOTP bugs [#1414](https://github.com/keepassxreboot/keepassxc/issues/1414)
-- Automatic saving after every change is now a default [#279](https://github.com/keepassxreboot/keepassxc/issues/279)
-- Allow creation of new entries during search [#1398](https://github.com/keepassxreboot/keepassxc/issues/1398)
-- Correct menu issues on macOS [#1335](https://github.com/keepassxreboot/keepassxc/issues/1335)
-- Allow compilation on OpenBSD [#1328](https://github.com/keepassxreboot/keepassxc/issues/1328)
-- Improve entry attachments view [[#1139](https://github.com/keepassxreboot/keepassxc/issues/1139), [#1298](https://github.com/keepassxreboot/keepassxc/issues/1298)]
-- Fix auto lock for Gnome and Xfce [[#910](https://github.com/keepassxreboot/keepassxc/issues/910), [#1249](https://github.com/keepassxreboot/keepassxc/issues/1249)]
-- Don't remember key files in file dialogs when the setting is disabled [#1188](https://github.com/keepassxreboot/keepassxc/issues/1188)
-- Improve database merging and conflict resolution [[#807](https://github.com/keepassxreboot/keepassxc/issues/807), [#1165](https://github.com/keepassxreboot/keepassxc/issues/1165)]
-- Fix macOS pasteboard issues [#1202](https://github.com/keepassxreboot/keepassxc/issues/1202)
-- Improve startup times on some platforms [#1205](https://github.com/keepassxreboot/keepassxc/issues/1205)
-- Hide the notes field by default [#1124](https://github.com/keepassxreboot/keepassxc/issues/1124)
-- Toggle main window by clicking tray icon with the middle mouse button [#992](https://github.com/keepassxreboot/keepassxc/issues/992)
-- Fix custom icons not copied over when databases are merged [#1008](https://github.com/keepassxreboot/keepassxc/issues/1008)
-- Allow use of DEL key to delete entries [#914](https://github.com/keepassxreboot/keepassxc/issues/914)
-- Correct intermittent crash due to stale history items [#1527](https://github.com/keepassxreboot/keepassxc/issues/1527)
-- Sanitize newline characters in title, username and URL fields [#1502](https://github.com/keepassxreboot/keepassxc/issues/1502)
-- Reopen previously opened databases in correct order [#774](https://github.com/keepassxreboot/keepassxc/issues/774)
-- Use system's zxcvbn library if available [#701](https://github.com/keepassxreboot/keepassxc/issues/701)
-- Implement various i18n improvements [[#690](https://github.com/keepassxreboot/keepassxc/issues/690), [#875](https://github.com/keepassxreboot/keepassxc/issues/875), [#1436](https://github.com/keepassxreboot/keepassxc/issues/1436)]
+- Add support for KDBX 4.0, Argon2 and ChaCha20 [#148, #1179, #1230, #1494]
+- Add SSH Agent feature [#1098, #1450, #1463]
+- Add preview panel with details of the selected entry [#879, #1338]
+- Add more and configurable columns to entry table and allow copying of values by double click #1305
+- Add KeePassXC-Browser API as a replacement for KeePassHTTP #608
+- Deprecate KeePassHTTP #1392
+- Add support for Steam one-time passwords #1206
+- Add support for multiple Auto-Type sequences for a single entry #1390
+- Adjust YubiKey HMAC-SHA1 challenge-response key generation for KDBX 4.0 #1060
+- Replace qHttp with cURL for website icon downloads #1460
+- Remove lock file #1231
+- Add option to create backup file before saving #1385
+- Ask to save a generated password before closing the entry password generator #1499
+- Resolve placeholders recursively #1078
+- Add Auto-Type button to the toolbar #1056
+- Improve window focus handling for Auto-Type dialogs [#1204, #1490]
+- Auto-Type dialog and password generator can now be exited with ESC [#1252, #1412]
+- Add optional dark tray icon #1154
+- Add new "Unsafe saving" option to work around saving problems with file sync services #1385
+- Add IBus support to AppImage and additional image formats to Windows builds [#1534, #1537]
+- Add diceware password generator to CLI #1406
+- Add --key-file option to CLI [#816, #824]
+- Add DBus interface for opening and closing KeePassXC databases #283
+- Add KDBX compression options to database settings #1419
+- Discourage use of old fixed-length key files in favor of arbitrary files [#1326, #1327]
+- Correct reference resolution in entry fields #1486
+- Fix window state and recent databases not being remembered on exit #1453
+- Correct history item generation when configuring TOTP for an entry #1446
+- Correct multiple TOTP bugs #1414
+- Automatic saving after every change is now a default #279
+- Allow creation of new entries during search #1398
+- Correct menu issues on macOS #1335
+- Allow compilation on OpenBSD #1328
+- Improve entry attachments view [#1139, #1298]
+- Fix auto lock for Gnome and Xfce [#910, #1249]
+- Don't remember key files in file dialogs when the setting is disabled #1188
+- Improve database merging and conflict resolution [#807, #1165]
+- Fix macOS pasteboard issues #1202
+- Improve startup times on some platforms #1205
+- Hide the notes field by default #1124
+- Toggle main window by clicking tray icon with the middle mouse button #992
+- Fix custom icons not copied over when databases are merged #1008
+- Allow use of DEL key to delete entries #914
+- Correct intermittent crash due to stale history items #1527
+- Sanitize newline characters in title, username and URL fields #1502
+- Reopen previously opened databases in correct order #774
+- Use system's zxcvbn library if available #701
+- Implement various i18n improvements [#690, #875, #1436]
## 2.2.4 (2017-12-13)
-- Prevent database corruption when locked [#1219](https://github.com/keepassxreboot/keepassxc/issues/1219)
-- Fixes apply button not saving new entries [#1141](https://github.com/keepassxreboot/keepassxc/issues/1141)
-- Switch to Consolas font on Windows for password edit [#1229](https://github.com/keepassxreboot/keepassxc/issues/1229)
-- Multiple fixes to AppImage deployment [[#1115](https://github.com/keepassxreboot/keepassxc/issues/1115), [#1228](https://github.com/keepassxreboot/keepassxc/issues/1228)]
-- Fixes multiple memory leaks [#1213](https://github.com/keepassxreboot/keepassxc/issues/1213)
-- Resize message close to 16x16 pixels [#1253](https://github.com/keepassxreboot/keepassxc/issues/1253)
+- Prevent database corruption when locked #1219
+- Fixes apply button not saving new entries #1141
+- Switch to Consolas font on Windows for password edit #1229
+- Multiple fixes to AppImage deployment [#1115, #1228]
+- Fixes multiple memory leaks #1213
+- Resize message close to 16x16 pixels #1253
## 2.2.2 (2017-10-22)
-- Fixed entries with empty URLs being reported to KeePassHTTP clients [#1031](https://github.com/keepassxreboot/keepassxc/issues/1031)
-- Fixed YubiKey detection and enabled CLI tool for AppImage binary [#1100](https://github.com/keepassxreboot/keepassxc/issues/1100)
-- Added AppStream description [#1082](https://github.com/keepassxreboot/keepassxc/issues/1082)
-- Improved TOTP compatibility and added new Base32 implementation [#1069](https://github.com/keepassxreboot/keepassxc/issues/1069)
-- Fixed error handling when processing invalid cipher stream [#1099](https://github.com/keepassxreboot/keepassxc/issues/1099)
-- Fixed double warning display when opening a database [#1037](https://github.com/keepassxreboot/keepassxc/issues/1037)
-- Fixed unlocking databases with --pw-stdin [#1087](https://github.com/keepassxreboot/keepassxc/issues/1087)
-- Added ability to override QT_PLUGIN_PATH environment variable for AppImages [#1079](https://github.com/keepassxreboot/keepassxc/issues/1079)
-- Fixed transform seed not being regenerated when saving the database [#1068](https://github.com/keepassxreboot/keepassxc/issues/1068)
-- Fixed only one YubiKey slot being polled [#1048](https://github.com/keepassxreboot/keepassxc/issues/1048)
-- Corrected an issue with entry icons while merging [#1008](https://github.com/keepassxreboot/keepassxc/issues/1008)
-- Corrected desktop and tray icons in Snap package [#1030](https://github.com/keepassxreboot/keepassxc/issues/1030)
-- Fixed screen lock and Google fallback settings [#1029](https://github.com/keepassxreboot/keepassxc/issues/1029)
+- Fixed entries with empty URLs being reported to KeePassHTTP clients #1031
+- Fixed YubiKey detection and enabled CLI tool for AppImage binary #1100
+- Added AppStream description #1082
+- Improved TOTP compatibility and added new Base32 implementation #1069
+- Fixed error handling when processing invalid cipher stream #1099
+- Fixed double warning display when opening a database #1037
+- Fixed unlocking databases with --pw-stdin #1087
+- Added ability to override QT_PLUGIN_PATH environment variable for AppImages #1079
+- Fixed transform seed not being regenerated when saving the database #1068
+- Fixed only one YubiKey slot being polled #1048
+- Corrected an issue with entry icons while merging #1008
+- Corrected desktop and tray icons in Snap package #1030
+- Fixed screen lock and Google fallback settings #1029
## 2.2.1 (2017-10-01)
-- Corrected multiple snap issues [[#934](https://github.com/keepassxreboot/keepassxc/issues/934), [#1011](https://github.com/keepassxreboot/keepassxc/issues/1011)]
-- Corrected multiple custom icon issues [[#708](https://github.com/keepassxreboot/keepassxc/issues/708), [#719](https://github.com/keepassxreboot/keepassxc/issues/719), [#994](https://github.com/keepassxreboot/keepassxc/issues/994)]
-- Corrected multiple Yubikey issues [#880](https://github.com/keepassxreboot/keepassxc/issues/880)
-- Fixed single instance preventing load on occasion [#997](https://github.com/keepassxreboot/keepassxc/issues/997)
-- Keep entry history when merging databases [#970](https://github.com/keepassxreboot/keepassxc/issues/970)
-- Prevent data loss if passwords were mismatched [#1007](https://github.com/keepassxreboot/keepassxc/issues/1007)
-- Fixed crash after merge [#941](https://github.com/keepassxreboot/keepassxc/issues/941)
-- Added configurable auto-type default delay [#703](https://github.com/keepassxreboot/keepassxc/issues/703)
-- Unlock database dialog window comes to front [#663](https://github.com/keepassxreboot/keepassxc/issues/663)
+- Corrected multiple snap issues [#934, #1011]
+- Corrected multiple custom icon issues [#708, #719, #994]
+- Corrected multiple Yubikey issues #880
+- Fixed single instance preventing load on occasion #997
+- Keep entry history when merging databases #970
+- Prevent data loss if passwords were mismatched #1007
+- Fixed crash after merge #941
+- Added configurable auto-type default delay #703
+- Unlock database dialog window comes to front #663
- Translation and compiling fixes
## 2.2.0 (2017-06-23)
-- Added YubiKey 2FA integration for unlocking databases [#127](https://github.com/keepassxreboot/keepassxc/issues/127)
-- Added TOTP support [#519](https://github.com/keepassxreboot/keepassxc/issues/519)
-- Added CSV import tool [[#146](https://github.com/keepassxreboot/keepassxc/issues/146), [#490](https://github.com/keepassxreboot/keepassxc/issues/490)]
-- Added KeePassXC CLI tool [#254](https://github.com/keepassxreboot/keepassxc/issues/254)
-- Added diceware password generator [#373](https://github.com/keepassxreboot/keepassxc/issues/373)
-- Added support for entry references [[#370](https://github.com/keepassxreboot/keepassxc/issues/370), [#378](https://github.com/keepassxreboot/keepassxc/issues/378)]
-- Added support for Twofish encryption [#167](https://github.com/keepassxreboot/keepassxc/issues/167)
-- Enabled DEP and ASLR for in-memory protection [#371](https://github.com/keepassxreboot/keepassxc/issues/371)
-- Enabled single instance mode [#510](https://github.com/keepassxreboot/keepassxc/issues/510)
-- Enabled portable mode [#645](https://github.com/keepassxreboot/keepassxc/issues/645)
-- Enabled database lock on screensaver and session lock [#545](https://github.com/keepassxreboot/keepassxc/issues/545)
-- Redesigned welcome screen with common features and recent databases [#292](https://github.com/keepassxreboot/keepassxc/issues/292)
-- Multiple updates to search behavior [[#168](https://github.com/keepassxreboot/keepassxc/issues/168), [#213](https://github.com/keepassxreboot/keepassxc/issues/213), [#374](https://github.com/keepassxreboot/keepassxc/issues/374), [#471](https://github.com/keepassxreboot/keepassxc/issues/471), [#603](https://github.com/keepassxreboot/keepassxc/issues/603), [#654](https://github.com/keepassxreboot/keepassxc/issues/654)]
-- Added auto-type fields {CLEARFIELD}, {SPACE}, {{}, {}} [[#267](https://github.com/keepassxreboot/keepassxc/issues/267), [#427](https://github.com/keepassxreboot/keepassxc/issues/427), [#480](https://github.com/keepassxreboot/keepassxc/issues/480)]
-- Fixed auto-type errors on Linux [#550](https://github.com/keepassxreboot/keepassxc/issues/550)
-- Prompt user prior to executing a cmd:// URL [#235](https://github.com/keepassxreboot/keepassxc/issues/235)
-- Entry attributes can be protected (hidden) [#220](https://github.com/keepassxreboot/keepassxc/issues/220)
-- Added extended ascii to password generator [#538](https://github.com/keepassxreboot/keepassxc/issues/538)
-- Added new database icon to toolbar [#289](https://github.com/keepassxreboot/keepassxc/issues/289)
-- Added context menu entry to empty recycle bin in databases [#520](https://github.com/keepassxreboot/keepassxc/issues/520)
-- Added "apply" button to entry and group edit windows [#624](https://github.com/keepassxreboot/keepassxc/issues/624)
-- Added macOS tray icon and enabled minimize on close [#583](https://github.com/keepassxreboot/keepassxc/issues/583)
-- Fixed issues with unclean shutdowns [[#170](https://github.com/keepassxreboot/keepassxc/issues/170), [#580](https://github.com/keepassxreboot/keepassxc/issues/580)]
-- Changed keyboard shortcut to create new database to CTRL+SHIFT+N [#515](https://github.com/keepassxreboot/keepassxc/issues/515)
-- Compare window title to entry URLs [#556](https://github.com/keepassxreboot/keepassxc/issues/556)
-- Implemented inline error messages [#162](https://github.com/keepassxreboot/keepassxc/issues/162)
-- Ignore group expansion and other minor changes when making database "dirty" [#464](https://github.com/keepassxreboot/keepassxc/issues/464)
-- Updated license and copyright information on souce files [#632](https://github.com/keepassxreboot/keepassxc/issues/632)
-- Added contributors list to about dialog [#629](https://github.com/keepassxreboot/keepassxc/issues/629)
+- Added YubiKey 2FA integration for unlocking databases #127
+- Added TOTP support #519
+- Added CSV import tool [#146, #490]
+- Added KeePassXC CLI tool #254
+- Added diceware password generator #373
+- Added support for entry references [#370, #378]
+- Added support for Twofish encryption #167
+- Enabled DEP and ASLR for in-memory protection #371
+- Enabled single instance mode #510
+- Enabled portable mode #645
+- Enabled database lock on screensaver and session lock #545
+- Redesigned welcome screen with common features and recent databases #292
+- Multiple updates to search behavior [#168, #213, #374, #471, #603, #654]
+- Added auto-type fields {CLEARFIELD}, {SPACE}, {{}, {}} [#267, #427, #480]
+- Fixed auto-type errors on Linux #550
+- Prompt user prior to executing a cmd:// URL #235
+- Entry attributes can be protected (hidden) #220
+- Added extended ascii to password generator #538
+- Added new database icon to toolbar #289
+- Added context menu entry to empty recycle bin in databases #520
+- Added "apply" button to entry and group edit windows #624
+- Added macOS tray icon and enabled minimize on close #583
+- Fixed issues with unclean shutdowns [#170, #580]
+- Changed keyboard shortcut to create new database to CTRL+SHIFT+N #515
+- Compare window title to entry URLs #556
+- Implemented inline error messages #162
+- Ignore group expansion and other minor changes when making database "dirty" #464
+- Updated license and copyright information on souce files #632
+- Added contributors list to about dialog #629
## 2.1.4 (2017-04-09)
- Bumped KeePassHTTP version to 1.8.4.2
-- KeePassHTTP confirmation window comes to foreground [#466](https://github.com/keepassxreboot/keepassxc/issues/466)
+- KeePassHTTP confirmation window comes to foreground #466
## 2.1.3 (2017-03-03)
-- Fix possible overflow in zxcvbn library [#363](https://github.com/keepassxreboot/keepassxc/issues/363)
-- Revert HiDPI setting to avoid problems on laptop screens [#332](https://github.com/keepassxreboot/keepassxc/issues/332)
-- Set file meta properties in Windows executable [#330](https://github.com/keepassxreboot/keepassxc/issues/330)
-- Suppress error message when auto-reloading a locked database [#345](https://github.com/keepassxreboot/keepassxc/issues/345)
-- Improve usability of question dialog when database is already locked by a different instance [#346](https://github.com/keepassxreboot/keepassxc/issues/346)
-- Fix compiler warnings in QHttp library [#351](https://github.com/keepassxreboot/keepassxc/issues/351)
-- Use unified toolbar on Mac OS X [#361](https://github.com/keepassxreboot/keepassxc/issues/361)
-- Fix an issue on X11 where the main window would be raised instead of closed on Alt+F4 [#362](https://github.com/keepassxreboot/keepassxc/issues/362)
+- Fix possible overflow in zxcvbn library #363
+- Revert HiDPI setting to avoid problems on laptop screens #332
+- Set file meta properties in Windows executable #330
+- Suppress error message when auto-reloading a locked database #345
+- Improve usability of question dialog when database is already locked by a different instance #346
+- Fix compiler warnings in QHttp library #351
+- Use unified toolbar on Mac OS X #361
+- Fix an issue on X11 where the main window would be raised instead of closed on Alt+F4 #362
## 2.1.2 (2017-02-17)
-- Ask for save location when creating a new database [#302](https://github.com/keepassxreboot/keepassxc/issues/302)
-- Remove Libmicrohttpd dependency to clean up the code and ensure better OS X compatibility [[#317](https://github.com/keepassxreboot/keepassxc/issues/317), [#265](https://github.com/keepassxreboot/keepassxc/issues/265)]
-- Prevent Qt from degrading Wifi network performance on certain platforms [#318](https://github.com/keepassxreboot/keepassxc/issues/318)
-- Visually refine user interface on OS X and other platforms [#299](https://github.com/keepassxreboot/keepassxc/issues/299)
-- Remove unusable tray icon setting on OS X [#293](https://github.com/keepassxreboot/keepassxc/issues/293)
-- Fix compositing glitches on Ubuntu and prevent flashing when minimizing to the tray at startup [#307](https://github.com/keepassxreboot/keepassxc/issues/307)
-- Fix AppImage tray icon on Ubuntu [[#277](https://github.com/keepassxreboot/keepassxc/issues/277), [#273](https://github.com/keepassxreboot/keepassxc/issues/273)]
-- Fix global menu disappearing after restoring KeePassXC from the tray on Ubuntu [#276](https://github.com/keepassxreboot/keepassxc/issues/276)
-- Fix result order in entry search [#320](https://github.com/keepassxreboot/keepassxc/issues/320)
-- Enable HiDPI scaling on supported platforms [#315](https://github.com/keepassxreboot/keepassxc/issues/315)
-- Remove empty directories from installation target [#282](https://github.com/keepassxreboot/keepassxc/issues/282)
+- Ask for save location when creating a new database #302
+- Remove Libmicrohttpd dependency to clean up the code and ensure better OS X compatibility [#317, #265]
+- Prevent Qt from degrading Wifi network performance on certain platforms #318
+- Visually refine user interface on OS X and other platforms #299
+- Remove unusable tray icon setting on OS X #293
+- Fix compositing glitches on Ubuntu and prevent flashing when minimizing to the tray at startup #307
+- Fix AppImage tray icon on Ubuntu [#277, #273]
+- Fix global menu disappearing after restoring KeePassXC from the tray on Ubuntu #276
+- Fix result order in entry search #320
+- Enable HiDPI scaling on supported platforms #315
+- Remove empty directories from installation target #282
## 2.1.1 (2017-02-06)
-- Enabled HTTP plugin build; plugin is disabled by default and limited to localhost [#147](https://github.com/keepassxreboot/keepassxc/issues/147)
-- Escape HTML in dialog boxes [#247](https://github.com/keepassxreboot/keepassxc/issues/247)
-- Corrected crashes in favicon download and password generator [[#233](https://github.com/keepassxreboot/keepassxc/issues/233), [#226](https://github.com/keepassxreboot/keepassxc/issues/226)]
-- Increase font size of password meter [#228](https://github.com/keepassxreboot/keepassxc/issues/228)
-- Fixed compatibility with Qt 5.8 [#211](https://github.com/keepassxreboot/keepassxc/issues/211)
-- Use consistent button heights in password generator [#229](https://github.com/keepassxreboot/keepassxc/issues/229)
+- Enabled HTTP plugin build; plugin is disabled by default and limited to localhost #147
+- Escape HTML in dialog boxes #247
+- Corrected crashes in favicon download and password generator [#233, #226]
+- Increase font size of password meter #228
+- Fixed compatibility with Qt 5.8 #211
+- Use consistent button heights in password generator #229
## 2.1.0 (2017-01-22)
-- Show unlock dialog when using autotype on a closed database [[#10](https://github.com/keepassxreboot/keepassxc/issues/10), [#89](https://github.com/keepassxreboot/keepassxc/issues/89)]
-- Show different tray icon when database is locked [[#37](https://github.com/keepassxreboot/keepassxc/issues/37), [#46](https://github.com/keepassxreboot/keepassxc/issues/46)]
-- Support autotype on Windows and OS X [[#42](https://github.com/keepassxreboot/keepassxc/issues/42), [#60](https://github.com/keepassxreboot/keepassxc/issues/60), [#63](https://github.com/keepassxreboot/keepassxc/issues/63)]
-- Add delay feature to autotype [[#76](https://github.com/keepassxreboot/keepassxc/issues/76), [#77](https://github.com/keepassxreboot/keepassxc/issues/77)]
-- Add password strength meter [[#84](https://github.com/keepassxreboot/keepassxc/issues/84), [#92](https://github.com/keepassxreboot/keepassxc/issues/92)]
+- Show unlock dialog when using autotype on a closed database [#10, #89]
+- Show different tray icon when database is locked [#37, #46]
+- Support autotype on Windows and OS X [#42, #60, #63]
+- Add delay feature to autotype [#76, #77]
+- Add password strength meter [#84, #92]
- Add option for automatically locking the database when minimizing
- the window [#57](https://github.com/keepassxreboot/keepassxc/issues/57)
-- Add feature to download favicons and use them as entry icons [#30](https://github.com/keepassxreboot/keepassxc/issues/30)
+ the window #57
+- Add feature to download favicons and use them as entry icons #30
- Automatically reload and merge database when the file changed on
- disk [[#22](https://github.com/keepassxreboot/keepassxc/issues/22), [#33](https://github.com/keepassxreboot/keepassxc/issues/33), [#93](https://github.com/keepassxreboot/keepassxc/issues/93)]
-- Add tool for merging two databases [[#22](https://github.com/keepassxreboot/keepassxc/issues/22), [#47](https://github.com/keepassxreboot/keepassxc/issues/47), [#143](https://github.com/keepassxreboot/keepassxc/issues/143)]
+ disk [#22, #33, #93]
+- Add tool for merging two databases [#22, #47, #143]
- Add --pw-stdin commandline option to unlock the database by providing
- a password on STDIN [#54](https://github.com/keepassxreboot/keepassxc/issues/54)
-- Add utility script for reading the database password from KWallet [#55](https://github.com/keepassxreboot/keepassxc/issues/55)
-- Fix some KeePassHTTP settings not being remembered [[#34](https://github.com/keepassxreboot/keepassxc/issues/34), [#65](https://github.com/keepassxreboot/keepassxc/issues/65)]
-- Make search box persistent [[#15](https://github.com/keepassxreboot/keepassxc/issues/15), [#67](https://github.com/keepassxreboot/keepassxc/issues/67), [#157](https://github.com/keepassxreboot/keepassxc/issues/157)]
-- Enhance search feature by scoping the search to selected group [[#16](https://github.com/keepassxreboot/keepassxc/issues/16), [#118](https://github.com/keepassxreboot/keepassxc/issues/118)]
-- Improve interaction between search field and entry list [[#131](https://github.com/keepassxreboot/keepassxc/issues/131), [#141](https://github.com/keepassxreboot/keepassxc/issues/141)]
-- Add stand-alone password-generator [[#18](https://github.com/keepassxreboot/keepassxc/issues/18), [#92](https://github.com/keepassxreboot/keepassxc/issues/92)]
-- Don't require password repetition when password is visible [[#27](https://github.com/keepassxreboot/keepassxc/issues/27), [#92](https://github.com/keepassxreboot/keepassxc/issues/92)]
-- Add support for entry attributes in autotype sequences [#107](https://github.com/keepassxreboot/keepassxc/issues/107)
-- Always focus password field when opening the database unlock widget [[#116](https://github.com/keepassxreboot/keepassxc/issues/116), [#117](https://github.com/keepassxreboot/keepassxc/issues/117)]
-- Fix compilation errors on various platforms [[#53](https://github.com/keepassxreboot/keepassxc/issues/53), [#126](https://github.com/keepassxreboot/keepassxc/issues/126), [#130](https://github.com/keepassxreboot/keepassxc/issues/130)]
-- Restructure and improve kdbx-extract utility [#160](https://github.com/keepassxreboot/keepassxc/issues/160)
+ a password on STDIN #54
+- Add utility script for reading the database password from KWallet #55
+- Fix some KeePassHTTP settings not being remembered [#34, #65]
+- Make search box persistent [#15, #67, #157]
+- Enhance search feature by scoping the search to selected group [#16, #118]
+- Improve interaction between search field and entry list [#131, #141]
+- Add stand-alone password-generator [#18, #92]
+- Don't require password repetition when password is visible [#27, #92]
+- Add support for entry attributes in autotype sequences #107
+- Always focus password field when opening the database unlock widget [#116, #117]
+- Fix compilation errors on various platforms [#53, #126, #130]
+- Restructure and improve kdbx-extract utility #160
## 2.0.3 (2016-09-04)
-- Improved error reporting when reading / writing databases fails. [[#450](https://github.com/keepassxreboot/keepassxc/issues/450), [#462](https://github.com/keepassxreboot/keepassxc/issues/462)]
+- Improved error reporting when reading / writing databases fails. [#450, #462]
- Display an error message when opening a custom icon fails.
-- Detect custom icon format based on contents instead of the filename. [#512](https://github.com/keepassxreboot/keepassxc/issues/512)
-- Keep symlink intact when saving databases. [#442](https://github.com/keepassxreboot/keepassxc/issues/442).
-- Fix a crash when deleting parent group of recycle bin. [#520](https://github.com/keepassxreboot/keepassxc/issues/520)
-- Display a confirm dialog before moving an entry to the recycle bin. [#447](https://github.com/keepassxreboot/keepassxc/issues/447)
-- Repair UUIDs of inconsistent history items. [#130](https://github.com/keepassxreboot/keepassxc/issues/130)
+- Detect custom icon format based on contents instead of the filename. #512
+- Keep symlink intact when saving databases. #442.
+- Fix a crash when deleting parent group of recycle bin. #520
+- Display a confirm dialog before moving an entry to the recycle bin. #447
+- Repair UUIDs of inconsistent history items. #130
- Only include top-level windows in auto-type window list when using gnome-shell.
- Update translations.
@@ -450,94 +481,94 @@
## 2.0.1 (2016-01-31)
-- Flush temporary file before opening attachment. [#390](https://github.com/keepassxreboot/keepassxc/issues/390)
-- Disable password generator when showing entry in history mode. [#422](https://github.com/keepassxreboot/keepassxc/issues/422)
-- Strip invalid XML chars when writing databases. [#392](https://github.com/keepassxreboot/keepassxc/issues/392)
-- Add repair function to fix databases with invalid XML chars. [#392](https://github.com/keepassxreboot/keepassxc/issues/392)
-- Display custom icons scaled. [#322](https://github.com/keepassxreboot/keepassxc/issues/322)
-- Allow opening databases that have no password and keyfile. [#391](https://github.com/keepassxreboot/keepassxc/issues/391)
-- Fix crash when importing .kdb files with invalid icon ids. [#425](https://github.com/keepassxreboot/keepassxc/issues/425)
+- Flush temporary file before opening attachment. #390
+- Disable password generator when showing entry in history mode. #422
+- Strip invalid XML chars when writing databases. #392
+- Add repair function to fix databases with invalid XML chars. #392
+- Display custom icons scaled. #322
+- Allow opening databases that have no password and keyfile. #391
+- Fix crash when importing .kdb files with invalid icon ids. #425
- Update translations.
## 2.0 (2015-12-06)
- Improve UI of the search edit.
-- Clear clipboard when locking databases. [#342](https://github.com/keepassxreboot/keepassxc/issues/342)
-- Enable Ctrl+M shortcut to minimize the window on all platforms. [#329](https://github.com/keepassxreboot/keepassxc/issues/329)
-- Show a better message when trying to open an old database format. [#338](https://github.com/keepassxreboot/keepassxc/issues/338)
+- Clear clipboard when locking databases. #342
+- Enable Ctrl+M shortcut to minimize the window on all platforms. #329
+- Show a better message when trying to open an old database format. #338
- Fix global auto-type behavior with some window managers.
-- Show global auto-type window on the active desktop. [#359](https://github.com/keepassxreboot/keepassxc/issues/359)
-- Disable systray on OS X. [#326](https://github.com/keepassxreboot/keepassxc/issues/326)
-- Restore main window when clicking on the OS X docker icon. [#326](https://github.com/keepassxreboot/keepassxc/issues/326)
+- Show global auto-type window on the active desktop. #359
+- Disable systray on OS X. #326
+- Restore main window when clicking on the OS X docker icon. #326
## 2.0 Beta 2 (2015-09-06)
-- Fix crash when locking with search UI open [#309](https://github.com/keepassxreboot/keepassxc/issues/309)
-- Fix file locking on Mac OS X [#327](https://github.com/keepassxreboot/keepassxc/issues/327)
-- Set default extension when saving a database [[#79](https://github.com/keepassxreboot/keepassxc/issues/79), [#308](https://github.com/keepassxreboot/keepassxc/issues/308)]
+- Fix crash when locking with search UI open #309
+- Fix file locking on Mac OS X #327
+- Set default extension when saving a database [#79, #308]
## 2.0 Beta 1 (2015-07-18)
-- Remember entry column sizes [#159](https://github.com/keepassxreboot/keepassxc/issues/159)
+- Remember entry column sizes #159
- Add translations
- Support opening attachments directly
-- Support cmd:// URLs [#244](https://github.com/keepassxreboot/keepassxc/issues/244)
-- Protect opened databases with a file lock [#18](https://github.com/keepassxreboot/keepassxc/issues/18)
-- Export to csv files [#57](https://github.com/keepassxreboot/keepassxc/issues/57)
-- Add optional tray icon [#153](https://github.com/keepassxreboot/keepassxc/issues/153)
-- Allow setting the default auto-type sequence for groups [#175](https://github.com/keepassxreboot/keepassxc/issues/175)
+- Support cmd:// URLs #244
+- Protect opened databases with a file lock #18
+- Export to csv files #57
+- Add optional tray icon #153
+- Allow setting the default auto-type sequence for groups #175
- Make the kdbx parser more lenient
-- Remove --password command line option [#285](https://github.com/keepassxreboot/keepassxc/issues/285)
+- Remove --password command line option #285
## 2.0 Alpha 6 (2014-04-12)
-- Add option to lock databases after user inactivity [#62](https://github.com/keepassxreboot/keepassxc/issues/62)
-- Add compatibility with libgcrypt 1.6 [#129](https://github.com/keepassxreboot/keepassxc/issues/129)
-- Display passwords in monospace font [#51](https://github.com/keepassxreboot/keepassxc/issues/51)
-- Use an icon for the button that shows/masks passwords [#38](https://github.com/keepassxreboot/keepassxc/issues/38)
-- Add an option to show passwords by default [#93](https://github.com/keepassxreboot/keepassxc/issues/93)
-- Improve password generator design [#122](https://github.com/keepassxreboot/keepassxc/issues/122)
+- Add option to lock databases after user inactivity #62
+- Add compatibility with libgcrypt 1.6 #129
+- Display passwords in monospace font #51
+- Use an icon for the button that shows/masks passwords #38
+- Add an option to show passwords by default #93
+- Improve password generator design #122
- On Linux link .kdbx files with KeePassX
-- Remember window size [#154](https://github.com/keepassxreboot/keepassxc/issues/154)
+- Remember window size #154
- Disallow global auto-typing when the database is locked
## 2.0 Alpha 5 (2013-12-20)
-- Support copying entries and groups using drag'n'drop [#74](https://github.com/keepassxreboot/keepassxc/issues/74)
-- Open last used databases on startup [#36](https://github.com/keepassxreboot/keepassxc/issues/36)
+- Support copying entries and groups using drag'n'drop #74
+- Open last used databases on startup #36
- Made the kdbx file parser more robust
- Only edit entries on doubleclick (not single) or with enter key
- Allow removing multiple entries
- Added option to minimize window when copying data to clipboard
- Save password generator settings
-- Fixed auto-type producing wrong chars in some keyboard configurations [#116](https://github.com/keepassxreboot/keepassxc/issues/116)
+- Fixed auto-type producing wrong chars in some keyboard configurations #116
- Added some more actions to the toolbar
## 2.0 Alpha 4 (2013-03-29)
-- Add random password generator [#52](https://github.com/keepassxreboot/keepassxc/issues/52)
-- Merge the 'Description' tab into the 'Entry' tab [#59](https://github.com/keepassxreboot/keepassxc/issues/59)
-- Fix crash when deleting history items [#56](https://github.com/keepassxreboot/keepassxc/issues/56)
-- Fix crash on Mac OS X Mountain Lion during startup [#50](https://github.com/keepassxreboot/keepassxc/issues/50)
-- Improved KeePassX application icon [#58](https://github.com/keepassxreboot/keepassxc/issues/58)
+- Add random password generator #52
+- Merge the 'Description' tab into the 'Entry' tab #59
+- Fix crash when deleting history items #56
+- Fix crash on Mac OS X Mountain Lion during startup #50
+- Improved KeePassX application icon #58
## 2.0 Alpha 3 (2012-10-27)
- Auto-Type on Linux / X11
- Database locking
-- Fix database corruption when changing key transformation rounds [#34](https://github.com/keepassxreboot/keepassxc/issues/34)
+- Fix database corruption when changing key transformation rounds #34
- Verify header data of kdbx files
- Add menu entry to open URLs in the browser
- Add menu entry to copy an entry attribute to clipboard
## 2.0 Alpha 2 (2012-07-02)
-- Import kdb (KeePass 1) files [#2](https://github.com/keepassxreboot/keepassxc/issues/2)
-- Display history items [#23](https://github.com/keepassxreboot/keepassxc/issues/23)
-- Implement history item limits [#16](https://github.com/keepassxreboot/keepassxc/issues/16)
-- Group and entry icons can be set [#22](https://github.com/keepassxreboot/keepassxc/issues/22)
+- Import kdb (KeePass 1) files #2
+- Display history items #23
+- Implement history item limits #16
+- Group and entry icons can be set #22
- Add keyboard shortcuts
-- Search in databases [#24](https://github.com/keepassxreboot/keepassxc/issues/24)
+- Search in databases #24
- Sortable entry view
- Support building Mac OS X bundles
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 226460987..32f7611ab 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -94,7 +94,7 @@ endif()
set(KEEPASSXC_VERSION_MAJOR "2")
set(KEEPASSXC_VERSION_MINOR "5")
-set(KEEPASSXC_VERSION_PATCH "0")
+set(KEEPASSXC_VERSION_PATCH "1")
set(KEEPASSXC_VERSION "${KEEPASSXC_VERSION_MAJOR}.${KEEPASSXC_VERSION_MINOR}.${KEEPASSXC_VERSION_PATCH}")
set(OVERRIDE_VERSION "" CACHE STRING "Override the KeePassXC Version for Snapshot builds")
@@ -438,6 +438,14 @@ if(UNIX)
int main() { prctl(PR_SET_DUMPABLE, 0); return 0; }"
HAVE_PR_SET_DUMPABLE)
+ check_cxx_source_compiles("#include <malloc.h>
+ int main() { return 0; }"
+ HAVE_MALLOC_H)
+
+ check_cxx_source_compiles("#include <malloc.h>
+ int main() { malloc_usable_size(NULL, 0); return 0; }"
+ HAVE_MALLOC_USABLE_SIZE)
+
check_cxx_source_compiles("#include <sys/resource.h>
int main() {
struct rlimit limit;
diff --git a/release-tool b/release-tool
index 779d73753..6d217ca9d 100755
--- a/release-tool
+++ b/release-tool
@@ -42,6 +42,8 @@ BUILD_PLUGINS="all"
INSTALL_PREFIX="/usr/local"
ORIG_BRANCH=""
ORIG_CWD="$(pwd)"
+MACOSX_DEPLOYMENT_TARGET=10.12
+GREP="grep"
# -----------------------------------------------------------------------
# helper functions
@@ -140,7 +142,11 @@ Sign binaries with code signing certificates on Windows and macOS
Options:
-f, --files Files to sign (required)
- -k, --key Signing Key or Apple Developer ID
+ -k, --key, -i, --identity
+ Signing Key or Apple Developer ID (required)
+ -u, --username Apple username for notarization (required on macOS)
+ -c, --keychain Apple keychain entry name storing the notarization
+ app password (default: 'AC_PASSWORD')
-h, --help Show this help
EOF
elif [ "appimage" == "$cmd" ]; then
@@ -169,6 +175,10 @@ logInfo() {
printf "\e[1m[ \e[34mINFO\e[39m ]\e[0m $1\n"
}
+logWarn() {
+ printf "\e[1m[ \e[33mWARNING\e[39m ]\e[0m $1\n"
+}
+
logError() {
printf "\e[1m[ \e[31mERROR\e[39m ]\e[0m $1\n" >&2
}
@@ -218,6 +228,16 @@ cmdExists() {
command -v "$1" &> /dev/null
}
+checkGrepCompat() {
+ if ! grep -qPzo test <(echo test) 2> /dev/null; then
+ if [ -e /usr/local/opt/grep/libexec/gnubin/grep ]; then
+ GREP="/usr/local/opt/grep/libexec/gnubin/grep"
+ else
+ exitError "Incompatible grep implementation! If on macOS, please run 'brew install grep'."
+ fi
+ fi
+}
+
checkSourceDirExists() {
if [ ! -d "$SRC_DIR" ]; then
exitError "Source directory '${SRC_DIR}' does not exist!"
@@ -237,7 +257,7 @@ checkGitRepository() {
}
checkReleaseDoesNotExist() {
- git tag | grep -q "^$TAG_NAME$"
+ git tag | $GREP -q "^$TAG_NAME$"
if [ $? -eq 0 ]; then
exitError "Release '$RELEASE_NAME' (tag: '$TAG_NAME') already exists!"
fi
@@ -270,17 +290,17 @@ checkVersionInCMake() {
local minor_num="$(echo ${RELEASE_NAME} | cut -f2 -d.)"
local patch_num="$(echo ${RELEASE_NAME} | cut -f3 -d. | cut -f1 -d-)"
- grep -q "${app_name_upper}_VERSION_MAJOR \"${major_num}\"" CMakeLists.txt
+ $GREP -q "${app_name_upper}_VERSION_MAJOR \"${major_num}\"" CMakeLists.txt
if [ $? -ne 0 ]; then
exitError "${app_name_upper}_VERSION_MAJOR not updated to '${major_num}' in CMakeLists.txt!"
fi
- grep -q "${app_name_upper}_VERSION_MINOR \"${minor_num}\"" CMakeLists.txt
+ $GREP -q "${app_name_upper}_VERSION_MINOR \"${minor_num}\"" CMakeLists.txt
if [ $? -ne 0 ]; then
exitError "${app_name_upper}_VERSION_MINOR not updated to '${minor_num}' in CMakeLists.txt!"
fi
- grep -q "${app_name_upper}_VERSION_PATCH \"${patch_num}\"" CMakeLists.txt
+ $GREP -q "${app_name_upper}_VERSION_PATCH \"${patch_num}\"" CMakeLists.txt
if [ $? -ne 0 ]; then
exitError "${app_name_upper}_VERSION_PATCH not updated to '${patch_num}' in CMakeLists.txt!"
fi
@@ -291,7 +311,7 @@ checkChangeLog() {
exitError "No CHANGELOG file found!"
fi
- grep -qPzo "## ${RELEASE_NAME} \(\d{4}-\d{2}-\d{2}\)\n" CHANGELOG.md
+ $GREP -qPzo "## ${RELEASE_NAME} \(\d{4}-\d{2}-\d{2}\)\n" CHANGELOG.md
if [ $? -ne 0 ]; then
exitError "'CHANGELOG.md' has not been updated to the '${RELEASE_NAME}' release!"
fi
@@ -302,24 +322,24 @@ checkAppStreamInfo() {
exitError "No AppStream info file found!"
fi
- grep -qPzo "<release version=\"${RELEASE_NAME}\" date=\"\d{4}-\d{2}-\d{2}\">" share/linux/org.keepassxc.KeePassXC.appdata.xml
+ $GREP -qPzo "<release version=\"${RELEASE_NAME}\" date=\"\d{4}-\d{2}-\d{2}\">" share/linux/org.keepassxc.KeePassXC.appdata.xml
if [ $? -ne 0 ]; then
exitError "'share/linux/org.keepassxc.KeePassXC.appdata.xml' has not been updated to the '${RELEASE_NAME}' release!"
fi
}
checkSnapcraft() {
- if [ ! -f snapcraft.yaml ]; then
- echo "No snapcraft file found!"
+ if [ ! -f snap/snapcraft.yaml ]; then
+ echo "Could not find snap/snapcraft.yaml!"
return
fi
- grep -qPzo "version: ${RELEASE_NAME}" snapcraft.yaml
+ $GREP -qPzo "version: ${RELEASE_NAME}" snap/snapcraft.yaml
if [ $? -ne 0 ]; then
exitError "'snapcraft.yaml' has not been updated to the '${RELEASE_NAME}' release!"
fi
- grep -qPzo "KEEPASSXC_BUILD_TYPE=Release" snapcraft.yaml
+ $GREP -qPzo "KEEPASSXC_BUILD_TYPE=Release" snap/snapcraft.yaml
if [ $? -ne 0 ]; then
exitError "'snapcraft.yaml' is not set for a release build!"
fi
@@ -337,14 +357,23 @@ checkSigntoolCommandExists() {
fi
}
-checkCodesignCommandExists() {
- if ! cmdExists codesign; then
- exitError "codesign command not found on the PATH! Please check that you have correctly installed Xcode."
+checkXcodeSetup() {
+ if ! cmdExists xcrun; then
+ exitError "xcrun command not found on the PATH! Please check that you have correctly installed Xcode."
+ fi
+ if ! xcrun -f codesign > /dev/null 2>&1; then
+ exitError "codesign command not found. You may need to run 'sudo xcode-select -r' to set up Xcode."
+ fi
+ if ! xcrun -f altool > /dev/null 2>&1; then
+ exitError "altool command not found. You may need to run 'sudo xcode-select -r' to set up Xcode."
+ fi
+ if ! xcrun -f stapler > /dev/null 2>&1; then
+ exitError "stapler command not found. You may need to run 'sudo xcode-select -r' to set up Xcode."
fi
}
checkQt5LUpdateExists() {
- if cmdExists lupdate && ! $(lupdate -version | grep -q "lupdate version 5\."); then
+ if cmdExists lupdate && ! $(lupdate -version | $GREP -q "lupdate version 5\."); then
if ! cmdExists lupdate-qt5; then
exitError "Qt Linguist tool (lupdate-qt5) is not installed! Please install using 'apt install qttools5-dev-tools'"
fi
@@ -354,6 +383,8 @@ checkQt5LUpdateExists() {
performChecks() {
logInfo "Performing basic checks..."
+ checkGrepCompat
+
checkSourceDirExists
logInfo "Changing to source directory..."
@@ -498,7 +529,7 @@ merge() {
fi
fi
- CHANGELOG=$(grep -Pzo "(?<=${RELEASE_NAME} \(\d{4}-\d{2}-\d{2}\)\n\n)\n?(?:.|\n)+?\n(?=## )" CHANGELOG.md \
+ CHANGELOG=$($GREP -Pzo "(?<=${RELEASE_NAME} \(\d{4}-\d{2}-\d{2}\)\n\n)\n?(?:.|\n)+?\n(?=## )" CHANGELOG.md \
| sed 's/^### //' | tr -d \\0)
COMMIT_MSG="Release ${RELEASE_NAME}"
@@ -664,14 +695,14 @@ EOF
# Find .desktop files, icons, and binaries to deploy
local desktop_file="$(find "$appdir" -name "org.keepassxc.KeePassXC.desktop" | head -n1)"
- local icon="$(find "$appdir" -name 'keepassxc.png' | grep -P 'application/256x256/apps/keepassxc.png$' | head -n1)"
- local executables="$(IFS=$'\n' find "$appdir" | grep -P '/usr/bin/keepassxc[^/]*$' | xargs -i printf " --executable={}")"
+ local icon="$(find "$appdir" -name 'keepassxc.png' | $GREP -P 'application/256x256/apps/keepassxc.png$' | head -n1)"
+ local executables="$(IFS=$'\n' find "$appdir" | $GREP -P '/usr/bin/keepassxc[^/]*$' | xargs -i printf " --executable={}")"
logInfo "Collecting libs and patching binaries..."
if [ "" == "$DOCKER_IMAGE" ]; then
"$linuxdeploy" --verbosity=${verbosity} --plugin=qt --appdir="$appdir" --desktop-file="$desktop_file" \
--custom-apprun="${out_real}/KeePassXC-AppRun" --icon-file="$icon" ${executables} \
- --library=$(ldconfig -p | grep x86-64 | grep -oP '/[^\s]+/libgpg-error\.so\.\d+$' | head -n1)
+ --library=$(ldconfig -p | $GREP x86-64 | $GREP -oP '/[^\s]+/libgpg-error\.so\.\d+$' | head -n1)
else
desktop_file="${desktop_file//${appdir}/\/keepassxc\/AppDir}"
icon="${icon//${appdir}/\/keepassxc\/AppDir}"
@@ -829,9 +860,10 @@ build() {
RELEASE_NAME="${RELEASE_NAME}-snapshot"
CMAKE_OPTIONS="${CMAKE_OPTIONS} -DKEEPASSXC_BUILD_TYPE=Snapshot -DOVERRIDE_VERSION=${RELEASE_NAME}"
else
+ checkGrepCompat
checkWorkingTreeClean
- if $(echo "$TAG_NAME" | grep -qP "\-(alpha|beta)\\d+\$"); then
+ if $(echo "$TAG_NAME" | $GREP -qP "\-(alpha|beta)\\d+\$"); then
CMAKE_OPTIONS="${CMAKE_OPTIONS} -DKEEPASSXC_BUILD_TYPE=PreRelease"
logInfo "Checking out pre-release tag '${TAG_NAME}'..."
else
@@ -864,7 +896,12 @@ build() {
rm "${prefix}/.version" "${prefix}/.gitrev"
rmdir "${prefix}" 2> /dev/null
- xz -6 "${OUTPUT_DIR}/${tarball_name}"
+ local xz="xz"
+ if ! cmdExists xz; then
+ logWarn "xz not installed. Falling back to bz2..."
+ xz="bzip2"
+ fi
+ $xz -6 "${OUTPUT_DIR}/${tarball_name}"
fi
if ! ${build_snapshot} && [ -e "${OUTPUT_DIR}/build-release" ]; then
@@ -883,7 +920,7 @@ build() {
for p in ${BUILD_PLUGINS}; do
CMAKE_OPTIONS="${CMAKE_OPTIONS} -DWITH_XC_$(echo $p | tr '[:lower:]' '[:upper:]')=On"
done
- if [ "$(uname -o)" == "GNU/Linux" ] && ${build_appimage}; then
+ if [ "$(uname -o 2> /dev/null)" == "GNU/Linux" ] && ${build_appimage}; then
CMAKE_OPTIONS="${CMAKE_OPTIONS} -DKEEPASSXC_DIST_TYPE=AppImage"
# linuxdeploy requires /usr as install prefix
INSTALL_PREFIX="/usr"
@@ -901,7 +938,7 @@ build() {
if [ "" == "$DOCKER_IMAGE" ]; then
if [ "$(uname -s)" == "Darwin" ]; then
# Building on macOS
- export MACOSX_DEPLOYMENT_TARGET=10.10
+ export MACOSX_DEPLOYMENT_TARGET
logInfo "Configuring build..."
cmake -DCMAKE_BUILD_TYPE=Release \
@@ -931,7 +968,7 @@ build() {
# Appsign the executables if desired
if ${build_appsign} && [ -f "${build_key}" ]; then
logInfo "Signing executable files"
- appsign "-f" $(find src | grep -P '\.exe$|\.dll$') "-k" "${build_key}"
+ appsign "-f" $(find src | $GREP -P '\.exe$|\.dll$') "-k" "${build_key}"
fi
# Call cpack directly instead of calling make package.
@@ -998,7 +1035,7 @@ build() {
logInfo "Build finished, Docker container terminated."
fi
- if [ "$(uname -o)" == "GNU/Linux" ] && ${build_appimage}; then
+ if [ "$(uname -o 2> /dev/null)" == "GNU/Linux" ] && ${build_appimage}; then
local appsign_flag=""
local appsign_key_flag=""
local docker_image_flag=""
@@ -1084,6 +1121,8 @@ gpgsign() {
appsign() {
local sign_files=()
local key
+ local ac_username
+ local ac_keychain="AC_PASSWORD"
while [ $# -ge 1 ]; do
local arg="$1"
@@ -1098,6 +1137,14 @@ appsign() {
key="$2"
shift ;;
+ -u|--username)
+ ac_username="$2"
+ shift ;;
+
+ -c|--keychain)
+ ac_keychain="$2"
+ shift ;;
+
-h|--help)
printUsage "appsign"
exit ;;
@@ -1129,9 +1176,15 @@ appsign() {
done
if [ "$(uname -s)" == "Darwin" ]; then
- checkCodesignCommandExists
+ if [ "$ac_username" == "" ]; then
+ exitError "Missing arguments, --username is required!"
+ fi
+
+ checkXcodeSetup
+ checkGrepCompat
local orig_dir="$(pwd)"
+ local real_src_dir="$(realpath "${SRC_DIR}")"
for f in "${sign_files[@]}"; do
if [[ ${f: -4} == '.dmg' ]]; then
logInfo "Unpacking disk image '${f}'..."
@@ -1147,8 +1200,9 @@ appsign() {
exitError "Unpacking failed!"
fi
- logInfo "Signing app using codesign..."
- codesign --sign "${key}" --verbose --deep --entitlements "${SRC_DIR}/share/macosx/keepassxc.entitlements" ./app/KeePassXC.app
+ logInfo "Signing app..."
+ xcrun codesign --sign "${key}" --verbose --deep --entitlements \
+ "${real_src_dir}/share/macosx/keepassxc.entitlements" ./app/KeePassXC.app
if [ 0 -ne $? ]; then
cd "${orig_dir}"
@@ -1164,11 +1218,55 @@ appsign() {
-fsargs "-c c=64,a=16,e=16" \
-format UDBZ \
"${tmp_dir}/$(basename "${f}")"
+
cd "${orig_dir}"
cp -f "${tmp_dir}/$(basename "${f}")" "${f}"
rm -Rf ${tmp_dir}
+
+ logInfo "Submitting disk image for notarization..."
+ local status="$(xcrun altool --notarize-app \
+ --primary-bundle-id "org.keepassxc.keepassxc" \
+ --username "${ac_username}" \
+ --password "@keychain:${ac_keychain}" \
+ --file "${f}")"
+
+ if [ 0 -ne $? ]; then
+ logError "Submission failed!"
+ exitError "Error message:\n${status}"
+ fi
+
+ local ticket="$(echo "${status}" | $GREP -oP "[a-f0-9-]+$")"
+ logInfo "Submission successful. Ticket ID: ${ticket}."
+
+ logInfo "Waiting for notarization to finish (this may take a while)..."
+ while true; do
+ echo -n "."
+
+ status="$(xcrun altool --notarization-info "${ticket}" \
+ --username "${ac_username}" \
+ --password "@keychain:${ac_keychain}")"
+
+ if echo "$status" | $GREP -q "Status Code: 0"; then
+ logInfo "\nNotarization successful."
+ break
+ elif echo "$status" | $GREP -q "Status Code"; then
+ logError "\nNotarization failed!"
+ exitError "Error message:\n${status}"
+ fi
+
+ sleep 5
+ done
+
+ logInfo "Stapling ticket to disk image..."
+ xcrun stapler staple "${f}"
+
+ if [ 0 -ne $? ]; then
+ exitError "Stapling failed!"
+ fi
+
+ logInfo "Disk image successfully signed and notarized."
else
- logInfo "Skipping non-DMG file '${f}'..."
+ logWarn "Skipping non-DMG file '${f}'..."
fi
done
diff --git a/share/docs/man/keepassxc-cli.1 b/share/docs/man/keepassxc-cli.1
index 15d0fedc1..bcc97efae 100644
--- a/share/docs/man/keepassxc-cli.1
+++ b/share/docs/man/keepassxc-cli.1
@@ -182,6 +182,10 @@ an error if no TOTP is configured for the entry.
Shows the named attributes. This option can be specified more than once,
with each attribute shown one-per-line in the given order. If no attributes are
specified and \fI-t\fP is not specified, a summary of the default attributes is given.
+Protected attributes will be displayed in clear text if specified explicitly by this option.
+
+.IP "-s, --show-protected"
+Shows the protected attributes in clear text.
.IP "-t, --totp"
Also shows the current TOTP, reporting an error if no TOTP is configured for
diff --git a/share/linux/org.keepassxc.KeePassXC.appdata.xml b/share/linux/org.keepassxc.KeePassXC.appdata.xml
index 69d26cf54..9d3f76d87 100644
--- a/share/linux/org.keepassxc.KeePassXC.appdata.xml
+++ b/share/linux/org.keepassxc.KeePassXC.appdata.xml
@@ -50,6 +50,32 @@
</screenshots>
<releases>
+ <release version="2.5.1" date="2019-11-11">
+ <description>
+ <ul>
+ <li>Add programmatic use of the EntrySearcher [#3760]</li>
+ <li>Explicitly clear database memory upon locking even if the object is not deleted immediately [#3824]</li>
+ <li>macOS: Add ability to perform notarization of built package [#3827]</li>
+ <li>Reduce file hash checking to every 30 seconds to correct performance issues [#3724]</li>
+ <li>Correct formatting of notes in entry preview widget [#3727]</li>
+ <li>Improve performance and UX of database statistics page [#3780]</li>
+ <li>Improve interface for key file selection to discourage use of the database file [#3807]</li>
+ <li>Hide Auto-Type sequences column when not needed [#3794]</li>
+ <li>macOS: Revert back to using Carbon API for hotkey detection [#3794]</li>
+ <li>CLI: Do not show protected fields by default [#3710]</li>
+ <li>Secret Service: Correct issues interfacing with various applications [#3761]</li>
+ <li>Fix building without additional features [#3693]</li>
+ <li>Fix handling TOTP secret keys that require padding [#3764]</li>
+ <li>Fix database unlock dialog password field focus [#3764]</li>
+ <li>Correctly label open databases as locked on launch [#3764]</li>
+ <li>Prevent infinite recursion when two databases AutoOpen each other [#3764]</li>
+ <li>Browser: Fix incorrect matching of invalid URLs [#3759]</li>
+ <li>Properly stylize the application name on Linux [#3775]</li>
+ <li>Show application icon on Plasma Wayland sessions [#3777]</li>
+ <li>macOS: Check for Auto-Type permissions on use instead of at launch [#3794]</li>
+ </ul>
+ </description>
+ </release>
<release version="2.5.0" date="2019-10-26">
<description>
<ul>
diff --git a/share/macosx/keepassxc.entitlements b/share/macosx/keepassxc.entitlements
index be766090c..2645a2031 100644
--- a/share/macosx/keepassxc.entitlements
+++ b/share/macosx/keepassxc.entitlements
@@ -3,20 +3,31 @@
<plist version="1.0">
<dict>
<key>com.apple.application-identifier</key>
- <string>org.keepassx.keepassxc</string>
+ <string>org.keepassx.keepassxc</string>
<key>com.apple.developer.aps-environment</key>
- <string>production</string>
- <key>com.apple.security.network.client</key>
- <true/>
- <key>com.apple.security.print</key>
- <true/>
- <key>com.apple.security.app-sandbox</key>
- <false/>
+ <string>production</string>
+
<key>keychain-access-groups</key>
- <array>
- <string>org.keepassx.keepassxc</string>
- </array>
+ <array>
+ <string>org.keepassx.keepassxc</string>
+ </array>
+
+ <!-- Sandbox entitlements stub for future reference.
+ For whatever reason, we have to set this twice.
+ Otherwise a signed application crashes on startup -->
+ <key>com.apple.security.app-sandbox</key>
+ <false/>
+ <key>com.apple.security.app-sandbox</key>
+ <false/>
+ <!--key>com.apple.security.network.client</key>
+ <true/>
+ <key>com.apple.security.files.user-selected.read-write</key>
+ <true/>
+ <key>com.apple.security.device.usb</key>
+ <true/>
+ <key>com.apple.security.print</key>
+ <true/>
<key>com.apple.security.files.user-selected.read-only</key>
- <false/>
+ <false/-->
</dict>
-</plist> \ No newline at end of file
+</plist>
diff --git a/share/translations/CMakeLists.txt b/share/translations/CMakeLists.txt
index 5ca739695..ffd4698b0 100644
--- a/share/translations/CMakeLists.txt
+++ b/share/translations/CMakeLists.txt
@@ -33,5 +33,9 @@ endif()
set(QM_FILES ${QM_FILES} ${QTBASE_TRANSLATIONS})
install(FILES ${QM_FILES} DESTINATION ${DATA_INSTALL_DIR}/translations)
+
+# Add keepassx_en.qm as a fallback for uncommon english locales
+install(FILES ${CMAKE_CURRENT_BINARY_DIR}/keepassx_en_US.qm DESTINATION ${DATA_INSTALL_DIR}/translations RENAME keepassx_en.qm)
+
add_custom_target(translations DEPENDS ${QM_FILES})
add_dependencies(${PROGNAME} translations)
diff --git a/share/translations/keepassx_ar.ts b/share/translations/keepassx_ar.ts
index a89fa7533..3fe988b88 100644
--- a/share/translations/keepassx_ar.ts
+++ b/share/translations/keepassx_ar.ts
@@ -444,6 +444,14 @@
<source>This Auto-Type command contains arguments which are repeated very often. Do you really want to proceed?</source>
<translation>هذا الأمر للطباعة التلقائية يحتوي على عبارات مكررة، هل تريد المتابعة؟</translation>
</message>
+ <message>
+ <source>Permission Required</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>KeePassXC requires the Accessibility permission in order to perform entry level Auto-Type. If you already granted permission, you may have to restart KeePassXC.</source>
+ <translation type="unfinished"/>
+ </message>
</context>
<context>
<name>AutoTypeAssociationsModel</name>
@@ -491,6 +499,17 @@
</message>
</context>
<context>
+ <name>AutoTypePlatformMac</name>
+ <message>
+ <source>Permission Required</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>KeePassXC requires the Accessibility and Screen Recorder permission in order to perform global Auto-Type. Screen Recording is necessary to use the window title to find entries. If you already granted permission, you may have to restart KeePassXC.</source>
+ <translation type="unfinished"/>
+ </message>
+</context>
+<context>
<name>AutoTypeSelectDialog</name>
<message>
<source>Auto-Type - KeePassXC</source>
@@ -773,16 +792,6 @@ Please select the correct database for saving credentials.</source>
<translation>KeePassXC: طلب مصادقة Ù…Ùتاح جديد</translation>
</message>
<message>
- <source>You have received an association request for the above key.
-
-If you would like to allow it access to your KeePassXC database,
-give it a unique name to identify and accept it.</source>
- <translation>لقد تلقيت طلب ارتباط للمÙتاح أعلاه.
-
-إذا كنت ترغب ÙÙŠ السماح له بالوصول إلى قاعدة بيانات KeePassXC ØŒ
-إعطه اسم Ùريد لمعرÙته وقبوله.</translation>
- </message>
- <message>
<source>Save and allow access</source>
<translation>Ø­Ùظ والسماح بالوصول</translation>
</message>
@@ -857,6 +866,14 @@ Would you like to migrate your existing settings now?</source>
<source>Don&apos;t show this warning again</source>
<translation>لا تÙظهر هذا التحذير مرة أخرى</translation>
</message>
+ <message>
+ <source>You have received an association request for the following database:
+%1
+
+Give the connection a unique name or ID, for example:
+chrome-laptop.</source>
+ <translation type="unfinished"/>
+ </message>
</context>
<context>
<name>CloneDialog</name>
@@ -1122,10 +1139,6 @@ Please consider generating a new key file.</source>
<translation type="unfinished"/>
</message>
<message>
- <source>Enter Additional Credentials:</source>
- <translation type="unfinished"/>
- </message>
- <message>
<source>Key file selection</source>
<translation type="unfinished"/>
</message>
@@ -1150,11 +1163,6 @@ Please consider generating a new key file.</source>
<translation type="unfinished"/>
</message>
<message>
- <source>&lt;p&gt;You can use a hardware security key such as a &lt;strong&gt;YubiKey&lt;/strong&gt; or &lt;strong&gt;OnlyKey&lt;/strong&gt; with slots configured for HMAC-SHA1.&lt;/p&gt;
- &lt;p&gt;Click for more information...&lt;/p&gt;</source>
- <translation type="unfinished"/>
- </message>
- <message>
<source>Hardware key help</source>
<translation type="unfinished"/>
</message>
@@ -1171,10 +1179,6 @@ Please consider generating a new key file.</source>
<translation type="unfinished"/>
</message>
<message>
- <source>Select file...</source>
- <translation type="unfinished"/>
- </message>
- <message>
<source>Unlock failed and no password given</source>
<translation type="unfinished"/>
</message>
@@ -1189,6 +1193,40 @@ To prevent this error from appearing, you must go to &quot;Database Settings / S
<source>Retry with empty password</source>
<translation type="unfinished"/>
</message>
+ <message>
+ <source>Enter Additional Credentials (if any):</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>&lt;p&gt;You can use a hardware security key such as a &lt;strong&gt;YubiKey&lt;/strong&gt; or &lt;strong&gt;OnlyKey&lt;/strong&gt; with slots configured for HMAC-SHA1.&lt;/p&gt;
+&lt;p&gt;Click for more information...&lt;/p&gt;</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>&lt;p&gt;In addition to your master password, you can use a secret file to enhance the security of your database. Such a file can be generated in your database&apos;s security settings.&lt;/p&gt;&lt;p&gt;This is &lt;strong&gt;not&lt;/strong&gt; your *.kdbx database file!&lt;br&gt;If you do not have a key file, leave the field empty.&lt;/p&gt;&lt;p&gt;Click for more information...&lt;/p&gt;</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Key file help</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>?</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Select key file...</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Cannot use database file as key file</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>You cannot use your database file as a key file.
+If you do not have a key file, please leave the field empty.</source>
+ <translation type="unfinished"/>
+ </message>
</context>
<context>
<name>DatabaseSettingWidgetMetaData</name>
@@ -1822,6 +1860,10 @@ Are you sure you want to continue without a password?</source>
<source>Average password length is less than ten characters. Longer passwords provide more security.</source>
<translation type="unfinished"/>
</message>
+ <message>
+ <source>Please wait, database statistics are being calculated...</source>
+ <translation type="unfinished"/>
+ </message>
</context>
<context>
<name>DatabaseTabWidget</name>
@@ -6240,6 +6282,10 @@ Kernel: %3 %4</source>
<source>Invalid password generator after applying all options</source>
<translation type="unfinished"/>
</message>
+ <message>
+ <source>Show the protected attributes in clear text.</source>
+ <translation type="unfinished"/>
+ </message>
</context>
<context>
<name>QtIOCompressor</name>
diff --git a/share/translations/keepassx_ca.ts b/share/translations/keepassx_ca.ts
index 5cc02be24..056f4b0b0 100644
--- a/share/translations/keepassx_ca.ts
+++ b/share/translations/keepassx_ca.ts
@@ -11,7 +11,7 @@
</message>
<message>
<source>Report bugs at: &lt;a href=&quot;https://github.com/keepassxreboot/keepassxc/issues&quot; style=&quot;text-decoration: underline;&quot;&gt;https://github.com&lt;/a&gt;</source>
- <translation>Reportar errors a: &lt;a href=&quot;https://github.com/keepassxreboot/keepassxc/issues&quot; style=&quot;text-decoration: underline;&quot;&gt;https://github.com&lt;/a&gt;</translation>
+ <translation>Notifica els errors a: &lt;a href=&quot;https://github.com/keepassxreboot/keepassxc/issues&quot; style=&quot;text-decoration: underline;&quot;&gt;https://github.com&lt;/a&gt;</translation>
</message>
<message>
<source>KeePassXC is distributed under the terms of the GNU General Public License (GPL) version 2 or (at your option) version 3.</source>
@@ -31,7 +31,7 @@
</message>
<message>
<source>Include the following information whenever you report a bug:</source>
- <translation>Inclou la següent informació a l&apos;hora de reportar un error:</translation>
+ <translation>Inclou la següent informació a l&apos;hora de notificar un error:</translation>
</message>
<message>
<source>Copy to clipboard</source>
@@ -54,7 +54,7 @@
</message>
<message>
<source>Use OpenSSH for Windows instead of Pageant</source>
- <translation type="unfinished"/>
+ <translation>Utilitza OpenSSH per a Windows enlloc de Pageant</translation>
</message>
</context>
<context>
@@ -93,7 +93,15 @@
</message>
<message>
<source>Follow style</source>
- <translation type="unfinished"/>
+ <translation>Segueix l&apos;estil</translation>
+ </message>
+ <message>
+ <source>Reset Settings?</source>
+ <translation>Restableix la configuració?</translation>
+ </message>
+ <message>
+ <source>Are you sure you want to reset all general and security settings to default?</source>
+ <translation>Esteu segur que voleu reinicialitzar totes les configuracions generals i de seguretat als valors predeterminats?</translation>
</message>
</context>
<context>
@@ -111,20 +119,8 @@
<translation>Obriu només una sola instància del KeePassXC</translation>
</message>
<message>
- <source>Remember last databases</source>
- <translation>Recordeu les últimes bases de dades</translation>
- </message>
- <message>
- <source>Remember last key files and security dongles</source>
- <translation>Recordeu els últims arxius clau i motxilles de seguretat</translation>
- </message>
- <message>
- <source>Load previous databases on startup</source>
- <translation>Carregueu les bases de dades anteriors a l&apos;obrir el KeepassXC</translation>
- </message>
- <message>
<source>Minimize window at application startup</source>
- <translation>Minimitzeu la finestra a l&apos;obrir l&apos;aplicació</translation>
+ <translation>Minimitza la finestra a l&apos;iniciar l&apos;aplicació</translation>
</message>
<message>
<source>File Management</source>
@@ -132,7 +128,7 @@
</message>
<message>
<source>Safely save database files (may be incompatible with Dropbox, etc)</source>
- <translation type="unfinished"/>
+ <translation>Desa amb segurat els fitxers de base de dades (pot ser incompatible amb Dropbox, etc.)</translation>
</message>
<message>
<source>Backup database file before saving</source>
@@ -160,11 +156,7 @@
</message>
<message>
<source>Use group icon on entry creation</source>
- <translation>Utilitzeu la icona del grup al crear una entrada</translation>
- </message>
- <message>
- <source>Minimize when copying to clipboard</source>
- <translation>Minimitzeu en copiar al porta-retalls</translation>
+ <translation>Utilitza la icona del grup al crear una entrada</translation>
</message>
<message>
<source>Hide the entry preview panel</source>
@@ -180,23 +172,19 @@
</message>
<message>
<source>Minimize instead of app exit</source>
- <translation type="unfinished"/>
+ <translation>Minimitza enlloc de sortir de l&apos;app</translation>
</message>
<message>
<source>Show a system tray icon</source>
- <translation>Mostreu una icona a la safata del sistema</translation>
+ <translation>Mostra una icona a la safata del sistema</translation>
</message>
<message>
<source>Dark system tray icon</source>
- <translation type="unfinished"/>
+ <translation>Icona fosca a la safata del sistema</translation>
</message>
<message>
<source>Hide window to system tray when minimized</source>
- <translation>Amagueu la finestra a la safata del sistema quan es minimitze</translation>
- </message>
- <message>
- <source>Language</source>
- <translation>Idioma</translation>
+ <translation>Oculta la finestra a la safata del sistema quan es minimitza</translation>
</message>
<message>
<source>Auto-Type</source>
@@ -204,15 +192,15 @@
</message>
<message>
<source>Use entry title to match windows for global Auto-Type</source>
- <translation type="unfinished"/>
+ <translation>Usa el títol de l&apos;entrada per coincidir amb la finestra per la compleció automàtica global</translation>
</message>
<message>
<source>Use entry URL to match windows for global Auto-Type</source>
- <translation type="unfinished"/>
+ <translation>Usa l&apos;URL d&apos;entrada per lligar amb la finestra per la compleció automàtica global</translation>
</message>
<message>
<source>Always ask before performing Auto-Type</source>
- <translation>Pregunteu sempre abans d&apos;efectuar la compleció automàtica</translation>
+ <translation>Pregunta sempre abans de fer una compleció automàtica</translation>
</message>
<message>
<source>Global Auto-Type shortcut</source>
@@ -220,7 +208,7 @@
</message>
<message>
<source>Auto-Type typing delay</source>
- <translation type="unfinished"/>
+ <translation>Retard d&apos;escriptura de la compleció automàtica</translation>
</message>
<message>
<source> ms</source>
@@ -229,23 +217,104 @@
</message>
<message>
<source>Auto-Type start delay</source>
- <translation type="unfinished"/>
+ <translation>Retard d&apos;inici de la compleció automàtica</translation>
</message>
<message>
- <source>Check for updates at application startup</source>
- <translation>Comprova si hi ha actualitzacions a l&apos;inici</translation>
+ <source>Movable toolbar</source>
+ <translation>Barra d&apos;eines mòbil</translation>
</message>
<message>
- <source>Include pre-releases when checking for updates</source>
- <translation>Inclou versions provisionals quan es comprovi si hi ha actualitzacions</translation>
+ <source>Remember previously used databases</source>
+ <translation>Recorda les bases de dades utilitzades prèviament</translation>
</message>
<message>
- <source>Movable toolbar</source>
- <translation type="unfinished"/>
+ <source>Load previously open databases on startup</source>
+ <translation>Carrega les bases de dades obertes prèviament a l&apos;inici</translation>
+ </message>
+ <message>
+ <source>Remember database key files and security dongles</source>
+ <translation>Recorda els fitxers clau i les motxilles de seguretat</translation>
+ </message>
+ <message>
+ <source>Check for updates at application startup once per week</source>
+ <translation>Comprova si hi ha actualitzacions a l&apos;inici de l&apos;aplicació un cop per setmana</translation>
+ </message>
+ <message>
+ <source>Include beta releases when checking for updates</source>
+ <translation>Inclou les versions beta quan es comprovin les actualitzacions</translation>
+ </message>
+ <message>
+ <source>Button style:</source>
+ <translation>Estil de botó:</translation>
+ </message>
+ <message>
+ <source>Language:</source>
+ <translation>Idioma:</translation>
+ </message>
+ <message>
+ <source>(restart program to activate)</source>
+ <translation>(reinicieu per activar-ho)</translation>
+ </message>
+ <message>
+ <source>Minimize window after unlocking database</source>
+ <translation>Minimitza la finestra després de desbloquejar la base de dades</translation>
+ </message>
+ <message>
+ <source>Minimize when opening a URL</source>
+ <translation>Minimitza en obrir una URL</translation>
+ </message>
+ <message>
+ <source>Hide window when copying to clipboard</source>
+ <translation>Oculta la finestra al copiar al porta-retalls</translation>
+ </message>
+ <message>
+ <source>Minimize</source>
+ <translation>Minimitza</translation>
+ </message>
+ <message>
+ <source>Drop to background</source>
+ <translation>Envia al fons</translation>
+ </message>
+ <message>
+ <source>Favicon download timeout:</source>
+ <translation>Favicon - Temps d&apos;espera de la descàrrega:</translation>
+ </message>
+ <message>
+ <source>Website icon download timeout in seconds</source>
+ <translation>Temps d&apos;espera en segons de la descàrrega d&apos;icones</translation>
+ </message>
+ <message>
+ <source> sec</source>
+ <comment>Seconds</comment>
+ <translation> sec</translation>
+ </message>
+ <message>
+ <source>Toolbar button style</source>
+ <translation>Estil dels botons de la barra d&apos;eines</translation>
+ </message>
+ <message>
+ <source>Use monospaced font for Notes</source>
+ <translation>Utilitza un tipus de lletra monoespai per a les notes</translation>
+ </message>
+ <message>
+ <source>Language selection</source>
+ <translation>Selecció d&apos;idioma</translation>
</message>
<message>
- <source>Button style</source>
- <translation>Estil de botó</translation>
+ <source>Reset Settings to Default</source>
+ <translation>Restableix la configuració per defecte</translation>
+ </message>
+ <message>
+ <source>Global auto-type shortcut</source>
+ <translation>Drecera global de compleció automàtica</translation>
+ </message>
+ <message>
+ <source>Auto-type character typing delay milliseconds</source>
+ <translation>Retard d&apos;escriptura en mil·lisegons de la compleció automàtica</translation>
+ </message>
+ <message>
+ <source>Auto-type start delay milliseconds</source>
+ <translation>Retard d&apos;inici en mil·lisegons de la compleció automàtica</translation>
</message>
</context>
<context>
@@ -273,7 +342,7 @@
</message>
<message>
<source>Forget TouchID after inactivity of</source>
- <translation type="unfinished"/>
+ <translation>Oblida el TouchID després d&apos;una inactivitat de</translation>
</message>
<message>
<source>Convenience</source>
@@ -285,7 +354,7 @@
</message>
<message>
<source>Forget TouchID when session is locked or lid is closed</source>
- <translation type="unfinished"/>
+ <translation>Oblida el TouchID quan la sessió està bloquejada o la tapa està tancada</translation>
</message>
<message>
<source>Lock databases after minimizing the window</source>
@@ -293,7 +362,7 @@
</message>
<message>
<source>Re-lock previously locked database after performing Auto-Type</source>
- <translation type="unfinished"/>
+ <translation>Torna a bloquejar la base de dades prèviament bloquejada després d&apos;una compleció automàtica</translation>
</message>
<message>
<source>Don&apos;t require password repeat when it is visible</source>
@@ -301,26 +370,47 @@
</message>
<message>
<source>Don&apos;t hide passwords when editing them</source>
- <translation type="unfinished"/>
+ <translation>No ocultis les contrasenyes en editar-les</translation>
</message>
<message>
<source>Don&apos;t use placeholder for empty password fields</source>
- <translation type="unfinished"/>
+ <translation>No usis un marcador de posició per als camps buits de contrasenya</translation>
</message>
<message>
<source>Hide passwords in the entry preview panel</source>
- <translation type="unfinished"/>
+ <translation>Oculta les contrasenyes al panell de previsualització de l&apos;entrada</translation>
</message>
<message>
<source>Hide entry notes by default</source>
- <translation type="unfinished"/>
+ <translation>Oculta les notes de l&apos;entrada per defecte</translation>
</message>
<message>
<source>Privacy</source>
<translation>Privacitat</translation>
</message>
<message>
- <source>Use DuckDuckGo as fallback for downloading website icons</source>
+ <source>Use DuckDuckGo service to download website icons</source>
+ <translation>Usa DuckDuckGo per a descarregar icones de llocs web</translation>
+ </message>
+ <message>
+ <source>Clipboard clear seconds</source>
+ <translation>Segons de la neteja del porta-retalls</translation>
+ </message>
+ <message>
+ <source>Touch ID inactivity reset</source>
+ <translation>Reinici per inactivitat del Touch ID</translation>
+ </message>
+ <message>
+ <source>Database lock timeout seconds</source>
+ <translation>Segons de temps d&apos;espera per a bloquejar la base de dades</translation>
+ </message>
+ <message>
+ <source> min</source>
+ <comment>Minutes</comment>
+ <translation>min</translation>
+ </message>
+ <message>
+ <source>Clear search query after</source>
<translation type="unfinished"/>
</message>
</context>
@@ -340,7 +430,7 @@
</message>
<message>
<source>The Syntax of your Auto-Type statement is incorrect!</source>
- <translation type="unfinished"/>
+ <translation>La sintaxi de l&apos;Auto-Type no és correcte!</translation>
</message>
<message>
<source>This Auto-Type command contains a very long delay. Do you really want to proceed?</source>
@@ -354,6 +444,14 @@
<source>This Auto-Type command contains arguments which are repeated very often. Do you really want to proceed?</source>
<translation type="unfinished"/>
</message>
+ <message>
+ <source>Permission Required</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>KeePassXC requires the Accessibility permission in order to perform entry level Auto-Type. If you already granted permission, you may have to restart KeePassXC.</source>
+ <translation type="unfinished"/>
+ </message>
</context>
<context>
<name>AutoTypeAssociationsModel</name>
@@ -390,6 +488,28 @@
</message>
</context>
<context>
+ <name>AutoTypeMatchView</name>
+ <message>
+ <source>Copy &amp;username</source>
+ <translation>Copia el nom d&apos;&amp;usuari</translation>
+ </message>
+ <message>
+ <source>Copy &amp;password</source>
+ <translation>Copia la contrasenya</translation>
+ </message>
+</context>
+<context>
+ <name>AutoTypePlatformMac</name>
+ <message>
+ <source>Permission Required</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>KeePassXC requires the Accessibility and Screen Recorder permission in order to perform global Auto-Type. Screen Recording is necessary to use the window title to find entries. If you already granted permission, you may have to restart KeePassXC.</source>
+ <translation type="unfinished"/>
+ </message>
+</context>
+<context>
<name>AutoTypeSelectDialog</name>
<message>
<source>Auto-Type - KeePassXC</source>
@@ -399,6 +519,10 @@
<source>Select entry to Auto-Type:</source>
<translation>Seleccione l&apos;entrada per a la compleció automàtica:</translation>
</message>
+ <message>
+ <source>Search...</source>
+ <translation>Cerca...</translation>
+ </message>
</context>
<context>
<name>BrowserAccessControlDialog</name>
@@ -424,6 +548,14 @@ Please select whether you want to allow access.</source>
<translation>%1 ha demanat l&apos;accés a contrasenyes pels següents elements.
Seleccioneu si voleu permetre l&apos;accés.</translation>
</message>
+ <message>
+ <source>Allow access</source>
+ <translation>Permetre l&apos;accés</translation>
+ </message>
+ <message>
+ <source>Deny access</source>
+ <translation>Denega l&apos;accés</translation>
+ </message>
</context>
<context>
<name>BrowserEntrySaveDialog</name>
@@ -437,7 +569,7 @@ Seleccioneu si voleu permetre l&apos;accés.</translation>
</message>
<message>
<source>Cancel</source>
- <translation>Cancel·lar</translation>
+ <translation>Cancel·la</translation>
</message>
<message>
<source>You have multiple databases open.
@@ -456,10 +588,6 @@ Please select the correct database for saving credentials.</source>
<translation>Requerit per l&apos;accés a les teues bases de dades amb el navegador KeePassXC</translation>
</message>
<message>
- <source>Enable KeepassXC browser integration</source>
- <translation>Habilita la integració de KeePassXC amb el navegador</translation>
- </message>
- <message>
<source>General</source>
<translation>General</translation>
</message>
@@ -490,11 +618,11 @@ Please select the correct database for saving credentials.</source>
</message>
<message>
<source>Re&amp;quest to unlock the database if it is locked</source>
- <translation>Sol·licitar el desbloqueig de la base de dades si està blocada</translation>
+ <translation>Sol·licita el desbloqueig de la base de dades si està blocada</translation>
</message>
<message>
<source>Only entries with the same scheme (http://, https://, ...) are returned.</source>
- <translation>Només es retornen les entrades amb el mateix esquema (http://, https://, ...)</translation>
+ <translation>Només es retornen les entrades amb el mateix patró (http://, https://, ...)</translation>
</message>
<message>
<source>&amp;Match URL scheme (e.g., https://...)</source>
@@ -516,7 +644,7 @@ Please select the correct database for saving credentials.</source>
<message>
<source>Sort matching credentials by &amp;username</source>
<extracomment>Credentials mean login data requested via browser extension</extracomment>
- <translation type="unfinished"/>
+ <translation>Ordena les entrades coincidents per nom d&apos;&amp;usuari</translation>
</message>
<message>
<source>Advanced</source>
@@ -533,10 +661,6 @@ Please select the correct database for saving credentials.</source>
<translation>No preguntar abans d&apos;act&amp;ualitzar les credencials</translation>
</message>
<message>
- <source>Only the selected database has to be connected with a client.</source>
- <translation>Només s&apos;ha de connectar amb un client, la base de dades seleccionada.</translation>
- </message>
- <message>
<source>Searc&amp;h in all opened databases for matching credentials</source>
<extracomment>Credentials mean login data requested via browser extension</extracomment>
<translation>Cerca en totes les bases de dades obertes, entrades coincidents (crtl + &amp;h)</translation>
@@ -563,16 +687,16 @@ Please select the correct database for saving credentials.</source>
</message>
<message>
<source>Use a &amp;proxy application between KeePassXC and browser extension</source>
- <translation type="unfinished"/>
+ <translation>Usa una aplicació de servidor intermediari entre KeePassXC i l&apos;extensió del navegador</translation>
</message>
<message>
<source>Use a custom proxy location if you installed a proxy manually.</source>
- <translation type="unfinished"/>
+ <translation>Usa una ubicació &amp;personalitzada de servidor intermediari si s&apos;ha instal·lat el servidor intermediari manualment</translation>
</message>
<message>
<source>Use a &amp;custom proxy location</source>
<comment>Meant is the proxy for KeePassXC-Browser</comment>
- <translation type="unfinished"/>
+ <translation>Usa una ubicació &amp;personalitzada de servidor intermediari</translation>
</message>
<message>
<source>Browse...</source>
@@ -585,17 +709,13 @@ Please select the correct database for saving credentials.</source>
</message>
<message>
<source>Select custom proxy location</source>
- <translation type="unfinished"/>
+ <translation>Seleccioneu la ubicació personalitzada del servidor intermediari</translation>
</message>
<message>
<source>&amp;Tor Browser</source>
<translation>Navegador &amp;Tor</translation>
</message>
<message>
- <source>&lt;b&gt;Warning&lt;/b&gt;, the keepassxc-proxy application was not found!&lt;br /&gt;Please check the KeePassXC installation directory or confirm the custom path in advanced options.&lt;br /&gt;Browser integration WILL NOT WORK without the proxy application.&lt;br /&gt;Expected Path: </source>
- <translation type="unfinished"/>
- </message>
- <message>
<source>Executable Files</source>
<translation>Fitxers executables</translation>
</message>
@@ -606,7 +726,7 @@ Please select the correct database for saving credentials.</source>
<message>
<source>Do not ask permission for HTTP &amp;Basic Auth</source>
<extracomment>An extra HTTP Basic Auth setting</extracomment>
- <translation type="unfinished"/>
+ <translation>No demanis permís per a HTTP &amp;BASIC Auth</translation>
</message>
<message>
<source>Due to Snap sandboxing, you must run a script to enable browser integration.&lt;br /&gt;You can obtain this script from %1</source>
@@ -614,12 +734,56 @@ Please select the correct database for saving credentials.</source>
</message>
<message>
<source>Please see special instructions for browser extension use below</source>
- <translation type="unfinished"/>
+ <translation>Vegeu a sota les instruccions especials per a l&apos;ús d&apos;extensions del navegador</translation>
</message>
<message>
<source>KeePassXC-Browser is needed for the browser integration to work. &lt;br /&gt;Download it for %1 and %2. %3</source>
<translation type="unfinished"/>
</message>
+ <message>
+ <source>&amp;Brave</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Returns expired credentials. String [expired] is added to the title.</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>&amp;Allow returning expired credentials.</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Enable browser integration</source>
+ <translation>Habilita la integració del navegador</translation>
+ </message>
+ <message>
+ <source>Browsers installed as snaps are currently not supported.</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>All databases connected to the extension will return matching credentials.</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Don&apos;t display the popup suggesting migration of legacy KeePassHTTP settings.</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>&amp;Do not prompt for KeePassHTTP settings migration.</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Custom proxy location field</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Browser for custom proxy file</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>&lt;b&gt;Warning&lt;/b&gt;, the keepassxc-proxy application was not found!&lt;br /&gt;Please check the KeePassXC installation directory or confirm the custom path in advanced options.&lt;br /&gt;Browser integration WILL NOT WORK without the proxy application.&lt;br /&gt;Expected Path: %1</source>
+ <translation type="unfinished"/>
+ </message>
</context>
<context>
<name>BrowserService</name>
@@ -628,15 +792,8 @@ Please select the correct database for saving credentials.</source>
<translation>KeePassXC: Nova petició de associació de clau</translation>
</message>
<message>
- <source>You have received an association request for the above key.
-
-If you would like to allow it access to your KeePassXC database,
-give it a unique name to identify and accept it.</source>
- <translation type="unfinished"/>
- </message>
- <message>
<source>Save and allow access</source>
- <translation>Desa i autoritza l&apos;accès</translation>
+ <translation>Desa i autoritza l&apos;accés</translation>
</message>
<message>
<source>KeePassXC: Overwrite existing key?</source>
@@ -645,7 +802,7 @@ give it a unique name to identify and accept it.</source>
<message>
<source>A shared encryption key with the name &quot;%1&quot; already exists.
Do you want to overwrite it?</source>
- <translation>Ja existeix una clau de xifrat compartida amb el nom &quot;%1&quot;.
+ <translation>Ja existeix una clau de xifratge compartida amb el nom &quot;%1&quot;.
Voleu sobreescriure-la?</translation>
</message>
<message>
@@ -662,11 +819,11 @@ Voleu sobreescriure-la?</translation>
</message>
<message>
<source>Converting attributes to custom data…</source>
- <translation type="unfinished"/>
+ <translation>Conversió d&apos;atributs a dades personalitzades...</translation>
</message>
<message>
<source>KeePassXC: Converted KeePassHTTP attributes</source>
- <translation type="unfinished"/>
+ <translation>KeePassXC: atributs convertits de KeePassHTTP</translation>
</message>
<message>
<source>Successfully converted attributes from %1 entry(s).
@@ -691,7 +848,7 @@ Moved %2 keys to custom data.</source>
</message>
<message>
<source>KeePassXC: Create a new group</source>
- <translation type="unfinished"/>
+ <translation>KeePassXC: crea un grup nou</translation>
</message>
<message>
<source>A request for creating a new group &quot;%1&quot; has been received.
@@ -705,6 +862,18 @@ This is necessary to maintain your current browser connections.
Would you like to migrate your existing settings now?</source>
<translation type="unfinished"/>
</message>
+ <message>
+ <source>Don&apos;t show this warning again</source>
+ <translation>No tornis a mostrar aquest avís</translation>
+ </message>
+ <message>
+ <source>You have received an association request for the following database:
+%1
+
+Give the connection a unique name or ID, for example:
+chrome-laptop.</source>
+ <translation type="unfinished"/>
+ </message>
</context>
<context>
<name>CloneDialog</name>
@@ -722,7 +891,7 @@ Would you like to migrate your existing settings now?</source>
</message>
<message>
<source>Copy history</source>
- <translation>Còpia el historial</translation>
+ <translation>Copia l&apos;historial</translation>
</message>
</context>
<context>
@@ -764,10 +933,6 @@ Would you like to migrate your existing settings now?</source>
<translation>El primer registre conté els noms de camp</translation>
</message>
<message>
- <source>Number of headers line to discard</source>
- <translation>Número de línies amb capçaleres per a descartar</translation>
- </message>
- <message>
<source>Consider &apos;\&apos; an escape character</source>
<translation>Considera &apos; \&apos; com un caràcter d&apos;escapada</translation>
</message>
@@ -797,15 +962,15 @@ Would you like to migrate your existing settings now?</source>
</message>
<message>
<source>Empty fieldname %1</source>
- <translation type="unfinished"/>
+ <translation>Nom de camp buit %1</translation>
</message>
<message>
<source>column %1</source>
- <translation type="unfinished"/>
+ <translation>columna %1</translation>
</message>
<message>
<source>Error(s) detected in CSV file!</source>
- <translation type="unfinished"/>
+ <translation>S&apos;han detectat errors al fitxer CSV!</translation>
</message>
<message numerus="yes">
<source>[%n more message(s) skipped]</source>
@@ -814,14 +979,31 @@ Would you like to migrate your existing settings now?</source>
<message>
<source>CSV import: writer has errors:
%1</source>
+ <translation>Importació CSV: writer té errors:
+%1</translation>
+ </message>
+ <message>
+ <source>Text qualification</source>
<translation type="unfinished"/>
</message>
+ <message>
+ <source>Field separation</source>
+ <translation>Separador de camp</translation>
+ </message>
+ <message>
+ <source>Number of header lines to discard</source>
+ <translation>Nombre de línies de la capçalera a descartar</translation>
+ </message>
+ <message>
+ <source>CSV import preview</source>
+ <translation>Previsualització de la importació CSV</translation>
+ </message>
</context>
<context>
<name>CsvParserModel</name>
<message numerus="yes">
<source>%n column(s)</source>
- <translation><numerusform>%n columna(es)</numerusform><numerusform>%n columna(es)</numerusform></translation>
+ <translation><numerusform>% n columna (s)</numerusform><numerusform>%n columna/es</numerusform></translation>
</message>
<message>
<source>%1, %2, %3</source>
@@ -830,11 +1012,11 @@ Would you like to migrate your existing settings now?</source>
</message>
<message numerus="yes">
<source>%n byte(s)</source>
- <translation><numerusform>%n byte(s)</numerusform><numerusform>%n byte(s)</numerusform></translation>
+ <translation><numerusform>% n bytes (s)</numerusform><numerusform>%n byte(s)</numerusform></translation>
</message>
<message numerus="yes">
<source>%n row(s)</source>
- <translation><numerusform>%n fila(es)</numerusform><numerusform>%n fila(es)</numerusform></translation>
+ <translation><numerusform>% n files (s)</numerusform><numerusform>%n fila/es</numerusform></translation>
</message>
</context>
<context>
@@ -846,65 +1028,67 @@ Would you like to migrate your existing settings now?</source>
</message>
<message>
<source>File %1 does not exist.</source>
- <translation type="unfinished"/>
+ <translation>El fitxer %1 no existeix.</translation>
</message>
<message>
<source>Unable to open file %1.</source>
- <translation type="unfinished"/>
+ <translation>No s&apos;ha pogut obrir el fitxer %1.</translation>
</message>
<message>
<source>Error while reading the database: %1</source>
- <translation type="unfinished"/>
- </message>
- <message>
- <source>Could not save, database has no file name.</source>
- <translation type="unfinished"/>
+ <translation>S&apos;ha produït un error al llegir la base de dades: %1</translation>
</message>
<message>
<source>File cannot be written as it is opened in read-only mode.</source>
- <translation type="unfinished"/>
+ <translation>El fitxer no es pot escriure perquè s&apos;ha obert en mode només de lectura.</translation>
</message>
<message>
<source>Key not transformed. This is a bug, please report it to the developers!</source>
- <translation type="unfinished"/>
+ <translation>La clau no s&apos;ha transformat. Això és un error, notifica als desenvolupadors!</translation>
+ </message>
+ <message>
+ <source>%1
+Backup database located at %2</source>
+ <translation>%1
+Còpia de seguretat de la base de dades situada a %2</translation>
+ </message>
+ <message>
+ <source>Could not save, database does not point to a valid file.</source>
+ <translation>No s&apos;ha pogut desar, la base de dades no apunta a un fitxer vàlid.</translation>
+ </message>
+ <message>
+ <source>Could not save, database file is read-only.</source>
+ <translation>No s&apos;ha pogut desar, el fitxer de base de dades és de només lectura.</translation>
+ </message>
+ <message>
+ <source>Database file has unmerged changes.</source>
+ <translation>El fitxer de base de dades té canvis no fusionats.</translation>
+ </message>
+ <message>
+ <source>Recycle Bin</source>
+ <translation>Paperera</translation>
</message>
</context>
<context>
<name>DatabaseOpenDialog</name>
<message>
<source>Unlock Database - KeePassXC</source>
- <translation type="unfinished"/>
+ <translation>Desbloqueja la base de dades - KeePassXC</translation>
</message>
</context>
<context>
<name>DatabaseOpenWidget</name>
<message>
- <source>Enter master key</source>
- <translation>Introduïu la clau mestra</translation>
- </message>
- <message>
<source>Key File:</source>
<translation>Fitxer clau:</translation>
</message>
<message>
- <source>Password:</source>
- <translation>Contrasenya:</translation>
- </message>
- <message>
- <source>Browse</source>
- <translation>Navega</translation>
- </message>
- <message>
<source>Refresh</source>
<translation>Actualitza</translation>
</message>
<message>
- <source>Challenge Response:</source>
- <translation>Pregunta/resposta</translation>
- </message>
- <message>
<source>Legacy key file format</source>
- <translation type="unfinished"/>
+ <translation>Format de fitxer clau antic</translation>
</message>
<message>
<source>You are using a legacy key file format which may become
@@ -915,7 +1099,7 @@ Please consider generating a new key file.</source>
</message>
<message>
<source>Don&apos;t show this warning again</source>
- <translation type="unfinished"/>
+ <translation>No tornis a mostrar aquest avís</translation>
</message>
<message>
<source>All files</source>
@@ -930,17 +1114,116 @@ Please consider generating a new key file.</source>
<translation>Seleccioneu el fitxer de clau</translation>
</message>
<message>
- <source>TouchID for quick unlock</source>
+ <source>Failed to open key file: %1</source>
+ <translation>No s&apos;ha pogut obrir el fitxer de clau: %1</translation>
+ </message>
+ <message>
+ <source>Select slot...</source>
+ <translation>Selecciona una ranura...</translation>
+ </message>
+ <message>
+ <source>Unlock KeePassXC Database</source>
+ <translation>Desbloqueja la base de dades de KeePassXC</translation>
+ </message>
+ <message>
+ <source>Enter Password:</source>
+ <translation>Introduïu la contrasenya:</translation>
+ </message>
+ <message>
+ <source>Password field</source>
+ <translation>Camp de contrasenya</translation>
+ </message>
+ <message>
+ <source>Toggle password visibility</source>
+ <translation>Commuta la visibilitat de la contrasenya</translation>
+ </message>
+ <message>
+ <source>Key file selection</source>
+ <translation>Selecció del fitxer clau</translation>
+ </message>
+ <message>
+ <source>Hardware key slot selection</source>
+ <translation>Selecció de la ranura de la motxilla</translation>
+ </message>
+ <message>
+ <source>Browse for key file</source>
<translation type="unfinished"/>
</message>
<message>
- <source>Unable to open the database:
-%1</source>
+ <source>Browse...</source>
+ <translation>Navega...</translation>
+ </message>
+ <message>
+ <source>Refresh hardware tokens</source>
+ <translation>Refresca els testimonis de maquinari</translation>
+ </message>
+ <message>
+ <source>Hardware Key:</source>
+ <translation>Motxilla:</translation>
+ </message>
+ <message>
+ <source>Hardware key help</source>
+ <translation>Ajuda de la motxilla</translation>
+ </message>
+ <message>
+ <source>TouchID for Quick Unlock</source>
+ <translation>TouchID per desbloquejar ràpidament</translation>
+ </message>
+ <message>
+ <source>Clear</source>
+ <translation>Neteja</translation>
+ </message>
+ <message>
+ <source>Clear Key File</source>
<translation type="unfinished"/>
</message>
<message>
- <source>Can't open key file:
-%1</source>
+ <source>Unlock failed and no password given</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Unlocking the database failed and you did not enter a password.
+Do you want to retry with an &quot;empty&quot; password instead?
+
+To prevent this error from appearing, you must go to &quot;Database Settings / Security&quot; and reset your password.</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Retry with empty password</source>
+ <translation>Torna-ho a provar amb la contrasenya buida</translation>
+ </message>
+ <message>
+ <source>Enter Additional Credentials (if any):</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>&lt;p&gt;You can use a hardware security key such as a &lt;strong&gt;YubiKey&lt;/strong&gt; or &lt;strong&gt;OnlyKey&lt;/strong&gt; with slots configured for HMAC-SHA1.&lt;/p&gt;
+&lt;p&gt;Click for more information...&lt;/p&gt;</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>&lt;p&gt;In addition to your master password, you can use a secret file to enhance the security of your database. Such a file can be generated in your database&apos;s security settings.&lt;/p&gt;&lt;p&gt;This is &lt;strong&gt;not&lt;/strong&gt; your *.kdbx database file!&lt;br&gt;If you do not have a key file, leave the field empty.&lt;/p&gt;&lt;p&gt;Click for more information...&lt;/p&gt;</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Key file help</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>?</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Select key file...</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Cannot use database file as key file</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>You cannot use your database file as a key file.
+If you do not have a key file, please leave the field empty.</source>
<translation type="unfinished"/>
</message>
</context>
@@ -982,7 +1265,7 @@ Please consider generating a new key file.</source>
<name>DatabaseSettingsWidgetBrowser</name>
<message>
<source>KeePassXC-Browser settings</source>
- <translation type="unfinished"/>
+ <translation>KeePassXC-Configuració del navegador</translation>
</message>
<message>
<source>&amp;Disconnect all browsers</source>
@@ -1027,12 +1310,13 @@ This may prevent connection to the browser plugin.</source>
</message>
<message>
<source>Disconnect all browsers</source>
- <translation type="unfinished"/>
+ <translation>Desconnecta tots els navegadors</translation>
</message>
<message>
<source>Do you really want to disconnect all browsers?
This may prevent connection to the browser plugin.</source>
- <translation type="unfinished"/>
+ <translation>Esteu segur que voleu desconnectar tots els navegadors?
+Això pot impedir la connexió al connector del navegador.</translation>
</message>
<message>
<source>KeePassXC: No keys found</source>
@@ -1085,19 +1369,27 @@ Permissions to access entries will be revoked.</source>
</message>
<message>
<source>Move KeePassHTTP attributes to custom data</source>
- <translation type="unfinished"/>
+ <translation>Desplaça els atributs de KeePassHTTP a dades personalitzades</translation>
</message>
<message>
<source>Do you really want to move all legacy browser integration data to the latest standard?
This is necessary to maintain compatibility with the browser plugin.</source>
<translation type="unfinished"/>
</message>
+ <message>
+ <source>Stored browser keys</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Remove selected key</source>
+ <translation>Suprimeix la clau seleccionada</translation>
+ </message>
</context>
<context>
<name>DatabaseSettingsWidgetEncryption</name>
<message>
<source>Encryption Algorithm:</source>
- <translation>Algorisme de d’encriptatge:</translation>
+ <translation>Algorisme de xifratge:</translation>
</message>
<message>
<source>AES: 256 Bit (default)</source>
@@ -1109,7 +1401,7 @@ This is necessary to maintain compatibility with the browser plugin.</source>
</message>
<message>
<source>Key Derivation Function:</source>
- <translation type="unfinished"/>
+ <translation>Funció de derivació de clau:</translation>
</message>
<message>
<source>Transform rounds:</source>
@@ -1125,7 +1417,7 @@ This is necessary to maintain compatibility with the browser plugin.</source>
</message>
<message>
<source>Parallelism:</source>
- <translation type="unfinished"/>
+ <translation>Paral·lelisme:</translation>
</message>
<message>
<source>Decryption Time:</source>
@@ -1137,7 +1429,7 @@ This is necessary to maintain compatibility with the browser plugin.</source>
</message>
<message>
<source>Change</source>
- <translation type="unfinished"/>
+ <translation>Canvia</translation>
</message>
<message>
<source>100 ms</source>
@@ -1149,15 +1441,15 @@ This is necessary to maintain compatibility with the browser plugin.</source>
</message>
<message>
<source>Higher values offer more protection, but opening the database will take longer.</source>
- <translation type="unfinished"/>
+ <translation>Els valors més alts ofereixen més protecció, però es trigarà més a obrir la base de dades.</translation>
</message>
<message>
<source>Database format:</source>
- <translation type="unfinished"/>
+ <translation>Format de la base de dades:</translation>
</message>
<message>
<source>This is only important if you need to use your database with other programs.</source>
- <translation type="unfinished"/>
+ <translation>Això només és important si necessiteu utilitzar la vostra base de dades amb altres programes.</translation>
</message>
<message>
<source>KDBX 4.0 (recommended)</source>
@@ -1170,12 +1462,12 @@ This is necessary to maintain compatibility with the browser plugin.</source>
<message>
<source>unchanged</source>
<comment>Database decryption time is unchanged</comment>
- <translation type="unfinished"/>
+ <translation>Inalterat</translation>
</message>
<message>
<source>Number of rounds too high</source>
<comment>Key transformation rounds</comment>
- <translation type="unfinished"/>
+ <translation>Nombre de rondes massa alt</translation>
</message>
<message>
<source>You are using a very high number of key transform rounds with Argon2.
@@ -1189,12 +1481,12 @@ If you keep this number, your database may take hours or days (or even longer) t
</message>
<message>
<source>Cancel</source>
- <translation>Cancel·lar</translation>
+ <translation>Cancel·la</translation>
</message>
<message>
<source>Number of rounds too low</source>
<comment>Key transformation rounds</comment>
- <translation type="unfinished"/>
+ <translation>Nombre de rondes massa baix</translation>
</message>
<message>
<source>You are using a very low number of key transform rounds with AES-KDF.
@@ -1204,7 +1496,7 @@ If you keep this number, your database may be too easy to crack!</source>
</message>
<message>
<source>KDF unchanged</source>
- <translation type="unfinished"/>
+ <translation>KDF sense canvis</translation>
</message>
<message>
<source>Failed to transform key with new KDF parameters; KDF unchanged.</source>
@@ -1213,29 +1505,80 @@ If you keep this number, your database may be too easy to crack!</source>
<message numerus="yes">
<source> MiB</source>
<comment>Abbreviation for Mebibytes (KDF settings)</comment>
- <translation><numerusform> MiB</numerusform><numerusform> MiB</numerusform></translation>
+ <translation><numerusform>MiB</numerusform><numerusform>MiB</numerusform></translation>
</message>
<message numerus="yes">
<source> thread(s)</source>
<comment>Threads for parallel execution (KDF settings)</comment>
- <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
+ <translation><numerusform>Thread (s)</numerusform><numerusform>fil(s)</numerusform></translation>
</message>
<message numerus="yes">
<source>%1 ms</source>
<comment>milliseconds</comment>
- <translation><numerusform>%1 ms</numerusform><numerusform>%1 ms</numerusform></translation>
+ <translation><numerusform>%1 MS</numerusform><numerusform>%1 ms</numerusform></translation>
</message>
<message numerus="yes">
<source>%1 s</source>
<comment>seconds</comment>
<translation><numerusform>%1 s</numerusform><numerusform>%1 s</numerusform></translation>
</message>
+ <message>
+ <source>Change existing decryption time</source>
+ <translation>Canvia el temps de desxifrat existent</translation>
+ </message>
+ <message>
+ <source>Decryption time in seconds</source>
+ <translation>Temps de desxifrat en segons</translation>
+ </message>
+ <message>
+ <source>Database format</source>
+ <translation>Format de la base de dades</translation>
+ </message>
+ <message>
+ <source>Encryption algorithm</source>
+ <translation>Algoritme de xifrat</translation>
+ </message>
+ <message>
+ <source>Key derivation function</source>
+ <translation>Funció de derivació de clau</translation>
+ </message>
+ <message>
+ <source>Transform rounds</source>
+ <translation>Rondes de transformació</translation>
+ </message>
+ <message>
+ <source>Memory usage</source>
+ <translation>Ús de la memòria</translation>
+ </message>
+ <message>
+ <source>Parallelism</source>
+ <translation>Paral·lelisme</translation>
+ </message>
+</context>
+<context>
+ <name>DatabaseSettingsWidgetFdoSecrets</name>
+ <message>
+ <source>Exposed Entries</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Don&apos;t e&amp;xpose this database</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Expose entries &amp;under this group:</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Enable fd.o Secret Service to access these settings.</source>
+ <translation type="unfinished"/>
+ </message>
</context>
<context>
<name>DatabaseSettingsWidgetGeneral</name>
<message>
<source>Database Meta Data</source>
- <translation type="unfinished"/>
+ <translation>Metadades de la base de dades</translation>
</message>
<message>
<source>Database name:</source>
@@ -1271,22 +1614,55 @@ If you keep this number, your database may be too easy to crack!</source>
</message>
<message>
<source>Additional Database Settings</source>
- <translation type="unfinished"/>
+ <translation>Configuració addicional de la base de dades</translation>
</message>
<message>
<source>Enable &amp;compression (recommended)</source>
+ <translation>Habilita la &amp;compressió (recomanat)</translation>
+ </message>
+ <message>
+ <source>Database name field</source>
+ <translation>Camp de nom de la base de dades</translation>
+ </message>
+ <message>
+ <source>Database description field</source>
+ <translation>Camp de descripció de la base de dades</translation>
+ </message>
+ <message>
+ <source>Default username field</source>
+ <translation>Camp d&apos;usuari predeterminat</translation>
+ </message>
+ <message>
+ <source>Maximum number of history items per entry</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Maximum size of history per entry</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Delete Recycle Bin</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Do you want to delete the current recycle bin and all its contents?
+This action is not reversible.</source>
<translation type="unfinished"/>
</message>
+ <message>
+ <source> (old)</source>
+ <translation>(antic)</translation>
+ </message>
</context>
<context>
<name>DatabaseSettingsWidgetKeeShare</name>
<message>
<source>Sharing</source>
- <translation type="unfinished"/>
+ <translation>Compartició</translation>
</message>
<message>
<source>Breadcrumb</source>
- <translation type="unfinished"/>
+ <translation>Ruta de navegació</translation>
</message>
<message>
<source>Type</source>
@@ -1307,26 +1683,26 @@ If you keep this number, your database may be too easy to crack!</source>
<message>
<source> &gt; </source>
<comment>Breadcrumb separator</comment>
- <translation type="unfinished"/>
+ <translation>&gt;</translation>
</message>
</context>
<context>
<name>DatabaseSettingsWidgetMasterKey</name>
<message>
<source>Add additional protection...</source>
- <translation type="unfinished"/>
+ <translation>Afegeix una protecció addicional...</translation>
</message>
<message>
<source>No encryption key added</source>
- <translation type="unfinished"/>
+ <translation>No s&apos;ha afegit cap clau de xifrat</translation>
</message>
<message>
<source>You must add at least one encryption key to secure your database!</source>
- <translation type="unfinished"/>
+ <translation>S&apos;ha d&apos;afegir com a mínim una clau d&apos;encriptació per assegurar la base de dades!</translation>
</message>
<message>
<source>No password set</source>
- <translation type="unfinished"/>
+ <translation>Sense contrasenya</translation>
</message>
<message>
<source>WARNING! You have not set a password. Using a database without a password is strongly discouraged!
@@ -1342,6 +1718,10 @@ Are you sure you want to continue without a password?</source>
<source>Failed to change master key</source>
<translation>No s&apos;ha pogut canviar la clau mestra</translation>
</message>
+ <message>
+ <source>Continue without password</source>
+ <translation>Continua sense contrasenya</translation>
+ </message>
</context>
<context>
<name>DatabaseSettingsWidgetMetaDataSimple</name>
@@ -1353,6 +1733,133 @@ Are you sure you want to continue without a password?</source>
<source>Description:</source>
<translation>Descripció:</translation>
</message>
+ <message>
+ <source>Database name field</source>
+ <translation>Camp de nom de la base de dades</translation>
+ </message>
+ <message>
+ <source>Database description field</source>
+ <translation>Camp de descripció de la base de dades</translation>
+ </message>
+</context>
+<context>
+ <name>DatabaseSettingsWidgetStatistics</name>
+ <message>
+ <source>Statistics</source>
+ <translation>Estadístiques</translation>
+ </message>
+ <message>
+ <source>Hover over lines with error icons for further information.</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Name</source>
+ <translation>Nom</translation>
+ </message>
+ <message>
+ <source>Value</source>
+ <translation>Valor</translation>
+ </message>
+ <message>
+ <source>Database name</source>
+ <translation>Nom de la base de dades</translation>
+ </message>
+ <message>
+ <source>Description</source>
+ <translation>Descripció</translation>
+ </message>
+ <message>
+ <source>Location</source>
+ <translation>Ubicació</translation>
+ </message>
+ <message>
+ <source>Last saved</source>
+ <translation>Desat per darrera vegada</translation>
+ </message>
+ <message>
+ <source>Unsaved changes</source>
+ <translation>Canvis no desats</translation>
+ </message>
+ <message>
+ <source>yes</source>
+ <translation>sí</translation>
+ </message>
+ <message>
+ <source>no</source>
+ <translation>no</translation>
+ </message>
+ <message>
+ <source>The database was modified, but the changes have not yet been saved to disk.</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Number of groups</source>
+ <translation>Nombre de grups</translation>
+ </message>
+ <message>
+ <source>Number of entries</source>
+ <translation>Nombre d&apos;entrades</translation>
+ </message>
+ <message>
+ <source>Number of expired entries</source>
+ <translation>Nombre d&apos;entrades caducades</translation>
+ </message>
+ <message>
+ <source>The database contains entries that have expired.</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Unique passwords</source>
+ <translation>Contrasenyes úniques</translation>
+ </message>
+ <message>
+ <source>Non-unique passwords</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>More than 10% of passwords are reused. Use unique passwords when possible.</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Maximum password reuse</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Some passwords are used more than three times. Use unique passwords when possible.</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Number of short passwords</source>
+ <translation>Nombre de contrasenyes curtes</translation>
+ </message>
+ <message>
+ <source>Recommended minimum password length is at least 8 characters.</source>
+ <translation>La longitud mínima recomanada de la contrasenya és d&apos;almenys 8 caràcters.</translation>
+ </message>
+ <message>
+ <source>Number of weak passwords</source>
+ <translation>Nombre de contrasenyes febles</translation>
+ </message>
+ <message>
+ <source>Recommend using long, randomized passwords with a rating of &apos;good&apos; or &apos;excellent&apos;.</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Average password length</source>
+ <translation>Longitud mitjana de les contrasenyes</translation>
+ </message>
+ <message>
+ <source>%1 characters</source>
+ <translation>%1 caràcters</translation>
+ </message>
+ <message>
+ <source>Average password length is less than ten characters. Longer passwords provide more security.</source>
+ <translation>La longitud mitjana de les contrasenyes és inferior a 10 caràcters. Les contrasenyes més llargues proporcionen més seguretat.</translation>
+ </message>
+ <message>
+ <source>Please wait, database statistics are being calculated...</source>
+ <translation type="unfinished"/>
+ </message>
</context>
<context>
<name>DatabaseTabWidget</name>
@@ -1394,7 +1901,7 @@ Are you sure you want to continue without a password?</source>
</message>
<message>
<source>Database creation error</source>
- <translation type="unfinished"/>
+ <translation>Error de creació de la base de dades</translation>
</message>
<message>
<source>The created database has no key or KDF, refusing to save it.
@@ -1402,12 +1909,8 @@ This is definitely a bug, please report it to the developers.</source>
<translation type="unfinished"/>
</message>
<message>
- <source>The database file does not exist or is not accessible.</source>
- <translation type="unfinished"/>
- </message>
- <message>
<source>Select CSV file</source>
- <translation type="unfinished"/>
+ <translation>Selecciona un fitxer CSV</translation>
</message>
<message>
<source>New Database</source>
@@ -1416,16 +1919,40 @@ This is definitely a bug, please report it to the developers.</source>
<message>
<source>%1 [New Database]</source>
<comment>Database tab name modifier</comment>
- <translation type="unfinished"/>
+ <translation>%1 [nova base de dades]</translation>
</message>
<message>
<source>%1 [Locked]</source>
<comment>Database tab name modifier</comment>
- <translation type="unfinished"/>
+ <translation>%1 [Bloquejat]</translation>
</message>
<message>
<source>%1 [Read-only]</source>
<comment>Database tab name modifier</comment>
+ <translation>%1 [només de lectura]</translation>
+ </message>
+ <message>
+ <source>Failed to open %1. It either does not exist or is not accessible.</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Export database to HTML file</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>HTML file</source>
+ <translation>Fitxer HTML</translation>
+ </message>
+ <message>
+ <source>Writing the HTML file failed.</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Export Confirmation</source>
+ <translation>Confirmació de l&apos;exportació</translation>
+ </message>
+ <message>
+ <source>You are about to export your database to an unencrypted file. This will leave your passwords and sensitive information vulnerable! Are you sure you want to continue?</source>
<translation type="unfinished"/>
</message>
</context>
@@ -1457,7 +1984,7 @@ This is definitely a bug, please report it to the developers.</source>
</message>
<message>
<source>Remember my choice</source>
- <translation>Recordar la meva elecció</translation>
+ <translation>Recorda la meva elecció</translation>
</message>
<message>
<source>Do you really want to delete the group &quot;%1&quot; for good?</source>
@@ -1481,7 +2008,7 @@ This is definitely a bug, please report it to the developers.</source>
</message>
<message>
<source>File has changed</source>
- <translation type="unfinished"/>
+ <translation>El fitxer ha canviat</translation>
</message>
<message>
<source>The database file has changed. Do you want to load the changes?</source>
@@ -1494,7 +2021,8 @@ This is definitely a bug, please report it to the developers.</source>
<message>
<source>The database file has changed and you have unsaved changes.
Do you want to merge your changes?</source>
- <translation type="unfinished"/>
+ <translation>El fitxer de base de dades ha canviat i teniu canvis sense desar.
+Voleu fusionar els canvis?</translation>
</message>
<message>
<source>Empty recycle bin?</source>
@@ -1517,16 +2045,12 @@ Do you want to merge your changes?</source>
<translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
</message>
<message>
- <source>File opened in read only mode.</source>
- <translation>Arxiu obert en mode de només lectura.</translation>
- </message>
- <message>
<source>Lock Database?</source>
- <translation type="unfinished"/>
+ <translation>Voleu bloquejar la base de dades?</translation>
</message>
<message>
<source>You are editing an entry. Discard changes and lock anyway?</source>
- <translation type="unfinished"/>
+ <translation>Esteu editant una entrada. Voleu descartar els canvis i bloquejar de totes maneres?</translation>
</message>
<message>
<source>&quot;%1&quot; was modified.
@@ -1537,7 +2061,8 @@ Voleu desar els canvis?</translation>
<message>
<source>Database was modified.
Save changes?</source>
- <translation type="unfinished"/>
+ <translation>S&apos;ha modificat la base de dades.
+Voleu desar els canvis?</translation>
</message>
<message>
<source>Save changes?</source>
@@ -1546,21 +2071,18 @@ Save changes?</source>
<message>
<source>Could not open the new database file while attempting to autoreload.
Error: %1</source>
- <translation type="unfinished"/>
+ <translation>No es pot obrir el nou fitxer de base de dades mentre intenteu la recàrrega automàtica.
+Error: %1</translation>
</message>
<message>
<source>Disable safe saves?</source>
- <translation type="unfinished"/>
+ <translation>Voleu deshabilitar el desat segur?</translation>
</message>
<message>
<source>KeePassXC has failed to save the database multiple times. This is likely caused by file sync services holding a lock on the save file.
Disable safe saves and try again?</source>
- <translation type="unfinished"/>
- </message>
- <message>
- <source>Writing the database failed.
-%1</source>
- <translation type="unfinished"/>
+ <translation>KeePassXC no ha pogut desar la base de dades. És probable que un servei de sincronització de fitxers estiguin bloquejant el fitxer de la base de dades.
+Voleu deshabilitar el desat segur i provar-ho un altre cop?</translation>
</message>
<message>
<source>Passwords</source>
@@ -1576,7 +2098,7 @@ Disable safe saves and try again?</source>
</message>
<message>
<source>Replace references to entry?</source>
- <translation type="unfinished"/>
+ <translation>Voleu substituir les referències a l&apos;entrada?</translation>
</message>
<message numerus="yes">
<source>Entry &quot;%1&quot; has %2 reference(s). Do you want to overwrite references with values, skip this entry, or delete anyway?</source>
@@ -1584,11 +2106,11 @@ Disable safe saves and try again?</source>
</message>
<message>
<source>Delete group</source>
- <translation type="unfinished"/>
+ <translation>Suprimeix el grup</translation>
</message>
<message>
<source>Move group to recycle bin?</source>
- <translation type="unfinished"/>
+ <translation>Vols moure el grup a la Paperera de reciclatge?</translation>
</message>
<message>
<source>Do you really want to move the group &quot;%1&quot; to the recycle bin?</source>
@@ -1596,16 +2118,24 @@ Disable safe saves and try again?</source>
</message>
<message>
<source>Successfully merged the database files.</source>
- <translation type="unfinished"/>
+ <translation>S&apos;han fusionat correctament els arxius de base de dades.</translation>
</message>
<message>
<source>Database was not modified by merge operation.</source>
- <translation type="unfinished"/>
+ <translation>La base de dades no s&apos;ha modificat amb l&apos;operació de fusionat.</translation>
</message>
<message>
<source>Shared group...</source>
<translation type="unfinished"/>
</message>
+ <message>
+ <source>Writing the database failed: %1</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>This database is opened in read-only mode. Autosave is disabled.</source>
+ <translation type="unfinished"/>
+ </message>
</context>
<context>
<name>EditEntryWidget</name>
@@ -1639,15 +2169,15 @@ Disable safe saves and try again?</source>
</message>
<message>
<source>n/a</source>
- <translation type="unfinished"/>
+ <translation>n/a</translation>
</message>
<message>
<source>(encrypted)</source>
- <translation>(encriptat)</translation>
+ <translation>(xifrat)</translation>
</message>
<message>
<source>Select private key</source>
- <translation type="unfinished"/>
+ <translation>Selecciona una clau privada</translation>
</message>
<message>
<source>File too large to be a private key</source>
@@ -1655,7 +2185,7 @@ Disable safe saves and try again?</source>
</message>
<message>
<source>Failed to open private key</source>
- <translation type="unfinished"/>
+ <translation>No s&apos;ha pogut obrir la clau privada</translation>
</message>
<message>
<source>Entry history</source>
@@ -1687,31 +2217,31 @@ Disable safe saves and try again?</source>
</message>
<message numerus="yes">
<source>%n week(s)</source>
- <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
+ <translation><numerusform>% n setmana/es</numerusform><numerusform>%n setmana/es</numerusform></translation>
</message>
<message numerus="yes">
<source>%n month(s)</source>
- <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
+ <translation><numerusform>% n mes/s</numerusform><numerusform>%n mes/os</numerusform></translation>
</message>
<message>
<source>Apply generated password?</source>
- <translation type="unfinished"/>
+ <translation>Aplica la contrasenya generada?</translation>
</message>
<message>
<source>Do you want to apply the generated password to this entry?</source>
- <translation type="unfinished"/>
+ <translation>Voleu aplicar la contrasenya generada a aquesta entrada?</translation>
</message>
<message>
<source>Entry updated successfully.</source>
- <translation type="unfinished"/>
+ <translation>L&apos;entrada s&apos;ha actualitzat correctament.</translation>
</message>
<message>
<source>Entry has unsaved changes</source>
- <translation type="unfinished"/>
+ <translation>L&apos;entrada té canvis sense desar</translation>
</message>
<message>
<source>New attribute %1</source>
- <translation type="unfinished"/>
+ <translation>Atribut nou %1</translation>
</message>
<message>
<source>[PROTECTED] Press reveal to view or edit</source>
@@ -1719,10 +2249,22 @@ Disable safe saves and try again?</source>
</message>
<message numerus="yes">
<source>%n year(s)</source>
- <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
+ <translation><numerusform>% n any/s</numerusform><numerusform>%n any/s</numerusform></translation>
</message>
<message>
<source>Confirm Removal</source>
+ <translation>Confirma l&apos;eliminació</translation>
+ </message>
+ <message>
+ <source>Browser Integration</source>
+ <translation>Integració amb el navegador</translation>
+ </message>
+ <message>
+ <source>&lt;empty URL&gt;</source>
+ <translation>&lt;empty URL&gt;</translation>
+ </message>
+ <message>
+ <source>Are you sure you want to remove this URL?</source>
<translation type="unfinished"/>
</message>
</context>
@@ -1758,12 +2300,48 @@ Disable safe saves and try again?</source>
</message>
<message>
<source>Foreground Color:</source>
- <translation type="unfinished"/>
+ <translation>Color del primer pla:</translation>
</message>
<message>
<source>Background Color:</source>
+ <translation>Color de fons:</translation>
+ </message>
+ <message>
+ <source>Attribute selection</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Attribute value</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Add a new attribute</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Remove selected attribute</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Edit attribute name</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Toggle attribute protection</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Show a protected attribute</source>
<translation type="unfinished"/>
</message>
+ <message>
+ <source>Foreground color selection</source>
+ <translation>Selecció del color de primer pla</translation>
+ </message>
+ <message>
+ <source>Background color selection</source>
+ <translation>Selecció del color de fons</translation>
+ </message>
</context>
<context>
<name>EditEntryWidgetAutoType</name>
@@ -1777,7 +2355,7 @@ Disable safe saves and try again?</source>
</message>
<message>
<source>&amp;Use custom Auto-Type sequence:</source>
- <translation>&amp;Utilitza la seqüència personalitzada per a la compleció automàtica:</translation>
+ <translation>&amp;Utilitza una seqüència personalitzada per a la compleció automàtica:</translation>
</message>
<message>
<source>Window Associations</source>
@@ -1797,8 +2375,79 @@ Disable safe saves and try again?</source>
</message>
<message>
<source>Use a specific sequence for this association:</source>
+ <translation>Usa una seqüència específica per a aquesta associació:</translation>
+ </message>
+ <message>
+ <source>Custom Auto-Type sequence</source>
+ <translation>Seqüència de compleció automàtica personalitzada</translation>
+ </message>
+ <message>
+ <source>Open Auto-Type help webpage</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Existing window associations</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Add new window association</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Remove selected window association</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>You can use an asterisk (*) to match everything</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Set the window association title</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>You can use an asterisk to match everything</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Custom Auto-Type sequence for this window</source>
+ <translation>Seqüència de compleció automàtica personalitzada per a aquesta finestra</translation>
+ </message>
+</context>
+<context>
+ <name>EditEntryWidgetBrowser</name>
+ <message>
+ <source>These settings affect to the entry&apos;s behaviour with the browser extension.</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>General</source>
+ <translation>General</translation>
+ </message>
+ <message>
+ <source>Skip Auto-Submit for this entry</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Hide this entry from the browser extension</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Additional URL&apos;s</source>
<translation type="unfinished"/>
</message>
+ <message>
+ <source>Add</source>
+ <translation>Afegiu</translation>
+ </message>
+ <message>
+ <source>Remove</source>
+ <translation>Suprimiu</translation>
+ </message>
+ <message>
+ <source>Edit</source>
+ <translation>Edita</translation>
+ </message>
</context>
<context>
<name>EditEntryWidgetHistory</name>
@@ -1818,6 +2467,26 @@ Disable safe saves and try again?</source>
<source>Delete all</source>
<translation>Suprimeix tots</translation>
</message>
+ <message>
+ <source>Entry history selection</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Show entry at selected history state</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Restore entry to selected history state</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Delete selected history state</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Delete all history</source>
+ <translation type="unfinished"/>
+ </message>
</context>
<context>
<name>EditEntryWidgetMain</name>
@@ -1847,7 +2516,7 @@ Disable safe saves and try again?</source>
</message>
<message>
<source>Toggle the checkbox to reveal the notes section.</source>
- <translation type="unfinished"/>
+ <translation>Activeu la casella de selecció per mostrar la secció notes.</translation>
</message>
<message>
<source>Username:</source>
@@ -1857,12 +2526,68 @@ Disable safe saves and try again?</source>
<source>Expires</source>
<translation>Expira</translation>
</message>
+ <message>
+ <source>Url field</source>
+ <translation>Camp d&apos;URL</translation>
+ </message>
+ <message>
+ <source>Download favicon for URL</source>
+ <translation>Descarrega el favicon de URL</translation>
+ </message>
+ <message>
+ <source>Repeat password field</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Toggle password generator</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Password field</source>
+ <translation>Camp de contrasenya</translation>
+ </message>
+ <message>
+ <source>Toggle password visibility</source>
+ <translation>Commuta la visibilitat de la contrasenya</translation>
+ </message>
+ <message>
+ <source>Toggle notes visible</source>
+ <translation>Commuta la visibilitat de les notes</translation>
+ </message>
+ <message>
+ <source>Expiration field</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Expiration Presets</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Expiration presets</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Notes field</source>
+ <translation>Camp de notes</translation>
+ </message>
+ <message>
+ <source>Title field</source>
+ <translation>Camp de títol</translation>
+ </message>
+ <message>
+ <source>Username field</source>
+ <translation>Camp d&apos;usuari</translation>
+ </message>
+ <message>
+ <source>Toggle expiration</source>
+ <translation type="unfinished"/>
+ </message>
</context>
<context>
<name>EditEntryWidgetSSHAgent</name>
<message>
<source>Form</source>
- <translation type="unfinished"/>
+ <translation>Formulari</translation>
</message>
<message>
<source>Remove key from agent after</source>
@@ -1870,11 +2595,11 @@ Disable safe saves and try again?</source>
</message>
<message>
<source> seconds</source>
- <translation type="unfinished"/>
+ <translation>segons</translation>
</message>
<message>
<source>Fingerprint</source>
- <translation type="unfinished"/>
+ <translation>Empremta digital</translation>
</message>
<message>
<source>Remove key from agent when database is closed/locked</source>
@@ -1882,7 +2607,7 @@ Disable safe saves and try again?</source>
</message>
<message>
<source>Public key</source>
- <translation type="unfinished"/>
+ <translation>Clau pública</translation>
</message>
<message>
<source>Add key to agent when database is opened/unlocked</source>
@@ -1890,7 +2615,7 @@ Disable safe saves and try again?</source>
</message>
<message>
<source>Comment</source>
- <translation type="unfinished"/>
+ <translation>Comentari</translation>
</message>
<message>
<source>Decrypt</source>
@@ -1898,7 +2623,7 @@ Disable safe saves and try again?</source>
</message>
<message>
<source>n/a</source>
- <translation type="unfinished"/>
+ <translation>n/a</translation>
</message>
<message>
<source>Copy to clipboard</source>
@@ -1906,11 +2631,11 @@ Disable safe saves and try again?</source>
</message>
<message>
<source>Private key</source>
- <translation type="unfinished"/>
+ <translation>Clau privada</translation>
</message>
<message>
<source>External file</source>
- <translation type="unfinished"/>
+ <translation>Fitxer extern</translation>
</message>
<message>
<source>Browse...</source>
@@ -1919,18 +2644,34 @@ Disable safe saves and try again?</source>
</message>
<message>
<source>Attachment</source>
- <translation type="unfinished"/>
+ <translation>Adjunt</translation>
</message>
<message>
<source>Add to agent</source>
- <translation type="unfinished"/>
+ <translation>Afegeix-lo a un agent</translation>
</message>
<message>
<source>Remove from agent</source>
- <translation type="unfinished"/>
+ <translation>Suprimeix-lo de l&apos;agent</translation>
</message>
<message>
<source>Require user confirmation when this key is used</source>
+ <translation>Demana confirmació de l&apos;usuari quan s&apos;utilitzi aquesta clau</translation>
+ </message>
+ <message>
+ <source>Remove key from agent after specified seconds</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Browser for key file</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>External key file</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Select attachment file</source>
<translation type="unfinished"/>
</message>
</context>
@@ -1966,26 +2707,30 @@ Disable safe saves and try again?</source>
</message>
<message>
<source>Inherit from parent group (%1)</source>
- <translation>Hereta de grup pare (%1)</translation>
+ <translation>Hereta del grup pare (%1)</translation>
+ </message>
+ <message>
+ <source>Entry has unsaved changes</source>
+ <translation>L&apos;entrada té canvis sense desar</translation>
</message>
</context>
<context>
<name>EditGroupWidgetKeeShare</name>
<message>
<source>Form</source>
- <translation type="unfinished"/>
+ <translation>Formulari</translation>
</message>
<message>
<source>Type:</source>
- <translation type="unfinished"/>
+ <translation>Tipus:</translation>
</message>
<message>
<source>Path:</source>
- <translation type="unfinished"/>
+ <translation>Camí:</translation>
</message>
<message>
<source>...</source>
- <translation type="unfinished"/>
+ <translation>...</translation>
</message>
<message>
<source>Password:</source>
@@ -1993,70 +2738,100 @@ Disable safe saves and try again?</source>
</message>
<message>
<source>Inactive</source>
+ <translation>Inactiu</translation>
+ </message>
+ <message>
+ <source>KeeShare unsigned container</source>
<translation type="unfinished"/>
</message>
<message>
- <source>Import from path</source>
+ <source>KeeShare signed container</source>
<translation type="unfinished"/>
</message>
<message>
- <source>Export to path</source>
+ <source>Select import source</source>
<translation type="unfinished"/>
</message>
<message>
- <source>Synchronize with path</source>
+ <source>Select export target</source>
<translation type="unfinished"/>
</message>
<message>
- <source>Your KeePassXC version does not support sharing your container type. Please use %1.</source>
+ <source>Select import/export file</source>
<translation type="unfinished"/>
</message>
<message>
- <source>Database sharing is disabled</source>
+ <source>Clear</source>
+ <translation>Neteja</translation>
+ </message>
+ <message>
+ <source>Import</source>
+ <translation>Importa</translation>
+ </message>
+ <message>
+ <source>Export</source>
+ <translation>Exporta</translation>
+ </message>
+ <message>
+ <source>Synchronize</source>
+ <translation>Sincronitza</translation>
+ </message>
+ <message>
+ <source>Your KeePassXC version does not support sharing this container type.
+Supported extensions are: %1.</source>
<translation type="unfinished"/>
</message>
<message>
- <source>Database export is disabled</source>
+ <source>%1 is already being exported by this database.</source>
<translation type="unfinished"/>
</message>
<message>
- <source>Database import is disabled</source>
+ <source>%1 is already being imported by this database.</source>
<translation type="unfinished"/>
</message>
<message>
- <source>KeeShare unsigned container</source>
+ <source>%1 is being imported and exported by different groups in this database.</source>
<translation type="unfinished"/>
</message>
<message>
- <source>KeeShare signed container</source>
+ <source>KeeShare is currently disabled. You can enable import/export in the application settings.</source>
+ <comment>KeeShare is a proper noun</comment>
<translation type="unfinished"/>
</message>
<message>
- <source>Select import source</source>
+ <source>Database export is currently disabled by application settings.</source>
<translation type="unfinished"/>
</message>
<message>
- <source>Select export target</source>
+ <source>Database import is currently disabled by application settings.</source>
<translation type="unfinished"/>
</message>
<message>
- <source>Select import/export file</source>
+ <source>Sharing mode field</source>
<translation type="unfinished"/>
</message>
<message>
- <source>Clear</source>
- <translation>Neteja</translation>
+ <source>Path to share file field</source>
+ <translation type="unfinished"/>
</message>
<message>
- <source>The export container %1 is already referenced.</source>
+ <source>Browser for share file</source>
<translation type="unfinished"/>
</message>
<message>
- <source>The import container %1 is already imported.</source>
+ <source>Password field</source>
+ <translation>Camp de contrasenya</translation>
+ </message>
+ <message>
+ <source>Toggle password visibility</source>
+ <translation>Commuta la visibilitat de la contrasenya</translation>
+ </message>
+ <message>
+ <source>Toggle password generator</source>
<translation type="unfinished"/>
</message>
<message>
- <source>The container %1 imported and export by different groups.</source>
+ <source>Clear fields</source>
<translation type="unfinished"/>
</message>
</context>
@@ -2084,12 +2859,40 @@ Disable safe saves and try again?</source>
</message>
<message>
<source>&amp;Use default Auto-Type sequence of parent group</source>
- <translation>&amp;Utilitza seqüència per defecte del grup pare per a lacompleció automàtica</translation>
+ <translation>&amp;Usa la seqüència per defecte del grup pare per a la compleció automàtica</translation>
</message>
<message>
<source>Set default Auto-Type se&amp;quence</source>
<translation>Estableix la se&amp;qüència per defecte per a la compleció automàtica</translation>
</message>
+ <message>
+ <source>Name field</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Notes field</source>
+ <translation>Camp de notes</translation>
+ </message>
+ <message>
+ <source>Toggle expiration</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Auto-Type toggle for this and sub groups</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Expiration field</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Search toggle for this and sub groups</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Default auto-type sequence field</source>
+ <translation>Camp de seqüència de compleció automàtica per defecte</translation>
+ </message>
</context>
<context>
<name>EditWidgetIcons</name>
@@ -2111,7 +2914,7 @@ Disable safe saves and try again?</source>
</message>
<message>
<source>Download favicon</source>
- <translation>Descarregua el favicon</translation>
+ <translation>Descarrega el favicon</translation>
</message>
<message>
<source>Unable to fetch favicon.</source>
@@ -2126,22 +2929,10 @@ Disable safe saves and try again?</source>
<translation>Tots els fitxers</translation>
</message>
<message>
- <source>Custom icon already exists</source>
- <translation>Ja existeix una icona personalitzada</translation>
- </message>
- <message>
<source>Confirm Delete</source>
<translation>Confirma la supressió</translation>
</message>
<message>
- <source>Custom icon successfully downloaded</source>
- <translation type="unfinished"/>
- </message>
- <message>
- <source>Hint: You can enable DuckDuckGo as a fallback under Tools&gt;Settings&gt;Security</source>
- <translation type="unfinished"/>
- </message>
- <message>
<source>Select Image(s)</source>
<translation type="unfinished"/>
</message>
@@ -2165,6 +2956,42 @@ Disable safe saves and try again?</source>
<source>This icon is used by %n entry(s), and will be replaced by the default icon. Are you sure you want to delete it?</source>
<translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
</message>
+ <message>
+ <source>You can enable the DuckDuckGo website icon service under Tools -&gt; Settings -&gt; Security</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Download favicon for URL</source>
+ <translation>Descarrega el favicon de URL</translation>
+ </message>
+ <message>
+ <source>Apply selected icon to subgroups and entries</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Apply icon &amp;to ...</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Apply to this only</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Also apply to child groups</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Also apply to child entries</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Also apply to all children</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Existing icon selected.</source>
+ <translation type="unfinished"/>
+ </message>
</context>
<context>
<name>EditWidgetProperties</name>
@@ -2209,6 +3036,30 @@ This may cause the affected plugins to malfunction.</source>
<source>Value</source>
<translation>Valor</translation>
</message>
+ <message>
+ <source>Datetime created</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Datetime modified</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Datetime accessed</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Unique ID</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Plugin data</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Remove selected plugin data</source>
+ <translation type="unfinished"/>
+ </message>
</context>
<context>
<name>Entry</name>
@@ -2232,7 +3083,7 @@ This may cause the affected plugins to malfunction.</source>
<name>EntryAttachmentsWidget</name>
<message>
<source>Form</source>
- <translation type="unfinished"/>
+ <translation>Formulari</translation>
</message>
<message>
<source>Add</source>
@@ -2299,6 +3150,26 @@ This may cause the affected plugins to malfunction.</source>
%1</source>
<translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
</message>
+ <message>
+ <source>Attachments</source>
+ <translation>Fitxers adjunts</translation>
+ </message>
+ <message>
+ <source>Add new attachment</source>
+ <translation>Afegeix un nou adjunt</translation>
+ </message>
+ <message>
+ <source>Remove selected attachment</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Open selected attachment</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Save selected attachment to disk</source>
+ <translation type="unfinished"/>
+ </message>
</context>
<context>
<name>EntryAttributesModel</name>
@@ -2387,16 +3258,12 @@ This may cause the affected plugins to malfunction.</source>
</message>
<message>
<source>TOTP</source>
- <translation type="unfinished"/>
+ <translation>TOTP</translation>
</message>
</context>
<context>
<name>EntryPreviewWidget</name>
<message>
- <source>Generate TOTP Token</source>
- <translation type="unfinished"/>
- </message>
- <message>
<source>Close</source>
<translation>Tanca</translation>
</message>
@@ -2434,7 +3301,7 @@ This may cause the affected plugins to malfunction.</source>
</message>
<message>
<source>Autotype</source>
- <translation type="unfinished"/>
+ <translation>Tecleig automàtic</translation>
</message>
<message>
<source>Window</source>
@@ -2481,6 +3348,14 @@ This may cause the affected plugins to malfunction.</source>
<source>Share</source>
<translation type="unfinished"/>
</message>
+ <message>
+ <source>Display current TOTP value</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Advanced</source>
+ <translation>Avançat</translation>
+ </message>
</context>
<context>
<name>EntryView</name>
@@ -2490,11 +3365,11 @@ This may cause the affected plugins to malfunction.</source>
</message>
<message>
<source>Hide Usernames</source>
- <translation type="unfinished"/>
+ <translation>Oculta els noms d&apos;usuari</translation>
</message>
<message>
<source>Hide Passwords</source>
- <translation type="unfinished"/>
+ <translation>Oculta les contrasenyes</translation>
</message>
<message>
<source>Fit to window</source>
@@ -2514,11 +3389,33 @@ This may cause the affected plugins to malfunction.</source>
</message>
</context>
<context>
- <name>Group</name>
+ <name>FdoSecrets::Item</name>
<message>
- <source>Recycle Bin</source>
- <translation>Paperera</translation>
+ <source>Entry &quot;%1&quot; from database &quot;%2&quot; was used by %3</source>
+ <translation type="unfinished"/>
+ </message>
+</context>
+<context>
+ <name>FdoSecrets::Service</name>
+ <message>
+ <source>Failed to register DBus service at %1: another secret service is running.</source>
+ <translation type="unfinished"/>
+ </message>
+ <message numerus="yes">
+ <source>%n Entry(s) was used by %1</source>
+ <comment>%1 is the name of an application</comment>
+ <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
+ </message>
+</context>
+<context>
+ <name>FdoSecretsPlugin</name>
+ <message>
+ <source>Fdo Secret Service: %1</source>
+ <translation type="unfinished"/>
</message>
+</context>
+<context>
+ <name>Group</name>
<message>
<source>[empty]</source>
<comment>group has no children</comment>
@@ -2537,6 +3434,58 @@ This may cause the affected plugins to malfunction.</source>
</message>
</context>
<context>
+ <name>IconDownloaderDialog</name>
+ <message>
+ <source>Download Favicons</source>
+ <translation>Descarrega els favicons</translation>
+ </message>
+ <message>
+ <source>Cancel</source>
+ <translation>Cancel·la</translation>
+ </message>
+ <message>
+ <source>Having trouble downloading icons?
+You can enable the DuckDuckGo website icon service in the security section of the application settings.</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Close</source>
+ <translation>Tanca</translation>
+ </message>
+ <message>
+ <source>URL</source>
+ <translation>URL</translation>
+ </message>
+ <message>
+ <source>Status</source>
+ <translation>Estat</translation>
+ </message>
+ <message>
+ <source>Please wait, processing entry list...</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Downloading...</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Ok</source>
+ <translation>D&apos;acord</translation>
+ </message>
+ <message>
+ <source>Already Exists</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Download Failed</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Downloading favicons (%1/%2)...</source>
+ <translation>Descarregant els favicons (%1/%2)...</translation>
+ </message>
+</context>
+<context>
<name>KMessageWidget</name>
<message>
<source>&amp;Close</source>
@@ -2555,11 +3504,7 @@ This may cause the affected plugins to malfunction.</source>
</message>
<message>
<source>Unable to issue challenge-response.</source>
- <translation>Incapaç d&apos;emetre pregunta-resposta.</translation>
- </message>
- <message>
- <source>Wrong key or database file is corrupt.</source>
- <translation>Clau incorrecta o fitxer de base de dades corrupte.</translation>
+ <translation>No s&apos;ha pogut emetre una comprovació-resposta.</translation>
</message>
<message>
<source>missing database headers</source>
@@ -2581,12 +3526,17 @@ This may cause the affected plugins to malfunction.</source>
<source>Invalid header data length</source>
<translation type="unfinished"/>
</message>
+ <message>
+ <source>Invalid credentials were provided, please try again.
+If this reoccurs, then your database file may be corrupt.</source>
+ <translation type="unfinished"/>
+ </message>
</context>
<context>
<name>Kdbx3Writer</name>
<message>
<source>Unable to issue challenge-response.</source>
- <translation>Incapaç d&apos;emetre pregunta-resposta.</translation>
+ <translation>No s&apos;ha pogut emetre una comprovació-resposta.</translation>
</message>
<message>
<source>Unable to calculate master key</source>
@@ -2612,10 +3562,6 @@ This may cause the affected plugins to malfunction.</source>
<translation type="unfinished"/>
</message>
<message>
- <source>Wrong key or database file is corrupt. (HMAC mismatch)</source>
- <translation type="unfinished"/>
- </message>
- <message>
<source>Unknown cipher</source>
<translation type="unfinished"/>
</message>
@@ -2715,12 +3661,21 @@ This may cause the affected plugins to malfunction.</source>
<extracomment>Translation: variant map = data structure for storing meta data</extracomment>
<translation type="unfinished"/>
</message>
+ <message>
+ <source>Invalid credentials were provided, please try again.
+If this reoccurs, then your database file may be corrupt.</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>(HMAC mismatch)</source>
+ <translation type="unfinished"/>
+ </message>
</context>
<context>
<name>Kdbx4Writer</name>
<message>
<source>Invalid symmetric cipher algorithm.</source>
- <translation type="unfinished"/>
+ <translation>Algorisme de xifrat simètric no vàlid.</translation>
</message>
<message>
<source>Invalid symmetric cipher IV size.</source>
@@ -2749,7 +3704,7 @@ This may cause the affected plugins to malfunction.</source>
</message>
<message>
<source>Unsupported compression algorithm</source>
- <translation type="unfinished"/>
+ <translation>Algoritme de compressió no admès</translation>
</message>
<message>
<source>Invalid master seed size</source>
@@ -2814,7 +3769,7 @@ Es tracta d&apos;una migració unidireccional. No obrir la base de dades importa
</message>
<message>
<source>No root group</source>
- <translation type="unfinished"/>
+ <translation>No hi ha cap grup arrel</translation>
</message>
<message>
<source>Missing icon uuid or data</source>
@@ -2838,7 +3793,7 @@ Es tracta d&apos;una migració unidireccional. No obrir la base de dades importa
</message>
<message>
<source>Invalid EnableAutoType value</source>
- <translation type="unfinished"/>
+ <translation>Valor d&apos;EnableAutoType invàlid</translation>
</message>
<message>
<source>Invalid EnableSearching value</source>
@@ -2935,13 +3890,13 @@ Line %2, column %3</source>
<context>
<name>KeePass1OpenWidget</name>
<message>
- <source>Import KeePass1 database</source>
- <translation>Importar base de dades KeePass1</translation>
- </message>
- <message>
<source>Unable to open the database.</source>
<translation>No es pot obrir la base de dades.</translation>
</message>
+ <message>
+ <source>Import KeePass1 Database</source>
+ <translation type="unfinished"/>
+ </message>
</context>
<context>
<name>KeePass1Reader</name>
@@ -2955,7 +3910,7 @@ Line %2, column %3</source>
</message>
<message>
<source>Unsupported encryption algorithm.</source>
- <translation>Algoritme d&apos;encriptació no admès.</translation>
+ <translation>Algoritme de xifratge no admès.</translation>
</message>
<message>
<source>Unsupported KeePass database version.</source>
@@ -2999,10 +3954,6 @@ Line %2, column %3</source>
<translation>No es pot calcular la clau mestra</translation>
</message>
<message>
- <source>Wrong key or database file is corrupt.</source>
- <translation>Clau incorrecta o fitxer de base de dades corrupte.</translation>
- </message>
- <message>
<source>Key transformation failed</source>
<translation type="unfinished"/>
</message>
@@ -3098,39 +4049,56 @@ Line %2, column %3</source>
<source>unable to seek to content position</source>
<translation type="unfinished"/>
</message>
+ <message>
+ <source>Invalid credentials were provided, please try again.
+If this reoccurs, then your database file may be corrupt.</source>
+ <translation type="unfinished"/>
+ </message>
</context>
<context>
<name>KeeShare</name>
<message>
- <source>Disabled share</source>
+ <source>Invalid sharing reference</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Inactive share %1</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Imported from %1</source>
+ <translation>Importat de %1</translation>
+ </message>
+ <message>
+ <source>Exported to %1</source>
<translation type="unfinished"/>
</message>
<message>
- <source>Import from</source>
+ <source>Synchronized with %1</source>
<translation type="unfinished"/>
</message>
<message>
- <source>Export to</source>
+ <source>Import is disabled in settings</source>
<translation type="unfinished"/>
</message>
<message>
- <source>Synchronize with</source>
+ <source>Export is disabled in settings</source>
<translation type="unfinished"/>
</message>
<message>
- <source>Disabled share %1</source>
+ <source>Inactive share</source>
<translation type="unfinished"/>
</message>
<message>
- <source>Import from share %1</source>
+ <source>Imported from</source>
<translation type="unfinished"/>
</message>
<message>
- <source>Export to share %1</source>
+ <source>Exported to</source>
<translation type="unfinished"/>
</message>
<message>
- <source>Synchronize with share %1</source>
+ <source>Synchronized with</source>
<translation type="unfinished"/>
</message>
</context>
@@ -3146,7 +4114,7 @@ Line %2, column %3</source>
</message>
<message>
<source>Cancel</source>
- <translation>Cancel·lar</translation>
+ <translation>Cancel·la</translation>
</message>
<message>
<source>Key Component set, click to change or remove</source>
@@ -3155,7 +4123,7 @@ Line %2, column %3</source>
<message>
<source>Add %1</source>
<comment>Add a key component</comment>
- <translation type="unfinished"/>
+ <translation>Afegeix %1</translation>
</message>
<message>
<source>Change %1</source>
@@ -3170,16 +4138,12 @@ Line %2, column %3</source>
<message>
<source>%1 set, click to change or remove</source>
<comment>Change or remove a key component</comment>
- <translation type="unfinished"/>
+ <translation>%1: feu clic per canviar o eliminar</translation>
</message>
</context>
<context>
<name>KeyFileEditWidget</name>
<message>
- <source>Browse</source>
- <translation>Navega</translation>
- </message>
- <message>
<source>Generate</source>
<translation>Genera</translation>
</message>
@@ -3189,11 +4153,11 @@ Line %2, column %3</source>
</message>
<message>
<source>&lt;p&gt;You can add a key file containing random bytes for additional security.&lt;/p&gt;&lt;p&gt;You must keep it secret and never lose it or you will be locked out!&lt;/p&gt;</source>
- <translation type="unfinished"/>
+ <translation>&lt;p&gt;Podeu afegir un fitxer clau que contingui bytes aleatoris per afegir seguretat.&lt;/p&gt;&lt;p&gt;L&apos;heu de mantenir secret i no perdre&apos;l, sinó us quedareu tancats a fora!&lt;/p&gt;</translation>
</message>
<message>
<source>Legacy key file format</source>
- <translation type="unfinished"/>
+ <translation>Format de fitxer clau antic</translation>
</message>
<message>
<source>You are using a legacy key file format which may become
@@ -3231,6 +4195,43 @@ Message: %2</source>
<source>Select a key file</source>
<translation>Seleccioneu un arxiu clau</translation>
</message>
+ <message>
+ <source>Key file selection</source>
+ <translation>Selecció del fitxer clau</translation>
+ </message>
+ <message>
+ <source>Browse for key file</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Browse...</source>
+ <translation>Navega...</translation>
+ </message>
+ <message>
+ <source>Generate a new key file</source>
+ <translation>Genera un fitxer clau nou</translation>
+ </message>
+ <message>
+ <source>Note: Do not use a file that may change as that will prevent you from unlocking your database!</source>
+ <translation>Nota: no utilitzeu un fitxer que pugui canviar perquè faria que no poguéssiu desbloquejar la base de dades!</translation>
+ </message>
+ <message>
+ <source>Invalid Key File</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>You cannot use the current database as its own keyfile. Please choose a different file or generate a new key file.</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Suspicious Key File</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>The chosen key file looks like a password database file. A key file must be a static file that never changes or you will lose access to your database forever.
+Are you sure you want to continue with this file?</source>
+ <translation type="unfinished"/>
+ </message>
</context>
<context>
<name>MainWindow</name>
@@ -3276,7 +4277,7 @@ Message: %2</source>
</message>
<message>
<source>&amp;Close database</source>
- <translation>Tanca base de dades</translation>
+ <translation>Tanca la base de dades</translation>
</message>
<message>
<source>&amp;Delete entry</source>
@@ -3304,27 +4305,23 @@ Message: %2</source>
</message>
<message>
<source>Copy &amp;username</source>
- <translation>Còpia el nom d&apos;&amp;usuari</translation>
+ <translation>Copia el nom d&apos;&amp;usuari</translation>
</message>
<message>
<source>Copy username to clipboard</source>
- <translation>Còpia el nom d&apos;usuari al porta-retalls</translation>
+ <translation>Copia el nom d&apos;usuari al porta-retalls</translation>
</message>
<message>
<source>Copy password to clipboard</source>
- <translation>Còpia la contrasenya al porta-retalls</translation>
+ <translation>Copia la contrasenya al porta-retalls</translation>
</message>
<message>
<source>&amp;Settings</source>
- <translation>&amp;Conficuració</translation>
- </message>
- <message>
- <source>Password Generator</source>
- <translation>Generador de contrasenyes</translation>
+ <translation>&amp;Configuració</translation>
</message>
<message>
<source>&amp;Lock databases</source>
- <translation>&amp;bloqueja la bases de dades</translation>
+ <translation>&amp;Bloqueja la bases de dades</translation>
</message>
<message>
<source>&amp;Title</source>
@@ -3332,7 +4329,7 @@ Message: %2</source>
</message>
<message>
<source>Copy title to clipboard</source>
- <translation type="unfinished"/>
+ <translation>Copia el títol al porta-retalls</translation>
</message>
<message>
<source>&amp;URL</source>
@@ -3340,7 +4337,7 @@ Message: %2</source>
</message>
<message>
<source>Copy URL to clipboard</source>
- <translation type="unfinished"/>
+ <translation>Copia l&apos;URL al porta-retalls</translation>
</message>
<message>
<source>&amp;Notes</source>
@@ -3348,7 +4345,7 @@ Message: %2</source>
</message>
<message>
<source>Copy notes to clipboard</source>
- <translation type="unfinished"/>
+ <translation>Copia les notes al porta-retalls</translation>
</message>
<message>
<source>&amp;Export to CSV file...</source>
@@ -3360,7 +4357,7 @@ Message: %2</source>
</message>
<message>
<source>Copy &amp;TOTP</source>
- <translation>Còpia &amp;TOTP</translation>
+ <translation>Copia &amp;TOTP</translation>
</message>
<message>
<source>E&amp;mpty recycle bin</source>
@@ -3394,15 +4391,17 @@ Message: %2</source>
<source>WARNING: You are using an unstable build of KeePassXC!
There is a high risk of corruption, maintain a backup of your databases.
This version is not meant for production use.</source>
- <translation type="unfinished"/>
+ <translation>ATENCIÓ: esteu utilitzant una versió inestable de KeePassXC!
+Hi ha un alt risc de corrupció, manteniu una còpia de seguretat de les vostres bases de dades.
+Aquesta versió no està pensada per usar-se en producció.</translation>
</message>
<message>
<source>&amp;Donate</source>
- <translation type="unfinished"/>
+ <translation>Fes un &amp;donatiu</translation>
</message>
<message>
<source>Report a &amp;bug</source>
- <translation type="unfinished"/>
+ <translation>Notifica un &amp;error</translation>
</message>
<message>
<source>WARNING: Your Qt version may cause KeePassXC to crash with an On-Screen Keyboard!
@@ -3415,35 +4414,35 @@ We recommend you use the AppImage available on our downloads page.</source>
</message>
<message>
<source>Copy att&amp;ribute...</source>
- <translation type="unfinished"/>
+ <translation>Copia un at&amp;ribut...</translation>
</message>
<message>
<source>TOTP...</source>
- <translation type="unfinished"/>
+ <translation>TOTP...</translation>
</message>
<message>
<source>&amp;New database...</source>
- <translation type="unfinished"/>
+ <translation>&amp;Nova base de dades...</translation>
</message>
<message>
<source>Create a new database</source>
- <translation type="unfinished"/>
+ <translation>Crea una nova base de dades</translation>
</message>
<message>
<source>&amp;Merge from database...</source>
- <translation type="unfinished"/>
+ <translation>&amp;Combina amb una base de dades...</translation>
</message>
<message>
<source>Merge from another KDBX database</source>
- <translation type="unfinished"/>
+ <translation>Combina amb una altra base de dades KDBX</translation>
</message>
<message>
<source>&amp;New entry</source>
- <translation type="unfinished"/>
+ <translation>&amp;Nova entrada</translation>
</message>
<message>
<source>Add a new entry</source>
- <translation type="unfinished"/>
+ <translation>Afegeix una nova entrada</translation>
</message>
<message>
<source>&amp;Edit entry</source>
@@ -3455,15 +4454,15 @@ We recommend you use the AppImage available on our downloads page.</source>
</message>
<message>
<source>&amp;New group</source>
- <translation type="unfinished"/>
+ <translation>&amp;Nou grup</translation>
</message>
<message>
<source>Add a new group</source>
- <translation type="unfinished"/>
+ <translation>Afegeix un grup nou</translation>
</message>
<message>
<source>Change master &amp;key...</source>
- <translation type="unfinished"/>
+ <translation>Canvia la &amp;clau mestra</translation>
</message>
<message>
<source>&amp;Database settings...</source>
@@ -3471,11 +4470,11 @@ We recommend you use the AppImage available on our downloads page.</source>
</message>
<message>
<source>Copy &amp;password</source>
- <translation type="unfinished"/>
+ <translation>Copia la contrasenya</translation>
</message>
<message>
<source>Perform &amp;Auto-Type</source>
- <translation type="unfinished"/>
+ <translation>Realitza una compleció &amp;automàtic</translation>
</message>
<message>
<source>Open &amp;URL</source>
@@ -3499,24 +4498,17 @@ We recommend you use the AppImage available on our downloads page.</source>
</message>
<message>
<source>Show TOTP...</source>
- <translation type="unfinished"/>
+ <translation>Mostra el TOTP...</translation>
</message>
<message>
<source>Show TOTP QR Code...</source>
<translation type="unfinished"/>
</message>
<message>
- <source>Check for Updates...</source>
- <translation>Comprova si hi ha actualitzacions...</translation>
- </message>
- <message>
- <source>Share entry</source>
- <translation type="unfinished"/>
- </message>
- <message>
<source>NOTE: You are using a pre-release version of KeePassXC!
Expect some bugs and minor issues, this version is not meant for production use.</source>
- <translation type="unfinished"/>
+ <translation>NOTA: esteu utilitzant una versió preliminar de KeePassXC!
+Podeu esperar alguns errors i incidències menors. Aquesta versió no està pensada per a un ús en producció.</translation>
</message>
<message>
<source>Check for updates on startup?</source>
@@ -3530,6 +4522,74 @@ Expect some bugs and minor issues, this version is not meant for production use.
<source>You can always check for updates manually from the application menu.</source>
<translation>Sempre pots comprovar si hi ha actualitzacions manualment als menús de l&apos;aplicació.</translation>
</message>
+ <message>
+ <source>&amp;Export</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>&amp;Check for Updates...</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Downlo&amp;ad all favicons</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Sort &amp;A-Z</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Sort &amp;Z-A</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>&amp;Password Generator</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Download favicon</source>
+ <translation>Descarregua el favicon</translation>
+ </message>
+ <message>
+ <source>&amp;Export to HTML file...</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>1Password Vault...</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Import a 1Password Vault</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>&amp;Getting Started</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Open Getting Started Guide PDF</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>&amp;Online Help...</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Go to online documentation (opens browser)</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>&amp;User Guide</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Open User Guide PDF</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>&amp;Keyboard Shortcuts</source>
+ <translation type="unfinished"/>
+ </message>
</context>
<context>
<name>Merger</name>
@@ -3547,7 +4607,7 @@ Expect some bugs and minor issues, this version is not meant for production use.
</message>
<message>
<source>older entry merged from database &quot;%1&quot;</source>
- <translation type="unfinished"/>
+ <translation>entrada antiga fusionada de la base de dades &quot;%1&quot;</translation>
</message>
<message>
<source>Adding backup for older target %1 [%2]</source>
@@ -3589,6 +4649,14 @@ Expect some bugs and minor issues, this version is not meant for production use.
<source>Adding missing icon %1</source>
<translation type="unfinished"/>
</message>
+ <message>
+ <source>Removed custom data %1 [%2]</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Adding custom data %1 [%2]</source>
+ <translation type="unfinished"/>
+ </message>
</context>
<context>
<name>NewDatabaseWizard</name>
@@ -3614,7 +4682,7 @@ Expect some bugs and minor issues, this version is not meant for production use.
</message>
<message>
<source>Here you can adjust the database encryption settings. Don&apos;t worry, you can change them later in the database settings.</source>
- <translation type="unfinished"/>
+ <translation>Aquí podeu ajustar la configuració del xifrat de la base de dades. També ho podeu canviar més endavant a la configuració de la base de dades.</translation>
</message>
<message>
<source>Advanced Settings</source>
@@ -3629,11 +4697,11 @@ Expect some bugs and minor issues, this version is not meant for production use.
<name>NewDatabaseWizardPageEncryption</name>
<message>
<source>Encryption Settings</source>
- <translation>Opcions de xifrat</translation>
+ <translation>Configuració del xifrat</translation>
</message>
<message>
<source>Here you can adjust the database encryption settings. Don&apos;t worry, you can change them later in the database settings.</source>
- <translation type="unfinished"/>
+ <translation>Aquí podeu ajustar la configuració del xifrat de la base de dades. També ho podeu canviar més endavant a la configuració de la base de dades.</translation>
</message>
</context>
<context>
@@ -3651,7 +4719,7 @@ Expect some bugs and minor issues, this version is not meant for production use.
<name>NewDatabaseWizardPageMetaData</name>
<message>
<source>General Database Information</source>
- <translation type="unfinished"/>
+ <translation>Informació general de la base de dades</translation>
</message>
<message>
<source>Please fill in the display name and an optional description for your new database:</source>
@@ -3659,6 +4727,72 @@ Expect some bugs and minor issues, this version is not meant for production use.
</message>
</context>
<context>
+ <name>OpData01</name>
+ <message>
+ <source>Invalid OpData01, does not contain header</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Unable to read all IV bytes, wanted 16 but got %1</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Unable to init cipher for opdata01: %1</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Unable to read all HMAC signature bytes</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Malformed OpData01 due to a failed HMAC</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Unable to process clearText in place</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Expected %1 bytes of clear-text, found %2</source>
+ <translation type="unfinished"/>
+ </message>
+</context>
+<context>
+ <name>OpVaultOpenWidget</name>
+ <message>
+ <source>Read Database did not produce an instance
+%1</source>
+ <translation type="unfinished"/>
+ </message>
+</context>
+<context>
+ <name>OpVaultReader</name>
+ <message>
+ <source>Directory .opvault must exist</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Directory .opvault must be readable</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Directory .opvault/default must exist</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Directory .opvault/default must be readable</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Unable to decode masterKey: %1</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Unable to derive master key: %1</source>
+ <translation type="unfinished"/>
+ </message>
+</context>
+<context>
<name>OpenSSHKey</name>
<message>
<source>Invalid key file, expecting an OpenSSH key</source>
@@ -3758,6 +4892,17 @@ Expect some bugs and minor issues, this version is not meant for production use.
</message>
</context>
<context>
+ <name>PasswordEdit</name>
+ <message>
+ <source>Passwords do not match</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Passwords match so far</source>
+ <translation type="unfinished"/>
+ </message>
+</context>
+<context>
<name>PasswordEditWidget</name>
<message>
<source>Enter password:</source>
@@ -3765,7 +4910,7 @@ Expect some bugs and minor issues, this version is not meant for production use.
</message>
<message>
<source>Confirm password:</source>
- <translation type="unfinished"/>
+ <translation>Confirma la contrasenya:</translation>
</message>
<message>
<source>Password</source>
@@ -3781,6 +4926,22 @@ Expect some bugs and minor issues, this version is not meant for production use.
</message>
<message>
<source>Generate master password</source>
+ <translation>Genera una contrasenya mestra</translation>
+ </message>
+ <message>
+ <source>Password field</source>
+ <translation>Camp de contrasenya</translation>
+ </message>
+ <message>
+ <source>Toggle password visibility</source>
+ <translation>Commuta la visibilitat de la contrasenya</translation>
+ </message>
+ <message>
+ <source>Repeat password field</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Toggle password generator</source>
<translation type="unfinished"/>
</message>
</context>
@@ -3812,22 +4973,10 @@ Expect some bugs and minor issues, this version is not meant for production use.
<translation>Tipus de caràcter</translation>
</message>
<message>
- <source>Upper Case Letters</source>
- <translation>Lletra majúscula</translation>
- </message>
- <message>
- <source>Lower Case Letters</source>
- <translation>Lletra minúscula</translation>
- </message>
- <message>
<source>Numbers</source>
<translation>Números</translation>
</message>
<message>
- <source>Special Characters</source>
- <translation>Caràcters especials</translation>
- </message>
- <message>
<source>Extended ASCII</source>
<translation>ASCII estès</translation>
</message>
@@ -3857,7 +5006,7 @@ Expect some bugs and minor issues, this version is not meant for production use.
</message>
<message>
<source>Copy</source>
- <translation>Còpia</translation>
+ <translation>Copia</translation>
</message>
<message>
<source>Accept</source>
@@ -3901,25 +5050,17 @@ Expect some bugs and minor issues, this version is not meant for production use.
</message>
<message>
<source>Switch to advanced mode</source>
- <translation type="unfinished"/>
+ <translation>Canvia al mode avançat</translation>
</message>
<message>
<source>Advanced</source>
<translation>Avançat</translation>
</message>
<message>
- <source>Upper Case Letters A to F</source>
- <translation type="unfinished"/>
- </message>
- <message>
<source>A-Z</source>
<translation>A-Z</translation>
</message>
<message>
- <source>Lower Case Letters A to F</source>
- <translation type="unfinished"/>
- </message>
- <message>
<source>a-z</source>
<translation>a-z</translation>
</message>
@@ -3952,18 +5093,10 @@ Expect some bugs and minor issues, this version is not meant for production use.
<translation type="unfinished"/>
</message>
<message>
- <source>Math</source>
- <translation type="unfinished"/>
- </message>
- <message>
<source>&lt;*+!?=</source>
<translation type="unfinished"/>
</message>
<message>
- <source>Dashes</source>
- <translation type="unfinished"/>
- </message>
- <message>
<source>\_|-/</source>
<translation type="unfinished"/>
</message>
@@ -3977,7 +5110,7 @@ Expect some bugs and minor issues, this version is not meant for production use.
</message>
<message>
<source>Switch to simple mode</source>
- <translation type="unfinished"/>
+ <translation>Canvia al mode simple</translation>
</message>
<message>
<source>Simple</source>
@@ -3989,11 +5122,11 @@ Expect some bugs and minor issues, this version is not meant for production use.
</message>
<message>
<source>Do not include:</source>
- <translation type="unfinished"/>
+ <translation>No incloure:</translation>
</message>
<message>
<source>Add non-hex letters to &quot;do not include&quot; list</source>
- <translation type="unfinished"/>
+ <translation>Afegeix caràcters no-hexadecimals a la llista &quot;no incloure&quot;</translation>
</message>
<message>
<source>Hex</source>
@@ -4009,8 +5142,76 @@ Expect some bugs and minor issues, this version is not meant for production use.
</message>
<message>
<source>Regenerate</source>
+ <translation>Regenera</translation>
+ </message>
+ <message>
+ <source>Generated password</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Upper-case letters</source>
<translation type="unfinished"/>
</message>
+ <message>
+ <source>Lower-case letters</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Special characters</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Math Symbols</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Dashes and Slashes</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Excluded characters</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Hex Passwords</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Password length</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Word Case:</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Regenerate password</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Copy password</source>
+ <translation>Copia la contrasenya</translation>
+ </message>
+ <message>
+ <source>Accept password</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>lower case</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>UPPER CASE</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Title Case</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Toggle password visibility</source>
+ <translation>Commuta la visibilitat de la contrasenya</translation>
+ </message>
</context>
<context>
<name>QApplication</name>
@@ -4018,12 +5219,9 @@ Expect some bugs and minor issues, this version is not meant for production use.
<source>KeeShare</source>
<translation type="unfinished"/>
</message>
-</context>
-<context>
- <name>QFileDialog</name>
<message>
- <source>Select</source>
- <translation type="unfinished"/>
+ <source>Statistics</source>
+ <translation>Estadístiques</translation>
</message>
</context>
<context>
@@ -4058,6 +5256,10 @@ Expect some bugs and minor issues, this version is not meant for production use.
</message>
<message>
<source>Merge</source>
+ <translation>Fusiona</translation>
+ </message>
+ <message>
+ <source>Continue</source>
<translation type="unfinished"/>
</message>
</context>
@@ -4081,7 +5283,7 @@ Expect some bugs and minor issues, this version is not meant for production use.
</message>
<message>
<source>Action cancelled or denied</source>
- <translation type="unfinished"/>
+ <translation>Acció cancel·lada o denegada</translation>
</message>
<message>
<source>KeePassXC association failed, try again</source>
@@ -4129,7 +5331,7 @@ Expect some bugs and minor issues, this version is not meant for production use.
</message>
<message>
<source>Username for the entry.</source>
- <translation type="unfinished"/>
+ <translation>Nom d&apos;usuari de l&apos;entrada.</translation>
</message>
<message>
<source>username</source>
@@ -4152,10 +5354,6 @@ Expect some bugs and minor issues, this version is not meant for production use.
<translation type="unfinished"/>
</message>
<message>
- <source>Length for the generated password.</source>
- <translation type="unfinished"/>
- </message>
- <message>
<source>length</source>
<translation type="unfinished"/>
</message>
@@ -4165,7 +5363,7 @@ Expect some bugs and minor issues, this version is not meant for production use.
</message>
<message>
<source>Copy an entry&apos;s password to the clipboard.</source>
- <translation type="unfinished"/>
+ <translation>Copia la contrasenya d&apos;una entrada al porta-retalls.</translation>
</message>
<message>
<source>Path of the entry to clip.</source>
@@ -4205,18 +5403,6 @@ Expect some bugs and minor issues, this version is not meant for production use.
<translation type="unfinished"/>
</message>
<message>
- <source>Extract and print the content of a database.</source>
- <translation>Extrau imprimeix el contingut d&apos;una base de dades.</translation>
- </message>
- <message>
- <source>Path of the database to extract.</source>
- <translation>Camí de la base de dades a extreure.</translation>
- </message>
- <message>
- <source>Insert password to unlock %1: </source>
- <translation type="unfinished"/>
- </message>
- <message>
<source>WARNING: You are using a legacy key file format which may become
unsupported in the future.
@@ -4255,10 +5441,6 @@ Available commands:
<translation>Fusiona dues bases de dades</translation>
</message>
<message>
- <source>Path of the database to merge into.</source>
- <translation>Camí de la base de dades origen a fusionar.</translation>
- </message>
- <message>
<source>Path of the database to merge from.</source>
<translation>Camí de la base de dades de destí a fusionar.</translation>
</message>
@@ -4268,7 +5450,7 @@ Available commands:
</message>
<message>
<source>Key file of the database to merge from.</source>
- <translation type="unfinished"/>
+ <translation>Fitxer clau de la base de dades amb la que es fusiona.</translation>
</message>
<message>
<source>Show an entry&apos;s information.</source>
@@ -4335,10 +5517,6 @@ Available commands:
<translation>Integració amb el navegador</translation>
</message>
<message>
- <source>YubiKey[%1] Challenge Response - Slot %2 - %3</source>
- <translation>Resposta de YubiKey [%1] - Slot %2 - %3</translation>
- </message>
- <message>
<source>Press</source>
<translation>Prem</translation>
</message>
@@ -4368,10 +5546,6 @@ Available commands:
<translation type="unfinished"/>
</message>
<message>
- <source>Invalid value for password length %1.</source>
- <translation type="unfinished"/>
- </message>
- <message>
<source>Could not create entry with path %1.</source>
<translation type="unfinished"/>
</message>
@@ -4429,10 +5603,6 @@ Available commands:
<translation type="unfinished"/>
</message>
<message>
- <source>Invalid value for password length: %1</source>
- <translation type="unfinished"/>
- </message>
- <message>
<source>Could not find entry with path %1.</source>
<translation type="unfinished"/>
</message>
@@ -4557,24 +5727,6 @@ Available commands:
<translation type="unfinished"/>
</message>
<message>
- <source>File %1 does not exist.</source>
- <translation type="unfinished"/>
- </message>
- <message>
- <source>Unable to open file %1.</source>
- <translation type="unfinished"/>
- </message>
- <message>
- <source>Error while reading the database:
-%1</source>
- <translation type="unfinished"/>
- </message>
- <message>
- <source>Error while parsing the database:
-%1</source>
- <translation type="unfinished"/>
- </message>
- <message>
<source>Length of the generated password</source>
<translation type="unfinished"/>
</message>
@@ -4587,10 +5739,6 @@ Available commands:
<translation type="unfinished"/>
</message>
<message>
- <source>Use numbers.</source>
- <translation type="unfinished"/>
- </message>
- <message>
<source>Use special characters</source>
<translation type="unfinished"/>
</message>
@@ -4625,7 +5773,8 @@ Available commands:
<message>
<source>Error reading merge file:
%1</source>
- <translation type="unfinished"/>
+ <translation>Error en la lectura del fitxer de fusió:
+%1</translation>
</message>
<message>
<source>Unable to save database to file : %1</source>
@@ -4681,7 +5830,7 @@ Available commands:
</message>
<message>
<source>Argon2 (KDBX 4 – recommended)</source>
- <translation type="unfinished"/>
+ <translation>Argon2 (KDBX 4 – recomanat)</translation>
</message>
<message>
<source>AES-KDF (KDBX 4)</source>
@@ -4734,10 +5883,6 @@ Available commands:
<translation type="unfinished"/>
</message>
<message>
- <source>Insert password to encrypt database (Press enter to leave blank): </source>
- <translation type="unfinished"/>
- </message>
- <message>
<source>Creating KeyFile %1 failed: %2</source>
<translation type="unfinished"/>
</message>
@@ -4746,10 +5891,6 @@ Available commands:
<translation type="unfinished"/>
</message>
<message>
- <source>Remove an entry from the database.</source>
- <translation type="unfinished"/>
- </message>
- <message>
<source>Path of the entry to remove.</source>
<translation type="unfinished"/>
</message>
@@ -4791,7 +5932,7 @@ Available commands:
</message>
<message>
<source>Fatal error while testing the cryptographic functions.</source>
- <translation>Error mentre es provava les funcions criptogràfiques.</translation>
+ <translation>S&apos;ha produït un error quan es provaven les funcions criptogràfiques.</translation>
</message>
<message>
<source>KeePassXC - Error</source>
@@ -4805,6 +5946,334 @@ Available commands:
<source>Cannot create new group</source>
<translation type="unfinished"/>
</message>
+ <message>
+ <source>Deactivate password key for the database.</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Displays debugging information.</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Deactivate password key for the database to merge from.</source>
+ <translation>Desactiva la clau per la base de dades que volem fusionar.</translation>
+ </message>
+ <message>
+ <source>Version %1</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Build Type: %1</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Revision: %1</source>
+ <translation>Revisió: %1</translation>
+ </message>
+ <message>
+ <source>Distribution: %1</source>
+ <translation>Distribució: %1</translation>
+ </message>
+ <message>
+ <source>Debugging mode is disabled.</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Debugging mode is enabled.</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Operating system: %1
+CPU architecture: %2
+Kernel: %3 %4</source>
+ <translation>Sistema operatiu: %1
+Arquitectura de la CPU: %2
+Nucli: %3 %4</translation>
+ </message>
+ <message>
+ <source>Auto-Type</source>
+ <translation>Compleció automàtica</translation>
+ </message>
+ <message>
+ <source>KeeShare (signed and unsigned sharing)</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>KeeShare (only signed sharing)</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>KeeShare (only unsigned sharing)</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>YubiKey</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>TouchID</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>None</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Enabled extensions:</source>
+ <translation>Extensions habilitades:</translation>
+ </message>
+ <message>
+ <source>Cryptographic libraries:</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Cannot generate a password and prompt at the same time!</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Adds a new group to a database.</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Path of the group to add.</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Group %1 already exists!</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Group %1 not found.</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Successfully added group %1.</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Check if any passwords have been publicly leaked. FILENAME must be the path of a file listing SHA-1 hashes of leaked passwords in HIBP format, as available from https://haveibeenpwned.com/Passwords.</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>FILENAME</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Analyze passwords for weaknesses and problems.</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Failed to open HIBP file %1: %2</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Evaluating database entries against HIBP file, this will take a while...</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Close the currently opened database.</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Display this help.</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Yubikey slot used to encrypt the database.</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>slot</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Invalid word count %1</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>The word list is too small (&lt; 1000 items)</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Exit interactive mode.</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Format to use when exporting. Available choices are xml or csv. Defaults to xml.</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Exports the content of a database to standard output in the specified format.</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Unable to export database to XML: %1</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Unsupported format %1</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Use numbers</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Invalid password length %1</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Display command help.</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Available commands:</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Import the contents of an XML database.</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Path of the XML database export.</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Path of the new database.</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Unable to import XML database export %1</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Successfully imported database.</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Unknown command %1</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Flattens the output to single lines.</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Only print the changes detected by the merge operation.</source>
+ <translation>Mostra només els canvis detectats per l&apos;operació de fusió.</translation>
+ </message>
+ <message>
+ <source>Yubikey slot for the second database.</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Successfully merged %1 into %2.</source>
+ <translation>S&apos;ha fusionat amb èxit %1 a %2.</translation>
+ </message>
+ <message>
+ <source>Database was not modified by merge operation.</source>
+ <translation>La base de dades no s&apos;ha modificat amb l&apos;operació de fusionat.</translation>
+ </message>
+ <message>
+ <source>Moves an entry to a new group.</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Path of the entry to move.</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Path of the destination group.</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Could not find group with path %1.</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Entry is already in group %1.</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Successfully moved entry %1 to group %2.</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Open a database.</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Path of the group to remove.</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Cannot remove root group from database.</source>
+ <translation>No es pot suprimir el grup arrel de la base de dades.</translation>
+ </message>
+ <message>
+ <source>Successfully recycled group %1.</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Successfully deleted group %1.</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Failed to open database file %1: not found</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Failed to open database file %1: not a plain file</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Failed to open database file %1: not readable</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Enter password to unlock %1: </source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Invalid YubiKey slot %1</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Please touch the button on your YubiKey to unlock %1</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Enter password to encrypt database (optional): </source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>HIBP file, line %1: parse error</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Secret Service Integration</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>User name</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>%1[%2] Challenge Response - Slot %3 - %4</source>
+ <translation type="unfinished"/>
+ </message>
+ <message numerus="yes">
+ <source>Password for &apos;%1&apos; has been leaked %2 time(s)!</source>
+ <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
+ </message>
+ <message>
+ <source>Invalid password generator after applying all options</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Show the protected attributes in clear text.</source>
+ <translation type="unfinished"/>
+ </message>
</context>
<context>
<name>QtIOCompressor</name>
@@ -4959,6 +6428,93 @@ Available commands:
</message>
</context>
<context>
+ <name>SettingsWidgetFdoSecrets</name>
+ <message>
+ <source>Options</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Enable KeepassXC Freedesktop.org Secret Service integration</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>General</source>
+ <translation>General</translation>
+ </message>
+ <message>
+ <source>Show notification when credentials are requested</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;If recycle bin is enabled for the database, entries will be moved to recycle bin directly. Otherwise, they will be deleted without confirmation.&lt;/p&gt;&lt;p&gt;You will still be prompted if any entries are referenced by others.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Don&apos;t confirm when entries are deleted by clients.</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Exposed database groups:</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>File Name</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Group</source>
+ <translation>Grup</translation>
+ </message>
+ <message>
+ <source>Manage</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Authorization</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>These applications are currently connected:</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Application</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Disconnect</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Database settings</source>
+ <translation>Configuració de la base de dades</translation>
+ </message>
+ <message>
+ <source>Edit database settings</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Unlock database</source>
+ <translation>Desbloqueja la base de dades</translation>
+ </message>
+ <message>
+ <source>Unlock database to show more information</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Lock database</source>
+ <translation>Bloqueja la base de dades</translation>
+ </message>
+ <message>
+ <source>Unlock to show</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>None</source>
+ <translation type="unfinished"/>
+ </message>
+</context>
+<context>
<name>SettingsWidgetKeeShare</name>
<message>
<source>Active</source>
@@ -4966,11 +6522,11 @@ Available commands:
</message>
<message>
<source>Allow export</source>
- <translation type="unfinished"/>
+ <translation>Permet l&apos;exportació</translation>
</message>
<message>
<source>Allow import</source>
- <translation type="unfinished"/>
+ <translation>Permet la importació</translation>
</message>
<message>
<source>Own certificate</source>
@@ -5002,23 +6558,23 @@ Available commands:
</message>
<message>
<source>Export</source>
- <translation type="unfinished"/>
+ <translation>Exporta</translation>
</message>
<message>
<source>Imported certificates</source>
- <translation type="unfinished"/>
+ <translation>Certificats importats</translation>
</message>
<message>
<source>Trust</source>
- <translation type="unfinished"/>
+ <translation>Confia</translation>
</message>
<message>
<source>Ask</source>
- <translation type="unfinished"/>
+ <translation>Pregunta</translation>
</message>
<message>
<source>Untrust</source>
- <translation type="unfinished"/>
+ <translation>Desconfia</translation>
</message>
<message>
<source>Remove</source>
@@ -5030,11 +6586,11 @@ Available commands:
</message>
<message>
<source>Status</source>
- <translation type="unfinished"/>
+ <translation>Estat</translation>
</message>
<message>
<source>Fingerprint</source>
- <translation type="unfinished"/>
+ <translation>Empremta digital</translation>
</message>
<message>
<source>Certificate</source>
@@ -5042,11 +6598,11 @@ Available commands:
</message>
<message>
<source>Trusted</source>
- <translation type="unfinished"/>
+ <translation>De confiança</translation>
</message>
<message>
<source>Untrusted</source>
- <translation type="unfinished"/>
+ <translation>No és de confiança</translation>
</message>
<message>
<source>Unknown</source>
@@ -5081,147 +6637,205 @@ Available commands:
<source>Signer:</source>
<translation type="unfinished"/>
</message>
-</context>
-<context>
- <name>ShareObserver</name>
<message>
- <source>Import from container without signature</source>
+ <source>Allow KeeShare imports</source>
<translation type="unfinished"/>
</message>
<message>
- <source>We cannot verify the source of the shared container because it is not signed. Do you really want to import from %1?</source>
+ <source>Allow KeeShare exports</source>
<translation type="unfinished"/>
</message>
<message>
- <source>Import from container with certificate</source>
+ <source>Only show warnings and errors</source>
<translation type="unfinished"/>
</message>
<message>
- <source>Not this time</source>
+ <source>Key</source>
+ <translation>Clau</translation>
+ </message>
+ <message>
+ <source>Signer name field</source>
<translation type="unfinished"/>
</message>
<message>
- <source>Never</source>
- <translation>Mai</translation>
+ <source>Generate new certificate</source>
+ <translation type="unfinished"/>
</message>
<message>
- <source>Always</source>
+ <source>Import existing certificate</source>
<translation type="unfinished"/>
</message>
<message>
- <source>Just this time</source>
+ <source>Export own certificate</source>
<translation type="unfinished"/>
</message>
<message>
- <source>Import from %1 failed (%2)</source>
+ <source>Known shares</source>
<translation type="unfinished"/>
</message>
<message>
- <source>Import from %1 successful (%2)</source>
+ <source>Trust selected certificate</source>
<translation type="unfinished"/>
</message>
<message>
- <source>Imported from %1</source>
+ <source>Ask whether to trust the selected certificate every time</source>
<translation type="unfinished"/>
</message>
<message>
- <source>Signed share container are not supported - import prevented</source>
+ <source>Untrust selected certificate</source>
<translation type="unfinished"/>
</message>
<message>
- <source>File is not readable</source>
+ <source>Remove selected certificate</source>
<translation type="unfinished"/>
</message>
+</context>
+<context>
+ <name>ShareExport</name>
<message>
- <source>Invalid sharing container</source>
+ <source>Overwriting signed share container is not supported - export prevented</source>
<translation type="unfinished"/>
</message>
<message>
- <source>Untrusted import prevented</source>
+ <source>Could not write export container (%1)</source>
<translation type="unfinished"/>
</message>
<message>
- <source>Successful signed import</source>
+ <source>Could not embed signature: Could not open file to write (%1)</source>
<translation type="unfinished"/>
</message>
<message>
- <source>Unexpected error</source>
+ <source>Could not embed signature: Could not write file (%1)</source>
<translation type="unfinished"/>
</message>
<message>
- <source>Unsigned share container are not supported - import prevented</source>
+ <source>Could not embed database: Could not open file to write (%1)</source>
<translation type="unfinished"/>
</message>
<message>
- <source>Successful unsigned import</source>
+ <source>Could not embed database: Could not write file (%1)</source>
<translation type="unfinished"/>
</message>
<message>
- <source>File does not exist</source>
+ <source>Overwriting unsigned share container is not supported - export prevented</source>
<translation type="unfinished"/>
</message>
<message>
- <source>Unknown share container type</source>
+ <source>Could not write export container</source>
<translation type="unfinished"/>
</message>
<message>
- <source>Overwriting signed share container is not supported - export prevented</source>
+ <source>Unexpected export error occurred</source>
<translation type="unfinished"/>
</message>
+</context>
+<context>
+ <name>ShareImport</name>
<message>
- <source>Could not write export container (%1)</source>
+ <source>Import from container without signature</source>
<translation type="unfinished"/>
</message>
<message>
- <source>Overwriting unsigned share container is not supported - export prevented</source>
+ <source>We cannot verify the source of the shared container because it is not signed. Do you really want to import from %1?</source>
<translation type="unfinished"/>
</message>
<message>
- <source>Could not write export container</source>
+ <source>Import from container with certificate</source>
<translation type="unfinished"/>
</message>
<message>
- <source>Unexpected export error occurred</source>
+ <source>Do you want to trust %1 with the fingerprint of %2 from %3?</source>
+ <translation>Voleu confiar en %1 amb l&apos;empremta digital %2 de %3? {1?} {2?}</translation>
+ </message>
+ <message>
+ <source>Not this time</source>
<translation type="unfinished"/>
</message>
<message>
- <source>Export to %1 failed (%2)</source>
+ <source>Never</source>
+ <translation>Mai</translation>
+ </message>
+ <message>
+ <source>Always</source>
<translation type="unfinished"/>
</message>
<message>
- <source>Export to %1 successful (%2)</source>
+ <source>Just this time</source>
<translation type="unfinished"/>
</message>
<message>
- <source>Export to %1</source>
- <translation>Exporta a %1</translation>
+ <source>Signed share container are not supported - import prevented</source>
+ <translation type="unfinished"/>
</message>
<message>
- <source>Do you want to trust %1 with the fingerprint of %2 from %3?</source>
+ <source>File is not readable</source>
<translation type="unfinished"/>
</message>
<message>
- <source>Multiple import source path to %1 in %2</source>
+ <source>Invalid sharing container</source>
<translation type="unfinished"/>
</message>
<message>
- <source>Conflicting export target path %1 in %2</source>
+ <source>Untrusted import prevented</source>
+ <translation>S&apos;ha evitat una importació que no era de confiança</translation>
+ </message>
+ <message>
+ <source>Successful signed import</source>
<translation type="unfinished"/>
</message>
<message>
- <source>Could not embed signature: Could not open file to write (%1)</source>
+ <source>Unexpected error</source>
+ <translation>Error inesperat</translation>
+ </message>
+ <message>
+ <source>Unsigned share container are not supported - import prevented</source>
<translation type="unfinished"/>
</message>
<message>
- <source>Could not embed signature: Could not write file (%1)</source>
+ <source>Successful unsigned import</source>
+ <translation>La importació sense signar s&apos;ha realitzat amb èxit</translation>
+ </message>
+ <message>
+ <source>File does not exist</source>
+ <translation>El fitxer no existeix</translation>
+ </message>
+ <message>
+ <source>Unknown share container type</source>
<translation type="unfinished"/>
</message>
+</context>
+<context>
+ <name>ShareObserver</name>
<message>
- <source>Could not embed database: Could not open file to write (%1)</source>
+ <source>Import from %1 failed (%2)</source>
+ <translation>La importació de %1 ha fallat (%2)</translation>
+ </message>
+ <message>
+ <source>Import from %1 successful (%2)</source>
<translation type="unfinished"/>
</message>
<message>
- <source>Could not embed database: Could not write file (%1)</source>
+ <source>Imported from %1</source>
+ <translation>Importat de %1</translation>
+ </message>
+ <message>
+ <source>Export to %1 failed (%2)</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Export to %1 successful (%2)</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Export to %1</source>
+ <translation>Exporta a %1</translation>
+ </message>
+ <message>
+ <source>Multiple import source path to %1 in %2</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Conflicting export target path %1 in %2</source>
<translation type="unfinished"/>
</message>
</context>
@@ -5237,23 +6851,23 @@ Available commands:
</message>
<message>
<source>Copy</source>
- <translation>Còpia</translation>
+ <translation>Copia</translation>
</message>
<message numerus="yes">
<source>Expires in &lt;b&gt;%n&lt;/b&gt; second(s)</source>
- <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
+ <translation><numerusform>Caduca en &lt;b&gt;% n&lt;/b&gt; segon (s)</numerusform><numerusform>Caduca en &lt;b&gt;% n&lt;/b&gt; segon(s)</numerusform></translation>
</message>
</context>
<context>
<name>TotpExportSettingsDialog</name>
<message>
<source>Copy</source>
- <translation>Còpia</translation>
+ <translation>Copia</translation>
</message>
<message>
<source>NOTE: These TOTP settings are custom and may not work with other authenticators.</source>
<comment>TOTP QR code dialog warning</comment>
- <translation type="unfinished"/>
+ <translation>NOTA: aquestes configuracions del TOTP són personalitzades i pot ser que no funcionin amb altres autentificadors.</translation>
</message>
<message>
<source>There was an error creating the QR code.</source>
@@ -5261,7 +6875,7 @@ Available commands:
</message>
<message>
<source>Closing in %1 seconds.</source>
- <translation>Tancant en %1 segons.</translation>
+ <translation>Es tancarà en %1 segons.</translation>
</message>
</context>
<context>
@@ -5271,20 +6885,16 @@ Available commands:
<translation>Organització TOTP</translation>
</message>
<message>
- <source>Key:</source>
- <translation>Clau:</translation>
- </message>
- <message>
<source>Default RFC 6238 token settings</source>
- <translation type="unfinished"/>
+ <translation>Configuració per defecte amb testimoni RFC 6238</translation>
</message>
<message>
<source>Steam token settings</source>
- <translation type="unfinished"/>
+ <translation>Configuració amb testimoni d&apos;Steam</translation>
</message>
<message>
<source>Use custom settings</source>
- <translation>Utilitza la configuració personalitzada</translation>
+ <translation>Utilitza una configuració personalitzada</translation>
</message>
<message>
<source>Custom Settings</source>
@@ -5304,16 +6914,45 @@ Available commands:
<translation>Mida del codi:</translation>
</message>
<message>
- <source>6 digits</source>
- <translation>6 dígits</translation>
+ <source>Secret Key:</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Secret key must be in Base32 format</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Secret key field</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Algorithm:</source>
+ <translation>Algoritme:</translation>
+ </message>
+ <message>
+ <source>Time step field</source>
+ <translation type="unfinished"/>
</message>
<message>
- <source>7 digits</source>
- <translation>7 dígits</translation>
+ <source> digits</source>
+ <translation type="unfinished"/>
</message>
<message>
- <source>8 digits</source>
- <translation>8 dígits</translation>
+ <source>Invalid TOTP Secret</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>You have entered an invalid secret key. The key must be in Base32 format.
+Example: JBSWY3DPEHPK3PXP</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Confirm Remove TOTP Settings</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Are you sure you want to delete TOTP settings for this entry?</source>
+ <translation type="unfinished"/>
</message>
</context>
<context>
@@ -5336,7 +6975,7 @@ Available commands:
</message>
<message>
<source>An error occurred in retrieving update information.</source>
- <translation type="unfinished"/>
+ <translation>S&apos;ha produït un error en recuperar la informació d&apos;actualització.</translation>
</message>
<message>
<source>Please try again later.</source>
@@ -5397,6 +7036,14 @@ Available commands:
<source>Welcome to KeePassXC %1</source>
<translation>Benvinguts/des al KeePassXC %1</translation>
</message>
+ <message>
+ <source>Import from 1Password</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Open a recent database</source>
+ <translation type="unfinished"/>
+ </message>
</context>
<context>
<name>YubiKeyEditWidget</name>
@@ -5406,11 +7053,11 @@ Available commands:
</message>
<message>
<source>YubiKey Challenge-Response</source>
- <translation type="unfinished"/>
+ <translation>Comprovació-resposta YubiKey</translation>
</message>
<message>
<source>&lt;p&gt;If you own a &lt;a href=&quot;https://www.yubico.com/&quot;&gt;YubiKey&lt;/a&gt;, you can use it for additional security.&lt;/p&gt;&lt;p&gt;The YubiKey requires one of its slots to be programmed as &lt;a href=&quot;https://www.yubico.com/products/services-software/personalization-tools/challenge-response/&quot;&gt;HMAC-SHA1 Challenge-Response&lt;/a&gt;.&lt;/p&gt;</source>
- <translation type="unfinished"/>
+ <translation>&lt;p&gt;Si teniu una &lt;a href=&quot;https://www.yubico.com/&quot;&gt;Yubikey&lt;/a&gt;, la podeu usar com a seguretat addicional.&lt;/p&gt;&lt;p&gt;La YubiKey necessita que una de les seves ranures es programi com a &lt;a href=&quot;https://www.yubico.com/products/services-software/personalization-tools/challenge-response/&quot;&gt; comprovació-resposta HMAC-SHA1&lt;/a&gt;.&lt;/p&gt;</translation>
</message>
<message>
<source>No YubiKey detected, please ensure it&apos;s plugged in.</source>
@@ -5420,5 +7067,13 @@ Available commands:
<source>No YubiKey inserted.</source>
<translation type="unfinished"/>
</message>
+ <message>
+ <source>Refresh hardware tokens</source>
+ <translation>Refresca els testimonis de maquinari</translation>
+ </message>
+ <message>
+ <source>Hardware key slot selection</source>
+ <translation>Selecció de la ranura de la motxilla</translation>
+ </message>
</context>
</TS> \ No newline at end of file
diff --git a/share/translations/keepassx_cs.ts b/share/translations/keepassx_cs.ts
index 7527275db..0024262ad 100644
--- a/share/translations/keepassx_cs.ts
+++ b/share/translations/keepassx_cs.ts
@@ -444,6 +444,14 @@
<source>This Auto-Type command contains arguments which are repeated very often. Do you really want to proceed?</source>
<translation>Tento příkaz automatického vyplňování obsahuje argumenty, které se velmi Äasto opakují. Opravdu chcete pokraÄovat?</translation>
</message>
+ <message>
+ <source>Permission Required</source>
+ <translation>Jsou zapotřebí oprávnění</translation>
+ </message>
+ <message>
+ <source>KeePassXC requires the Accessibility permission in order to perform entry level Auto-Type. If you already granted permission, you may have to restart KeePassXC.</source>
+ <translation>KeePassXC vyžaduje oprávnění ke Zpřístupnění, aby mohlo být prováděno automatické vyplňování na úrovni položky. Pokud jste toto oprávnění už udělili, může být třeba ještě KeePassXC restartovat.</translation>
+ </message>
</context>
<context>
<name>AutoTypeAssociationsModel</name>
@@ -491,6 +499,17 @@
</message>
</context>
<context>
+ <name>AutoTypePlatformMac</name>
+ <message>
+ <source>Permission Required</source>
+ <translation>Jsou zapotřebí oprávnění</translation>
+ </message>
+ <message>
+ <source>KeePassXC requires the Accessibility and Screen Recorder permission in order to perform global Auto-Type. Screen Recording is necessary to use the window title to find entries. If you already granted permission, you may have to restart KeePassXC.</source>
+ <translation>KeePassXC vyžaduje oprávnění ke Zpřístupnění a „Nahrávání obrazovky“, aby mohlo být prováděno globální automatické vyplňování. Nahrávání obrazovky je nezbytné pro použití nadpisu okna pro vyhledávání položek v databázi. Pokud jste tato oprávnění už udělili, může být třeba ještě KeePassXC restartovat.</translation>
+ </message>
+</context>
+<context>
<name>AutoTypeSelectDialog</name>
<message>
<source>Auto-Type - KeePassXC</source>
@@ -774,16 +793,6 @@ Vyberte databázi, do které chcete přihlašovací údaje uložit.</translation
<translation>KeePassXC: Nový požadavek na pÅ™iÅ™azení klíÄe</translation>
</message>
<message>
- <source>You have received an association request for the above key.
-
-If you would like to allow it access to your KeePassXC database,
-give it a unique name to identify and accept it.</source>
- <translation>Obdrželi jste požadavek na pÅ™iÅ™azení výše uvedeného klíÄe.
-
-Pokud jím chcete umožnit přístup do KeePassXC databáze,
-zadejte pro nÄ›j neopakující se název pro identifikaci a potvrÄte ho.</translation>
- </message>
- <message>
<source>Save and allow access</source>
<translation>Uložit a umožnit přístup</translation>
</message>
@@ -863,6 +872,18 @@ Chcete přenést vaše stávající nastavení nyní?</translation>
<source>Don&apos;t show this warning again</source>
<translation>Toto varování znovu nezobrazovat</translation>
</message>
+ <message>
+ <source>You have received an association request for the following database:
+%1
+
+Give the connection a unique name or ID, for example:
+chrome-laptop.</source>
+ <translation>Obdrželi jste požadavek na asociaci pro následující databázi:
+%1
+
+Dejte spojení neopakující se název nebo identifikátor, například:
+chrome-laptop.</translation>
+ </message>
</context>
<context>
<name>CloneDialog</name>
@@ -1129,10 +1150,6 @@ Zvažte vytvoÅ™ení nového souboru s klíÄem.</translation>
<translation>Zobraz./nezobrazovat hesla</translation>
</message>
<message>
- <source>Enter Additional Credentials:</source>
- <translation>Zadejte další přihlašovací údaje:</translation>
- </message>
- <message>
<source>Key file selection</source>
<translation>VýbÄ›r souboru s klíÄem</translation>
</message>
@@ -1157,12 +1174,6 @@ Zvažte vytvoÅ™ení nového souboru s klíÄem.</translation>
<translation>Hardwarový klíÄ:</translation>
</message>
<message>
- <source>&lt;p&gt;You can use a hardware security key such as a &lt;strong&gt;YubiKey&lt;/strong&gt; or &lt;strong&gt;OnlyKey&lt;/strong&gt; with slots configured for HMAC-SHA1.&lt;/p&gt;
- &lt;p&gt;Click for more information...&lt;/p&gt;</source>
- <translation>1Je možné používat hardwarové bezpeÄnostní klíÄe jako například 2YubiKey2 nebo 3OnlyKey3 se sloty nastavenými pro HMAC-SHA1.
- &lt;p&gt;Klikněte pro další informace…&lt;/p&gt;</translation>
- </message>
- <message>
<source>Hardware key help</source>
<translation>NápovÄ›da k hardwarovému klíÄi</translation>
</message>
@@ -1179,10 +1190,6 @@ Zvažte vytvoÅ™ení nového souboru s klíÄem.</translation>
<translation>VyÄistit soubor s klíÄem</translation>
</message>
<message>
- <source>Select file...</source>
- <translation>Vybrat soubor…</translation>
- </message>
- <message>
<source>Unlock failed and no password given</source>
<translation>Odemknutí se nezdařilo a nebylo zadáno žádné heslo</translation>
</message>
@@ -1200,6 +1207,42 @@ Abyste tomu, aby se tato chyba objevovala, je třeba přejít do „Nastavení d
<source>Retry with empty password</source>
<translation>Zkusit znovu bez hesla</translation>
</message>
+ <message>
+ <source>Enter Additional Credentials (if any):</source>
+ <translation>Zadejte další přihlašovací údaje (pokud jsou):</translation>
+ </message>
+ <message>
+ <source>&lt;p&gt;You can use a hardware security key such as a &lt;strong&gt;YubiKey&lt;/strong&gt; or &lt;strong&gt;OnlyKey&lt;/strong&gt; with slots configured for HMAC-SHA1.&lt;/p&gt;
+&lt;p&gt;Click for more information...&lt;/p&gt;</source>
+ <translation>&lt;p&gt;Je možné používat hardwarové bezpeÄnostní klíÄe jako například &lt;strong&gt;YubiKey&lt;/strong&gt; nebo &lt;strong&gt;OnlyKey&lt;/strong&gt; se sloty nastavenými pro HMAC-SHA1.&lt;/p&gt;
+&lt;p&gt;Klikněte pro další informace…&lt;/p&gt;</translation>
+ </message>
+ <message>
+ <source>&lt;p&gt;In addition to your master password, you can use a secret file to enhance the security of your database. Such a file can be generated in your database&apos;s security settings.&lt;/p&gt;&lt;p&gt;This is &lt;strong&gt;not&lt;/strong&gt; your *.kdbx database file!&lt;br&gt;If you do not have a key file, leave the field empty.&lt;/p&gt;&lt;p&gt;Click for more information...&lt;/p&gt;</source>
+ <translation>&lt;p&gt;Krom hlavního hesla je možné použít tajný soubor a vylepÅ¡it tak zabezpeÄení databáze. Takový soubor je možné vytvoÅ™it v nastavení zabezpeÄení databáze.&lt;/p&gt;&lt;p&gt;Toto &lt;strong&gt;není&lt;/strong&gt; *.kdbx databázový soubor!&lt;br&gt;Pokud nemáte soubor s klíÄem, ponechte kolonku nevyplnÄ›nou.&lt;/p&gt;&lt;p&gt;Pro více informaci kliknÄ›te sem…&lt;/p&gt;</translation>
+ </message>
+ <message>
+ <source>Key file help</source>
+ <translation>NápovÄ›da k souboru s klíÄem</translation>
+ </message>
+ <message>
+ <source>?</source>
+ <translation>?</translation>
+ </message>
+ <message>
+ <source>Select key file...</source>
+ <translation>Vyberte soubor s klíÄem…</translation>
+ </message>
+ <message>
+ <source>Cannot use database file as key file</source>
+ <translation>Soubor s databází není možné použít pro úÄely souboru s klíÄem</translation>
+ </message>
+ <message>
+ <source>You cannot use your database file as a key file.
+If you do not have a key file, please leave the field empty.</source>
+ <translation>Soubor s databází není možné použít pro úÄely souboru s klíÄem (bude se mÄ›nit).
+Pokud nemáte žádný soubor, který by se zaruÄenÄ› nemÄ›nil (a byl tedy vhodný jako klíÄ), tuto kolonku nevyplňujte.</translation>
+ </message>
</context>
<context>
<name>DatabaseSettingWidgetMetaData</name>
@@ -1840,6 +1883,10 @@ Opravdu chcete pokraÄovat bez hesla?</translation>
<source>Average password length is less than ten characters. Longer passwords provide more security.</source>
<translation>PrůmÄ›rná délka hesla je kratší, než deset znaků. Delší hesla poskytují vyšší zabezpeÄení.</translation>
</message>
+ <message>
+ <source>Please wait, database statistics are being calculated...</source>
+ <translation>ÄŒekejte, probíhá výpoÄet statistik o databázi…</translation>
+ </message>
</context>
<context>
<name>DatabaseTabWidget</name>
@@ -6281,6 +6328,10 @@ Jádro systému: %3 %4</translation>
<source>Invalid password generator after applying all options</source>
<translation>Po uplatnění všech možností není vytváření hesel platné</translation>
</message>
+ <message>
+ <source>Show the protected attributes in clear text.</source>
+ <translation>Zobrazit chránÄ›né atributy v Äitelném textu.</translation>
+ </message>
</context>
<context>
<name>QtIOCompressor</name>
diff --git a/share/translations/keepassx_da.ts b/share/translations/keepassx_da.ts
index eb096f963..09a74ecb0 100644
--- a/share/translations/keepassx_da.ts
+++ b/share/translations/keepassx_da.ts
@@ -444,6 +444,14 @@
<source>This Auto-Type command contains arguments which are repeated very often. Do you really want to proceed?</source>
<translation>Denne autoskriv-kommando indholder argumenter, som er gentaget ofte. Er du sikker på, at du vil fortsætte?</translation>
</message>
+ <message>
+ <source>Permission Required</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>KeePassXC requires the Accessibility permission in order to perform entry level Auto-Type. If you already granted permission, you may have to restart KeePassXC.</source>
+ <translation type="unfinished"/>
+ </message>
</context>
<context>
<name>AutoTypeAssociationsModel</name>
@@ -491,6 +499,17 @@
</message>
</context>
<context>
+ <name>AutoTypePlatformMac</name>
+ <message>
+ <source>Permission Required</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>KeePassXC requires the Accessibility and Screen Recorder permission in order to perform global Auto-Type. Screen Recording is necessary to use the window title to find entries. If you already granted permission, you may have to restart KeePassXC.</source>
+ <translation type="unfinished"/>
+ </message>
+</context>
+<context>
<name>AutoTypeSelectDialog</name>
<message>
<source>Auto-Type - KeePassXC</source>
@@ -774,16 +793,6 @@ Venligst vælg den korrekte database for at gemme loginoplysninger.</translation
<translation>KeePassXC: Ny nøgleassocieringsanmodelse</translation>
</message>
<message>
- <source>You have received an association request for the above key.
-
-If you would like to allow it access to your KeePassXC database,
-give it a unique name to identify and accept it.</source>
- <translation>Du har modtaget en associeringsanmodelse for ovenstående nøgle.
-
-Hvis du vil give den adgang til din KeePassXC-database,
-så giv den et unikt navn for at kunne identificere og acceptere den.</translation>
- </message>
- <message>
<source>Save and allow access</source>
<translation>Gem og tillad adgang</translation>
</message>
@@ -863,6 +872,14 @@ Vil du migrere dine eksisterende indstillinger nu?</translation>
<source>Don&apos;t show this warning again</source>
<translation>Vis ikke denne advarsel igen</translation>
</message>
+ <message>
+ <source>You have received an association request for the following database:
+%1
+
+Give the connection a unique name or ID, for example:
+chrome-laptop.</source>
+ <translation type="unfinished"/>
+ </message>
</context>
<context>
<name>CloneDialog</name>
@@ -1129,10 +1146,6 @@ Overvej at generere en ny nøglefil.</translation>
<translation type="unfinished"/>
</message>
<message>
- <source>Enter Additional Credentials:</source>
- <translation type="unfinished"/>
- </message>
- <message>
<source>Key file selection</source>
<translation type="unfinished"/>
</message>
@@ -1157,11 +1170,6 @@ Overvej at generere en ny nøglefil.</translation>
<translation type="unfinished"/>
</message>
<message>
- <source>&lt;p&gt;You can use a hardware security key such as a &lt;strong&gt;YubiKey&lt;/strong&gt; or &lt;strong&gt;OnlyKey&lt;/strong&gt; with slots configured for HMAC-SHA1.&lt;/p&gt;
- &lt;p&gt;Click for more information...&lt;/p&gt;</source>
- <translation type="unfinished"/>
- </message>
- <message>
<source>Hardware key help</source>
<translation type="unfinished"/>
</message>
@@ -1178,10 +1186,6 @@ Overvej at generere en ny nøglefil.</translation>
<translation type="unfinished"/>
</message>
<message>
- <source>Select file...</source>
- <translation type="unfinished"/>
- </message>
- <message>
<source>Unlock failed and no password given</source>
<translation type="unfinished"/>
</message>
@@ -1196,6 +1200,40 @@ To prevent this error from appearing, you must go to &quot;Database Settings / S
<source>Retry with empty password</source>
<translation type="unfinished"/>
</message>
+ <message>
+ <source>Enter Additional Credentials (if any):</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>&lt;p&gt;You can use a hardware security key such as a &lt;strong&gt;YubiKey&lt;/strong&gt; or &lt;strong&gt;OnlyKey&lt;/strong&gt; with slots configured for HMAC-SHA1.&lt;/p&gt;
+&lt;p&gt;Click for more information...&lt;/p&gt;</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>&lt;p&gt;In addition to your master password, you can use a secret file to enhance the security of your database. Such a file can be generated in your database&apos;s security settings.&lt;/p&gt;&lt;p&gt;This is &lt;strong&gt;not&lt;/strong&gt; your *.kdbx database file!&lt;br&gt;If you do not have a key file, leave the field empty.&lt;/p&gt;&lt;p&gt;Click for more information...&lt;/p&gt;</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Key file help</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>?</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Select key file...</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Cannot use database file as key file</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>You cannot use your database file as a key file.
+If you do not have a key file, please leave the field empty.</source>
+ <translation type="unfinished"/>
+ </message>
</context>
<context>
<name>DatabaseSettingWidgetMetaData</name>
@@ -1835,6 +1873,10 @@ Er du sikker på, du vil fortsætte uden en adgangskode?</translation>
<source>Average password length is less than ten characters. Longer passwords provide more security.</source>
<translation type="unfinished"/>
</message>
+ <message>
+ <source>Please wait, database statistics are being calculated...</source>
+ <translation type="unfinished"/>
+ </message>
</context>
<context>
<name>DatabaseTabWidget</name>
@@ -6267,6 +6309,10 @@ Kerne: %3 %4</translation>
<source>Invalid password generator after applying all options</source>
<translation type="unfinished"/>
</message>
+ <message>
+ <source>Show the protected attributes in clear text.</source>
+ <translation type="unfinished"/>
+ </message>
</context>
<context>
<name>QtIOCompressor</name>
diff --git a/share/translations/keepassx_de.ts b/share/translations/keepassx_de.ts
index 2ab08729b..264653ce3 100644
--- a/share/translations/keepassx_de.ts
+++ b/share/translations/keepassx_de.ts
@@ -97,11 +97,11 @@
</message>
<message>
<source>Reset Settings?</source>
- <translation>Einstellungen zurück setzten?</translation>
+ <translation>Einstellungen zurücksetzen?</translation>
</message>
<message>
<source>Are you sure you want to reset all general and security settings to default?</source>
- <translation>Wollen Sie die Einstellungen für Allgemein und Sicherheit auf die Werkseinstellungen zurück stellen?</translation>
+ <translation>Wollen Sie die Einstellungen für Allgemein und Sicherheit auf die Werkseinstellungen zurücksetzen?</translation>
</message>
</context>
<context>
@@ -148,7 +148,7 @@
</message>
<message>
<source>Automatically reload the database when modified externally</source>
- <translation>Datenbank nach externer Änderung automatisch neu laden.</translation>
+ <translation>Datenbank nach externer Änderung automatisch neu laden</translation>
</message>
<message>
<source>Entry Management</source>
@@ -294,7 +294,7 @@
</message>
<message>
<source>Use monospaced font for Notes</source>
- <translation>Nutze Monospace-Schriftart für Notizen</translation>
+ <translation>Monospace-Schriftart für Notizen nutzen</translation>
</message>
<message>
<source>Language selection</source>
@@ -302,7 +302,7 @@
</message>
<message>
<source>Reset Settings to Default</source>
- <translation>Zurück setzen auf Werkseinstellungen</translation>
+ <translation>Zurücksetzen auf Werkseinstellungen</translation>
</message>
<message>
<source>Global auto-type shortcut</source>
@@ -366,7 +366,7 @@
</message>
<message>
<source>Don&apos;t require password repeat when it is visible</source>
- <translation>Keine erneute Passworteingabe verlangen, wenn das Passwort sichtbar ist.</translation>
+ <translation>Keine erneute Passworteingabe verlangen, wenn das Passwort sichtbar ist</translation>
</message>
<message>
<source>Don&apos;t hide passwords when editing them</source>
@@ -390,7 +390,7 @@
</message>
<message>
<source>Use DuckDuckGo service to download website icons</source>
- <translation>Nutze DuckDuckGo Service zum Herunterladen der Webseitensymbole</translation>
+ <translation>DuckDuckGo-Service zum Herunterladen der Webseitensymbole nutzen</translation>
</message>
<message>
<source>Clipboard clear seconds</source>
@@ -411,7 +411,7 @@
</message>
<message>
<source>Clear search query after</source>
- <translation>Lösche die Suchabfrage danach</translation>
+ <translation>Suchabfrage löschen nach</translation>
</message>
</context>
<context>
@@ -444,6 +444,14 @@
<source>This Auto-Type command contains arguments which are repeated very often. Do you really want to proceed?</source>
<translation>Dieses Auto-Type-Kommando enthält Argumente, die sehr häufig wiederholt werden. Möchten Sie wirklich fortfahren?</translation>
</message>
+ <message>
+ <source>Permission Required</source>
+ <translation>Berechtigung erforderlich</translation>
+ </message>
+ <message>
+ <source>KeePassXC requires the Accessibility permission in order to perform entry level Auto-Type. If you already granted permission, you may have to restart KeePassXC.</source>
+ <translation>KeePassXC benötigt die Berechtigung für Barrierefreiheit um Auto-Type auf Eintragsebene durchzuführen. Falls die Berechtigung bereits erteilt wurde, muss KeePassXC eventuell neu gestartet werden.</translation>
+ </message>
</context>
<context>
<name>AutoTypeAssociationsModel</name>
@@ -491,6 +499,17 @@
</message>
</context>
<context>
+ <name>AutoTypePlatformMac</name>
+ <message>
+ <source>Permission Required</source>
+ <translation>Berechtigung erforderlich</translation>
+ </message>
+ <message>
+ <source>KeePassXC requires the Accessibility and Screen Recorder permission in order to perform global Auto-Type. Screen Recording is necessary to use the window title to find entries. If you already granted permission, you may have to restart KeePassXC.</source>
+ <translation>KeePassXC benötigt die Berechtigung Barrierefreiheit und Bildschirmaufzeichnung, um den globalen Auto-Type durchzuführen. Die Bildschirmaufzeichnung ist notwendig, um über den Fenstertitel Einträge zu finden. Falls die Berechtigung bereits erteilt wurde, muss KeePassXC eventuell neu gestartet werden.</translation>
+ </message>
+</context>
+<context>
<name>AutoTypeSelectDialog</name>
<message>
<source>Auto-Type - KeePassXC</source>
@@ -640,7 +659,7 @@ Bitte wähle die richtige Datenbank zum speichern der Anmeldedaten.</translation
<message>
<source>Never ask before &amp;updating credentials</source>
<extracomment>Credentials mean login data requested via browser extension</extracomment>
- <translation>Niemals fragen, bevor Anmeldedaten a&amp;ktualisiert werden.</translation>
+ <translation>Niemals fragen, bevor Anmeldedaten a&amp;ktualisiert werden</translation>
</message>
<message>
<source>Searc&amp;h in all opened databases for matching credentials</source>
@@ -653,7 +672,7 @@ Bitte wähle die richtige Datenbank zum speichern der Anmeldedaten.</translation
</message>
<message>
<source>&amp;Return advanced string fields which start with &quot;KPH: &quot;</source>
- <translation>Zeige auch erweiterte Attribute, welche mit &quot;KPH: &quot; beginnen</translation>
+ <translation>Auch erweiterte Attribute &amp;zeigen, welche mit &quot;KPH: &quot; beginnen</translation>
</message>
<message>
<source>Updates KeePassXC or keepassxc-proxy binary path automatically to native messaging scripts on startup.</source>
@@ -673,12 +692,12 @@ Bitte wähle die richtige Datenbank zum speichern der Anmeldedaten.</translation
</message>
<message>
<source>Use a custom proxy location if you installed a proxy manually.</source>
- <translation>Verwende benutzerdefinierten Proxy-Pfad, falls Proxy manuell installiert wurde.</translation>
+ <translation>Verwenden Sie einen benutzerdefinierten Proxy-Pfad, falls ein Proxy manuell installiert wurde.</translation>
</message>
<message>
<source>Use a &amp;custom proxy location</source>
<comment>Meant is the proxy for KeePassXC-Browser</comment>
- <translation>Verwende &amp;benutzerdefinierten Proxy-Pfad</translation>
+ <translation>&amp;Benutzerdefinierten Proxy-Pfad verwenden</translation>
</message>
<message>
<source>Browse...</source>
@@ -732,7 +751,7 @@ Bitte wähle die richtige Datenbank zum speichern der Anmeldedaten.</translation
</message>
<message>
<source>&amp;Allow returning expired credentials.</source>
- <translation>&amp;Erlaubt die Rückgabe abgelaufener Anmeldeinformationen</translation>
+ <translation>Rückgabe abgelaufener Anmeldedaten &amp;erlauben.</translation>
</message>
<message>
<source>Enable browser integration</source>
@@ -748,7 +767,7 @@ Bitte wähle die richtige Datenbank zum speichern der Anmeldedaten.</translation
</message>
<message>
<source>Don&apos;t display the popup suggesting migration of legacy KeePassHTTP settings.</source>
- <translation>Zeige kein Popup, das die Migration von älteren KeePassHTTP-Einstellungen vorschlägt.</translation>
+ <translation>Kein Popup zeigen, das die Migration von älteren KeePassHTTP-Einstellungen vorschlägt.</translation>
</message>
<message>
<source>&amp;Do not prompt for KeePassHTTP settings migration.</source>
@@ -756,7 +775,7 @@ Bitte wähle die richtige Datenbank zum speichern der Anmeldedaten.</translation
</message>
<message>
<source>Custom proxy location field</source>
- <translation>Benutzerdefiniertes Proxystandortfeld</translation>
+ <translation>Benutzerdefiniertes Proxy-Pfad-Feld</translation>
</message>
<message>
<source>Browser for custom proxy file</source>
@@ -774,16 +793,6 @@ Bitte wähle die richtige Datenbank zum speichern der Anmeldedaten.</translation
<translation>KeePassXC: Neue Schlüsselverbindungsanfrage</translation>
</message>
<message>
- <source>You have received an association request for the above key.
-
-If you would like to allow it access to your KeePassXC database,
-give it a unique name to identify and accept it.</source>
- <translation>Sie haben eine neue Verbindungsanfrage für den obigen Schlüssel.
-
-Wenn Sie Zugriff auf Ihre KeePassXC-Datenbank zulassen wollen,
-vergeben Sie bitte einen eindeutigen Namen und akzeptieren diese.</translation>
- </message>
- <message>
<source>Save and allow access</source>
<translation>Speichern und Zugriff erlauben</translation>
</message>
@@ -863,6 +872,17 @@ Möchten Sie Ihre bestehenden Einstellungen jetzt migrieren?</translation>
<source>Don&apos;t show this warning again</source>
<translation>Diese Warnungen nicht mehr anzeigen</translation>
</message>
+ <message>
+ <source>You have received an association request for the following database:
+%1
+
+Give the connection a unique name or ID, for example:
+chrome-laptop.</source>
+ <translation>Verbindungsanfrage erhalten für folgende Datenbank:
+%1
+
+Gebe der Verbindung einen eindeutigen Namen oder ID, zum Beispiel: chrome-laptop</translation>
+ </message>
</context>
<context>
<name>CloneDialog</name>
@@ -1128,10 +1148,6 @@ Bitte denken Sie darüber nach, eine neue Schlüsseldatei zu generieren.</transl
<translation>Passwort-Sichtbarkeit umschalten</translation>
</message>
<message>
- <source>Enter Additional Credentials:</source>
- <translation>Geben Sie zusätzliche Anmeldeinformationen ein:</translation>
- </message>
- <message>
<source>Key file selection</source>
<translation>Schlüsseldateiauswahl</translation>
</message>
@@ -1156,12 +1172,6 @@ Bitte denken Sie darüber nach, eine neue Schlüsseldatei zu generieren.</transl
<translation>Hardwareschlüssel:</translation>
</message>
<message>
- <source>&lt;p&gt;You can use a hardware security key such as a &lt;strong&gt;YubiKey&lt;/strong&gt; or &lt;strong&gt;OnlyKey&lt;/strong&gt; with slots configured for HMAC-SHA1.&lt;/p&gt;
- &lt;p&gt;Click for more information...&lt;/p&gt;</source>
- <translation>&lt;p&gt;Sie können einen Hardwaresicherheitsschlüssel wie &lt;strong&gt;YubiKey&lt;/strong&gt; oder &lt;strong&gt;OnlyKey&lt;/strong&gt; mit Slots, die für HMAC-SHA1 konfiguriert sind, verwenden.&lt;/p&gt;
- &lt;p&gt;Klicken Sie hier, um weitere Informationen zu erhalten...&lt;/p&gt;</translation>
- </message>
- <message>
<source>Hardware key help</source>
<translation>Hilfe zu Hardwareschlüssel</translation>
</message>
@@ -1178,10 +1188,6 @@ Bitte denken Sie darüber nach, eine neue Schlüsseldatei zu generieren.</transl
<translation>Schlüsseldatei löschen</translation>
</message>
<message>
- <source>Select file...</source>
- <translation>Datei auswählen …</translation>
- </message>
- <message>
<source>Unlock failed and no password given</source>
<translation>Entsperren fehlgeschlagen und kein Passwort angegeben</translation>
</message>
@@ -1199,6 +1205,42 @@ Um zu verhindern, dass dieser Fehler auftritt, müssen Sie zu &quot;Datenbankein
<source>Retry with empty password</source>
<translation>Wiederholen mit leerem Passwort</translation>
</message>
+ <message>
+ <source>Enter Additional Credentials (if any):</source>
+ <translation>Zusätzliche Anmeldedaten eingeben (falls vorhanden):</translation>
+ </message>
+ <message>
+ <source>&lt;p&gt;You can use a hardware security key such as a &lt;strong&gt;YubiKey&lt;/strong&gt; or &lt;strong&gt;OnlyKey&lt;/strong&gt; with slots configured for HMAC-SHA1.&lt;/p&gt;
+&lt;p&gt;Click for more information...&lt;/p&gt;</source>
+ <translation>&lt;p&gt;Sie können einen Hardwaresicherheitsschlüssel wie &lt;strong&gt;yubiKey&lt;/strong&gt; oder &lt;strong&gt;OnlyKey&lt;/strong&gt; verwenden, dessen Steckplätze für HMAC-SHA1 konfiguriert sind.&lt;/p&gt;
+&lt;p&gt;Klicken Sie hier, um weitere Informationen zu erhalten...&lt;/p&gt;</translation>
+ </message>
+ <message>
+ <source>&lt;p&gt;In addition to your master password, you can use a secret file to enhance the security of your database. Such a file can be generated in your database&apos;s security settings.&lt;/p&gt;&lt;p&gt;This is &lt;strong&gt;not&lt;/strong&gt; your *.kdbx database file!&lt;br&gt;If you do not have a key file, leave the field empty.&lt;/p&gt;&lt;p&gt;Click for more information...&lt;/p&gt;</source>
+ <translation>&lt;p&gt;Zusätzlich zu ihrem Masterpasswort können sie eine geheime Datei verwenden um die Sicherheit ihrer Datenbank zu erhöhen. Eine solche Datei kann in den Sicherheitseinstellung ihrer Datenbank generiert werden.&lt;/p&gt; &lt;p&gt;Diese Datei ist jedoch &lt;strong&gt;nicht&lt;/strong&gt; Ihre *.kdbx Datei!&lt;br&gt; Wenn sie keine Schlüsseldatei haben lassen sie das Feld leer.&lt;/p&gt; &lt;p&gt;Klicken sie hier für weitere Informationen...&lt;/p&gt;</translation>
+ </message>
+ <message>
+ <source>Key file help</source>
+ <translation>Schlüsseldatei-Hilfe</translation>
+ </message>
+ <message>
+ <source>?</source>
+ <translation>?</translation>
+ </message>
+ <message>
+ <source>Select key file...</source>
+ <translation>Schlüsseldatei auswählen</translation>
+ </message>
+ <message>
+ <source>Cannot use database file as key file</source>
+ <translation>Datenbankdatei kann nicht als Schlüsseldatei verwendet werden.</translation>
+ </message>
+ <message>
+ <source>You cannot use your database file as a key file.
+If you do not have a key file, please leave the field empty.</source>
+ <translation>Sie können nicht Ihre Datenbank als Schlüsseldatei verwenden.
+Wenn Sie keine Schlüsseldatei haben, lassen Sie das Feld bitte leer.</translation>
+ </message>
</context>
<context>
<name>DatabaseSettingWidgetMetaData</name>
@@ -1614,7 +1656,7 @@ Wenn Sie diese Anzahl beibehalten, könnte Ihre Datenbank zu einfach zu knacken
</message>
<message>
<source>Maximum number of history items per entry</source>
- <translation>Maximale Anzahl von Chronik-Elementen pro Eintrag</translation>
+ <translation>Maximale Anzahl von Verlaufs-Elementen pro Eintrag</translation>
</message>
<message>
<source>Maximum size of history per entry</source>
@@ -1753,7 +1795,7 @@ Soll tatsächlich ohne Passwort fortgefahren werden?</translation>
</message>
<message>
<source>Location</source>
- <translation>Standort</translation>
+ <translation>Speicherort</translation>
</message>
<message>
<source>Last saved</source>
@@ -1793,43 +1835,43 @@ Soll tatsächlich ohne Passwort fortgefahren werden?</translation>
</message>
<message>
<source>Unique passwords</source>
- <translation>Eindeutige Passwörter</translation>
+ <translation>Einzigartige Passwörter</translation>
</message>
<message>
<source>Non-unique passwords</source>
- <translation>Nicht eindeutige Kennwörter</translation>
+ <translation>Nicht einzigartige Passwörter</translation>
</message>
<message>
<source>More than 10% of passwords are reused. Use unique passwords when possible.</source>
- <translation>Mehr als 10 % der Kennwörter werden wiederverwendet. Verwenden Sie nach Möglichkeit eindeutige Kennwörter.</translation>
+ <translation>Mehr als 10 % der Passwörter werden wiederverwendet. Verwenden Sie nach Möglichkeit einzigartige Passwörter.</translation>
</message>
<message>
<source>Maximum password reuse</source>
- <translation>Maximale Wiederverwendung des Kennworts</translation>
+ <translation>Maximale Wiederverwendung eines Passworts</translation>
</message>
<message>
<source>Some passwords are used more than three times. Use unique passwords when possible.</source>
- <translation>Einige Kennwörter werden mehr als dreimal verwendet. Verwenden Sie nach Möglichkeit eindeutige Kennwörter.</translation>
+ <translation>Einige Passwörter werden mehr als dreimal verwendet. Verwenden Sie nach Möglichkeit einzigartige Passwörter.</translation>
</message>
<message>
<source>Number of short passwords</source>
- <translation>Anzahl der kurzen Kennwörter</translation>
+ <translation>Anzahl der kurzen Passwörter</translation>
</message>
<message>
<source>Recommended minimum password length is at least 8 characters.</source>
- <translation>Empfohlene minimale Kennwortlänge beträgt mindestens 8 Zeichen.</translation>
+ <translation>Empfohlene minimale Passwortlänge beträgt mindestens 8 Zeichen.</translation>
</message>
<message>
<source>Number of weak passwords</source>
- <translation>Anzahl schwacher Kennwörter</translation>
+ <translation>Anzahl der schwachen Passwörter</translation>
</message>
<message>
<source>Recommend using long, randomized passwords with a rating of &apos;good&apos; or &apos;excellent&apos;.</source>
- <translation>Empfehlen Sie die Verwendung langer, randomisierter Kennwörter mit der Bewertung &quot;gut&quot; oder &quot;hervorragend&quot;.</translation>
+ <translation>Die Verwendung langer, randomisierter Passwörter mit der Bewertung &quot;gut&quot; oder &quot;hervorragend&quot; wird empfohlen.</translation>
</message>
<message>
<source>Average password length</source>
- <translation>Durchschnittliche Kennwortlänge</translation>
+ <translation>Durchschnittliche Passwortlänge</translation>
</message>
<message>
<source>%1 characters</source>
@@ -1837,7 +1879,11 @@ Soll tatsächlich ohne Passwort fortgefahren werden?</translation>
</message>
<message>
<source>Average password length is less than ten characters. Longer passwords provide more security.</source>
- <translation>Die durchschnittliche Kennwortlänge beträgt weniger als zehn Zeichen. Längere Kennwörter bieten mehr Sicherheit.</translation>
+ <translation>Die durchschnittliche Passwortlänge beträgt weniger als zehn Zeichen. Längere Passwörter bieten mehr Sicherheit.</translation>
+ </message>
+ <message>
+ <source>Please wait, database statistics are being calculated...</source>
+ <translation>Bitte warten während die Datenbankstatistiken berechnet werden.</translation>
</message>
</context>
<context>
@@ -2466,7 +2512,7 @@ Sicheres Speichern deaktivieren und erneut versuchen?</translation>
</message>
<message>
<source>Delete all history</source>
- <translation>Lösche die gesamte Chronik</translation>
+ <translation>Gesamten Verlauf löschen</translation>
</message>
</context>
<context>
@@ -4528,7 +4574,7 @@ Da sie Fehler beinhalten könnte, ist diese Version nicht für den Produktiveins
</message>
<message>
<source>&amp;Check for Updates...</source>
- <translation>&amp;Suche nach Aktualisierungen...</translation>
+ <translation>Nach Aktualisierungen &amp;suchen...</translation>
</message>
<message>
<source>Downlo&amp;ad all favicons</source>
@@ -6277,6 +6323,10 @@ Kernel: %3 %4</translation>
<source>Invalid password generator after applying all options</source>
<translation>Ungültiger Passwortgenerator nach Anwendung aller Optionen</translation>
</message>
+ <message>
+ <source>Show the protected attributes in clear text.</source>
+ <translation>Geschützte Eigenschaften im Klartext anzeigen.</translation>
+ </message>
</context>
<context>
<name>QtIOCompressor</name>
@@ -6642,11 +6692,11 @@ Kernel: %3 %4</translation>
</message>
<message>
<source>Allow KeeShare imports</source>
- <translation>Erlaube KeeShare-Importe</translation>
+ <translation>KeeShare-Importe erlauben</translation>
</message>
<message>
<source>Allow KeeShare exports</source>
- <translation>Erlaube KeeShare-Exporte</translation>
+ <translation>KeeShare-Exporte erlauben</translation>
</message>
<message>
<source>Only show warnings and errors</source>
diff --git a/share/translations/keepassx_en.ts b/share/translations/keepassx_en.ts
index d63560972..dbcf76902 100644
--- a/share/translations/keepassx_en.ts
+++ b/share/translations/keepassx_en.ts
@@ -446,6 +446,14 @@
<source>This Auto-Type command contains arguments which are repeated very often. Do you really want to proceed?</source>
<translation>This Auto-Type command contains arguments which are repeated very often. Do you really want to proceed?</translation>
</message>
+ <message>
+ <source>Permission Required</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>KeePassXC requires the Accessibility permission in order to perform entry level Auto-Type. If you already granted permission, you may have to restart KeePassXC.</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>AutoTypeAssociationsModel</name>
@@ -493,6 +501,17 @@
</message>
</context>
<context>
+ <name>AutoTypePlatformMac</name>
+ <message>
+ <source>Permission Required</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>KeePassXC requires the Accessibility and Screen Recorder permission in order to perform global Auto-Type. Screen Recording is necessary to use the window title to find entries. If you already granted permission, you may have to restart KeePassXC.</source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
+<context>
<name>AutoTypeSelectDialog</name>
<message>
<source>Auto-Type - KeePassXC</source>
@@ -1140,10 +1159,6 @@ Please consider generating a new key file.</translation>
<translation type="unfinished"></translation>
</message>
<message>
- <source>Enter Additional Credentials:</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
<source>Key file selection</source>
<translation type="unfinished"></translation>
</message>
@@ -1168,11 +1183,6 @@ Please consider generating a new key file.</translation>
<translation type="unfinished"></translation>
</message>
<message>
- <source>&lt;p&gt;You can use a hardware security key such as a &lt;strong&gt;YubiKey&lt;/strong&gt; or &lt;strong&gt;OnlyKey&lt;/strong&gt; with slots configured for HMAC-SHA1.&lt;/p&gt;
- &lt;p&gt;Click for more information...&lt;/p&gt;</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
<source>Hardware key help</source>
<translation type="unfinished"></translation>
</message>
@@ -1189,10 +1199,6 @@ Please consider generating a new key file.</translation>
<translation type="unfinished"></translation>
</message>
<message>
- <source>Select file...</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
<source>Unlock failed and no password given</source>
<translation type="unfinished"></translation>
</message>
@@ -1207,6 +1213,40 @@ To prevent this error from appearing, you must go to &quot;Database Settings / S
<source>Retry with empty password</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <source>Enter Additional Credentials (if any):</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>&lt;p&gt;You can use a hardware security key such as a &lt;strong&gt;YubiKey&lt;/strong&gt; or &lt;strong&gt;OnlyKey&lt;/strong&gt; with slots configured for HMAC-SHA1.&lt;/p&gt;
+&lt;p&gt;Click for more information...&lt;/p&gt;</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>&lt;p&gt;In addition to your master password, you can use a secret file to enhance the security of your database. Such a file can be generated in your database&apos;s security settings.&lt;/p&gt;&lt;p&gt;This is &lt;strong&gt;not&lt;/strong&gt; your *.kdbx database file!&lt;br&gt;If you do not have a key file, leave the field empty.&lt;/p&gt;&lt;p&gt;Click for more information...&lt;/p&gt;</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Key file help</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>?</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Select key file...</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>Cannot use database file as key file</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <source>You cannot use your database file as a key file.
+If you do not have a key file, please leave the field empty.</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>DatabaseSettingWidgetMetaData</name>
@@ -1864,6 +1904,10 @@ Are you sure you want to continue without a password?</translation>
<source>Average password length is less than ten characters. Longer passwords provide more security.</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <source>Please wait, database statistics are being calculated...</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>DatabaseTabWidget</name>
@@ -6345,6 +6389,10 @@ Kernel: %3 %4</source>
<source>Invalid password generator after applying all options</source>
<translation type="unfinished"></translation>
</message>
+ <message>
+ <source>Show the protected attributes in clear text.</source>
+ <translation type="unfinished"></translation>
+ </message>
</context>
<context>
<name>QtIOCompressor</name>
diff --git a/share/translations/keepassx_en_GB.ts b/share/translations/keepassx_en_GB.ts
index f2c108d4c..34ecfd3d1 100644
--- a/share/translations/keepassx_en_GB.ts
+++ b/share/translations/keepassx_en_GB.ts
@@ -444,6 +444,14 @@
<source>This Auto-Type command contains arguments which are repeated very often. Do you really want to proceed?</source>
<translation>This Auto-Type command contains arguments which are repeated very often. Do you really want to proceed?</translation>
</message>
+ <message>
+ <source>Permission Required</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>KeePassXC requires the Accessibility permission in order to perform entry level Auto-Type. If you already granted permission, you may have to restart KeePassXC.</source>
+ <translation type="unfinished"/>
+ </message>
</context>
<context>
<name>AutoTypeAssociationsModel</name>
@@ -491,6 +499,17 @@
</message>
</context>
<context>
+ <name>AutoTypePlatformMac</name>
+ <message>
+ <source>Permission Required</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>KeePassXC requires the Accessibility and Screen Recorder permission in order to perform global Auto-Type. Screen Recording is necessary to use the window title to find entries. If you already granted permission, you may have to restart KeePassXC.</source>
+ <translation type="unfinished"/>
+ </message>
+</context>
+<context>
<name>AutoTypeSelectDialog</name>
<message>
<source>Auto-Type - KeePassXC</source>
@@ -774,16 +793,6 @@ Please select the correct database for saving credentials.</translation>
<translation>KeePassXC: New key association request</translation>
</message>
<message>
- <source>You have received an association request for the above key.
-
-If you would like to allow it access to your KeePassXC database,
-give it a unique name to identify and accept it.</source>
- <translation>You have received an association request for the above key.
-
-If you would like to allow it access to your KeePassXC database,
-give it a unique name to identify and accept it.</translation>
- </message>
- <message>
<source>Save and allow access</source>
<translation>Save and allow access</translation>
</message>
@@ -863,6 +872,14 @@ Would you like to migrate your existing settings now?</translation>
<source>Don&apos;t show this warning again</source>
<translation>Don&apos;t show this warning again</translation>
</message>
+ <message>
+ <source>You have received an association request for the following database:
+%1
+
+Give the connection a unique name or ID, for example:
+chrome-laptop.</source>
+ <translation type="unfinished"/>
+ </message>
</context>
<context>
<name>CloneDialog</name>
@@ -1129,10 +1146,6 @@ Please consider generating a new key file.</translation>
<translation type="unfinished"/>
</message>
<message>
- <source>Enter Additional Credentials:</source>
- <translation type="unfinished"/>
- </message>
- <message>
<source>Key file selection</source>
<translation type="unfinished"/>
</message>
@@ -1157,11 +1170,6 @@ Please consider generating a new key file.</translation>
<translation type="unfinished"/>
</message>
<message>
- <source>&lt;p&gt;You can use a hardware security key such as a &lt;strong&gt;YubiKey&lt;/strong&gt; or &lt;strong&gt;OnlyKey&lt;/strong&gt; with slots configured for HMAC-SHA1.&lt;/p&gt;
- &lt;p&gt;Click for more information...&lt;/p&gt;</source>
- <translation type="unfinished"/>
- </message>
- <message>
<source>Hardware key help</source>
<translation type="unfinished"/>
</message>
@@ -1178,10 +1186,6 @@ Please consider generating a new key file.</translation>
<translation type="unfinished"/>
</message>
<message>
- <source>Select file...</source>
- <translation type="unfinished"/>
- </message>
- <message>
<source>Unlock failed and no password given</source>
<translation type="unfinished"/>
</message>
@@ -1196,6 +1200,40 @@ To prevent this error from appearing, you must go to &quot;Database Settings / S
<source>Retry with empty password</source>
<translation type="unfinished"/>
</message>
+ <message>
+ <source>Enter Additional Credentials (if any):</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>&lt;p&gt;You can use a hardware security key such as a &lt;strong&gt;YubiKey&lt;/strong&gt; or &lt;strong&gt;OnlyKey&lt;/strong&gt; with slots configured for HMAC-SHA1.&lt;/p&gt;
+&lt;p&gt;Click for more information...&lt;/p&gt;</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>&lt;p&gt;In addition to your master password, you can use a secret file to enhance the security of your database. Such a file can be generated in your database&apos;s security settings.&lt;/p&gt;&lt;p&gt;This is &lt;strong&gt;not&lt;/strong&gt; your *.kdbx database file!&lt;br&gt;If you do not have a key file, leave the field empty.&lt;/p&gt;&lt;p&gt;Click for more information...&lt;/p&gt;</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Key file help</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>?</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Select key file...</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Cannot use database file as key file</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>You cannot use your database file as a key file.
+If you do not have a key file, please leave the field empty.</source>
+ <translation type="unfinished"/>
+ </message>
</context>
<context>
<name>DatabaseSettingWidgetMetaData</name>
@@ -1835,6 +1873,10 @@ Are you sure you want to continue without a password?</translation>
<source>Average password length is less than ten characters. Longer passwords provide more security.</source>
<translation type="unfinished"/>
</message>
+ <message>
+ <source>Please wait, database statistics are being calculated...</source>
+ <translation type="unfinished"/>
+ </message>
</context>
<context>
<name>DatabaseTabWidget</name>
@@ -6247,6 +6289,10 @@ Kernel: %3 %4</translation>
<source>Invalid password generator after applying all options</source>
<translation type="unfinished"/>
</message>
+ <message>
+ <source>Show the protected attributes in clear text.</source>
+ <translation type="unfinished"/>
+ </message>
</context>
<context>
<name>QtIOCompressor</name>
diff --git a/share/translations/keepassx_en_US.ts b/share/translations/keepassx_en_US.ts
index 477b63ffb..f5477c488 100644
--- a/share/translations/keepassx_en_US.ts
+++ b/share/translations/keepassx_en_US.ts
@@ -444,6 +444,14 @@
<source>This Auto-Type command contains arguments which are repeated very often. Do you really want to proceed?</source>
<translation>This Auto-Type command contains arguments which are repeated very often. Do you really want to proceed?</translation>
</message>
+ <message>
+ <source>Permission Required</source>
+ <translation>Permission Required</translation>
+ </message>
+ <message>
+ <source>KeePassXC requires the Accessibility permission in order to perform entry level Auto-Type. If you already granted permission, you may have to restart KeePassXC.</source>
+ <translation>KeePassXC requires the Accessibility permission in order to perform entry level Auto-Type. If you already granted permission, you may have to restart KeePassXC.</translation>
+ </message>
</context>
<context>
<name>AutoTypeAssociationsModel</name>
@@ -491,6 +499,17 @@
</message>
</context>
<context>
+ <name>AutoTypePlatformMac</name>
+ <message>
+ <source>Permission Required</source>
+ <translation>Permission Required</translation>
+ </message>
+ <message>
+ <source>KeePassXC requires the Accessibility and Screen Recorder permission in order to perform global Auto-Type. Screen Recording is necessary to use the window title to find entries. If you already granted permission, you may have to restart KeePassXC.</source>
+ <translation>KeePassXC requires the Accessibility and Screen Recorder permission in order to perform global Auto-Type. Screen Recording is necessary to use the window title to find entries. If you already granted permission, you may have to restart KeePassXC.</translation>
+ </message>
+</context>
+<context>
<name>AutoTypeSelectDialog</name>
<message>
<source>Auto-Type - KeePassXC</source>
@@ -732,7 +751,7 @@ Please select the correct database for saving credentials.</translation>
</message>
<message>
<source>&amp;Allow returning expired credentials.</source>
- <translation>&amp;Allow returning expired credentials.</translation>
+ <translation>&amp;Allow returning expired credentials</translation>
</message>
<message>
<source>Enable browser integration</source>
@@ -774,16 +793,6 @@ Please select the correct database for saving credentials.</translation>
<translation>KeePassXC: New key association request</translation>
</message>
<message>
- <source>You have received an association request for the above key.
-
-If you would like to allow it access to your KeePassXC database,
-give it a unique name to identify and accept it.</source>
- <translation>You have received an association request for the above key.
-
-If you would like to allow it access to your KeePassXC database,
-give it a unique name to identify and accept it.</translation>
- </message>
- <message>
<source>Save and allow access</source>
<translation>Save and allow access</translation>
</message>
@@ -863,6 +872,18 @@ Would you like to migrate your existing settings now?</translation>
<source>Don&apos;t show this warning again</source>
<translation>Don&apos;t show this warning again</translation>
</message>
+ <message>
+ <source>You have received an association request for the following database:
+%1
+
+Give the connection a unique name or ID, for example:
+chrome-laptop.</source>
+ <translation>You have received an association request for the following database:
+%1
+
+Give the connection a unique name or ID, for example:
+chrome-laptop.</translation>
+ </message>
</context>
<context>
<name>CloneDialog</name>
@@ -1130,10 +1151,6 @@ Please consider generating a new key file.</translation>
<translation>Toggle password visibility</translation>
</message>
<message>
- <source>Enter Additional Credentials:</source>
- <translation>Enter Additional Credentials:</translation>
- </message>
- <message>
<source>Key file selection</source>
<translation>Key file selection</translation>
</message>
@@ -1158,12 +1175,6 @@ Please consider generating a new key file.</translation>
<translation>Hardware Key:</translation>
</message>
<message>
- <source>&lt;p&gt;You can use a hardware security key such as a &lt;strong&gt;YubiKey&lt;/strong&gt; or &lt;strong&gt;OnlyKey&lt;/strong&gt; with slots configured for HMAC-SHA1.&lt;/p&gt;
- &lt;p&gt;Click for more information...&lt;/p&gt;</source>
- <translation>&lt;p&gt;You can use a hardware security key such as a &lt;strong&gt;YubiKey&lt;/strong&gt; or &lt;strong&gt;OnlyKey&lt;/strong&gt; with slots configured for HMAC-SHA1.&lt;/p&gt;
- &lt;p&gt;Click for more information...&lt;/p&gt;</translation>
- </message>
- <message>
<source>Hardware key help</source>
<translation>Hardware key help</translation>
</message>
@@ -1180,10 +1191,6 @@ Please consider generating a new key file.</translation>
<translation>Clear Key File</translation>
</message>
<message>
- <source>Select file...</source>
- <translation>Select file...</translation>
- </message>
- <message>
<source>Unlock failed and no password given</source>
<translation>Unlock failed and no password given</translation>
</message>
@@ -1201,6 +1208,42 @@ To prevent this error from appearing, you must go to &quot;Database Settings / S
<source>Retry with empty password</source>
<translation>Retry with empty password</translation>
</message>
+ <message>
+ <source>Enter Additional Credentials (if any):</source>
+ <translation>Enter Additional Credentials (if any):</translation>
+ </message>
+ <message>
+ <source>&lt;p&gt;You can use a hardware security key such as a &lt;strong&gt;YubiKey&lt;/strong&gt; or &lt;strong&gt;OnlyKey&lt;/strong&gt; with slots configured for HMAC-SHA1.&lt;/p&gt;
+&lt;p&gt;Click for more information...&lt;/p&gt;</source>
+ <translation>&lt;p&gt;You can use a hardware security key such as a &lt;strong&gt;YubiKey&lt;/strong&gt; or &lt;strong&gt;OnlyKey&lt;/strong&gt; with slots configured for HMAC-SHA1.&lt;/p&gt;
+&lt;p&gt;Click for more information...&lt;/p&gt;</translation>
+ </message>
+ <message>
+ <source>&lt;p&gt;In addition to your master password, you can use a secret file to enhance the security of your database. Such a file can be generated in your database&apos;s security settings.&lt;/p&gt;&lt;p&gt;This is &lt;strong&gt;not&lt;/strong&gt; your *.kdbx database file!&lt;br&gt;If you do not have a key file, leave the field empty.&lt;/p&gt;&lt;p&gt;Click for more information...&lt;/p&gt;</source>
+ <translation>&lt;p&gt;In addition to your master password, you can use a secret file to enhance the security of your database. Such a file can be generated in your database&apos;s security settings.&lt;/p&gt;&lt;p&gt;This is &lt;strong&gt;not&lt;/strong&gt; your *.kdbx database file!&lt;br&gt;If you do not have a key file, leave the field empty.&lt;/p&gt;&lt;p&gt;Click for more information...&lt;/p&gt;</translation>
+ </message>
+ <message>
+ <source>Key file help</source>
+ <translation>Key file help</translation>
+ </message>
+ <message>
+ <source>?</source>
+ <translation>?</translation>
+ </message>
+ <message>
+ <source>Select key file...</source>
+ <translation>Select key file...</translation>
+ </message>
+ <message>
+ <source>Cannot use database file as key file</source>
+ <translation>Cannot use database file as key file</translation>
+ </message>
+ <message>
+ <source>You cannot use your database file as a key file.
+If you do not have a key file, please leave the field empty.</source>
+ <translation>You cannot use your database file as a key file.
+If you do not have a key file, please leave the field empty.</translation>
+ </message>
</context>
<context>
<name>DatabaseSettingWidgetMetaData</name>
@@ -1841,6 +1884,10 @@ Are you sure you want to continue without a password?</translation>
<source>Average password length is less than ten characters. Longer passwords provide more security.</source>
<translation>Average password length is less than ten characters. Longer passwords provide more security.</translation>
</message>
+ <message>
+ <source>Please wait, database statistics are being calculated...</source>
+ <translation>Please wait, database statistics are being calculated...</translation>
+ </message>
</context>
<context>
<name>DatabaseTabWidget</name>
@@ -6280,6 +6327,10 @@ Kernel: %3 %4</translation>
<source>Invalid password generator after applying all options</source>
<translation>Invalid password generator after applying all options</translation>
</message>
+ <message>
+ <source>Show the protected attributes in clear text.</source>
+ <translation>Show the protected attributes in clear text.</translation>
+ </message>
</context>
<context>
<name>QtIOCompressor</name>
diff --git a/share/translations/keepassx_es.ts b/share/translations/keepassx_es.ts
index 50b17bb43..e3de941c2 100644
--- a/share/translations/keepassx_es.ts
+++ b/share/translations/keepassx_es.ts
@@ -11,7 +11,7 @@
</message>
<message>
<source>Report bugs at: &lt;a href=&quot;https://github.com/keepassxreboot/keepassxc/issues&quot; style=&quot;text-decoration: underline;&quot;&gt;https://github.com&lt;/a&gt;</source>
- <translation>Informar de errores en: &lt;a href=&quot;https://github.com/keepassxreboot/keepassxc/issues&quot; style=&quot;text-decoration: underline;&quot;&gt;https://github.com&lt;/a&gt;</translation>
+ <translation>Comunique defectos a: &lt;a href=&quot;https://github.com/keepassxreboot/keepassxc/issues&quot; style=&quot;text-decoration: underline;&quot;&gt;https://github.com&lt;/a&gt;</translation>
</message>
<message>
<source>KeePassXC is distributed under the terms of the GNU General Public License (GPL) version 2 or (at your option) version 3.</source>
@@ -27,7 +27,7 @@
</message>
<message>
<source>Debug Info</source>
- <translation>Información de depuración</translation>
+ <translation>Informe de depuración</translation>
</message>
<message>
<source>Include the following information whenever you report a bug:</source>
@@ -54,7 +54,7 @@
</message>
<message>
<source>Use OpenSSH for Windows instead of Pageant</source>
- <translation>Usar OpenSSH para Windows en lugar de Pageant</translation>
+ <translation>Utilizar OpenSSH para Windows en lugar de Pageant</translation>
</message>
</context>
<context>
@@ -73,7 +73,7 @@
</message>
<message>
<source>Access error for config file %1</source>
- <translation>Error de acceso al archivo de configuración %1</translation>
+ <translation>Error de acceso al fichero de configuración %1</translation>
</message>
<message>
<source>Icon only</source>
@@ -124,19 +124,19 @@
</message>
<message>
<source>File Management</source>
- <translation>Administración de archivos</translation>
+ <translation>Administración de ficheros</translation>
</message>
<message>
<source>Safely save database files (may be incompatible with Dropbox, etc)</source>
- <translation>Guardar los archivos de base de datos con seguridad (puede ser incompatible con Dropbox, etcétera)</translation>
+ <translation>Guardar los ficheros de BB.DD. con seguridad (puede ser incompatible con Dropbox, etcétera)</translation>
</message>
<message>
<source>Backup database file before saving</source>
- <translation>Hacer una copia de seguridad de la base de datos antes de guardar</translation>
+ <translation>Hacer una copia de seguridad de la BB.DD. antes de guardar</translation>
</message>
<message>
<source>Automatically save after every change</source>
- <translation>Guardar automáticamente después de cada cambio</translation>
+ <translation>Guardar automáticamente tras cada cambio</translation>
</message>
<message>
<source>Automatically save on exit</source>
@@ -144,23 +144,23 @@
</message>
<message>
<source>Don&apos;t mark database as modified for non-data changes (e.g., expanding groups)</source>
- <translation>No marcar la base de datos como modificada cuando los cambios no afecten a los datos (ej. expandir grupos)</translation>
+ <translation>No marcar la BB.DD. como modificada cuando los cambios no afecten a los datos (ej. expandir grupos)</translation>
</message>
<message>
<source>Automatically reload the database when modified externally</source>
- <translation>Recargar automáticamente la base de datos cuando sea modificada externamente</translation>
+ <translation>Recargar automáticamente la BB.DD. cuando sea modificada externamente</translation>
</message>
<message>
<source>Entry Management</source>
- <translation>Gestión de entrada</translation>
+ <translation>Gestión de apunte</translation>
</message>
<message>
<source>Use group icon on entry creation</source>
- <translation>Usar icono del grupo en la creación de entrada</translation>
+ <translation>Utilizar icono del grupo en la creación de apunte</translation>
</message>
<message>
<source>Hide the entry preview panel</source>
- <translation>Ocultar entrada del panel de vista previa</translation>
+ <translation>Ocultar apunte del panel de vista previa</translation>
</message>
<message>
<source>General</source>
@@ -192,11 +192,11 @@
</message>
<message>
<source>Use entry title to match windows for global Auto-Type</source>
- <translation>Usar título de la entrada para emparejar ventanas en autoescritura global</translation>
+ <translation>Utilizar título del apunte para emparejar ventanas en autoescritura global</translation>
</message>
<message>
<source>Use entry URL to match windows for global Auto-Type</source>
- <translation>Usar URL de la entrada para emparejar ventanas en autoescritura global</translation>
+ <translation>Utilizar URL del apunte para emparejar ventanas en autoescritura global</translation>
</message>
<message>
<source>Always ask before performing Auto-Type</source>
@@ -229,11 +229,11 @@
</message>
<message>
<source>Load previously open databases on startup</source>
- <translation>Abrir base de datos anterior al inicio</translation>
+ <translation>Abrir BB.DD. anterior al inicio</translation>
</message>
<message>
<source>Remember database key files and security dongles</source>
- <translation>Recordar los últimos archivos de llaves y los «dongle» de seguridad</translation>
+ <translation>Recordar los últimos ficheros de llaves y los «dongle» de seguridad</translation>
</message>
<message>
<source>Check for updates at application startup once per week</source>
@@ -257,7 +257,7 @@
</message>
<message>
<source>Minimize window after unlocking database</source>
- <translation>Minimizar ventana después de desbloquear base de datos</translation>
+ <translation>Minimizar ventana tras desbloquear BB.DD.</translation>
</message>
<message>
<source>Minimize when opening a URL</source>
@@ -294,7 +294,7 @@
</message>
<message>
<source>Use monospaced font for Notes</source>
- <translation>Usar fuente monoespacio para Notas</translation>
+ <translation>Utilizar tipografía monoespacio para Notas</translation>
</message>
<message>
<source>Language selection</source>
@@ -325,7 +325,7 @@
</message>
<message>
<source>Clear clipboard after</source>
- <translation>Limpiar el portapapeles después de</translation>
+ <translation>Vaciar el portapapeles tras</translation>
</message>
<message>
<source> sec</source>
@@ -334,7 +334,7 @@
</message>
<message>
<source>Lock databases after inactivity of</source>
- <translation>Bloquear base de datos tras un periodo de inactividad de</translation>
+ <translation>Bloquear BB.DD. tras un periodo de inactividad de</translation>
</message>
<message>
<source> min</source>
@@ -342,7 +342,7 @@
</message>
<message>
<source>Forget TouchID after inactivity of</source>
- <translation>Olvidar TouchID después de una inactividad de</translation>
+ <translation>Olvidar TouchID tras una inactividad de</translation>
</message>
<message>
<source>Convenience</source>
@@ -350,7 +350,7 @@
</message>
<message>
<source>Lock databases when session is locked or lid is closed</source>
- <translation>Bloquear base de datos cuando la sesión está bloqueada o la pantalla esté cerrada</translation>
+ <translation>Bloquear BB.DD. cuando la sesión está bloqueada o la pantalla esté cerrada</translation>
</message>
<message>
<source>Forget TouchID when session is locked or lid is closed</source>
@@ -358,15 +358,15 @@
</message>
<message>
<source>Lock databases after minimizing the window</source>
- <translation>Bloquear base de datos al minimizar la ventana</translation>
+ <translation>Bloquear BB.DD. al minimizar la ventana</translation>
</message>
<message>
<source>Re-lock previously locked database after performing Auto-Type</source>
- <translation>Volver a bloquear la base de datos tras realizar una autoescritura</translation>
+ <translation>Volver a bloquear la BB.DD. tras realizar una autoescritura</translation>
</message>
<message>
<source>Don&apos;t require password repeat when it is visible</source>
- <translation>No pedir repetición de la contraseña cuando está visible</translation>
+ <translation>No solicitar repetición de la contraseña cuando está visible</translation>
</message>
<message>
<source>Don&apos;t hide passwords when editing them</source>
@@ -378,11 +378,11 @@
</message>
<message>
<source>Hide passwords in the entry preview panel</source>
- <translation>Ocultar contraseñas en entrada del panel de vista previa</translation>
+ <translation>Ocultar contraseñas en apunte del panel de vista previa</translation>
</message>
<message>
<source>Hide entry notes by default</source>
- <translation>Ocultar notas de entrada por defecto</translation>
+ <translation>Ocultar notas de apunte por defecto</translation>
</message>
<message>
<source>Privacy</source>
@@ -390,11 +390,11 @@
</message>
<message>
<source>Use DuckDuckGo service to download website icons</source>
- <translation>Usar el servicio DuckDuckGo para descargar iconos de sitio web</translation>
+ <translation>Utilizar el servicio DuckDuckGo para descargar iconos de sitio web</translation>
</message>
<message>
<source>Clipboard clear seconds</source>
- <translation>Limpiar portapapeles en segundos</translation>
+ <translation>Vaciar portapapeles en segundos</translation>
</message>
<message>
<source>Touch ID inactivity reset</source>
@@ -402,7 +402,7 @@
</message>
<message>
<source>Database lock timeout seconds</source>
- <translation>Tiempo de espera de bloqueo de base de datos en segundos</translation>
+ <translation>Tiempo de espera de bloqueo de BB.DD. en segundos</translation>
</message>
<message>
<source> min</source>
@@ -411,14 +411,14 @@
</message>
<message>
<source>Clear search query after</source>
- <translation>Limpiar consulta de búsqueda después</translation>
+ <translation>Vaciar consulta de búsqueda tras</translation>
</message>
</context>
<context>
<name>AutoType</name>
<message>
<source>Couldn&apos;t find an entry that matches the window title:</source>
- <translation>No se puede encontrar una entrada que corresponda al título de la ventana:</translation>
+ <translation>No se puede encontrar un apunte que corresponda al título de la ventana:</translation>
</message>
<message>
<source>Auto-Type - KeePassXC</source>
@@ -430,19 +430,27 @@
</message>
<message>
<source>The Syntax of your Auto-Type statement is incorrect!</source>
- <translation>¡La sintaxis de la declaración de su autoescritura es incorrecta!</translation>
+ <translation>¡La sintaxis de la sentencia de su autoescritura es incorrecta!</translation>
</message>
<message>
<source>This Auto-Type command contains a very long delay. Do you really want to proceed?</source>
- <translation>Este comando de autoescritura contiene un retraso muy largo. ¿Desea continuar?</translation>
+ <translation>Este mandato de autoescritura contiene un retraso muy largo. ¿Desea continuar?</translation>
</message>
<message>
<source>This Auto-Type command contains very slow key presses. Do you really want to proceed?</source>
- <translation>Este comando de autoescritura contiene pulsaciones de teclas muy lentas. ¿Desea continuar?</translation>
+ <translation>Este mandato de autoescritura contiene pulsaciones de teclas muy lentas. ¿Desea continuar?</translation>
</message>
<message>
<source>This Auto-Type command contains arguments which are repeated very often. Do you really want to proceed?</source>
- <translation>Este comando de autoescritura contiene argumentos que se repiten muy a menudo. ¿Realmente desea continuar?</translation>
+ <translation>Este mandato de autoescritura contiene argumentos que se repiten muy a menudo. ¿Realmente desea continuar?</translation>
+ </message>
+ <message>
+ <source>Permission Required</source>
+ <translation>Permiso requerido</translation>
+ </message>
+ <message>
+ <source>KeePassXC requires the Accessibility permission in order to perform entry level Auto-Type. If you already granted permission, you may have to restart KeePassXC.</source>
+ <translation>KeePassXC requiere el permiso de Accesibilidad para realizar la autoescritura en el campo de entrada. Si ya al concedido este permiso, quizá deba reiniciar KeePassXC.</translation>
</message>
</context>
<context>
@@ -472,7 +480,7 @@
</message>
<message>
<source>Username</source>
- <translation>Nombre de usuario</translation>
+ <translation>ID Usuario</translation>
</message>
<message>
<source>Sequence</source>
@@ -491,6 +499,17 @@
</message>
</context>
<context>
+ <name>AutoTypePlatformMac</name>
+ <message>
+ <source>Permission Required</source>
+ <translation>Permiso requerido</translation>
+ </message>
+ <message>
+ <source>KeePassXC requires the Accessibility and Screen Recorder permission in order to perform global Auto-Type. Screen Recording is necessary to use the window title to find entries. If you already granted permission, you may have to restart KeePassXC.</source>
+ <translation>KeePassXC requiere el permiso de Accesibilidad para realizar la autoescritura global. La grabación de pantalla es necesario para usar el título de la ventana al encontrar entradas. Si ya ha concedido este permiso, quizá deba reiniciar KeePassXC.</translation>
+ </message>
+</context>
+<context>
<name>AutoTypeSelectDialog</name>
<message>
<source>Auto-Type - KeePassXC</source>
@@ -498,7 +517,7 @@
</message>
<message>
<source>Select entry to Auto-Type:</source>
- <translation>Seleccionar entrada para autoescritura:</translation>
+ <translation>Seleccionar apunte para autoescritura:</translation>
</message>
<message>
<source>Search...</source>
@@ -556,7 +575,7 @@ Seleccione si desea autorizar su acceso.</translation>
<source>You have multiple databases open.
Please select the correct database for saving credentials.</source>
<translation>Tiene múltiples bases de datos abiertas.
-Por favor, seleccione la base de datos correcta para guardar las credenciales.</translation>
+Por favor, seleccione la BB.DD. correcta para guardar las credenciales.</translation>
</message>
</context>
<context>
@@ -575,7 +594,7 @@ Por favor, seleccione la base de datos correcta para guardar las credenciales.</
</message>
<message>
<source>Enable integration for these browsers:</source>
- <translation>Permitir la integración con estos navegadores:</translation>
+ <translation>Permitir la integración con estos exploradores:</translation>
</message>
<message>
<source>&amp;Google Chrome</source>
@@ -600,11 +619,11 @@ Por favor, seleccione la base de datos correcta para guardar las credenciales.</
</message>
<message>
<source>Re&amp;quest to unlock the database if it is locked</source>
- <translation>Solicitar el desblo&amp;queo de la base de datos si se encuentra bloqueada</translation>
+ <translation>Solicitar el desblo&amp;queo de la BB.DD. si se encuentra bloqueada</translation>
</message>
<message>
<source>Only entries with the same scheme (http://, https://, ...) are returned.</source>
- <translation>Sólo se muestran las entradas con el mismo esquema (http://, https://,...)</translation>
+ <translation>Sólo se muestran las apuntes con el mismo esquema (http://, https://,...)</translation>
</message>
<message>
<source>&amp;Match URL scheme (e.g., https://...)</source>
@@ -612,7 +631,7 @@ Por favor, seleccione la base de datos correcta para guardar las credenciales.</
</message>
<message>
<source>Only returns the best matches for a specific URL instead of all entries for the whole domain.</source>
- <translation>Sólo devolver los resultados similares para una URL específica en vez de todas las entradas para todo el dominio.</translation>
+ <translation>Sólo devolver los resultados similares para una URL específica en vez de todas las apuntes para todo el dominio.</translation>
</message>
<message>
<source>&amp;Return only best-matching credentials</source>
@@ -661,15 +680,15 @@ Por favor, seleccione la base de datos correcta para guardar las credenciales.</
</message>
<message>
<source>Update &amp;native messaging manifest files at startup</source>
- <translation>Actualizar archivos manifiesto de mensajería &amp;nativa al iniciar</translation>
+ <translation>Actualizar ficheros manifiesto de mensajería &amp;nativa al iniciar</translation>
</message>
<message>
<source>Support a proxy application between KeePassXC and browser extension.</source>
- <translation>Soporta una aplicación proxy entre KeePassXC y una extensión de navegador.</translation>
+ <translation>Soporta una aplicación proxy entre KeePassXC y una extensión de explorador.</translation>
</message>
<message>
<source>Use a &amp;proxy application between KeePassXC and browser extension</source>
- <translation>Utilizar un &amp;proxy entre KeePassXC y la extensión del navegador</translation>
+ <translation>Utilizar un &amp;proxy entre KeePassXC y la extensión del explorador</translation>
</message>
<message>
<source>Use a custom proxy location if you installed a proxy manually.</source>
@@ -678,12 +697,12 @@ Por favor, seleccione la base de datos correcta para guardar las credenciales.</
<message>
<source>Use a &amp;custom proxy location</source>
<comment>Meant is the proxy for KeePassXC-Browser</comment>
- <translation>Usar una ubicación proxy &amp;personalizada</translation>
+ <translation>Utilizar una ubicación proxy &amp;personalizada</translation>
</message>
<message>
<source>Browse...</source>
<extracomment>Button for opening file dialog</extracomment>
- <translation>Navegar...</translation>
+ <translation>Explorar...</translation>
</message>
<message>
<source>&lt;b&gt;Warning:&lt;/b&gt; The following options can be dangerous!</source>
@@ -699,11 +718,11 @@ Por favor, seleccione la base de datos correcta para guardar las credenciales.</
</message>
<message>
<source>Executable Files</source>
- <translation>Archivos ejecutables</translation>
+ <translation>Ficheros ejecutables</translation>
</message>
<message>
<source>All Files</source>
- <translation>Todos los archivos</translation>
+ <translation>Todos los ficheros</translation>
</message>
<message>
<source>Do not ask permission for HTTP &amp;Basic Auth</source>
@@ -712,15 +731,15 @@ Por favor, seleccione la base de datos correcta para guardar las credenciales.</
</message>
<message>
<source>Due to Snap sandboxing, you must run a script to enable browser integration.&lt;br /&gt;You can obtain this script from %1</source>
- <translation>Debido al modo aislado de Snap, debe ejecutar un código para permitir la integración con el navegador.&lt;br/&gt;Puedes obtener este código desde %1</translation>
+ <translation>Debido al modo aislado de Snap, debe ejecutar un código para permitir la integración con el explorador.&lt;br/&gt;Puedes obtener este código desde %1</translation>
</message>
<message>
<source>Please see special instructions for browser extension use below</source>
- <translation>Por favor vea las instrucciones especiales para el uso de extensiones del navegador debajo</translation>
+ <translation>Por favor vea las instrucciones especiales para el uso de extensiones del explorador debajo</translation>
</message>
<message>
<source>KeePassXC-Browser is needed for the browser integration to work. &lt;br /&gt;Download it for %1 and %2. %3</source>
- <translation>KeePassXC-Browser es necesario para que la integración con el navegador funcione. &lt;br /&gt;Descárguelo para %1 y %2. %3</translation>
+ <translation>KeePassXC-Browser es necesario para que la integración con el explorador funcione. &lt;br /&gt;Descárguelo para %1 y %2. %3</translation>
</message>
<message>
<source>&amp;Brave</source>
@@ -736,11 +755,11 @@ Por favor, seleccione la base de datos correcta para guardar las credenciales.</
</message>
<message>
<source>Enable browser integration</source>
- <translation>Habilitar integración con navegador</translation>
+ <translation>Habilitar integración con explorador</translation>
</message>
<message>
<source>Browsers installed as snaps are currently not supported.</source>
- <translation>Los navegadores instalados como snaps no están soportados.</translation>
+ <translation>Los exploradores instalados como snaps no están soportados.</translation>
</message>
<message>
<source>All databases connected to the extension will return matching credentials.</source>
@@ -760,11 +779,11 @@ Por favor, seleccione la base de datos correcta para guardar las credenciales.</
</message>
<message>
<source>Browser for custom proxy file</source>
- <translation>Navegar para archivo personalizado proxy</translation>
+ <translation>Explorar para fichero personalizado proxy</translation>
</message>
<message>
<source>&lt;b&gt;Warning&lt;/b&gt;, the keepassxc-proxy application was not found!&lt;br /&gt;Please check the KeePassXC installation directory or confirm the custom path in advanced options.&lt;br /&gt;Browser integration WILL NOT WORK without the proxy application.&lt;br /&gt;Expected Path: %1</source>
- <translation>&lt;b&gt;Advertencia&lt;/b&gt;, no se encontró la aplicación keepassxc-proxy!&lt;br /&gt;Compruebe el directorio de instalación de KeePassXC o confirme la ruta personalizada en las opciones avanzadas.&lt;br /&gt;La integración del navegador NO FUNCIONARà sin la aplicación proxy.&lt;br /&gt;Ruta esperada: %1</translation>
+ <translation>&lt;b&gt;Advertencia&lt;/b&gt;, no se encontró la aplicación keepassxc-proxy!&lt;br /&gt;Compruebe el directorio de instalación de KeePassXC o confirme la ruta personalizada en las opciones avanzadas.&lt;br /&gt;La integración del explorador NO FUNCIONARà sin la aplicación proxy.&lt;br /&gt;Ruta esperada: %1</translation>
</message>
</context>
<context>
@@ -774,17 +793,6 @@ Por favor, seleccione la base de datos correcta para guardar las credenciales.</
<translation>KeePassXC: solicitud de asociación de nueva clave</translation>
</message>
<message>
- <source>You have received an association request for the above key.
-
-If you would like to allow it access to your KeePassXC database,
-give it a unique name to identify and accept it.</source>
- <translation>¿Quiere asociar la base de datos al navegador?
-
-Si quiere autorizar el acceso a la base de datos de KeePassXC
-de un nombre único para identificar la autorización
-(se guardará como una entrada más)</translation>
- </message>
- <message>
<source>Save and allow access</source>
<translation>Guardar y permitir acceso</translation>
</message>
@@ -800,7 +808,7 @@ Do you want to overwrite it?</source>
</message>
<message>
<source>KeePassXC: Update Entry</source>
- <translation>KeePassXC: actualizar entrada</translation>
+ <translation>KeePassXC: actualizar apunte</translation>
</message>
<message>
<source>Do you want to update the information in %1 - %2?</source>
@@ -821,24 +829,24 @@ Do you want to overwrite it?</source>
<message>
<source>Successfully converted attributes from %1 entry(s).
Moved %2 keys to custom data.</source>
- <translation>Atributos exitosamente convertidos desde %1 entrada (s).
+ <translation>Atributos correctamente convertidos desde %1 apunte(s).
Movió %2 claves a datos personalizados.</translation>
</message>
<message numerus="yes">
<source>Successfully moved %n keys to custom data.</source>
- <translation><numerusform>%n llave movida a datos propios exitosamente.</numerusform><numerusform>%n llaves movidas a datos propios exitosamente.</numerusform></translation>
+ <translation><numerusform>%n llave movida a datos propios correctamente.</numerusform><numerusform>%n llaves movidas a datos propios correctamente.</numerusform></translation>
</message>
<message>
<source>KeePassXC: No entry with KeePassHTTP attributes found!</source>
- <translation>KeePassXC: ¡no se encontró entrada con los atributos KeePassHTTP!</translation>
+ <translation>KeePassXC: ¡no se encontró apunte con los atributos KeePassHTTP!</translation>
</message>
<message>
<source>The active database does not contain an entry with KeePassHTTP attributes.</source>
- <translation>La base de datos activa no contiene una entrada con atributos de KeePassHTTP.</translation>
+ <translation>La BB.DD. activa no contiene un apunte con atributos de KeePassHTTP.</translation>
</message>
<message>
<source>KeePassXC: Legacy browser integration settings detected</source>
- <translation>KeePassXC: detectada configuración de integración del navegador heredada </translation>
+ <translation>KeePassXC: detectada configuración de integración del explorador heredada </translation>
</message>
<message>
<source>KeePassXC: Create a new group</source>
@@ -856,14 +864,26 @@ Do you want to create this group?
<source>Your KeePassXC-Browser settings need to be moved into the database settings.
This is necessary to maintain your current browser connections.
Would you like to migrate your existing settings now?</source>
- <translation>Sus configuraciones de KeePassXC-Browser necesitan moverse a las configuraciones de base de datos.
-Es necesario para mantener sus conexiones presentes del navegador.
+ <translation>Sus configuraciones de KeePassXC-Browser necesitan moverse a las configuraciones de BB.DD.
+Es necesario para mantener sus conexiones presentes del explorador.
¿Le gustaría migrar sus configuraciones existentes ahora?</translation>
</message>
<message>
<source>Don&apos;t show this warning again</source>
<translation>No mostrar esta advertencia de nuevo</translation>
</message>
+ <message>
+ <source>You have received an association request for the following database:
+%1
+
+Give the connection a unique name or ID, for example:
+chrome-laptop.</source>
+ <translation>Ha recibido una solicitud de asociación para la siguiente base de datos:
+%1
+
+Asigne a la conexión un nombre único o identificativo, por ejemplo:
+portatil-chrome.</translation>
+ </message>
</context>
<context>
<name>CloneDialog</name>
@@ -873,11 +893,11 @@ Es necesario para mantener sus conexiones presentes del navegador.
</message>
<message>
<source>Append &apos; - Clone&apos; to title</source>
- <translation>Añadir «- Clon» al título</translation>
+ <translation>Agregar «- Clon» al título</translation>
</message>
<message>
<source>Replace username and password with references</source>
- <translation>Reemplace nombre de usuario y contraseña con referencias</translation>
+ <translation>Reemplace usuario y contraseña con referencias</translation>
</message>
<message>
<source>Copy history</source>
@@ -892,7 +912,7 @@ Es necesario para mantener sus conexiones presentes del navegador.
</message>
<message>
<source>filename</source>
- <translation>nombre del archivo</translation>
+ <translation>nombre del fichero</translation>
</message>
<message>
<source>size, rows, columns</source>
@@ -936,11 +956,11 @@ Es necesario para mantener sus conexiones presentes del navegador.
</message>
<message>
<source>Not present in CSV file</source>
- <translation>No presente en el archivo CSV</translation>
+ <translation>No presente en el fichero CSV</translation>
</message>
<message>
<source>Imported from CSV file</source>
- <translation>Importado de un archivo CSV</translation>
+ <translation>Importado de un fichero CSV</translation>
</message>
<message>
<source>Original data: </source>
@@ -960,11 +980,11 @@ Es necesario para mantener sus conexiones presentes del navegador.
</message>
<message>
<source>Error(s) detected in CSV file!</source>
- <translation>¡Error(es) detectado(s) en el archivo CSV!</translation>
+ <translation>¡Error(es) detectado(s) en el fichero CSV!</translation>
</message>
<message numerus="yes">
<source>[%n more message(s) skipped]</source>
- <translation><numerusform>[%n mensaje más omitido]</numerusform><numerusform>[%n mensajes más omitidos]</numerusform></translation>
+ <translation><numerusform>[%n mensaje más descartado]</numerusform><numerusform>[%n mensajes más descartados]</numerusform></translation>
</message>
<message>
<source>CSV import: writer has errors:
@@ -1018,41 +1038,41 @@ Es necesario para mantener sus conexiones presentes del navegador.
</message>
<message>
<source>File %1 does not exist.</source>
- <translation>El archivo %1 no existe.</translation>
+ <translation>El fichero %1 no existe.</translation>
</message>
<message>
<source>Unable to open file %1.</source>
- <translation>Incapaz de abrir el archivo %1.</translation>
+ <translation>Incapaz de abrir el fichero %1.</translation>
</message>
<message>
<source>Error while reading the database: %1</source>
- <translation>Error al leer la base de datos: %1</translation>
+ <translation>Error al leer la BB.DD.: %1</translation>
</message>
<message>
<source>File cannot be written as it is opened in read-only mode.</source>
- <translation>El archivo no se puede escribir, ya que se ha abierto en modo de solo lectura.</translation>
+ <translation>El fichero no se puede escribir, ya que se ha abierto en modo de solo lectura.</translation>
</message>
<message>
<source>Key not transformed. This is a bug, please report it to the developers!</source>
- <translation>Llave no está transformada. Esto es un bug, por favor, informe sobre él a los desarrolladores</translation>
+ <translation>Llave no está transformada. Esto es un defecto, por favor, informe sobre él a los desarrolladores</translation>
</message>
<message>
<source>%1
Backup database located at %2</source>
<translation>%1
-Copiar de seguridad de base de datos ubicada en %2</translation>
+Copiar de seguridad de BB.DD. ubicada en %2</translation>
</message>
<message>
<source>Could not save, database does not point to a valid file.</source>
- <translation>No se puede guardar, la base de datos no apunta a un archivo válido.</translation>
+ <translation>No se puede guardar, la BB.DD. no apunta a un fichero válido.</translation>
</message>
<message>
<source>Could not save, database file is read-only.</source>
- <translation>No se puede guardar, el archivo de base de datos es de solo lectura.</translation>
+ <translation>No se puede guardar, el fichero de BB.DD. es de solo lectura.</translation>
</message>
<message>
<source>Database file has unmerged changes.</source>
- <translation>La base de datos tiene cambios no combinados.</translation>
+ <translation>La BB.DD. tiene cambios no combinados.</translation>
</message>
<message>
<source>Recycle Bin</source>
@@ -1063,14 +1083,14 @@ Copiar de seguridad de base de datos ubicada en %2</translation>
<name>DatabaseOpenDialog</name>
<message>
<source>Unlock Database - KeePassXC</source>
- <translation>Desbloquear base de datos - KeePassXC</translation>
+ <translation>Desbloquear BB.DD. - KeePassXC</translation>
</message>
</context>
<context>
<name>DatabaseOpenWidget</name>
<message>
<source>Key File:</source>
- <translation>Archivo llave:</translation>
+ <translation>Fichero llave:</translation>
</message>
<message>
<source>Refresh</source>
@@ -1078,17 +1098,17 @@ Copiar de seguridad de base de datos ubicada en %2</translation>
</message>
<message>
<source>Legacy key file format</source>
- <translation>Formato de archivo llave heredado</translation>
+ <translation>Formato de fichero llave heredado</translation>
</message>
<message>
<source>You are using a legacy key file format which may become
unsupported in the future.
Please consider generating a new key file.</source>
- <translation>Está utilizando un formato de archivo llave heredado que puede convertirse
+ <translation>Está utilizando un formato de fichero llave heredado que puede convertirse
en no soportado en el futuro.
-Considere generar un nuevo archivo llave.</translation>
+Considere generar un nuevo fichero llave.</translation>
</message>
<message>
<source>Don&apos;t show this warning again</source>
@@ -1096,19 +1116,19 @@ Considere generar un nuevo archivo llave.</translation>
</message>
<message>
<source>All files</source>
- <translation>Todos los archivos</translation>
+ <translation>Todos los ficheros</translation>
</message>
<message>
<source>Key files</source>
- <translation>Archivos llave</translation>
+ <translation>Ficheros llave</translation>
</message>
<message>
<source>Select key file</source>
- <translation>Seleccionar archivo llave</translation>
+ <translation>Seleccionar fichero llave</translation>
</message>
<message>
<source>Failed to open key file: %1</source>
- <translation>Fallo al abrir archivo de clave: %1</translation>
+ <translation>Fallo al abrir fichero de clave: %1</translation>
</message>
<message>
<source>Select slot...</source>
@@ -1116,7 +1136,7 @@ Considere generar un nuevo archivo llave.</translation>
</message>
<message>
<source>Unlock KeePassXC Database</source>
- <translation>Desbloquear base de datos KeePassXC</translation>
+ <translation>Desbloquear BB.DD. KeePassXC</translation>
</message>
<message>
<source>Enter Password:</source>
@@ -1131,12 +1151,8 @@ Considere generar un nuevo archivo llave.</translation>
<translation>Intercambiar visibilidad de contraseña</translation>
</message>
<message>
- <source>Enter Additional Credentials:</source>
- <translation>Introducir credenciales adicionales:</translation>
- </message>
- <message>
<source>Key file selection</source>
- <translation>Selección de archivo de llave </translation>
+ <translation>Selección de fichero de llave </translation>
</message>
<message>
<source>Hardware key slot selection</source>
@@ -1144,11 +1160,11 @@ Considere generar un nuevo archivo llave.</translation>
</message>
<message>
<source>Browse for key file</source>
- <translation>Navegar para un fichero de claves</translation>
+ <translation>Explorar para un fichero de claves</translation>
</message>
<message>
<source>Browse...</source>
- <translation>Navegar...</translation>
+ <translation>Explorar...</translation>
</message>
<message>
<source>Refresh hardware tokens</source>
@@ -1159,12 +1175,6 @@ Considere generar un nuevo archivo llave.</translation>
<translation>Clave hardware:</translation>
</message>
<message>
- <source>&lt;p&gt;You can use a hardware security key such as a &lt;strong&gt;YubiKey&lt;/strong&gt; or &lt;strong&gt;OnlyKey&lt;/strong&gt; with slots configured for HMAC-SHA1.&lt;/p&gt;
- &lt;p&gt;Click for more information...&lt;/p&gt;</source>
- <translation>&lt;p&gt;Puede usar una clave de seguridad hardware como &lt;strong&gt;YubiKey&lt;/strong&gt; o&lt;strong&gt;OnlyKey&lt;/strong&gt; con ranuras configuradas para HMAC-SHA1.&lt;/p&gt;
-&lt;p&gt;Clic para más información...&lt;/p&gt;</translation>
- </message>
- <message>
<source>Hardware key help</source>
<translation>Ayuda de clave hardware</translation>
</message>
@@ -1174,15 +1184,11 @@ Considere generar un nuevo archivo llave.</translation>
</message>
<message>
<source>Clear</source>
- <translation>Limpiar</translation>
+ <translation>Vaciar</translation>
</message>
<message>
<source>Clear Key File</source>
- <translation>Limpiar archivo de clave</translation>
- </message>
- <message>
- <source>Select file...</source>
- <translation>Seleccionar archivo...</translation>
+ <translation>Vaciar fichero de clave</translation>
</message>
<message>
<source>Unlock failed and no password given</source>
@@ -1193,15 +1199,51 @@ Considere generar un nuevo archivo llave.</translation>
Do you want to retry with an &quot;empty&quot; password instead?
To prevent this error from appearing, you must go to &quot;Database Settings / Security&quot; and reset your password.</source>
- <translation>Desbloquear la base de datos ha fallado y no introdujo una contraseña.
+ <translation>Desbloquear la BB.DD. ha fallado y no introdujo una contraseña.
¿Desea reintentar con una contraseña vacía?
-Para prevenir que aparezca este error, debe ir a «Configuración de base de datos / Seguridad» y reiniciar su contraseña.</translation>
+Para prevenir que aparezca este error, debe ir a «Configuración de BB.DD. / Seguridad» y reiniciar su contraseña.</translation>
</message>
<message>
<source>Retry with empty password</source>
<translation>Reintentar con contraseña vacía</translation>
</message>
+ <message>
+ <source>Enter Additional Credentials (if any):</source>
+ <translation>Introducir credenciales adicionales (si alguna):</translation>
+ </message>
+ <message>
+ <source>&lt;p&gt;You can use a hardware security key such as a &lt;strong&gt;YubiKey&lt;/strong&gt; or &lt;strong&gt;OnlyKey&lt;/strong&gt; with slots configured for HMAC-SHA1.&lt;/p&gt;
+&lt;p&gt;Click for more information...&lt;/p&gt;</source>
+ <translation>&lt;p&gt;Puede usar una clave de seguridad hardware como &lt;strong&gt;YubiKey&lt;/strong&gt; o &lt;strong&gt;OnlyKey&lt;/strong&gt; con ranuras configuradas para HMAC-SHA1.&lt;/p&gt;
+&lt;p&gt;Clic para más información...&lt;/p&gt;</translation>
+ </message>
+ <message>
+ <source>&lt;p&gt;In addition to your master password, you can use a secret file to enhance the security of your database. Such a file can be generated in your database&apos;s security settings.&lt;/p&gt;&lt;p&gt;This is &lt;strong&gt;not&lt;/strong&gt; your *.kdbx database file!&lt;br&gt;If you do not have a key file, leave the field empty.&lt;/p&gt;&lt;p&gt;Click for more information...&lt;/p&gt;</source>
+ <translation>&lt;p&gt;Adicionalmente a su contraseña maestra, puede usar un archivo secreto para mejorar la seguridad de su base de datos. Dicho archivo puede ser generado en la configuración de seguridad de su base de datos.&lt;/p&gt;&lt;p&gt;Este no es su archivo de base de datos *.kdbx. &lt;br&gt;Si no tiene un fichero de claves, deje el campo vacío.&lt;/p&gt;&lt;p&gt;Clic para más información...&lt;/p&gt;</translation>
+ </message>
+ <message>
+ <source>Key file help</source>
+ <translation>Ayuda de fichero de claves</translation>
+ </message>
+ <message>
+ <source>?</source>
+ <translation>?</translation>
+ </message>
+ <message>
+ <source>Select key file...</source>
+ <translation>Seleccionar fichero de claves...</translation>
+ </message>
+ <message>
+ <source>Cannot use database file as key file</source>
+ <translation>No se puede usar una base de datos como fichero de claves</translation>
+ </message>
+ <message>
+ <source>You cannot use your database file as a key file.
+If you do not have a key file, please leave the field empty.</source>
+ <translation>No puede usar una base de datos como fichero de claves.
+Si no tiene un fichero de claves, deje el campo vacío.</translation>
+ </message>
</context>
<context>
<name>DatabaseSettingWidgetMetaData</name>
@@ -1234,7 +1276,7 @@ Para prevenir que aparezca este error, debe ir a «Configuración de base de dat
</message>
<message>
<source>Browser Integration</source>
- <translation>Integración con navegadores</translation>
+ <translation>Integración con exploradores</translation>
</message>
</context>
<context>
@@ -1245,11 +1287,11 @@ Para prevenir que aparezca este error, debe ir a «Configuración de base de dat
</message>
<message>
<source>&amp;Disconnect all browsers</source>
- <translation>&amp;Desconectar todos los navegadores</translation>
+ <translation>&amp;Desconectar todos los exploradores</translation>
</message>
<message>
<source>Forg&amp;et all site-specific settings on entries</source>
- <translation>Olvid&amp;ar todas las configuraciones específicas del sitio en las entradas</translation>
+ <translation>Olvid&amp;ar todas las configuraciones específicas del sitio en las apuntes</translation>
</message>
<message>
<source>Move KeePassHTTP attributes to KeePassXC-Browser &amp;custom data</source>
@@ -1261,17 +1303,17 @@ Para prevenir que aparezca este error, debe ir a «Configuración de base de dat
</message>
<message>
<source>Remove</source>
- <translation>Eliminar</translation>
+ <translation>Borrar</translation>
</message>
<message>
<source>Delete the selected key?</source>
- <translation>¿Eliminar la clave seleccionada?</translation>
+ <translation>¿Borrar la clave seleccionada?</translation>
</message>
<message>
<source>Do you really want to delete the selected key?
This may prevent connection to the browser plugin.</source>
<translation>¿Realmente quieres borrar la clave seleccionada?
-Esto puede impedir la conexión con el complemento del navegador.</translation>
+Esto puede imsolicitar la conexión con el complemento del explorador.</translation>
</message>
<message>
<source>Key</source>
@@ -1283,17 +1325,17 @@ Esto puede impedir la conexión con el complemento del navegador.</translation>
</message>
<message>
<source>Enable Browser Integration to access these settings.</source>
- <translation>Habilitar la integración del navegador para acceder a esta configuración.</translation>
+ <translation>Habilitar la integración del explorador para acceder a esta configuración.</translation>
</message>
<message>
<source>Disconnect all browsers</source>
- <translation>Desconectar todos los navegadores</translation>
+ <translation>Desconectar todos los exploradores</translation>
</message>
<message>
<source>Do you really want to disconnect all browsers?
This may prevent connection to the browser plugin.</source>
- <translation>¿Desea desconectar todos los navegadores?
-Esto puede impedir la conexión con el complemento del navegador.</translation>
+ <translation>¿Desea desconectar todos los exploradores?
+Esto puede imsolicitar la conexión con el complemento del explorador.</translation>
</message>
<message>
<source>KeePassXC: No keys found</source>
@@ -1305,7 +1347,7 @@ Esto puede impedir la conexión con el complemento del navegador.</translation>
</message>
<message>
<source>KeePassXC: Removed keys from database</source>
- <translation>KeePassXC: las claves se eliminaron de la base de datos</translation>
+ <translation>KeePassXC: las claves se eliminaron de la BB.DD.</translation>
</message>
<message numerus="yes">
<source>Successfully removed %n encryption key(s) from KeePassXC settings.</source>
@@ -1313,13 +1355,13 @@ Esto puede impedir la conexión con el complemento del navegador.</translation>
</message>
<message>
<source>Forget all site-specific settings on entries</source>
- <translation>Olvidar todas las configuraciones específicas del sitio en las entradas</translation>
+ <translation>Olvidar todas las configuraciones específicas del sitio en las apuntes</translation>
</message>
<message>
<source>Do you really want forget all site-specific settings on every entry?
Permissions to access entries will be revoked.</source>
- <translation>¿Desea olvidar todas las configuraciones específicas del sitio en cada entrada?
-Los permisos para acceder a las entradas serán revocados.</translation>
+ <translation>¿Desea olvidar todas las configuraciones específicas del sitio en cada apunte?
+Los permisos para acceder a las apuntes serán revocados.</translation>
</message>
<message>
<source>Removing stored permissions…</source>
@@ -1335,15 +1377,15 @@ Los permisos para acceder a las entradas serán revocados.</translation>
</message>
<message numerus="yes">
<source>Successfully removed permissions from %n entry(s).</source>
- <translation><numerusform>Eliminados con éxito permisos de %n entrada.</numerusform><numerusform>Eliminados con éxito permisos de %n entradas.</numerusform></translation>
+ <translation><numerusform>Eliminados con éxito permisos de %n apunte.</numerusform><numerusform>Eliminados con éxito permisos de %n apuntes.</numerusform></translation>
</message>
<message>
<source>KeePassXC: No entry with permissions found!</source>
- <translation>KeePassXC: ¡no se encontró ninguna entrada con permisos!</translation>
+ <translation>KeePassXC: ¡no se encontró ningun apunte con permisos!</translation>
</message>
<message>
<source>The active database does not contain an entry with permissions.</source>
- <translation>La base de datos activa no contiene una entrada con permisos.</translation>
+ <translation>La BB.DD. activa no contiene un apunte con permisos.</translation>
</message>
<message>
<source>Move KeePassHTTP attributes to custom data</source>
@@ -1352,16 +1394,16 @@ Los permisos para acceder a las entradas serán revocados.</translation>
<message>
<source>Do you really want to move all legacy browser integration data to the latest standard?
This is necessary to maintain compatibility with the browser plugin.</source>
- <translation>¿Realmente desea mover todos los datos de integración del navegador heredado al último estándar?
-Esto es necesario para mantener la compatibilidad con el complemento del navegador.</translation>
+ <translation>¿Realmente desea mover todos los datos de integración del explorador heredado al último estándar?
+Esto es necesario para mantener la compatibilidad con el complemento del explorador.</translation>
</message>
<message>
<source>Stored browser keys</source>
- <translation>Claves de navegador almacenadas</translation>
+ <translation>Claves de explorador almacenadas</translation>
</message>
<message>
<source>Remove selected key</source>
- <translation>Eliminar clave seleccionada</translation>
+ <translation>Retirar clave seleccionada</translation>
</message>
</context>
<context>
@@ -1420,15 +1462,15 @@ Esto es necesario para mantener la compatibilidad con el complemento del navegad
</message>
<message>
<source>Higher values offer more protection, but opening the database will take longer.</source>
- <translation>Los valores más altos ofrecen más protección, pero la apertura de la base de datos llevará más tiempo.</translation>
+ <translation>Los valores más altos ofrecen más protección, pero la apertura de la BB.DD. llevará más tiempo.</translation>
</message>
<message>
<source>Database format:</source>
- <translation>Formato de base de datos:</translation>
+ <translation>Formato de BB.DD.:</translation>
</message>
<message>
<source>This is only important if you need to use your database with other programs.</source>
- <translation>Esto solo es importante si necesita usar su base de datos con otros programas.</translation>
+ <translation>Esto solo es importante si necesita usar su BB.DD. con otros programas.</translation>
</message>
<message>
<source>KDBX 4.0 (recommended)</source>
@@ -1454,7 +1496,7 @@ Esto es necesario para mantener la compatibilidad con el complemento del navegad
If you keep this number, your database may take hours or days (or even longer) to open!</source>
<translation>Está utilizando una gran cantidad de rondas de transformación de clave con Argon2.
-Si conserva este número, ¡su base de datos puede tardar horas o días (o incluso más) en abrirse!</translation>
+Si conserva este número, ¡su BB.DD. puede tardar horas o días (o incluso más) en abrirse!</translation>
</message>
<message>
<source>Understood, keep number</source>
@@ -1475,7 +1517,7 @@ Si conserva este número, ¡su base de datos puede tardar horas o días (o inclu
If you keep this number, your database may be too easy to crack!</source>
<translation>Está utilizando una cantidad muy baja de rondas de transformación de llave con AES-KDF.
-Si conserva este número, ¡su base de datos puede ser muy fácil de descifrar!</translation>
+Si conserva este número, ¡su BB.DD. puede ser muy fácil de descifrar!</translation>
</message>
<message>
<source>KDF unchanged</source>
@@ -1515,7 +1557,7 @@ Si conserva este número, ¡su base de datos puede ser muy fácil de descifrar!<
</message>
<message>
<source>Database format</source>
- <translation>Formato de base de datos</translation>
+ <translation>Formato de BB.DD.</translation>
</message>
<message>
<source>Encryption algorithm</source>
@@ -1542,15 +1584,15 @@ Si conserva este número, ¡su base de datos puede ser muy fácil de descifrar!<
<name>DatabaseSettingsWidgetFdoSecrets</name>
<message>
<source>Exposed Entries</source>
- <translation>Exponer entradas</translation>
+ <translation>Exponer apuntes</translation>
</message>
<message>
<source>Don&apos;t e&amp;xpose this database</source>
- <translation>No e&amp;xponer esta base de datos</translation>
+ <translation>No e&amp;xponer esta BB.DD.</translation>
</message>
<message>
<source>Expose entries &amp;under this group:</source>
- <translation>Exponer entradas &amp;bajo este grupo:</translation>
+ <translation>Exponer apuntes &amp;bajo este grupo:</translation>
</message>
<message>
<source>Enable fd.o Secret Service to access these settings.</source>
@@ -1561,19 +1603,19 @@ Si conserva este número, ¡su base de datos puede ser muy fácil de descifrar!<
<name>DatabaseSettingsWidgetGeneral</name>
<message>
<source>Database Meta Data</source>
- <translation>Metadatos de la base de datos</translation>
+ <translation>Metadatos de la BB.DD.</translation>
</message>
<message>
<source>Database name:</source>
- <translation>Nombre de la base de datos:</translation>
+ <translation>Nombre de la BB.DD.:</translation>
</message>
<message>
<source>Database description:</source>
- <translation>Descripción de la base de datos:</translation>
+ <translation>Descripción de la BB.DD.:</translation>
</message>
<message>
<source>Default username:</source>
- <translation>Nombre de usuario por defecto:</translation>
+ <translation>ID Usuario por defecto:</translation>
</message>
<message>
<source>History Settings</source>
@@ -1593,11 +1635,11 @@ Si conserva este número, ¡su base de datos puede ser muy fácil de descifrar!<
</message>
<message>
<source>Use recycle bin</source>
- <translation>Usar papelera de reciclaje</translation>
+ <translation>Utilizar papelera de reciclaje</translation>
</message>
<message>
<source>Additional Database Settings</source>
- <translation>Configuraciones adicionales de la base de datos</translation>
+ <translation>Configuraciones adicionales de la BB.DD.</translation>
</message>
<message>
<source>Enable &amp;compression (recommended)</source>
@@ -1605,27 +1647,27 @@ Si conserva este número, ¡su base de datos puede ser muy fácil de descifrar!<
</message>
<message>
<source>Database name field</source>
- <translation>Campo nombre de base de datos</translation>
+ <translation>Campo nombre de BB.DD.</translation>
</message>
<message>
<source>Database description field</source>
- <translation>Campo descripción de base de datos</translation>
+ <translation>Campo descripción de BB.DD.</translation>
</message>
<message>
<source>Default username field</source>
- <translation>Campo nombre de usuario por defecto</translation>
+ <translation>Campo usuario por defecto</translation>
</message>
<message>
<source>Maximum number of history items per entry</source>
- <translation>Número máximo de elementos de historial por entrada</translation>
+ <translation>Número máximo de elementos de historial por apunte</translation>
</message>
<message>
<source>Maximum size of history per entry</source>
- <translation>Tamaño máximo de historial por entrada</translation>
+ <translation>Tamaño máximo de historial por apunte</translation>
</message>
<message>
<source>Delete Recycle Bin</source>
- <translation>Eliminar papelera de reciclaje</translation>
+ <translation>Borrar papelera de reciclaje</translation>
</message>
<message>
<source>Do you want to delete the current recycle bin and all its contents?
@@ -1674,7 +1716,7 @@ Esta acción no es reversible.</translation>
<name>DatabaseSettingsWidgetMasterKey</name>
<message>
<source>Add additional protection...</source>
- <translation>Añadir protección adicional...</translation>
+ <translation>Agregar protección adicional...</translation>
</message>
<message>
<source>No encryption key added</source>
@@ -1682,7 +1724,7 @@ Esta acción no es reversible.</translation>
</message>
<message>
<source>You must add at least one encryption key to secure your database!</source>
- <translation>¡Debe añadir al menos una clave de cifrado para proteger su base de datos!</translation>
+ <translation>¡Debe agregar al menos una clave de cifrado para proteger su BB.DD.!</translation>
</message>
<message>
<source>No password set</source>
@@ -1692,7 +1734,7 @@ Esta acción no es reversible.</translation>
<source>WARNING! You have not set a password. Using a database without a password is strongly discouraged!
Are you sure you want to continue without a password?</source>
- <translation>¡ADVERTENCIA! No ha establecido una contraseña. Se desaconseja el uso de una base de datos sin contraseña.
+ <translation>¡ADVERTENCIA! No ha establecido una contraseña. Se desaconseja el uso de una BB.DD. sin contraseña.
¿Desea continuar sin contraseña?</translation>
</message>
@@ -1713,7 +1755,7 @@ Are you sure you want to continue without a password?</source>
<name>DatabaseSettingsWidgetMetaDataSimple</name>
<message>
<source>Database Name:</source>
- <translation>Nombre de la base de datos:</translation>
+ <translation>Nombre de la BB.DD.:</translation>
</message>
<message>
<source>Description:</source>
@@ -1721,11 +1763,11 @@ Are you sure you want to continue without a password?</source>
</message>
<message>
<source>Database name field</source>
- <translation>Campo nombre de base de datos</translation>
+ <translation>Campo nombre de BB.DD.</translation>
</message>
<message>
<source>Database description field</source>
- <translation>Campo descripción de base de datos</translation>
+ <translation>Campo descripción de BB.DD.</translation>
</message>
</context>
<context>
@@ -1748,7 +1790,7 @@ Are you sure you want to continue without a password?</source>
</message>
<message>
<source>Database name</source>
- <translation>Nombre de la base de datos</translation>
+ <translation>Nombre de la BB.DD.</translation>
</message>
<message>
<source>Description</source>
@@ -1776,7 +1818,7 @@ Are you sure you want to continue without a password?</source>
</message>
<message>
<source>The database was modified, but the changes have not yet been saved to disk.</source>
- <translation>La base de datos fue modificada pero los cambios no han sido guardados a disco todavía.</translation>
+ <translation>La BB.DD. fue modificada pero los cambios no han sido guardados a disco todavía.</translation>
</message>
<message>
<source>Number of groups</source>
@@ -1784,15 +1826,15 @@ Are you sure you want to continue without a password?</source>
</message>
<message>
<source>Number of entries</source>
- <translation>Número de entradas</translation>
+ <translation>Número de apuntes</translation>
</message>
<message>
<source>Number of expired entries</source>
- <translation>Número de entradas expiradas</translation>
+ <translation>Número de apuntes expirados</translation>
</message>
<message>
<source>The database contains entries that have expired.</source>
- <translation>La base de datos contiene entradas que han expirado.</translation>
+ <translation>La BB.DD. contiene apuntes que han expirado.</translation>
</message>
<message>
<source>Unique passwords</source>
@@ -1842,67 +1884,71 @@ Are you sure you want to continue without a password?</source>
<source>Average password length is less than ten characters. Longer passwords provide more security.</source>
<translation>La longitud media de contraseña es menos de diez caracteres. Las contraseñas más largas proporcionan más seguridad.</translation>
</message>
+ <message>
+ <source>Please wait, database statistics are being calculated...</source>
+ <translation>Espere, calculando las estadísticas de la base de datos...</translation>
+ </message>
</context>
<context>
<name>DatabaseTabWidget</name>
<message>
<source>KeePass 2 Database</source>
- <translation>Base de datos de KeePass 2</translation>
+ <translation>BB.DD. de KeePass 2</translation>
</message>
<message>
<source>All files</source>
- <translation>Todos los archivos</translation>
+ <translation>Todos los ficheros</translation>
</message>
<message>
<source>Open database</source>
- <translation>Abrir base de datos</translation>
+ <translation>Abrir BB.DD.</translation>
</message>
<message>
<source>CSV file</source>
- <translation>Archivo CSV</translation>
+ <translation>Fichero CSV</translation>
</message>
<message>
<source>Merge database</source>
- <translation>Combinar base de datos</translation>
+ <translation>Combinar BB.DD.</translation>
</message>
<message>
<source>Open KeePass 1 database</source>
- <translation>Abrir base de datos KeePass 1</translation>
+ <translation>Abrir BB.DD. KeePass 1</translation>
</message>
<message>
<source>KeePass 1 database</source>
- <translation>Base de datos KeePass 1</translation>
+ <translation>BB.DD. KeePass 1</translation>
</message>
<message>
<source>Export database to CSV file</source>
- <translation>Exportar base de datos a un archivo CSV</translation>
+ <translation>Exportar BB.DD. a un fichero CSV</translation>
</message>
<message>
<source>Writing the CSV file failed.</source>
- <translation>La escritura del archivo CSV falló.</translation>
+ <translation>La escritura del fichero CSV falló.</translation>
</message>
<message>
<source>Database creation error</source>
- <translation>Error en creación de la base de datos</translation>
+ <translation>Error en creación de la BB.DD.</translation>
</message>
<message>
<source>The created database has no key or KDF, refusing to save it.
This is definitely a bug, please report it to the developers.</source>
- <translation>La base de datos creada no tiene clave o KDF, negándose a guardarla.
-Esto es definitivamente un error, por favor infórmelo a los desarrolladores.</translation>
+ <translation>La BB.DD. creada no tiene clave o KDF, negándose a guardarla.
+Esto es definitivamente un defecto, por favor infórmelo a los desarrolladores.</translation>
</message>
<message>
<source>Select CSV file</source>
- <translation>Seleccionar archivo CSV</translation>
+ <translation>Seleccionar fichero CSV</translation>
</message>
<message>
<source>New Database</source>
- <translation>Nueva base de datos</translation>
+ <translation>Nueva BB.DD.</translation>
</message>
<message>
<source>%1 [New Database]</source>
<comment>Database tab name modifier</comment>
- <translation>%1 [Nueva base de datos]</translation>
+ <translation>%1 [Nueva BB.DD.]</translation>
</message>
<message>
<source>%1 [Locked]</source>
@@ -1920,15 +1966,15 @@ Esto es definitivamente un error, por favor infórmelo a los desarrolladores.</t
</message>
<message>
<source>Export database to HTML file</source>
- <translation>Exportar base de datos a archivo HTML</translation>
+ <translation>Exportar BB.DD. a fichero HTML</translation>
</message>
<message>
<source>HTML file</source>
- <translation>Archivo HTML</translation>
+ <translation>Fichero HTML</translation>
</message>
<message>
<source>Writing the HTML file failed.</source>
- <translation>Fallo escribiendo a archivo HTML.</translation>
+ <translation>Fallo escribiendo a fichero HTML.</translation>
</message>
<message>
<source>Export Confirmation</source>
@@ -1936,7 +1982,7 @@ Esto es definitivamente un error, por favor infórmelo a los desarrolladores.</t
</message>
<message>
<source>You are about to export your database to an unencrypted file. This will leave your passwords and sensitive information vulnerable! Are you sure you want to continue?</source>
- <translation>Está a punto de exportar su base de datos a un archivo sin cifrar. Esto dejará sus contraseñas e información sensible vulnerable. ¿Desea continuar?</translation>
+ <translation>Está a punto de exportar su BB.DD. a un fichero sin cifrar. Esto dejará sus contraseñas e información sensible vulnerable. ¿Desea continuar?</translation>
</message>
</context>
<context>
@@ -1947,23 +1993,23 @@ Esto es definitivamente un error, por favor infórmelo a los desarrolladores.</t
</message>
<message>
<source>Do you really want to delete the entry &quot;%1&quot; for good?</source>
- <translation>¿Realmente quiere eliminar la entrada «%1» de forma definitiva?</translation>
+ <translation>¿Realmente quiere eliminar el apunte «%1» de forma definitiva?</translation>
</message>
<message>
<source>Do you really want to move entry &quot;%1&quot; to the recycle bin?</source>
- <translation>¿Realmente quiere mover la entrada «%1» a la papelera de reciclaje?</translation>
+ <translation>¿Realmente quiere mover el apunte «%1» a la papelera de reciclaje?</translation>
</message>
<message numerus="yes">
<source>Do you really want to move %n entry(s) to the recycle bin?</source>
- <translation><numerusform>¿Desea mover %n entrada a la papelera de reciclaje?</numerusform><numerusform>¿Desea mover %n entradas a la papelera de reciclaje?</numerusform></translation>
+ <translation><numerusform>¿Desea mover %n apunte a la papelera de reciclaje?</numerusform><numerusform>¿Desea mover %n apuntes a la papelera de reciclaje?</numerusform></translation>
</message>
<message>
<source>Execute command?</source>
- <translation>¿Ejecutar comando?</translation>
+ <translation>¿Ejecutar mandato?</translation>
</message>
<message>
<source>Do you really want to execute the following command?&lt;br&gt;&lt;br&gt;%1&lt;br&gt;</source>
- <translation>¿Desea ejecutar el siguiente comando?&lt;br&gt;&lt;br&gt;%1&lt;br&gt;</translation>
+ <translation>¿Desea ejecutar el siguiente mandato?&lt;br&gt;&lt;br&gt;%1&lt;br&gt;</translation>
</message>
<message>
<source>Remember my choice</source>
@@ -1975,11 +2021,11 @@ Esto es definitivamente un error, por favor infórmelo a los desarrolladores.</t
</message>
<message>
<source>No current database.</source>
- <translation>No hay una base de datos actualmente.</translation>
+ <translation>No hay una BB.DD. actualmente.</translation>
</message>
<message>
<source>No source database, nothing to do.</source>
- <translation>No hay una base de datos de origen, nada para hacer.</translation>
+ <translation>No hay una BB.DD. de origen, nada para hacer.</translation>
</message>
<message>
<source>Search Results (%1)</source>
@@ -1991,11 +2037,11 @@ Esto es definitivamente un error, por favor infórmelo a los desarrolladores.</t
</message>
<message>
<source>File has changed</source>
- <translation>El archivo ha cambiado</translation>
+ <translation>El fichero ha cambiado</translation>
</message>
<message>
<source>The database file has changed. Do you want to load the changes?</source>
- <translation>El archivo de la base de datos ha cambiado. ¿Desea cargar los cambios?</translation>
+ <translation>El fichero de la BB.DD. ha cambiado. ¿Desea cargar los cambios?</translation>
</message>
<message>
<source>Merge Request</source>
@@ -2004,7 +2050,7 @@ Esto es definitivamente un error, por favor infórmelo a los desarrolladores.</t
<message>
<source>The database file has changed and you have unsaved changes.
Do you want to merge your changes?</source>
- <translation>El archivo de la base de datos ha cambiado y usted tiene modificaciones sin guardar. ¿Desea combinar sus modificaciones?</translation>
+ <translation>El fichero de la BB.DD. ha cambiado y usted tiene modificaciones sin guardar. ¿Desea combinar sus modificaciones?</translation>
</message>
<message>
<source>Empty recycle bin?</source>
@@ -2016,23 +2062,23 @@ Do you want to merge your changes?</source>
</message>
<message numerus="yes">
<source>Do you really want to delete %n entry(s) for good?</source>
- <translation><numerusform>¿Desea eliminar %n entrada para siempre?</numerusform><numerusform>¿Desea eliminar %n entradas para siempre?</numerusform></translation>
+ <translation><numerusform>¿Desea eliminar %n apunte para siempre?</numerusform><numerusform>¿Desea eliminar %n apuntes para siempre?</numerusform></translation>
</message>
<message numerus="yes">
<source>Delete entry(s)?</source>
- <translation><numerusform>¿Eliminar entrada?</numerusform><numerusform>¿Eliminar entradas?</numerusform></translation>
+ <translation><numerusform>¿Borrar apunte?</numerusform><numerusform>¿Borrar apuntes?</numerusform></translation>
</message>
<message numerus="yes">
<source>Move entry(s) to recycle bin?</source>
- <translation><numerusform>¿Mover entrada a la papelera de reciclaje?</numerusform><numerusform>¿Mover entradas a la papelera de reciclaje?</numerusform></translation>
+ <translation><numerusform>¿Mover apunte a la papelera de reciclaje?</numerusform><numerusform>¿Mover apuntes a la papelera de reciclaje?</numerusform></translation>
</message>
<message>
<source>Lock Database?</source>
- <translation>¿Bloquear la base de datos?</translation>
+ <translation>¿Bloquear la BB.DD.?</translation>
</message>
<message>
<source>You are editing an entry. Discard changes and lock anyway?</source>
- <translation>Estás editando una entrada. ¿Descartar los cambios y bloquear de todos modos?</translation>
+ <translation>Estás editando un apunte. ¿Descartar los cambios y bloquear de todos modos?</translation>
</message>
<message>
<source>&quot;%1&quot; was modified.
@@ -2043,7 +2089,7 @@ Save changes?</source>
<message>
<source>Database was modified.
Save changes?</source>
- <translation>Se modificó la base de datos.
+ <translation>Se modificó la BB.DD.
¿Guardar cambios?</translation>
</message>
<message>
@@ -2053,7 +2099,7 @@ Save changes?</source>
<message>
<source>Could not open the new database file while attempting to autoreload.
Error: %1</source>
- <translation>No se pudo abrir el nuevo archivo de base de datos al intentar cargar automáticamente.
+ <translation>No se pudo abrir el nuevo fichero de BB.DD. al intentar cargar automáticamente.
Error: %1</translation>
</message>
<message>
@@ -2063,7 +2109,7 @@ Error: %1</translation>
<message>
<source>KeePassXC has failed to save the database multiple times. This is likely caused by file sync services holding a lock on the save file.
Disable safe saves and try again?</source>
- <translation>KeePassXC no ha podido guardar la base de datos varias veces. Esto es probablemente causado por los servicios de sincronización de archivos manteniendo un bloqueo en el archivo.
+ <translation>KeePassXC no ha podido guardar la BB.DD. varias veces. Esto es probablemente causado por los servicios de sincronización de ficheros manteniendo un bloqueo en el fichero.
¿Desactivar el guardado seguro y volver a intentarlo?</translation>
</message>
<message>
@@ -2072,23 +2118,23 @@ Disable safe saves and try again?</source>
</message>
<message>
<source>Save database as</source>
- <translation>Guardar base de datos como</translation>
+ <translation>Guardar BB.DD. como</translation>
</message>
<message>
<source>KeePass 2 Database</source>
- <translation>Base de datos de KeePass 2</translation>
+ <translation>BB.DD. de KeePass 2</translation>
</message>
<message>
<source>Replace references to entry?</source>
- <translation>¿Reemplazar las referencias a la entrada?</translation>
+ <translation>¿Reemplazar las referencias a el apunte?</translation>
</message>
<message numerus="yes">
<source>Entry &quot;%1&quot; has %2 reference(s). Do you want to overwrite references with values, skip this entry, or delete anyway?</source>
- <translation><numerusform>La entrada &quot;%1&quot; tiene %2 referencia. ¿Desea sobrescribir la referencia con el valor, saltarse esta entrada o borrarla de todos modos?</numerusform><numerusform>La entrada «%1» tiene %2 referencias. ¿Desea sobrescribir las referencias con los valores, omitir esta entrada o eliminarla de todos modos?</numerusform></translation>
+ <translation><numerusform>El apunte &quot;%1&quot; tiene %2 referencia. ¿Desea sobrescribir la referencia con el valor, saltarse esta apunte o borrarla de todos modos?</numerusform><numerusform>El apunte «%1» tiene %2 referencias. ¿Desea sobrescribir las referencias con los valores, omitir esta apunte o eliminarla de todos modos?</numerusform></translation>
</message>
<message>
<source>Delete group</source>
- <translation>Eliminar grupo</translation>
+ <translation>Borrar grupo</translation>
</message>
<message>
<source>Move group to recycle bin?</source>
@@ -2100,11 +2146,11 @@ Disable safe saves and try again?</source>
</message>
<message>
<source>Successfully merged the database files.</source>
- <translation>Combinados correctamente los archivos de base de datos.</translation>
+ <translation>Combinados correctamente los ficheros de BB.DD.</translation>
</message>
<message>
<source>Database was not modified by merge operation.</source>
- <translation>La base de datos no fue modificada por la operación de combinar.</translation>
+ <translation>La BB.DD. no fue modificada por la operación de combinar.</translation>
</message>
<message>
<source>Shared group...</source>
@@ -2112,11 +2158,11 @@ Disable safe saves and try again?</source>
</message>
<message>
<source>Writing the database failed: %1</source>
- <translation>Fallo al escribir la base de datos: %1</translation>
+ <translation>Fallo al escribir la BB.DD.: %1</translation>
</message>
<message>
<source>This database is opened in read-only mode. Autosave is disabled.</source>
- <translation>Esta base de datos está abierta en modo solo lectura. El autoguardado está deshabilitado.</translation>
+ <translation>Esta BB.DD. está abierta en modo solo lectura. El autoguardado está deshabilitado.</translation>
</message>
</context>
<context>
@@ -2163,7 +2209,7 @@ Disable safe saves and try again?</source>
</message>
<message>
<source>File too large to be a private key</source>
- <translation>Archivo demasiado grande para ser una llave privada</translation>
+ <translation>Fichero demasiado grande para ser una llave privada</translation>
</message>
<message>
<source>Failed to open private key</source>
@@ -2171,15 +2217,15 @@ Disable safe saves and try again?</source>
</message>
<message>
<source>Entry history</source>
- <translation>Historial de entradas</translation>
+ <translation>Historial de apuntes</translation>
</message>
<message>
<source>Add entry</source>
- <translation>Añadir entrada</translation>
+ <translation>Agregar apunte</translation>
</message>
<message>
<source>Edit entry</source>
- <translation>Editar entrada</translation>
+ <translation>Editar apunte</translation>
</message>
<message>
<source>Different passwords supplied.</source>
@@ -2211,7 +2257,7 @@ Disable safe saves and try again?</source>
</message>
<message>
<source>Do you want to apply the generated password to this entry?</source>
- <translation>¿Desea aplicar la contraseña generada en esta entrada?</translation>
+ <translation>¿Desea aplicar la contraseña generada en esta apunte?</translation>
</message>
<message>
<source>Entry updated successfully.</source>
@@ -2219,7 +2265,7 @@ Disable safe saves and try again?</source>
</message>
<message>
<source>Entry has unsaved changes</source>
- <translation>La entrada tiene cambios sin guardar</translation>
+ <translation>El apunte tiene cambios sin guardar</translation>
</message>
<message>
<source>New attribute %1</source>
@@ -2239,7 +2285,7 @@ Disable safe saves and try again?</source>
</message>
<message>
<source>Browser Integration</source>
- <translation>Integración con navegadores</translation>
+ <translation>Integración con exploradores</translation>
</message>
<message>
<source>&lt;empty URL&gt;</source>
@@ -2258,11 +2304,11 @@ Disable safe saves and try again?</source>
</message>
<message>
<source>Add</source>
- <translation>Añadir</translation>
+ <translation>Agregar</translation>
</message>
<message>
<source>Remove</source>
- <translation>Eliminar</translation>
+ <translation>Retirar</translation>
</message>
<message>
<source>Edit Name</source>
@@ -2298,11 +2344,11 @@ Disable safe saves and try again?</source>
</message>
<message>
<source>Add a new attribute</source>
- <translation>Añadir nuevo atributo</translation>
+ <translation>Agregar nuevo atributo</translation>
</message>
<message>
<source>Remove selected attribute</source>
- <translation>Eliminar atributo seleccionado</translation>
+ <translation>Retirar atributo seleccionado</translation>
</message>
<message>
<source>Edit attribute name</source>
@@ -2329,7 +2375,7 @@ Disable safe saves and try again?</source>
<name>EditEntryWidgetAutoType</name>
<message>
<source>Enable Auto-Type for this entry</source>
- <translation>Activar autoescritura para esta entrada</translation>
+ <translation>Activar autoescritura para esta apunte</translation>
</message>
<message>
<source>Inherit default Auto-Type sequence from the &amp;group</source>
@@ -2337,7 +2383,7 @@ Disable safe saves and try again?</source>
</message>
<message>
<source>&amp;Use custom Auto-Type sequence:</source>
- <translation>&amp;Usar secuencia de autoescritura personalizada:</translation>
+ <translation>&amp;Utilizar secuencia de autoescritura personalizada:</translation>
</message>
<message>
<source>Window Associations</source>
@@ -2373,11 +2419,11 @@ Disable safe saves and try again?</source>
</message>
<message>
<source>Add new window association</source>
- <translation>Añadir nueva asociación de ventana</translation>
+ <translation>Agregar nueva asociación de ventana</translation>
</message>
<message>
<source>Remove selected window association</source>
- <translation>Eliminar asociación de ventana</translation>
+ <translation>Retirar asociación de ventana</translation>
</message>
<message>
<source>You can use an asterisk (*) to match everything</source>
@@ -2400,7 +2446,7 @@ Disable safe saves and try again?</source>
<name>EditEntryWidgetBrowser</name>
<message>
<source>These settings affect to the entry&apos;s behaviour with the browser extension.</source>
- <translation>Esta configuración afecta al comportamiento de esta entrada con la extensión del navegador.</translation>
+ <translation>Esta configuración afecta al comportamiento de esta apunte con la extensión del explorador.</translation>
</message>
<message>
<source>General</source>
@@ -2408,11 +2454,11 @@ Disable safe saves and try again?</source>
</message>
<message>
<source>Skip Auto-Submit for this entry</source>
- <translation>Omitir autoenvío para esta entrada</translation>
+ <translation>Descartar autoenvío para esta apunte</translation>
</message>
<message>
<source>Hide this entry from the browser extension</source>
- <translation>Ocultar esta entrada de la extensión del navegador</translation>
+ <translation>Ocultar esta apunte de la extensión del explorador</translation>
</message>
<message>
<source>Additional URL&apos;s</source>
@@ -2420,11 +2466,11 @@ Disable safe saves and try again?</source>
</message>
<message>
<source>Add</source>
- <translation>Añadir</translation>
+ <translation>Agregar</translation>
</message>
<message>
<source>Remove</source>
- <translation>Eliminar</translation>
+ <translation>Retirar</translation>
</message>
<message>
<source>Edit</source>
@@ -2443,31 +2489,31 @@ Disable safe saves and try again?</source>
</message>
<message>
<source>Delete</source>
- <translation>Eliminar</translation>
+ <translation>Borrar</translation>
</message>
<message>
<source>Delete all</source>
- <translation>Eliminar todo</translation>
+ <translation>Borrar todo</translation>
</message>
<message>
<source>Entry history selection</source>
- <translation>Selección de entrada de historial</translation>
+ <translation>Selección de apunte de historial</translation>
</message>
<message>
<source>Show entry at selected history state</source>
- <translation>Mostrar entrada en historial seleccionado</translation>
+ <translation>Mostrar apunte en historial seleccionado</translation>
</message>
<message>
<source>Restore entry to selected history state</source>
- <translation>Restaurar entrada al estado historial seleccionado</translation>
+ <translation>Restaurar apunte al estado historial seleccionado</translation>
</message>
<message>
<source>Delete selected history state</source>
- <translation>Eliminar el historial seleccionado</translation>
+ <translation>Borrar el historial seleccionado</translation>
</message>
<message>
<source>Delete all history</source>
- <translation>Eliminar todo el historial</translation>
+ <translation>Borrar todo el historial</translation>
</message>
</context>
<context>
@@ -2502,7 +2548,7 @@ Disable safe saves and try again?</source>
</message>
<message>
<source>Username:</source>
- <translation>Nombre de usuario:</translation>
+ <translation>ID Usuario:</translation>
</message>
<message>
<source>Expires</source>
@@ -2558,7 +2604,7 @@ Disable safe saves and try again?</source>
</message>
<message>
<source>Username field</source>
- <translation>Campo nombre de usuario</translation>
+ <translation>Campo usuario</translation>
</message>
<message>
<source>Toggle expiration</source>
@@ -2585,7 +2631,7 @@ Disable safe saves and try again?</source>
</message>
<message>
<source>Remove key from agent when database is closed/locked</source>
- <translation>Eliminar llave del agente cuando la base de datos está cerrada/bloqueada</translation>
+ <translation>Retirar llave del agente cuando la BB.DD. está cerrada/bloqueada</translation>
</message>
<message>
<source>Public key</source>
@@ -2593,7 +2639,7 @@ Disable safe saves and try again?</source>
</message>
<message>
<source>Add key to agent when database is opened/unlocked</source>
- <translation>Agregar llave al agente cuando la base de datos se abre/desbloquea</translation>
+ <translation>Agregar llave al agente cuando la BB.DD. se abre/desbloquea</translation>
</message>
<message>
<source>Comment</source>
@@ -2617,12 +2663,12 @@ Disable safe saves and try again?</source>
</message>
<message>
<source>External file</source>
- <translation>Archivo externo</translation>
+ <translation>Fichero externo</translation>
</message>
<message>
<source>Browse...</source>
<extracomment>Button for opening file dialog</extracomment>
- <translation>Navegar...</translation>
+ <translation>Explorar...</translation>
</message>
<message>
<source>Attachment</source>
@@ -2630,11 +2676,11 @@ Disable safe saves and try again?</source>
</message>
<message>
<source>Add to agent</source>
- <translation>Añadir a agente</translation>
+ <translation>Agregar a agente</translation>
</message>
<message>
<source>Remove from agent</source>
- <translation>Eliminar del agente</translation>
+ <translation>Retirar del agente</translation>
</message>
<message>
<source>Require user confirmation when this key is used</source>
@@ -2642,11 +2688,11 @@ Disable safe saves and try again?</source>
</message>
<message>
<source>Remove key from agent after specified seconds</source>
- <translation>Eliminar clave del agente después de los segundos especificados</translation>
+ <translation>Retirar clave del agente tras los segundos especificados</translation>
</message>
<message>
<source>Browser for key file</source>
- <translation>Navegar para fichero de claves</translation>
+ <translation>Explorar para fichero de claves</translation>
</message>
<message>
<source>External key file</source>
@@ -2654,7 +2700,7 @@ Disable safe saves and try again?</source>
</message>
<message>
<source>Select attachment file</source>
- <translation>Seleccionar archivo adjunto</translation>
+ <translation>Seleccionar fichero adjunto</translation>
</message>
</context>
<context>
@@ -2673,7 +2719,7 @@ Disable safe saves and try again?</source>
</message>
<message>
<source>Add group</source>
- <translation>Añadir grupo</translation>
+ <translation>Agregar grupo</translation>
</message>
<message>
<source>Edit group</source>
@@ -2693,7 +2739,7 @@ Disable safe saves and try again?</source>
</message>
<message>
<source>Entry has unsaved changes</source>
- <translation>La entrada tiene cambios sin guardar</translation>
+ <translation>El apunte tiene cambios sin guardar</translation>
</message>
</context>
<context>
@@ -2740,11 +2786,11 @@ Disable safe saves and try again?</source>
</message>
<message>
<source>Select import/export file</source>
- <translation>Seleccione el archivo de importación/exportación</translation>
+ <translation>Seleccione el fichero de importación/exportación</translation>
</message>
<message>
<source>Clear</source>
- <translation>Limpiar</translation>
+ <translation>Vaciar</translation>
</message>
<message>
<source>Import</source>
@@ -2766,15 +2812,15 @@ Las extensiones soportadas son: %1.</translation>
</message>
<message>
<source>%1 is already being exported by this database.</source>
- <translation>%1 ya está siendo exportada por esta base de datos.</translation>
+ <translation>%1 ya está siendo exportada por esta BB.DD.</translation>
</message>
<message>
<source>%1 is already being imported by this database.</source>
- <translation>%1 ya está siendo exportada por esta base de datos.</translation>
+ <translation>%1 ya está siendo exportada por esta BB.DD.</translation>
</message>
<message>
<source>%1 is being imported and exported by different groups in this database.</source>
- <translation>%1 ya está siendo importada y exportada por diferentes grupos en esta base de datos.</translation>
+ <translation>%1 ya está siendo importada y exportada por diferentes grupos en esta BB.DD.</translation>
</message>
<message>
<source>KeeShare is currently disabled. You can enable import/export in the application settings.</source>
@@ -2783,11 +2829,11 @@ Las extensiones soportadas son: %1.</translation>
</message>
<message>
<source>Database export is currently disabled by application settings.</source>
- <translation>La exportación de la base de datos actualmente está deshabilitada en la configuración de aplicación.</translation>
+ <translation>La exportación de la BB.DD. actualmente está deshabilitada en la configuración de aplicación.</translation>
</message>
<message>
<source>Database import is currently disabled by application settings.</source>
- <translation>La importación de base de datos actualmente está deshabilitada por la configuración de aplicación</translation>
+ <translation>La importación de BB.DD. actualmente está deshabilitada por la configuración de aplicación</translation>
</message>
<message>
<source>Sharing mode field</source>
@@ -2795,11 +2841,11 @@ Las extensiones soportadas son: %1.</translation>
</message>
<message>
<source>Path to share file field</source>
- <translation>Ruta para campo de archivo compartir</translation>
+ <translation>Ruta para campo de fichero compartir</translation>
</message>
<message>
<source>Browser for share file</source>
- <translation>Navegar para un archivo compartir</translation>
+ <translation>Explorar para un fichero compartir</translation>
</message>
<message>
<source>Password field</source>
@@ -2815,7 +2861,7 @@ Las extensiones soportadas son: %1.</translation>
</message>
<message>
<source>Clear fields</source>
- <translation>Limpiar campos</translation>
+ <translation>Vaciar campos</translation>
</message>
</context>
<context>
@@ -2842,7 +2888,7 @@ Las extensiones soportadas son: %1.</translation>
</message>
<message>
<source>&amp;Use default Auto-Type sequence of parent group</source>
- <translation>&amp;Usar por defecto la secuencia de autoescritura del grupo padre</translation>
+ <translation>&amp;Utilizar por defecto la secuencia de autoescritura del grupo padre</translation>
</message>
<message>
<source>Set default Auto-Type se&amp;quence</source>
@@ -2881,19 +2927,19 @@ Las extensiones soportadas son: %1.</translation>
<name>EditWidgetIcons</name>
<message>
<source>&amp;Use default icon</source>
- <translation>&amp;Usar icono por defecto</translation>
+ <translation>&amp;Utilizar icono por defecto</translation>
</message>
<message>
<source>Use custo&amp;m icon</source>
- <translation>Usar icono &amp;personalizado</translation>
+ <translation>Utilizar icono &amp;personalizado</translation>
</message>
<message>
<source>Add custom icon</source>
- <translation>Añadir icono personalizado</translation>
+ <translation>Agregar icono personalizado</translation>
</message>
<message>
<source>Delete custom icon</source>
- <translation>Eliminar icono personalizado</translation>
+ <translation>Borrar icono personalizado</translation>
</message>
<message>
<source>Download favicon</source>
@@ -2909,7 +2955,7 @@ Las extensiones soportadas son: %1.</translation>
</message>
<message>
<source>All files</source>
- <translation>Todos los archivos</translation>
+ <translation>Todos los ficheros</translation>
</message>
<message>
<source>Confirm Delete</source>
@@ -2921,7 +2967,7 @@ Las extensiones soportadas son: %1.</translation>
</message>
<message numerus="yes">
<source>Successfully loaded %1 of %n icon(s)</source>
- <translation><numerusform>Cargado(s) %1 de %n ícono exitosamente</numerusform><numerusform>Cargado(s) %1 de %n iconos exitosamente</numerusform></translation>
+ <translation><numerusform>Cargado(s) %1 de %n ícono correctamente</numerusform><numerusform>Cargado(s) %1 de %n iconos correctamente</numerusform></translation>
</message>
<message>
<source>No icons were loaded</source>
@@ -2929,7 +2975,7 @@ Las extensiones soportadas son: %1.</translation>
</message>
<message numerus="yes">
<source>%n icon(s) already exist in the database</source>
- <translation><numerusform>%n ícono ya existe en la base de datos</numerusform><numerusform>%n íconos ya existen en la base de datos</numerusform></translation>
+ <translation><numerusform>%n ícono ya existe en la BB.DD.</numerusform><numerusform>%n íconos ya existen en la BB.DD.</numerusform></translation>
</message>
<message numerus="yes">
<source>The following icon(s) failed:</source>
@@ -2937,7 +2983,7 @@ Las extensiones soportadas son: %1.</translation>
</message>
<message numerus="yes">
<source>This icon is used by %n entry(s), and will be replaced by the default icon. Are you sure you want to delete it?</source>
- <translation><numerusform>Este icono se utiliza en %n entrada, y será remplazado por el icono por defecto. ¿Desea eliminarlo?</numerusform><numerusform>Este icono se utiliza en %n entradas, y será remplazado por el icono por defecto. ¿Desea eliminarlo?</numerusform></translation>
+ <translation><numerusform>Este icono se utiliza en %n apunte, y será remplazado por el icono por defecto. ¿Desea eliminarlo?</numerusform><numerusform>Este icono se utiliza en %n apuntes, y será remplazado por el icono por defecto. ¿Desea eliminarlo?</numerusform></translation>
</message>
<message>
<source>You can enable the DuckDuckGo website icon service under Tools -&gt; Settings -&gt; Security</source>
@@ -2949,7 +2995,7 @@ Las extensiones soportadas son: %1.</translation>
</message>
<message>
<source>Apply selected icon to subgroups and entries</source>
- <translation>Aplicar icono selecionado a subgrupos y entradas</translation>
+ <translation>Aplicar icono seleccionado a subgrupos y apuntes</translation>
</message>
<message>
<source>Apply icon &amp;to ...</source>
@@ -2961,15 +3007,15 @@ Las extensiones soportadas son: %1.</translation>
</message>
<message>
<source>Also apply to child groups</source>
- <translation>Aplicar a los grupos hijos</translation>
+ <translation>Aplicar a los grupos descendientes</translation>
</message>
<message>
<source>Also apply to child entries</source>
- <translation>Aplicar también a las entradas hijos</translation>
+ <translation>Aplicar también a los subapuntes</translation>
</message>
<message>
<source>Also apply to all children</source>
- <translation>Aplicar a todos los hijos</translation>
+ <translation>Aplicar a todos los descendientes</translation>
</message>
<message>
<source>Existing icon selected.</source>
@@ -3000,11 +3046,11 @@ Las extensiones soportadas son: %1.</translation>
</message>
<message>
<source>Remove</source>
- <translation>Eliminar</translation>
+ <translation>Quitar</translation>
</message>
<message>
<source>Delete plugin data?</source>
- <translation>¿Eliminar los datos del complemento?</translation>
+ <translation>¿Borrar los datos del complemento?</translation>
</message>
<message>
<source>Do you really want to delete the selected plugin data?
@@ -3042,7 +3088,7 @@ Esto puede causar un mal funcionamiento de los complementos afectados.</translat
</message>
<message>
<source>Remove selected plugin data</source>
- <translation>Eliminar complemento de datos seleccionado</translation>
+ <translation>Quitar complemento de datos seleccionado</translation>
</message>
</context>
<context>
@@ -3071,11 +3117,11 @@ Esto puede causar un mal funcionamiento de los complementos afectados.</translat
</message>
<message>
<source>Add</source>
- <translation>Añadir</translation>
+ <translation>Agregar</translation>
</message>
<message>
<source>Remove</source>
- <translation>Eliminar</translation>
+ <translation>Retirar</translation>
</message>
<message>
<source>Open</source>
@@ -3087,7 +3133,7 @@ Esto puede causar un mal funcionamiento de los complementos afectados.</translat
</message>
<message>
<source>Select files</source>
- <translation>Seleccionar archivos</translation>
+ <translation>Seleccionar ficheros</translation>
</message>
<message numerus="yes">
<source>Are you sure you want to remove %n attachment(s)?</source>
@@ -3105,7 +3151,7 @@ Esto puede causar un mal funcionamiento de los complementos afectados.</translat
</message>
<message>
<source>Are you sure you want to overwrite the existing file &quot;%1&quot; with the attachment?</source>
- <translation>¿Desea sobrescribir el archivo existente «%1» con el archivo adjunto?</translation>
+ <translation>¿Desea sobrescribir el fichero existente «%1» con el fichero adjunto?</translation>
</message>
<message>
<source>Confirm overwrite</source>
@@ -3114,13 +3160,13 @@ Esto puede causar un mal funcionamiento de los complementos afectados.</translat
<message>
<source>Unable to save attachments:
%1</source>
- <translation>No se puede guardar los datos adjuntos:
+ <translation>Incapaz de guardar datos adjuntos:
%1</translation>
</message>
<message>
<source>Unable to open attachment:
%1</source>
- <translation>No se puede abrir el archivo adjunto:
+ <translation>No se puede abrir el fichero adjunto:
%1</translation>
</message>
<message>
@@ -3136,8 +3182,8 @@ Esto puede causar un mal funcionamiento de los complementos afectados.</translat
<message numerus="yes">
<source>Unable to open file(s):
%1</source>
- <translation><numerusform>Incapaz de abrir el archivo:
-%1</numerusform><numerusform>Incapaz de abrir los archivos:
+ <translation><numerusform>Incapaz de abrir el fichero:
+%1</numerusform><numerusform>Incapaz de abrir los ficheros:
%1</numerusform></translation>
</message>
<message>
@@ -3146,11 +3192,11 @@ Esto puede causar un mal funcionamiento de los complementos afectados.</translat
</message>
<message>
<source>Add new attachment</source>
- <translation>Añadir nuevo adjunto</translation>
+ <translation>Agregar nuevo adjunto</translation>
</message>
<message>
<source>Remove selected attachment</source>
- <translation>Eliminar adjunto seleccionado</translation>
+ <translation>Retirar adjunto seleccionado</translation>
</message>
<message>
<source>Open selected attachment</source>
@@ -3180,7 +3226,7 @@ Esto puede causar un mal funcionamiento de los complementos afectados.</translat
</message>
<message>
<source>Username</source>
- <translation>Nombre de usuario</translation>
+ <translation>ID Usuario</translation>
</message>
<message>
<source>URL</source>
@@ -3204,7 +3250,7 @@ Esto puede causar un mal funcionamiento de los complementos afectados.</translat
</message>
<message>
<source>Username</source>
- <translation>Nombre de usuario</translation>
+ <translation>ID Usuario</translation>
</message>
<message>
<source>URL</source>
@@ -3263,7 +3309,7 @@ Esto puede causar un mal funcionamiento de los complementos afectados.</translat
</message>
<message>
<source>Username</source>
- <translation>Nombre de usuario</translation>
+ <translation>ID Usuario</translation>
</message>
<message>
<source>Password</source>
@@ -3311,7 +3357,7 @@ Esto puede causar un mal funcionamiento de los complementos afectados.</translat
</message>
<message>
<source>Clear</source>
- <translation>Limpiar</translation>
+ <translation>Vaciar</translation>
</message>
<message>
<source>Never</source>
@@ -3340,7 +3386,7 @@ Esto puede causar un mal funcionamiento de los complementos afectados.</translat
</message>
<message>
<source>Display current TOTP value</source>
- <translation>Mostrar valor actual TOTP</translation>
+ <translation>Representar valor actual TOTP</translation>
</message>
<message>
<source>Advanced</source>
@@ -3382,7 +3428,7 @@ Esto puede causar un mal funcionamiento de los complementos afectados.</translat
<name>FdoSecrets::Item</name>
<message>
<source>Entry &quot;%1&quot; from database &quot;%2&quot; was used by %3</source>
- <translation>Entrada «%1» de la base de datos «%2» fue usada por %3</translation>
+ <translation>Entrada «%1» de la BB.DD. «%2» fue usada por %3</translation>
</message>
</context>
<context>
@@ -3394,7 +3440,7 @@ Esto puede causar un mal funcionamiento de los complementos afectados.</translat
<message numerus="yes">
<source>%n Entry(s) was used by %1</source>
<comment>%1 is the name of an application</comment>
- <translation><numerusform>%n entrada fue usada por %1</numerusform><numerusform>%n entradas fueron usadas por %1</numerusform></translation>
+ <translation><numerusform>%n apunte fue usada por %1</numerusform><numerusform>%n apuntes fueron usadas por %1</numerusform></translation>
</message>
</context>
<context>
@@ -3416,11 +3462,11 @@ Esto puede causar un mal funcionamiento de los complementos afectados.</translat
<name>HostInstaller</name>
<message>
<source>KeePassXC: Cannot save file!</source>
- <translation>KeePassXC: ¡no se puede guardar el archivo!</translation>
+ <translation>KeePassXC: ¡no se puede guardar el fichero!</translation>
</message>
<message>
<source>Cannot save the native messaging script file.</source>
- <translation>No se puede guardar el archivo de script de mensajería nativo.</translation>
+ <translation>No se puede guardar el fichero de script de mensajería nativo.</translation>
</message>
</context>
<context>
@@ -3453,7 +3499,7 @@ Puede habilitar el servicio de iconos del sitio web DuckDuckGo en la sección se
</message>
<message>
<source>Please wait, processing entry list...</source>
- <translation>Espere, procesando lista de entradas...</translation>
+ <translation>Espere, procesando listado de apuntes...</translation>
</message>
<message>
<source>Downloading...</source>
@@ -3499,7 +3545,7 @@ Puede habilitar el servicio de iconos del sitio web DuckDuckGo en la sección se
</message>
<message>
<source>missing database headers</source>
- <translation>faltan las cabeceras de la base de datos</translation>
+ <translation>faltan las cabeceras de la BB.DD.</translation>
</message>
<message>
<source>Header doesn&apos;t match hash</source>
@@ -3521,7 +3567,7 @@ Puede habilitar el servicio de iconos del sitio web DuckDuckGo en la sección se
<source>Invalid credentials were provided, please try again.
If this reoccurs, then your database file may be corrupt.</source>
<translation>Se han proporcionado credenciales inválidas, inténtelo de nuevo.
-Si ocurre nuevamente entonces su archivo de base de datos puede estar corrupto.</translation>
+Si ocurre nuevamente entonces su fichero de BB.DD. puede estar corrupto.</translation>
</message>
</context>
<context>
@@ -3539,7 +3585,7 @@ Si ocurre nuevamente entonces su archivo de base de datos puede estar corrupto.<
<name>Kdbx4Reader</name>
<message>
<source>missing database headers</source>
- <translation>faltan las cabeceras de la base de datos</translation>
+ <translation>faltan las cabeceras de la BB.DD.</translation>
</message>
<message>
<source>Unable to calculate master key</source>
@@ -3575,11 +3621,11 @@ Si ocurre nuevamente entonces su archivo de base de datos puede estar corrupto.<
</message>
<message>
<source>Unsupported key derivation function (KDF) or invalid parameters</source>
- <translation>Función de derivación de llave no soportada (KDF) o parámetros no válidos</translation>
+ <translation>Función de derivación de llave no mantenida (KDF) o parámetros no válidos</translation>
</message>
<message>
<source>Legacy header fields found in KDBX4 file.</source>
- <translation>Los campos heredados de la cabecera se encuentran en el archivo KDBX4.</translation>
+ <translation>Los campos heredados de la cabecera se encuentran en el fichero KDBX4.</translation>
</message>
<message>
<source>Invalid inner header id size</source>
@@ -3596,57 +3642,57 @@ Si ocurre nuevamente entonces su archivo de base de datos puede estar corrupto.<
<message>
<source>Unsupported KeePass variant map version.</source>
<extracomment>Translation: variant map = data structure for storing meta data</extracomment>
- <translation>Versión de mapa de variante de KeePass no soportada.</translation>
+ <translation>Versión de mapa de variante de KeePass no mantenida.</translation>
</message>
<message>
<source>Invalid variant map entry name length</source>
<extracomment>Translation: variant map = data structure for storing meta data</extracomment>
- <translation>Longitud del nombre de la entrada del mapa de variante inválida</translation>
+ <translation>Longitud del nombre del apunte del mapa de variante inválida</translation>
</message>
<message>
<source>Invalid variant map entry name data</source>
<extracomment>Translation: variant map = data structure for storing meta data</extracomment>
- <translation>Datos del nombre de la entrada de mapa de variante inválida</translation>
+ <translation>Datos del nombre del apunte de mapa de variante inválida</translation>
</message>
<message>
<source>Invalid variant map entry value length</source>
<extracomment>Translation: variant map = data structure for storing meta data</extracomment>
- <translation>Longitud del valor de la entrada del mapa de variante inválida</translation>
+ <translation>Longitud del valor del apunte del mapa de variante inválida</translation>
</message>
<message>
<source>Invalid variant map entry value data</source>
<extracomment>Translation comment: variant map = data structure for storing meta data</extracomment>
- <translation>Datos del valor de la entrada de mapa de variante inválida</translation>
+ <translation>Datos del valor del apunte de mapa de variante inválida</translation>
</message>
<message>
<source>Invalid variant map Bool entry value length</source>
<extracomment>Translation: variant map = data structure for storing meta data</extracomment>
- <translation>Longitud del valor de la entrada del mapa booleano de variante inválida</translation>
+ <translation>Longitud del valor del apunte del mapa booleano de variante inválida</translation>
</message>
<message>
<source>Invalid variant map Int32 entry value length</source>
<extracomment>Translation: variant map = data structure for storing meta data</extracomment>
- <translation>Largo inválido en valor de entrada Int32 de mapeo de variante</translation>
+ <translation>Largo inválido en valor de apunte Int32 de mapeo de variante</translation>
</message>
<message>
<source>Invalid variant map UInt32 entry value length</source>
<extracomment>Translation: variant map = data structure for storing meta data</extracomment>
- <translation>Largo inválido en valor de entrada UInt32 de mapeo de variante</translation>
+ <translation>Largo inválido en valor de apunte UInt32 de mapeo de variante</translation>
</message>
<message>
<source>Invalid variant map Int64 entry value length</source>
<extracomment>Translation: variant map = data structure for storing meta data</extracomment>
- <translation>Largo inválido en valor de entrada Int64 de mapeo de variante</translation>
+ <translation>Largo inválido en valor de apunte Int64 de mapeo de variante</translation>
</message>
<message>
<source>Invalid variant map UInt64 entry value length</source>
<extracomment>Translation: variant map = data structure for storing meta data</extracomment>
- <translation>Largo inválido en valor de entrada UInt64 de mapeo de variante</translation>
+ <translation>Largo inválido en valor de apunte UInt64 de mapeo de variante</translation>
</message>
<message>
<source>Invalid variant map entry type</source>
<extracomment>Translation: variant map = data structure for storing meta data</extracomment>
- <translation>Tipo de entrada inválida de mapeo devariante</translation>
+ <translation>Tipo de apunte inválida de mapeo devariante</translation>
</message>
<message>
<source>Invalid variant map field type size</source>
@@ -3657,7 +3703,7 @@ Si ocurre nuevamente entonces su archivo de base de datos puede estar corrupto.<
<source>Invalid credentials were provided, please try again.
If this reoccurs, then your database file may be corrupt.</source>
<translation>Se han proporcionado credenciales inválidas, inténtelo de nuevo.
-Si ocurre nuevamente entonces su archivo de base de datos puede estar corrupto.</translation>
+Si ocurre nuevamente entonces su fichero de BB.DD. puede estar corrupto.</translation>
</message>
<message>
<source>(HMAC mismatch)</source>
@@ -3725,21 +3771,21 @@ Si ocurre nuevamente entonces su archivo de base de datos puede estar corrupto.<
</message>
<message>
<source>Not a KeePass database.</source>
- <translation>No es una base de datos KeePass.</translation>
+ <translation>No es una BB.DD. KeePass.</translation>
</message>
<message>
<source>The selected file is an old KeePass 1 database (.kdb).
You can import it by clicking on Database &gt; 'Import KeePass 1 database...'.
This is a one-way migration. You won&apos;t be able to open the imported database with the old KeePassX 0.4 version.</source>
- <translation>El archivo seleccionado es una vieja base de datos de KeePass 1 (.kdb).
+ <translation>El fichero seleccionado es una vieja BB.DD. de KeePass 1 (.kdb).
-Puede importarla haciendo clic en Base de datos &gt; &apos;Importar base de datos KeePass 1...&apos;.
-Esta migración es en único sentido. No podrá abrir la base de datos importada con la vieja versión 0.4 de KeePassX.</translation>
+Puede importarla haciendo clic en BB.DD. &gt; &apos;Importar BB.DD. KeePass 1...&apos;.
+Esta migración es en único sentido. No podrá abrir la BB.DD. importada con la vieja versión 0.4 de KeePassX.</translation>
</message>
<message>
<source>Unsupported KeePass 2 database version.</source>
- <translation>Versión de la base de datos de KeePass 2 no soportada.</translation>
+ <translation>Versión de la BB.DD. de KeePass 2 no mantenida.</translation>
</message>
<message>
<source>Invalid cipher uuid length: %1 (length=%2)</source>
@@ -3751,7 +3797,7 @@ Esta migración es en único sentido. No podrá abrir la base de datos importada
</message>
<message>
<source>Failed to read database file.</source>
- <translation>Error al leer el archivo de base de datos.</translation>
+ <translation>Error al leer el fichero de BB.DD.</translation>
</message>
</context>
<context>
@@ -3806,19 +3852,19 @@ Esta migración es en único sentido. No podrá abrir la base de datos importada
</message>
<message>
<source>Null entry uuid</source>
- <translation>Uuid de entrada nulo</translation>
+ <translation>Uuid de apunte nulo</translation>
</message>
<message>
<source>Invalid entry icon number</source>
- <translation>Número de ícono de entrada inválido</translation>
+ <translation>Número de ícono de apunte inválido</translation>
</message>
<message>
<source>History element in history entry</source>
- <translation>Elemento del historial en la entrada del historial</translation>
+ <translation>Elemento del historial en el apunte del historial</translation>
</message>
<message>
<source>No entry uuid found</source>
- <translation>No uuid de entrada encontrado</translation>
+ <translation>No uuid de apunte encontrado</translation>
</message>
<message>
<source>History element with different uuid</source>
@@ -3830,7 +3876,7 @@ Esta migración es en único sentido. No podrá abrir la base de datos importada
</message>
<message>
<source>Entry string key or value missing</source>
- <translation>Falta clave de entrada de texto o valor</translation>
+ <translation>Falta clave de apunte de texto o valor</translation>
</message>
<message>
<source>Duplicate attachment found</source>
@@ -3838,7 +3884,7 @@ Esta migración es en único sentido. No podrá abrir la base de datos importada
</message>
<message>
<source>Entry binary key or value missing</source>
- <translation>Falta clave de entrada binaria o valor</translation>
+ <translation>Falta clave de apunte binaria o valor</translation>
</message>
<message>
<source>Auto-type association window or sequence missing</source>
@@ -3886,22 +3932,22 @@ Línea %2, columna %3</translation>
<name>KeePass1OpenWidget</name>
<message>
<source>Unable to open the database.</source>
- <translation>No se pudo abrir la base de datos.</translation>
+ <translation>No se pudo abrir la BB.DD.</translation>
</message>
<message>
<source>Import KeePass1 Database</source>
- <translation>Importar base de datos KeePass1</translation>
+ <translation>Importar BB.DD. KeePass1</translation>
</message>
</context>
<context>
<name>KeePass1Reader</name>
<message>
<source>Unable to read keyfile.</source>
- <translation>Incapaz de leer el archivo</translation>
+ <translation>Incapaz de leer el fichero</translation>
</message>
<message>
<source>Not a KeePass database.</source>
- <translation>No es una base de datos KeePass.</translation>
+ <translation>No es una BB.DD. KeePass.</translation>
</message>
<message>
<source>Unsupported encryption algorithm.</source>
@@ -3909,7 +3955,7 @@ Línea %2, columna %3</translation>
</message>
<message>
<source>Unsupported KeePass database version.</source>
- <translation>Versión de la base de datos KeePass no soportada.</translation>
+ <translation>Versión de la BB.DD. KeePass no mantenida.</translation>
</message>
<message>
<source>Unable to read encryption IV</source>
@@ -3922,7 +3968,7 @@ Línea %2, columna %3</translation>
</message>
<message>
<source>Invalid number of entries</source>
- <translation>Número de entradas no válido</translation>
+ <translation>Número de apuntes no válido</translation>
</message>
<message>
<source>Invalid content hash size</source>
@@ -4006,39 +4052,39 @@ Línea %2, columna %3</translation>
</message>
<message>
<source>Invalid entry field size</source>
- <translation>Tamaño de la entrada para el campo inválido</translation>
+ <translation>Tamaño del apunte para el campo inválido</translation>
</message>
<message>
<source>Read entry field data doesn&apos;t match size</source>
- <translation>Datos de campo de entrada no coinciden en tamaño</translation>
+ <translation>Datos de campo de apunte no coinciden en tamaño</translation>
</message>
<message>
<source>Invalid entry uuid field size</source>
- <translation>Tamaño de la entrada para el campo uuid inválido</translation>
+ <translation>Tamaño del apunte para el campo uuid inválido</translation>
</message>
<message>
<source>Invalid entry group id field size</source>
- <translation>Tamaño de la entrada para el campo identificador de grupo inválido</translation>
+ <translation>Tamaño del apunte para el campo identificador de grupo inválido</translation>
</message>
<message>
<source>Invalid entry icon field size</source>
- <translation>Tamaño de la entrada para el campo icono inválido</translation>
+ <translation>Tamaño del apunte para el campo icono inválido</translation>
</message>
<message>
<source>Invalid entry creation time field size</source>
- <translation>Tamaño de la entrada para el campo tiempo de creación inválido</translation>
+ <translation>Tamaño del apunte para el campo tiempo de creación inválido</translation>
</message>
<message>
<source>Invalid entry modification time field size</source>
- <translation>Tamaño de la entrada para el campo tiempo de modificación inválido</translation>
+ <translation>Tamaño del apunte para el campo tiempo de modificación inválido</translation>
</message>
<message>
<source>Invalid entry expiry time field size</source>
- <translation>Tamaño de la entrada para el campo tiempo de expiración inválido</translation>
+ <translation>Tamaño del apunte para el campo tiempo de expiración inválido</translation>
</message>
<message>
<source>Invalid entry field type</source>
- <translation>Tipo de la entrada para el campo inválido</translation>
+ <translation>Tipo del apunte para el campo inválido</translation>
</message>
<message>
<source>unable to seek to content position</source>
@@ -4048,7 +4094,7 @@ Línea %2, columna %3</translation>
<source>Invalid credentials were provided, please try again.
If this reoccurs, then your database file may be corrupt.</source>
<translation>Se han proporcionado credenciales inválidas, inténtelo de nuevo.
-Si ocurre nuevamente entonces su archivo de base de datos puede estar corrupto.</translation>
+Si ocurre nuevamente entonces su fichero de BB.DD. puede estar corrupto.</translation>
</message>
</context>
<context>
@@ -4119,7 +4165,7 @@ Si ocurre nuevamente entonces su archivo de base de datos puede estar corrupto.<
<message>
<source>Add %1</source>
<comment>Add a key component</comment>
- <translation>Añadir %1</translation>
+ <translation>Agregar %1</translation>
</message>
<message>
<source>Change %1</source>
@@ -4129,7 +4175,7 @@ Si ocurre nuevamente entonces su archivo de base de datos puede estar corrupto.<
<message>
<source>Remove %1</source>
<comment>Remove a key component</comment>
- <translation>Eliminar %1</translation>
+ <translation>Retirar %1</translation>
</message>
<message>
<source>%1 set, click to change or remove</source>
@@ -4153,7 +4199,7 @@ Si ocurre nuevamente entonces su archivo de base de datos puede estar corrupto.<
</message>
<message>
<source>Legacy key file format</source>
- <translation>Formato de archivo llave heredado</translation>
+ <translation>Formato de fichero llave heredado</translation>
</message>
<message>
<source>You are using a legacy key file format which may become
@@ -4173,15 +4219,15 @@ Mensaje: %2</translation>
</message>
<message>
<source>Key files</source>
- <translation>Archivos llave</translation>
+ <translation>Ficheros llave</translation>
</message>
<message>
<source>All files</source>
- <translation>Todos los archivos</translation>
+ <translation>Todos los ficheros</translation>
</message>
<message>
<source>Create Key File...</source>
- <translation>Crear un archivo llave...</translation>
+ <translation>Crear un fichero llave...</translation>
</message>
<message>
<source>Error creating key file</source>
@@ -4193,19 +4239,19 @@ Mensaje: %2</translation>
</message>
<message>
<source>Select a key file</source>
- <translation>Seleccione un archivo llave</translation>
+ <translation>Seleccione un fichero llave</translation>
</message>
<message>
<source>Key file selection</source>
- <translation>Selección de archivo de llave </translation>
+ <translation>Selección de fichero de llave </translation>
</message>
<message>
<source>Browse for key file</source>
- <translation>Navegar para un fichero de claves</translation>
+ <translation>Explorar para un fichero de claves</translation>
</message>
<message>
<source>Browse...</source>
- <translation>Navegar...</translation>
+ <translation>Explorar...</translation>
</message>
<message>
<source>Generate a new key file</source>
@@ -4213,7 +4259,7 @@ Mensaje: %2</translation>
</message>
<message>
<source>Note: Do not use a file that may change as that will prevent you from unlocking your database!</source>
- <translation>Nota: no use un archivo que pueda cambiar dado que lo impedirá desbloquear la base de datos.</translation>
+ <translation>Nota: no use un fichero que pueda cambiar dado que lo imsolicitará desbloquear la BB.DD.</translation>
</message>
<message>
<source>Invalid Key File</source>
@@ -4221,7 +4267,7 @@ Mensaje: %2</translation>
</message>
<message>
<source>You cannot use the current database as its own keyfile. Please choose a different file or generate a new key file.</source>
- <translation>No puede usar la base de datos actual como su propio fichero de claves. Seleccione un archivo diferente o genere un nuevo fichero de claves.</translation>
+ <translation>No puede usar la BB.DD. actual como su propio fichero de claves. Seleccione un fichero diferente o genere un nuevo fichero de claves.</translation>
</message>
<message>
<source>Suspicious Key File</source>
@@ -4230,8 +4276,8 @@ Mensaje: %2</translation>
<message>
<source>The chosen key file looks like a password database file. A key file must be a static file that never changes or you will lose access to your database forever.
Are you sure you want to continue with this file?</source>
- <translation>El fichero de claves seleccionado parece una base de datos de contraseñas. Un fichero de claves debe ser un archivo estático que nunca cambie o perderá el acceso a su base de datos para siempre.
-¿Desea continuar con este archivo?</translation>
+ <translation>El fichero de claves seleccionado parece una BB.DD. de contraseñas. Un fichero de claves debe ser un fichero estático que nunca cambie o perderá el acceso a su BB.DD. para siempre.
+¿Desea continuar con este fichero?</translation>
</message>
</context>
<context>
@@ -4246,11 +4292,11 @@ Are you sure you want to continue with this file?</source>
</message>
<message>
<source>&amp;Help</source>
- <translation>&amp;Ayuda</translation>
+ <translation>Ay&amp;uda</translation>
</message>
<message>
<source>E&amp;ntries</source>
- <translation>E&amp;ntradas</translation>
+ <translation>Apu&amp;ntes</translation>
</message>
<message>
<source>&amp;Groups</source>
@@ -4266,23 +4312,23 @@ Are you sure you want to continue with this file?</source>
</message>
<message>
<source>&amp;About</source>
- <translation>&amp;Acerca de</translation>
+ <translation>Acerca &amp;de</translation>
</message>
<message>
<source>&amp;Open database...</source>
- <translation>&amp;Abrir base de datos...</translation>
+ <translation>&amp;Abrir BB.DD...</translation>
</message>
<message>
<source>&amp;Save database</source>
- <translation>&amp;Guardar base de datos</translation>
+ <translation>&amp;Guardar BB.DD.</translation>
</message>
<message>
<source>&amp;Close database</source>
- <translation>&amp;Cerrar base de datos</translation>
+ <translation>&amp;Cerrar BB.DD.</translation>
</message>
<message>
<source>&amp;Delete entry</source>
- <translation>&amp;Eliminar entrada</translation>
+ <translation>&amp;Borrar apunte</translation>
</message>
<message>
<source>&amp;Edit group</source>
@@ -4290,19 +4336,19 @@ Are you sure you want to continue with this file?</source>
</message>
<message>
<source>&amp;Delete group</source>
- <translation>&amp;Eliminar grupo</translation>
+ <translation>&amp;Borrar grupo</translation>
</message>
<message>
<source>Sa&amp;ve database as...</source>
- <translation>&amp;Guardar base de datos como...</translation>
+ <translation>&amp;Guardar BB.DD. como...</translation>
</message>
<message>
<source>Database settings</source>
- <translation>Configuración de la base de datos</translation>
+ <translation>Configuración de la BB.DD.</translation>
</message>
<message>
<source>&amp;Clone entry</source>
- <translation>&amp;Clonar entrada</translation>
+ <translation>&amp;Clonar apunte</translation>
</message>
<message>
<source>Copy &amp;username</source>
@@ -4310,7 +4356,7 @@ Are you sure you want to continue with this file?</source>
</message>
<message>
<source>Copy username to clipboard</source>
- <translation>Copiar nombre de usuario al portapapeles</translation>
+ <translation>Copiar usuario al portapapeles</translation>
</message>
<message>
<source>Copy password to clipboard</source>
@@ -4350,7 +4396,7 @@ Are you sure you want to continue with this file?</source>
</message>
<message>
<source>&amp;Export to CSV file...</source>
- <translation>&amp;Exportar a un archivo CSV...</translation>
+ <translation>&amp;Exportar a un fichero CSV...</translation>
</message>
<message>
<source>Set up TOTP...</source>
@@ -4366,11 +4412,11 @@ Are you sure you want to continue with this file?</source>
</message>
<message>
<source>Clear history</source>
- <translation>Limpiar historial</translation>
+ <translation>Vaciar historial</translation>
</message>
<message>
<source>Access error for config file %1</source>
- <translation>Error de acceso al archivo de configuración %1</translation>
+ <translation>Error de acceso al fichero de configuración %1</translation>
</message>
<message>
<source>Settings</source>
@@ -4402,7 +4448,7 @@ Esta versión no es para uso de producción.</translation>
</message>
<message>
<source>Report a &amp;bug</source>
- <translation>Informar de un &amp;error</translation>
+ <translation>Informar de un &amp;defecto</translation>
</message>
<message>
<source>WARNING: Your Qt version may cause KeePassXC to crash with an On-Screen Keyboard!
@@ -4424,35 +4470,35 @@ Le recomendamos que utilice la AppImage disponible en nuestra página de descarg
</message>
<message>
<source>&amp;New database...</source>
- <translation>&amp;Nueva base de datos...</translation>
+ <translation>&amp;Nueva BB.DD...</translation>
</message>
<message>
<source>Create a new database</source>
- <translation>Crear una nueva base de datos</translation>
+ <translation>Crear una nueva BB.DD.</translation>
</message>
<message>
<source>&amp;Merge from database...</source>
- <translation>&amp;Combinar desde la base de datos...</translation>
+ <translation>&amp;Combinar desde la BB.DD...</translation>
</message>
<message>
<source>Merge from another KDBX database</source>
- <translation>Combinar desde otra base de datos KDBX</translation>
+ <translation>Combinar desde otra BB.DD. KDBX</translation>
</message>
<message>
<source>&amp;New entry</source>
- <translation>&amp;Nueva entrada</translation>
+ <translation>&amp;Nueva apunte</translation>
</message>
<message>
<source>Add a new entry</source>
- <translation>Añadir una nueva entrada</translation>
+ <translation>Agregar una nueva apunte</translation>
</message>
<message>
<source>&amp;Edit entry</source>
- <translation>&amp;Editar entrada</translation>
+ <translation>&amp;Editar apunte</translation>
</message>
<message>
<source>View or edit entry</source>
- <translation>Ver o editar entrada</translation>
+ <translation>Ver o editar apunte</translation>
</message>
<message>
<source>&amp;New group</source>
@@ -4460,7 +4506,7 @@ Le recomendamos que utilice la AppImage disponible en nuestra página de descarg
</message>
<message>
<source>Add a new group</source>
- <translation>Añadir un nuevo grupo</translation>
+ <translation>Agregar un nuevo grupo</translation>
</message>
<message>
<source>Change master &amp;key...</source>
@@ -4484,19 +4530,19 @@ Le recomendamos que utilice la AppImage disponible en nuestra página de descarg
</message>
<message>
<source>KeePass 1 database...</source>
- <translation>Base de datos KeePass 1...</translation>
+ <translation>BB.DD. KeePass 1...</translation>
</message>
<message>
<source>Import a KeePass 1 database</source>
- <translation>Importar una base de datos KeePass 1</translation>
+ <translation>Importar una BB.DD. KeePass 1</translation>
</message>
<message>
<source>CSV file...</source>
- <translation>Archivo CSV...</translation>
+ <translation>Fichero CSV...</translation>
</message>
<message>
<source>Import a CSV file</source>
- <translation>Importar un archivo CSV</translation>
+ <translation>Importar un fichero CSV</translation>
</message>
<message>
<source>Show TOTP...</source>
@@ -4510,7 +4556,7 @@ Le recomendamos que utilice la AppImage disponible en nuestra página de descarg
<source>NOTE: You are using a pre-release version of KeePassXC!
Expect some bugs and minor issues, this version is not meant for production use.</source>
<translation>NOTA: ¡Está utilizando una versión preliminar de KeePassXC!
-Espere algunos errores y problemas menores, esta versión no está destinada para uso de producción.</translation>
+Espere algunos defectos y problemas menores, esta versión no está destinada para uso de producción.</translation>
</message>
<message>
<source>Check for updates on startup?</source>
@@ -4554,7 +4600,7 @@ Espere algunos errores y problemas menores, esta versión no está destinada par
</message>
<message>
<source>&amp;Export to HTML file...</source>
- <translation>&amp;Exportar a archivo HTML...</translation>
+ <translation>&amp;Exportar a fichero HTML...</translation>
</message>
<message>
<source>1Password Vault...</source>
@@ -4578,7 +4624,7 @@ Espere algunos errores y problemas menores, esta versión no está destinada par
</message>
<message>
<source>Go to online documentation (opens browser)</source>
- <translation>Ir a la documentación en línea (abre el navegador)</translation>
+ <translation>Ir a la documentación en línea (abre el explorador)</translation>
</message>
<message>
<source>&amp;User Guide</source>
@@ -4609,7 +4655,7 @@ Espere algunos errores y problemas menores, esta versión no está destinada par
</message>
<message>
<source>older entry merged from database &quot;%1&quot;</source>
- <translation>la entrada más antigua se fusionó a la base de datos &quot;%1&quot;</translation>
+ <translation>el apunte más antigua se fusionó a la BB.DD. &quot;%1&quot;</translation>
</message>
<message>
<source>Adding backup for older target %1 [%2]</source>
@@ -4617,35 +4663,35 @@ Espere algunos errores y problemas menores, esta versión no está destinada par
</message>
<message>
<source>Adding backup for older source %1 [%2]</source>
- <translation>Agregando copia de seguridad para la fuente anterior %1 [%2]</translation>
+ <translation>Agregando copia de seguridad para la tipografía anterior %1 [%2]</translation>
</message>
<message>
<source>Reapplying older target entry on top of newer source %1 [%2]</source>
- <translation>Volver a aplicar una entrada de destino más antigua sobre la fuente más nueva %1 [%2]</translation>
+ <translation>Volver a aplicar un apunte de destino más antigua sobre la tipografía más nueva %1 [%2]</translation>
</message>
<message>
<source>Reapplying older source entry on top of newer target %1 [%2]</source>
- <translation>Volver a aplicar una entrada de origen anterior sobre el objetivo más nuevo %1 [%2]</translation>
+ <translation>Volver a aplicar un apunte de origen anterior sobre el objetivo más nuevo %1 [%2]</translation>
</message>
<message>
<source>Synchronizing from newer source %1 [%2]</source>
- <translation>Sincronización desde una fuente más nueva %1 [%2]</translation>
+ <translation>Sincronización desde una tipografía más nueva %1 [%2]</translation>
</message>
<message>
<source>Synchronizing from older source %1 [%2]</source>
- <translation>Sincronización desde una fuente anterior %1 [%2]</translation>
+ <translation>Sincronización desde una tipografía anterior %1 [%2]</translation>
</message>
<message>
<source>Deleting child %1 [%2]</source>
- <translation>Eliminando hijo %1[%2]</translation>
+ <translation>Borrando descendiente %1[%2]</translation>
</message>
<message>
<source>Deleting orphan %1 [%2]</source>
- <translation>Eliminando huérfano %1 [%2]</translation>
+ <translation>Borrando huérfano %1 [%2]</translation>
</message>
<message>
<source>Changed deleted objects</source>
- <translation>cambiado objetos eliminados</translation>
+ <translation>Cambiados objetos borrados</translation>
</message>
<message>
<source>Adding missing icon %1</source>
@@ -4657,14 +4703,14 @@ Espere algunos errores y problemas menores, esta versión no está destinada par
</message>
<message>
<source>Adding custom data %1 [%2]</source>
- <translation>Añadiendo datos personalizados %1 [%2]</translation>
+ <translation>Agregando datos personalizados %1 [%2]</translation>
</message>
</context>
<context>
<name>NewDatabaseWizard</name>
<message>
<source>Create a new KeePassXC database...</source>
- <translation>Crear una nueva base de datos KeePassXC ...</translation>
+ <translation>Crear una nueva BB.DD. KeePassXC ...</translation>
</message>
<message>
<source>Root</source>
@@ -4684,7 +4730,7 @@ Espere algunos errores y problemas menores, esta versión no está destinada par
</message>
<message>
<source>Here you can adjust the database encryption settings. Don&apos;t worry, you can change them later in the database settings.</source>
- <translation>Aquí puede ajustar la configuración de cifrado de la base de datos. No se preocupe, puede cambiarlo más adelante en la configuración de la base de datos.</translation>
+ <translation>Aquí puede ajustar la configuración de cifrado de la BB.DD. No se preocupe, puede cambiarlo más adelante en la configuración de la BB.DD.</translation>
</message>
<message>
<source>Advanced Settings</source>
@@ -4699,33 +4745,33 @@ Espere algunos errores y problemas menores, esta versión no está destinada par
<name>NewDatabaseWizardPageEncryption</name>
<message>
<source>Encryption Settings</source>
- <translation>Configuraciones de cifrado</translation>
+ <translation>Configuraciones de Cifrado</translation>
</message>
<message>
<source>Here you can adjust the database encryption settings. Don&apos;t worry, you can change them later in the database settings.</source>
- <translation>Aquí puede ajustar la configuración de cifrado de la base de datos. No se preocupe, puede cambiarla más adelante en la configuración de la base de datos.</translation>
+ <translation>Aquí puede ajustar la configuración de cifrado de la BB.DD. No se preocupe, puede cambiarla más adelante en la configuración de la BB.DD.</translation>
</message>
</context>
<context>
<name>NewDatabaseWizardPageMasterKey</name>
<message>
<source>Database Master Key</source>
- <translation>Clave maestra de la base de datos</translation>
+ <translation>Clave maestra de la BB.DD.</translation>
</message>
<message>
<source>A master key known only to you protects your database.</source>
- <translation>Una clave maestra, conocida únicamente por usted, protege su base de datos.</translation>
+ <translation>Una clave maestra, conocida únicamente por usted, protege su BB.DD.</translation>
</message>
</context>
<context>
<name>NewDatabaseWizardPageMetaData</name>
<message>
<source>General Database Information</source>
- <translation>Información general de la base de datos</translation>
+ <translation>Información general de la BB.DD.</translation>
</message>
<message>
<source>Please fill in the display name and an optional description for your new database:</source>
- <translation>Rellene el nombre y añada una descripción opcional para su nueva base de datos:</translation>
+ <translation>Rellene el nombre y añada una descripción opcional para su nueva BB.DD.:</translation>
</message>
</context>
<context>
@@ -4764,7 +4810,7 @@ Espere algunos errores y problemas menores, esta versión no está destinada par
<message>
<source>Read Database did not produce an instance
%1</source>
- <translation>Leer la base de datos no produce una instancia
+ <translation>Leer la BB.DD. no produce una instancia
%1</translation>
</message>
</context>
@@ -4799,7 +4845,7 @@ Espere algunos errores y problemas menores, esta versión no está destinada par
<name>OpenSSHKey</name>
<message>
<source>Invalid key file, expecting an OpenSSH key</source>
- <translation>Archivo llave no válido, esperando una llave de OpenSSH</translation>
+ <translation>Fichero llave no válido, esperando una llave de OpenSSH</translation>
</message>
<message>
<source>PEM boundary mismatch</source>
@@ -4811,11 +4857,11 @@ Espere algunos errores y problemas menores, esta versión no está destinada par
</message>
<message>
<source>Key file way too small.</source>
- <translation>Archivo llave demasiado pequeño.</translation>
+ <translation>Fichero llave demasiado pequeño.</translation>
</message>
<message>
<source>Key file magic header id invalid</source>
- <translation>Id de encabezado mágico del archivo llave inválido</translation>
+ <translation>Id de encabezado mágico del fichero llave inválido</translation>
</message>
<message>
<source>Found zero keys</source>
@@ -4843,7 +4889,7 @@ Espere algunos errores y problemas menores, esta versión no está destinada par
</message>
<message>
<source>Key derivation failed, key file corrupted?</source>
- <translation>La derivación de la clave falló, ¿archivo de claves dañado?</translation>
+ <translation>La derivación de la clave falló, ¿fichero de claves dañado?</translation>
</message>
<message>
<source>Decryption failed, wrong passphrase?</source>
@@ -4851,11 +4897,11 @@ Espere algunos errores y problemas menores, esta versión no está destinada par
</message>
<message>
<source>Unexpected EOF while reading public key</source>
- <translation>EOF inesperado al leer la clave pública</translation>
+ <translation>FDF inesperado al leer la clave pública</translation>
</message>
<message>
<source>Unexpected EOF while reading private key</source>
- <translation>EOF inesperado al leer la clave privada</translation>
+ <translation>FDF inesperado al leer la clave privada</translation>
</message>
<message>
<source>Can&apos;t write public key as it is empty</source>
@@ -4863,7 +4909,7 @@ Espere algunos errores y problemas menores, esta versión no está destinada par
</message>
<message>
<source>Unexpected EOF when writing public key</source>
- <translation>EOF inesperado al escribir la clave pública</translation>
+ <translation>FDF inesperado al escribir la clave pública</translation>
</message>
<message>
<source>Can&apos;t write private key as it is empty</source>
@@ -4871,11 +4917,11 @@ Espere algunos errores y problemas menores, esta versión no está destinada par
</message>
<message>
<source>Unexpected EOF when writing private key</source>
- <translation>EOF inesperado al escribir la clave privada</translation>
+ <translation>FDF inesperado al escribir la clave privada</translation>
</message>
<message>
<source>Unsupported key type: %1</source>
- <translation>Tipo de clave no soportada: %1</translation>
+ <translation>Tipo de clave no mantenida: %1</translation>
</message>
<message>
<source>Unknown cipher: %1</source>
@@ -4921,7 +4967,7 @@ Espere algunos errores y problemas menores, esta versión no está destinada par
</message>
<message>
<source>&lt;p&gt;A password is the primary method for securing your database.&lt;/p&gt;&lt;p&gt;Good passwords are long and unique. KeePassXC can generate one for you.&lt;/p&gt;</source>
- <translation>&lt;p&gt;La contraseña es el método principal para asegurar su base de datos.&lt;p&gt;&lt;p&gt;Las contraseñas buenas son largas y únicas. KeePassXC puede generar una para usted.&lt;p&gt;</translation>
+ <translation>&lt;p&gt;La contraseña es el método principal para asegurar su BB.DD.&lt;/p&gt;&lt;p&gt;Las contraseñas buenas son largas y únicas. KeePassXC puede generar una para usted.&lt;/p&gt;</translation>
</message>
<message>
<source>Passwords do not match.</source>
@@ -4997,11 +5043,11 @@ Espere algunos errores y problemas menores, esta versión no está destinada par
</message>
<message>
<source>Passphrase</source>
- <translation>Contraseña</translation>
+ <translation>Frase Contraseña</translation>
</message>
<message>
<source>Wordlist:</source>
- <translation>Lista de palabras:</translation>
+ <translation>Listado de palabras:</translation>
</message>
<message>
<source>Word Separator:</source>
@@ -5129,7 +5175,7 @@ Espere algunos errores y problemas menores, esta versión no está destinada par
</message>
<message>
<source>Add non-hex letters to &quot;do not include&quot; list</source>
- <translation>Agregar letras no-hexadecimales a la lista de «no incluir»</translation>
+ <translation>Agregar letras no-hexadecimales al listado de «no incluir»</translation>
</message>
<message>
<source>Hex</source>
@@ -5235,7 +5281,7 @@ Espere algunos errores y problemas menores, esta versión no está destinada par
</message>
<message>
<source>Delete</source>
- <translation>Eliminar</translation>
+ <translation>Borrar</translation>
</message>
<message>
<source>Move</source>
@@ -5247,11 +5293,11 @@ Espere algunos errores y problemas menores, esta versión no está destinada par
</message>
<message>
<source>Remove</source>
- <translation>Eliminar</translation>
+ <translation>Retirar</translation>
</message>
<message>
<source>Skip</source>
- <translation>Omitir</translation>
+ <translation>Descartar</translation>
</message>
<message>
<source>Disable</source>
@@ -5270,11 +5316,11 @@ Espere algunos errores y problemas menores, esta versión no está destinada par
<name>QObject</name>
<message>
<source>Database not opened</source>
- <translation>Base de datos no abierta</translation>
+ <translation>BB.DD. no abierta</translation>
</message>
<message>
<source>Database hash not available</source>
- <translation>Hash de la base de datos no disponible</translation>
+ <translation>Hash de la BB.DD. no disponible</translation>
</message>
<message>
<source>Client public key not received</source>
@@ -5318,15 +5364,15 @@ Espere algunos errores y problemas menores, esta versión no está destinada par
</message>
<message>
<source>Add a new entry to a database.</source>
- <translation>Añadir una nueva entrada a una base de datos.</translation>
+ <translation>Agregar una nueva apunte a una BB.DD.</translation>
</message>
<message>
<source>Path of the database.</source>
- <translation>Ruta a la base de datos.</translation>
+ <translation>Ruta a la BB.DD.</translation>
</message>
<message>
<source>Key file of the database.</source>
- <translation>Archivo de llave de la base de datos</translation>
+ <translation>Fichero de llave de la BB.DD.</translation>
</message>
<message>
<source>path</source>
@@ -5334,15 +5380,15 @@ Espere algunos errores y problemas menores, esta versión no está destinada par
</message>
<message>
<source>Username for the entry.</source>
- <translation>Nombre de usuario para la entrada.</translation>
+ <translation>ID Usuario para el apunte.</translation>
</message>
<message>
<source>username</source>
- <translation>nombre de usuario</translation>
+ <translation>usuario</translation>
</message>
<message>
<source>URL for the entry.</source>
- <translation>URL de la entrada.</translation>
+ <translation>URL del apunte.</translation>
</message>
<message>
<source>URL</source>
@@ -5350,28 +5396,28 @@ Espere algunos errores y problemas menores, esta versión no está destinada par
</message>
<message>
<source>Prompt for the entry&apos;s password.</source>
- <translation>Solicitar contraseña de la entrada.</translation>
+ <translation>Solicitar contraseña del apunte.</translation>
</message>
<message>
<source>Generate a password for the entry.</source>
- <translation>Generar una contraseña para la entrada.</translation>
+ <translation>Generar una contraseña para el apunte.</translation>
</message>
<message>
<source>length</source>
- <translation>Tamaño</translation>
+ <translation>tamaño</translation>
</message>
<message>
<source>Path of the entry to add.</source>
- <translation>Camino de la entrada para añadir.</translation>
+ <translation>Ruta del apunte para agregar.</translation>
</message>
<message>
<source>Copy an entry&apos;s password to the clipboard.</source>
- <translation>Copiar la contraseña de una entrada en el portapapeles.</translation>
+ <translation>Copiar la contraseña de un apunte en el portapapeles.</translation>
</message>
<message>
<source>Path of the entry to clip.</source>
<comment>clip = copy to clipboard</comment>
- <translation>Camino de la entrada para copiar.</translation>
+ <translation>Ruta del apunte para copiar.</translation>
</message>
<message>
<source>Timeout in seconds before clearing the clipboard.</source>
@@ -5379,11 +5425,11 @@ Espere algunos errores y problemas menores, esta versión no está destinada par
</message>
<message>
<source>Edit an entry.</source>
- <translation>Editar una entrada</translation>
+ <translation>Editar un apunte</translation>
</message>
<message>
<source>Title for the entry.</source>
- <translation>Título para la entrada</translation>
+ <translation>Título para el apunte</translation>
</message>
<message>
<source>title</source>
@@ -5391,7 +5437,7 @@ Espere algunos errores y problemas menores, esta versión no está destinada par
</message>
<message>
<source>Path of the entry to edit.</source>
- <translation>Camino de la entrada para editar.</translation>
+ <translation>Ruta del apunte para editar.</translation>
</message>
<message>
<source>Estimate the entropy of a password.</source>
@@ -5427,11 +5473,11 @@ Comandos disponibles:
</message>
<message>
<source>Name of the command to execute.</source>
- <translation>Nombre del comando a ejecutar.</translation>
+ <translation>Nombre del mandato a ejecutar.</translation>
</message>
<message>
<source>List database entries.</source>
- <translation>Listar las entradas de la base de datos.</translation>
+ <translation>Alistar las apuntes de la BB.DD.</translation>
</message>
<message>
<source>Path of the group to list. Default is /</source>
@@ -5439,7 +5485,7 @@ Comandos disponibles:
</message>
<message>
<source>Find entries quickly.</source>
- <translation>Encontrar las entradas rápidamente.</translation>
+ <translation>Encontrar las apuntes rápidamente.</translation>
</message>
<message>
<source>Search term.</source>
@@ -5451,19 +5497,19 @@ Comandos disponibles:
</message>
<message>
<source>Path of the database to merge from.</source>
- <translation>Ruta de la base de datos de inicio de la combinación.</translation>
+ <translation>Ruta de la BB.DD. de inicio de la combinación.</translation>
</message>
<message>
<source>Use the same credentials for both database files.</source>
- <translation>Utilizar las mismas credenciales para ambos archivos de base de datos.</translation>
+ <translation>Utilizar las mismas credenciales para ambos ficheros de BB.DD.</translation>
</message>
<message>
<source>Key file of the database to merge from.</source>
- <translation>Archivo llave de la base de datos desde la cual desea combinar.</translation>
+ <translation>Fichero llave de la BB.DD. desde la cual desea combinar.</translation>
</message>
<message>
<source>Show an entry&apos;s information.</source>
- <translation>Muestra información de una entrada.</translation>
+ <translation>Muestra información de un apunte.</translation>
</message>
<message>
<source>Names of the attributes to show. This option can be specified more than once, with each attribute shown one-per-line in the given order. If no attributes are specified, a summary of the default attributes is given.</source>
@@ -5475,11 +5521,11 @@ Comandos disponibles:
</message>
<message>
<source>Name of the entry to show.</source>
- <translation>Nombre de la entrada para mostrar.</translation>
+ <translation>Nombre del apunte para mostrar.</translation>
</message>
<message>
<source>NULL device</source>
- <translation>Dispositivo NULL</translation>
+ <translation>Dispositivo NULO</translation>
</message>
<message>
<source>error reading from device</source>
@@ -5503,7 +5549,7 @@ Comandos disponibles:
</message>
<message>
<source>Username</source>
- <translation>Nombre de usuario</translation>
+ <translation>ID Usuario</translation>
</message>
<message>
<source>Password</source>
@@ -5523,7 +5569,7 @@ Comandos disponibles:
</message>
<message>
<source>Browser Integration</source>
- <translation>Integración con navegadores</translation>
+ <translation>Integración con exploradores</translation>
</message>
<message>
<source>Press</source>
@@ -5557,19 +5603,19 @@ Comandos disponibles:
</message>
<message>
<source>Could not create entry with path %1.</source>
- <translation>No pudo crearse la entrada con ruta %1.</translation>
+ <translation>No pudo crearse el apunte con ruta %1.</translation>
</message>
<message>
<source>Enter password for new entry: </source>
- <translation>Introduzca la contraseña para la nueva entrada:</translation>
+ <translation>Introduzca la contraseña para la nueva apunte:</translation>
</message>
<message>
<source>Writing the database failed %1.</source>
- <translation>Falló escritura de la base de datos %1.</translation>
+ <translation>Falló escritura de la BB.DD. %1.</translation>
</message>
<message>
<source>Successfully added entry %1.</source>
- <translation>La entrada se agregó correctamente %1.</translation>
+ <translation>El apunte se agregó correctamente %1.</translation>
</message>
<message>
<source>Copy the current TOTP to the clipboard.</source>
@@ -5581,23 +5627,23 @@ Comandos disponibles:
</message>
<message>
<source>Entry %1 not found.</source>
- <translation>No se encontró la entrada %1.</translation>
+ <translation>No se encontró el apunte %1.</translation>
</message>
<message>
<source>Entry with path %1 has no TOTP set up.</source>
- <translation>La entrada con ruta %1 no tiene un TOTP configurado.</translation>
+ <translation>El apunte con ruta %1 no tiene un TOTP configurado.</translation>
</message>
<message>
<source>Entry&apos;s current TOTP copied to the clipboard!</source>
- <translation>¡El TOTP de la entrada actual se ha copiado al portapapeles!</translation>
+ <translation>¡El TOTP del apunte actual se ha copiado al portapapeles!</translation>
</message>
<message>
<source>Entry&apos;s password copied to the clipboard!</source>
- <translation>¡La contraseña de la entrada actual se ha copiado al portapapeles!</translation>
+ <translation>¡La contraseña del apunte actual se ha copiado al portapapeles!</translation>
</message>
<message numerus="yes">
<source>Clearing the clipboard in %1 second(s)...</source>
- <translation><numerusform>Limpiar el portapapeles en %1 segundo...</numerusform><numerusform>Limpiar el portapapeles en %1 segundos...</numerusform></translation>
+ <translation><numerusform>Vaciar el portapapeles en %1 segundo...</numerusform><numerusform>Vaciar el portapapeles en %1 segundos...</numerusform></translation>
</message>
<message>
<source>Clipboard cleared!</source>
@@ -5614,19 +5660,19 @@ Comandos disponibles:
</message>
<message>
<source>Could not find entry with path %1.</source>
- <translation>No se pudo encontrar la entrada con la ruta %1.</translation>
+ <translation>No se pudo encontrar el apunte con la ruta %1.</translation>
</message>
<message>
<source>Not changing any field for entry %1.</source>
- <translation>No cambiar cualquier campo de entrada de 1%.</translation>
+ <translation>No cambiar cualquier campo de apunte de 1%.</translation>
</message>
<message>
<source>Enter new password for entry: </source>
- <translation>Introduzca una nueva contraseña para la entrada:</translation>
+ <translation>Introduzca una nueva contraseña para el apunte:</translation>
</message>
<message>
<source>Writing the database failed: %1</source>
- <translation>Fallo al escribir la base de datos: %1</translation>
+ <translation>Fallo al escribir la BB.DD.: %1</translation>
</message>
<message>
<source>Successfully edited entry %1.</source>
@@ -5742,19 +5788,19 @@ Comandos disponibles:
</message>
<message>
<source>Use lowercase characters</source>
- <translation>Usar caracteres en minúscula</translation>
+ <translation>Utilizar caracteres en minúscula</translation>
</message>
<message>
<source>Use uppercase characters</source>
- <translation>Usar caracteres en mayúscula</translation>
+ <translation>Utilizar caracteres en mayúscula</translation>
</message>
<message>
<source>Use special characters</source>
- <translation>Usar caracteres especiales</translation>
+ <translation>Utilizar caracteres especiales</translation>
</message>
<message>
<source>Use extended ASCII</source>
- <translation>Usar ASCII extendido</translation>
+ <translation>Utilizar ASCII extendido</translation>
</message>
<message>
<source>Exclude character set</source>
@@ -5774,7 +5820,7 @@ Comandos disponibles:
</message>
<message>
<source>Recursively list the elements of the group.</source>
- <translation>Listar recursivamente los elementos del grupo.</translation>
+ <translation>Alistar recursivamente los elementos del grupo.</translation>
</message>
<message>
<source>Cannot find group %1.</source>
@@ -5783,28 +5829,28 @@ Comandos disponibles:
<message>
<source>Error reading merge file:
%1</source>
- <translation>Error al leer el archivo a combinar:
+ <translation>Error al leer el fichero a combinar:
%1</translation>
</message>
<message>
<source>Unable to save database to file : %1</source>
- <translation>No se puede guardar la base de datos en el archivo: %1</translation>
+ <translation>No se puede guardar la BB.DD. en el fichero: %1</translation>
</message>
<message>
<source>Unable to save database to file: %1</source>
- <translation>No se puede guardar la base de datos en el archivo: %1</translation>
+ <translation>No se puede guardar la BB.DD. en el fichero: %1</translation>
</message>
<message>
<source>Successfully recycled entry %1.</source>
- <translation>Entrada %1 reciclada exitosamente.</translation>
+ <translation>Entrada %1 reciclada correctamente.</translation>
</message>
<message>
<source>Successfully deleted entry %1.</source>
- <translation>Se eliminó correctamente la entrada %1.</translation>
+ <translation>Se eliminó correctamente el apunte %1.</translation>
</message>
<message>
<source>Show the entry&apos;s current TOTP.</source>
- <translation>Muestra la entrada actual del TOTP.</translation>
+ <translation>Muestra el apunte actual del TOTP.</translation>
</message>
<message>
<source>ERROR: unknown attribute %1.</source>
@@ -5820,7 +5866,7 @@ Comandos disponibles:
</message>
<message>
<source>file empty</source>
- <translation>archivo vacío</translation>
+ <translation>fichero vacío</translation>
</message>
<message>
<source>%1: (row, col) %2,%3</source>
@@ -5870,11 +5916,11 @@ Comandos disponibles:
</message>
<message>
<source>Create a new database.</source>
- <translation>Crear una nueva base de datos.</translation>
+ <translation>Crear una nueva BB.DD.</translation>
</message>
<message>
<source>File %1 already exists.</source>
- <translation>El archivo %1 ya existe.</translation>
+ <translation>El fichero %1 ya existe.</translation>
</message>
<message>
<source>Loading the key file failed</source>
@@ -5882,35 +5928,35 @@ Comandos disponibles:
</message>
<message>
<source>No key is set. Aborting database creation.</source>
- <translation>No se establece ninguna clave. Anulando la creación de base de datos.</translation>
+ <translation>No se establece ninguna clave. Anulando la creación de BB.DD.</translation>
</message>
<message>
<source>Failed to save the database: %1.</source>
- <translation>Error al guardar la base de datos: %1.</translation>
+ <translation>Error al guardar la BB.DD.: %1.</translation>
</message>
<message>
<source>Successfully created new database.</source>
- <translation>Creación exitosa de nueva base de datos.</translation>
+ <translation>Creación correcta de nueva BB.DD.</translation>
</message>
<message>
<source>Creating KeyFile %1 failed: %2</source>
- <translation>Error al crear el archivo de clave %1: %2</translation>
+ <translation>Error al crear el fichero de clave %1: %2</translation>
</message>
<message>
<source>Loading KeyFile %1 failed: %2</source>
- <translation>Error al cargar el archivo de claves %1: %2</translation>
+ <translation>Error al cargar el fichero de claves %1: %2</translation>
</message>
<message>
<source>Path of the entry to remove.</source>
- <translation>Camino de la entrada a quitar.</translation>
+ <translation>Ruta del apunte a quitar.</translation>
</message>
<message>
<source>Existing single-instance lock file is invalid. Launching new instance.</source>
- <translation>El archivo de bloqueo de instancia única existente no es válido. Lanzando nueva instancia.</translation>
+ <translation>El fichero de bloqueo de instancia única existente no es válido. Lanzando nueva instancia.</translation>
</message>
<message>
<source>The lock file could not be created. Single-instance mode disabled.</source>
- <translation>El archivo de bloqueo no pudo ser creado. Modo de instancia única deshabilitado.</translation>
+ <translation>El fichero de bloqueo no pudo ser creado. Modo de instancia única deshabilitado.</translation>
</message>
<message>
<source>KeePassXC - cross-platform password manager</source>
@@ -5918,19 +5964,19 @@ Comandos disponibles:
</message>
<message>
<source>filenames of the password databases to open (*.kdbx)</source>
- <translation>nombre de archivo de la base de datos de contraseñas a abrir (*.kdbx)</translation>
+ <translation>nombre de fichero de la BB.DD. de contraseñas a abrir (*.kdbx)</translation>
</message>
<message>
<source>path to a custom config file</source>
- <translation>ruta a un archivo de configuración personalizado</translation>
+ <translation>ruta a un fichero de configuración personalizado</translation>
</message>
<message>
<source>key file of the database</source>
- <translation>archivo llave de la base de datos</translation>
+ <translation>fichero llave de la BB.DD.</translation>
</message>
<message>
<source>read password of the database from stdin</source>
- <translation>leer contraseña de la base de datos desde la entrada estándar</translation>
+ <translation>leer contraseña de la BB.DD. desdel apunte estándar</translation>
</message>
<message>
<source>Parent window handle</source>
@@ -5950,7 +5996,7 @@ Comandos disponibles:
</message>
<message>
<source>Database password: </source>
- <translation>Contraseña de la base de datos:</translation>
+ <translation>Contraseña de la BB.DD.:</translation>
</message>
<message>
<source>Cannot create new group</source>
@@ -5958,15 +6004,15 @@ Comandos disponibles:
</message>
<message>
<source>Deactivate password key for the database.</source>
- <translation>Desactivar contraseña para la base de datos.</translation>
+ <translation>Desactivar contraseña para la BB.DD.</translation>
</message>
<message>
<source>Displays debugging information.</source>
- <translation>Muestra información de depurado.</translation>
+ <translation>Representa información de depurado.</translation>
</message>
<message>
<source>Deactivate password key for the database to merge from.</source>
- <translation>Desactivar contraseña para la base de datos desde la que combinar.</translation>
+ <translation>Desactivar contraseña para la BB.DD. desde la que combinar.</translation>
</message>
<message>
<source>Version %1</source>
@@ -6042,11 +6088,11 @@ Núcleo: %3 %4</translation>
</message>
<message>
<source>Adds a new group to a database.</source>
- <translation>Añade un nuevo grupo a la base de datos.</translation>
+ <translation>Añade un nuevo grupo a la BB.DD.</translation>
</message>
<message>
<source>Path of the group to add.</source>
- <translation>Ruta del grupo a añadir.</translation>
+ <translation>Ruta del grupo a agregar.</translation>
</message>
<message>
<source>Group %1 already exists!</source>
@@ -6062,7 +6108,7 @@ Núcleo: %3 %4</translation>
</message>
<message>
<source>Check if any passwords have been publicly leaked. FILENAME must be the path of a file listing SHA-1 hashes of leaked passwords in HIBP format, as available from https://haveibeenpwned.com/Passwords.</source>
- <translation>Comprueba si algunas contraseñas han sido filtradas públicamente. FILENAME debe ser la ruta de un archivo conteniendo «hashes» SHA-1 de las contraseñas filtradas en formato HIBP, como está disponible en https://haveibeenpwned.com/Passwords.</translation>
+ <translation>Comprueba si algunas contraseñas han sido filtradas públicamente. FILENAME debe ser la ruta de un fichero conteniendo «hashes» SHA-1 de las contraseñas filtradas en formato HIBP, como está disponible en https://haveibeenpwned.com/Passwords.</translation>
</message>
<message>
<source>FILENAME</source>
@@ -6074,23 +6120,23 @@ Núcleo: %3 %4</translation>
</message>
<message>
<source>Failed to open HIBP file %1: %2</source>
- <translation>Fallo al abrir archivo HIBP %1: %2</translation>
+ <translation>Fallo al abrir fichero HIBP %1: %2</translation>
</message>
<message>
<source>Evaluating database entries against HIBP file, this will take a while...</source>
- <translation>Evaluando las entradas de la base de datos contra el archivo HIBP, esto tomará un rato...</translation>
+ <translation>Evaluando las apuntes de la BB.DD. contra el fichero HIBP, esto tomará un rato...</translation>
</message>
<message>
<source>Close the currently opened database.</source>
- <translation>Cerrar la base de datos abierta actual.</translation>
+ <translation>Cerrar la BB.DD. abierta actual.</translation>
</message>
<message>
<source>Display this help.</source>
- <translation>Mostrar esta ayuda.</translation>
+ <translation>Representar esta ayuda.</translation>
</message>
<message>
<source>Yubikey slot used to encrypt the database.</source>
- <translation>La ranura de YubiKey usada para cifrar la base de datos.</translation>
+ <translation>La ranura de YubiKey usada para cifrar la BB.DD.</translation>
</message>
<message>
<source>slot</source>
@@ -6102,7 +6148,7 @@ Núcleo: %3 %4</translation>
</message>
<message>
<source>The word list is too small (&lt; 1000 items)</source>
- <translation>La lista de palabras es demasiada pequeña (&lt; 1000 elementos)</translation>
+ <translation>El listado de palabras es demasiada pequeña (&lt; 1000 elementos)</translation>
</message>
<message>
<source>Exit interactive mode.</source>
@@ -6114,11 +6160,11 @@ Núcleo: %3 %4</translation>
</message>
<message>
<source>Exports the content of a database to standard output in the specified format.</source>
- <translation>Exporta el contenido de la base de datos en la salida estándar en el formato especificado.</translation>
+ <translation>Exporta el contenido de la BB.DD. en la salida estándar en el formato especificado.</translation>
</message>
<message>
<source>Unable to export database to XML: %1</source>
- <translation>No se puede exportar base de datos a XML: %1</translation>
+ <translation>No se puede exportar BB.DD. a XML: %1</translation>
</message>
<message>
<source>Unsupported format %1</source>
@@ -6126,7 +6172,7 @@ Núcleo: %3 %4</translation>
</message>
<message>
<source>Use numbers</source>
- <translation>Usar números</translation>
+ <translation>Utilizar números</translation>
</message>
<message>
<source>Invalid password length %1</source>
@@ -6134,7 +6180,7 @@ Núcleo: %3 %4</translation>
</message>
<message>
<source>Display command help.</source>
- <translation>Mostrar ayuda de comando.</translation>
+ <translation>Representar mandato de ayuda.</translation>
</message>
<message>
<source>Available commands:</source>
@@ -6142,27 +6188,27 @@ Núcleo: %3 %4</translation>
</message>
<message>
<source>Import the contents of an XML database.</source>
- <translation>Importar los contenidos de la base de datos XML.</translation>
+ <translation>Importar los contenidos de la BB.DD. XML.</translation>
</message>
<message>
<source>Path of the XML database export.</source>
- <translation>Ruta de la exportación de la base de datos XML.</translation>
+ <translation>Ruta de la exportación de la BB.DD. XML.</translation>
</message>
<message>
<source>Path of the new database.</source>
- <translation>Ruta de la nueva base de datos.</translation>
+ <translation>Ruta de la nueva BB.DD.</translation>
</message>
<message>
<source>Unable to import XML database export %1</source>
- <translation>No se puede importar la base de datos XML de la exportación %1</translation>
+ <translation>No se puede importar la BB.DD. XML de la exportación %1</translation>
</message>
<message>
<source>Successfully imported database.</source>
- <translation>Base de datos importada correctamente.</translation>
+ <translation>BB.DD. importada correctamente.</translation>
</message>
<message>
<source>Unknown command %1</source>
- <translation>Comando %1 desconocido</translation>
+ <translation>Mandato %1 desconocido</translation>
</message>
<message>
<source>Flattens the output to single lines.</source>
@@ -6170,11 +6216,11 @@ Núcleo: %3 %4</translation>
</message>
<message>
<source>Only print the changes detected by the merge operation.</source>
- <translation>Imprimir solo cambios detectados por la operación de combinado.</translation>
+ <translation>Imprimir solo cambios detectados por la operación de unión.</translation>
</message>
<message>
<source>Yubikey slot for the second database.</source>
- <translation>Ranura YubiKey para la segunda base de datos.</translation>
+ <translation>Ranura YubiKey para la segunda BB.DD.</translation>
</message>
<message>
<source>Successfully merged %1 into %2.</source>
@@ -6182,15 +6228,15 @@ Núcleo: %3 %4</translation>
</message>
<message>
<source>Database was not modified by merge operation.</source>
- <translation>La base de datos no fue modificada por la operación de combinar</translation>
+ <translation>La BB.DD. no fue modificada por la operación de unión</translation>
</message>
<message>
<source>Moves an entry to a new group.</source>
- <translation>Mueve una entrada a un nuevo grupo.</translation>
+ <translation>Mueve un apunte a un nuevo grupo.</translation>
</message>
<message>
<source>Path of the entry to move.</source>
- <translation>Ruta de la entrada a mover.</translation>
+ <translation>Ruta del apunte a mover.</translation>
</message>
<message>
<source>Path of the destination group.</source>
@@ -6202,7 +6248,7 @@ Núcleo: %3 %4</translation>
</message>
<message>
<source>Entry is already in group %1.</source>
- <translation>La entrada ya está en el grupo %1.</translation>
+ <translation>El apunte ya está en el grupo %1.</translation>
</message>
<message>
<source>Successfully moved entry %1 to group %2.</source>
@@ -6210,7 +6256,7 @@ Núcleo: %3 %4</translation>
</message>
<message>
<source>Open a database.</source>
- <translation>Abrir base de datos.</translation>
+ <translation>Abrir BB.DD.</translation>
</message>
<message>
<source>Path of the group to remove.</source>
@@ -6218,7 +6264,7 @@ Núcleo: %3 %4</translation>
</message>
<message>
<source>Cannot remove root group from database.</source>
- <translation>No se puede eliminar grupo raíz de la base de datos.</translation>
+ <translation>No se puede eliminar grupo raíz de la BB.DD.</translation>
</message>
<message>
<source>Successfully recycled group %1.</source>
@@ -6230,15 +6276,15 @@ Núcleo: %3 %4</translation>
</message>
<message>
<source>Failed to open database file %1: not found</source>
- <translation>Fallo al abrir archivo de base de datos %1: no encontrado</translation>
+ <translation>Fallo al abrir fichero de BB.DD. %1: no encontrado</translation>
</message>
<message>
<source>Failed to open database file %1: not a plain file</source>
- <translation>Fallo al abrir archivo de base de datos %1: archivo de texto no plano</translation>
+ <translation>Fallo al abrir fichero de BB.DD. %1: fichero de texto no plano</translation>
</message>
<message>
<source>Failed to open database file %1: not readable</source>
- <translation>Fallo al abrir archivo de base de datos %1: no leíble</translation>
+ <translation>Fallo al abrir fichero de BB.DD. %1: no leíble</translation>
</message>
<message>
<source>Enter password to unlock %1: </source>
@@ -6254,11 +6300,11 @@ Núcleo: %3 %4</translation>
</message>
<message>
<source>Enter password to encrypt database (optional): </source>
- <translation>Introduzca la contraseña para cifrar la base de datos (opcional):</translation>
+ <translation>Introduzca la contraseña para cifrar la BB.DD. (opcional):</translation>
</message>
<message>
<source>HIBP file, line %1: parse error</source>
- <translation>Archivo HIBP, línea %1: error de analizado</translation>
+ <translation>Fichero HIBP, línea %1: error de analizado</translation>
</message>
<message>
<source>Secret Service Integration</source>
@@ -6266,7 +6312,7 @@ Núcleo: %3 %4</translation>
</message>
<message>
<source>User name</source>
- <translation>Nombre de usuario</translation>
+ <translation>ID Usuario</translation>
</message>
<message>
<source>%1[%2] Challenge Response - Slot %3 - %4</source>
@@ -6278,7 +6324,11 @@ Núcleo: %3 %4</translation>
</message>
<message>
<source>Invalid password generator after applying all options</source>
- <translation>Generador de contraseñas inválido después de aplicar opciones</translation>
+ <translation>Generador de contraseñas inválido tras aplicar opciones</translation>
+ </message>
+ <message>
+ <source>Show the protected attributes in clear text.</source>
+ <translation>Mostrar los atributos protegidos en texto legible</translation>
</message>
</context>
<context>
@@ -6343,11 +6393,11 @@ Núcleo: %3 %4</translation>
</message>
<message>
<source>Restricted lifetime is not supported by the agent (check options).</source>
- <translation>La vida útil limitada no es soportada por el agente (verifique opciones).</translation>
+ <translation>La vida útil limitada no es mantenida por el agente (verifique opciones).</translation>
</message>
<message>
<source>A confirmation request is not supported by the agent (check options).</source>
- <translation>La solicitud de confirmación no es soportada por el agente (verifique opciones).</translation>
+ <translation>La solicitud de confirmación no es mantenida por el agente (verifique opciones).</translation>
</message>
</context>
<context>
@@ -6390,7 +6440,7 @@ Núcleo: %3 %4</translation>
</message>
<message>
<source>match anything</source>
- <translation>coincidir cualquier cosa</translation>
+ <translation>coincidir cualquiera</translation>
</message>
<message>
<source>match one</source>
@@ -6413,11 +6463,11 @@ Núcleo: %3 %4</translation>
</message>
<message>
<source>Clear</source>
- <translation>Limpiar</translation>
+ <translation>Vaciar</translation>
</message>
<message>
<source>Limit search to selected group</source>
- <translation>Limitar la búsqueda al grupo selecionado</translation>
+ <translation>Limitar la búsqueda al grupo seleccionado</translation>
</message>
<message>
<source>Search Help</source>
@@ -6426,11 +6476,11 @@ Núcleo: %3 %4</translation>
<message>
<source>Search (%1)...</source>
<comment>Search placeholder text, %1 is the keyboard shortcut</comment>
- <translation>Buscar (%1) ...</translation>
+ <translation>Buscar (%1)...</translation>
</message>
<message>
<source>Case sensitive</source>
- <translation>Distinguir mayúsculas/minúsculas</translation>
+ <translation>Distinguir MAYÚS/minús</translation>
</message>
</context>
<context>
@@ -6453,19 +6503,19 @@ Núcleo: %3 %4</translation>
</message>
<message>
<source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;If recycle bin is enabled for the database, entries will be moved to recycle bin directly. Otherwise, they will be deleted without confirmation.&lt;/p&gt;&lt;p&gt;You will still be prompted if any entries are referenced by others.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
- <translation>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Si la papelera de reciclaje está habilitada para la base de datos, las entradas serán movidas a la papelera directamente. Sino serán eliminadas sin confirmación.&lt;/p&gt;&lt;p&gt;Aún así se le solicitará si alguna entrada es referenciada por otras.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
+ <translation>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Si la papelera de reciclaje está habilitada para la BB.DD., las apuntes serán movidas a la papelera directamente. Sino serán eliminadas sin confirmación.&lt;/p&gt;&lt;p&gt;Aún así se le solicitará si algun apunte es referenciada por otras.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
</message>
<message>
<source>Don&apos;t confirm when entries are deleted by clients.</source>
- <translation>No confirmar cuando las entradas son eliminadas por los clientes.</translation>
+ <translation>No confirmar cuando las apuntes son eliminadas por los clientes.</translation>
</message>
<message>
<source>Exposed database groups:</source>
- <translation>Exponer grupos de base de datos:</translation>
+ <translation>Exponer grupos de BB.DD.:</translation>
</message>
<message>
<source>File Name</source>
- <translation>Nombre de archivo</translation>
+ <translation>Nombre de fichero</translation>
</message>
<message>
<source>Group</source>
@@ -6493,15 +6543,15 @@ Núcleo: %3 %4</translation>
</message>
<message>
<source>Database settings</source>
- <translation>Configuración de la base de datos</translation>
+ <translation>Configuración de la BB.DD.</translation>
</message>
<message>
<source>Edit database settings</source>
- <translation>Editar configuración de base de datos</translation>
+ <translation>Editar configuración de BB.DD.</translation>
</message>
<message>
<source>Unlock database</source>
- <translation>Desbloquear base de datos</translation>
+ <translation>Desbloquear BB.DD.</translation>
</message>
<message>
<source>Unlock database to show more information</source>
@@ -6509,7 +6559,7 @@ Núcleo: %3 %4</translation>
</message>
<message>
<source>Lock database</source>
- <translation>Bloquear base de datos</translation>
+ <translation>Bloquear BB.DD.</translation>
</message>
<message>
<source>Unlock to show</source>
@@ -6540,7 +6590,7 @@ Núcleo: %3 %4</translation>
</message>
<message>
<source>Fingerprint:</source>
- <translation>Huella dactilar:</translation>
+ <translation>Huella:</translation>
</message>
<message>
<source>Certificate:</source>
@@ -6584,7 +6634,7 @@ Núcleo: %3 %4</translation>
</message>
<message>
<source>Remove</source>
- <translation>Eliminar</translation>
+ <translation>Retirar</translation>
</message>
<message>
<source>Path</source>
@@ -6621,11 +6671,11 @@ Núcleo: %3 %4</translation>
</message>
<message>
<source>KeeShare key file</source>
- <translation>Archivo de clave de KeeShare</translation>
+ <translation>Fichero de clave de KeeShare</translation>
</message>
<message>
<source>All files</source>
- <translation>Todos los archivos</translation>
+ <translation>Todos los ficheros</translation>
</message>
<message>
<source>Select path</source>
@@ -6693,7 +6743,7 @@ Núcleo: %3 %4</translation>
</message>
<message>
<source>Remove selected certificate</source>
- <translation>Eliminar certificado seleccionado</translation>
+ <translation>Retirar certificado seleccionado</translation>
</message>
</context>
<context>
@@ -6708,19 +6758,19 @@ Núcleo: %3 %4</translation>
</message>
<message>
<source>Could not embed signature: Could not open file to write (%1)</source>
- <translation>No se puede incrustar la firma: no se puede abrir el archivo para escribir (%1)</translation>
+ <translation>No se puede incrustar la firma: no se puede abrir el fichero para escribir (%1)</translation>
</message>
<message>
<source>Could not embed signature: Could not write file (%1)</source>
- <translation>No se puede incrustar la firma: no se puede escribir el archivo (%1)</translation>
+ <translation>No se puede incrustar la firma: no se puede escribir el fichero (%1)</translation>
</message>
<message>
<source>Could not embed database: Could not open file to write (%1)</source>
- <translation>No se puede incrustar la base de datos: no se puede abrir el archivo para escribir (%1)</translation>
+ <translation>No se puede incrustar la BB.DD.: no se puede abrir el fichero para escribir (%1)</translation>
</message>
<message>
<source>Could not embed database: Could not write file (%1)</source>
- <translation>No se puede incrustar la base de datos: no se puede escribir el archivo (%1)</translation>
+ <translation>No se puede incrustar la BB.DD.: no se puede escribir el fichero (%1)</translation>
</message>
<message>
<source>Overwriting unsigned share container is not supported - export prevented</source>
@@ -6743,7 +6793,7 @@ Núcleo: %3 %4</translation>
</message>
<message>
<source>We cannot verify the source of the shared container because it is not signed. Do you really want to import from %1?</source>
- <translation>No podemos verificar la fuente del contenedor compartido porque no está firmado. ¿Realmente desea importar desde %1?</translation>
+ <translation>No podemos verificar la tipografía del contenedor compartido porque no está firmado. ¿Realmente desea importar desde %1?</translation>
</message>
<message>
<source>Import from container with certificate</source>
@@ -6751,7 +6801,7 @@ Núcleo: %3 %4</translation>
</message>
<message>
<source>Do you want to trust %1 with the fingerprint of %2 from %3?</source>
- <translation>¿Desea confiar a %1 con la huella digital de %2 de %3? {1 ?} {2 ?}</translation>
+ <translation>¿Desea confiar a %1 con la huella digital de %2 desde %3? {1 ?} {2 ?}</translation>
</message>
<message>
<source>Not this time</source>
@@ -6775,7 +6825,7 @@ Núcleo: %3 %4</translation>
</message>
<message>
<source>File is not readable</source>
- <translation>El archivo no es legible</translation>
+ <translation>El fichero no es legible</translation>
</message>
<message>
<source>Invalid sharing container</source>
@@ -6787,7 +6837,7 @@ Núcleo: %3 %4</translation>
</message>
<message>
<source>Successful signed import</source>
- <translation>Importación firmada exitosa</translation>
+ <translation>Importación firmada correcta</translation>
</message>
<message>
<source>Unexpected error</source>
@@ -6799,11 +6849,11 @@ Núcleo: %3 %4</translation>
</message>
<message>
<source>Successful unsigned import</source>
- <translation>Importación no firmada exitosa</translation>
+ <translation>Importación no firmada correcta</translation>
</message>
<message>
<source>File does not exist</source>
- <translation>El archivo no existe</translation>
+ <translation>El fichero no existe</translation>
</message>
<message>
<source>Unknown share container type</source>
@@ -6818,7 +6868,7 @@ Núcleo: %3 %4</translation>
</message>
<message>
<source>Import from %1 successful (%2)</source>
- <translation>Importación de %1 exitosa (%2)</translation>
+ <translation>Importación de %1 correcta (%2)</translation>
</message>
<message>
<source>Imported from %1</source>
@@ -6900,7 +6950,7 @@ Núcleo: %3 %4</translation>
</message>
<message>
<source>Use custom settings</source>
- <translation>Usar configuración personalizada</translation>
+ <translation>Utilizar configuración personalizada</translation>
</message>
<message>
<source>Custom Settings</source>
@@ -6959,7 +7009,7 @@ Ejemplo: JBSWY3DPEHPK3PXP</translation>
</message>
<message>
<source>Are you sure you want to delete TOTP settings for this entry?</source>
- <translation>¿Desea eliminar la configuración TOTP para esta entrada?</translation>
+ <translation>¿Desea eliminar la configuración TOTP para esta apunte?</translation>
</message>
</context>
<context>
@@ -7017,15 +7067,15 @@ Ejemplo: JBSWY3DPEHPK3PXP</translation>
<name>WelcomeWidget</name>
<message>
<source>Start storing your passwords securely in a KeePassXC database</source>
- <translation>Empiece a guardar sus contraseñas con seguridad en una base de datos de KeePassXC</translation>
+ <translation>Empiece a guardar sus contraseñas con seguridad en una BB.DD. de KeePassXC</translation>
</message>
<message>
<source>Create new database</source>
- <translation>Crear una nueva base de datos</translation>
+ <translation>Crear una nueva BB.DD.</translation>
</message>
<message>
<source>Open existing database</source>
- <translation>Abrir una base de datos existente</translation>
+ <translation>Abrir una BB.DD. existente</translation>
</message>
<message>
<source>Import from KeePass 1</source>
@@ -7049,7 +7099,7 @@ Ejemplo: JBSWY3DPEHPK3PXP</translation>
</message>
<message>
<source>Open a recent database</source>
- <translation>Abrir base de datos reciente</translation>
+ <translation>Abrir BB.DD. reciente</translation>
</message>
</context>
<context>
diff --git a/share/translations/keepassx_et.ts b/share/translations/keepassx_et.ts
new file mode 100644
index 000000000..3e4841d80
--- /dev/null
+++ b/share/translations/keepassx_et.ts
@@ -0,0 +1,7071 @@
+<?xml version="1.0" ?><!DOCTYPE TS><TS language="et" version="2.1">
+<context>
+ <name>AboutDialog</name>
+ <message>
+ <source>About KeePassXC</source>
+ <translation>KeePassXC teave</translation>
+ </message>
+ <message>
+ <source>About</source>
+ <translation>Teave</translation>
+ </message>
+ <message>
+ <source>Report bugs at: &lt;a href=&quot;https://github.com/keepassxreboot/keepassxc/issues&quot; style=&quot;text-decoration: underline;&quot;&gt;https://github.com&lt;/a&gt;</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>KeePassXC is distributed under the terms of the GNU General Public License (GPL) version 2 or (at your option) version 3.</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Contributors</source>
+ <translation>Kaasautorid</translation>
+ </message>
+ <message>
+ <source>&lt;a href=&quot;https://github.com/keepassxreboot/keepassxc/graphs/contributors&quot;&gt;See Contributions on GitHub&lt;/a&gt;</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Debug Info</source>
+ <translation>Silumisteave</translation>
+ </message>
+ <message>
+ <source>Include the following information whenever you report a bug:</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Copy to clipboard</source>
+ <translation>Kopeeri lõikepuhvrisse</translation>
+ </message>
+ <message>
+ <source>Project Maintainers:</source>
+ <translation>Projekti haldajad:</translation>
+ </message>
+ <message>
+ <source>Special thanks from the KeePassXC team go to debfx for creating the original KeePassX.</source>
+ <translation type="unfinished"/>
+ </message>
+</context>
+<context>
+ <name>AgentSettingsWidget</name>
+ <message>
+ <source>Enable SSH Agent (requires restart)</source>
+ <translation>SSH agendi lubamine (jõustub pärast programmi taaskäivitamist)</translation>
+ </message>
+ <message>
+ <source>Use OpenSSH for Windows instead of Pageant</source>
+ <translation type="unfinished"/>
+ </message>
+</context>
+<context>
+ <name>ApplicationSettingsWidget</name>
+ <message>
+ <source>Application Settings</source>
+ <translation>Rakenduse seaded</translation>
+ </message>
+ <message>
+ <source>General</source>
+ <translation>Ãœldine</translation>
+ </message>
+ <message>
+ <source>Security</source>
+ <translation>Turvalisus</translation>
+ </message>
+ <message>
+ <source>Access error for config file %1</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Icon only</source>
+ <translation>ainult ikoon</translation>
+ </message>
+ <message>
+ <source>Text only</source>
+ <translation>ainult tekst</translation>
+ </message>
+ <message>
+ <source>Text beside icon</source>
+ <translation>tekst ikooni kõrval</translation>
+ </message>
+ <message>
+ <source>Text under icon</source>
+ <translation>tekst ikooni all</translation>
+ </message>
+ <message>
+ <source>Follow style</source>
+ <translation>stiili järgi</translation>
+ </message>
+ <message>
+ <source>Reset Settings?</source>
+ <translation>Seadete lähtestamise kinnitus</translation>
+ </message>
+ <message>
+ <source>Are you sure you want to reset all general and security settings to default?</source>
+ <translation>Kas oled kindel, et tahad kõik üld- ja turvaseaded lähtestada?</translation>
+ </message>
+</context>
+<context>
+ <name>ApplicationSettingsWidgetGeneral</name>
+ <message>
+ <source>Basic Settings</source>
+ <translation>Põhiseaded</translation>
+ </message>
+ <message>
+ <source>Startup</source>
+ <translation>Käivitumine</translation>
+ </message>
+ <message>
+ <source>Start only a single instance of KeePassXC</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Minimize window at application startup</source>
+ <translation>Programmi käivitamisel aken minimeeritakse</translation>
+ </message>
+ <message>
+ <source>File Management</source>
+ <translation>Failihaldus</translation>
+ </message>
+ <message>
+ <source>Safely save database files (may be incompatible with Dropbox, etc)</source>
+ <translation>Andmebaasifailid salvestatakse turvaliselt (ei pruugi ühilduda Dropboxi jms-ga)</translation>
+ </message>
+ <message>
+ <source>Backup database file before saving</source>
+ <translation>Enne salvestamist tehakse andmebaasifailist varukoopia</translation>
+ </message>
+ <message>
+ <source>Automatically save after every change</source>
+ <translation>Automaatne salvestamine iga muudatuse järel</translation>
+ </message>
+ <message>
+ <source>Automatically save on exit</source>
+ <translation>Automaatne salvestamine programmi sulgemisel</translation>
+ </message>
+ <message>
+ <source>Don&apos;t mark database as modified for non-data changes (e.g., expanding groups)</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Automatically reload the database when modified externally</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Entry Management</source>
+ <translation>Kirjehaldus</translation>
+ </message>
+ <message>
+ <source>Use group icon on entry creation</source>
+ <translation>Kirjete loomisel määratakse neile grupi ikoon</translation>
+ </message>
+ <message>
+ <source>Hide the entry preview panel</source>
+ <translation>Kirjete eelvaatepaneel peidetud</translation>
+ </message>
+ <message>
+ <source>General</source>
+ <translation>Ãœldine</translation>
+ </message>
+ <message>
+ <source>Hide toolbar (icons)</source>
+ <translation>Tööriistariba (ikoonid) peidetud</translation>
+ </message>
+ <message>
+ <source>Minimize instead of app exit</source>
+ <translation>Sulgemise asemel minimeeritakse</translation>
+ </message>
+ <message>
+ <source>Show a system tray icon</source>
+ <translation>Ikoon süsteemisalves</translation>
+ </message>
+ <message>
+ <source>Dark system tray icon</source>
+ <translation>Tume ikoon</translation>
+ </message>
+ <message>
+ <source>Hide window to system tray when minimized</source>
+ <translation>Minimeerimisel peidetakse aken süsteemisalve</translation>
+ </message>
+ <message>
+ <source>Auto-Type</source>
+ <translation>Automaatsisestus</translation>
+ </message>
+ <message>
+ <source>Use entry title to match windows for global Auto-Type</source>
+ <translation>Akende vastendamine globaalse automaatsisestuse jaoks kirjete pealkirja järgi</translation>
+ </message>
+ <message>
+ <source>Use entry URL to match windows for global Auto-Type</source>
+ <translation>Akende vastendamine globaalse automaatsisestuse jaoks kirjete URL-i järgi</translation>
+ </message>
+ <message>
+ <source>Always ask before performing Auto-Type</source>
+ <translation>Enne automaatsisestuse sooritamist küsitakse alati kinnitust</translation>
+ </message>
+ <message>
+ <source>Global Auto-Type shortcut</source>
+ <translation>Automaatsisestuse globaalne kiirklahv:</translation>
+ </message>
+ <message>
+ <source>Auto-Type typing delay</source>
+ <translation>Viivitus enne automaatsisestust:</translation>
+ </message>
+ <message>
+ <source> ms</source>
+ <comment>Milliseconds</comment>
+ <translation> ms</translation>
+ </message>
+ <message>
+ <source>Auto-Type start delay</source>
+ <translation>Viivitus automaatsisestuse klahvivajutuste vahel:</translation>
+ </message>
+ <message>
+ <source>Movable toolbar</source>
+ <translation>Teisaldatav tööriistariba</translation>
+ </message>
+ <message>
+ <source>Remember previously used databases</source>
+ <translation>Mäletatakse viimati kasutatud andmebaase</translation>
+ </message>
+ <message>
+ <source>Load previously open databases on startup</source>
+ <translation>Käivitumisel laaditakse viimati avatud olnud andmebaasid</translation>
+ </message>
+ <message>
+ <source>Remember database key files and security dongles</source>
+ <translation>Mäletatakse andmebaaside võtmefaile ja riistvaravõtmeid</translation>
+ </message>
+ <message>
+ <source>Check for updates at application startup once per week</source>
+ <translation>Kord nädalas kontrollitakse programmi käivitumisel uuenduste olemasolu</translation>
+ </message>
+ <message>
+ <source>Include beta releases when checking for updates</source>
+ <translation>Sobivad ka beetaversioonid</translation>
+ </message>
+ <message>
+ <source>Button style:</source>
+ <translation>Nupustiil:</translation>
+ </message>
+ <message>
+ <source>Language:</source>
+ <translation>Keel:</translation>
+ </message>
+ <message>
+ <source>(restart program to activate)</source>
+ <translation>(muutmine jõustub programmi järgmisel käivitamisel)</translation>
+ </message>
+ <message>
+ <source>Minimize window after unlocking database</source>
+ <translation>Andmebaasi luku avamise järel aken minimeeritakse</translation>
+ </message>
+ <message>
+ <source>Minimize when opening a URL</source>
+ <translation>URL-i avamisel aken minimeeritakse</translation>
+ </message>
+ <message>
+ <source>Hide window when copying to clipboard</source>
+ <translation>Millegi lõikepuhvrisse kopeerimise järel aken peidetakse</translation>
+ </message>
+ <message>
+ <source>Minimize</source>
+ <translation>Minimeeritakse</translation>
+ </message>
+ <message>
+ <source>Drop to background</source>
+ <translation>Viiakse tagaplaanile</translation>
+ </message>
+ <message>
+ <source>Favicon download timeout:</source>
+ <translation>Saidiikoonide allalaadimise ajalõpp:</translation>
+ </message>
+ <message>
+ <source>Website icon download timeout in seconds</source>
+ <translation>Saidiikoonide allalaadimiskatsete aegumine sekundites</translation>
+ </message>
+ <message>
+ <source> sec</source>
+ <comment>Seconds</comment>
+ <translation> s</translation>
+ </message>
+ <message>
+ <source>Toolbar button style</source>
+ <translation>Tööriistariba nuppude stiil</translation>
+ </message>
+ <message>
+ <source>Use monospaced font for Notes</source>
+ <translation>Märkmete jaoks kasutatakse fikseeritud laiusega fonti</translation>
+ </message>
+ <message>
+ <source>Language selection</source>
+ <translation>Keelevalik</translation>
+ </message>
+ <message>
+ <source>Reset Settings to Default</source>
+ <translation>Taasta vaikeseaded</translation>
+ </message>
+ <message>
+ <source>Global auto-type shortcut</source>
+ <translation>Automaatsisestuse globaalne kiirklahv</translation>
+ </message>
+ <message>
+ <source>Auto-type character typing delay milliseconds</source>
+ <translation>Viivitus millisekundites iga automaatse klahvivajutuse vahel</translation>
+ </message>
+ <message>
+ <source>Auto-type start delay milliseconds</source>
+ <translation>Viivitus millisekundites enne automaatsisestuse alustamist</translation>
+ </message>
+</context>
+<context>
+ <name>ApplicationSettingsWidgetSecurity</name>
+ <message>
+ <source>Timeouts</source>
+ <translation>Aegumine</translation>
+ </message>
+ <message>
+ <source>Clear clipboard after</source>
+ <translation>Lõikepuhver tühjendatakse pärast</translation>
+ </message>
+ <message>
+ <source> sec</source>
+ <comment>Seconds</comment>
+ <translation> s</translation>
+ </message>
+ <message>
+ <source>Lock databases after inactivity of</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source> min</source>
+ <translation> min</translation>
+ </message>
+ <message>
+ <source>Forget TouchID after inactivity of</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Convenience</source>
+ <translation>Mugavus</translation>
+ </message>
+ <message>
+ <source>Lock databases when session is locked or lid is closed</source>
+ <translation>Andmebaasid lukustatakse seansi lukustamisel või sülearvuti kaane sulgemisel</translation>
+ </message>
+ <message>
+ <source>Forget TouchID when session is locked or lid is closed</source>
+ <translation>TouchID unustatakse seansi lukustamisel või sülearvuti kaane sulgemisel</translation>
+ </message>
+ <message>
+ <source>Lock databases after minimizing the window</source>
+ <translation>Andmebaasid lukustatakse akna minimeerimisel</translation>
+ </message>
+ <message>
+ <source>Re-lock previously locked database after performing Auto-Type</source>
+ <translation>Pärast automaatsisestuse sooritamist lukustatakse eelnevalt lukus olnud andmebaas uuesti</translation>
+ </message>
+ <message>
+ <source>Don&apos;t require password repeat when it is visible</source>
+ <translation>Nähtava paroolivälja korral ei nõuta parooli kordamist</translation>
+ </message>
+ <message>
+ <source>Don&apos;t hide passwords when editing them</source>
+ <translation>Paroolid on muutmise ajal nähtavad</translation>
+ </message>
+ <message>
+ <source>Don&apos;t use placeholder for empty password fields</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Hide passwords in the entry preview panel</source>
+ <translation>Paroolid peidetakse kirjete eelvaatepaneelil</translation>
+ </message>
+ <message>
+ <source>Hide entry notes by default</source>
+ <translation>Vaikimisi peidetakse kirjete märkmed</translation>
+ </message>
+ <message>
+ <source>Privacy</source>
+ <translation>Privaatsus</translation>
+ </message>
+ <message>
+ <source>Use DuckDuckGo service to download website icons</source>
+ <translation>Saidiikoonide allalaadimiseks kasutatakse DuckDuckGo teenust</translation>
+ </message>
+ <message>
+ <source>Clipboard clear seconds</source>
+ <translation>Lõikepuhvri tühjendamise viivitus sekundites</translation>
+ </message>
+ <message>
+ <source>Touch ID inactivity reset</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Database lock timeout seconds</source>
+ <translation>Andmebaasi lukustamise ajalõpp sekundites</translation>
+ </message>
+ <message>
+ <source> min</source>
+ <comment>Minutes</comment>
+ <translation> min</translation>
+ </message>
+ <message>
+ <source>Clear search query after</source>
+ <translation>Otsinguväli puhastatakse pärast</translation>
+ </message>
+</context>
+<context>
+ <name>AutoType</name>
+ <message>
+ <source>Couldn&apos;t find an entry that matches the window title:</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Auto-Type - KeePassXC</source>
+ <translation>Automaatsisestus - KeePassXC</translation>
+ </message>
+ <message>
+ <source>Auto-Type</source>
+ <translation>Automaatsisestus</translation>
+ </message>
+ <message>
+ <source>The Syntax of your Auto-Type statement is incorrect!</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>This Auto-Type command contains a very long delay. Do you really want to proceed?</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>This Auto-Type command contains very slow key presses. Do you really want to proceed?</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>This Auto-Type command contains arguments which are repeated very often. Do you really want to proceed?</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Permission Required</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>KeePassXC requires the Accessibility permission in order to perform entry level Auto-Type. If you already granted permission, you may have to restart KeePassXC.</source>
+ <translation type="unfinished"/>
+ </message>
+</context>
+<context>
+ <name>AutoTypeAssociationsModel</name>
+ <message>
+ <source>Window</source>
+ <translation>Aken</translation>
+ </message>
+ <message>
+ <source>Sequence</source>
+ <translation>Jada</translation>
+ </message>
+ <message>
+ <source>Default sequence</source>
+ <translation>Vaikejada</translation>
+ </message>
+</context>
+<context>
+ <name>AutoTypeMatchModel</name>
+ <message>
+ <source>Group</source>
+ <translation>Grupp</translation>
+ </message>
+ <message>
+ <source>Title</source>
+ <translation>Pealkiri</translation>
+ </message>
+ <message>
+ <source>Username</source>
+ <translation>Kasutajanimi</translation>
+ </message>
+ <message>
+ <source>Sequence</source>
+ <translation>Jada</translation>
+ </message>
+</context>
+<context>
+ <name>AutoTypeMatchView</name>
+ <message>
+ <source>Copy &amp;username</source>
+ <translation>Kopeeri &amp;kasutajanimi</translation>
+ </message>
+ <message>
+ <source>Copy &amp;password</source>
+ <translation>Kopeeri &amp;parool</translation>
+ </message>
+</context>
+<context>
+ <name>AutoTypePlatformMac</name>
+ <message>
+ <source>Permission Required</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>KeePassXC requires the Accessibility and Screen Recorder permission in order to perform global Auto-Type. Screen Recording is necessary to use the window title to find entries. If you already granted permission, you may have to restart KeePassXC.</source>
+ <translation type="unfinished"/>
+ </message>
+</context>
+<context>
+ <name>AutoTypeSelectDialog</name>
+ <message>
+ <source>Auto-Type - KeePassXC</source>
+ <translation>Automaatsisestus - KeePassXC</translation>
+ </message>
+ <message>
+ <source>Select entry to Auto-Type:</source>
+ <translation>Vali sooritatav automaatsisestus:</translation>
+ </message>
+ <message>
+ <source>Search...</source>
+ <translation>Otsing...</translation>
+ </message>
+</context>
+<context>
+ <name>BrowserAccessControlDialog</name>
+ <message>
+ <source>KeePassXC-Browser Confirm Access</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Remember this decision</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Allow</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Deny</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>%1 has requested access to passwords for the following item(s).
+Please select whether you want to allow access.</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Allow access</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Deny access</source>
+ <translation type="unfinished"/>
+ </message>
+</context>
+<context>
+ <name>BrowserEntrySaveDialog</name>
+ <message>
+ <source>KeePassXC-Browser Save Entry</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Ok</source>
+ <translation>OK</translation>
+ </message>
+ <message>
+ <source>Cancel</source>
+ <translation>Loobu</translation>
+ </message>
+ <message>
+ <source>You have multiple databases open.
+Please select the correct database for saving credentials.</source>
+ <translation type="unfinished"/>
+ </message>
+</context>
+<context>
+ <name>BrowserOptionDialog</name>
+ <message>
+ <source>Dialog</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>This is required for accessing your databases with KeePassXC-Browser</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>General</source>
+ <translation>Ãœldine</translation>
+ </message>
+ <message>
+ <source>Enable integration for these browsers:</source>
+ <translation>Lubatakse lõimimine järgmiste brauseritega:</translation>
+ </message>
+ <message>
+ <source>&amp;Google Chrome</source>
+ <translation>&amp;Google Chrome</translation>
+ </message>
+ <message>
+ <source>&amp;Firefox</source>
+ <translation>&amp;Firefox</translation>
+ </message>
+ <message>
+ <source>&amp;Chromium</source>
+ <translation>&amp;Chromium</translation>
+ </message>
+ <message>
+ <source>&amp;Vivaldi</source>
+ <translation>&amp;Vivaldi</translation>
+ </message>
+ <message>
+ <source>Show a &amp;notification when credentials are requested</source>
+ <extracomment>Credentials mean login data requested via browser extension</extracomment>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Re&amp;quest to unlock the database if it is locked</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Only entries with the same scheme (http://, https://, ...) are returned.</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>&amp;Match URL scheme (e.g., https://...)</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Only returns the best matches for a specific URL instead of all entries for the whole domain.</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>&amp;Return only best-matching credentials</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Sort &amp;matching credentials by title</source>
+ <extracomment>Credentials mean login data requested via browser extension</extracomment>
+ <translation>Sobivad tunnused sorditakse &amp;pealkirja järgi</translation>
+ </message>
+ <message>
+ <source>Sort matching credentials by &amp;username</source>
+ <extracomment>Credentials mean login data requested via browser extension</extracomment>
+ <translation>Sobivad tunnused sorditakse &amp;kasutajanime järgi</translation>
+ </message>
+ <message>
+ <source>Advanced</source>
+ <translation>Lisaseaded</translation>
+ </message>
+ <message>
+ <source>Never &amp;ask before accessing credentials</source>
+ <extracomment>Credentials mean login data requested via browser extension</extracomment>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Never ask before &amp;updating credentials</source>
+ <extracomment>Credentials mean login data requested via browser extension</extracomment>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Searc&amp;h in all opened databases for matching credentials</source>
+ <extracomment>Credentials mean login data requested via browser extension</extracomment>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Automatically creating or updating string fields is not supported.</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>&amp;Return advanced string fields which start with &quot;KPH: &quot;</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Updates KeePassXC or keepassxc-proxy binary path automatically to native messaging scripts on startup.</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Update &amp;native messaging manifest files at startup</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Support a proxy application between KeePassXC and browser extension.</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Use a &amp;proxy application between KeePassXC and browser extension</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Use a custom proxy location if you installed a proxy manually.</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Use a &amp;custom proxy location</source>
+ <comment>Meant is the proxy for KeePassXC-Browser</comment>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Browse...</source>
+ <extracomment>Button for opening file dialog</extracomment>
+ <translation>Sirvi...</translation>
+ </message>
+ <message>
+ <source>&lt;b&gt;Warning:&lt;/b&gt; The following options can be dangerous!</source>
+ <translation>&lt;b&gt;Hoiatus:&lt;/b&gt; nende seadete muutmine võib olla ohtlik!</translation>
+ </message>
+ <message>
+ <source>Select custom proxy location</source>
+ <translation>Kohandatud puhverrakenduse valimine</translation>
+ </message>
+ <message>
+ <source>&amp;Tor Browser</source>
+ <translation>&amp;Tor Browser</translation>
+ </message>
+ <message>
+ <source>Executable Files</source>
+ <translation>Rakendusfailid</translation>
+ </message>
+ <message>
+ <source>All Files</source>
+ <translation>Kõik failid</translation>
+ </message>
+ <message>
+ <source>Do not ask permission for HTTP &amp;Basic Auth</source>
+ <extracomment>An extra HTTP Basic Auth setting</extracomment>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Due to Snap sandboxing, you must run a script to enable browser integration.&lt;br /&gt;You can obtain this script from %1</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Please see special instructions for browser extension use below</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>KeePassXC-Browser is needed for the browser integration to work. &lt;br /&gt;Download it for %1 and %2. %3</source>
+ <translation>Lõimingu toimimiseks peab brauserile olema paigaldatud laiendus KeePassXC-Browser. &lt;br /&gt;See on saadaval %1i ja %2&apos;i jaoks. %3</translation>
+ </message>
+ <message>
+ <source>&amp;Brave</source>
+ <translation>&amp;Brave</translation>
+ </message>
+ <message>
+ <source>Returns expired credentials. String [expired] is added to the title.</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>&amp;Allow returning expired credentials.</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Enable browser integration</source>
+ <translation>Brauserilõimingu lubamine</translation>
+ </message>
+ <message>
+ <source>Browsers installed as snaps are currently not supported.</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>All databases connected to the extension will return matching credentials.</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Don&apos;t display the popup suggesting migration of legacy KeePassHTTP settings.</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>&amp;Do not prompt for KeePassHTTP settings migration.</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Custom proxy location field</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Browser for custom proxy file</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>&lt;b&gt;Warning&lt;/b&gt;, the keepassxc-proxy application was not found!&lt;br /&gt;Please check the KeePassXC installation directory or confirm the custom path in advanced options.&lt;br /&gt;Browser integration WILL NOT WORK without the proxy application.&lt;br /&gt;Expected Path: %1</source>
+ <translation type="unfinished"/>
+ </message>
+</context>
+<context>
+ <name>BrowserService</name>
+ <message>
+ <source>KeePassXC: New key association request</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Save and allow access</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>KeePassXC: Overwrite existing key?</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>A shared encryption key with the name &quot;%1&quot; already exists.
+Do you want to overwrite it?</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>KeePassXC: Update Entry</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Do you want to update the information in %1 - %2?</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Abort</source>
+ <translation>Katkesta</translation>
+ </message>
+ <message>
+ <source>Converting attributes to custom data…</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>KeePassXC: Converted KeePassHTTP attributes</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Successfully converted attributes from %1 entry(s).
+Moved %2 keys to custom data.</source>
+ <translation type="unfinished"/>
+ </message>
+ <message numerus="yes">
+ <source>Successfully moved %n keys to custom data.</source>
+ <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
+ </message>
+ <message>
+ <source>KeePassXC: No entry with KeePassHTTP attributes found!</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>The active database does not contain an entry with KeePassHTTP attributes.</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>KeePassXC: Legacy browser integration settings detected</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>KeePassXC: Create a new group</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>A request for creating a new group &quot;%1&quot; has been received.
+Do you want to create this group?
+</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Your KeePassXC-Browser settings need to be moved into the database settings.
+This is necessary to maintain your current browser connections.
+Would you like to migrate your existing settings now?</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Don&apos;t show this warning again</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>You have received an association request for the following database:
+%1
+
+Give the connection a unique name or ID, for example:
+chrome-laptop.</source>
+ <translation type="unfinished"/>
+ </message>
+</context>
+<context>
+ <name>CloneDialog</name>
+ <message>
+ <source>Clone Options</source>
+ <translation>Kloonimisseaded</translation>
+ </message>
+ <message>
+ <source>Append &apos; - Clone&apos; to title</source>
+ <translation>Pealkirja lõppu lisatakse &quot; - koopia&quot;</translation>
+ </message>
+ <message>
+ <source>Replace username and password with references</source>
+ <translation>Kasutajanimi ja parool asendatakse viidetega</translation>
+ </message>
+ <message>
+ <source>Copy history</source>
+ <translation>Kopeeritakse ajalugu</translation>
+ </message>
+</context>
+<context>
+ <name>CsvImportWidget</name>
+ <message>
+ <source>Import CSV fields</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>filename</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>size, rows, columns</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Encoding</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Codec</source>
+ <translation>Koodek</translation>
+ </message>
+ <message>
+ <source>Text is qualified by</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Fields are separated by</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Comments start with</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>First record has field names</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Consider &apos;\&apos; an escape character</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Preview</source>
+ <translation>Eelvaade</translation>
+ </message>
+ <message>
+ <source>Column layout</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Not present in CSV file</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Imported from CSV file</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Original data: </source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Error</source>
+ <translation>Viga</translation>
+ </message>
+ <message>
+ <source>Empty fieldname %1</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>column %1</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Error(s) detected in CSV file!</source>
+ <translation type="unfinished"/>
+ </message>
+ <message numerus="yes">
+ <source>[%n more message(s) skipped]</source>
+ <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
+ </message>
+ <message>
+ <source>CSV import: writer has errors:
+%1</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Text qualification</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Field separation</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Number of header lines to discard</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>CSV import preview</source>
+ <translation type="unfinished"/>
+ </message>
+</context>
+<context>
+ <name>CsvParserModel</name>
+ <message numerus="yes">
+ <source>%n column(s)</source>
+ <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
+ </message>
+ <message>
+ <source>%1, %2, %3</source>
+ <comment>file info: bytes, rows, columns</comment>
+ <translation type="unfinished"/>
+ </message>
+ <message numerus="yes">
+ <source>%n byte(s)</source>
+ <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
+ </message>
+ <message numerus="yes">
+ <source>%n row(s)</source>
+ <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
+ </message>
+</context>
+<context>
+ <name>Database</name>
+ <message>
+ <source>Root</source>
+ <comment>Root group name</comment>
+ <translation>Juur</translation>
+ </message>
+ <message>
+ <source>File %1 does not exist.</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Unable to open file %1.</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Error while reading the database: %1</source>
+ <translation>Andmebaasi lugemisel tekkis tõrge: %1</translation>
+ </message>
+ <message>
+ <source>File cannot be written as it is opened in read-only mode.</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Key not transformed. This is a bug, please report it to the developers!</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>%1
+Backup database located at %2</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Could not save, database does not point to a valid file.</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Could not save, database file is read-only.</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Database file has unmerged changes.</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Recycle Bin</source>
+ <translation>Prügikast</translation>
+ </message>
+</context>
+<context>
+ <name>DatabaseOpenDialog</name>
+ <message>
+ <source>Unlock Database - KeePassXC</source>
+ <translation>Andmebaasi luku avamine - KeePassXC</translation>
+ </message>
+</context>
+<context>
+ <name>DatabaseOpenWidget</name>
+ <message>
+ <source>Key File:</source>
+ <translation>Võtmefail:</translation>
+ </message>
+ <message>
+ <source>Refresh</source>
+ <translation>Värskenda</translation>
+ </message>
+ <message>
+ <source>Legacy key file format</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>You are using a legacy key file format which may become
+unsupported in the future.
+
+Please consider generating a new key file.</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Don&apos;t show this warning again</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>All files</source>
+ <translation>Kõik failid</translation>
+ </message>
+ <message>
+ <source>Key files</source>
+ <translation>Võtmefailid</translation>
+ </message>
+ <message>
+ <source>Select key file</source>
+ <translation>Võtmefaili valimine</translation>
+ </message>
+ <message>
+ <source>Failed to open key file: %1</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Select slot...</source>
+ <translation>Vali pesa...</translation>
+ </message>
+ <message>
+ <source>Unlock KeePassXC Database</source>
+ <translation>KeePassXC andmebaasi luku avamine</translation>
+ </message>
+ <message>
+ <source>Enter Password:</source>
+ <translation>Parool:</translation>
+ </message>
+ <message>
+ <source>Password field</source>
+ <translation>Parooli väli</translation>
+ </message>
+ <message>
+ <source>Toggle password visibility</source>
+ <translation>Lülita parooli nähtavust</translation>
+ </message>
+ <message>
+ <source>Key file selection</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Hardware key slot selection</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Browse for key file</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Browse...</source>
+ <translation>Sirvi...</translation>
+ </message>
+ <message>
+ <source>Refresh hardware tokens</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Hardware Key:</source>
+ <translation>Riistvaraline võti:</translation>
+ </message>
+ <message>
+ <source>Hardware key help</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>TouchID for Quick Unlock</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Clear</source>
+ <translation>Puhasta</translation>
+ </message>
+ <message>
+ <source>Clear Key File</source>
+ <translation>Ära kasuta võtmefaili</translation>
+ </message>
+ <message>
+ <source>Unlock failed and no password given</source>
+ <translation>Luku avamine ilma paroolita ebaõnnestus</translation>
+ </message>
+ <message>
+ <source>Unlocking the database failed and you did not enter a password.
+Do you want to retry with an &quot;empty&quot; password instead?
+
+To prevent this error from appearing, you must go to &quot;Database Settings / Security&quot; and reset your password.</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Retry with empty password</source>
+ <translation>Proovi uuesti tühja parooliga</translation>
+ </message>
+ <message>
+ <source>Enter Additional Credentials (if any):</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>&lt;p&gt;You can use a hardware security key such as a &lt;strong&gt;YubiKey&lt;/strong&gt; or &lt;strong&gt;OnlyKey&lt;/strong&gt; with slots configured for HMAC-SHA1.&lt;/p&gt;
+&lt;p&gt;Click for more information...&lt;/p&gt;</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>&lt;p&gt;In addition to your master password, you can use a secret file to enhance the security of your database. Such a file can be generated in your database&apos;s security settings.&lt;/p&gt;&lt;p&gt;This is &lt;strong&gt;not&lt;/strong&gt; your *.kdbx database file!&lt;br&gt;If you do not have a key file, leave the field empty.&lt;/p&gt;&lt;p&gt;Click for more information...&lt;/p&gt;</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Key file help</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>?</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Select key file...</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Cannot use database file as key file</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>You cannot use your database file as a key file.
+If you do not have a key file, please leave the field empty.</source>
+ <translation type="unfinished"/>
+ </message>
+</context>
+<context>
+ <name>DatabaseSettingWidgetMetaData</name>
+ <message>
+ <source>Passwords</source>
+ <translation>Paroolid</translation>
+ </message>
+</context>
+<context>
+ <name>DatabaseSettingsDialog</name>
+ <message>
+ <source>Advanced Settings</source>
+ <translation>Täpsemad seaded</translation>
+ </message>
+ <message>
+ <source>General</source>
+ <translation>Ãœldine</translation>
+ </message>
+ <message>
+ <source>Security</source>
+ <translation>Turvalisus</translation>
+ </message>
+ <message>
+ <source>Master Key</source>
+ <translation>Ülemvõti</translation>
+ </message>
+ <message>
+ <source>Encryption Settings</source>
+ <translation>Krüptimisseaded</translation>
+ </message>
+ <message>
+ <source>Browser Integration</source>
+ <translation>Brauserilõiming</translation>
+ </message>
+</context>
+<context>
+ <name>DatabaseSettingsWidgetBrowser</name>
+ <message>
+ <source>KeePassXC-Browser settings</source>
+ <translation>KeePassXC-Browseri seaded</translation>
+ </message>
+ <message>
+ <source>&amp;Disconnect all browsers</source>
+ <translation>&amp;Katkesta ühendus kõigi brauseritega</translation>
+ </message>
+ <message>
+ <source>Forg&amp;et all site-specific settings on entries</source>
+ <translation>&amp;Unusta kirjete saidiomased seaded</translation>
+ </message>
+ <message>
+ <source>Move KeePassHTTP attributes to KeePassXC-Browser &amp;custom data</source>
+ <translation>&amp;Teisalda KeePassHTTP atribuudid KeePassXC-Browseri kohandatud andmetesse</translation>
+ </message>
+ <message>
+ <source>Stored keys</source>
+ <translation>Salvestatud võtmed</translation>
+ </message>
+ <message>
+ <source>Remove</source>
+ <translation>Eemalda</translation>
+ </message>
+ <message>
+ <source>Delete the selected key?</source>
+ <translation>Valitud võtme kustutamise kinnitus</translation>
+ </message>
+ <message>
+ <source>Do you really want to delete the selected key?
+This may prevent connection to the browser plugin.</source>
+ <translation>Kas oled kindel, et soovid valitud võtme kustutada?
+See võib tõkestada ühendumise brauseripluginaga.</translation>
+ </message>
+ <message>
+ <source>Key</source>
+ <translation>Võti</translation>
+ </message>
+ <message>
+ <source>Value</source>
+ <translation>Väärtus</translation>
+ </message>
+ <message>
+ <source>Enable Browser Integration to access these settings.</source>
+ <translation>Nende seadete määramiseks luba programmi seadetes brauserilõiming.</translation>
+ </message>
+ <message>
+ <source>Disconnect all browsers</source>
+ <translation>Kõigi brauseritega ühenduse katkestamise kinnitus</translation>
+ </message>
+ <message>
+ <source>Do you really want to disconnect all browsers?
+This may prevent connection to the browser plugin.</source>
+ <translation>Kas oled kindel, et soovid katkestada ühenduse kõigi brauseritega?
+See võib tõkestada ühendumise brauseripluginaga.</translation>
+ </message>
+ <message>
+ <source>KeePassXC: No keys found</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>No shared encryption keys found in KeePassXC settings.</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>KeePassXC: Removed keys from database</source>
+ <translation type="unfinished"/>
+ </message>
+ <message numerus="yes">
+ <source>Successfully removed %n encryption key(s) from KeePassXC settings.</source>
+ <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
+ </message>
+ <message>
+ <source>Forget all site-specific settings on entries</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Do you really want forget all site-specific settings on every entry?
+Permissions to access entries will be revoked.</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Removing stored permissions…</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Abort</source>
+ <translation>Katkesta</translation>
+ </message>
+ <message>
+ <source>KeePassXC: Removed permissions</source>
+ <translation type="unfinished"/>
+ </message>
+ <message numerus="yes">
+ <source>Successfully removed permissions from %n entry(s).</source>
+ <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
+ </message>
+ <message>
+ <source>KeePassXC: No entry with permissions found!</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>The active database does not contain an entry with permissions.</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Move KeePassHTTP attributes to custom data</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Do you really want to move all legacy browser integration data to the latest standard?
+This is necessary to maintain compatibility with the browser plugin.</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Stored browser keys</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Remove selected key</source>
+ <translation type="unfinished"/>
+ </message>
+</context>
+<context>
+ <name>DatabaseSettingsWidgetEncryption</name>
+ <message>
+ <source>Encryption Algorithm:</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>AES: 256 Bit (default)</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Twofish: 256 Bit</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Key Derivation Function:</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Transform rounds:</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Benchmark 1-second delay</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Memory Usage:</source>
+ <translation>Mälukasutus:</translation>
+ </message>
+ <message>
+ <source>Parallelism:</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Decryption Time:</source>
+ <translation>Lahtikrüptimise aeg:</translation>
+ </message>
+ <message>
+ <source>?? s</source>
+ <translation>?? s</translation>
+ </message>
+ <message>
+ <source>Change</source>
+ <translation>Muuda</translation>
+ </message>
+ <message>
+ <source>100 ms</source>
+ <translation>100 ms</translation>
+ </message>
+ <message>
+ <source>5 s</source>
+ <translation>5 s</translation>
+ </message>
+ <message>
+ <source>Higher values offer more protection, but opening the database will take longer.</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Database format:</source>
+ <translation>Andmebaasi vorming:</translation>
+ </message>
+ <message>
+ <source>This is only important if you need to use your database with other programs.</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>KDBX 4.0 (recommended)</source>
+ <translation>KDBX 4.0 (soovitatav)</translation>
+ </message>
+ <message>
+ <source>KDBX 3.1</source>
+ <translation>KDBX 3.1</translation>
+ </message>
+ <message>
+ <source>unchanged</source>
+ <comment>Database decryption time is unchanged</comment>
+ <translation>muutmata</translation>
+ </message>
+ <message>
+ <source>Number of rounds too high</source>
+ <comment>Key transformation rounds</comment>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>You are using a very high number of key transform rounds with Argon2.
+
+If you keep this number, your database may take hours or days (or even longer) to open!</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Understood, keep number</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Cancel</source>
+ <translation>Loobu</translation>
+ </message>
+ <message>
+ <source>Number of rounds too low</source>
+ <comment>Key transformation rounds</comment>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>You are using a very low number of key transform rounds with AES-KDF.
+
+If you keep this number, your database may be too easy to crack!</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>KDF unchanged</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Failed to transform key with new KDF parameters; KDF unchanged.</source>
+ <translation type="unfinished"/>
+ </message>
+ <message numerus="yes">
+ <source> MiB</source>
+ <comment>Abbreviation for Mebibytes (KDF settings)</comment>
+ <translation><numerusform> MiB</numerusform><numerusform> MiB</numerusform></translation>
+ </message>
+ <message numerus="yes">
+ <source> thread(s)</source>
+ <comment>Threads for parallel execution (KDF settings)</comment>
+ <translation><numerusform> lõim</numerusform><numerusform> lõime</numerusform></translation>
+ </message>
+ <message numerus="yes">
+ <source>%1 ms</source>
+ <comment>milliseconds</comment>
+ <translation><numerusform>%1 ms</numerusform><numerusform>%1 ms</numerusform></translation>
+ </message>
+ <message numerus="yes">
+ <source>%1 s</source>
+ <comment>seconds</comment>
+ <translation><numerusform>%1 s</numerusform><numerusform>%1 s</numerusform></translation>
+ </message>
+ <message>
+ <source>Change existing decryption time</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Decryption time in seconds</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Database format</source>
+ <translation>Andmebaasi vorming</translation>
+ </message>
+ <message>
+ <source>Encryption algorithm</source>
+ <translation>Krüptimisalgoritm</translation>
+ </message>
+ <message>
+ <source>Key derivation function</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Transform rounds</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Memory usage</source>
+ <translation>Mälukasutus</translation>
+ </message>
+ <message>
+ <source>Parallelism</source>
+ <translation type="unfinished"/>
+ </message>
+</context>
+<context>
+ <name>DatabaseSettingsWidgetFdoSecrets</name>
+ <message>
+ <source>Exposed Entries</source>
+ <translation>Nähtavad kirjed</translation>
+ </message>
+ <message>
+ <source>Don&apos;t e&amp;xpose this database</source>
+ <translation>Seda andmebaasi &amp;ei tehta nähtavaks</translation>
+ </message>
+ <message>
+ <source>Expose entries &amp;under this group:</source>
+ <translation>&amp;Nähtavaks tehakse määratud grupi all olevad kirjed:</translation>
+ </message>
+ <message>
+ <source>Enable fd.o Secret Service to access these settings.</source>
+ <translation>Nende seadete määramiseks luba süsteemis Freedesktop.org-i saladuste teenus.</translation>
+ </message>
+</context>
+<context>
+ <name>DatabaseSettingsWidgetGeneral</name>
+ <message>
+ <source>Database Meta Data</source>
+ <translation>Andmebaasi metaandmed</translation>
+ </message>
+ <message>
+ <source>Database name:</source>
+ <translation>Andmebaasi nimi:</translation>
+ </message>
+ <message>
+ <source>Database description:</source>
+ <translation>Andmebaasi kirjeldus:</translation>
+ </message>
+ <message>
+ <source>Default username:</source>
+ <translation>Vaikimisi kasutajanimi:</translation>
+ </message>
+ <message>
+ <source>History Settings</source>
+ <translation>Ajalooseaded</translation>
+ </message>
+ <message>
+ <source>Max. history items:</source>
+ <translation>Ajalooelementide maksimumarv kirje kohta:</translation>
+ </message>
+ <message>
+ <source>Max. history size:</source>
+ <translation>Ajaloo maksimummaht kirje kohta:</translation>
+ </message>
+ <message>
+ <source> MiB</source>
+ <translation> MiB</translation>
+ </message>
+ <message>
+ <source>Use recycle bin</source>
+ <translation>Kasutatakse prügikasti</translation>
+ </message>
+ <message>
+ <source>Additional Database Settings</source>
+ <translation>Andmebaasi lisaseaded</translation>
+ </message>
+ <message>
+ <source>Enable &amp;compression (recommended)</source>
+ <translation>Andmebaasi tihendamine (soovituslik)</translation>
+ </message>
+ <message>
+ <source>Database name field</source>
+ <translation>Andmebaasi nime väli</translation>
+ </message>
+ <message>
+ <source>Database description field</source>
+ <translation>Andmebaasi kirjelduse väli</translation>
+ </message>
+ <message>
+ <source>Default username field</source>
+ <translation>Vaikimisi kasutajanime väli</translation>
+ </message>
+ <message>
+ <source>Maximum number of history items per entry</source>
+ <translation>Ajalooelementide maksimaalne arv kirje kohta</translation>
+ </message>
+ <message>
+ <source>Maximum size of history per entry</source>
+ <translation>Ajaloo maksimaalne maht kirje kohta</translation>
+ </message>
+ <message>
+ <source>Delete Recycle Bin</source>
+ <translation>Prügikasti kustutamise kinnitus</translation>
+ </message>
+ <message>
+ <source>Do you want to delete the current recycle bin and all its contents?
+This action is not reversible.</source>
+ <translation>Kas oled kindel, et soovid kustutada praeguse prügikasti ja kogu selle sisu?
+Seda toimingut ei saa tagasi võtta.</translation>
+ </message>
+ <message>
+ <source> (old)</source>
+ <translation> (vana)</translation>
+ </message>
+</context>
+<context>
+ <name>DatabaseSettingsWidgetKeeShare</name>
+ <message>
+ <source>Sharing</source>
+ <translation>Jagamine</translation>
+ </message>
+ <message>
+ <source>Breadcrumb</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Type</source>
+ <translation>Tüüp</translation>
+ </message>
+ <message>
+ <source>Path</source>
+ <translation>Asukoht</translation>
+ </message>
+ <message>
+ <source>Last Signer</source>
+ <translation>Viimane allkirjastaja</translation>
+ </message>
+ <message>
+ <source>Certificates</source>
+ <translation>Sertifikaadid</translation>
+ </message>
+ <message>
+ <source> &gt; </source>
+ <comment>Breadcrumb separator</comment>
+ <translation> &gt; </translation>
+ </message>
+</context>
+<context>
+ <name>DatabaseSettingsWidgetMasterKey</name>
+ <message>
+ <source>Add additional protection...</source>
+ <translation>Lisa täiendav kaitse...</translation>
+ </message>
+ <message>
+ <source>No encryption key added</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>You must add at least one encryption key to secure your database!</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>No password set</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>WARNING! You have not set a password. Using a database without a password is strongly discouraged!
+
+Are you sure you want to continue without a password?</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Unknown error</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Failed to change master key</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Continue without password</source>
+ <translation type="unfinished"/>
+ </message>
+</context>
+<context>
+ <name>DatabaseSettingsWidgetMetaDataSimple</name>
+ <message>
+ <source>Database Name:</source>
+ <translation>Andmebaasi nimi:</translation>
+ </message>
+ <message>
+ <source>Description:</source>
+ <translation>Kirjeldus:</translation>
+ </message>
+ <message>
+ <source>Database name field</source>
+ <translation>Andmebaasi nime väli</translation>
+ </message>
+ <message>
+ <source>Database description field</source>
+ <translation>Andmebaasi kirjelduse väli</translation>
+ </message>
+</context>
+<context>
+ <name>DatabaseSettingsWidgetStatistics</name>
+ <message>
+ <source>Statistics</source>
+ <translation>Statistika</translation>
+ </message>
+ <message>
+ <source>Hover over lines with error icons for further information.</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Name</source>
+ <translation>Nimi</translation>
+ </message>
+ <message>
+ <source>Value</source>
+ <translation>Väärtus</translation>
+ </message>
+ <message>
+ <source>Database name</source>
+ <translation>Andmebaasi nimi</translation>
+ </message>
+ <message>
+ <source>Description</source>
+ <translation>Kirjeldus</translation>
+ </message>
+ <message>
+ <source>Location</source>
+ <translation>Asukoht</translation>
+ </message>
+ <message>
+ <source>Last saved</source>
+ <translation>Viimati salvestanud</translation>
+ </message>
+ <message>
+ <source>Unsaved changes</source>
+ <translation>Salvestamata muudatusi</translation>
+ </message>
+ <message>
+ <source>yes</source>
+ <translation>on</translation>
+ </message>
+ <message>
+ <source>no</source>
+ <translation>pole</translation>
+ </message>
+ <message>
+ <source>The database was modified, but the changes have not yet been saved to disk.</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Number of groups</source>
+ <translation>Gruppide arv</translation>
+ </message>
+ <message>
+ <source>Number of entries</source>
+ <translation>Kirjete arv</translation>
+ </message>
+ <message>
+ <source>Number of expired entries</source>
+ <translation>Aegunud kirjete arv</translation>
+ </message>
+ <message>
+ <source>The database contains entries that have expired.</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Unique passwords</source>
+ <translation>Unikaalsete paroolide arv</translation>
+ </message>
+ <message>
+ <source>Non-unique passwords</source>
+ <translation>Korduvate paroolide arv</translation>
+ </message>
+ <message>
+ <source>More than 10% of passwords are reused. Use unique passwords when possible.</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Maximum password reuse</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Some passwords are used more than three times. Use unique passwords when possible.</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Number of short passwords</source>
+ <translation>Lühikeste paroolide arv</translation>
+ </message>
+ <message>
+ <source>Recommended minimum password length is at least 8 characters.</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Number of weak passwords</source>
+ <translation>Nõrkade paroolide arv</translation>
+ </message>
+ <message>
+ <source>Recommend using long, randomized passwords with a rating of &apos;good&apos; or &apos;excellent&apos;.</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Average password length</source>
+ <translation>Paroolide keskmine pikkus</translation>
+ </message>
+ <message>
+ <source>%1 characters</source>
+ <translation>%1 märki</translation>
+ </message>
+ <message>
+ <source>Average password length is less than ten characters. Longer passwords provide more security.</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Please wait, database statistics are being calculated...</source>
+ <translation type="unfinished"/>
+ </message>
+</context>
+<context>
+ <name>DatabaseTabWidget</name>
+ <message>
+ <source>KeePass 2 Database</source>
+ <translation>KeePass 2 andmebaas</translation>
+ </message>
+ <message>
+ <source>All files</source>
+ <translation>Kõik failid</translation>
+ </message>
+ <message>
+ <source>Open database</source>
+ <translation>Andmebaasi avamine</translation>
+ </message>
+ <message>
+ <source>CSV file</source>
+ <translation>CSV-fail</translation>
+ </message>
+ <message>
+ <source>Merge database</source>
+ <translation>Andmebaasi mestimine</translation>
+ </message>
+ <message>
+ <source>Open KeePass 1 database</source>
+ <translation>KeePass 1 andmebaasi avamine</translation>
+ </message>
+ <message>
+ <source>KeePass 1 database</source>
+ <translation>KeePass 1 andmebaas</translation>
+ </message>
+ <message>
+ <source>Export database to CSV file</source>
+ <translation>Andmebaasi eksportimine CSV-failiks</translation>
+ </message>
+ <message>
+ <source>Writing the CSV file failed.</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Database creation error</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>The created database has no key or KDF, refusing to save it.
+This is definitely a bug, please report it to the developers.</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Select CSV file</source>
+ <translation>CSV-faili valimine</translation>
+ </message>
+ <message>
+ <source>New Database</source>
+ <translation>Uus andmebaas</translation>
+ </message>
+ <message>
+ <source>%1 [New Database]</source>
+ <comment>Database tab name modifier</comment>
+ <translation>%1 [uus andmebaas]</translation>
+ </message>
+ <message>
+ <source>%1 [Locked]</source>
+ <comment>Database tab name modifier</comment>
+ <translation>%1 [lukus]</translation>
+ </message>
+ <message>
+ <source>%1 [Read-only]</source>
+ <comment>Database tab name modifier</comment>
+ <translation>%1 [kirjutuskaitstud]</translation>
+ </message>
+ <message>
+ <source>Failed to open %1. It either does not exist or is not accessible.</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Export database to HTML file</source>
+ <translation>Andmebaasi eksportimine HTML-failiks</translation>
+ </message>
+ <message>
+ <source>HTML file</source>
+ <translation>HTML-fail</translation>
+ </message>
+ <message>
+ <source>Writing the HTML file failed.</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Export Confirmation</source>
+ <translation>Eksportimise kinnitus</translation>
+ </message>
+ <message>
+ <source>You are about to export your database to an unencrypted file. This will leave your passwords and sensitive information vulnerable! Are you sure you want to continue?</source>
+ <translation type="unfinished"/>
+ </message>
+</context>
+<context>
+ <name>DatabaseWidget</name>
+ <message>
+ <source>Searching...</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Do you really want to delete the entry &quot;%1&quot; for good?</source>
+ <translation>Kas oled kindel, et tahad kirje &quot;%1&quot; jäädavalt kustutada?</translation>
+ </message>
+ <message>
+ <source>Do you really want to move entry &quot;%1&quot; to the recycle bin?</source>
+ <translation>Kas oled kindel, et tahad kirje &quot;%1&quot; prügikasti visata?</translation>
+ </message>
+ <message numerus="yes">
+ <source>Do you really want to move %n entry(s) to the recycle bin?</source>
+ <translation><numerusform>Kas oled kindel, et tahad selle %n kirje prügikasti visata?</numerusform><numerusform>Kas oled kindel, et tahad need %n kirjet prügikasti visata?</numerusform></translation>
+ </message>
+ <message>
+ <source>Execute command?</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Do you really want to execute the following command?&lt;br&gt;&lt;br&gt;%1&lt;br&gt;</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Remember my choice</source>
+ <translation>Valik jäetakse meelde</translation>
+ </message>
+ <message>
+ <source>Do you really want to delete the group &quot;%1&quot; for good?</source>
+ <translation>Kas oled kindel, et tahad grupi &quot;%1&quot; jäädavalt kustutada?</translation>
+ </message>
+ <message>
+ <source>No current database.</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>No source database, nothing to do.</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Search Results (%1)</source>
+ <translation>Otsingutulemused (%1)</translation>
+ </message>
+ <message>
+ <source>No Results</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>File has changed</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>The database file has changed. Do you want to load the changes?</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Merge Request</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>The database file has changed and you have unsaved changes.
+Do you want to merge your changes?</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Empty recycle bin?</source>
+ <translation>Prügikasti tühjendamise kinnitus</translation>
+ </message>
+ <message>
+ <source>Are you sure you want to permanently delete everything from your recycle bin?</source>
+ <translation>Kas oled kindel, et soovid kogu prügikasti sisu jäädavalt kustutada?</translation>
+ </message>
+ <message numerus="yes">
+ <source>Do you really want to delete %n entry(s) for good?</source>
+ <translation><numerusform>Kas oled kindel, et tahad selle %n kirje jäädavalt kustutada?</numerusform><numerusform>Kas oled kindel, et tahad need %n kirjet jäädavalt kustutada?</numerusform></translation>
+ </message>
+ <message numerus="yes">
+ <source>Delete entry(s)?</source>
+ <translation><numerusform>Kirje kustutamise kinnitus</numerusform><numerusform>Kirjete kustutamise kinnitus</numerusform></translation>
+ </message>
+ <message numerus="yes">
+ <source>Move entry(s) to recycle bin?</source>
+ <translation><numerusform>Kirje prügikasti viskamise kinnitus</numerusform><numerusform>Kirjete prügikasti viskamise kinnitus</numerusform></translation>
+ </message>
+ <message>
+ <source>Lock Database?</source>
+ <translation>Andmebaasi lukustamise kinnitus</translation>
+ </message>
+ <message>
+ <source>You are editing an entry. Discard changes and lock anyway?</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>&quot;%1&quot; was modified.
+Save changes?</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Database was modified.
+Save changes?</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Save changes?</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Could not open the new database file while attempting to autoreload.
+Error: %1</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Disable safe saves?</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>KeePassXC has failed to save the database multiple times. This is likely caused by file sync services holding a lock on the save file.
+Disable safe saves and try again?</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Passwords</source>
+ <translation>Paroolid</translation>
+ </message>
+ <message>
+ <source>Save database as</source>
+ <translation>Andmebaasi salvestamine</translation>
+ </message>
+ <message>
+ <source>KeePass 2 Database</source>
+ <translation>KeePass 2 andmebaas</translation>
+ </message>
+ <message>
+ <source>Replace references to entry?</source>
+ <translation type="unfinished"/>
+ </message>
+ <message numerus="yes">
+ <source>Entry &quot;%1&quot; has %2 reference(s). Do you want to overwrite references with values, skip this entry, or delete anyway?</source>
+ <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
+ </message>
+ <message>
+ <source>Delete group</source>
+ <translation>Grupi kustutamise kinnitus</translation>
+ </message>
+ <message>
+ <source>Move group to recycle bin?</source>
+ <translation>Grupi prügikasti viskamise kinnitus</translation>
+ </message>
+ <message>
+ <source>Do you really want to move the group &quot;%1&quot; to the recycle bin?</source>
+ <translation>Kas oled kindel, et tahad grupi &quot;%1&quot; prügikasti visata?</translation>
+ </message>
+ <message>
+ <source>Successfully merged the database files.</source>
+ <translation>Andmebaasifailid edukalt mestitud.</translation>
+ </message>
+ <message>
+ <source>Database was not modified by merge operation.</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Shared group...</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Writing the database failed: %1</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>This database is opened in read-only mode. Autosave is disabled.</source>
+ <translation type="unfinished"/>
+ </message>
+</context>
+<context>
+ <name>EditEntryWidget</name>
+ <message>
+ <source>Entry</source>
+ <translation>Kirje</translation>
+ </message>
+ <message>
+ <source>Advanced</source>
+ <translation>Lisaomadused</translation>
+ </message>
+ <message>
+ <source>Icon</source>
+ <translation>Ikoon</translation>
+ </message>
+ <message>
+ <source>Auto-Type</source>
+ <translation>Automaatsisestus</translation>
+ </message>
+ <message>
+ <source>Properties</source>
+ <translation>Omadused</translation>
+ </message>
+ <message>
+ <source>History</source>
+ <translation>Ajalugu</translation>
+ </message>
+ <message>
+ <source>SSH Agent</source>
+ <translation>SSH agent</translation>
+ </message>
+ <message>
+ <source>n/a</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>(encrypted)</source>
+ <translation>(krüptitud)</translation>
+ </message>
+ <message>
+ <source>Select private key</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>File too large to be a private key</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Failed to open private key</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Entry history</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Add entry</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Edit entry</source>
+ <translation>Kirje muutmine</translation>
+ </message>
+ <message>
+ <source>Different passwords supplied.</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>New attribute</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Are you sure you want to remove this attribute?</source>
+ <translation>Kas oled kindel, et soovid selle atribuudi eemaldada?</translation>
+ </message>
+ <message>
+ <source>Tomorrow</source>
+ <translation>Homme</translation>
+ </message>
+ <message numerus="yes">
+ <source>%n week(s)</source>
+ <translation><numerusform>%n nädala pärast</numerusform><numerusform>%n nädala pärast</numerusform></translation>
+ </message>
+ <message numerus="yes">
+ <source>%n month(s)</source>
+ <translation><numerusform>%n kuu pärast</numerusform><numerusform>%n kuu pärast</numerusform></translation>
+ </message>
+ <message>
+ <source>Apply generated password?</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Do you want to apply the generated password to this entry?</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Entry updated successfully.</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Entry has unsaved changes</source>
+ <translation>Kas salvestada kirjesse tehtud muudatused?</translation>
+ </message>
+ <message>
+ <source>New attribute %1</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>[PROTECTED] Press reveal to view or edit</source>
+ <translation>[KAITSTUD] Vaatamiseks või muutmiseks klõpsa &quot;Paljasta&quot;</translation>
+ </message>
+ <message numerus="yes">
+ <source>%n year(s)</source>
+ <translation><numerusform>%n aasta pärast</numerusform><numerusform>%n aasta pärast</numerusform></translation>
+ </message>
+ <message>
+ <source>Confirm Removal</source>
+ <translation>Eemaldamise kinnitus</translation>
+ </message>
+ <message>
+ <source>Browser Integration</source>
+ <translation>Brauserilõiming</translation>
+ </message>
+ <message>
+ <source>&lt;empty URL&gt;</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Are you sure you want to remove this URL?</source>
+ <translation>Kas oled kindel, et soovid selle URL-i eemaldada?</translation>
+ </message>
+</context>
+<context>
+ <name>EditEntryWidgetAdvanced</name>
+ <message>
+ <source>Additional attributes</source>
+ <translation>Lisaatribuudid</translation>
+ </message>
+ <message>
+ <source>Add</source>
+ <translation>Lisa</translation>
+ </message>
+ <message>
+ <source>Remove</source>
+ <translation>Eemalda</translation>
+ </message>
+ <message>
+ <source>Edit Name</source>
+ <translation>Muuda nime</translation>
+ </message>
+ <message>
+ <source>Protect</source>
+ <translation>Kaitstud</translation>
+ </message>
+ <message>
+ <source>Reveal</source>
+ <translation>Paljasta</translation>
+ </message>
+ <message>
+ <source>Attachments</source>
+ <translation>Kaasatud failid</translation>
+ </message>
+ <message>
+ <source>Foreground Color:</source>
+ <translation>Esiplaani värv:</translation>
+ </message>
+ <message>
+ <source>Background Color:</source>
+ <translation>Taustavärv:</translation>
+ </message>
+ <message>
+ <source>Attribute selection</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Attribute value</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Add a new attribute</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Remove selected attribute</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Edit attribute name</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Toggle attribute protection</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Show a protected attribute</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Foreground color selection</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Background color selection</source>
+ <translation type="unfinished"/>
+ </message>
+</context>
+<context>
+ <name>EditEntryWidgetAutoType</name>
+ <message>
+ <source>Enable Auto-Type for this entry</source>
+ <translation>Automaatsisestuse lubamine selle kirje puhul</translation>
+ </message>
+ <message>
+ <source>Inherit default Auto-Type sequence from the &amp;group</source>
+ <translation>&amp;Grupilt päritud automaatsisestuse jada</translation>
+ </message>
+ <message>
+ <source>&amp;Use custom Auto-Type sequence:</source>
+ <translation>&amp;Omamääratud automaatsisestuse jada:</translation>
+ </message>
+ <message>
+ <source>Window Associations</source>
+ <translation>Aknaseosed</translation>
+ </message>
+ <message>
+ <source>+</source>
+ <translation>Lisa</translation>
+ </message>
+ <message>
+ <source>-</source>
+ <translation>Eemalda</translation>
+ </message>
+ <message>
+ <source>Window title:</source>
+ <translation>Akna tiitel:</translation>
+ </message>
+ <message>
+ <source>Use a specific sequence for this association:</source>
+ <translation>Selle seose jaoks kasutatakse eraldi jada:</translation>
+ </message>
+ <message>
+ <source>Custom Auto-Type sequence</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Open Auto-Type help webpage</source>
+ <translation>Ava automaatsisestuse abimaterjal veebis</translation>
+ </message>
+ <message>
+ <source>Existing window associations</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Add new window association</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Remove selected window association</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>You can use an asterisk (*) to match everything</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Set the window association title</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>You can use an asterisk to match everything</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Custom Auto-Type sequence for this window</source>
+ <translation type="unfinished"/>
+ </message>
+</context>
+<context>
+ <name>EditEntryWidgetBrowser</name>
+ <message>
+ <source>These settings affect to the entry&apos;s behaviour with the browser extension.</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>General</source>
+ <translation>Ãœldine</translation>
+ </message>
+ <message>
+ <source>Skip Auto-Submit for this entry</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Hide this entry from the browser extension</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Additional URL&apos;s</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Add</source>
+ <translation>Lisa</translation>
+ </message>
+ <message>
+ <source>Remove</source>
+ <translation>Eemalda</translation>
+ </message>
+ <message>
+ <source>Edit</source>
+ <translation type="unfinished"/>
+ </message>
+</context>
+<context>
+ <name>EditEntryWidgetHistory</name>
+ <message>
+ <source>Show</source>
+ <translation>Näita</translation>
+ </message>
+ <message>
+ <source>Restore</source>
+ <translation>Taasta</translation>
+ </message>
+ <message>
+ <source>Delete</source>
+ <translation>Kustuta</translation>
+ </message>
+ <message>
+ <source>Delete all</source>
+ <translation>Kustuta kõik</translation>
+ </message>
+ <message>
+ <source>Entry history selection</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Show entry at selected history state</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Restore entry to selected history state</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Delete selected history state</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Delete all history</source>
+ <translation type="unfinished"/>
+ </message>
+</context>
+<context>
+ <name>EditEntryWidgetMain</name>
+ <message>
+ <source>URL:</source>
+ <translation>URL:</translation>
+ </message>
+ <message>
+ <source>Password:</source>
+ <translation>Parool:</translation>
+ </message>
+ <message>
+ <source>Repeat:</source>
+ <translation>Kordus:</translation>
+ </message>
+ <message>
+ <source>Title:</source>
+ <translation>Pealkiri:</translation>
+ </message>
+ <message>
+ <source>Notes</source>
+ <translation>Märkmed</translation>
+ </message>
+ <message>
+ <source>Presets</source>
+ <translation>Valmisseaded</translation>
+ </message>
+ <message>
+ <source>Toggle the checkbox to reveal the notes section.</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Username:</source>
+ <translation>Kasutajanimi:</translation>
+ </message>
+ <message>
+ <source>Expires</source>
+ <translation>Aegub</translation>
+ </message>
+ <message>
+ <source>Url field</source>
+ <translation>URL-i väli</translation>
+ </message>
+ <message>
+ <source>Download favicon for URL</source>
+ <translation>Laadi alla saidiikoon selle URL-i jaoks</translation>
+ </message>
+ <message>
+ <source>Repeat password field</source>
+ <translation>Parooli korduse väli</translation>
+ </message>
+ <message>
+ <source>Toggle password generator</source>
+ <translation>Lülita parooligeneraatori nähtavust</translation>
+ </message>
+ <message>
+ <source>Password field</source>
+ <translation>Parooli väli</translation>
+ </message>
+ <message>
+ <source>Toggle password visibility</source>
+ <translation>Lülita parooli nähtavust</translation>
+ </message>
+ <message>
+ <source>Toggle notes visible</source>
+ <translation>Lülita märkmete nähtavust</translation>
+ </message>
+ <message>
+ <source>Expiration field</source>
+ <translation>Aegumise väli</translation>
+ </message>
+ <message>
+ <source>Expiration Presets</source>
+ <translation>Vaikimisi aegumisvalikud</translation>
+ </message>
+ <message>
+ <source>Expiration presets</source>
+ <translation>Vaikimisi aegumisvalikud</translation>
+ </message>
+ <message>
+ <source>Notes field</source>
+ <translation>Märkmete väli</translation>
+ </message>
+ <message>
+ <source>Title field</source>
+ <translation>Pealkirja väli</translation>
+ </message>
+ <message>
+ <source>Username field</source>
+ <translation>Kasutajanime väli</translation>
+ </message>
+ <message>
+ <source>Toggle expiration</source>
+ <translation>Lülita aegumist</translation>
+ </message>
+</context>
+<context>
+ <name>EditEntryWidgetSSHAgent</name>
+ <message>
+ <source>Form</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Remove key from agent after</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source> seconds</source>
+ <translation> sekundit</translation>
+ </message>
+ <message>
+ <source>Fingerprint</source>
+ <translation>Sõrmejälg:</translation>
+ </message>
+ <message>
+ <source>Remove key from agent when database is closed/locked</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Public key</source>
+ <translation>Avalik võti:</translation>
+ </message>
+ <message>
+ <source>Add key to agent when database is opened/unlocked</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Comment</source>
+ <translation>Märkus:</translation>
+ </message>
+ <message>
+ <source>Decrypt</source>
+ <translation>Krüpti lahti</translation>
+ </message>
+ <message>
+ <source>n/a</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Copy to clipboard</source>
+ <translation>Kopeeri lõikepuhvrisse</translation>
+ </message>
+ <message>
+ <source>Private key</source>
+ <translation>Privaatvõti</translation>
+ </message>
+ <message>
+ <source>External file</source>
+ <translation>Väline fail:</translation>
+ </message>
+ <message>
+ <source>Browse...</source>
+ <extracomment>Button for opening file dialog</extracomment>
+ <translation>Sirvi...</translation>
+ </message>
+ <message>
+ <source>Attachment</source>
+ <translation>Kaasatud fail:</translation>
+ </message>
+ <message>
+ <source>Add to agent</source>
+ <translation>Lisa agendile</translation>
+ </message>
+ <message>
+ <source>Remove from agent</source>
+ <translation>Eemalda agendilt</translation>
+ </message>
+ <message>
+ <source>Require user confirmation when this key is used</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Remove key from agent after specified seconds</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Browser for key file</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>External key file</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Select attachment file</source>
+ <translation type="unfinished"/>
+ </message>
+</context>
+<context>
+ <name>EditGroupWidget</name>
+ <message>
+ <source>Group</source>
+ <translation>Grupp</translation>
+ </message>
+ <message>
+ <source>Icon</source>
+ <translation>Ikoon</translation>
+ </message>
+ <message>
+ <source>Properties</source>
+ <translation>Omadused</translation>
+ </message>
+ <message>
+ <source>Add group</source>
+ <translation>Grupi lisamine</translation>
+ </message>
+ <message>
+ <source>Edit group</source>
+ <translation>Grupi muutmine</translation>
+ </message>
+ <message>
+ <source>Enable</source>
+ <translation>lubatud</translation>
+ </message>
+ <message>
+ <source>Disable</source>
+ <translation>keelatud</translation>
+ </message>
+ <message>
+ <source>Inherit from parent group (%1)</source>
+ <translation>ülemgrupi järgi (%1)</translation>
+ </message>
+ <message>
+ <source>Entry has unsaved changes</source>
+ <translation>Kas salvestada grupile tehtud muudatused?</translation>
+ </message>
+</context>
+<context>
+ <name>EditGroupWidgetKeeShare</name>
+ <message>
+ <source>Form</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Type:</source>
+ <translation>Tüüp:</translation>
+ </message>
+ <message>
+ <source>Path:</source>
+ <translation>Asukoht:</translation>
+ </message>
+ <message>
+ <source>...</source>
+ <translation>...</translation>
+ </message>
+ <message>
+ <source>Password:</source>
+ <translation>Parool:</translation>
+ </message>
+ <message>
+ <source>Inactive</source>
+ <translation>mitteaktiivne</translation>
+ </message>
+ <message>
+ <source>KeeShare unsigned container</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>KeeShare signed container</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Select import source</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Select export target</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Select import/export file</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Clear</source>
+ <translation>Puhasta</translation>
+ </message>
+ <message>
+ <source>Import</source>
+ <translation>importimine</translation>
+ </message>
+ <message>
+ <source>Export</source>
+ <translation>eksportimine</translation>
+ </message>
+ <message>
+ <source>Synchronize</source>
+ <translation>sünkroonimine</translation>
+ </message>
+ <message>
+ <source>Your KeePassXC version does not support sharing this container type.
+Supported extensions are: %1.</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>%1 is already being exported by this database.</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>%1 is already being imported by this database.</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>%1 is being imported and exported by different groups in this database.</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>KeeShare is currently disabled. You can enable import/export in the application settings.</source>
+ <comment>KeeShare is a proper noun</comment>
+ <translation>KeeShare on hetkel keelatud. Rakenduse seadetes saab importimise/eksportimise lubada.</translation>
+ </message>
+ <message>
+ <source>Database export is currently disabled by application settings.</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Database import is currently disabled by application settings.</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Sharing mode field</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Path to share file field</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Browser for share file</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Password field</source>
+ <translation>Parooli väli</translation>
+ </message>
+ <message>
+ <source>Toggle password visibility</source>
+ <translation>Lülita parooli nähtavust</translation>
+ </message>
+ <message>
+ <source>Toggle password generator</source>
+ <translation>Lülita parooligeneraatori nähtavust</translation>
+ </message>
+ <message>
+ <source>Clear fields</source>
+ <translation type="unfinished"/>
+ </message>
+</context>
+<context>
+ <name>EditGroupWidgetMain</name>
+ <message>
+ <source>Name</source>
+ <translation>Nimi</translation>
+ </message>
+ <message>
+ <source>Notes</source>
+ <translation>Märkmed</translation>
+ </message>
+ <message>
+ <source>Expires</source>
+ <translation>Aegub</translation>
+ </message>
+ <message>
+ <source>Search</source>
+ <translation>Otsimine</translation>
+ </message>
+ <message>
+ <source>Auto-Type</source>
+ <translation>Automaatsisestus</translation>
+ </message>
+ <message>
+ <source>&amp;Use default Auto-Type sequence of parent group</source>
+ <translation>Kasutatakse ülemgrupi vaikimisi automaatsisestuse jada</translation>
+ </message>
+ <message>
+ <source>Set default Auto-Type se&amp;quence</source>
+ <translation>Grupile määratakse oma vaikimisi automaatsisestuse jada</translation>
+ </message>
+ <message>
+ <source>Name field</source>
+ <translation>Nime väli</translation>
+ </message>
+ <message>
+ <source>Notes field</source>
+ <translation>Märkmete väli</translation>
+ </message>
+ <message>
+ <source>Toggle expiration</source>
+ <translation>Lülita aegumist</translation>
+ </message>
+ <message>
+ <source>Auto-Type toggle for this and sub groups</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Expiration field</source>
+ <translation>Aegumise väli</translation>
+ </message>
+ <message>
+ <source>Search toggle for this and sub groups</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Default auto-type sequence field</source>
+ <translation>Vaikimisi automaatsisestuse jada väli</translation>
+ </message>
+</context>
+<context>
+ <name>EditWidgetIcons</name>
+ <message>
+ <source>&amp;Use default icon</source>
+ <translation>&amp;Vaikeikoon</translation>
+ </message>
+ <message>
+ <source>Use custo&amp;m icon</source>
+ <translation>&amp;Kohandatud ikoon</translation>
+ </message>
+ <message>
+ <source>Add custom icon</source>
+ <translation>Lisa kohandatud ikoon</translation>
+ </message>
+ <message>
+ <source>Delete custom icon</source>
+ <translation>Kustuta kohandatud ikoon</translation>
+ </message>
+ <message>
+ <source>Download favicon</source>
+ <translation>Laadi alla saidiikoon</translation>
+ </message>
+ <message>
+ <source>Unable to fetch favicon.</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Images</source>
+ <translation>Pildid</translation>
+ </message>
+ <message>
+ <source>All files</source>
+ <translation>Kõik failid</translation>
+ </message>
+ <message>
+ <source>Confirm Delete</source>
+ <translation>Kustutamise kinnitus</translation>
+ </message>
+ <message>
+ <source>Select Image(s)</source>
+ <translation>Piltide valimine</translation>
+ </message>
+ <message numerus="yes">
+ <source>Successfully loaded %1 of %n icon(s)</source>
+ <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
+ </message>
+ <message>
+ <source>No icons were loaded</source>
+ <translation type="unfinished"/>
+ </message>
+ <message numerus="yes">
+ <source>%n icon(s) already exist in the database</source>
+ <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
+ </message>
+ <message numerus="yes">
+ <source>The following icon(s) failed:</source>
+ <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
+ </message>
+ <message numerus="yes">
+ <source>This icon is used by %n entry(s), and will be replaced by the default icon. Are you sure you want to delete it?</source>
+ <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
+ </message>
+ <message>
+ <source>You can enable the DuckDuckGo website icon service under Tools -&gt; Settings -&gt; Security</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Download favicon for URL</source>
+ <translation>Laadi alla saidiikoon selle URL-i jaoks</translation>
+ </message>
+ <message>
+ <source>Apply selected icon to subgroups and entries</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Apply icon &amp;to ...</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Apply to this only</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Also apply to child groups</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Also apply to child entries</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Also apply to all children</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Existing icon selected.</source>
+ <translation type="unfinished"/>
+ </message>
+</context>
+<context>
+ <name>EditWidgetProperties</name>
+ <message>
+ <source>Created:</source>
+ <translation>Loodud:</translation>
+ </message>
+ <message>
+ <source>Modified:</source>
+ <translation>Muudetud:</translation>
+ </message>
+ <message>
+ <source>Accessed:</source>
+ <translation>Vaadatud:</translation>
+ </message>
+ <message>
+ <source>Uuid:</source>
+ <translation>UUID:</translation>
+ </message>
+ <message>
+ <source>Plugin Data</source>
+ <translation>Pluginate andmed</translation>
+ </message>
+ <message>
+ <source>Remove</source>
+ <translation>Eemalda</translation>
+ </message>
+ <message>
+ <source>Delete plugin data?</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Do you really want to delete the selected plugin data?
+This may cause the affected plugins to malfunction.</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Key</source>
+ <translation>Võti</translation>
+ </message>
+ <message>
+ <source>Value</source>
+ <translation>Väärtus</translation>
+ </message>
+ <message>
+ <source>Datetime created</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Datetime modified</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Datetime accessed</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Unique ID</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Plugin data</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Remove selected plugin data</source>
+ <translation type="unfinished"/>
+ </message>
+</context>
+<context>
+ <name>Entry</name>
+ <message>
+ <source>%1 - Clone</source>
+ <translation>%1 - koopia</translation>
+ </message>
+</context>
+<context>
+ <name>EntryAttachmentsModel</name>
+ <message>
+ <source>Name</source>
+ <translation>Nimi</translation>
+ </message>
+ <message>
+ <source>Size</source>
+ <translation>Suurus</translation>
+ </message>
+</context>
+<context>
+ <name>EntryAttachmentsWidget</name>
+ <message>
+ <source>Form</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Add</source>
+ <translation>Lisa</translation>
+ </message>
+ <message>
+ <source>Remove</source>
+ <translation>Eemalda</translation>
+ </message>
+ <message>
+ <source>Open</source>
+ <translation>Ava</translation>
+ </message>
+ <message>
+ <source>Save</source>
+ <translation>Salvesta</translation>
+ </message>
+ <message>
+ <source>Select files</source>
+ <translation>Failide valimine</translation>
+ </message>
+ <message numerus="yes">
+ <source>Are you sure you want to remove %n attachment(s)?</source>
+ <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
+ </message>
+ <message>
+ <source>Save attachments</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Unable to create directory:
+%1</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Are you sure you want to overwrite the existing file &quot;%1&quot; with the attachment?</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Confirm overwrite</source>
+ <translation>Ãœlekirjutamise kinnitus</translation>
+ </message>
+ <message>
+ <source>Unable to save attachments:
+%1</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Unable to open attachment:
+%1</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Unable to open attachments:
+%1</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Confirm remove</source>
+ <translation>Eemaldamise kinnitus</translation>
+ </message>
+ <message numerus="yes">
+ <source>Unable to open file(s):
+%1</source>
+ <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
+ </message>
+ <message>
+ <source>Attachments</source>
+ <translation>Kaasatud failid</translation>
+ </message>
+ <message>
+ <source>Add new attachment</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Remove selected attachment</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Open selected attachment</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Save selected attachment to disk</source>
+ <translation type="unfinished"/>
+ </message>
+</context>
+<context>
+ <name>EntryAttributesModel</name>
+ <message>
+ <source>Name</source>
+ <translation>Nimi</translation>
+ </message>
+</context>
+<context>
+ <name>EntryHistoryModel</name>
+ <message>
+ <source>Last modified</source>
+ <translation>Muudetud</translation>
+ </message>
+ <message>
+ <source>Title</source>
+ <translation>Pealkiri</translation>
+ </message>
+ <message>
+ <source>Username</source>
+ <translation>Kasutajanimi</translation>
+ </message>
+ <message>
+ <source>URL</source>
+ <translation>URL</translation>
+ </message>
+</context>
+<context>
+ <name>EntryModel</name>
+ <message>
+ <source>Ref: </source>
+ <comment>Reference abbreviation</comment>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Group</source>
+ <translation>Grupp</translation>
+ </message>
+ <message>
+ <source>Title</source>
+ <translation>Pealkiri</translation>
+ </message>
+ <message>
+ <source>Username</source>
+ <translation>Kasutajanimi</translation>
+ </message>
+ <message>
+ <source>URL</source>
+ <translation>URL</translation>
+ </message>
+ <message>
+ <source>Never</source>
+ <translation>mitte kunagi</translation>
+ </message>
+ <message>
+ <source>Password</source>
+ <translation>Parool</translation>
+ </message>
+ <message>
+ <source>Notes</source>
+ <translation>Märkmed</translation>
+ </message>
+ <message>
+ <source>Expires</source>
+ <translation>Aegub</translation>
+ </message>
+ <message>
+ <source>Created</source>
+ <translation>Loodud</translation>
+ </message>
+ <message>
+ <source>Modified</source>
+ <translation>Muudetud</translation>
+ </message>
+ <message>
+ <source>Accessed</source>
+ <translation>Vaadatud</translation>
+ </message>
+ <message>
+ <source>Attachments</source>
+ <translation>Kaasatud failid</translation>
+ </message>
+ <message>
+ <source>Yes</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>TOTP</source>
+ <translation>TOTP</translation>
+ </message>
+</context>
+<context>
+ <name>EntryPreviewWidget</name>
+ <message>
+ <source>Close</source>
+ <translation>Sulge</translation>
+ </message>
+ <message>
+ <source>General</source>
+ <translation>Ãœldine</translation>
+ </message>
+ <message>
+ <source>Username</source>
+ <translation>Kasutajanimi</translation>
+ </message>
+ <message>
+ <source>Password</source>
+ <translation>Parool</translation>
+ </message>
+ <message>
+ <source>Expiration</source>
+ <translation>Aegumine</translation>
+ </message>
+ <message>
+ <source>URL</source>
+ <translation>URL</translation>
+ </message>
+ <message>
+ <source>Attributes</source>
+ <translation>Atribuudid</translation>
+ </message>
+ <message>
+ <source>Attachments</source>
+ <translation>Kaasatud failid</translation>
+ </message>
+ <message>
+ <source>Notes</source>
+ <translation>Märkmed</translation>
+ </message>
+ <message>
+ <source>Autotype</source>
+ <translation>Automaatsisestus</translation>
+ </message>
+ <message>
+ <source>Window</source>
+ <translation>Aken</translation>
+ </message>
+ <message>
+ <source>Sequence</source>
+ <translation>Jada</translation>
+ </message>
+ <message>
+ <source>Searching</source>
+ <translation>Otsimine</translation>
+ </message>
+ <message>
+ <source>Search</source>
+ <translation>Otsimine</translation>
+ </message>
+ <message>
+ <source>Clear</source>
+ <translation>Puhasta</translation>
+ </message>
+ <message>
+ <source>Never</source>
+ <translation>mitte kunagi</translation>
+ </message>
+ <message>
+ <source>[PROTECTED]</source>
+ <translation>[KAITSTUD]</translation>
+ </message>
+ <message>
+ <source>&lt;b&gt;%1&lt;/b&gt;: %2</source>
+ <comment>attributes line</comment>
+ <translation>&lt;b&gt;%1&lt;/b&gt;: %2</translation>
+ </message>
+ <message>
+ <source>Enabled</source>
+ <translation>lubatud</translation>
+ </message>
+ <message>
+ <source>Disabled</source>
+ <translation>keelatud</translation>
+ </message>
+ <message>
+ <source>Share</source>
+ <translation>Jagamine</translation>
+ </message>
+ <message>
+ <source>Display current TOTP value</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Advanced</source>
+ <translation>Lisaomadused</translation>
+ </message>
+</context>
+<context>
+ <name>EntryView</name>
+ <message>
+ <source>Customize View</source>
+ <translation>Vaate kohandamine</translation>
+ </message>
+ <message>
+ <source>Hide Usernames</source>
+ <translation>Kasutajanimed peidetud</translation>
+ </message>
+ <message>
+ <source>Hide Passwords</source>
+ <translation>Paroolid peidetud</translation>
+ </message>
+ <message>
+ <source>Fit to window</source>
+ <translation>Mahuta aknasse</translation>
+ </message>
+ <message>
+ <source>Fit to contents</source>
+ <translation>Mahuta sisu järgi</translation>
+ </message>
+ <message>
+ <source>Reset to defaults</source>
+ <translation>Taasta vaikeväärtused</translation>
+ </message>
+ <message>
+ <source>Attachments (icon)</source>
+ <translation>Kaasatud failid (ikoon)</translation>
+ </message>
+</context>
+<context>
+ <name>FdoSecrets::Item</name>
+ <message>
+ <source>Entry &quot;%1&quot; from database &quot;%2&quot; was used by %3</source>
+ <translation type="unfinished"/>
+ </message>
+</context>
+<context>
+ <name>FdoSecrets::Service</name>
+ <message>
+ <source>Failed to register DBus service at %1: another secret service is running.</source>
+ <translation type="unfinished"/>
+ </message>
+ <message numerus="yes">
+ <source>%n Entry(s) was used by %1</source>
+ <comment>%1 is the name of an application</comment>
+ <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
+ </message>
+</context>
+<context>
+ <name>FdoSecretsPlugin</name>
+ <message>
+ <source>Fdo Secret Service: %1</source>
+ <translation type="unfinished"/>
+ </message>
+</context>
+<context>
+ <name>Group</name>
+ <message>
+ <source>[empty]</source>
+ <comment>group has no children</comment>
+ <translation type="unfinished"/>
+ </message>
+</context>
+<context>
+ <name>HostInstaller</name>
+ <message>
+ <source>KeePassXC: Cannot save file!</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Cannot save the native messaging script file.</source>
+ <translation type="unfinished"/>
+ </message>
+</context>
+<context>
+ <name>IconDownloaderDialog</name>
+ <message>
+ <source>Download Favicons</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Cancel</source>
+ <translation>Loobu</translation>
+ </message>
+ <message>
+ <source>Having trouble downloading icons?
+You can enable the DuckDuckGo website icon service in the security section of the application settings.</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Close</source>
+ <translation>Sulge</translation>
+ </message>
+ <message>
+ <source>URL</source>
+ <translation>URL</translation>
+ </message>
+ <message>
+ <source>Status</source>
+ <translation>Olek</translation>
+ </message>
+ <message>
+ <source>Please wait, processing entry list...</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Downloading...</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Ok</source>
+ <translation>OK</translation>
+ </message>
+ <message>
+ <source>Already Exists</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Download Failed</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Downloading favicons (%1/%2)...</source>
+ <translation type="unfinished"/>
+ </message>
+</context>
+<context>
+ <name>KMessageWidget</name>
+ <message>
+ <source>&amp;Close</source>
+ <translation>S&amp;ulge</translation>
+ </message>
+ <message>
+ <source>Close message</source>
+ <translation type="unfinished"/>
+ </message>
+</context>
+<context>
+ <name>Kdbx3Reader</name>
+ <message>
+ <source>Unable to calculate master key</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Unable to issue challenge-response.</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>missing database headers</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Header doesn&apos;t match hash</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Invalid header id size</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Invalid header field length</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Invalid header data length</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Invalid credentials were provided, please try again.
+If this reoccurs, then your database file may be corrupt.</source>
+ <translation>sisestatud tunnused ei sobinud, proovi palun uuesti.
+Kui probleem püsib, võib andmebaasifail olla rikutud.</translation>
+ </message>
+</context>
+<context>
+ <name>Kdbx3Writer</name>
+ <message>
+ <source>Unable to issue challenge-response.</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Unable to calculate master key</source>
+ <translation type="unfinished"/>
+ </message>
+</context>
+<context>
+ <name>Kdbx4Reader</name>
+ <message>
+ <source>missing database headers</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Unable to calculate master key</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Invalid header checksum size</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Header SHA256 mismatch</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Unknown cipher</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Invalid header id size</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Invalid header field length</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Invalid header data length</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Failed to open buffer for KDF parameters in header</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Unsupported key derivation function (KDF) or invalid parameters</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Legacy header fields found in KDBX4 file.</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Invalid inner header id size</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Invalid inner header field length</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Invalid inner header binary size</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Unsupported KeePass variant map version.</source>
+ <extracomment>Translation: variant map = data structure for storing meta data</extracomment>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Invalid variant map entry name length</source>
+ <extracomment>Translation: variant map = data structure for storing meta data</extracomment>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Invalid variant map entry name data</source>
+ <extracomment>Translation: variant map = data structure for storing meta data</extracomment>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Invalid variant map entry value length</source>
+ <extracomment>Translation: variant map = data structure for storing meta data</extracomment>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Invalid variant map entry value data</source>
+ <extracomment>Translation comment: variant map = data structure for storing meta data</extracomment>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Invalid variant map Bool entry value length</source>
+ <extracomment>Translation: variant map = data structure for storing meta data</extracomment>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Invalid variant map Int32 entry value length</source>
+ <extracomment>Translation: variant map = data structure for storing meta data</extracomment>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Invalid variant map UInt32 entry value length</source>
+ <extracomment>Translation: variant map = data structure for storing meta data</extracomment>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Invalid variant map Int64 entry value length</source>
+ <extracomment>Translation: variant map = data structure for storing meta data</extracomment>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Invalid variant map UInt64 entry value length</source>
+ <extracomment>Translation: variant map = data structure for storing meta data</extracomment>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Invalid variant map entry type</source>
+ <extracomment>Translation: variant map = data structure for storing meta data</extracomment>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Invalid variant map field type size</source>
+ <extracomment>Translation: variant map = data structure for storing meta data</extracomment>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Invalid credentials were provided, please try again.
+If this reoccurs, then your database file may be corrupt.</source>
+ <translation>sisestatud tunnused ei sobinud, proovi palun uuesti.
+Kui probleem püsib, võib andmebaasifail olla rikutud.</translation>
+ </message>
+ <message>
+ <source>(HMAC mismatch)</source>
+ <translation type="unfinished"/>
+ </message>
+</context>
+<context>
+ <name>Kdbx4Writer</name>
+ <message>
+ <source>Invalid symmetric cipher algorithm.</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Invalid symmetric cipher IV size.</source>
+ <comment>IV = Initialization Vector for symmetric cipher</comment>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Unable to calculate master key</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Failed to serialize KDF parameters variant map</source>
+ <extracomment>Translation comment: variant map = data structure for storing meta data</extracomment>
+ <translation type="unfinished"/>
+ </message>
+</context>
+<context>
+ <name>KdbxReader</name>
+ <message>
+ <source>Unsupported cipher</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Invalid compression flags length</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Unsupported compression algorithm</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Invalid master seed size</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Invalid transform seed size</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Invalid transform rounds size</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Invalid start bytes size</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Invalid random stream id size</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Invalid inner random stream cipher</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Not a KeePass database.</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>The selected file is an old KeePass 1 database (.kdb).
+
+You can import it by clicking on Database &gt; 'Import KeePass 1 database...'.
+This is a one-way migration. You won&apos;t be able to open the imported database with the old KeePassX 0.4 version.</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Unsupported KeePass 2 database version.</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Invalid cipher uuid length: %1 (length=%2)</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Unable to parse UUID: %1</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Failed to read database file.</source>
+ <translation type="unfinished"/>
+ </message>
+</context>
+<context>
+ <name>KdbxXmlReader</name>
+ <message>
+ <source>XML parsing failure: %1</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>No root group</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Missing icon uuid or data</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Missing custom data key or value</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Multiple group elements</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Null group uuid</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Invalid group icon number</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Invalid EnableAutoType value</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Invalid EnableSearching value</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>No group uuid found</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Null DeleteObject uuid</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Missing DeletedObject uuid or time</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Null entry uuid</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Invalid entry icon number</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>History element in history entry</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>No entry uuid found</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>History element with different uuid</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Duplicate custom attribute found</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Entry string key or value missing</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Duplicate attachment found</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Entry binary key or value missing</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Auto-type association window or sequence missing</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Invalid bool value</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Invalid date time value</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Invalid color value</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Invalid color rgb part</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Invalid number value</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Invalid uuid value</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Unable to decompress binary</source>
+ <extracomment>Translator meant is a binary data inside an entry</extracomment>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>XML error:
+%1
+Line %2, column %3</source>
+ <translation type="unfinished"/>
+ </message>
+</context>
+<context>
+ <name>KeePass1OpenWidget</name>
+ <message>
+ <source>Unable to open the database.</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Import KeePass1 Database</source>
+ <translation type="unfinished"/>
+ </message>
+</context>
+<context>
+ <name>KeePass1Reader</name>
+ <message>
+ <source>Unable to read keyfile.</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Not a KeePass database.</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Unsupported encryption algorithm.</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Unsupported KeePass database version.</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Unable to read encryption IV</source>
+ <comment>IV = Initialization Vector for symmetric cipher</comment>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Invalid number of groups</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Invalid number of entries</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Invalid content hash size</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Invalid transform seed size</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Invalid number of transform rounds</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Unable to construct group tree</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Root</source>
+ <translation>Juur</translation>
+ </message>
+ <message>
+ <source>Unable to calculate master key</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Key transformation failed</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Invalid group field type number</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Invalid group field size</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Read group field data doesn&apos;t match size</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Incorrect group id field size</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Incorrect group creation time field size</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Incorrect group modification time field size</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Incorrect group access time field size</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Incorrect group expiry time field size</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Incorrect group icon field size</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Incorrect group level field size</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Invalid group field type</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Missing group id or level</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Missing entry field type number</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Invalid entry field size</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Read entry field data doesn&apos;t match size</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Invalid entry uuid field size</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Invalid entry group id field size</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Invalid entry icon field size</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Invalid entry creation time field size</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Invalid entry modification time field size</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Invalid entry expiry time field size</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Invalid entry field type</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>unable to seek to content position</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Invalid credentials were provided, please try again.
+If this reoccurs, then your database file may be corrupt.</source>
+ <translation>sisestatud tunnused ei sobinud, proovi palun uuesti.
+Kui probleem püsib, võib andmebaasifail olla rikutud.</translation>
+ </message>
+</context>
+<context>
+ <name>KeeShare</name>
+ <message>
+ <source>Invalid sharing reference</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Inactive share %1</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Imported from %1</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Exported to %1</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Synchronized with %1</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Import is disabled in settings</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Export is disabled in settings</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Inactive share</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Imported from</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Exported to</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Synchronized with</source>
+ <translation type="unfinished"/>
+ </message>
+</context>
+<context>
+ <name>KeyComponentWidget</name>
+ <message>
+ <source>Key Component</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Key Component Description</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Cancel</source>
+ <translation>Loobu</translation>
+ </message>
+ <message>
+ <source>Key Component set, click to change or remove</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Add %1</source>
+ <comment>Add a key component</comment>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Change %1</source>
+ <comment>Change a key component</comment>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Remove %1</source>
+ <comment>Remove a key component</comment>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>%1 set, click to change or remove</source>
+ <comment>Change or remove a key component</comment>
+ <translation>%1 on määratud, muutmiseks või eemaldamiseks klõpsa vastavat nuppu</translation>
+ </message>
+</context>
+<context>
+ <name>KeyFileEditWidget</name>
+ <message>
+ <source>Generate</source>
+ <translation>Genereeri</translation>
+ </message>
+ <message>
+ <source>Key File</source>
+ <translation>Võtmefail</translation>
+ </message>
+ <message>
+ <source>&lt;p&gt;You can add a key file containing random bytes for additional security.&lt;/p&gt;&lt;p&gt;You must keep it secret and never lose it or you will be locked out!&lt;/p&gt;</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Legacy key file format</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>You are using a legacy key file format which may become
+unsupported in the future.
+
+Please go to the master key settings and generate a new key file.</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Error loading the key file '%1'
+Message: %2</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Key files</source>
+ <translation>Võtmefailid</translation>
+ </message>
+ <message>
+ <source>All files</source>
+ <translation>Kõik failid</translation>
+ </message>
+ <message>
+ <source>Create Key File...</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Error creating key file</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Unable to create key file: %1</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Select a key file</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Key file selection</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Browse for key file</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Browse...</source>
+ <translation>Sirvi...</translation>
+ </message>
+ <message>
+ <source>Generate a new key file</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Note: Do not use a file that may change as that will prevent you from unlocking your database!</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Invalid Key File</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>You cannot use the current database as its own keyfile. Please choose a different file or generate a new key file.</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Suspicious Key File</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>The chosen key file looks like a password database file. A key file must be a static file that never changes or you will lose access to your database forever.
+Are you sure you want to continue with this file?</source>
+ <translation type="unfinished"/>
+ </message>
+</context>
+<context>
+ <name>MainWindow</name>
+ <message>
+ <source>&amp;Database</source>
+ <translation>&amp;Andmebaas</translation>
+ </message>
+ <message>
+ <source>&amp;Recent databases</source>
+ <translation>Viimatised andme&amp;baasid</translation>
+ </message>
+ <message>
+ <source>&amp;Help</source>
+ <translation>A&amp;bi</translation>
+ </message>
+ <message>
+ <source>E&amp;ntries</source>
+ <translation>&amp;Kirjed</translation>
+ </message>
+ <message>
+ <source>&amp;Groups</source>
+ <translation>&amp;Grupid</translation>
+ </message>
+ <message>
+ <source>&amp;Tools</source>
+ <translation>&amp;Tööriistad</translation>
+ </message>
+ <message>
+ <source>&amp;Quit</source>
+ <translation>&amp;Välju</translation>
+ </message>
+ <message>
+ <source>&amp;About</source>
+ <translation>&amp;Teave</translation>
+ </message>
+ <message>
+ <source>&amp;Open database...</source>
+ <translation>&amp;Ava andmebaas...</translation>
+ </message>
+ <message>
+ <source>&amp;Save database</source>
+ <translation>&amp;Salvesta andmebaas</translation>
+ </message>
+ <message>
+ <source>&amp;Close database</source>
+ <translation>S&amp;ulge andmebaas</translation>
+ </message>
+ <message>
+ <source>&amp;Delete entry</source>
+ <translation>K&amp;ustuta kirje</translation>
+ </message>
+ <message>
+ <source>&amp;Edit group</source>
+ <translation>&amp;Muuda gruppi...</translation>
+ </message>
+ <message>
+ <source>&amp;Delete group</source>
+ <translation>K&amp;ustuta grupp</translation>
+ </message>
+ <message>
+ <source>Sa&amp;ve database as...</source>
+ <translation>Salvesta andmebaas &amp;kui...</translation>
+ </message>
+ <message>
+ <source>Database settings</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>&amp;Clone entry</source>
+ <translation>K&amp;looni kirje</translation>
+ </message>
+ <message>
+ <source>Copy &amp;username</source>
+ <translation>Kopeeri &amp;kasutajanimi</translation>
+ </message>
+ <message>
+ <source>Copy username to clipboard</source>
+ <translation>Kopeeri kasutajanimi lõikepuhvrisse</translation>
+ </message>
+ <message>
+ <source>Copy password to clipboard</source>
+ <translation>Kopeeri parool lõikepuhvrisse</translation>
+ </message>
+ <message>
+ <source>&amp;Settings</source>
+ <translation>&amp;Seaded</translation>
+ </message>
+ <message>
+ <source>&amp;Lock databases</source>
+ <translation>&amp;Lukusta andmebaasid</translation>
+ </message>
+ <message>
+ <source>&amp;Title</source>
+ <translation>&amp;Pealkiri</translation>
+ </message>
+ <message>
+ <source>Copy title to clipboard</source>
+ <translation>Kopeeri pealkiri lõikepuhvrisse</translation>
+ </message>
+ <message>
+ <source>&amp;URL</source>
+ <translation>&amp;URL</translation>
+ </message>
+ <message>
+ <source>Copy URL to clipboard</source>
+ <translation>Kopeeri URL lõikepuhvrisse</translation>
+ </message>
+ <message>
+ <source>&amp;Notes</source>
+ <translation>&amp;Märkmed</translation>
+ </message>
+ <message>
+ <source>Copy notes to clipboard</source>
+ <translation>Kopeeri märkmed lõikepuhvrisse</translation>
+ </message>
+ <message>
+ <source>&amp;Export to CSV file...</source>
+ <translation>&amp;CSV-failiks...</translation>
+ </message>
+ <message>
+ <source>Set up TOTP...</source>
+ <translation>Seadista TOTP...</translation>
+ </message>
+ <message>
+ <source>Copy &amp;TOTP</source>
+ <translation>Kopeeri &amp;TOTP</translation>
+ </message>
+ <message>
+ <source>E&amp;mpty recycle bin</source>
+ <translation>&amp;Tühjenda prügikast</translation>
+ </message>
+ <message>
+ <source>Clear history</source>
+ <translation>Puhasta ajalugu</translation>
+ </message>
+ <message>
+ <source>Access error for config file %1</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Settings</source>
+ <translation>Seaded</translation>
+ </message>
+ <message>
+ <source>Toggle window</source>
+ <translation>Kuva või peida põhiaken</translation>
+ </message>
+ <message>
+ <source>Quit KeePassXC</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Please touch the button on your YubiKey!</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>WARNING: You are using an unstable build of KeePassXC!
+There is a high risk of corruption, maintain a backup of your databases.
+This version is not meant for production use.</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>&amp;Donate</source>
+ <translation>A&amp;nneta...</translation>
+ </message>
+ <message>
+ <source>Report a &amp;bug</source>
+ <translation>T&amp;eata veast...</translation>
+ </message>
+ <message>
+ <source>WARNING: Your Qt version may cause KeePassXC to crash with an On-Screen Keyboard!
+We recommend you use the AppImage available on our downloads page.</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>&amp;Import</source>
+ <translation>&amp;Impordi</translation>
+ </message>
+ <message>
+ <source>Copy att&amp;ribute...</source>
+ <translation>Kopeeri at&amp;ribuut...</translation>
+ </message>
+ <message>
+ <source>TOTP...</source>
+ <translation>&amp;TOTP...</translation>
+ </message>
+ <message>
+ <source>&amp;New database...</source>
+ <translation>&amp;Uus andmebaas...</translation>
+ </message>
+ <message>
+ <source>Create a new database</source>
+ <translation>Loo uus andmebaas</translation>
+ </message>
+ <message>
+ <source>&amp;Merge from database...</source>
+ <translation>&amp;Mesti andmebaas...</translation>
+ </message>
+ <message>
+ <source>Merge from another KDBX database</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>&amp;New entry</source>
+ <translation>&amp;Uus kirje</translation>
+ </message>
+ <message>
+ <source>Add a new entry</source>
+ <translation>Lisa uus kirje</translation>
+ </message>
+ <message>
+ <source>&amp;Edit entry</source>
+ <translation>&amp;Muuda kirjet</translation>
+ </message>
+ <message>
+ <source>View or edit entry</source>
+ <translation>Vaata või muuda kirjet</translation>
+ </message>
+ <message>
+ <source>&amp;New group</source>
+ <translation>&amp;Uus grupp</translation>
+ </message>
+ <message>
+ <source>Add a new group</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Change master &amp;key...</source>
+ <translation>Muuda &amp;ülemvõtit...</translation>
+ </message>
+ <message>
+ <source>&amp;Database settings...</source>
+ <translation>An&amp;dmebaasi seaded...</translation>
+ </message>
+ <message>
+ <source>Copy &amp;password</source>
+ <translation>Kopeeri &amp;parool</translation>
+ </message>
+ <message>
+ <source>Perform &amp;Auto-Type</source>
+ <translation>Soorita &amp;automaatsisestus</translation>
+ </message>
+ <message>
+ <source>Open &amp;URL</source>
+ <translation>Ava &amp;URL</translation>
+ </message>
+ <message>
+ <source>KeePass 1 database...</source>
+ <translation>KeePass 1 andmebaas...</translation>
+ </message>
+ <message>
+ <source>Import a KeePass 1 database</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>CSV file...</source>
+ <translation>CSV-fail...</translation>
+ </message>
+ <message>
+ <source>Import a CSV file</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Show TOTP...</source>
+ <translation>Kuva TOTP...</translation>
+ </message>
+ <message>
+ <source>Show TOTP QR Code...</source>
+ <translation>Kuva TOTP QR-kood...</translation>
+ </message>
+ <message>
+ <source>NOTE: You are using a pre-release version of KeePassXC!
+Expect some bugs and minor issues, this version is not meant for production use.</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Check for updates on startup?</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Would you like KeePassXC to check for updates on startup?</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>You can always check for updates manually from the application menu.</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>&amp;Export</source>
+ <translation>&amp;Ekspordi</translation>
+ </message>
+ <message>
+ <source>&amp;Check for Updates...</source>
+ <translation>Kontrolli &amp;uuendusi...</translation>
+ </message>
+ <message>
+ <source>Downlo&amp;ad all favicons</source>
+ <translation>Laadi alla kõigi saitide &amp;ikoonid</translation>
+ </message>
+ <message>
+ <source>Sort &amp;A-Z</source>
+ <translation>Sordi &amp;A-st Y-ni</translation>
+ </message>
+ <message>
+ <source>Sort &amp;Z-A</source>
+ <translation>Sordi &amp;Y-st A-ni</translation>
+ </message>
+ <message>
+ <source>&amp;Password Generator</source>
+ <translation>&amp;Parooligeneraator</translation>
+ </message>
+ <message>
+ <source>Download favicon</source>
+ <translation>Laadi alla saidi&amp;ikoon</translation>
+ </message>
+ <message>
+ <source>&amp;Export to HTML file...</source>
+ <translation>&amp;HTML-failiks...</translation>
+ </message>
+ <message>
+ <source>1Password Vault...</source>
+ <translation>1Passwordi turvalaegas...</translation>
+ </message>
+ <message>
+ <source>Import a 1Password Vault</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>&amp;Getting Started</source>
+ <translation>&amp;Alustusjuhend...</translation>
+ </message>
+ <message>
+ <source>Open Getting Started Guide PDF</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>&amp;Online Help...</source>
+ <translation>Abi &amp;võrgus...</translation>
+ </message>
+ <message>
+ <source>Go to online documentation (opens browser)</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>&amp;User Guide</source>
+ <translation>Käsi&amp;raamat...</translation>
+ </message>
+ <message>
+ <source>Open User Guide PDF</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>&amp;Keyboard Shortcuts</source>
+ <translation>&amp;Kiirklahvid</translation>
+ </message>
+</context>
+<context>
+ <name>Merger</name>
+ <message>
+ <source>Creating missing %1 [%2]</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Relocating %1 [%2]</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Overwriting %1 [%2]</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>older entry merged from database &quot;%1&quot;</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Adding backup for older target %1 [%2]</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Adding backup for older source %1 [%2]</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Reapplying older target entry on top of newer source %1 [%2]</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Reapplying older source entry on top of newer target %1 [%2]</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Synchronizing from newer source %1 [%2]</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Synchronizing from older source %1 [%2]</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Deleting child %1 [%2]</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Deleting orphan %1 [%2]</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Changed deleted objects</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Adding missing icon %1</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Removed custom data %1 [%2]</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Adding custom data %1 [%2]</source>
+ <translation type="unfinished"/>
+ </message>
+</context>
+<context>
+ <name>NewDatabaseWizard</name>
+ <message>
+ <source>Create a new KeePassXC database...</source>
+ <translation>Uue KeePassXC andmebaasi loomine</translation>
+ </message>
+ <message>
+ <source>Root</source>
+ <comment>Root group</comment>
+ <translation>Juur</translation>
+ </message>
+</context>
+<context>
+ <name>NewDatabaseWizardPage</name>
+ <message>
+ <source>WizardPage</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>En&amp;cryption Settings</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Here you can adjust the database encryption settings. Don&apos;t worry, you can change them later in the database settings.</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Advanced Settings</source>
+ <translation>Täpsemad seaded</translation>
+ </message>
+ <message>
+ <source>Simple Settings</source>
+ <translation>Lihtsad seaded</translation>
+ </message>
+</context>
+<context>
+ <name>NewDatabaseWizardPageEncryption</name>
+ <message>
+ <source>Encryption Settings</source>
+ <translation>Krüptimisseaded</translation>
+ </message>
+ <message>
+ <source>Here you can adjust the database encryption settings. Don&apos;t worry, you can change them later in the database settings.</source>
+ <translation type="unfinished"/>
+ </message>
+</context>
+<context>
+ <name>NewDatabaseWizardPageMasterKey</name>
+ <message>
+ <source>Database Master Key</source>
+ <translation>Andmebaasi ülemvõti</translation>
+ </message>
+ <message>
+ <source>A master key known only to you protects your database.</source>
+ <translation type="unfinished"/>
+ </message>
+</context>
+<context>
+ <name>NewDatabaseWizardPageMetaData</name>
+ <message>
+ <source>General Database Information</source>
+ <translation>Andmebaasi üldandmed</translation>
+ </message>
+ <message>
+ <source>Please fill in the display name and an optional description for your new database:</source>
+ <translation>Sisesta oma uuele andmebaasile kuvanimi ja soovi korral kirjeldus:</translation>
+ </message>
+</context>
+<context>
+ <name>OpData01</name>
+ <message>
+ <source>Invalid OpData01, does not contain header</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Unable to read all IV bytes, wanted 16 but got %1</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Unable to init cipher for opdata01: %1</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Unable to read all HMAC signature bytes</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Malformed OpData01 due to a failed HMAC</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Unable to process clearText in place</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Expected %1 bytes of clear-text, found %2</source>
+ <translation type="unfinished"/>
+ </message>
+</context>
+<context>
+ <name>OpVaultOpenWidget</name>
+ <message>
+ <source>Read Database did not produce an instance
+%1</source>
+ <translation type="unfinished"/>
+ </message>
+</context>
+<context>
+ <name>OpVaultReader</name>
+ <message>
+ <source>Directory .opvault must exist</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Directory .opvault must be readable</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Directory .opvault/default must exist</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Directory .opvault/default must be readable</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Unable to decode masterKey: %1</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Unable to derive master key: %1</source>
+ <translation type="unfinished"/>
+ </message>
+</context>
+<context>
+ <name>OpenSSHKey</name>
+ <message>
+ <source>Invalid key file, expecting an OpenSSH key</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>PEM boundary mismatch</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Base64 decoding failed</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Key file way too small.</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Key file magic header id invalid</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Found zero keys</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Failed to read public key.</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Corrupted key file, reading private key failed</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>No private key payload to decrypt</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Trying to run KDF without cipher</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Passphrase is required to decrypt this key</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Key derivation failed, key file corrupted?</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Decryption failed, wrong passphrase?</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Unexpected EOF while reading public key</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Unexpected EOF while reading private key</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Can&apos;t write public key as it is empty</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Unexpected EOF when writing public key</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Can&apos;t write private key as it is empty</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Unexpected EOF when writing private key</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Unsupported key type: %1</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Unknown cipher: %1</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Cipher IV is too short for MD5 kdf</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Unknown KDF: %1</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Unknown key type: %1</source>
+ <translation type="unfinished"/>
+ </message>
+</context>
+<context>
+ <name>PasswordEdit</name>
+ <message>
+ <source>Passwords do not match</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Passwords match so far</source>
+ <translation type="unfinished"/>
+ </message>
+</context>
+<context>
+ <name>PasswordEditWidget</name>
+ <message>
+ <source>Enter password:</source>
+ <translation>Parool:</translation>
+ </message>
+ <message>
+ <source>Confirm password:</source>
+ <translation>Kordus:</translation>
+ </message>
+ <message>
+ <source>Password</source>
+ <translation>Parool</translation>
+ </message>
+ <message>
+ <source>&lt;p&gt;A password is the primary method for securing your database.&lt;/p&gt;&lt;p&gt;Good passwords are long and unique. KeePassXC can generate one for you.&lt;/p&gt;</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Passwords do not match.</source>
+ <translation>Paroolid ei kattu.</translation>
+ </message>
+ <message>
+ <source>Generate master password</source>
+ <translation>Ãœlemparooli genereerimine</translation>
+ </message>
+ <message>
+ <source>Password field</source>
+ <translation>Parooli väli</translation>
+ </message>
+ <message>
+ <source>Toggle password visibility</source>
+ <translation>Lülita parooli nähtavust</translation>
+ </message>
+ <message>
+ <source>Repeat password field</source>
+ <translation>Parooli korduse väli</translation>
+ </message>
+ <message>
+ <source>Toggle password generator</source>
+ <translation>Lülita parooligeneraatori nähtavust</translation>
+ </message>
+</context>
+<context>
+ <name>PasswordGeneratorWidget</name>
+ <message>
+ <source>%p%</source>
+ <translation>%p%</translation>
+ </message>
+ <message>
+ <source>Password:</source>
+ <translation>Parool:</translation>
+ </message>
+ <message>
+ <source>strength</source>
+ <comment>Password strength</comment>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>entropy</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Password</source>
+ <translation>Parool</translation>
+ </message>
+ <message>
+ <source>Character Types</source>
+ <translation>Märgitüübid</translation>
+ </message>
+ <message>
+ <source>Numbers</source>
+ <translation>Numbrid</translation>
+ </message>
+ <message>
+ <source>Extended ASCII</source>
+ <translation>Laiendatud ASCII</translation>
+ </message>
+ <message>
+ <source>Exclude look-alike characters</source>
+ <translation>Sarnase välimusega märgid jäetakse välja</translation>
+ </message>
+ <message>
+ <source>Pick characters from every group</source>
+ <translation>Kaasatakse märke igast valitud tüübist</translation>
+ </message>
+ <message>
+ <source>&amp;Length:</source>
+ <translation>&amp;Pikkus:</translation>
+ </message>
+ <message>
+ <source>Passphrase</source>
+ <translation>Paroolifraas</translation>
+ </message>
+ <message>
+ <source>Wordlist:</source>
+ <translation>Sõnaloend:</translation>
+ </message>
+ <message>
+ <source>Word Separator:</source>
+ <translation>Sõnade eraldaja:</translation>
+ </message>
+ <message>
+ <source>Copy</source>
+ <translation>Kopeeri</translation>
+ </message>
+ <message>
+ <source>Accept</source>
+ <translation>Sobib</translation>
+ </message>
+ <message>
+ <source>Close</source>
+ <translation>Sulge</translation>
+ </message>
+ <message>
+ <source>Entropy: %1 bit</source>
+ <translation>Entroopia: %1 bitti</translation>
+ </message>
+ <message>
+ <source>Password Quality: %1</source>
+ <translation>Parooli kvaliteet: %1</translation>
+ </message>
+ <message>
+ <source>Poor</source>
+ <comment>Password quality</comment>
+ <translation>kehv</translation>
+ </message>
+ <message>
+ <source>Weak</source>
+ <comment>Password quality</comment>
+ <translation>nõrk</translation>
+ </message>
+ <message>
+ <source>Good</source>
+ <comment>Password quality</comment>
+ <translation>hea</translation>
+ </message>
+ <message>
+ <source>Excellent</source>
+ <comment>Password quality</comment>
+ <translation>suurepärane</translation>
+ </message>
+ <message>
+ <source>ExtendedASCII</source>
+ <translation>Laiendatud ASCII</translation>
+ </message>
+ <message>
+ <source>Switch to advanced mode</source>
+ <translation>Lülita täppisrežiimi</translation>
+ </message>
+ <message>
+ <source>Advanced</source>
+ <translation>Täpsemalt</translation>
+ </message>
+ <message>
+ <source>A-Z</source>
+ <translation>A–Y</translation>
+ </message>
+ <message>
+ <source>a-z</source>
+ <translation>a–y</translation>
+ </message>
+ <message>
+ <source>0-9</source>
+ <translation>0–9</translation>
+ </message>
+ <message>
+ <source>Braces</source>
+ <translation>Sulud</translation>
+ </message>
+ <message>
+ <source>{[(</source>
+ <translation>{[(</translation>
+ </message>
+ <message>
+ <source>Punctuation</source>
+ <translation>Kirjavahemärgid</translation>
+ </message>
+ <message>
+ <source>.,:;</source>
+ <translation>.,:;</translation>
+ </message>
+ <message>
+ <source>Quotes</source>
+ <translation>Jutumärgid</translation>
+ </message>
+ <message>
+ <source>&quot; &apos;</source>
+ <translation>&quot; &apos;</translation>
+ </message>
+ <message>
+ <source>&lt;*+!?=</source>
+ <translation>&lt;*+!?=</translation>
+ </message>
+ <message>
+ <source>\_|-/</source>
+ <translation>\_|-/</translation>
+ </message>
+ <message>
+ <source>Logograms</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>#$%&amp;&amp;@^`~</source>
+ <translation>#$%&amp;&amp;@^`~</translation>
+ </message>
+ <message>
+ <source>Switch to simple mode</source>
+ <translation>Lülita lihtsasse režiimi</translation>
+ </message>
+ <message>
+ <source>Simple</source>
+ <translation>Lihtne</translation>
+ </message>
+ <message>
+ <source>Character set to exclude from generated password</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Do not include:</source>
+ <translation>Välistatakse:</translation>
+ </message>
+ <message>
+ <source>Add non-hex letters to &quot;do not include&quot; list</source>
+ <translation>Lisa välistusloendisse tähed, mida 16nd-süsteemis ei kasutata</translation>
+ </message>
+ <message>
+ <source>Hex</source>
+ <translation>16nd-süsteemis parool</translation>
+ </message>
+ <message>
+ <source>Excluded characters: &quot;0&quot;, &quot;1&quot;, &quot;l&quot;, &quot;I&quot;, &quot;O&quot;, &quot;|&quot;, &quot;ï¹’&quot;</source>
+ <translation>Määrab, kas välistada märgid nagu &quot;0&quot;, &quot;O&quot;, &quot;1&quot;, &quot;l&quot;, &quot;I&quot;, &quot;|&quot;, &quot;﹒&quot;</translation>
+ </message>
+ <message>
+ <source>Word Co&amp;unt:</source>
+ <translation>&amp;Sõnade arv:</translation>
+ </message>
+ <message>
+ <source>Regenerate</source>
+ <translation>Genereeri uuesti</translation>
+ </message>
+ <message>
+ <source>Generated password</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Upper-case letters</source>
+ <translation>Suurtähed</translation>
+ </message>
+ <message>
+ <source>Lower-case letters</source>
+ <translation>Väiketähed</translation>
+ </message>
+ <message>
+ <source>Special characters</source>
+ <translation>Erimärgid</translation>
+ </message>
+ <message>
+ <source>Math Symbols</source>
+ <translation>Matemaatikasümbolid</translation>
+ </message>
+ <message>
+ <source>Dashes and Slashes</source>
+ <translation>Kriipsud</translation>
+ </message>
+ <message>
+ <source>Excluded characters</source>
+ <translation>Välistatud märgid</translation>
+ </message>
+ <message>
+ <source>Hex Passwords</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Password length</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Word Case:</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Regenerate password</source>
+ <translation>Genereeri uus parool</translation>
+ </message>
+ <message>
+ <source>Copy password</source>
+ <translation>Kopeeri parool</translation>
+ </message>
+ <message>
+ <source>Accept password</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>lower case</source>
+ <translation>väiketähed</translation>
+ </message>
+ <message>
+ <source>UPPER CASE</source>
+ <translation>SUURTÄHED</translation>
+ </message>
+ <message>
+ <source>Title Case</source>
+ <translation>Suured Esitähed</translation>
+ </message>
+ <message>
+ <source>Toggle password visibility</source>
+ <translation>Lülita parooli nähtavust</translation>
+ </message>
+</context>
+<context>
+ <name>QApplication</name>
+ <message>
+ <source>KeeShare</source>
+ <translation>KeeShare</translation>
+ </message>
+ <message>
+ <source>Statistics</source>
+ <translation>Statistika</translation>
+ </message>
+</context>
+<context>
+ <name>QMessageBox</name>
+ <message>
+ <source>Overwrite</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Delete</source>
+ <translation>Kustuta</translation>
+ </message>
+ <message>
+ <source>Move</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Empty</source>
+ <translation>&amp;Tühjenda</translation>
+ </message>
+ <message>
+ <source>Remove</source>
+ <translation>Eemalda</translation>
+ </message>
+ <message>
+ <source>Skip</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Disable</source>
+ <translation>keelatud</translation>
+ </message>
+ <message>
+ <source>Merge</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Continue</source>
+ <translation>&amp;Jätka</translation>
+ </message>
+</context>
+<context>
+ <name>QObject</name>
+ <message>
+ <source>Database not opened</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Database hash not available</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Client public key not received</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Cannot decrypt message</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Action cancelled or denied</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>KeePassXC association failed, try again</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Encryption key is not recognized</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Incorrect action</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Empty message received</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>No URL provided</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>No logins found</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Unknown error</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Add a new entry to a database.</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Path of the database.</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Key file of the database.</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>path</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Username for the entry.</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>username</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>URL for the entry.</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>URL</source>
+ <translation>URL</translation>
+ </message>
+ <message>
+ <source>Prompt for the entry&apos;s password.</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Generate a password for the entry.</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>length</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Path of the entry to add.</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Copy an entry&apos;s password to the clipboard.</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Path of the entry to clip.</source>
+ <comment>clip = copy to clipboard</comment>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Timeout in seconds before clearing the clipboard.</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Edit an entry.</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Title for the entry.</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>title</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Path of the entry to edit.</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Estimate the entropy of a password.</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Password for which to estimate the entropy.</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Perform advanced analysis on the password.</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>WARNING: You are using a legacy key file format which may become
+unsupported in the future.
+
+Please consider generating a new key file.</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>
+
+Available commands:
+</source>
+ <translation>
+
+Võimalikud käsud:
+</translation>
+ </message>
+ <message>
+ <source>Name of the command to execute.</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>List database entries.</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Path of the group to list. Default is /</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Find entries quickly.</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Search term.</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Merge two databases.</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Path of the database to merge from.</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Use the same credentials for both database files.</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Key file of the database to merge from.</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Show an entry&apos;s information.</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Names of the attributes to show. This option can be specified more than once, with each attribute shown one-per-line in the given order. If no attributes are specified, a summary of the default attributes is given.</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>attribute</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Name of the entry to show.</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>NULL device</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>error reading from device</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>malformed string</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>missing closing quote</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Group</source>
+ <translation>Grupp</translation>
+ </message>
+ <message>
+ <source>Title</source>
+ <translation>Pealkiri</translation>
+ </message>
+ <message>
+ <source>Username</source>
+ <translation>Kasutajanimi</translation>
+ </message>
+ <message>
+ <source>Password</source>
+ <translation>Parool</translation>
+ </message>
+ <message>
+ <source>Notes</source>
+ <translation>Märkmed</translation>
+ </message>
+ <message>
+ <source>Last Modified</source>
+ <translation>Muudetud</translation>
+ </message>
+ <message>
+ <source>Created</source>
+ <translation>Loodud</translation>
+ </message>
+ <message>
+ <source>Browser Integration</source>
+ <translation>Brauserilõiming</translation>
+ </message>
+ <message>
+ <source>Press</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Passive</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>SSH Agent</source>
+ <translation>SSH agent</translation>
+ </message>
+ <message>
+ <source>Generate a new random diceware passphrase.</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Word count for the diceware passphrase.</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Wordlist for the diceware generator.
+[Default: EFF English]</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Generate a new random password.</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Could not create entry with path %1.</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Enter password for new entry: </source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Writing the database failed %1.</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Successfully added entry %1.</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Copy the current TOTP to the clipboard.</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Invalid timeout value %1.</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Entry %1 not found.</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Entry with path %1 has no TOTP set up.</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Entry&apos;s current TOTP copied to the clipboard!</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Entry&apos;s password copied to the clipboard!</source>
+ <translation type="unfinished"/>
+ </message>
+ <message numerus="yes">
+ <source>Clearing the clipboard in %1 second(s)...</source>
+ <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
+ </message>
+ <message>
+ <source>Clipboard cleared!</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Silence password prompt and other secondary outputs.</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>count</source>
+ <comment>CLI parameter</comment>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Could not find entry with path %1.</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Not changing any field for entry %1.</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Enter new password for entry: </source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Writing the database failed: %1</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Successfully edited entry %1.</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Length %1</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Entropy %1</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Log10 %1</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Multi-word extra bits %1</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Type: Bruteforce</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Type: Dictionary</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Type: Dict+Leet</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Type: User Words</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Type: User+Leet</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Type: Repeated</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Type: Sequence</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Type: Spatial</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Type: Date</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Type: Bruteforce(Rep)</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Type: Dictionary(Rep)</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Type: Dict+Leet(Rep)</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Type: User Words(Rep)</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Type: User+Leet(Rep)</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Type: Repeated(Rep)</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Type: Sequence(Rep)</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Type: Spatial(Rep)</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Type: Date(Rep)</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Type: Unknown%1</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Entropy %1 (%2)</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>*** Password length (%1) != sum of length of parts (%2) ***</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Failed to load key file %1: %2</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Length of the generated password</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Use lowercase characters</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Use uppercase characters</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Use special characters</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Use extended ASCII</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Exclude character set</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>chars</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Exclude similar looking characters</source>
+ <translation>Sarnase välimusega märgid jäetakse välja</translation>
+ </message>
+ <message>
+ <source>Include characters from every selected group</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Recursively list the elements of the group.</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Cannot find group %1.</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Error reading merge file:
+%1</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Unable to save database to file : %1</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Unable to save database to file: %1</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Successfully recycled entry %1.</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Successfully deleted entry %1.</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Show the entry&apos;s current TOTP.</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>ERROR: unknown attribute %1.</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>No program defined for clipboard manipulation</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Unable to start program %1</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>file empty</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>%1: (row, col) %2,%3</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>AES: 256-bit</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Twofish: 256-bit</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>ChaCha20: 256-bit</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Argon2 (KDBX 4 – recommended)</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>AES-KDF (KDBX 4)</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>AES-KDF (KDBX 3.1)</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Invalid Settings</source>
+ <comment>TOTP</comment>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Invalid Key</source>
+ <comment>TOTP</comment>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Message encryption failed.</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>No groups found</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Create a new database.</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>File %1 already exists.</source>
+ <translation>Fail %1 on juba olemas.</translation>
+ </message>
+ <message>
+ <source>Loading the key file failed</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>No key is set. Aborting database creation.</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Failed to save the database: %1.</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Successfully created new database.</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Creating KeyFile %1 failed: %2</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Loading KeyFile %1 failed: %2</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Path of the entry to remove.</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Existing single-instance lock file is invalid. Launching new instance.</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>The lock file could not be created. Single-instance mode disabled.</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>KeePassXC - cross-platform password manager</source>
+ <translation>KeePassXC - mitmeplatvormne paroolihaldur</translation>
+ </message>
+ <message>
+ <source>filenames of the password databases to open (*.kdbx)</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>path to a custom config file</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>key file of the database</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>read password of the database from stdin</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Parent window handle</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Another instance of KeePassXC is already running.</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Fatal error while testing the cryptographic functions.</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>KeePassXC - Error</source>
+ <translation>Viga - KeePassXC</translation>
+ </message>
+ <message>
+ <source>Database password: </source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Cannot create new group</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Deactivate password key for the database.</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Displays debugging information.</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Deactivate password key for the database to merge from.</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Version %1</source>
+ <translation>Versioon %1</translation>
+ </message>
+ <message>
+ <source>Build Type: %1</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Revision: %1</source>
+ <translation>Redaktsioon: %1</translation>
+ </message>
+ <message>
+ <source>Distribution: %1</source>
+ <translation>Distributsioon: %1</translation>
+ </message>
+ <message>
+ <source>Debugging mode is disabled.</source>
+ <translation>Silumisrežiim on välja lülitatud.</translation>
+ </message>
+ <message>
+ <source>Debugging mode is enabled.</source>
+ <translation>Silumisrežiim on sisse lülitatud.</translation>
+ </message>
+ <message>
+ <source>Operating system: %1
+CPU architecture: %2
+Kernel: %3 %4</source>
+ <translation>Operatsioonisüsteem: %1
+CPU-arhitektuur: %2
+Kernel: %3 %4</translation>
+ </message>
+ <message>
+ <source>Auto-Type</source>
+ <translation>Automaatsisestus</translation>
+ </message>
+ <message>
+ <source>KeeShare (signed and unsigned sharing)</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>KeeShare (only signed sharing)</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>KeeShare (only unsigned sharing)</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>YubiKey</source>
+ <translation>YubiKey</translation>
+ </message>
+ <message>
+ <source>TouchID</source>
+ <translation>TouchID</translation>
+ </message>
+ <message>
+ <source>None</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Enabled extensions:</source>
+ <translation>Lubatud laiendused:</translation>
+ </message>
+ <message>
+ <source>Cryptographic libraries:</source>
+ <translation>Krüptograafiateegid:</translation>
+ </message>
+ <message>
+ <source>Cannot generate a password and prompt at the same time!</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Adds a new group to a database.</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Path of the group to add.</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Group %1 already exists!</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Group %1 not found.</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Successfully added group %1.</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Check if any passwords have been publicly leaked. FILENAME must be the path of a file listing SHA-1 hashes of leaked passwords in HIBP format, as available from https://haveibeenpwned.com/Passwords.</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>FILENAME</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Analyze passwords for weaknesses and problems.</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Failed to open HIBP file %1: %2</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Evaluating database entries against HIBP file, this will take a while...</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Close the currently opened database.</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Display this help.</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Yubikey slot used to encrypt the database.</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>slot</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Invalid word count %1</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>The word list is too small (&lt; 1000 items)</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Exit interactive mode.</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Format to use when exporting. Available choices are xml or csv. Defaults to xml.</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Exports the content of a database to standard output in the specified format.</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Unable to export database to XML: %1</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Unsupported format %1</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Use numbers</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Invalid password length %1</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Display command help.</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Available commands:</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Import the contents of an XML database.</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Path of the XML database export.</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Path of the new database.</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Unable to import XML database export %1</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Successfully imported database.</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Unknown command %1</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Flattens the output to single lines.</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Only print the changes detected by the merge operation.</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Yubikey slot for the second database.</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Successfully merged %1 into %2.</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Database was not modified by merge operation.</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Moves an entry to a new group.</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Path of the entry to move.</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Path of the destination group.</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Could not find group with path %1.</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Entry is already in group %1.</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Successfully moved entry %1 to group %2.</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Open a database.</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Path of the group to remove.</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Cannot remove root group from database.</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Successfully recycled group %1.</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Successfully deleted group %1.</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Failed to open database file %1: not found</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Failed to open database file %1: not a plain file</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Failed to open database file %1: not readable</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Enter password to unlock %1: </source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Invalid YubiKey slot %1</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Please touch the button on your YubiKey to unlock %1</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Enter password to encrypt database (optional): </source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>HIBP file, line %1: parse error</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Secret Service Integration</source>
+ <translation>Saladuste teenuse lõiming</translation>
+ </message>
+ <message>
+ <source>User name</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>%1[%2] Challenge Response - Slot %3 - %4</source>
+ <translation type="unfinished"/>
+ </message>
+ <message numerus="yes">
+ <source>Password for &apos;%1&apos; has been leaked %2 time(s)!</source>
+ <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
+ </message>
+ <message>
+ <source>Invalid password generator after applying all options</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Show the protected attributes in clear text.</source>
+ <translation type="unfinished"/>
+ </message>
+</context>
+<context>
+ <name>QtIOCompressor</name>
+ <message>
+ <source>Internal zlib error when compressing: </source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Error writing to underlying device: </source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Error opening underlying device: </source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Error reading data from underlying device: </source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Internal zlib error when decompressing: </source>
+ <translation type="unfinished"/>
+ </message>
+</context>
+<context>
+ <name>QtIOCompressor::open</name>
+ <message>
+ <source>The gzip format not supported in this version of zlib.</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Internal zlib error: </source>
+ <translation type="unfinished"/>
+ </message>
+</context>
+<context>
+ <name>SSHAgent</name>
+ <message>
+ <source>Agent connection failed.</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Agent protocol error.</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>No agent running, cannot add identity.</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>No agent running, cannot remove identity.</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Agent refused this identity. Possible reasons include:</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>The key has already been added.</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Restricted lifetime is not supported by the agent (check options).</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>A confirmation request is not supported by the agent (check options).</source>
+ <translation type="unfinished"/>
+ </message>
+</context>
+<context>
+ <name>SearchHelpWidget</name>
+ <message>
+ <source>Search Help</source>
+ <translation>Otsinguabi</translation>
+ </message>
+ <message>
+ <source>Search terms are as follows: [modifiers][field:][&quot;]term[&quot;]</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Every search term must match (ie, logical AND)</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Modifiers</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>exclude term from results</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>match term exactly</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>use regex in term</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Fields</source>
+ <translation>Väljad</translation>
+ </message>
+ <message>
+ <source>Term Wildcards</source>
+ <translation>Metamärgid</translation>
+ </message>
+ <message>
+ <source>match anything</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>match one</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>logical OR</source>
+ <translation>loogiline VÕI</translation>
+ </message>
+ <message>
+ <source>Examples</source>
+ <translation>Näited</translation>
+ </message>
+</context>
+<context>
+ <name>SearchWidget</name>
+ <message>
+ <source>Search</source>
+ <translation>Otsimine</translation>
+ </message>
+ <message>
+ <source>Clear</source>
+ <translation>Puhasta</translation>
+ </message>
+ <message>
+ <source>Limit search to selected group</source>
+ <translation>Otsitakse ainult valitud grupist</translation>
+ </message>
+ <message>
+ <source>Search Help</source>
+ <translation>Otsinguabi</translation>
+ </message>
+ <message>
+ <source>Search (%1)...</source>
+ <comment>Search placeholder text, %1 is the keyboard shortcut</comment>
+ <translation>Otsing (%1)</translation>
+ </message>
+ <message>
+ <source>Case sensitive</source>
+ <translation>Tõstutundlik</translation>
+ </message>
+</context>
+<context>
+ <name>SettingsWidgetFdoSecrets</name>
+ <message>
+ <source>Options</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Enable KeepassXC Freedesktop.org Secret Service integration</source>
+ <translation>KeePassXC Freedesktop.org-i saladuste teenuse lõimingu lubamine</translation>
+ </message>
+ <message>
+ <source>General</source>
+ <translation>Ãœldine</translation>
+ </message>
+ <message>
+ <source>Show notification when credentials are requested</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;If recycle bin is enabled for the database, entries will be moved to recycle bin directly. Otherwise, they will be deleted without confirmation.&lt;/p&gt;&lt;p&gt;You will still be prompted if any entries are referenced by others.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Don&apos;t confirm when entries are deleted by clients.</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Exposed database groups:</source>
+ <translation>Nähtavaks tehtud andmebaasigrupid:</translation>
+ </message>
+ <message>
+ <source>File Name</source>
+ <translation>Faili nimi</translation>
+ </message>
+ <message>
+ <source>Group</source>
+ <translation>Grupp</translation>
+ </message>
+ <message>
+ <source>Manage</source>
+ <translation>Haldamine</translation>
+ </message>
+ <message>
+ <source>Authorization</source>
+ <translation>Autentimine</translation>
+ </message>
+ <message>
+ <source>These applications are currently connected:</source>
+ <translation>Need rakendused on praegu ühendatud:</translation>
+ </message>
+ <message>
+ <source>Application</source>
+ <translation>Rakendus</translation>
+ </message>
+ <message>
+ <source>Disconnect</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Database settings</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Edit database settings</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Unlock database</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Unlock database to show more information</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Lock database</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Unlock to show</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>None</source>
+ <translation type="unfinished"/>
+ </message>
+</context>
+<context>
+ <name>SettingsWidgetKeeShare</name>
+ <message>
+ <source>Active</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Allow export</source>
+ <translation>Eksportimine lubatud</translation>
+ </message>
+ <message>
+ <source>Allow import</source>
+ <translation>Importimine lubatud</translation>
+ </message>
+ <message>
+ <source>Own certificate</source>
+ <translation>Oma sertifikaat</translation>
+ </message>
+ <message>
+ <source>Fingerprint:</source>
+ <translation>Sõrmejälg:</translation>
+ </message>
+ <message>
+ <source>Certificate:</source>
+ <translation>Sertifikaat:</translation>
+ </message>
+ <message>
+ <source>Signer</source>
+ <translation>Allkirjastaja</translation>
+ </message>
+ <message>
+ <source>Key:</source>
+ <translation>Võti:</translation>
+ </message>
+ <message>
+ <source>Generate</source>
+ <translation>Genereeri</translation>
+ </message>
+ <message>
+ <source>Import</source>
+ <translation>Impordi</translation>
+ </message>
+ <message>
+ <source>Export</source>
+ <translation>Ekspordi</translation>
+ </message>
+ <message>
+ <source>Imported certificates</source>
+ <translation>Imporditud sertifikaadid</translation>
+ </message>
+ <message>
+ <source>Trust</source>
+ <translation>Usalda</translation>
+ </message>
+ <message>
+ <source>Ask</source>
+ <translation>Küsi</translation>
+ </message>
+ <message>
+ <source>Untrust</source>
+ <translation>Ära usalda</translation>
+ </message>
+ <message>
+ <source>Remove</source>
+ <translation>Eemalda</translation>
+ </message>
+ <message>
+ <source>Path</source>
+ <translation>Asukoht</translation>
+ </message>
+ <message>
+ <source>Status</source>
+ <translation>Olek</translation>
+ </message>
+ <message>
+ <source>Fingerprint</source>
+ <translation>Sõrmejälg</translation>
+ </message>
+ <message>
+ <source>Certificate</source>
+ <translation>Sertifikaat</translation>
+ </message>
+ <message>
+ <source>Trusted</source>
+ <translation>Usaldatav</translation>
+ </message>
+ <message>
+ <source>Untrusted</source>
+ <translation>Mitteusaldatav</translation>
+ </message>
+ <message>
+ <source>Unknown</source>
+ <translation>Teadmata</translation>
+ </message>
+ <message>
+ <source>key.share</source>
+ <comment>Filetype for KeeShare key</comment>
+ <translation>key.share</translation>
+ </message>
+ <message>
+ <source>KeeShare key file</source>
+ <translation>KeeShare&apos;i võtmefail</translation>
+ </message>
+ <message>
+ <source>All files</source>
+ <translation>Kõik failid</translation>
+ </message>
+ <message>
+ <source>Select path</source>
+ <translation>Asukoha valimine</translation>
+ </message>
+ <message>
+ <source>Exporting changed certificate</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>The exported certificate is not the same as the one in use. Do you want to export the current certificate?</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Signer:</source>
+ <translation>Allkirjastaja:</translation>
+ </message>
+ <message>
+ <source>Allow KeeShare imports</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Allow KeeShare exports</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Only show warnings and errors</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Key</source>
+ <translation>Võti</translation>
+ </message>
+ <message>
+ <source>Signer name field</source>
+ <translation>Allkirjastaja nime väli</translation>
+ </message>
+ <message>
+ <source>Generate new certificate</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Import existing certificate</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Export own certificate</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Known shares</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Trust selected certificate</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Ask whether to trust the selected certificate every time</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Untrust selected certificate</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Remove selected certificate</source>
+ <translation type="unfinished"/>
+ </message>
+</context>
+<context>
+ <name>ShareExport</name>
+ <message>
+ <source>Overwriting signed share container is not supported - export prevented</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Could not write export container (%1)</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Could not embed signature: Could not open file to write (%1)</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Could not embed signature: Could not write file (%1)</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Could not embed database: Could not open file to write (%1)</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Could not embed database: Could not write file (%1)</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Overwriting unsigned share container is not supported - export prevented</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Could not write export container</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Unexpected export error occurred</source>
+ <translation type="unfinished"/>
+ </message>
+</context>
+<context>
+ <name>ShareImport</name>
+ <message>
+ <source>Import from container without signature</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>We cannot verify the source of the shared container because it is not signed. Do you really want to import from %1?</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Import from container with certificate</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Do you want to trust %1 with the fingerprint of %2 from %3?</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Not this time</source>
+ <translation>Mitte praegu</translation>
+ </message>
+ <message>
+ <source>Never</source>
+ <translation>Mitte kunagi</translation>
+ </message>
+ <message>
+ <source>Always</source>
+ <translation>Alati</translation>
+ </message>
+ <message>
+ <source>Just this time</source>
+ <translation>Ainult seekord</translation>
+ </message>
+ <message>
+ <source>Signed share container are not supported - import prevented</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>File is not readable</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Invalid sharing container</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Untrusted import prevented</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Successful signed import</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Unexpected error</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Unsigned share container are not supported - import prevented</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Successful unsigned import</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>File does not exist</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Unknown share container type</source>
+ <translation type="unfinished"/>
+ </message>
+</context>
+<context>
+ <name>ShareObserver</name>
+ <message>
+ <source>Import from %1 failed (%2)</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Import from %1 successful (%2)</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Imported from %1</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Export to %1 failed (%2)</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Export to %1 successful (%2)</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Export to %1</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Multiple import source path to %1 in %2</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Conflicting export target path %1 in %2</source>
+ <translation type="unfinished"/>
+ </message>
+</context>
+<context>
+ <name>TotpDialog</name>
+ <message>
+ <source>Timed Password</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>000000</source>
+ <translation>000000</translation>
+ </message>
+ <message>
+ <source>Copy</source>
+ <translation>Kopeeri</translation>
+ </message>
+ <message numerus="yes">
+ <source>Expires in &lt;b&gt;%n&lt;/b&gt; second(s)</source>
+ <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
+ </message>
+</context>
+<context>
+ <name>TotpExportSettingsDialog</name>
+ <message>
+ <source>Copy</source>
+ <translation>Kopeeri</translation>
+ </message>
+ <message>
+ <source>NOTE: These TOTP settings are custom and may not work with other authenticators.</source>
+ <comment>TOTP QR code dialog warning</comment>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>There was an error creating the QR code.</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Closing in %1 seconds.</source>
+ <translation type="unfinished"/>
+ </message>
+</context>
+<context>
+ <name>TotpSetupDialog</name>
+ <message>
+ <source>Setup TOTP</source>
+ <translation>TOTP seadistamine</translation>
+ </message>
+ <message>
+ <source>Default RFC 6238 token settings</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Steam token settings</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Use custom settings</source>
+ <translation>Kohandatud seaded</translation>
+ </message>
+ <message>
+ <source>Custom Settings</source>
+ <translation>Kohandatud seaded</translation>
+ </message>
+ <message>
+ <source>Time step:</source>
+ <translation>Ajaintervall:</translation>
+ </message>
+ <message>
+ <source> sec</source>
+ <comment>Seconds</comment>
+ <translation> s</translation>
+ </message>
+ <message>
+ <source>Code size:</source>
+ <translation>Koodi pikkus:</translation>
+ </message>
+ <message>
+ <source>Secret Key:</source>
+ <translation>Salajane võti:</translation>
+ </message>
+ <message>
+ <source>Secret key must be in Base32 format</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Secret key field</source>
+ <translation>Salajase võtme väli</translation>
+ </message>
+ <message>
+ <source>Algorithm:</source>
+ <translation>Algoritm:</translation>
+ </message>
+ <message>
+ <source>Time step field</source>
+ <translation>Ajatempli väli</translation>
+ </message>
+ <message>
+ <source> digits</source>
+ <translation> numbrit</translation>
+ </message>
+ <message>
+ <source>Invalid TOTP Secret</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>You have entered an invalid secret key. The key must be in Base32 format.
+Example: JBSWY3DPEHPK3PXP</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Confirm Remove TOTP Settings</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Are you sure you want to delete TOTP settings for this entry?</source>
+ <translation>Kas oled kindel, et tahad selle kirje TOTP-seaded kustutada?</translation>
+ </message>
+</context>
+<context>
+ <name>UpdateCheckDialog</name>
+ <message>
+ <source>Checking for updates</source>
+ <translation>Uuenduste kontrollimine</translation>
+ </message>
+ <message>
+ <source>Checking for updates...</source>
+ <translation>Uuenduste olemasolu kontrollimine...</translation>
+ </message>
+ <message>
+ <source>Close</source>
+ <translation>Sulge</translation>
+ </message>
+ <message>
+ <source>Update Error!</source>
+ <translation>Viga uuendamisel!</translation>
+ </message>
+ <message>
+ <source>An error occurred in retrieving update information.</source>
+ <translation>Uuenduste teabe hankimisel ilmnes viga.</translation>
+ </message>
+ <message>
+ <source>Please try again later.</source>
+ <translation>Proovi hiljem uuesti.</translation>
+ </message>
+ <message>
+ <source>Software Update</source>
+ <translation>Tarkvarauuendus</translation>
+ </message>
+ <message>
+ <source>A new version of KeePassXC is available!</source>
+ <translation>KeePassXC uus versioon on saadaval!</translation>
+ </message>
+ <message>
+ <source>KeePassXC %1 is now available — you have %2.</source>
+ <translation>Saadaval on KeePassXC %1 – sinul on %2.</translation>
+ </message>
+ <message>
+ <source>Download it at keepassxc.org</source>
+ <translation>Allalaadimiseks ava keepassxc.org</translation>
+ </message>
+ <message>
+ <source>You&apos;re up-to-date!</source>
+ <translation>Sul juba on uusim versioon!</translation>
+ </message>
+ <message>
+ <source>KeePassXC %1 is currently the newest version available</source>
+ <translation>KeePassXC %1 on praegu uusim saadaolev versioon.</translation>
+ </message>
+</context>
+<context>
+ <name>WelcomeWidget</name>
+ <message>
+ <source>Start storing your passwords securely in a KeePassXC database</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Create new database</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Open existing database</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Import from KeePass 1</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Import from CSV</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Recent databases</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Welcome to KeePassXC %1</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Import from 1Password</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Open a recent database</source>
+ <translation type="unfinished"/>
+ </message>
+</context>
+<context>
+ <name>YubiKeyEditWidget</name>
+ <message>
+ <source>Refresh</source>
+ <translation>Värskenda</translation>
+ </message>
+ <message>
+ <source>YubiKey Challenge-Response</source>
+ <translation>YubiKey pretensioon-vastus</translation>
+ </message>
+ <message>
+ <source>&lt;p&gt;If you own a &lt;a href=&quot;https://www.yubico.com/&quot;&gt;YubiKey&lt;/a&gt;, you can use it for additional security.&lt;/p&gt;&lt;p&gt;The YubiKey requires one of its slots to be programmed as &lt;a href=&quot;https://www.yubico.com/products/services-software/personalization-tools/challenge-response/&quot;&gt;HMAC-SHA1 Challenge-Response&lt;/a&gt;.&lt;/p&gt;</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>No YubiKey detected, please ensure it&apos;s plugged in.</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>No YubiKey inserted.</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Refresh hardware tokens</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Hardware key slot selection</source>
+ <translation type="unfinished"/>
+ </message>
+</context>
+</TS> \ No newline at end of file
diff --git a/share/translations/keepassx_fi.ts b/share/translations/keepassx_fi.ts
index d49df70c1..9fe8e130b 100644
--- a/share/translations/keepassx_fi.ts
+++ b/share/translations/keepassx_fi.ts
@@ -444,6 +444,14 @@
<source>This Auto-Type command contains arguments which are repeated very often. Do you really want to proceed?</source>
<translation>Tämän automaattisyötön komento sisältää parametreja joita toistetaan usein. Oletko varma, että haluat jatkaa?</translation>
</message>
+ <message>
+ <source>Permission Required</source>
+ <translation>Lupa vaaditaan</translation>
+ </message>
+ <message>
+ <source>KeePassXC requires the Accessibility permission in order to perform entry level Auto-Type. If you already granted permission, you may have to restart KeePassXC.</source>
+ <translation>KeePassXC:n täytyy saada lupa Käyttöavun kautta automaattisyötön suorittamiseen. Jos olet jo sallinut asetuksen, KeePassXC täytyy mahdollisesti käynnistää uudelleen.</translation>
+ </message>
</context>
<context>
<name>AutoTypeAssociationsModel</name>
@@ -491,6 +499,17 @@
</message>
</context>
<context>
+ <name>AutoTypePlatformMac</name>
+ <message>
+ <source>Permission Required</source>
+ <translation>Lupa vaaditaan</translation>
+ </message>
+ <message>
+ <source>KeePassXC requires the Accessibility and Screen Recorder permission in order to perform global Auto-Type. Screen Recording is necessary to use the window title to find entries. If you already granted permission, you may have to restart KeePassXC.</source>
+ <translation>KeePassXC tarvitsee luvan Käyttöavun kautta Näyttötallennukseen, jotta yleinen automaattisyöttö toimisi oikein. Näyttötallennus on pakollinen ikkunan otsikkotiedon saamiseen. Jos olet jo sallinut asetuksen, KeePassXC täytyy mahdollisesti käynnistää uudelleen.</translation>
+ </message>
+</context>
+<context>
<name>AutoTypeSelectDialog</name>
<message>
<source>Auto-Type - KeePassXC</source>
@@ -720,7 +739,7 @@ Valitse oikea tietokanta tietueen tallentamiseksi</translation>
</message>
<message>
<source>KeePassXC-Browser is needed for the browser integration to work. &lt;br /&gt;Download it for %1 and %2. %3</source>
- <translation>KeePassXC-Browser tarvitaan selainintegraation toimimista varten.&lt;br /&gt;Dataa se seuraaville selaimille: %1 ja %2. %3</translation>
+ <translation>KeePassXC-Browser tarvitaan selainintegraation toimimista varten.&lt;br /&gt;Lataa se seuraaville selaimille: %1 ja %2. %3</translation>
</message>
<message>
<source>&amp;Brave</source>
@@ -774,15 +793,6 @@ Valitse oikea tietokanta tietueen tallentamiseksi</translation>
<translation>KeePassXC: Uusi avaimenliittämispyyntö</translation>
</message>
<message>
- <source>You have received an association request for the above key.
-
-If you would like to allow it access to your KeePassXC database,
-give it a unique name to identify and accept it.</source>
- <translation>Olet saanut avainlittämispyynnön yllä olevalle avaimelle
-Jos haluat antaa sille pääsyoikeuden KeePassXC-tietokantaasi,
-anna tunnisteelle nimi ja hyväksy.</translation>
- </message>
- <message>
<source>Save and allow access</source>
<translation>Tallenna ja salli pääsy</translation>
</message>
@@ -861,6 +871,18 @@ Haluat siirtää asetukset nyt?</translation>
<source>Don&apos;t show this warning again</source>
<translation>Älä näytä tätä varoitusta uudelleen</translation>
</message>
+ <message>
+ <source>You have received an association request for the following database:
+%1
+
+Give the connection a unique name or ID, for example:
+chrome-laptop.</source>
+ <translation>Olet saanut avainliittämispyynnön seuraavalle tietokannalle:
+%1
+
+Anna yhteydelle yksilöllinen nimi tai tunniste, esimerkiksi:
+chrome-läppäri.</translation>
+ </message>
</context>
<context>
<name>CloneDialog</name>
@@ -1128,10 +1150,6 @@ Ole hyvä ja harkitse uuden avaintiedoston luomista.</translation>
<translation>Vaihda salasanan näkyvyyttä</translation>
</message>
<message>
- <source>Enter Additional Credentials:</source>
- <translation>Syötä lisätietueita:</translation>
- </message>
- <message>
<source>Key file selection</source>
<translation>Avaintiedoston valinta</translation>
</message>
@@ -1156,12 +1174,6 @@ Ole hyvä ja harkitse uuden avaintiedoston luomista.</translation>
<translation>Laiteavain:</translation>
</message>
<message>
- <source>&lt;p&gt;You can use a hardware security key such as a &lt;strong&gt;YubiKey&lt;/strong&gt; or &lt;strong&gt;OnlyKey&lt;/strong&gt; with slots configured for HMAC-SHA1.&lt;/p&gt;
- &lt;p&gt;Click for more information...&lt;/p&gt;</source>
- <translation>&lt;p&gt;Voit käyttää laiteavainta, kuten &lt;strong&gt;Yubikey:tä&lt;/strong&gt; tai &lt;strong&gt;OnlyKey:tä&lt;/strong&gt; HMAC-SHA1 configuroidun paikan kanssa.&lt;/p&gt;
-&lt;p&gt;Lisätietoja tästä...&lt;/p&gt;</translation>
- </message>
- <message>
<source>Hardware key help</source>
<translation>Laiteavaimen apu</translation>
</message>
@@ -1178,10 +1190,6 @@ Ole hyvä ja harkitse uuden avaintiedoston luomista.</translation>
<translation>Tyhjennä Avaintiedosto</translation>
</message>
<message>
- <source>Select file...</source>
- <translation>Valitse tiedosto...</translation>
- </message>
- <message>
<source>Unlock failed and no password given</source>
<translation>Avaus epäonnistui, eikä salasanaa ole annettu</translation>
</message>
@@ -1199,6 +1207,42 @@ Jos et halua nähdä tätä virhettä uudestaan, mene &quot;Tietokannan asetukse
<source>Retry with empty password</source>
<translation>Yritä uudelleen tyhjällä salasanalla</translation>
</message>
+ <message>
+ <source>Enter Additional Credentials (if any):</source>
+ <translation>Syötä lisätietueita (mikäli niitä on):</translation>
+ </message>
+ <message>
+ <source>&lt;p&gt;You can use a hardware security key such as a &lt;strong&gt;YubiKey&lt;/strong&gt; or &lt;strong&gt;OnlyKey&lt;/strong&gt; with slots configured for HMAC-SHA1.&lt;/p&gt;
+&lt;p&gt;Click for more information...&lt;/p&gt;</source>
+ <translation>&lt;p&gt;Voit käyttää laiteavainta, kuten &lt;strong&gt;Yubikey:tä&lt;/strong&gt; tai &lt;strong&gt;Onlykey:tä&lt;/strong&gt; HMAC-SHA1 -asetuksella olevan paikan kanssa.&lt;/p&gt;
+&lt;p&gt;Lisätietoja tästä...&lt;/p&gt;</translation>
+ </message>
+ <message>
+ <source>&lt;p&gt;In addition to your master password, you can use a secret file to enhance the security of your database. Such a file can be generated in your database&apos;s security settings.&lt;/p&gt;&lt;p&gt;This is &lt;strong&gt;not&lt;/strong&gt; your *.kdbx database file!&lt;br&gt;If you do not have a key file, leave the field empty.&lt;/p&gt;&lt;p&gt;Click for more information...&lt;/p&gt;</source>
+ <translation>&lt;p&gt;Pääsalasanan lisäksi voit käyttää salaista tiedostoa tietokantasi tietoturvan vahvistamiseksi. Tämä tiedosto voidaan tarvittaessa luoda tietokantasi turvallisuusasetuksista.&lt;/p&gt;&lt;p&gt;Tämä salainen tiedosto &lt;strong&gt;ei&lt;/strong&gt; ole *.kdbx -tietokantatiedosto!&lt;br&gt;Jos sinulla ei ole avaintiedostoa, jätä kenttä tyhjäksi.&lt;/p&gt;&lt;p&gt;Lisätietoja tästä...&lt;/p&gt;</translation>
+ </message>
+ <message>
+ <source>Key file help</source>
+ <translation>Avaintiedoston ohje</translation>
+ </message>
+ <message>
+ <source>?</source>
+ <translation>?</translation>
+ </message>
+ <message>
+ <source>Select key file...</source>
+ <translation>Valitse avaintiedosto...</translation>
+ </message>
+ <message>
+ <source>Cannot use database file as key file</source>
+ <translation>Tietokantaa ei voida käyttää avaintiedostona</translation>
+ </message>
+ <message>
+ <source>You cannot use your database file as a key file.
+If you do not have a key file, please leave the field empty.</source>
+ <translation>Et voi käyttää tietokantaasi avaintiedostona.
+Jos sinulla ei ole avaintiedostoa, jätä kenttä tyhjäksi.</translation>
+ </message>
</context>
<context>
<name>DatabaseSettingWidgetMetaData</name>
@@ -1838,6 +1882,10 @@ Oletko varma, että haluat jatkaa ilman salasanaa?</translation>
<source>Average password length is less than ten characters. Longer passwords provide more security.</source>
<translation>Salasanojen keskimääräinen pituus on vähemmän kuin kymmenen merkkiä. Pidemmät salasanat ovat turvallisempia.</translation>
</message>
+ <message>
+ <source>Please wait, database statistics are being calculated...</source>
+ <translation>Odota hetki, lasketaan tietokannan statistiikkaa...</translation>
+ </message>
</context>
<context>
<name>DatabaseTabWidget</name>
@@ -6276,6 +6324,10 @@ Ydin: %3 %4</translation>
<source>Invalid password generator after applying all options</source>
<translation>Virheellinen salasanageneraattori kaikkien aktiivisten asetusten kanssa</translation>
</message>
+ <message>
+ <source>Show the protected attributes in clear text.</source>
+ <translation>Näytä suojatut attribuutit selkotekstinä.</translation>
+ </message>
</context>
<context>
<name>QtIOCompressor</name>
diff --git a/share/translations/keepassx_fr.ts b/share/translations/keepassx_fr.ts
index 3ebcb3eff..89d148f0a 100644
--- a/share/translations/keepassx_fr.ts
+++ b/share/translations/keepassx_fr.ts
@@ -444,6 +444,14 @@
<source>This Auto-Type command contains arguments which are repeated very often. Do you really want to proceed?</source>
<translation>Cette commande de saisie automatique contient des arguments répétés très souvent. Voulez-vous vraiment continuer ?</translation>
</message>
+ <message>
+ <source>Permission Required</source>
+ <translation>Autorisation nécessaire</translation>
+ </message>
+ <message>
+ <source>KeePassXC requires the Accessibility permission in order to perform entry level Auto-Type. If you already granted permission, you may have to restart KeePassXC.</source>
+ <translation>KeePassXC nécessite la permission Accessiblité afin de pouvoir effectuer la saisie automatique sur les entrées. SI vous avez déjà donné l&apos;autorisation, vous devriez relancer KeePassXC.</translation>
+ </message>
</context>
<context>
<name>AutoTypeAssociationsModel</name>
@@ -491,6 +499,17 @@
</message>
</context>
<context>
+ <name>AutoTypePlatformMac</name>
+ <message>
+ <source>Permission Required</source>
+ <translation>Autorisation nécessaire</translation>
+ </message>
+ <message>
+ <source>KeePassXC requires the Accessibility and Screen Recorder permission in order to perform global Auto-Type. Screen Recording is necessary to use the window title to find entries. If you already granted permission, you may have to restart KeePassXC.</source>
+ <translation>KeePassXC nécessite l&apos;autorisation d&apos;accès Accessibilité et Enregistrement d&apos;écran afin de pouvoir exécuter la saisie automatique globale. L&apos;enregistrement d&apos;écran est requis pour utiliser le titre de fenêtre lors de la recherche des entrées. Si vous avez déjà accordé cette autorisation, vous devriez relancer KeePassXC.</translation>
+ </message>
+</context>
+<context>
<name>AutoTypeSelectDialog</name>
<message>
<source>Auto-Type - KeePassXC</source>
@@ -774,16 +793,6 @@ Veuillez sélectionner la base de donnée souhaitée pour enregistrer les identi
<translation>KeePassXC : nouvelle demande d’association de touche</translation>
</message>
<message>
- <source>You have received an association request for the above key.
-
-If you would like to allow it access to your KeePassXC database,
-give it a unique name to identify and accept it.</source>
- <translation>Vous avez reçu une demande d’association pour la clé ci-dessus.
-
-Si vous voulez autoriser cette clé à accéder à votre base de données KeePassXC,
-attribuez-lui un nom unique pour l’identifier et acceptez-la.</translation>
- </message>
- <message>
<source>Save and allow access</source>
<translation>Enregistrer et autoriser l’accès</translation>
</message>
@@ -861,6 +870,18 @@ Would you like to migrate your existing settings now?</source>
<source>Don&apos;t show this warning again</source>
<translation>Ne plus afficher cet avertissement</translation>
</message>
+ <message>
+ <source>You have received an association request for the following database:
+%1
+
+Give the connection a unique name or ID, for example:
+chrome-laptop.</source>
+ <translation>Vous avez reçu une demande d&apos;association pour la base de données suivante :
+%1
+
+Attribuez à cette connexion un nom unique ou un identifiant, par exemple :
+chrome-laptop</translation>
+ </message>
</context>
<context>
<name>CloneDialog</name>
@@ -1127,10 +1148,6 @@ Veuillez envisager de générer un nouveau fichier-clé.</translation>
<translation>Basculer l&apos;affichage du mot de passe</translation>
</message>
<message>
- <source>Enter Additional Credentials:</source>
- <translation>Saisir d&apos;autres identifiants :</translation>
- </message>
- <message>
<source>Key file selection</source>
<translation>Sélection du fichier-clé</translation>
</message>
@@ -1155,12 +1172,6 @@ Veuillez envisager de générer un nouveau fichier-clé.</translation>
<translation>Clés matérielles :</translation>
</message>
<message>
- <source>&lt;p&gt;You can use a hardware security key such as a &lt;strong&gt;YubiKey&lt;/strong&gt; or &lt;strong&gt;OnlyKey&lt;/strong&gt; with slots configured for HMAC-SHA1.&lt;/p&gt;
- &lt;p&gt;Click for more information...&lt;/p&gt;</source>
- <translation>&lt;p&gt;Vous pouvez utiliser une clé de sécurité matérielle comme &lt;strong&gt;YubiKey&lt;/strong&gt; ou &lt;strong&gt;OnlyKey&lt;/strong&gt; avec des emplacements pour HMAC-SHA1.&lt;/p&gt;
- &lt;p&gt;Cliquez pour plus d&apos;information...&lt;/p&gt;</translation>
- </message>
- <message>
<source>Hardware key help</source>
<translation>Aide sur les clés matérielles</translation>
</message>
@@ -1177,10 +1188,6 @@ Veuillez envisager de générer un nouveau fichier-clé.</translation>
<translation>Effacer le fichier-clé</translation>
</message>
<message>
- <source>Select file...</source>
- <translation>Sélectionner un fichier...</translation>
- </message>
- <message>
<source>Unlock failed and no password given</source>
<translation>Échec du déverrouillage et aucun mot de passe introduit</translation>
</message>
@@ -1198,6 +1205,42 @@ Afin d&apos;éviter cette erreur, vous devez réinitialiser votre mot de passe d
<source>Retry with empty password</source>
<translation>Essayer à nouveau sans mot de passe</translation>
</message>
+ <message>
+ <source>Enter Additional Credentials (if any):</source>
+ <translation>Saisir d&apos;autres identifiants (si définis) :</translation>
+ </message>
+ <message>
+ <source>&lt;p&gt;You can use a hardware security key such as a &lt;strong&gt;YubiKey&lt;/strong&gt; or &lt;strong&gt;OnlyKey&lt;/strong&gt; with slots configured for HMAC-SHA1.&lt;/p&gt;
+&lt;p&gt;Click for more information...&lt;/p&gt;</source>
+ <translation>&lt;p&gt;Vous pouvez utiliser une clé de sécurité matérielle comme &lt;strong&gt;YubiKey&lt;/strong&gt; ou &lt;strong&gt;OnlyKey&lt;/strong&gt; avec des emplacements pour HMAC-SHA1.&lt;/p&gt;
+&lt;p&gt;Cliquez pour plus d&apos;information...&lt;/p&gt;</translation>
+ </message>
+ <message>
+ <source>&lt;p&gt;In addition to your master password, you can use a secret file to enhance the security of your database. Such a file can be generated in your database&apos;s security settings.&lt;/p&gt;&lt;p&gt;This is &lt;strong&gt;not&lt;/strong&gt; your *.kdbx database file!&lt;br&gt;If you do not have a key file, leave the field empty.&lt;/p&gt;&lt;p&gt;Click for more information...&lt;/p&gt;</source>
+ <translation>&lt;p&gt;En plus du mot de passe maître, vous pouvez utiliser un fichier secret pour améliorer la sécurité de votre base de données. Un tel fichier peut être généré depuis les paramètres de sécurité de votre base de données.&lt;/p&gt;&lt;p&gt;Il ne s&apos;agit &lt;strong&gt;pas&lt;/strong&gt; de votre fichier de base de données *.kdbx !&lt;br&gt;Si vous n&apos;avez pas de fichier-clé, laissez le champ vide.&lt;/p&gt;&lt;p&gt;Cliquez ici pour plus d&apos;informations...&lt;/p&gt;</translation>
+ </message>
+ <message>
+ <source>Key file help</source>
+ <translation>Aide fichier-clé</translation>
+ </message>
+ <message>
+ <source>?</source>
+ <translation>?</translation>
+ </message>
+ <message>
+ <source>Select key file...</source>
+ <translation>Sélectionner le fichier-clé...</translation>
+ </message>
+ <message>
+ <source>Cannot use database file as key file</source>
+ <translation>Impossible d&apos;utiliser une base de données comme fichier-clé</translation>
+ </message>
+ <message>
+ <source>You cannot use your database file as a key file.
+If you do not have a key file, please leave the field empty.</source>
+ <translation>Vous ne pouvez pas utiliser la base de données actuelle comme fichier-clé.
+Si vous n&apos;avez pas de fichier-clé, laissez le champ vide.</translation>
+ </message>
</context>
<context>
<name>DatabaseSettingWidgetMetaData</name>
@@ -1837,6 +1880,10 @@ Are you sure you want to continue without a password?</source>
<source>Average password length is less than ten characters. Longer passwords provide more security.</source>
<translation>La longueur moyenne des mots de passe est de moins de 10 caractères. Des mots de passe plus longs offrent une meilleure sécurité.</translation>
</message>
+ <message>
+ <source>Please wait, database statistics are being calculated...</source>
+ <translation>Veuillez patienter pendant que les statistiques de base de données sont calculées...</translation>
+ </message>
</context>
<context>
<name>DatabaseTabWidget</name>
@@ -6272,6 +6319,10 @@ Noyau : %3 %4</translation>
<source>Invalid password generator after applying all options</source>
<translation>Générateur de mots de passe invalide après l&apos;application de toutes les options</translation>
</message>
+ <message>
+ <source>Show the protected attributes in clear text.</source>
+ <translation>Afficher les attributs protégés en clair.</translation>
+ </message>
</context>
<context>
<name>QtIOCompressor</name>
diff --git a/share/translations/keepassx_hu.ts b/share/translations/keepassx_hu.ts
index 94e198647..4d0d76812 100644
--- a/share/translations/keepassx_hu.ts
+++ b/share/translations/keepassx_hu.ts
@@ -444,6 +444,14 @@
<source>This Auto-Type command contains arguments which are repeated very often. Do you really want to proceed?</source>
<translation>Ez az automatikus beírás parancs nagyon gyakran ismétlődő paramétert tartalmaz. Valóban folytatható?</translation>
</message>
+ <message>
+ <source>Permission Required</source>
+ <translation>Engedély szükséges</translation>
+ </message>
+ <message>
+ <source>KeePassXC requires the Accessibility permission in order to perform entry level Auto-Type. If you already granted permission, you may have to restart KeePassXC.</source>
+ <translation>A KeePassXC számára szükséges az elérhetőségi jogosultság biztosítása a bejegyzésszintű automatikus beírás végrehajtásához. Ha ez a jogosultság már meg van adva, újra kell indtani a KeePassXC-t.</translation>
+ </message>
</context>
<context>
<name>AutoTypeAssociationsModel</name>
@@ -491,6 +499,17 @@
</message>
</context>
<context>
+ <name>AutoTypePlatformMac</name>
+ <message>
+ <source>Permission Required</source>
+ <translation>Engedély szükséges</translation>
+ </message>
+ <message>
+ <source>KeePassXC requires the Accessibility and Screen Recorder permission in order to perform global Auto-Type. Screen Recording is necessary to use the window title to find entries. If you already granted permission, you may have to restart KeePassXC.</source>
+ <translation>A KeePassXC számára szükséges az elérhetőségi és a képernyőolvasási jogosultság biztosítása a globális szintű automatikus beírás végrehajtásához. A képernyőolvasás az ablakok címének megtalálásához szükséges a bejegyzések között. Ha ezek a jogosultságok már meg van adva, újra kell indtani a KeePassXC-t.</translation>
+ </message>
+</context>
+<context>
<name>AutoTypeSelectDialog</name>
<message>
<source>Auto-Type - KeePassXC</source>
@@ -774,15 +793,6 @@ Válassza ki a helyes adatbázist a hitelesítő adatok mentéséhez.</translati
<translation>KeePassXC: Új kulcstársítási kérés</translation>
</message>
<message>
- <source>You have received an association request for the above key.
-
-If you would like to allow it access to your KeePassXC database,
-give it a unique name to identify and accept it.</source>
- <translation>A fenti kulcsra társítási kérelem érkezett.
-
-A KeePassXC adatbázishoz való hozzáférés engedélyezéséhez egy egyedi név hozzárendelése és elfogadása szükséges.</translation>
- </message>
- <message>
<source>Save and allow access</source>
<translation>Engedélyezési hozzáférés mentése</translation>
</message>
@@ -861,6 +871,18 @@ Biztos, hogy migrálja most a meglévő beállításokat?</translation>
<source>Don&apos;t show this warning again</source>
<translation>Ne jelenjen meg többé a figyelmeztetés</translation>
</message>
+ <message>
+ <source>You have received an association request for the following database:
+%1
+
+Give the connection a unique name or ID, for example:
+chrome-laptop.</source>
+ <translation>A következő adatbázishoz társítási kérelem érkezett:
+%1
+
+A kapcsolatnak egy olyan egyedi nevet, ill. azonosítót szükség adni, mint amilyen pl. a „chrome-laptopâ€.
+</translation>
+ </message>
</context>
<context>
<name>CloneDialog</name>
@@ -1127,10 +1149,6 @@ Megfontolandó egy új kulcsfájl készítése.</translation>
<translation>Jelszó láthatóságának átváltása</translation>
</message>
<message>
- <source>Enter Additional Credentials:</source>
- <translation>További hitelesítési adatok megadása:</translation>
- </message>
- <message>
<source>Key file selection</source>
<translation>Kulcsfájl kijelölése</translation>
</message>
@@ -1155,12 +1173,6 @@ Megfontolandó egy új kulcsfájl készítése.</translation>
<translation>Hardverkulcs:</translation>
</message>
<message>
- <source>&lt;p&gt;You can use a hardware security key such as a &lt;strong&gt;YubiKey&lt;/strong&gt; or &lt;strong&gt;OnlyKey&lt;/strong&gt; with slots configured for HMAC-SHA1.&lt;/p&gt;
- &lt;p&gt;Click for more information...&lt;/p&gt;</source>
- <translation>&lt;p&gt;A &lt;strong&gt;YubiKey&lt;/strong&gt; vagy az &lt;strong&gt;OnlyKey&lt;/strong&gt; biztonsági hardverkulcsok alkalmazhatóak a HMAC-SHA1-re konfigurált foglalattal.&lt;/p&gt;
- &lt;p&gt;További információk...&lt;/p&gt;</translation>
- </message>
- <message>
<source>Hardware key help</source>
<translation>Hardverkulcs súgó</translation>
</message>
@@ -1177,10 +1189,6 @@ Megfontolandó egy új kulcsfájl készítése.</translation>
<translation>Kulcsfájl törlése</translation>
</message>
<message>
- <source>Select file...</source>
- <translation>Fájl kijelölése…</translation>
- </message>
- <message>
<source>Unlock failed and no password given</source>
<translation>Feloldás sikertelen, jelszót nem adott</translation>
</message>
@@ -1198,6 +1206,41 @@ Ezen hiba megjelenése megelőzhető az Adatbázis-beállítások → Biztonság
<source>Retry with empty password</source>
<translation>Üres jelszó megpróbálása</translation>
</message>
+ <message>
+ <source>Enter Additional Credentials (if any):</source>
+ <translation>További hitelesítési adatok megadása (ha vannak):</translation>
+ </message>
+ <message>
+ <source>&lt;p&gt;You can use a hardware security key such as a &lt;strong&gt;YubiKey&lt;/strong&gt; or &lt;strong&gt;OnlyKey&lt;/strong&gt; with slots configured for HMAC-SHA1.&lt;/p&gt;
+&lt;p&gt;Click for more information...&lt;/p&gt;</source>
+ <translation>&lt;p&gt;A &lt;strong&gt;YubiKey&lt;/strong&gt; vagy az &lt;strong&gt;OnlyKey&lt;/strong&gt; biztonsági hardverkulcsok alkalmazhatóak a HMAC-SHA1-re konfigurált foglalattal.&lt;/p&gt;
+&lt;p&gt;További információk…&lt;/p&gt;</translation>
+ </message>
+ <message>
+ <source>&lt;p&gt;In addition to your master password, you can use a secret file to enhance the security of your database. Such a file can be generated in your database&apos;s security settings.&lt;/p&gt;&lt;p&gt;This is &lt;strong&gt;not&lt;/strong&gt; your *.kdbx database file!&lt;br&gt;If you do not have a key file, leave the field empty.&lt;/p&gt;&lt;p&gt;Click for more information...&lt;/p&gt;</source>
+ <translation>&lt;p&gt;A mesterkulcs mellett egy titkos fájlt is használhat, hogy javítsa az adatbázisa biztonságát. Egy ilyen fájl az adatbázis biztonsági beállításaiban állítható elő.&lt;/p&gt;&lt;p&gt;Ez &lt;strong&gt;nem&lt;/strong&gt; a *.kdbx adatbázisfájlja!&lt;br&gt;Ha nincs kulcsfájlja, akkor hagyja üresen a mezőt.&lt;/p&gt;&lt;p&gt;Kattintson a további információkért…&lt;/p&gt;</translation>
+ </message>
+ <message>
+ <source>Key file help</source>
+ <translation>Kulcsfájlok súgója</translation>
+ </message>
+ <message>
+ <source>?</source>
+ <translation>?</translation>
+ </message>
+ <message>
+ <source>Select key file...</source>
+ <translation>Kulcsfájl kiválasztása…</translation>
+ </message>
+ <message>
+ <source>Cannot use database file as key file</source>
+ <translation>Adatbázisfájl nem használható kulcsfájlként</translation>
+ </message>
+ <message>
+ <source>You cannot use your database file as a key file.
+If you do not have a key file, please leave the field empty.</source>
+ <translation>Nem használhatja az adatbázisfájlt kulcsfájlként. Ha nincs kulcsfájlja, akkor hagyja üresen a mezőt.</translation>
+ </message>
</context>
<context>
<name>DatabaseSettingWidgetMetaData</name>
@@ -1550,7 +1593,7 @@ Ezt a számot megtartva az adatbázis nagyon könnyen törhető lesz.</translati
</message>
<message>
<source>Enable fd.o Secret Service to access these settings.</source>
- <translation>Az fd.o titkos szolgáltatás engedélyezésével aktiválhatók ezek a beállítások.</translation>
+ <translation>Az fd.o titkosító szolgáltatás engedélyezésével aktiválhatók ezek a beállítások.</translation>
</message>
</context>
<context>
@@ -1838,6 +1881,10 @@ Valóban jelszó nélkül folytatja?</translation>
<source>Average password length is less than ten characters. Longer passwords provide more security.</source>
<translation>Az átlagos jelszóhossz kevesebb, mint 10 karakter. A hosszabb jelszavak nagyobb biztonságot szavatolnak.</translation>
</message>
+ <message>
+ <source>Please wait, database statistics are being calculated...</source>
+ <translation>Várjon, az adatbázis statisztikák kiszámításra kerülnek…</translation>
+ </message>
</context>
<context>
<name>DatabaseTabWidget</name>
@@ -2519,7 +2566,7 @@ Letiltható a biztonságos mentés és úgy megkísérelhető a mentés?</transl
</message>
<message>
<source>Toggle password generator</source>
- <translation>Jelszógenerátor átváltása</translation>
+ <translation>Jelszó-előállító átváltása</translation>
</message>
<message>
<source>Password field</source>
@@ -2709,7 +2756,7 @@ Letiltható a biztonságos mentés és úgy megkísérelhető a mentés?</transl
</message>
<message>
<source>...</source>
- <translation>...</translation>
+ <translation>…</translation>
</message>
<message>
<source>Password:</source>
@@ -2808,7 +2855,7 @@ Támogatott kiterjesztések: %1.</translation>
</message>
<message>
<source>Toggle password generator</source>
- <translation>Jelszógenerátor átváltása</translation>
+ <translation>Jelszó-előállító átváltása</translation>
</message>
<message>
<source>Clear fields</source>
@@ -3386,7 +3433,7 @@ Ez a kijelölt bővítmény hibás működését eredményezheti.</translation>
<name>FdoSecrets::Service</name>
<message>
<source>Failed to register DBus service at %1: another secret service is running.</source>
- <translation>Nem sikerült regisztrálni a DBus-szolgáltatást, mivel egy másik szolgáltatás már fut: %1.</translation>
+ <translation>Nem sikerült regisztrálni a DBus-szolgáltatást, mivel egy másik titkosító szolgáltatás már fut: %1.</translation>
</message>
<message numerus="yes">
<source>%n Entry(s) was used by %1</source>
@@ -3398,7 +3445,7 @@ Ez a kijelölt bővítmény hibás működését eredményezheti.</translation>
<name>FdoSecretsPlugin</name>
<message>
<source>Fdo Secret Service: %1</source>
- <translation>Fdo titkos szolgáltatás: %1</translation>
+ <translation>Fdo titkosító szolgáltatás: %1</translation>
</message>
</context>
<context>
@@ -3500,7 +3547,7 @@ A DuckDuckGo weboldal ikon szolgáltatást az alkalmazás beállításai közöt
</message>
<message>
<source>Header doesn&apos;t match hash</source>
- <translation>A fejléc nem egyezik meg a hash értékkel</translation>
+ <translation>A fejléc nem egyezik meg a kivonat értékkel</translation>
</message>
<message>
<source>Invalid header id size</source>
@@ -3923,7 +3970,7 @@ Line %2, column %3</source>
</message>
<message>
<source>Invalid content hash size</source>
- <translation>Érvénytelen tartalomhasító-méret</translation>
+ <translation>Érvénytelen tartalomkivonat-méret</translation>
</message>
<message>
<source>Invalid transform seed size</source>
@@ -4226,7 +4273,8 @@ Message: %2</source>
<message>
<source>The chosen key file looks like a password database file. A key file must be a static file that never changes or you will lose access to your database forever.
Are you sure you want to continue with this file?</source>
- <translation type="unfinished"/>
+ <translation>Úgy tűnik, hogy a kijelölt kulcsfájl egy jelszóadatbázis-fájl. A kulcsfájl egy statikus fájl kell legyen, ami sohasem változik, különben örökre el fog veszni az adatbázishoz való hozzáférés.
+Valóban folytatható a művelet ezzel a fájllal?</translation>
</message>
</context>
<context>
@@ -4345,7 +4393,7 @@ Are you sure you want to continue with this file?</source>
</message>
<message>
<source>&amp;Export to CSV file...</source>
- <translation>&amp;Exportálás CSV-fájlba…</translation>
+ <translation>Exportálás &amp;CSV-fájlba…</translation>
</message>
<message>
<source>Set up TOTP...</source>
@@ -4520,27 +4568,27 @@ Néhány hiba és kisebb nehézségek várhatóak, ezért ez a verzió nem aján
</message>
<message>
<source>&amp;Export</source>
- <translation type="unfinished"/>
+ <translation>&amp;Exportálás</translation>
</message>
<message>
<source>&amp;Check for Updates...</source>
- <translation type="unfinished"/>
+ <translation>&amp;Frissítések keresése…</translation>
</message>
<message>
<source>Downlo&amp;ad all favicons</source>
- <translation type="unfinished"/>
+ <translation>Minden favicon &amp;letöltése</translation>
</message>
<message>
<source>Sort &amp;A-Z</source>
- <translation type="unfinished"/>
+ <translation>Rendezés: &amp;A–Z</translation>
</message>
<message>
<source>Sort &amp;Z-A</source>
- <translation type="unfinished"/>
+ <translation>Rendezés: &amp;Z–A</translation>
</message>
<message>
<source>&amp;Password Generator</source>
- <translation type="unfinished"/>
+ <translation>&amp;Jelszó-előállító</translation>
</message>
<message>
<source>Download favicon</source>
@@ -4548,31 +4596,31 @@ Néhány hiba és kisebb nehézségek várhatóak, ezért ez a verzió nem aján
</message>
<message>
<source>&amp;Export to HTML file...</source>
- <translation type="unfinished"/>
+ <translation>Exportálás &amp;HTML-fájlba…</translation>
</message>
<message>
<source>1Password Vault...</source>
- <translation type="unfinished"/>
+ <translation>1Password Vault…</translation>
</message>
<message>
<source>Import a 1Password Vault</source>
- <translation type="unfinished"/>
+ <translation>1Password Vault importálása</translation>
</message>
<message>
<source>&amp;Getting Started</source>
- <translation type="unfinished"/>
+ <translation>&amp;Kezdő lépések</translation>
</message>
<message>
<source>Open Getting Started Guide PDF</source>
- <translation type="unfinished"/>
+ <translation>Kezdő lépések PDF kézikönyv megnyitása</translation>
</message>
<message>
<source>&amp;Online Help...</source>
- <translation type="unfinished"/>
+ <translation>&amp;Online súgó…</translation>
</message>
<message>
<source>Go to online documentation (opens browser)</source>
- <translation type="unfinished"/>
+ <translation>Ugrás az online dokumentációra (böngészőben nyílik meg)</translation>
</message>
<message>
<source>&amp;User Guide</source>
@@ -4647,11 +4695,11 @@ Néhány hiba és kisebb nehézségek várhatóak, ezért ez a verzió nem aján
</message>
<message>
<source>Removed custom data %1 [%2]</source>
- <translation type="unfinished"/>
+ <translation>Törölt egyéni adat: %1 [%2]</translation>
</message>
<message>
<source>Adding custom data %1 [%2]</source>
- <translation type="unfinished"/>
+ <translation>Egyéni adat hozzáadása: %1 [%2]</translation>
</message>
</context>
<context>
@@ -4726,31 +4774,31 @@ Néhány hiba és kisebb nehézségek várhatóak, ezért ez a verzió nem aján
<name>OpData01</name>
<message>
<source>Invalid OpData01, does not contain header</source>
- <translation type="unfinished"/>
+ <translation>Érvénytelen OpData01, nem tartalmaz fejlécet</translation>
</message>
<message>
<source>Unable to read all IV bytes, wanted 16 but got %1</source>
- <translation type="unfinished"/>
+ <translation>Nem minden IV bájt olvasható, 16 a várt érték, a kapott pedig %1</translation>
</message>
<message>
<source>Unable to init cipher for opdata01: %1</source>
- <translation type="unfinished"/>
+ <translation>A titkosító nem indítható az opdata01 számára: %1</translation>
</message>
<message>
<source>Unable to read all HMAC signature bytes</source>
- <translation type="unfinished"/>
+ <translation>Nem olvasható minden HMAC aláíróbájt</translation>
</message>
<message>
<source>Malformed OpData01 due to a failed HMAC</source>
- <translation type="unfinished"/>
+ <translation>A helytelenül formázott OpData01 miatt a HMAC sikertelen.</translation>
</message>
<message>
<source>Unable to process clearText in place</source>
- <translation type="unfinished"/>
+ <translation>A clearText feldolgozás sikertelen a helyén</translation>
</message>
<message>
<source>Expected %1 bytes of clear-text, found %2</source>
- <translation type="unfinished"/>
+ <translation>%1 bájt egyszerű szöveg a várt, de ehelyett a talált: %2 </translation>
</message>
</context>
<context>
@@ -4758,34 +4806,35 @@ Néhány hiba és kisebb nehézségek várhatóak, ezért ez a verzió nem aján
<message>
<source>Read Database did not produce an instance
%1</source>
- <translation type="unfinished"/>
+ <translation>Az adatbázis olvasása nem hozott létre példányt:
+%1</translation>
</message>
</context>
<context>
<name>OpVaultReader</name>
<message>
<source>Directory .opvault must exist</source>
- <translation type="unfinished"/>
+ <translation>A .opvault mappának léteznie kell</translation>
</message>
<message>
<source>Directory .opvault must be readable</source>
- <translation type="unfinished"/>
+ <translation>A .opvault mappa olvasható kell legyen</translation>
</message>
<message>
<source>Directory .opvault/default must exist</source>
- <translation type="unfinished"/>
+ <translation>A .opvault/default mappának léteznie kell</translation>
</message>
<message>
<source>Directory .opvault/default must be readable</source>
- <translation type="unfinished"/>
+ <translation>A .opvault/default mappa olvasható kell legyen</translation>
</message>
<message>
<source>Unable to decode masterKey: %1</source>
- <translation type="unfinished"/>
+ <translation>Nem dekódolható a mesterkulcs: %1</translation>
</message>
<message>
<source>Unable to derive master key: %1</source>
- <translation type="unfinished"/>
+ <translation>A mesterkulcs nem származtatható: %1</translation>
</message>
</context>
<context>
@@ -4938,7 +4987,7 @@ Néhány hiba és kisebb nehézségek várhatóak, ezért ez a verzió nem aján
</message>
<message>
<source>Toggle password generator</source>
- <translation>Jelszógenerátor átváltása</translation>
+ <translation>Jelszó-előállító átváltása</translation>
</message>
</context>
<context>
@@ -5178,7 +5227,7 @@ Néhány hiba és kisebb nehézségek várhatóak, ezért ez a verzió nem aján
</message>
<message>
<source>Word Case:</source>
- <translation type="unfinished"/>
+ <translation>Minden Szó Nagybetűs</translation>
</message>
<message>
<source>Regenerate password</source>
@@ -5256,7 +5305,7 @@ Néhány hiba és kisebb nehézségek várhatóak, ezért ez a verzió nem aján
</message>
<message>
<source>Continue</source>
- <translation type="unfinished"/>
+ <translation>Folytatás</translation>
</message>
</context>
<context>
@@ -5267,7 +5316,7 @@ Néhány hiba és kisebb nehézségek várhatóak, ezért ez a verzió nem aján
</message>
<message>
<source>Database hash not available</source>
- <translation>Az adatbázishasító nem elérhető</translation>
+ <translation>Az adatbáziskovonat nem elérhető</translation>
</message>
<message>
<source>Client public key not received</source>
@@ -5788,7 +5837,7 @@ Elérhető parancsok:
</message>
<message>
<source>Successfully recycled entry %1.</source>
- <translation>A(z) %1 bejegyzés sikeresen kukába dobva.</translation>
+ <translation>Sikeresen kukába dobva a bejegyzés: %1.</translation>
</message>
<message>
<source>Successfully deleted entry %1.</source>
@@ -5950,15 +5999,15 @@ Elérhető parancsok:
</message>
<message>
<source>Deactivate password key for the database.</source>
- <translation type="unfinished"/>
+ <translation>Jelszókulcs deaktiválása az adatbázishoz.</translation>
</message>
<message>
<source>Displays debugging information.</source>
- <translation type="unfinished"/>
+ <translation>Hibakeresési információk megjelenítése.</translation>
</message>
<message>
<source>Deactivate password key for the database to merge from.</source>
- <translation type="unfinished"/>
+ <translation>Jelszókulcs deaktiválása az adatbázishoz, amelyből az egyesítésre kerül.</translation>
</message>
<message>
<source>Version %1</source>
@@ -5978,11 +6027,11 @@ Elérhető parancsok:
</message>
<message>
<source>Debugging mode is disabled.</source>
- <translation type="unfinished"/>
+ <translation>Hibakeresési mód letiltva.</translation>
</message>
<message>
<source>Debugging mode is enabled.</source>
- <translation type="unfinished"/>
+ <translation>Hibakeresési mód engedélyezve.</translation>
</message>
<message>
<source>Operating system: %1
@@ -6026,151 +6075,151 @@ Kernel: %3 %4</translation>
</message>
<message>
<source>Cryptographic libraries:</source>
- <translation type="unfinished"/>
+ <translation>Kriptográfiai könyvtárak:</translation>
</message>
<message>
<source>Cannot generate a password and prompt at the same time!</source>
- <translation type="unfinished"/>
+ <translation>Jelszó előállítása és bekérése egyszerre nem lehetséges!</translation>
</message>
<message>
<source>Adds a new group to a database.</source>
- <translation type="unfinished"/>
+ <translation>Új csoport hozzáadása az adatbázishoz.</translation>
</message>
<message>
<source>Path of the group to add.</source>
- <translation type="unfinished"/>
+ <translation>A hozzáadandó csoport útvonala.</translation>
</message>
<message>
<source>Group %1 already exists!</source>
- <translation type="unfinished"/>
+ <translation>A csoport már létezik: %1!</translation>
</message>
<message>
<source>Group %1 not found.</source>
- <translation type="unfinished"/>
+ <translation>Nem található a csoport: %1.</translation>
</message>
<message>
<source>Successfully added group %1.</source>
- <translation type="unfinished"/>
+ <translation>A csoport sikeresen hozzáadva: %1.</translation>
</message>
<message>
<source>Check if any passwords have been publicly leaked. FILENAME must be the path of a file listing SHA-1 hashes of leaked passwords in HIBP format, as available from https://haveibeenpwned.com/Passwords.</source>
- <translation type="unfinished"/>
+ <translation>Ajánlott ellenőrizni, hogy a jelszavak nem szivárogtak-e nyilvánosan. A(z) FILENAME fájlnak HIBP formátumban – a https://haveibeenpwned.com/Passwords oldalon elérhető formátum szerint – kell tartalmaznia a szivárgott jelszavak SHA-1 kivonatának listáját.</translation>
</message>
<message>
<source>FILENAME</source>
- <translation type="unfinished"/>
+ <translation>FÃJLNÉV</translation>
</message>
<message>
<source>Analyze passwords for weaknesses and problems.</source>
- <translation type="unfinished"/>
+ <translation>Jelszavak gyengeségi és problematikussági vizsgálata.</translation>
</message>
<message>
<source>Failed to open HIBP file %1: %2</source>
- <translation type="unfinished"/>
+ <translation>HIBP-fájl megnyitása sikertelen: %1 %2</translation>
</message>
<message>
<source>Evaluating database entries against HIBP file, this will take a while...</source>
- <translation type="unfinished"/>
+ <translation>Az adatbázis-bejegyzések kiértékelése a HIBP-fájl alapján egy ideig el fog tartani…</translation>
</message>
<message>
<source>Close the currently opened database.</source>
- <translation type="unfinished"/>
+ <translation>Pillanatnyilag megnyitott adatbázis bezárása.</translation>
</message>
<message>
<source>Display this help.</source>
- <translation type="unfinished"/>
+ <translation>Ezen súgó megjelenítése.</translation>
</message>
<message>
<source>Yubikey slot used to encrypt the database.</source>
- <translation type="unfinished"/>
+ <translation>A Yubikey foglalat használatával történik az adatbázis titkosítása.</translation>
</message>
<message>
<source>slot</source>
- <translation type="unfinished"/>
+ <translation>foglalat</translation>
</message>
<message>
<source>Invalid word count %1</source>
- <translation type="unfinished"/>
+ <translation>Érvénytelen a szavak száma: %1</translation>
</message>
<message>
<source>The word list is too small (&lt; 1000 items)</source>
- <translation type="unfinished"/>
+ <translation>A szavak listája túl rövid (&lt; 1000 elem)</translation>
</message>
<message>
<source>Exit interactive mode.</source>
- <translation type="unfinished"/>
+ <translation>Kilépés az interaktív módból.</translation>
</message>
<message>
<source>Format to use when exporting. Available choices are xml or csv. Defaults to xml.</source>
- <translation type="unfinished"/>
+ <translation>Exportálási formátum. Lehetőségek: XML és CSV. Az alapértelmezett az XML.</translation>
</message>
<message>
<source>Exports the content of a database to standard output in the specified format.</source>
- <translation type="unfinished"/>
+ <translation>Szabványos kimenetre exportálja az adatbázis tartalmát a meghatározott formátumban.</translation>
</message>
<message>
<source>Unable to export database to XML: %1</source>
- <translation type="unfinished"/>
+ <translation>Az adatbázis nem exportálható XML-be: %1</translation>
</message>
<message>
<source>Unsupported format %1</source>
- <translation type="unfinished"/>
+ <translation>Nem támogatott formátum: %1</translation>
</message>
<message>
<source>Use numbers</source>
- <translation type="unfinished"/>
+ <translation>Számok alkalmazása</translation>
</message>
<message>
<source>Invalid password length %1</source>
- <translation type="unfinished"/>
+ <translation>Érvénytelen jelszóhossz: %1</translation>
</message>
<message>
<source>Display command help.</source>
- <translation type="unfinished"/>
+ <translation>Parancsok súgójának megjelenítése.</translation>
</message>
<message>
<source>Available commands:</source>
- <translation type="unfinished"/>
+ <translation>Elérhető parancsok:</translation>
</message>
<message>
<source>Import the contents of an XML database.</source>
- <translation type="unfinished"/>
+ <translation>XML adatbázis tartalmának importálása.</translation>
</message>
<message>
<source>Path of the XML database export.</source>
- <translation type="unfinished"/>
+ <translation>Exportálandó XML adatbázis útvonala.</translation>
</message>
<message>
<source>Path of the new database.</source>
- <translation type="unfinished"/>
+ <translation>Új adatbázis útvonala.</translation>
</message>
<message>
<source>Unable to import XML database export %1</source>
- <translation type="unfinished"/>
+ <translation>Az XML adatbázis exportja nem importálható: %1</translation>
</message>
<message>
<source>Successfully imported database.</source>
- <translation type="unfinished"/>
+ <translation>Sikeres adatbázis importálás.</translation>
</message>
<message>
<source>Unknown command %1</source>
- <translation type="unfinished"/>
+ <translation>Ismeretlen parancs: %1</translation>
</message>
<message>
<source>Flattens the output to single lines.</source>
- <translation type="unfinished"/>
+ <translation>Kimenet egyetlen sorrá való lapítása.</translation>
</message>
<message>
<source>Only print the changes detected by the merge operation.</source>
- <translation type="unfinished"/>
+ <translation>Az egyesítési művelet által talált módosítások kiíratása.</translation>
</message>
<message>
<source>Yubikey slot for the second database.</source>
- <translation type="unfinished"/>
+ <translation>A második adatbázis Yubikey foglalata.</translation>
</message>
<message>
<source>Successfully merged %1 into %2.</source>
- <translation type="unfinished"/>
+ <translation>%1 sikeresen egyesítve a következővel: %2.</translation>
</message>
<message>
<source>Database was not modified by merge operation.</source>
@@ -6178,99 +6227,103 @@ Kernel: %3 %4</translation>
</message>
<message>
<source>Moves an entry to a new group.</source>
- <translation type="unfinished"/>
+ <translation>Bejegyzés mozgatása egy új csoportba.</translation>
</message>
<message>
<source>Path of the entry to move.</source>
- <translation type="unfinished"/>
+ <translation>A mozgatandó bejegyzés útvonala.</translation>
</message>
<message>
<source>Path of the destination group.</source>
- <translation type="unfinished"/>
+ <translation>A célcsoport útvonala.</translation>
</message>
<message>
<source>Could not find group with path %1.</source>
- <translation type="unfinished"/>
+ <translation>Nem található csoport ezen az útvonalon: %1.</translation>
</message>
<message>
<source>Entry is already in group %1.</source>
- <translation type="unfinished"/>
+ <translation>A bejegyzés már a csoportban van: %1.</translation>
</message>
<message>
<source>Successfully moved entry %1 to group %2.</source>
- <translation type="unfinished"/>
+ <translation>A(z) %1 bejegyzés sikeresen átmozgatva a csoportba: %2.</translation>
</message>
<message>
<source>Open a database.</source>
- <translation type="unfinished"/>
+ <translation>Adatbázis megnyitása.</translation>
</message>
<message>
<source>Path of the group to remove.</source>
- <translation type="unfinished"/>
+ <translation>Egy törlendő csoport útvonala.</translation>
</message>
<message>
<source>Cannot remove root group from database.</source>
- <translation type="unfinished"/>
+ <translation>A gyökércsoport nem törölhető az adatbázisból.</translation>
</message>
<message>
<source>Successfully recycled group %1.</source>
- <translation type="unfinished"/>
+ <translation>Sikeresen kukába dobva a csoport: %1.</translation>
</message>
<message>
<source>Successfully deleted group %1.</source>
- <translation type="unfinished"/>
+ <translation>A csoport sikeresen törölve: %1.</translation>
</message>
<message>
<source>Failed to open database file %1: not found</source>
- <translation type="unfinished"/>
+ <translation>Az adatbázisfájl megnyitása sikertelen, mivel nem található: %1</translation>
</message>
<message>
<source>Failed to open database file %1: not a plain file</source>
- <translation type="unfinished"/>
+ <translation>Az adatbázisfájl megnyitása sikertelen, mivel nem egyszerű fájl: %1</translation>
</message>
<message>
<source>Failed to open database file %1: not readable</source>
- <translation type="unfinished"/>
+ <translation>Az adatbázisfájl megnyitása sikertelen, mivel nem olvasható: %1</translation>
</message>
<message>
<source>Enter password to unlock %1: </source>
- <translation type="unfinished"/>
+ <translation>Jelszó megadása a feloldásához: %1</translation>
</message>
<message>
<source>Invalid YubiKey slot %1</source>
- <translation type="unfinished"/>
+ <translation>Érvénytelen YubiKey foglalat: %1</translation>
</message>
<message>
<source>Please touch the button on your YubiKey to unlock %1</source>
- <translation type="unfinished"/>
+ <translation>Érintse meg a gombot a YubiKey-en a(z) %1 feloldásához</translation>
</message>
<message>
<source>Enter password to encrypt database (optional): </source>
- <translation type="unfinished"/>
+ <translation>Adjon meg egy jelszót az adatbázis titkosításához (válaszható):</translation>
</message>
<message>
<source>HIBP file, line %1: parse error</source>
- <translation type="unfinished"/>
+ <translation>HIBP fájl, %1. sor: feldolgozási hiba</translation>
</message>
<message>
<source>Secret Service Integration</source>
- <translation type="unfinished"/>
+ <translation>Titkosító szolgáltatás integrációja</translation>
</message>
<message>
<source>User name</source>
- <translation type="unfinished"/>
+ <translation>Felhasználónév</translation>
</message>
<message>
<source>%1[%2] Challenge Response - Slot %3 - %4</source>
- <translation type="unfinished"/>
+ <translation>%1[%2] kihívás-válasz – foglalat %3 - %4</translation>
</message>
<message numerus="yes">
<source>Password for &apos;%1&apos; has been leaked %2 time(s)!</source>
- <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
+ <translation><numerusform>Az ehhez tartozó jelszó %1-szer kiszivárgott: „%1â€!</numerusform><numerusform>Az ehhez tartozó jelszó %1 alkalommal kiszivárgott: „%1â€!</numerusform></translation>
</message>
<message>
<source>Invalid password generator after applying all options</source>
- <translation type="unfinished"/>
+ <translation>Érvénytelen jelszó-előállító az összes beállítás alkalmazása után</translation>
+ </message>
+ <message>
+ <source>Show the protected attributes in clear text.</source>
+ <translation>A védett attribútumok megjelenítése egyszerű szövegként.</translation>
</message>
</context>
<context>
@@ -6429,11 +6482,11 @@ Kernel: %3 %4</translation>
<name>SettingsWidgetFdoSecrets</name>
<message>
<source>Options</source>
- <translation type="unfinished"/>
+ <translation>Beállítások</translation>
</message>
<message>
<source>Enable KeepassXC Freedesktop.org Secret Service integration</source>
- <translation type="unfinished"/>
+ <translation>KeepassXC Freedesktop.org titkosító szolgáltatás integrációjának engedélyezése</translation>
</message>
<message>
<source>General</source>
@@ -6441,23 +6494,23 @@ Kernel: %3 %4</translation>
</message>
<message>
<source>Show notification when credentials are requested</source>
- <translation type="unfinished"/>
+ <translation>Értesítés megjelenítése hitelesítési adatok kérésekor</translation>
</message>
<message>
<source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;If recycle bin is enabled for the database, entries will be moved to recycle bin directly. Otherwise, they will be deleted without confirmation.&lt;/p&gt;&lt;p&gt;You will still be prompted if any entries are referenced by others.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
- <translation type="unfinished"/>
+ <translation>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Ha a kuka engedélyezve van az adatbázis számára, a bejegyzések a kukába lesznek mozgatva. Egyébként pedig megerősítés nélkül törlése kerülnek.&lt;/p&gt;&lt;p&gt;Továbbra is megerősítés szükséges az egymáshoz kapcsoló bejegyzések törléséhez.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
</message>
<message>
<source>Don&apos;t confirm when entries are deleted by clients.</source>
- <translation type="unfinished"/>
+ <translation>Nincs megerősítés a bejegyzések kliensek által végrehajtott törlésekor.</translation>
</message>
<message>
<source>Exposed database groups:</source>
- <translation type="unfinished"/>
+ <translation>Nyitott adatbáziscsoportok:</translation>
</message>
<message>
<source>File Name</source>
- <translation type="unfinished"/>
+ <translation>Fájlnév</translation>
</message>
<message>
<source>Group</source>
@@ -6465,11 +6518,11 @@ Kernel: %3 %4</translation>
</message>
<message>
<source>Manage</source>
- <translation type="unfinished"/>
+ <translation>Kezelés</translation>
</message>
<message>
<source>Authorization</source>
- <translation type="unfinished"/>
+ <translation>Engedélyezés</translation>
</message>
<message>
<source>These applications are currently connected:</source>
@@ -6481,7 +6534,7 @@ Kernel: %3 %4</translation>
</message>
<message>
<source>Disconnect</source>
- <translation type="unfinished"/>
+ <translation>Leválasztás</translation>
</message>
<message>
<source>Database settings</source>
@@ -6489,7 +6542,7 @@ Kernel: %3 %4</translation>
</message>
<message>
<source>Edit database settings</source>
- <translation type="unfinished"/>
+ <translation>Adatbázis-beállítások szerkesztése</translation>
</message>
<message>
<source>Unlock database</source>
@@ -6497,7 +6550,7 @@ Kernel: %3 %4</translation>
</message>
<message>
<source>Unlock database to show more information</source>
- <translation type="unfinished"/>
+ <translation>Adatbázis feloldása a további információk megjelenítéséhez</translation>
</message>
<message>
<source>Lock database</source>
@@ -6505,7 +6558,7 @@ Kernel: %3 %4</translation>
</message>
<message>
<source>Unlock to show</source>
- <translation type="unfinished"/>
+ <translation>Feloldás a megjelenítéshez</translation>
</message>
<message>
<source>None</source>
@@ -6637,15 +6690,15 @@ Kernel: %3 %4</translation>
</message>
<message>
<source>Allow KeeShare imports</source>
- <translation type="unfinished"/>
+ <translation>KeeShare importálás engedélyezése</translation>
</message>
<message>
<source>Allow KeeShare exports</source>
- <translation type="unfinished"/>
+ <translation>KeeShare exportálás engedélyezése</translation>
</message>
<message>
<source>Only show warnings and errors</source>
- <translation type="unfinished"/>
+ <translation>Csak figyelmeztetések és hibák megjelenítése</translation>
</message>
<message>
<source>Key</source>
@@ -6653,39 +6706,39 @@ Kernel: %3 %4</translation>
</message>
<message>
<source>Signer name field</source>
- <translation type="unfinished"/>
+ <translation>Aláíró neve mező</translation>
</message>
<message>
<source>Generate new certificate</source>
- <translation type="unfinished"/>
+ <translation>Új tanúsítvány előállítása</translation>
</message>
<message>
<source>Import existing certificate</source>
- <translation type="unfinished"/>
+ <translation>Meglévő tanúsítvány importálása</translation>
</message>
<message>
<source>Export own certificate</source>
- <translation type="unfinished"/>
+ <translation>Saját tanúsítvány exportálása</translation>
</message>
<message>
<source>Known shares</source>
- <translation type="unfinished"/>
+ <translation>Ismert megosztások</translation>
</message>
<message>
<source>Trust selected certificate</source>
- <translation type="unfinished"/>
+ <translation>Kijelölt tanúsítvány megbízhatóvá minősítése</translation>
</message>
<message>
<source>Ask whether to trust the selected certificate every time</source>
- <translation type="unfinished"/>
+ <translation>Kérdés a kijelölt tanúsítvány megbízhatóságáról minden alkalommal</translation>
</message>
<message>
<source>Untrust selected certificate</source>
- <translation type="unfinished"/>
+ <translation>Kijelölt tanúsítvány megbízhatatlanná minősítése</translation>
</message>
<message>
<source>Remove selected certificate</source>
- <translation type="unfinished"/>
+ <translation>Kijelölt tanúsítvány törlése</translation>
</message>
</context>
<context>
@@ -6913,15 +6966,15 @@ Kernel: %3 %4</translation>
</message>
<message>
<source>Secret Key:</source>
- <translation type="unfinished"/>
+ <translation>Titkos kulcs:</translation>
</message>
<message>
<source>Secret key must be in Base32 format</source>
- <translation type="unfinished"/>
+ <translation>A titkos kulcs formátuma Base32 kell legyen</translation>
</message>
<message>
<source>Secret key field</source>
- <translation type="unfinished"/>
+ <translation>Titkos kulcs mező</translation>
</message>
<message>
<source>Algorithm:</source>
@@ -6929,28 +6982,29 @@ Kernel: %3 %4</translation>
</message>
<message>
<source>Time step field</source>
- <translation type="unfinished"/>
+ <translation>Időlépés mező</translation>
</message>
<message>
<source> digits</source>
- <translation type="unfinished"/>
+ <translation>számok</translation>
</message>
<message>
<source>Invalid TOTP Secret</source>
- <translation type="unfinished"/>
+ <translation>Érvénytelen TOTP titok</translation>
</message>
<message>
<source>You have entered an invalid secret key. The key must be in Base32 format.
Example: JBSWY3DPEHPK3PXP</source>
- <translation type="unfinished"/>
+ <translation>A megadott kulcs érvénytelen. A kulcs Base32 formátumú kell legyen.
+Példa: JBSWY3DPEHPK3PXP</translation>
</message>
<message>
<source>Confirm Remove TOTP Settings</source>
- <translation type="unfinished"/>
+ <translation>TOTP beállítások törlésének megerősítése</translation>
</message>
<message>
<source>Are you sure you want to delete TOTP settings for this entry?</source>
- <translation type="unfinished"/>
+ <translation>Valóban törölhetőek a bejegyzés TOTP beállításai?</translation>
</message>
</context>
<context>
@@ -6961,7 +7015,7 @@ Example: JBSWY3DPEHPK3PXP</source>
</message>
<message>
<source>Checking for updates...</source>
- <translation>Frissítések keresése...</translation>
+ <translation>Frissítések keresése…</translation>
</message>
<message>
<source>Close</source>
@@ -7036,11 +7090,11 @@ Example: JBSWY3DPEHPK3PXP</source>
</message>
<message>
<source>Import from 1Password</source>
- <translation type="unfinished"/>
+ <translation>Importálás 1Password-ből</translation>
</message>
<message>
<source>Open a recent database</source>
- <translation type="unfinished"/>
+ <translation>Legutóbbi adatbázis megnyitása</translation>
</message>
</context>
<context>
diff --git a/share/translations/keepassx_id.ts b/share/translations/keepassx_id.ts
index 21075238d..31dd7f531 100644
--- a/share/translations/keepassx_id.ts
+++ b/share/translations/keepassx_id.ts
@@ -444,6 +444,14 @@
<source>This Auto-Type command contains arguments which are repeated very often. Do you really want to proceed?</source>
<translation>Perintah Ketik-Otomatis ini berisi argumen yang diulang berkali-kali. Apakah Anda benar-benar ingin melanjutkan?</translation>
</message>
+ <message>
+ <source>Permission Required</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>KeePassXC requires the Accessibility permission in order to perform entry level Auto-Type. If you already granted permission, you may have to restart KeePassXC.</source>
+ <translation type="unfinished"/>
+ </message>
</context>
<context>
<name>AutoTypeAssociationsModel</name>
@@ -491,6 +499,17 @@
</message>
</context>
<context>
+ <name>AutoTypePlatformMac</name>
+ <message>
+ <source>Permission Required</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>KeePassXC requires the Accessibility and Screen Recorder permission in order to perform global Auto-Type. Screen Recording is necessary to use the window title to find entries. If you already granted permission, you may have to restart KeePassXC.</source>
+ <translation type="unfinished"/>
+ </message>
+</context>
+<context>
<name>AutoTypeSelectDialog</name>
<message>
<source>Auto-Type - KeePassXC</source>
@@ -774,16 +793,6 @@ Silakan pilih basis data yang digunakan untuk menyimpan kredensial.</translation
<translation>KeePassXC: Permintaan asosiasi kunci baru</translation>
</message>
<message>
- <source>You have received an association request for the above key.
-
-If you would like to allow it access to your KeePassXC database,
-give it a unique name to identify and accept it.</source>
- <translation>Anda menerima permintaan asosiasi untuk kunci di atas.
-
-Jika Anda ingin mengizinkannya mengakses basis data KeePassXC Anda,
-berikan nama yang unik untuk identifikasi dan terimalah.</translation>
- </message>
- <message>
<source>Save and allow access</source>
<translation>Simpan dan izinkan akses</translation>
</message>
@@ -863,6 +872,14 @@ Apakah anda ingin memindahkan pengaturan yang ada sekarang?</translation>
<source>Don&apos;t show this warning again</source>
<translation>Jangan tampilkan peringatan ini lagi</translation>
</message>
+ <message>
+ <source>You have received an association request for the following database:
+%1
+
+Give the connection a unique name or ID, for example:
+chrome-laptop.</source>
+ <translation type="unfinished"/>
+ </message>
</context>
<context>
<name>CloneDialog</name>
@@ -996,7 +1013,7 @@ Apakah anda ingin memindahkan pengaturan yang ada sekarang?</translation>
<message>
<source>%1, %2, %3</source>
<comment>file info: bytes, rows, columns</comment>
- <translation type="unfinished"/>
+ <translation>%1, %2, %3</translation>
</message>
<message numerus="yes">
<source>%n byte(s)</source>
@@ -1128,10 +1145,6 @@ Harap pertimbangkan membuat berkas kunci baru.</translation>
<translation type="unfinished"/>
</message>
<message>
- <source>Enter Additional Credentials:</source>
- <translation type="unfinished"/>
- </message>
- <message>
<source>Key file selection</source>
<translation type="unfinished"/>
</message>
@@ -1156,11 +1169,6 @@ Harap pertimbangkan membuat berkas kunci baru.</translation>
<translation type="unfinished"/>
</message>
<message>
- <source>&lt;p&gt;You can use a hardware security key such as a &lt;strong&gt;YubiKey&lt;/strong&gt; or &lt;strong&gt;OnlyKey&lt;/strong&gt; with slots configured for HMAC-SHA1.&lt;/p&gt;
- &lt;p&gt;Click for more information...&lt;/p&gt;</source>
- <translation type="unfinished"/>
- </message>
- <message>
<source>Hardware key help</source>
<translation type="unfinished"/>
</message>
@@ -1177,10 +1185,6 @@ Harap pertimbangkan membuat berkas kunci baru.</translation>
<translation type="unfinished"/>
</message>
<message>
- <source>Select file...</source>
- <translation type="unfinished"/>
- </message>
- <message>
<source>Unlock failed and no password given</source>
<translation type="unfinished"/>
</message>
@@ -1195,6 +1199,40 @@ To prevent this error from appearing, you must go to &quot;Database Settings / S
<source>Retry with empty password</source>
<translation type="unfinished"/>
</message>
+ <message>
+ <source>Enter Additional Credentials (if any):</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>&lt;p&gt;You can use a hardware security key such as a &lt;strong&gt;YubiKey&lt;/strong&gt; or &lt;strong&gt;OnlyKey&lt;/strong&gt; with slots configured for HMAC-SHA1.&lt;/p&gt;
+&lt;p&gt;Click for more information...&lt;/p&gt;</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>&lt;p&gt;In addition to your master password, you can use a secret file to enhance the security of your database. Such a file can be generated in your database&apos;s security settings.&lt;/p&gt;&lt;p&gt;This is &lt;strong&gt;not&lt;/strong&gt; your *.kdbx database file!&lt;br&gt;If you do not have a key file, leave the field empty.&lt;/p&gt;&lt;p&gt;Click for more information...&lt;/p&gt;</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Key file help</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>?</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Select key file...</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Cannot use database file as key file</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>You cannot use your database file as a key file.
+If you do not have a key file, please leave the field empty.</source>
+ <translation type="unfinished"/>
+ </message>
</context>
<context>
<name>DatabaseSettingWidgetMetaData</name>
@@ -1834,6 +1872,10 @@ Apakah anda tetap ingin melanjutkan tanpa mengatur sandi?</translation>
<source>Average password length is less than ten characters. Longer passwords provide more security.</source>
<translation type="unfinished"/>
</message>
+ <message>
+ <source>Please wait, database statistics are being calculated...</source>
+ <translation type="unfinished"/>
+ </message>
</context>
<context>
<name>DatabaseTabWidget</name>
@@ -6264,6 +6306,10 @@ Kernel: %3 %4</translation>
<source>Invalid password generator after applying all options</source>
<translation type="unfinished"/>
</message>
+ <message>
+ <source>Show the protected attributes in clear text.</source>
+ <translation type="unfinished"/>
+ </message>
</context>
<context>
<name>QtIOCompressor</name>
diff --git a/share/translations/keepassx_it.ts b/share/translations/keepassx_it.ts
index 6c8b8c236..b284aa6e6 100644
--- a/share/translations/keepassx_it.ts
+++ b/share/translations/keepassx_it.ts
@@ -444,6 +444,14 @@
<source>This Auto-Type command contains arguments which are repeated very often. Do you really want to proceed?</source>
<translation>Questo comando di auto-completamento contiene argomenti che molto spesso si ripetono. Si desidera veramente procedere?</translation>
</message>
+ <message>
+ <source>Permission Required</source>
+ <translation>Permesso richiesto</translation>
+ </message>
+ <message>
+ <source>KeePassXC requires the Accessibility permission in order to perform entry level Auto-Type. If you already granted permission, you may have to restart KeePassXC.</source>
+ <translation>KeePassXC richiede il permesso di Accessibilità per effettuare l&apos;Auto-Type di livello base. Se hai già concesso il permesso, riavvia KeePassXC.</translation>
+ </message>
</context>
<context>
<name>AutoTypeAssociationsModel</name>
@@ -491,6 +499,17 @@
</message>
</context>
<context>
+ <name>AutoTypePlatformMac</name>
+ <message>
+ <source>Permission Required</source>
+ <translation>Permesso richiesto</translation>
+ </message>
+ <message>
+ <source>KeePassXC requires the Accessibility and Screen Recorder permission in order to perform global Auto-Type. Screen Recording is necessary to use the window title to find entries. If you already granted permission, you may have to restart KeePassXC.</source>
+ <translation>KeePasssXC richiede il permesso di Accessibilità e di Registrazione Schermo per effettuare l&apos;Auto-Type globale. La registrazione dello schermo è necessaria per usare il titolo della finestra al fine di trovare le voci corrispondenti. Se hai già concesso il permesso, riavvia KeePassXC.</translation>
+ </message>
+</context>
+<context>
<name>AutoTypeSelectDialog</name>
<message>
<source>Auto-Type - KeePassXC</source>
@@ -774,16 +793,6 @@ Selezionare il database corretto dove salvare le credenziali</translation>
<translation>KeePassXC: nuova richiesta di associazione chiave</translation>
</message>
<message>
- <source>You have received an association request for the above key.
-
-If you would like to allow it access to your KeePassXC database,
-give it a unique name to identify and accept it.</source>
- <translation>Hai ricevuto una richiesta di associazione per la chiave sopra.
-
-Se vuoi concederle l&apos;autorizzazione per accedere al tuo database di KeePassXC,
-assegnale un nome univoco e accetta la richiesta.</translation>
- </message>
- <message>
<source>Save and allow access</source>
<translation>Salva e permetti l&apos;accesso</translation>
</message>
@@ -862,6 +871,18 @@ Si desidera eseguire ora la migrazione delle impostazioni esistenti?</translatio
<source>Don&apos;t show this warning again</source>
<translation>Non mostrare nuovamente questo avviso</translation>
</message>
+ <message>
+ <source>You have received an association request for the following database:
+%1
+
+Give the connection a unique name or ID, for example:
+chrome-laptop.</source>
+ <translation>Hai ricevuto una richiesta di associazione per il segguente database:
+%1
+
+Assegnagli un nome univoco o un ID, per esempio:
+laptop-chrome</translation>
+ </message>
</context>
<context>
<name>CloneDialog</name>
@@ -1129,10 +1150,6 @@ Considera l&apos;opzione di generarne uno nuovo</translation>
<translation>Attiva/disattiva la visibilità della password</translation>
</message>
<message>
- <source>Enter Additional Credentials:</source>
- <translation>Immettere credenziali aggiuntive:</translation>
- </message>
- <message>
<source>Key file selection</source>
<translation>Selezione del file di chiave</translation>
</message>
@@ -1157,12 +1174,6 @@ Considera l&apos;opzione di generarne uno nuovo</translation>
<translation>Chiave hardware:</translation>
</message>
<message>
- <source>&lt;p&gt;You can use a hardware security key such as a &lt;strong&gt;YubiKey&lt;/strong&gt; or &lt;strong&gt;OnlyKey&lt;/strong&gt; with slots configured for HMAC-SHA1.&lt;/p&gt;
- &lt;p&gt;Click for more information...&lt;/p&gt;</source>
- <translation>&lt;p&gt;È possibile utilizzare una chiave di sicurezza hardware, ad esempio &lt;strong&gt;YubiKey&lt;/strong&gt; o &lt;strong&gt;OnlyKey&lt;/strong&gt; con slot configurati per HMAC-SHA1.&lt;/p&gt;
- &lt;p&gt;Clicca per maggiori informazioni...&lt;/p&gt;</translation>
- </message>
- <message>
<source>Hardware key help</source>
<translation>Guida alla chiave hardware</translation>
</message>
@@ -1179,10 +1190,6 @@ Considera l&apos;opzione di generarne uno nuovo</translation>
<translation>Cancella file di chiave</translation>
</message>
<message>
- <source>Select file...</source>
- <translation>Seleziona file...</translation>
- </message>
- <message>
<source>Unlock failed and no password given</source>
<translation>Sblocco non riuscito e nessuna password specificata</translation>
</message>
@@ -1200,6 +1207,42 @@ Per evitare che questo errore venga visualizzato, è necessario andare alle &quo
<source>Retry with empty password</source>
<translation>Riprova con password vuota</translation>
</message>
+ <message>
+ <source>Enter Additional Credentials (if any):</source>
+ <translation>Inserisci credenziali aggiuntive (se presenti):</translation>
+ </message>
+ <message>
+ <source>&lt;p&gt;You can use a hardware security key such as a &lt;strong&gt;YubiKey&lt;/strong&gt; or &lt;strong&gt;OnlyKey&lt;/strong&gt; with slots configured for HMAC-SHA1.&lt;/p&gt;
+&lt;p&gt;Click for more information...&lt;/p&gt;</source>
+ <translation>&lt;p&gt;Puoi usare una chiave di sicurezza hardware come una &lt;strong&gt;YubiKey&lt;/strong&gt; o una &lt;strong&gt;OnlyKey&lt;/strong&gt; con gli slot configurati per HMAC-SHA1.
+&lt;p&gt;Clicca per ulteriori informazioni...&lt;/p&gt;</translation>
+ </message>
+ <message>
+ <source>&lt;p&gt;In addition to your master password, you can use a secret file to enhance the security of your database. Such a file can be generated in your database&apos;s security settings.&lt;/p&gt;&lt;p&gt;This is &lt;strong&gt;not&lt;/strong&gt; your *.kdbx database file!&lt;br&gt;If you do not have a key file, leave the field empty.&lt;/p&gt;&lt;p&gt;Click for more information...&lt;/p&gt;</source>
+ <translation>&lt;p&gt;Oltre alla tua password principale, puoi usare un file segreto per aumentare la sicurezza del tuo database. Un file di questo genere può essere generato nelle impostazioni di sicurezza del tuo database.&lt;/p&gt;&lt;p&gt;Questo &lt;strong&gt;non è&lt;/strong&gt; il tuo file database *.kdbx! &lt;br&gt;Se non hai un file chiave, lascia vuoto questo campo.&lt;/p&gt; &lt;p&gt;Clicca per ulteriori informazioni...&lt;/p&gt; </translation>
+ </message>
+ <message>
+ <source>Key file help</source>
+ <translation>Aiuto relativo al file chiave</translation>
+ </message>
+ <message>
+ <source>?</source>
+ <translation>?</translation>
+ </message>
+ <message>
+ <source>Select key file...</source>
+ <translation>Seleziona il file chiave...</translation>
+ </message>
+ <message>
+ <source>Cannot use database file as key file</source>
+ <translation>Impossibile usare il file database come file chiave</translation>
+ </message>
+ <message>
+ <source>You cannot use your database file as a key file.
+If you do not have a key file, please leave the field empty.</source>
+ <translation>Non puoi usare il tuo file database come file chiave.
+Se non possiedi un file chiave, lascia vuoto questo campo.</translation>
+ </message>
</context>
<context>
<name>DatabaseSettingWidgetMetaData</name>
@@ -1840,6 +1883,10 @@ Siete sicuri di voler continuare senza password?</translation>
<source>Average password length is less than ten characters. Longer passwords provide more security.</source>
<translation>La lunghezza media della password è inferiore a dieci caratteri. Le password più lunghe offrono maggiore sicurezza.</translation>
</message>
+ <message>
+ <source>Please wait, database statistics are being calculated...</source>
+ <translation>Attendere, calcolo statistiche del database...</translation>
+ </message>
</context>
<context>
<name>DatabaseTabWidget</name>
@@ -6279,6 +6326,10 @@ Kernel: %3 %4</translation>
<source>Invalid password generator after applying all options</source>
<translation>Generatore di password non valido dopo l&apos;applicazione di tutte le opzioni</translation>
</message>
+ <message>
+ <source>Show the protected attributes in clear text.</source>
+ <translation>Mostra in chiaro gli attributi protetti</translation>
+ </message>
</context>
<context>
<name>QtIOCompressor</name>
diff --git a/share/translations/keepassx_ja.ts b/share/translations/keepassx_ja.ts
index 06acef9b2..7158f0e65 100644
--- a/share/translations/keepassx_ja.ts
+++ b/share/translations/keepassx_ja.ts
@@ -325,7 +325,7 @@
</message>
<message>
<source>Clear clipboard after</source>
- <translation>次ã®æ™‚é–“ãŒéŽãŽãŸã‚‰ã‚¯ãƒªãƒƒãƒ—ボードを消去ã™ã‚‹</translation>
+ <translation>指定時間経éŽå¾Œã«ã‚¯ãƒªãƒƒãƒ—ボードを消去ã™ã‚‹</translation>
</message>
<message>
<source> sec</source>
@@ -411,7 +411,7 @@
</message>
<message>
<source>Clear search query after</source>
- <translation>次ã®æ™‚é–“ãŒéŽãŽãŸã‚‰æ¤œç´¢ã‚¯ã‚¨ãƒªã‚’消去ã™ã‚‹</translation>
+ <translation>指定時間経éŽå¾Œã«æ¤œç´¢ã‚¯ã‚¨ãƒªã‚’消去ã™ã‚‹</translation>
</message>
</context>
<context>
@@ -444,6 +444,14 @@
<source>This Auto-Type command contains arguments which are repeated very often. Do you really want to proceed?</source>
<translation>ã“ã®è‡ªå‹•å…¥åŠ›ã‚³ãƒžãƒ³ãƒ‰ã¯ä½•åº¦ã‚‚ç¹°ã‚Šè¿”ã•ã‚Œã¦ã„る引数ãŒå«ã¾ã‚Œã¦ã„ã¾ã™ã€‚本当ã«ç¶šè¡Œã—ã¾ã™ã‹ï¼Ÿ</translation>
</message>
+ <message>
+ <source>Permission Required</source>
+ <translation>許å¯ãŒå¿…è¦ã§ã™</translation>
+ </message>
+ <message>
+ <source>KeePassXC requires the Accessibility permission in order to perform entry level Auto-Type. If you already granted permission, you may have to restart KeePassXC.</source>
+ <translation>KeePassXC ãŒã‚¨ãƒ³ãƒˆãƒªãƒ¼ã®è‡ªå‹•å…¥åŠ›ã‚’è¡Œã†ã«ã¯ã‚¢ã‚¯ã‚»ã‚¹è¨±å¯ãŒå¿…è¦ã§ã™ã€‚æ—¢ã«è¨±å¯ã—ã¦ã‚ã‚‹å ´åˆã¯ KeePassXC ã‚’å†èµ·å‹•ã™ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚</translation>
+ </message>
</context>
<context>
<name>AutoTypeAssociationsModel</name>
@@ -491,6 +499,17 @@
</message>
</context>
<context>
+ <name>AutoTypePlatformMac</name>
+ <message>
+ <source>Permission Required</source>
+ <translation>許å¯ãŒå¿…è¦ã§ã™</translation>
+ </message>
+ <message>
+ <source>KeePassXC requires the Accessibility and Screen Recorder permission in order to perform global Auto-Type. Screen Recording is necessary to use the window title to find entries. If you already granted permission, you may have to restart KeePassXC.</source>
+ <translation>KeePassXC ãŒã‚°ãƒ­ãƒ¼ãƒãƒ«è‡ªå‹•å…¥åŠ›ã‚’è¡Œã†ã«ã¯ã‚¢ã‚¯ã‚»ã‚¹è¨±å¯ã¨ç”»é¢è¨˜éŒ²è¨±å¯ãŒå¿…è¦ã§ã™ã€‚ウィンドウタイトルを使用ã—ã¦ã‚¨ãƒ³ãƒˆãƒªãƒ¼ã‚’検索ã™ã‚‹ã«ã¯ç”»é¢è¨˜éŒ²è¨±å¯ãŒå¿…è¦ã§ã™ã€‚æ—¢ã«è¨±å¯ã—ã¦ã‚ã‚‹å ´åˆã¯ KeePassXC ã‚’å†èµ·å‹•ã™ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚</translation>
+ </message>
+</context>
+<context>
<name>AutoTypeSelectDialog</name>
<message>
<source>Auto-Type - KeePassXC</source>
@@ -774,16 +793,6 @@ Please select the correct database for saving credentials.</source>
<translation>KeePassXC: æ–°ã—ã„キーã®ã‚¢ã‚½ã‚·ã‚¨ãƒ¼ã‚·ãƒ§ãƒ³è¦æ±‚</translation>
</message>
<message>
- <source>You have received an association request for the above key.
-
-If you would like to allow it access to your KeePassXC database,
-give it a unique name to identify and accept it.</source>
- <translation>ä»–ã®ã‚¢ãƒ—リケーションã‹ã‚‰ã®ã‚¢ã‚½ã‚·ã‚¨ãƒ¼ã‚·ãƒ§ãƒ³è¦æ±‚ã‚’å—ã‘å–ã‚Šã¾ã—ãŸã€‚
-
-KeePassXC ã®ãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹ã¸ã®ã‚¢ã‚¯ã‚»ã‚¹ã‚’許å¯ã—ãŸã„å ´åˆã¯ã€
-è¦æ±‚元を識別ã—ã¦å—ã‘入れるãŸã‚ã®ãƒ¦ãƒ‹ãƒ¼ã‚¯ãªåå‰ã‚’付ã‘ã¦ãã ã•ã„。</translation>
- </message>
- <message>
<source>Save and allow access</source>
<translation>アクセスを許å¯ã—ã¦ä¿å­˜</translation>
</message>
@@ -863,6 +872,18 @@ Would you like to migrate your existing settings now?</source>
<source>Don&apos;t show this warning again</source>
<translation>今後ã“ã®è­¦å‘Šã‚’表示ã—ãªã„</translation>
</message>
+ <message>
+ <source>You have received an association request for the following database:
+%1
+
+Give the connection a unique name or ID, for example:
+chrome-laptop.</source>
+ <translation>次ã®ãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹ã®ã‚¢ã‚½ã‚·ã‚¨ãƒ¼ã‚·ãƒ§ãƒ³è¦æ±‚ã‚’å—ã‘å–ã‚Šã¾ã—ãŸ:
+%1
+
+次ã®ã‚ˆã†ãªã€æŽ¥ç¶šç”¨ã®ä¸€æ„ãªåå‰ã¾ãŸã¯ ID を付ã‘ã¦ãã ã•ã„:
+chrome-laptop.</translation>
+ </message>
</context>
<context>
<name>CloneDialog</name>
@@ -1130,10 +1151,6 @@ Please consider generating a new key file.</source>
<translation>パスワードã®è¡¨ç¤º/éžè¡¨ç¤ºã‚’切り替ãˆ</translation>
</message>
<message>
- <source>Enter Additional Credentials:</source>
- <translation>追加ã®è³‡æ ¼æƒ…報を入力ã—ã¦ãã ã•ã„:</translation>
- </message>
- <message>
<source>Key file selection</source>
<translation>キーファイルをé¸æŠž</translation>
</message>
@@ -1158,12 +1175,6 @@ Please consider generating a new key file.</source>
<translation>ãƒãƒ¼ãƒ‰ã‚¦ã‚§ã‚¢ã‚­ãƒ¼:</translation>
</message>
<message>
- <source>&lt;p&gt;You can use a hardware security key such as a &lt;strong&gt;YubiKey&lt;/strong&gt; or &lt;strong&gt;OnlyKey&lt;/strong&gt; with slots configured for HMAC-SHA1.&lt;/p&gt;
- &lt;p&gt;Click for more information...&lt;/p&gt;</source>
- <translation>&lt;p&gt;スロットを HMAC-SHA1 用ã«è¨­å®šã—㟠&lt;strong&gt;YubiKey&lt;/strong&gt; ã‚„ &lt;strong&gt;OnlyKey&lt;/strong&gt; ã‚’ãƒãƒ¼ãƒ‰ã‚¦ã‚§ã‚¢ã‚»ã‚­ãƒ¥ãƒªãƒ†ã‚£ã‚­ãƒ¼ã¨ã—ã¦ä½¿ç”¨ã§ãã¾ã™ã€‚&lt;/p&gt;
- &lt;p&gt;詳ã—ãã¯ã‚¯ãƒªãƒƒã‚¯ã—ã¦ãã ã•ã„...&lt;/p&gt;</translation>
- </message>
- <message>
<source>Hardware key help</source>
<translation>ãƒãƒ¼ãƒ‰ã‚¦ã‚§ã‚¢ã‚­ãƒ¼ã®ãƒ˜ãƒ«ãƒ—</translation>
</message>
@@ -1180,10 +1191,6 @@ Please consider generating a new key file.</source>
<translation>キーファイルを消去</translation>
</message>
<message>
- <source>Select file...</source>
- <translation>ファイルをé¸æŠž...</translation>
- </message>
- <message>
<source>Unlock failed and no password given</source>
<translation>パスワードãŒæœªæŒ‡å®šãªãŸã‚ロックã®è§£é™¤ã«å¤±æ•—ã—ã¾ã—ãŸ</translation>
</message>
@@ -1200,6 +1207,42 @@ To prevent this error from appearing, you must go to &quot;Database Settings / S
<source>Retry with empty password</source>
<translation>空ã®ãƒ‘スワードã§å†è©¦è¡Œ</translation>
</message>
+ <message>
+ <source>Enter Additional Credentials (if any):</source>
+ <translation>追加ã®è³‡æ ¼æƒ…報を入力ã—ã¦ãã ã•ã„ (ã‚ã‚‹å ´åˆã®ã¿):</translation>
+ </message>
+ <message>
+ <source>&lt;p&gt;You can use a hardware security key such as a &lt;strong&gt;YubiKey&lt;/strong&gt; or &lt;strong&gt;OnlyKey&lt;/strong&gt; with slots configured for HMAC-SHA1.&lt;/p&gt;
+&lt;p&gt;Click for more information...&lt;/p&gt;</source>
+ <translation>&lt;p&gt;スロットを HMAC-SHA1 用ã«è¨­å®šã—㟠&lt;strong&gt;YubiKey&lt;/strong&gt; ã‚„ &lt;strong&gt;OnlyKey&lt;/strong&gt; ã‚’ãƒãƒ¼ãƒ‰ã‚¦ã‚§ã‚¢ã‚»ã‚­ãƒ¥ãƒªãƒ†ã‚£ã‚­ãƒ¼ã¨ã—ã¦ä½¿ç”¨ã§ãã¾ã™ã€‚&lt;/p&gt;
+&lt;p&gt;詳ã—ãã¯ã‚¯ãƒªãƒƒã‚¯ã—ã¦ãã ã•ã„...&lt;/p&gt;</translation>
+ </message>
+ <message>
+ <source>&lt;p&gt;In addition to your master password, you can use a secret file to enhance the security of your database. Such a file can be generated in your database&apos;s security settings.&lt;/p&gt;&lt;p&gt;This is &lt;strong&gt;not&lt;/strong&gt; your *.kdbx database file!&lt;br&gt;If you do not have a key file, leave the field empty.&lt;/p&gt;&lt;p&gt;Click for more information...&lt;/p&gt;</source>
+ <translation>&lt;p&gt;マスターパスワードã ã‘ã§ãªãã€ã‚·ãƒ¼ã‚¯ãƒ¬ãƒƒãƒˆãƒ•ã‚¡ã‚¤ãƒ«ã‚’使用ã™ã‚‹ã“ã¨ã§ãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹ã®ã‚»ã‚­ãƒ¥ãƒªãƒ†ã‚£ã‚’強固ã«ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚ファイルã¯ãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹ã®ã‚»ã‚­ãƒ¥ãƒªãƒ†ã‚£è¨­å®šã§ç”Ÿæˆã§ãã¾ã™ã€‚&lt;/p&gt;&lt;p&gt;ã“ã®ãƒ•ã‚¡ã‚¤ãƒ«ã¯ *.kdbx データベースファイル&lt;strong&gt;ã§ã¯ãªã„&lt;/strong&gt;ã‚‚ã®ã«ã—ã¦ãã ã•ã„。&lt;br&gt;キーファイルãŒç„¡ã„å ´åˆã¯ã€ãƒ•ã‚£ãƒ¼ãƒ«ãƒ‰ã‚’空ã®ã¾ã¾ã«ã—ã¦ãã ã•ã„。&lt;/p&gt;&lt;p&gt;詳ã—ãã¯ã‚¯ãƒªãƒƒã‚¯ã—ã¦ãã ã•ã„...&lt;/p&gt;</translation>
+ </message>
+ <message>
+ <source>Key file help</source>
+ <translation>キーファイルã®ãƒ˜ãƒ«ãƒ—</translation>
+ </message>
+ <message>
+ <source>?</source>
+ <translation>?</translation>
+ </message>
+ <message>
+ <source>Select key file...</source>
+ <translation>キーファイルをé¸æŠž...</translation>
+ </message>
+ <message>
+ <source>Cannot use database file as key file</source>
+ <translation>データベースファイルをキーファイルã¨ã—ã¦ä½¿ç”¨ã™ã‚‹ã“ã¨ã¯ã§ãã¾ã›ã‚“</translation>
+ </message>
+ <message>
+ <source>You cannot use your database file as a key file.
+If you do not have a key file, please leave the field empty.</source>
+ <translation>データベースファイルをキーファイルã¨ã—ã¦ä½¿ç”¨ã™ã‚‹ã“ã¨ã¯ã§ãã¾ã›ã‚“。
+キーファイルãŒç„¡ã„å ´åˆã¯ã€ãƒ•ã‚£ãƒ¼ãƒ«ãƒ‰ã‚’空ã®ã¾ã¾ã«ã—ã¦ãã ã•ã„。</translation>
+ </message>
</context>
<context>
<name>DatabaseSettingWidgetMetaData</name>
@@ -1704,7 +1747,7 @@ Are you sure you want to continue without a password?</source>
</message>
<message>
<source>Continue without password</source>
- <translation>パスワードãªã—ã§ç¶šè¡Œ</translation>
+ <translation>パスワード無ã—ã§ç¶šè¡Œ</translation>
</message>
</context>
<context>
@@ -1762,7 +1805,7 @@ Are you sure you want to continue without a password?</source>
</message>
<message>
<source>Unsaved changes</source>
- <translation>変更ã®æœªä¿å­˜</translation>
+ <translation>未ä¿å­˜ã®å¤‰æ›´</translation>
</message>
<message>
<source>yes</source>
@@ -1840,6 +1883,10 @@ Are you sure you want to continue without a password?</source>
<source>Average password length is less than ten characters. Longer passwords provide more security.</source>
<translation>パスワード長ã®å¹³å‡å€¤ãŒ10文字以下ã§ã™ã€‚パスワードã¯é•·ã„ã»ã©ã‚»ã‚­ãƒ¥ãƒªãƒ†ã‚£ãŒå‘上ã—ã¾ã™ã€‚</translation>
</message>
+ <message>
+ <source>Please wait, database statistics are being calculated...</source>
+ <translation>データベースã®çµ±è¨ˆã‚’算出ã—ã¦ã„ã‚‹ãŸã‚ã€ã—ã°ã‚‰ããŠå¾…ã¡ãã ã•ã„...</translation>
+ </message>
</context>
<context>
<name>DatabaseTabWidget</name>
@@ -2411,7 +2458,7 @@ Disable safe saves and try again?</source>
</message>
<message>
<source>Hide this entry from the browser extension</source>
- <translation>ã“ã®ã‚¨ãƒ³ãƒˆãƒªãƒ¼ã‚’ブラウザー拡張機能ã‹ã‚‰éžè¡¨ç¤ºã«ã™ã‚‹</translation>
+ <translation>ã“ã®ã‚¨ãƒ³ãƒˆãƒªãƒ¼ã‚’ブラウザー拡張機能ã‹ã‚‰éš ã™</translation>
</message>
<message>
<source>Additional URL&apos;s</source>
@@ -2814,7 +2861,7 @@ Supported extensions are: %1.</source>
</message>
<message>
<source>Clear fields</source>
- <translation>消去フィールド</translation>
+ <translation>フィールドを消去</translation>
</message>
</context>
<context>
@@ -2968,7 +3015,7 @@ Supported extensions are: %1.</source>
</message>
<message>
<source>Also apply to all children</source>
- <translation>å…¨ã¦ã®å­ã«é©ç”¨</translation>
+ <translation>å…¨ã¦ã®å­ã«ã‚‚é©ç”¨</translation>
</message>
<message>
<source>Existing icon selected.</source>
@@ -3210,7 +3257,7 @@ This may cause the affected plugins to malfunction.</source>
</message>
<message>
<source>Never</source>
- <translation>常ã«ã—ãªã„</translation>
+ <translation>ãªã—</translation>
</message>
<message>
<source>Password</source>
@@ -3313,7 +3360,7 @@ This may cause the affected plugins to malfunction.</source>
</message>
<message>
<source>Never</source>
- <translation>常ã«ã—ãªã„</translation>
+ <translation>ãªã—</translation>
</message>
<message>
<source>[PROTECTED]</source>
@@ -4211,7 +4258,7 @@ Message: %2</source>
</message>
<message>
<source>Note: Do not use a file that may change as that will prevent you from unlocking your database!</source>
- <translation>メモ: 内容ãŒå¤‰æ›´ã•ã‚Œã‚‹å¯èƒ½æ€§ãŒã‚るファイルを使用ã™ã‚‹ã¨ã€ãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹ã®ãƒ­ãƒƒã‚¯ã‚’解除ã§ããªããªã‚‹æã‚ŒãŒã‚ã‚Šã¾ã™ã€‚</translation>
+ <translation>備考: 内容ãŒå¤‰æ›´ã•ã‚Œã‚‹å¯èƒ½æ€§ãŒã‚るファイルを使用ã™ã‚‹ã¨ã€ãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹ã®ãƒ­ãƒƒã‚¯ã‚’解除ã§ããªããªã‚‹æã‚ŒãŒã‚ã‚Šã¾ã™ã€‚</translation>
</message>
<message>
<source>Invalid Key File</source>
@@ -4507,7 +4554,7 @@ KeePassXC ã®é…布ページã‹ã‚‰ AppImage をダウンロードã—ã¦ä½¿ç”¨ã™
<message>
<source>NOTE: You are using a pre-release version of KeePassXC!
Expect some bugs and minor issues, this version is not meant for production use.</source>
- <translation>メモ: KeePassXC ã®ãƒ—レリリース版を使用ã—ã¦ã„ã¾ã™ã€‚
+ <translation>備考: KeePassXC ã®ãƒ—レリリース版を使用ã—ã¦ã„ã¾ã™ã€‚
複数ã®ãƒã‚°ã‚„å°ã•ãªå•é¡Œç‚¹ãŒæ®‹ã£ã¦ã„ã‚‹å¯èƒ½æ€§ãŒã‚ã‚‹ãŸã‚ã€ã“ã®ãƒãƒ¼ã‚¸ãƒ§ãƒ³ã¯å®Ÿç”¨çš„ã§ã¯ã‚ã‚Šã¾ã›ã‚“。</translation>
</message>
<message>
@@ -4746,15 +4793,15 @@ Expect some bugs and minor issues, this version is not meant for production use.
</message>
<message>
<source>Malformed OpData01 due to a failed HMAC</source>
- <translation type="unfinished"/>
+ <translation>HMAC ã®å¤±æ•—ã«ã‚ˆã‚‹ä¸æ­£ãª OpData01 ã§ã™</translation>
</message>
<message>
<source>Unable to process clearText in place</source>
- <translation type="unfinished"/>
+ <translation>clearText をインプレース処ç†ã§ãã¾ã›ã‚“</translation>
</message>
<message>
<source>Expected %1 bytes of clear-text, found %2</source>
- <translation type="unfinished"/>
+ <translation>期待ã•ã‚Œã‚‹ clear-text ã®ã‚µã‚¤ã‚ºã¯ %1 ãƒã‚¤ãƒˆã§ã™ãŒ %2 ãƒã‚¤ãƒˆã—ã‹ã‚ã‚Šã¾ã›ã‚“ã§ã—ãŸ</translation>
</message>
</context>
<context>
@@ -5984,7 +6031,7 @@ Available commands:
</message>
<message>
<source>Debugging mode is disabled.</source>
- <translation>デãƒãƒƒã‚°ãƒ¢ãƒ¼ãƒ‰ãŒç„¡åŠ¹ã§ã™ã€‚</translation>
+ <translation>デãƒãƒƒã‚°ãƒ¢ãƒ¼ãƒ‰ã¯ç„¡åŠ¹ã§ã™ã€‚</translation>
</message>
<message>
<source>Debugging mode is enabled.</source>
@@ -6036,7 +6083,7 @@ CPU アーキテクãƒãƒ£ãƒ¼: %2
</message>
<message>
<source>Cannot generate a password and prompt at the same time!</source>
- <translation type="unfinished"/>
+ <translation>パスワードã®ç”Ÿæˆã¨ãƒ—ロンプトã®è¡¨ç¤ºã¯åŒæ™‚使用ã§ãã¾ã›ã‚“。</translation>
</message>
<message>
<source>Adds a new group to a database.</source>
@@ -6132,7 +6179,7 @@ CPU アーキテクãƒãƒ£ãƒ¼: %2
</message>
<message>
<source>Display command help.</source>
- <translation>コマンドヘルプを表示ã™ã‚‹</translation>
+ <translation>コマンドヘルプを表示ã™ã‚‹ã€‚</translation>
</message>
<message>
<source>Available commands:</source>
@@ -6272,11 +6319,15 @@ CPU アーキテクãƒãƒ£ãƒ¼: %2
</message>
<message numerus="yes">
<source>Password for &apos;%1&apos; has been leaked %2 time(s)!</source>
- <translation><numerusform>&apos;%1&apos; ã®ãƒ‘スワード㯠%2 回æµå‡ºã—ã¾ã—ãŸï¼</numerusform></translation>
+ <translation><numerusform>&apos;%1&apos; ã®ãƒ‘スワード㯠%2 回æµå‡ºã—ã¦ã„ã¾ã™ï¼</numerusform></translation>
</message>
<message>
<source>Invalid password generator after applying all options</source>
- <translation type="unfinished"/>
+ <translation>å…¨ã¦ã®ã‚ªãƒ—ションをé©ç”¨ã—ãŸãƒ‘スワード生æˆã¯ä¸æ­£ã§ã™</translation>
+ </message>
+ <message>
+ <source>Show the protected attributes in clear text.</source>
+ <translation>クリアテキストã®ä¿è­·ã•ã‚ŒãŸå±žæ€§ã‚’表示ã™ã‚‹ã€‚</translation>
</message>
</context>
<context>
@@ -6871,7 +6922,7 @@ CPU アーキテクãƒãƒ£ãƒ¼: %2
<message>
<source>NOTE: These TOTP settings are custom and may not work with other authenticators.</source>
<comment>TOTP QR code dialog warning</comment>
- <translation>メモ: ã“れら㮠TOTP 設定ã¯ä»–ã® Authenticator ã§ã¯å‹•ä½œã—ãªã„å¯èƒ½æ€§ãŒã‚ã‚Šã¾ã™ã€‚</translation>
+ <translation>備考: ã“れら㮠TOTP 設定ã¯ä»–ã® Authenticator ã§ã¯å‹•ä½œã—ãªã„å¯èƒ½æ€§ãŒã‚ã‚Šã¾ã™ã€‚</translation>
</message>
<message>
<source>There was an error creating the QR code.</source>
diff --git a/share/translations/keepassx_ko.ts b/share/translations/keepassx_ko.ts
index 54a196eca..5b925ec3e 100644
--- a/share/translations/keepassx_ko.ts
+++ b/share/translations/keepassx_ko.ts
@@ -97,11 +97,11 @@
</message>
<message>
<source>Reset Settings?</source>
- <translation type="unfinished"/>
+ <translation>ì„¤ì •ì„ ì´ˆê¸°í™”í•˜ì‹œê² ìŠµë‹ˆê¹Œ?</translation>
</message>
<message>
<source>Are you sure you want to reset all general and security settings to default?</source>
- <translation type="unfinished"/>
+ <translation>모든 ì¼ë°˜ 설정과 보안 ì„¤ì •ì„ ì´ˆê¸°í™”í•˜ì‹œê² ìŠµë‹ˆê¹Œ?</translation>
</message>
</context>
<context>
@@ -225,63 +225,63 @@
</message>
<message>
<source>Remember previously used databases</source>
- <translation type="unfinished"/>
+ <translation>과거 ë°ì´í„°ë² ì´ìŠ¤ 기억</translation>
</message>
<message>
<source>Load previously open databases on startup</source>
- <translation type="unfinished"/>
+ <translation>시작할 ë•Œ ì´ì „ì— ì‚¬ìš©í•œ ë°ì´í„°ë² ì´ìŠ¤ 열기</translation>
</message>
<message>
<source>Remember database key files and security dongles</source>
- <translation type="unfinished"/>
+ <translation>ë°ì´í„°ë² ì´ìŠ¤ 키 파ì¼ê³¼ 보안 ë™ê¸€ 기억</translation>
</message>
<message>
<source>Check for updates at application startup once per week</source>
- <translation type="unfinished"/>
+ <translation>í”„ë¡œê·¸ëž¨ì„ ì‹œìž‘í•  ë•Œ 1주ì¼ì— 1번 ì—…ë°ì´íŠ¸ 확ì¸</translation>
</message>
<message>
<source>Include beta releases when checking for updates</source>
- <translation type="unfinished"/>
+ <translation>ì—…ë°ì´íŠ¸ë¥¼ 확ì¸í•  ë•Œ 베타 릴리스 í¬í•¨</translation>
</message>
<message>
<source>Button style:</source>
- <translation type="unfinished"/>
+ <translation>단추 스타ì¼:</translation>
</message>
<message>
<source>Language:</source>
- <translation type="unfinished"/>
+ <translation>언어:</translation>
</message>
<message>
<source>(restart program to activate)</source>
- <translation type="unfinished"/>
+ <translation>(다시 시작 후 ì ìš©ë¨)</translation>
</message>
<message>
<source>Minimize window after unlocking database</source>
- <translation type="unfinished"/>
+ <translation>ë°ì´í„°ë² ì´ìŠ¤ 잠금 í•´ì œ 후 ì°½ 최소화</translation>
</message>
<message>
<source>Minimize when opening a URL</source>
- <translation type="unfinished"/>
+ <translation>URLì„ ì—´ ë•Œ ì°½ 최소화</translation>
</message>
<message>
<source>Hide window when copying to clipboard</source>
- <translation type="unfinished"/>
+ <translation>í´ë¦½ë³´ë“œì— 복사할 ë•Œ ì°½ 숨기기</translation>
</message>
<message>
<source>Minimize</source>
- <translation type="unfinished"/>
+ <translation>최소화</translation>
</message>
<message>
<source>Drop to background</source>
- <translation type="unfinished"/>
+ <translation>백그ë¼ìš´ë“œë¡œ 전환</translation>
</message>
<message>
<source>Favicon download timeout:</source>
- <translation type="unfinished"/>
+ <translation>파비콘 다운로드 시간 제한:</translation>
</message>
<message>
<source>Website icon download timeout in seconds</source>
- <translation type="unfinished"/>
+ <translation>웹 사ì´íŠ¸ ì•„ì´ì½˜ 다운로드 시간 제한(ì´ˆ 단위)</translation>
</message>
<message>
<source> sec</source>
@@ -290,31 +290,31 @@
</message>
<message>
<source>Toolbar button style</source>
- <translation type="unfinished"/>
+ <translation>ë„구 ëª¨ìŒ ë‹¨ì¶” 스타ì¼</translation>
</message>
<message>
<source>Use monospaced font for Notes</source>
- <translation type="unfinished"/>
+ <translation>ë©”ëª¨ì— ê³ ì •í­ ê¸€ê¼´ 사용</translation>
</message>
<message>
<source>Language selection</source>
- <translation type="unfinished"/>
+ <translation>언어 ì„ íƒ</translation>
</message>
<message>
<source>Reset Settings to Default</source>
- <translation type="unfinished"/>
+ <translation>기본값으로 설정 ë³µì›</translation>
</message>
<message>
<source>Global auto-type shortcut</source>
- <translation type="unfinished"/>
+ <translation>ì „ì—­ ìžë™ ìž…ë ¥ 단축키</translation>
</message>
<message>
<source>Auto-type character typing delay milliseconds</source>
- <translation type="unfinished"/>
+ <translation>글ìžë‹¹ ìžë™ ìž…ë ¥ 지연 시간(밀리초 단위)</translation>
</message>
<message>
<source>Auto-type start delay milliseconds</source>
- <translation type="unfinished"/>
+ <translation>ìžë™ ìž…ë ¥ 시작 지연 시간(밀리초 단위)</translation>
</message>
</context>
<context>
@@ -390,19 +390,19 @@
</message>
<message>
<source>Use DuckDuckGo service to download website icons</source>
- <translation type="unfinished"/>
+ <translation>웹 사ì´íŠ¸ ì•„ì´ì½˜ì„ 다운로드할 ë•Œ DuckDuckGo 서비스 사용</translation>
</message>
<message>
<source>Clipboard clear seconds</source>
- <translation type="unfinished"/>
+ <translation>í´ë¦½ë³´ë“œë¥¼ 지울 시간</translation>
</message>
<message>
<source>Touch ID inactivity reset</source>
- <translation type="unfinished"/>
+ <translation>사용하지 ì•Šì„ ë•Œ Touch ID 초기화</translation>
</message>
<message>
<source>Database lock timeout seconds</source>
- <translation type="unfinished"/>
+ <translation>ë°ì´í„°ë² ì´ìŠ¤ 잠금 시간 제한(ì´ˆ 단위)</translation>
</message>
<message>
<source> min</source>
@@ -411,7 +411,7 @@
</message>
<message>
<source>Clear search query after</source>
- <translation type="unfinished"/>
+ <translation>ë‹¤ìŒ ì‹œê°„ ì´í›„ 검색어 비우기</translation>
</message>
</context>
<context>
@@ -444,6 +444,14 @@
<source>This Auto-Type command contains arguments which are repeated very often. Do you really want to proceed?</source>
<translation>ìžë™ ìž…ë ¥ ëª…ë ¹ì— ë§Žì´ ë°˜ë³µë˜ëŠ” ì¸ìžê°€ í¬í•¨ë˜ì–´ 있습니다. ê³„ì† ì§„í–‰í•˜ì‹œê² ìŠµë‹ˆê¹Œ?</translation>
</message>
+ <message>
+ <source>Permission Required</source>
+ <translation>ê¶Œí•œì´ í•„ìš”í•©ë‹ˆë‹¤.</translation>
+ </message>
+ <message>
+ <source>KeePassXC requires the Accessibility permission in order to perform entry level Auto-Type. If you already granted permission, you may have to restart KeePassXC.</source>
+ <translation type="unfinished"/>
+ </message>
</context>
<context>
<name>AutoTypeAssociationsModel</name>
@@ -453,11 +461,11 @@
</message>
<message>
<source>Sequence</source>
- <translation>시퀀스</translation>
+ <translation>순서</translation>
</message>
<message>
<source>Default sequence</source>
- <translation>기본 시퀀스</translation>
+ <translation>기본 순서</translation>
</message>
</context>
<context>
@@ -476,7 +484,7 @@
</message>
<message>
<source>Sequence</source>
- <translation>시퀀스</translation>
+ <translation>순서</translation>
</message>
</context>
<context>
@@ -491,6 +499,17 @@
</message>
</context>
<context>
+ <name>AutoTypePlatformMac</name>
+ <message>
+ <source>Permission Required</source>
+ <translation>ê¶Œí•œì´ í•„ìš”í•©ë‹ˆë‹¤.</translation>
+ </message>
+ <message>
+ <source>KeePassXC requires the Accessibility and Screen Recorder permission in order to perform global Auto-Type. Screen Recording is necessary to use the window title to find entries. If you already granted permission, you may have to restart KeePassXC.</source>
+ <translation type="unfinished"/>
+ </message>
+</context>
+<context>
<name>AutoTypeSelectDialog</name>
<message>
<source>Auto-Type - KeePassXC</source>
@@ -531,11 +550,11 @@ Please select whether you want to allow access.</source>
</message>
<message>
<source>Allow access</source>
- <translation type="unfinished"/>
+ <translation>접근 허용</translation>
</message>
<message>
<source>Deny access</source>
- <translation type="unfinished"/>
+ <translation>접근 거부</translation>
</message>
</context>
<context>
@@ -724,47 +743,47 @@ Please select the correct database for saving credentials.</source>
</message>
<message>
<source>&amp;Brave</source>
- <translation type="unfinished"/>
+ <translation>Brave(&amp;B)</translation>
</message>
<message>
<source>Returns expired credentials. String [expired] is added to the title.</source>
- <translation type="unfinished"/>
+ <translation>ë§Œë£Œëœ ì¸ì¦ ì •ë³´ë„ ë°˜í™˜í•©ë‹ˆë‹¤. ì œëª©ì— [만료ë¨] 문ìžì—´ì´ 추가ë©ë‹ˆë‹¤.</translation>
</message>
<message>
<source>&amp;Allow returning expired credentials.</source>
- <translation type="unfinished"/>
+ <translation>ë§Œë£Œëœ ì¸ì¦ ì •ë³´ 반환 허용(&amp;A)</translation>
</message>
<message>
<source>Enable browser integration</source>
- <translation type="unfinished"/>
+ <translation>브ë¼ìš°ì € 통합 활성화</translation>
</message>
<message>
<source>Browsers installed as snaps are currently not supported.</source>
- <translation type="unfinished"/>
+ <translation>Snap으로 설치한 브ë¼ìš°ì €ëŠ” 지ì›í•˜ì§€ 않습니다.</translation>
</message>
<message>
<source>All databases connected to the extension will return matching credentials.</source>
- <translation type="unfinished"/>
+ <translation>확장 ê¸°ëŠ¥ì— ì—°ê²°ëœ ëª¨ë“  ë°ì´í„°ë² ì´ìŠ¤ì—ì„œ ì¼ì¹˜í•˜ëŠ” ì¸ì¦ 정보를 반환합니다.</translation>
</message>
<message>
<source>Don&apos;t display the popup suggesting migration of legacy KeePassHTTP settings.</source>
- <translation type="unfinished"/>
+ <translation>레거시 KeePassHTTP ì„¤ì •ì„ ì´ì „하는 대화 ìƒìžë¥¼ 표시하지 않습니다.</translation>
</message>
<message>
<source>&amp;Do not prompt for KeePassHTTP settings migration.</source>
- <translation type="unfinished"/>
+ <translation>KeePassHTTP 설정 ì´ì „ 묻지 않기(&amp;D)</translation>
</message>
<message>
<source>Custom proxy location field</source>
- <translation type="unfinished"/>
+ <translation>ì‚¬ìš©ìž ì •ì˜ í”„ë¡ì‹œ 위치 í•„ë“œ</translation>
</message>
<message>
<source>Browser for custom proxy file</source>
- <translation type="unfinished"/>
+ <translation>ì‚¬ìš©ìž ì •ì˜ í”„ë¡ì‹œ íŒŒì¼ ì°¾ì•„ë³´ê¸°</translation>
</message>
<message>
<source>&lt;b&gt;Warning&lt;/b&gt;, the keepassxc-proxy application was not found!&lt;br /&gt;Please check the KeePassXC installation directory or confirm the custom path in advanced options.&lt;br /&gt;Browser integration WILL NOT WORK without the proxy application.&lt;br /&gt;Expected Path: %1</source>
- <translation type="unfinished"/>
+ <translation>&lt;b&gt;경고&lt;/b&gt;, keepassxc-proxy í”„ë¡œê·¸ëž¨ì„ ì°¾ì„ ìˆ˜ 없습니다!&lt;br /&gt;KeePassXC 설치 디렉터리를 확ì¸í•˜ê±°ë‚˜ 고급 ì„¤ì •ì˜ ì‚¬ìš©ìž ê²½ë¡œë¥¼ 확ì¸í•˜ì‹­ì‹œì˜¤.&lt;br /&gt;프ë¡ì‹œ í”„ë¡œê·¸ëž¨ì´ ì—†ìœ¼ë©´ 브ë¼ìš°ì € 통합 ê¸°ëŠ¥ì„ ì‚¬ìš©í•  수 없습니다.&lt;br /&gt;예ìƒí•˜ëŠ” 경로: %1</translation>
</message>
</context>
<context>
@@ -774,16 +793,6 @@ Please select the correct database for saving credentials.</source>
<translation>KeePassXC: 새 키 연결 요청</translation>
</message>
<message>
- <source>You have received an association request for the above key.
-
-If you would like to allow it access to your KeePassXC database,
-give it a unique name to identify and accept it.</source>
- <translation>ìœ„ì— ìžˆëŠ” í‚¤ì˜ ì—°ê²° ìš”ì²­ì„ ë°›ì•˜ìŠµë‹ˆë‹¤.
-
-해당 키ì—ì„œ KeePassXC ë°ì´í„°ë² ì´ìŠ¤ ì ‘ê·¼ì„ í—ˆìš©í•˜ë ¤ë©´
-ì‹ë³„í•  수 있는 ì´ë¦„ì„ ë¶€ì—¬í•œ 후 수ë½í•˜ì‹­ì‹œì˜¤.</translation>
- </message>
- <message>
<source>Save and allow access</source>
<translation>저장하고 접근 허용</translation>
</message>
@@ -863,6 +872,14 @@ Would you like to migrate your existing settings now?</source>
<source>Don&apos;t show this warning again</source>
<translation>ë” ì´ìƒ ì´ ê²½ê³  표시하지 않기</translation>
</message>
+ <message>
+ <source>You have received an association request for the following database:
+%1
+
+Give the connection a unique name or ID, for example:
+chrome-laptop.</source>
+ <translation type="unfinished"/>
+ </message>
</context>
<context>
<name>CloneDialog</name>
@@ -973,19 +990,19 @@ Would you like to migrate your existing settings now?</source>
</message>
<message>
<source>Text qualification</source>
- <translation type="unfinished"/>
+ <translation>문ìžì—´ 구분</translation>
</message>
<message>
<source>Field separation</source>
- <translation type="unfinished"/>
+ <translation>필드 구분</translation>
</message>
<message>
<source>Number of header lines to discard</source>
- <translation type="unfinished"/>
+ <translation>무시할 머리글 줄 수</translation>
</message>
<message>
<source>CSV import preview</source>
- <translation type="unfinished"/>
+ <translation>CSV 가져오기 미리 보기</translation>
</message>
</context>
<context>
@@ -1038,19 +1055,20 @@ Would you like to migrate your existing settings now?</source>
<message>
<source>%1
Backup database located at %2</source>
- <translation type="unfinished"/>
+ <translation>%1
+백업 ë°ì´í„°ë² ì´ìŠ¤ 위치: %2</translation>
</message>
<message>
<source>Could not save, database does not point to a valid file.</source>
- <translation type="unfinished"/>
+ <translation>ë°ì´í„°ë² ì´ìŠ¤ê°€ 올바른 파ì¼ì„ 가리키지 ì•Šì•„ì„œ 저장할 수 없습니다.</translation>
</message>
<message>
<source>Could not save, database file is read-only.</source>
- <translation type="unfinished"/>
+ <translation>ë°ì´í„°ë² ì´ìŠ¤ 파ì¼ì´ ì½ê¸° ì „ìš©ì´ì–´ì„œ 저장할 수 없습니다.</translation>
</message>
<message>
<source>Database file has unmerged changes.</source>
- <translation type="unfinished"/>
+ <translation>ë°ì´í„°ë² ì´ìŠ¤ 파ì¼ì— 병합ë˜ì§€ ì•Šì€ ë³€ê²½ ì‚¬í•­ì´ ìžˆìŠµë‹ˆë‹¤.</translation>
</message>
<message>
<source>Recycle Bin</source>
@@ -1106,43 +1124,39 @@ Please consider generating a new key file.</source>
</message>
<message>
<source>Failed to open key file: %1</source>
- <translation type="unfinished"/>
+ <translation>키 파ì¼ì„ ì—´ 수 ì—†ìŒ: %1</translation>
</message>
<message>
<source>Select slot...</source>
- <translation type="unfinished"/>
+ <translation>슬롯 ì„ íƒ...</translation>
</message>
<message>
<source>Unlock KeePassXC Database</source>
- <translation type="unfinished"/>
+ <translation>KeePassXC ë°ì´í„°ë² ì´ìŠ¤ 잠금 í•´ì œ</translation>
</message>
<message>
<source>Enter Password:</source>
- <translation type="unfinished"/>
+ <translation>암호 입력:</translation>
</message>
<message>
<source>Password field</source>
- <translation type="unfinished"/>
+ <translation>암호 필드</translation>
</message>
<message>
<source>Toggle password visibility</source>
- <translation type="unfinished"/>
- </message>
- <message>
- <source>Enter Additional Credentials:</source>
- <translation type="unfinished"/>
+ <translation>암호 표시 여부 전환</translation>
</message>
<message>
<source>Key file selection</source>
- <translation type="unfinished"/>
+ <translation>키 íŒŒì¼ ì„ íƒ</translation>
</message>
<message>
<source>Hardware key slot selection</source>
- <translation type="unfinished"/>
+ <translation>하드웨어 키 슬롯 ì„ íƒ</translation>
</message>
<message>
<source>Browse for key file</source>
- <translation type="unfinished"/>
+ <translation>키 íŒŒì¼ ì°¾ì•„ë³´ê¸°</translation>
</message>
<message>
<source>Browse...</source>
@@ -1150,24 +1164,19 @@ Please consider generating a new key file.</source>
</message>
<message>
<source>Refresh hardware tokens</source>
- <translation type="unfinished"/>
+ <translation>하드웨어 í† í° ìƒˆë¡œ 고침</translation>
</message>
<message>
<source>Hardware Key:</source>
- <translation type="unfinished"/>
- </message>
- <message>
- <source>&lt;p&gt;You can use a hardware security key such as a &lt;strong&gt;YubiKey&lt;/strong&gt; or &lt;strong&gt;OnlyKey&lt;/strong&gt; with slots configured for HMAC-SHA1.&lt;/p&gt;
- &lt;p&gt;Click for more information...&lt;/p&gt;</source>
- <translation type="unfinished"/>
+ <translation>하드웨어 키:</translation>
</message>
<message>
<source>Hardware key help</source>
- <translation type="unfinished"/>
+ <translation>하드웨어 키 ë„움ë§</translation>
</message>
<message>
<source>TouchID for Quick Unlock</source>
- <translation type="unfinished"/>
+ <translation>빠른 잠금 해제용 Touch ID</translation>
</message>
<message>
<source>Clear</source>
@@ -1175,27 +1184,61 @@ Please consider generating a new key file.</source>
</message>
<message>
<source>Clear Key File</source>
- <translation type="unfinished"/>
- </message>
- <message>
- <source>Select file...</source>
- <translation type="unfinished"/>
+ <translation>키 íŒŒì¼ ë¹„ìš°ê¸°</translation>
</message>
<message>
<source>Unlock failed and no password given</source>
- <translation type="unfinished"/>
+ <translation>잠금 í•´ì œ 실패, 지정한 암호 ì—†ìŒ</translation>
</message>
<message>
<source>Unlocking the database failed and you did not enter a password.
Do you want to retry with an &quot;empty&quot; password instead?
To prevent this error from appearing, you must go to &quot;Database Settings / Security&quot; and reset your password.</source>
- <translation type="unfinished"/>
+ <translation>ë°ì´í„°ë² ì´ìŠ¤ 잠금 해제가 실패했고 암호를 입력하지 않았습니다.
+&quot;빈&quot; 암호로 다시 ì‹œë„하시겠습니까?
+
+ì´ ì˜¤ë¥˜ê°€ 표시ë˜ì§€ ì•Šë„ë¡ í•˜ë ¤ë©´ &quot;ë°ì´í„°ë² ì´ìŠ¤ 설정/보안&quot;ì—ì„œ 암호를 초기화해야 합니다.</translation>
</message>
<message>
<source>Retry with empty password</source>
+ <translation>빈 암호로 다시 ì‹œë„</translation>
+ </message>
+ <message>
+ <source>Enter Additional Credentials (if any):</source>
+ <translation>추가 ì¸ì¦ ì •ë³´ ìž…ë ¥(해당ë˜ëŠ” 경우):</translation>
+ </message>
+ <message>
+ <source>&lt;p&gt;You can use a hardware security key such as a &lt;strong&gt;YubiKey&lt;/strong&gt; or &lt;strong&gt;OnlyKey&lt;/strong&gt; with slots configured for HMAC-SHA1.&lt;/p&gt;
+&lt;p&gt;Click for more information...&lt;/p&gt;</source>
<translation type="unfinished"/>
</message>
+ <message>
+ <source>&lt;p&gt;In addition to your master password, you can use a secret file to enhance the security of your database. Such a file can be generated in your database&apos;s security settings.&lt;/p&gt;&lt;p&gt;This is &lt;strong&gt;not&lt;/strong&gt; your *.kdbx database file!&lt;br&gt;If you do not have a key file, leave the field empty.&lt;/p&gt;&lt;p&gt;Click for more information...&lt;/p&gt;</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Key file help</source>
+ <translation>키 íŒŒì¼ ë„움ë§</translation>
+ </message>
+ <message>
+ <source>?</source>
+ <translation>?</translation>
+ </message>
+ <message>
+ <source>Select key file...</source>
+ <translation>키 íŒŒì¼ ì„ íƒ...</translation>
+ </message>
+ <message>
+ <source>Cannot use database file as key file</source>
+ <translation>ë°ì´í„°ë² ì´ìŠ¤ 파ì¼ì€ 키 파ì¼ë¡œ 사용할 수 없습니다.</translation>
+ </message>
+ <message>
+ <source>You cannot use your database file as a key file.
+If you do not have a key file, please leave the field empty.</source>
+ <translation>ë°ì´í„°ë² ì´ìŠ¤ 파ì¼ì„ ìžê¸° ìžì‹ ì˜ 키 파ì¼ë¡œ 사용할 수 없습니다.
+키 파ì¼ì´ 없는 경우, 해당 필드를 비워ë‘십시오.</translation>
+ </message>
</context>
<context>
<name>DatabaseSettingWidgetMetaData</name>
@@ -1351,11 +1394,11 @@ This is necessary to maintain compatibility with the browser plugin.</source>
</message>
<message>
<source>Stored browser keys</source>
- <translation type="unfinished"/>
+ <translation>ì €ìž¥ëœ ë¸Œë¼ìš°ì € 키</translation>
</message>
<message>
<source>Remove selected key</source>
- <translation type="unfinished"/>
+ <translation>ì„ íƒí•œ 키 ì‚­ì œ</translation>
</message>
</context>
<context>
@@ -1501,54 +1544,54 @@ If you keep this number, your database may be too easy to crack!</source>
</message>
<message>
<source>Change existing decryption time</source>
- <translation type="unfinished"/>
+ <translation>기존 복호화 시간 변경</translation>
</message>
<message>
<source>Decryption time in seconds</source>
- <translation type="unfinished"/>
+ <translation>ì´ˆ ë‹¨ìœ„ì˜ ë³µí˜¸í™” 시간</translation>
</message>
<message>
<source>Database format</source>
- <translation type="unfinished"/>
+ <translation>ë°ì´í„°ë² ì´ìŠ¤ 형ì‹</translation>
</message>
<message>
<source>Encryption algorithm</source>
- <translation type="unfinished"/>
+ <translation>암호화 알고리즘</translation>
</message>
<message>
<source>Key derivation function</source>
- <translation type="unfinished"/>
+ <translation>키 ìœ ë„ í•¨ìˆ˜</translation>
</message>
<message>
<source>Transform rounds</source>
- <translation type="unfinished"/>
+ <translation>변환 횟수</translation>
</message>
<message>
<source>Memory usage</source>
- <translation type="unfinished"/>
+ <translation>메모리 사용</translation>
</message>
<message>
<source>Parallelism</source>
- <translation type="unfinished"/>
+ <translation>병렬화</translation>
</message>
</context>
<context>
<name>DatabaseSettingsWidgetFdoSecrets</name>
<message>
<source>Exposed Entries</source>
- <translation type="unfinished"/>
+ <translation>내보낼 항목</translation>
</message>
<message>
<source>Don&apos;t e&amp;xpose this database</source>
- <translation type="unfinished"/>
+ <translation>ì´ ë°ì´í„°ë² ì´ìŠ¤ 내보내지 않기(&amp;X)</translation>
</message>
<message>
<source>Expose entries &amp;under this group:</source>
- <translation type="unfinished"/>
+ <translation>ë‹¤ìŒ ê·¸ë£¹ì˜ í•­ëª© 내보내기(&amp;U):</translation>
</message>
<message>
<source>Enable fd.o Secret Service to access these settings.</source>
- <translation type="unfinished"/>
+ <translation>ì´ ì„¤ì •ì„ ë³€ê²½í•˜ë ¤ë©´ fd.o 비밀 서비스를 활성화하십시오.</translation>
</message>
</context>
<context>
@@ -1599,36 +1642,37 @@ If you keep this number, your database may be too easy to crack!</source>
</message>
<message>
<source>Database name field</source>
- <translation type="unfinished"/>
+ <translation>ë°ì´í„°ë² ì´ìŠ¤ ì´ë¦„ í•„ë“œ</translation>
</message>
<message>
<source>Database description field</source>
- <translation type="unfinished"/>
+ <translation>ë°ì´í„°ë² ì´ìŠ¤ 설명 í•„ë“œ</translation>
</message>
<message>
<source>Default username field</source>
- <translation type="unfinished"/>
+ <translation>기본 ì‚¬ìš©ìž ì´ë¦„ í•„ë“œ</translation>
</message>
<message>
<source>Maximum number of history items per entry</source>
- <translation type="unfinished"/>
+ <translation>항목당 최대 과거 ê¸°ë¡ ê°œìˆ˜</translation>
</message>
<message>
<source>Maximum size of history per entry</source>
- <translation type="unfinished"/>
+ <translation>항목당 최대 과거 ê¸°ë¡ í¬ê¸°</translation>
</message>
<message>
<source>Delete Recycle Bin</source>
- <translation type="unfinished"/>
+ <translation>휴지통 지우기</translation>
</message>
<message>
<source>Do you want to delete the current recycle bin and all its contents?
This action is not reversible.</source>
- <translation type="unfinished"/>
+ <translation>현재 휴지통과 í¬í•¨ëœ 모든 ë‚´ìš©ì„ ì‚­ì œí•˜ì‹œê² ìŠµë‹ˆê¹Œ?
+ì´ ìž‘ì—…ì€ ì·¨ì†Œí•  수 없습니다.</translation>
</message>
<message>
<source> (old)</source>
- <translation type="unfinished"/>
+ <translation>(ì´ì „)</translation>
</message>
</context>
<context>
@@ -1699,7 +1743,7 @@ Are you sure you want to continue without a password?</source>
</message>
<message>
<source>Continue without password</source>
- <translation type="unfinished"/>
+ <translation>암호 ì—†ì´ ê³„ì†</translation>
</message>
</context>
<context>
@@ -1714,22 +1758,22 @@ Are you sure you want to continue without a password?</source>
</message>
<message>
<source>Database name field</source>
- <translation type="unfinished"/>
+ <translation>ë°ì´í„°ë² ì´ìŠ¤ ì´ë¦„ í•„ë“œ</translation>
</message>
<message>
<source>Database description field</source>
- <translation type="unfinished"/>
+ <translation>ë°ì´í„°ë² ì´ìŠ¤ 설명 í•„ë“œ</translation>
</message>
</context>
<context>
<name>DatabaseSettingsWidgetStatistics</name>
<message>
<source>Statistics</source>
- <translation type="unfinished"/>
+ <translation>통계</translation>
</message>
<message>
<source>Hover over lines with error icons for further information.</source>
- <translation type="unfinished"/>
+ <translation>오류 ì•„ì´ì½˜ì´ í‘œì‹œëœ í•­ëª© ìœ„ì— ë§ˆìš°ìŠ¤ë¥¼ 올려 놓으면 ìžì„¸í•œ 정보를 표시합니다.</translation>
</message>
<message>
<source>Name</source>
@@ -1741,98 +1785,102 @@ Are you sure you want to continue without a password?</source>
</message>
<message>
<source>Database name</source>
- <translation type="unfinished"/>
+ <translation>ë°ì´í„°ë² ì´ìŠ¤ ì´ë¦„</translation>
</message>
<message>
<source>Description</source>
- <translation type="unfinished"/>
+ <translation>설명</translation>
</message>
<message>
<source>Location</source>
- <translation type="unfinished"/>
+ <translation>위치</translation>
</message>
<message>
<source>Last saved</source>
- <translation type="unfinished"/>
+ <translation>마지막 저장</translation>
</message>
<message>
<source>Unsaved changes</source>
- <translation type="unfinished"/>
+ <translation>저장하지 ì•Šì€ ë³€ê²½ 사항</translation>
</message>
<message>
<source>yes</source>
- <translation type="unfinished"/>
+ <translation>예</translation>
</message>
<message>
<source>no</source>
- <translation type="unfinished"/>
+ <translation>아니요</translation>
</message>
<message>
<source>The database was modified, but the changes have not yet been saved to disk.</source>
- <translation type="unfinished"/>
+ <translation>ë°ì´í„°ë² ì´ìŠ¤ê°€ 수정ë˜ì—ˆì§€ë§Œ 변경 ì‚¬í•­ì„ ë””ìŠ¤í¬ì— 저장하지 않았습니다.</translation>
</message>
<message>
<source>Number of groups</source>
- <translation type="unfinished"/>
+ <translation>그룹 개수</translation>
</message>
<message>
<source>Number of entries</source>
- <translation type="unfinished"/>
+ <translation>항목 개수</translation>
</message>
<message>
<source>Number of expired entries</source>
- <translation type="unfinished"/>
+ <translation>내보낸 항목 개수</translation>
</message>
<message>
<source>The database contains entries that have expired.</source>
- <translation type="unfinished"/>
+ <translation>ë°ì´í„°ë² ì´ìŠ¤ì— ë§Œë£Œëœ í•­ëª©ì´ í¬í•¨ë˜ì–´ 있습니다.</translation>
</message>
<message>
<source>Unique passwords</source>
- <translation type="unfinished"/>
+ <translation>중복ë˜ì§€ 않는 암호</translation>
</message>
<message>
<source>Non-unique passwords</source>
- <translation type="unfinished"/>
+ <translation>ì¤‘ë³µëœ ì•”í˜¸</translation>
</message>
<message>
<source>More than 10% of passwords are reused. Use unique passwords when possible.</source>
- <translation type="unfinished"/>
+ <translation>ì „ì²´ 암호 중 10% ì´ìƒì„ 재사용하고 있습니다. 가능하다면 유ì¼í•œ 암호를 사용하십시오.</translation>
</message>
<message>
<source>Maximum password reuse</source>
- <translation type="unfinished"/>
+ <translation>최대 암호 재사용</translation>
</message>
<message>
<source>Some passwords are used more than three times. Use unique passwords when possible.</source>
- <translation type="unfinished"/>
+ <translation>ì¼ë¶€ 암호가 3ê³³ ì´ìƒì—ì„œ 재사용ë˜ê³  있습니다. 가능하다면 유ì¼í•œ 암호를 사용하십시오.</translation>
</message>
<message>
<source>Number of short passwords</source>
- <translation type="unfinished"/>
+ <translation>ì§§ì€ ì•”í˜¸ 개수</translation>
</message>
<message>
<source>Recommended minimum password length is at least 8 characters.</source>
- <translation type="unfinished"/>
+ <translation>최소 8ìž ì´ìƒì˜ 암호를 사용하십시오.</translation>
</message>
<message>
<source>Number of weak passwords</source>
- <translation type="unfinished"/>
+ <translation>약한 암호 개수</translation>
</message>
<message>
<source>Recommend using long, randomized passwords with a rating of &apos;good&apos; or &apos;excellent&apos;.</source>
- <translation type="unfinished"/>
+ <translation>암호 ê°•ë„ê°€ &apos;좋ìŒ&apos;ì´ë‚˜ &apos;매우 좋ìŒ&apos; 등급으로 ë¶„ë¥˜ëœ ê¸´ 무작위 암호를 사용하는 ê²ƒì„ ì¶”ì²œí•©ë‹ˆë‹¤.</translation>
</message>
<message>
<source>Average password length</source>
- <translation type="unfinished"/>
+ <translation>í‰ê·  암호 길ì´</translation>
</message>
<message>
<source>%1 characters</source>
- <translation type="unfinished"/>
+ <translation>%1ìž</translation>
</message>
<message>
<source>Average password length is less than ten characters. Longer passwords provide more security.</source>
+ <translation>í‰ê·  암호 길ì´ê°€ 10ìž ì´í•˜ìž…니다. 긴 암호를 ì‚¬ìš©í• ìˆ˜ë¡ ë” ì•ˆì „í•©ë‹ˆë‹¤.</translation>
+ </message>
+ <message>
+ <source>Please wait, database statistics are being calculated...</source>
<translation type="unfinished"/>
</message>
</context>
@@ -1909,27 +1957,27 @@ This is definitely a bug, please report it to the developers.</source>
</message>
<message>
<source>Failed to open %1. It either does not exist or is not accessible.</source>
- <translation type="unfinished"/>
+ <translation>%1ì„(를) ì—´ 수 없습니다. ë” ì´ìƒ 존재하지 않거나 접근할 수 없습니다.</translation>
</message>
<message>
<source>Export database to HTML file</source>
- <translation type="unfinished"/>
+ <translation>ë°ì´í„°ë² ì´ìŠ¤ë¥¼ HTML 파ì¼ë¡œ 내보내기</translation>
</message>
<message>
<source>HTML file</source>
- <translation type="unfinished"/>
+ <translation>HTML 파ì¼</translation>
</message>
<message>
<source>Writing the HTML file failed.</source>
- <translation type="unfinished"/>
+ <translation>HTML 파ì¼ì— 쓸 수 없습니다.</translation>
</message>
<message>
<source>Export Confirmation</source>
- <translation type="unfinished"/>
+ <translation>내보내기 확ì¸</translation>
</message>
<message>
<source>You are about to export your database to an unencrypted file. This will leave your passwords and sensitive information vulnerable! Are you sure you want to continue?</source>
- <translation type="unfinished"/>
+ <translation>ë°ì´í„°ë² ì´ìŠ¤ë¥¼ 암호화ë˜ì§€ ì•Šì€ íŒŒì¼ë¡œ 내보냅니다. 암호와 기타 ë¯¼ê° ì •ë³´ë¥¼ 노출시킬 수 있습니다! ê³„ì† ì§„í–‰í•˜ì‹œê² ìŠµë‹ˆê¹Œ?</translation>
</message>
</context>
<context>
@@ -2109,7 +2157,7 @@ Disable safe saves and try again?</source>
</message>
<message>
<source>This database is opened in read-only mode. Autosave is disabled.</source>
- <translation type="unfinished"/>
+ <translation>ë°ì´í„°ë² ì´ìŠ¤ê°€ ì½ê¸° ì „ìš© 모드로 열렸습니다. ìžë™ ì €ìž¥ì„ ë¹„í™œì„±í™”í•©ë‹ˆë‹¤.</translation>
</message>
</context>
<context>
@@ -2236,11 +2284,11 @@ Disable safe saves and try again?</source>
</message>
<message>
<source>&lt;empty URL&gt;</source>
- <translation type="unfinished"/>
+ <translation>&lt;빈 URL&gt;</translation>
</message>
<message>
<source>Are you sure you want to remove this URL?</source>
- <translation type="unfinished"/>
+ <translation>ì´ URLì„ ì‚­ì œí•˜ì‹œê² ìŠµë‹ˆê¹Œ?</translation>
</message>
</context>
<context>
@@ -2283,39 +2331,39 @@ Disable safe saves and try again?</source>
</message>
<message>
<source>Attribute selection</source>
- <translation type="unfinished"/>
+ <translation>ì†ì„± ì„ íƒ</translation>
</message>
<message>
<source>Attribute value</source>
- <translation type="unfinished"/>
+ <translation>ì†ì„± ê°’</translation>
</message>
<message>
<source>Add a new attribute</source>
- <translation type="unfinished"/>
+ <translation>새 ì†ì„± 추가</translation>
</message>
<message>
<source>Remove selected attribute</source>
- <translation type="unfinished"/>
+ <translation>ì„ íƒí•œ ì†ì„± ì‚­ì œ</translation>
</message>
<message>
<source>Edit attribute name</source>
- <translation type="unfinished"/>
+ <translation>ì†ì„± ì´ë¦„ 편집</translation>
</message>
<message>
<source>Toggle attribute protection</source>
- <translation type="unfinished"/>
+ <translation>ì†ì„± 보호 전환</translation>
</message>
<message>
<source>Show a protected attribute</source>
- <translation type="unfinished"/>
+ <translation>ë³´í˜¸ëœ ì†ì„± 표시</translation>
</message>
<message>
<source>Foreground color selection</source>
- <translation type="unfinished"/>
+ <translation>글ìžìƒ‰ ì„ íƒ</translation>
</message>
<message>
<source>Background color selection</source>
- <translation type="unfinished"/>
+ <translation>배경색 ì„ íƒ</translation>
</message>
</context>
<context>
@@ -2326,11 +2374,11 @@ Disable safe saves and try again?</source>
</message>
<message>
<source>Inherit default Auto-Type sequence from the &amp;group</source>
- <translation>ê·¸ë£¹ì˜ ê¸°ë³¸ ìžë™ ìž…ë ¥ 시퀀스 사용(&amp;G)</translation>
+ <translation>ê·¸ë£¹ì˜ ê¸°ë³¸ ìžë™ ìž…ë ¥ 순서 사용(&amp;G)</translation>
</message>
<message>
<source>&amp;Use custom Auto-Type sequence:</source>
- <translation>ì‚¬ìš©ìž ì •ì˜ ìžë™ ìž…ë ¥ 시퀀스 사용(&amp;U):</translation>
+ <translation>ì‚¬ìš©ìž ì •ì˜ ìžë™ ìž…ë ¥ 순서 사용(&amp;U):</translation>
</message>
<message>
<source>Window Associations</source>
@@ -2350,50 +2398,50 @@ Disable safe saves and try again?</source>
</message>
<message>
<source>Use a specific sequence for this association:</source>
- <translation>ì´ ì¡°í•©ì— ì§€ì •ëœ ì‹œí€€ìŠ¤ 사용:</translation>
+ <translation>ì´ ì¡°í•©ì— ì§€ì •ëœ ìˆœì„œ 사용:</translation>
</message>
<message>
<source>Custom Auto-Type sequence</source>
- <translation type="unfinished"/>
+ <translation>ì‚¬ìš©ìž ì •ì˜ ìžë™ ìž…ë ¥ 순서</translation>
</message>
<message>
<source>Open Auto-Type help webpage</source>
- <translation type="unfinished"/>
+ <translation>ìžë™ ìž…ë ¥ ë„ì›€ë§ ì›¹ 페ì´ì§€ 열기</translation>
</message>
<message>
<source>Existing window associations</source>
- <translation type="unfinished"/>
+ <translation>기존 창 연결</translation>
</message>
<message>
<source>Add new window association</source>
- <translation type="unfinished"/>
+ <translation>새 창 연결 추가</translation>
</message>
<message>
<source>Remove selected window association</source>
- <translation type="unfinished"/>
+ <translation>ì„ íƒí•œ ì°½ ì—°ê²° ì‚­ì œ</translation>
</message>
<message>
<source>You can use an asterisk (*) to match everything</source>
- <translation type="unfinished"/>
+ <translation>모든 것과 ì¼ì¹˜í•˜ë ¤ë©´ 별표(*)를 사용하십시오</translation>
</message>
<message>
<source>Set the window association title</source>
- <translation type="unfinished"/>
+ <translation>창 연결 제목 설정</translation>
</message>
<message>
<source>You can use an asterisk to match everything</source>
- <translation type="unfinished"/>
+ <translation>모든 것과 ì¼ì¹˜í•˜ë ¤ë©´ 별표(*)를 사용하십시오</translation>
</message>
<message>
<source>Custom Auto-Type sequence for this window</source>
- <translation type="unfinished"/>
+ <translation>ì´ ì°½ì˜ ì‚¬ìš©ìž ì •ì˜ ìžë™ ìž…ë ¥ 순서</translation>
</message>
</context>
<context>
<name>EditEntryWidgetBrowser</name>
<message>
<source>These settings affect to the entry&apos;s behaviour with the browser extension.</source>
- <translation type="unfinished"/>
+ <translation>ì´ ì„¤ì •ì€ ë¸Œë¼ìš°ì € 확장 기능ì—ì„œ 해당 í•­ëª©ì„ ì²˜ë¦¬í•˜ëŠ” ë°©ë²•ì„ ë³€ê²½í•©ë‹ˆë‹¤.</translation>
</message>
<message>
<source>General</source>
@@ -2401,15 +2449,15 @@ Disable safe saves and try again?</source>
</message>
<message>
<source>Skip Auto-Submit for this entry</source>
- <translation type="unfinished"/>
+ <translation>ì´ í•­ëª© ìžë™ 제출 건너뛰기</translation>
</message>
<message>
<source>Hide this entry from the browser extension</source>
- <translation type="unfinished"/>
+ <translation>ì´ í•­ëª©ì„ ë¸Œë¼ìš°ì € 확장 기능ì—ì„œ 숨기기</translation>
</message>
<message>
<source>Additional URL&apos;s</source>
- <translation type="unfinished"/>
+ <translation>추가 URL</translation>
</message>
<message>
<source>Add</source>
@@ -2444,23 +2492,23 @@ Disable safe saves and try again?</source>
</message>
<message>
<source>Entry history selection</source>
- <translation type="unfinished"/>
+ <translation>항목 과거 ê¸°ë¡ ì„ íƒ</translation>
</message>
<message>
<source>Show entry at selected history state</source>
- <translation type="unfinished"/>
+ <translation>ì„ íƒí•œ 과거 ê¸°ë¡ ì‹œì ì—ì„œì˜ í•­ëª© 표시</translation>
</message>
<message>
<source>Restore entry to selected history state</source>
- <translation type="unfinished"/>
+ <translation>ì„ íƒí•œ 과거 ê¸°ë¡ ì‹œì ìœ¼ë¡œ 항목 ë˜ëŒë¦¬ê¸°</translation>
</message>
<message>
<source>Delete selected history state</source>
- <translation type="unfinished"/>
+ <translation>ì„ íƒí•œ 과거 ê¸°ë¡ ì‹œì  ì‚­ì œ</translation>
</message>
<message>
<source>Delete all history</source>
- <translation type="unfinished"/>
+ <translation>모든 과거 ê¸°ë¡ ì‚­ì œ</translation>
</message>
</context>
<context>
@@ -2503,59 +2551,59 @@ Disable safe saves and try again?</source>
</message>
<message>
<source>Url field</source>
- <translation type="unfinished"/>
+ <translation>URL 필드</translation>
</message>
<message>
<source>Download favicon for URL</source>
- <translation type="unfinished"/>
+ <translation>URLì˜ íŒŒë¹„ì½˜ 다운로드</translation>
</message>
<message>
<source>Repeat password field</source>
- <translation type="unfinished"/>
+ <translation>암호 í™•ì¸ í•„ë“œ</translation>
</message>
<message>
<source>Toggle password generator</source>
- <translation type="unfinished"/>
+ <translation>암호 ìƒì„±ê¸° 전환</translation>
</message>
<message>
<source>Password field</source>
- <translation type="unfinished"/>
+ <translation>암호 필드</translation>
</message>
<message>
<source>Toggle password visibility</source>
- <translation type="unfinished"/>
+ <translation>암호 표시 여부 전환</translation>
</message>
<message>
<source>Toggle notes visible</source>
- <translation type="unfinished"/>
+ <translation>메모 표시 여부 전환</translation>
</message>
<message>
<source>Expiration field</source>
- <translation type="unfinished"/>
+ <translation>만료 필드</translation>
</message>
<message>
<source>Expiration Presets</source>
- <translation type="unfinished"/>
+ <translation>만료 사전 설정</translation>
</message>
<message>
<source>Expiration presets</source>
- <translation type="unfinished"/>
+ <translation>만료 사전 설정</translation>
</message>
<message>
<source>Notes field</source>
- <translation type="unfinished"/>
+ <translation>메모 필드</translation>
</message>
<message>
<source>Title field</source>
- <translation type="unfinished"/>
+ <translation>제목 필드</translation>
</message>
<message>
<source>Username field</source>
- <translation type="unfinished"/>
+ <translation>ì‚¬ìš©ìž ì´ë¦„ í•„ë“œ</translation>
</message>
<message>
<source>Toggle expiration</source>
- <translation type="unfinished"/>
+ <translation>만료 여부 전환</translation>
</message>
</context>
<context>
@@ -2635,19 +2683,19 @@ Disable safe saves and try again?</source>
</message>
<message>
<source>Remove key from agent after specified seconds</source>
- <translation type="unfinished"/>
+ <translation>ë‹¤ìŒ ì‹œê°„ ì´í›„ì— ì—ì´ì „트ì—ì„œ 키 ì‚­ì œ</translation>
</message>
<message>
<source>Browser for key file</source>
- <translation type="unfinished"/>
+ <translation>키 íŒŒì¼ ì°¾ì•„ë³´ê¸°</translation>
</message>
<message>
<source>External key file</source>
- <translation type="unfinished"/>
+ <translation>외부 키 파ì¼</translation>
</message>
<message>
<source>Select attachment file</source>
- <translation type="unfinished"/>
+ <translation>첨부 íŒŒì¼ ì„ íƒ</translation>
</message>
</context>
<context>
@@ -2749,65 +2797,66 @@ Disable safe saves and try again?</source>
</message>
<message>
<source>Synchronize</source>
- <translation type="unfinished"/>
+ <translation>ë™ê¸°í™”</translation>
</message>
<message>
<source>Your KeePassXC version does not support sharing this container type.
Supported extensions are: %1.</source>
- <translation type="unfinished"/>
+ <translation>KeePassXC 현재 버전ì—ì„œ 현재 컨테ì´ë„ˆ 형ì‹ì„ 공유할 수 없습니다.
+지ì›í•˜ëŠ” 확장 형ì‹: %1.</translation>
</message>
<message>
<source>%1 is already being exported by this database.</source>
- <translation type="unfinished"/>
+ <translation>ì´ ë°ì´í„°ë² ì´ìŠ¤ì—ì„œ %1ì„(를) ì´ë¯¸ ë‚´ë³´ë‚´ê³  있습니다.</translation>
</message>
<message>
<source>%1 is already being imported by this database.</source>
- <translation type="unfinished"/>
+ <translation>ì´ ë°ì´í„°ë² ì´ìŠ¤ì—ì„œ %1ì„(를) ì´ë¯¸ 가져오고 있습니다.</translation>
</message>
<message>
<source>%1 is being imported and exported by different groups in this database.</source>
- <translation type="unfinished"/>
+ <translation>ì´ ë°ì´í„°ë² ì´ìŠ¤ì˜ 다른 그룹ì—ì„œ %1ì„(를) 가져오거나 ë‚´ë³´ë‚´ê³  있습니다.</translation>
</message>
<message>
<source>KeeShare is currently disabled. You can enable import/export in the application settings.</source>
<comment>KeeShare is a proper noun</comment>
- <translation type="unfinished"/>
+ <translation>KeeShareê°€ 비활성화ë˜ì–´ 있습니다. 프로그램 설정ì—ì„œ 가져오기/내보내기를 활성화할 수 있습니다.</translation>
</message>
<message>
<source>Database export is currently disabled by application settings.</source>
- <translation type="unfinished"/>
+ <translation>프로그램 설정ì—ì„œ ë°ì´í„°ë² ì´ìŠ¤ 내보내기가 비활성화ë˜ì–´ 있습니다.</translation>
</message>
<message>
<source>Database import is currently disabled by application settings.</source>
- <translation type="unfinished"/>
+ <translation>프로그램 설정ì—ì„œ ë°ì´í„°ë² ì´ìŠ¤ 가져오기가 비활성화ë˜ì–´ 있습니다.</translation>
</message>
<message>
<source>Sharing mode field</source>
- <translation type="unfinished"/>
+ <translation>공유 모드 필드</translation>
</message>
<message>
<source>Path to share file field</source>
- <translation type="unfinished"/>
+ <translation>공유할 íŒŒì¼ ê²½ë¡œ í•„ë“œ</translation>
</message>
<message>
<source>Browser for share file</source>
- <translation type="unfinished"/>
+ <translation>공유할 íŒŒì¼ ì°¾ì•„ë³´ê¸°</translation>
</message>
<message>
<source>Password field</source>
- <translation type="unfinished"/>
+ <translation>암호 필드</translation>
</message>
<message>
<source>Toggle password visibility</source>
- <translation type="unfinished"/>
+ <translation>암호 표시 여부 전환</translation>
</message>
<message>
<source>Toggle password generator</source>
- <translation type="unfinished"/>
+ <translation>암호 ìƒì„±ê¸° 전환</translation>
</message>
<message>
<source>Clear fields</source>
- <translation type="unfinished"/>
+ <translation>필드 비우기</translation>
</message>
</context>
<context>
@@ -2834,7 +2883,7 @@ Supported extensions are: %1.</source>
</message>
<message>
<source>&amp;Use default Auto-Type sequence of parent group</source>
- <translation>ê·¸ë£¹ì˜ ê¸°ë³¸ ìžë™ ìž…ë ¥ 시퀀스 사용(&amp;G)</translation>
+ <translation>ê·¸ë£¹ì˜ ê¸°ë³¸ ìžë™ ìž…ë ¥ 순서 사용(&amp;G)</translation>
</message>
<message>
<source>Set default Auto-Type se&amp;quence</source>
@@ -2842,31 +2891,31 @@ Supported extensions are: %1.</source>
</message>
<message>
<source>Name field</source>
- <translation type="unfinished"/>
+ <translation>ì´ë¦„ í•„ë“œ</translation>
</message>
<message>
<source>Notes field</source>
- <translation type="unfinished"/>
+ <translation>메모 필드</translation>
</message>
<message>
<source>Toggle expiration</source>
- <translation type="unfinished"/>
+ <translation>만료 여부 전환</translation>
</message>
<message>
<source>Auto-Type toggle for this and sub groups</source>
- <translation type="unfinished"/>
+ <translation>ì´ ê·¸ë£¹ê³¼ 하위 ê·¸ë£¹ì˜ ìžë™ ìž…ë ¥ 전환</translation>
</message>
<message>
<source>Expiration field</source>
- <translation type="unfinished"/>
+ <translation>만료 필드</translation>
</message>
<message>
<source>Search toggle for this and sub groups</source>
- <translation type="unfinished"/>
+ <translation>ì´ ê·¸ë£¹ê³¼ 하위 ê·¸ë£¹ì˜ ê²€ìƒ‰ 전환</translation>
</message>
<message>
<source>Default auto-type sequence field</source>
- <translation type="unfinished"/>
+ <translation>기본 ìžë™ ìž…ë ¥ 순서 í•„ë“œ</translation>
</message>
</context>
<context>
@@ -2933,39 +2982,39 @@ Supported extensions are: %1.</source>
</message>
<message>
<source>You can enable the DuckDuckGo website icon service under Tools -&gt; Settings -&gt; Security</source>
- <translation type="unfinished"/>
+ <translation>ë„구 -&gt; 설정 -&gt; 보안ì—ì„œ DuckDuckGo 웹 사ì´íŠ¸ ì•„ì´ì½˜ 서비스를 활성화할 수 있습니다</translation>
</message>
<message>
<source>Download favicon for URL</source>
- <translation type="unfinished"/>
+ <translation>URLì˜ íŒŒë¹„ì½˜ 다운로드</translation>
</message>
<message>
<source>Apply selected icon to subgroups and entries</source>
- <translation type="unfinished"/>
+ <translation>ì„ íƒí•œ ì•„ì´ì½˜ì„ 하위 그룹과 í•­ëª©ì— ì ìš©</translation>
</message>
<message>
<source>Apply icon &amp;to ...</source>
- <translation type="unfinished"/>
+ <translation>다ìŒì— ì•„ì´ì½˜ ì ìš©(&amp;T)...</translation>
</message>
<message>
<source>Apply to this only</source>
- <translation type="unfinished"/>
+ <translation>ì´ í•­ëª©ì—만 ì ìš©</translation>
</message>
<message>
<source>Also apply to child groups</source>
- <translation type="unfinished"/>
+ <translation>하위 그룹ì—ë„ ì ìš©</translation>
</message>
<message>
<source>Also apply to child entries</source>
- <translation type="unfinished"/>
+ <translation>하위 항목ì—ë„ ì ìš©</translation>
</message>
<message>
<source>Also apply to all children</source>
- <translation type="unfinished"/>
+ <translation>모든 하위 항목ì—ë„ ì ìš©</translation>
</message>
<message>
<source>Existing icon selected.</source>
- <translation type="unfinished"/>
+ <translation>기존 ì•„ì´ì½˜ì„ ì„ íƒí–ˆìŠµë‹ˆë‹¤.</translation>
</message>
</context>
<context>
@@ -3014,27 +3063,27 @@ This may cause the affected plugins to malfunction.</source>
</message>
<message>
<source>Datetime created</source>
- <translation type="unfinished"/>
+ <translation>만든 날짜</translation>
</message>
<message>
<source>Datetime modified</source>
- <translation type="unfinished"/>
+ <translation>수정한 날짜</translation>
</message>
<message>
<source>Datetime accessed</source>
- <translation type="unfinished"/>
+ <translation>접근한 날짜</translation>
</message>
<message>
<source>Unique ID</source>
- <translation type="unfinished"/>
+ <translation>고유 ID</translation>
</message>
<message>
<source>Plugin data</source>
- <translation type="unfinished"/>
+ <translation>í”ŒëŸ¬ê·¸ì¸ ë°ì´í„°</translation>
</message>
<message>
<source>Remove selected plugin data</source>
- <translation type="unfinished"/>
+ <translation>ì„ íƒí•œ í”ŒëŸ¬ê·¸ì¸ ë°ì´í„° ì‚­ì œ</translation>
</message>
</context>
<context>
@@ -3137,19 +3186,19 @@ This may cause the affected plugins to malfunction.</source>
</message>
<message>
<source>Add new attachment</source>
- <translation type="unfinished"/>
+ <translation>새 첨부 íŒŒì¼ ì¶”ê°€</translation>
</message>
<message>
<source>Remove selected attachment</source>
- <translation type="unfinished"/>
+ <translation>ì„ íƒí•œ 첨부 íŒŒì¼ ì‚­ì œ</translation>
</message>
<message>
<source>Open selected attachment</source>
- <translation type="unfinished"/>
+ <translation>ì„ íƒí•œ 첨부 íŒŒì¼ ì—´ê¸°</translation>
</message>
<message>
<source>Save selected attachment to disk</source>
- <translation type="unfinished"/>
+ <translation>ì„ íƒí•œ 첨부 íŒŒì¼ ì €ìž¥</translation>
</message>
</context>
<context>
@@ -3290,7 +3339,7 @@ This may cause the affected plugins to malfunction.</source>
</message>
<message>
<source>Sequence</source>
- <translation>시퀀스</translation>
+ <translation>순서</translation>
</message>
<message>
<source>Searching</source>
@@ -3331,7 +3380,7 @@ This may cause the affected plugins to malfunction.</source>
</message>
<message>
<source>Display current TOTP value</source>
- <translation type="unfinished"/>
+ <translation>현재 TOTP 값 표시</translation>
</message>
<message>
<source>Advanced</source>
@@ -3373,26 +3422,26 @@ This may cause the affected plugins to malfunction.</source>
<name>FdoSecrets::Item</name>
<message>
<source>Entry &quot;%1&quot; from database &quot;%2&quot; was used by %3</source>
- <translation type="unfinished"/>
+ <translation>%3ì´(ê°€) ë°ì´í„°ë² ì´ìŠ¤ &quot;%2&quot;ì˜ í•­ëª© &quot;%1&quot;ì„(를) 사용함</translation>
</message>
</context>
<context>
<name>FdoSecrets::Service</name>
<message>
<source>Failed to register DBus service at %1: another secret service is running.</source>
- <translation type="unfinished"/>
+ <translation>%1ì˜ DBus 서비스를 등ë¡í•  수 ì—†ìŒ: 다른 비밀 서비스가 실행 중입니다.</translation>
</message>
<message numerus="yes">
<source>%n Entry(s) was used by %1</source>
<comment>%1 is the name of an application</comment>
- <translation type="unfinished"><numerusform></numerusform></translation>
+ <translation><numerusform>%1ì—ì„œ 항목 %n개를 사용함</numerusform></translation>
</message>
</context>
<context>
<name>FdoSecretsPlugin</name>
<message>
<source>Fdo Secret Service: %1</source>
- <translation type="unfinished"/>
+ <translation>fd.o 비밀 서비스: %1</translation>
</message>
</context>
<context>
@@ -3418,7 +3467,7 @@ This may cause the affected plugins to malfunction.</source>
<name>IconDownloaderDialog</name>
<message>
<source>Download Favicons</source>
- <translation type="unfinished"/>
+ <translation>파비콘 다운로드</translation>
</message>
<message>
<source>Cancel</source>
@@ -3427,7 +3476,8 @@ This may cause the affected plugins to malfunction.</source>
<message>
<source>Having trouble downloading icons?
You can enable the DuckDuckGo website icon service in the security section of the application settings.</source>
- <translation type="unfinished"/>
+ <translation>ë‹¤ìš´ë¡œë“œì— ë¬¸ì œê°€ 있나요?
+프로그램 ì„¤ì •ì˜ ë³´ì•ˆ 부분ì—ì„œ DuckDuckGo 웹 사ì´íŠ¸ ì•„ì´ì½˜ 서비스를 활성화할 수 있습니다.</translation>
</message>
<message>
<source>Close</source>
@@ -3443,11 +3493,11 @@ You can enable the DuckDuckGo website icon service in the security section of th
</message>
<message>
<source>Please wait, processing entry list...</source>
- <translation type="unfinished"/>
+ <translation>기다려 주십시오. 항목 ëª©ë¡ ì²˜ë¦¬ 중...</translation>
</message>
<message>
<source>Downloading...</source>
- <translation type="unfinished"/>
+ <translation>다운로드 중...</translation>
</message>
<message>
<source>Ok</source>
@@ -3455,15 +3505,15 @@ You can enable the DuckDuckGo website icon service in the security section of th
</message>
<message>
<source>Already Exists</source>
- <translation type="unfinished"/>
+ <translation>ì´ë¯¸ 존재함</translation>
</message>
<message>
<source>Download Failed</source>
- <translation type="unfinished"/>
+ <translation>다운로드 실패</translation>
</message>
<message>
<source>Downloading favicons (%1/%2)...</source>
- <translation type="unfinished"/>
+ <translation>파비콘 다운로드 중(%1/%2)...</translation>
</message>
</context>
<context>
@@ -3510,7 +3560,8 @@ You can enable the DuckDuckGo website icon service in the security section of th
<message>
<source>Invalid credentials were provided, please try again.
If this reoccurs, then your database file may be corrupt.</source>
- <translation type="unfinished"/>
+ <translation>ì¸ì¦ ì •ë³´ê°€ 잘못ë˜ì—ˆìŠµë‹ˆë‹¤. 다시 ì‹œë„하십시오.
+ê°™ì€ ì˜¤ë¥˜ê°€ ê³„ì† ë°œìƒí•œë‹¤ë©´ ë°ì´í„°ë² ì´ìŠ¤ 파ì¼ì´ ì†ìƒë˜ì—ˆì„ ìˆ˜ë„ ìžˆìŠµë‹ˆë‹¤.</translation>
</message>
</context>
<context>
@@ -3645,11 +3696,12 @@ If this reoccurs, then your database file may be corrupt.</source>
<message>
<source>Invalid credentials were provided, please try again.
If this reoccurs, then your database file may be corrupt.</source>
- <translation type="unfinished"/>
+ <translation>ì¸ì¦ ì •ë³´ê°€ 잘못ë˜ì—ˆìŠµë‹ˆë‹¤. 다시 ì‹œë„하십시오.
+ê°™ì€ ì˜¤ë¥˜ê°€ ê³„ì† ë°œìƒí•œë‹¤ë©´ ë°ì´í„°ë² ì´ìŠ¤ 파ì¼ì´ ì†ìƒë˜ì—ˆì„ ìˆ˜ë„ ìžˆìŠµë‹ˆë‹¤.</translation>
</message>
<message>
<source>(HMAC mismatch)</source>
- <translation type="unfinished"/>
+ <translation>(HMAC ì¼ì¹˜í•˜ì§€ ì•ŠìŒ)</translation>
</message>
</context>
<context>
@@ -3830,7 +3882,7 @@ This is a one-way migration. You won&apos;t be able to open the imported databas
</message>
<message>
<source>Auto-type association window or sequence missing</source>
- <translation>ìžë™ ìž…ë ¥ ì—°ê²° ì°½ì´ë‚˜ 시퀀스가 ì—†ìŒ</translation>
+ <translation>ìžë™ ìž…ë ¥ ì—°ê²° ì°½ì´ë‚˜ 순서가 ì—†ìŒ</translation>
</message>
<message>
<source>Invalid bool value</source>
@@ -3878,7 +3930,7 @@ Line %2, column %3</source>
</message>
<message>
<source>Import KeePass1 Database</source>
- <translation type="unfinished"/>
+ <translation>KeePass1 ë°ì´í„°ë² ì´ìŠ¤ 가져오기</translation>
</message>
</context>
<context>
@@ -4035,18 +4087,19 @@ Line %2, column %3</source>
<message>
<source>Invalid credentials were provided, please try again.
If this reoccurs, then your database file may be corrupt.</source>
- <translation type="unfinished"/>
+ <translation>ì¸ì¦ ì •ë³´ê°€ 잘못ë˜ì—ˆìŠµë‹ˆë‹¤. 다시 ì‹œë„하십시오.
+ê°™ì€ ì˜¤ë¥˜ê°€ ê³„ì† ë°œìƒí•œë‹¤ë©´ ë°ì´í„°ë² ì´ìŠ¤ 파ì¼ì´ ì†ìƒë˜ì—ˆì„ ìˆ˜ë„ ìžˆìŠµë‹ˆë‹¤.</translation>
</message>
</context>
<context>
<name>KeeShare</name>
<message>
<source>Invalid sharing reference</source>
- <translation type="unfinished"/>
+ <translation>ìž˜ëª»ëœ ê³µìœ  참조</translation>
</message>
<message>
<source>Inactive share %1</source>
- <translation type="unfinished"/>
+ <translation>비활성 공유 %1</translation>
</message>
<message>
<source>Imported from %1</source>
@@ -4054,35 +4107,35 @@ If this reoccurs, then your database file may be corrupt.</source>
</message>
<message>
<source>Exported to %1</source>
- <translation type="unfinished"/>
+ <translation>%1(으)로 내보냄</translation>
</message>
<message>
<source>Synchronized with %1</source>
- <translation type="unfinished"/>
+ <translation>%1와(ê³¼) ë™ê¸°í™”ë¨</translation>
</message>
<message>
<source>Import is disabled in settings</source>
- <translation type="unfinished"/>
+ <translation>설정ì—ì„œ 가져오기가 비활성화ë¨</translation>
</message>
<message>
<source>Export is disabled in settings</source>
- <translation type="unfinished"/>
+ <translation>설정ì—ì„œ 내보내기가 비활성화ë¨</translation>
</message>
<message>
<source>Inactive share</source>
- <translation type="unfinished"/>
+ <translation>비활성 공유</translation>
</message>
<message>
<source>Imported from</source>
- <translation type="unfinished"/>
+ <translation>가져온 위치:</translation>
</message>
<message>
<source>Exported to</source>
- <translation type="unfinished"/>
+ <translation>내보낸 위치:</translation>
</message>
<message>
<source>Synchronized with</source>
- <translation type="unfinished"/>
+ <translation>ë™ê¸°í™” 대ìƒ:</translation>
</message>
</context>
<context>
@@ -4184,11 +4237,11 @@ Message: %2</source>
</message>
<message>
<source>Key file selection</source>
- <translation type="unfinished"/>
+ <translation>키 íŒŒì¼ ì„ íƒ</translation>
</message>
<message>
<source>Browse for key file</source>
- <translation type="unfinished"/>
+ <translation>키 íŒŒì¼ ì°¾ì•„ë³´ê¸°</translation>
</message>
<message>
<source>Browse...</source>
@@ -4196,28 +4249,29 @@ Message: %2</source>
</message>
<message>
<source>Generate a new key file</source>
- <translation type="unfinished"/>
+ <translation>새 키 íŒŒì¼ ìƒì„±</translation>
</message>
<message>
<source>Note: Do not use a file that may change as that will prevent you from unlocking your database!</source>
- <translation type="unfinished"/>
+ <translation>메모: ë³€ê²½ë  ìˆ˜ 있는 파ì¼ì„ 사용하면 ë‚˜ì¤‘ì— ë°ì´í„°ë² ì´ìŠ¤ì˜ ìž ê¸ˆì„ í•´ì œí•˜ì§€ 못할 ìˆ˜ë„ ìžˆìŠµë‹ˆë‹¤!</translation>
</message>
<message>
<source>Invalid Key File</source>
- <translation type="unfinished"/>
+ <translation>ìž˜ëª»ëœ í‚¤ 파ì¼</translation>
</message>
<message>
<source>You cannot use the current database as its own keyfile. Please choose a different file or generate a new key file.</source>
- <translation type="unfinished"/>
+ <translation>ë°ì´í„°ë² ì´ìŠ¤ 파ì¼ì„ ìžê¸° ìžì‹ ì˜ 키 파ì¼ë¡œ 사용할 수 없습니다. 다른 파ì¼ì„ ì„ íƒí•˜ê±°ë‚˜ 새 키 파ì¼ì„ ìƒì„±í•˜ì‹­ì‹œì˜¤.</translation>
</message>
<message>
<source>Suspicious Key File</source>
- <translation type="unfinished"/>
+ <translation>ì˜ì‹¬ë˜ëŠ” 키 파ì¼</translation>
</message>
<message>
<source>The chosen key file looks like a password database file. A key file must be a static file that never changes or you will lose access to your database forever.
Are you sure you want to continue with this file?</source>
- <translation type="unfinished"/>
+ <translation>ì„ íƒí•œ 키 파ì¼ì´ 암호 ë°ì´í„°ë² ì´ìŠ¤ íŒŒì¼ ê°™ìŠµë‹ˆë‹¤. 키 파ì¼ì€ 변경ë˜ì§€ ì•Šì„ íŒŒì¼ì´ì–´ì•¼ 하며 파ì¼ì´ 변경ë˜ë©´ ë°ì´í„°ë² ì´ìŠ¤ì— ë” ì´ìƒ 접근할 수 없습니다.
+ì´ íŒŒì¼ì„ ê·¸ëž˜ë„ ì‚¬ìš©í•˜ì‹œê² ìŠµë‹ˆê¹Œ?</translation>
</message>
</context>
<context>
@@ -4512,27 +4566,27 @@ Expect some bugs and minor issues, this version is not meant for production use.
</message>
<message>
<source>&amp;Export</source>
- <translation type="unfinished"/>
+ <translation>내보내기(&amp;E)</translation>
</message>
<message>
<source>&amp;Check for Updates...</source>
- <translation type="unfinished"/>
+ <translation>ì—…ë°ì´íŠ¸ 확ì¸(&amp;C)...</translation>
</message>
<message>
<source>Downlo&amp;ad all favicons</source>
- <translation type="unfinished"/>
+ <translation>모든 파비콘 다운로드(&amp;A)</translation>
</message>
<message>
<source>Sort &amp;A-Z</source>
- <translation type="unfinished"/>
+ <translation>가나다순 정렬(&amp;A)</translation>
</message>
<message>
<source>Sort &amp;Z-A</source>
- <translation type="unfinished"/>
+ <translation>가나다 역순 정렬(&amp;Z)</translation>
</message>
<message>
<source>&amp;Password Generator</source>
- <translation type="unfinished"/>
+ <translation>암호 ìƒì„±ê¸°(&amp;P)</translation>
</message>
<message>
<source>Download favicon</source>
@@ -4540,43 +4594,43 @@ Expect some bugs and minor issues, this version is not meant for production use.
</message>
<message>
<source>&amp;Export to HTML file...</source>
- <translation type="unfinished"/>
+ <translation>HTML 파ì¼ë¡œ 내보내기(&amp;E)...</translation>
</message>
<message>
<source>1Password Vault...</source>
- <translation type="unfinished"/>
+ <translation>1Password Vault...</translation>
</message>
<message>
<source>Import a 1Password Vault</source>
- <translation type="unfinished"/>
+ <translation>1Password Vault 가져오기</translation>
</message>
<message>
<source>&amp;Getting Started</source>
- <translation type="unfinished"/>
+ <translation>시작하기(&amp;G)</translation>
</message>
<message>
<source>Open Getting Started Guide PDF</source>
- <translation type="unfinished"/>
+ <translation>시작하기 ê°€ì´ë“œ PDF 열기</translation>
</message>
<message>
<source>&amp;Online Help...</source>
- <translation type="unfinished"/>
+ <translation>온ë¼ì¸ ë„움ë§(&amp;O)...</translation>
</message>
<message>
<source>Go to online documentation (opens browser)</source>
- <translation type="unfinished"/>
+ <translation>온ë¼ì¸ 문서 열기(웹 브ë¼ìš°ì €ë¡œ)</translation>
</message>
<message>
<source>&amp;User Guide</source>
- <translation type="unfinished"/>
+ <translation>ì‚¬ìš©ìž ê°€ì´ë“œ(&amp;U)</translation>
</message>
<message>
<source>Open User Guide PDF</source>
- <translation type="unfinished"/>
+ <translation>ì‚¬ìš©ìž ê°€ì´ë“œ PDF 열기</translation>
</message>
<message>
<source>&amp;Keyboard Shortcuts</source>
- <translation type="unfinished"/>
+ <translation>키보드 단축키(&amp;K)</translation>
</message>
</context>
<context>
@@ -4639,11 +4693,11 @@ Expect some bugs and minor issues, this version is not meant for production use.
</message>
<message>
<source>Removed custom data %1 [%2]</source>
- <translation type="unfinished"/>
+ <translation>ì‚¬ìš©ìž ì •ì˜ ë°ì´í„° %1[%2] ì‚­ì œë¨</translation>
</message>
<message>
<source>Adding custom data %1 [%2]</source>
- <translation type="unfinished"/>
+ <translation>ì‚¬ìš©ìž ì •ì˜ ë°ì´í„° %1[%2] 추가 중</translation>
</message>
</context>
<context>
@@ -4718,31 +4772,31 @@ Expect some bugs and minor issues, this version is not meant for production use.
<name>OpData01</name>
<message>
<source>Invalid OpData01, does not contain header</source>
- <translation type="unfinished"/>
+ <translation>ìž˜ëª»ëœ OpData01, í—¤ë” ì •ë³´ ì—†ìŒ</translation>
</message>
<message>
<source>Unable to read all IV bytes, wanted 16 but got %1</source>
- <translation type="unfinished"/>
+ <translation>모든 IV ë°”ì´íŠ¸ë¥¼ ì½ì„ 수 ì—†ìŒ, 16ë°”ì´íŠ¸ê°€ 필요하지만 %1ë°”ì´íŠ¸ë§Œ ë°›ìŒ</translation>
</message>
<message>
<source>Unable to init cipher for opdata01: %1</source>
- <translation type="unfinished"/>
+ <translation>opdata01ì˜ ì•”í˜¸í™”ë¥¼ 초기화할 수 ì—†ìŒ: %1</translation>
</message>
<message>
<source>Unable to read all HMAC signature bytes</source>
- <translation type="unfinished"/>
+ <translation>모든 HMAC 서명 ë°”ì´íŠ¸ë¥¼ ì½ì„ 수 ì—†ìŒ</translation>
</message>
<message>
<source>Malformed OpData01 due to a failed HMAC</source>
- <translation type="unfinished"/>
+ <translation>ìž˜ëª»ëœ OpData01, HMACì´ ìž˜ëª»ë¨</translation>
</message>
<message>
<source>Unable to process clearText in place</source>
- <translation type="unfinished"/>
+ <translation>위치ì—ì„œ 곧바로 clearText를 처리할 수 ì—†ìŒ</translation>
</message>
<message>
<source>Expected %1 bytes of clear-text, found %2</source>
- <translation type="unfinished"/>
+ <translation>í‰ë¬¸ 문ìžì—´ %1ë°”ì´íŠ¸ê°€ 필요하지만 %2ë°”ì´íŠ¸ë¥¼ ë°›ìŒ</translation>
</message>
</context>
<context>
@@ -4750,34 +4804,35 @@ Expect some bugs and minor issues, this version is not meant for production use.
<message>
<source>Read Database did not produce an instance
%1</source>
- <translation type="unfinished"/>
+ <translation>ë°ì´í„°ë² ì´ìŠ¤ ì½ê¸° ëª…ë ¹ì´ ì¸ìŠ¤í„´ìŠ¤ë¥¼ 반환하지 ì•ŠìŒ
+%1</translation>
</message>
</context>
<context>
<name>OpVaultReader</name>
<message>
<source>Directory .opvault must exist</source>
- <translation type="unfinished"/>
+ <translation>.opvault 디렉터리가 존재해야 함</translation>
</message>
<message>
<source>Directory .opvault must be readable</source>
- <translation type="unfinished"/>
+ <translation>.opvault 디렉터리를 ì½ì„ 수 있어야 함</translation>
</message>
<message>
<source>Directory .opvault/default must exist</source>
- <translation type="unfinished"/>
+ <translation>.opvault/default 디렉터리가 존재해야 함</translation>
</message>
<message>
<source>Directory .opvault/default must be readable</source>
- <translation type="unfinished"/>
+ <translation>.opvault/default 디렉터리를 ì½ì„ 수 있어야 함</translation>
</message>
<message>
<source>Unable to decode masterKey: %1</source>
- <translation type="unfinished"/>
+ <translation>masterKey를 디코드할 수 ì—†ìŒ: %1</translation>
</message>
<message>
<source>Unable to derive master key: %1</source>
- <translation type="unfinished"/>
+ <translation>마스터 키를 계산할 수 ì—†ìŒ: %1</translation>
</message>
</context>
<context>
@@ -4883,11 +4938,11 @@ Expect some bugs and minor issues, this version is not meant for production use.
<name>PasswordEdit</name>
<message>
<source>Passwords do not match</source>
- <translation type="unfinished"/>
+ <translation>암호가 ì¼ì¹˜í•˜ì§€ ì•ŠìŒ</translation>
</message>
<message>
<source>Passwords match so far</source>
- <translation type="unfinished"/>
+ <translation>암호가 ì¼ì¹˜í•¨</translation>
</message>
</context>
<context>
@@ -4918,19 +4973,19 @@ Expect some bugs and minor issues, this version is not meant for production use.
</message>
<message>
<source>Password field</source>
- <translation type="unfinished"/>
+ <translation>암호 필드</translation>
</message>
<message>
<source>Toggle password visibility</source>
- <translation type="unfinished"/>
+ <translation>암호 표시 여부 전환</translation>
</message>
<message>
<source>Repeat password field</source>
- <translation type="unfinished"/>
+ <translation>암호 í™•ì¸ í•„ë“œ</translation>
</message>
<message>
<source>Toggle password generator</source>
- <translation type="unfinished"/>
+ <translation>암호 ìƒì„±ê¸° 전환</translation>
</message>
</context>
<context>
@@ -5134,47 +5189,47 @@ Expect some bugs and minor issues, this version is not meant for production use.
</message>
<message>
<source>Generated password</source>
- <translation type="unfinished"/>
+ <translation>ìƒì„±ëœ 암호</translation>
</message>
<message>
<source>Upper-case letters</source>
- <translation type="unfinished"/>
+ <translation>대문ìž</translation>
</message>
<message>
<source>Lower-case letters</source>
- <translation type="unfinished"/>
+ <translation>소문ìž</translation>
</message>
<message>
<source>Special characters</source>
- <translation type="unfinished"/>
+ <translation>특수문ìž</translation>
</message>
<message>
<source>Math Symbols</source>
- <translation type="unfinished"/>
+ <translation>수학 기호</translation>
</message>
<message>
<source>Dashes and Slashes</source>
- <translation type="unfinished"/>
+ <translation>대시와 슬래시</translation>
</message>
<message>
<source>Excluded characters</source>
- <translation type="unfinished"/>
+ <translation>제외할 문ìž</translation>
</message>
<message>
<source>Hex Passwords</source>
- <translation type="unfinished"/>
+ <translation>16진 암호</translation>
</message>
<message>
<source>Password length</source>
- <translation type="unfinished"/>
+ <translation>암호 길ì´</translation>
</message>
<message>
<source>Word Case:</source>
- <translation type="unfinished"/>
+ <translation>대소문ìž:</translation>
</message>
<message>
<source>Regenerate password</source>
- <translation type="unfinished"/>
+ <translation>암호 다시 ìƒì„±</translation>
</message>
<message>
<source>Copy password</source>
@@ -5182,23 +5237,23 @@ Expect some bugs and minor issues, this version is not meant for production use.
</message>
<message>
<source>Accept password</source>
- <translation type="unfinished"/>
+ <translation>암호 수ë½</translation>
</message>
<message>
<source>lower case</source>
- <translation type="unfinished"/>
+ <translation>소문ìž</translation>
</message>
<message>
<source>UPPER CASE</source>
- <translation type="unfinished"/>
+ <translation>대문ìž</translation>
</message>
<message>
<source>Title Case</source>
- <translation type="unfinished"/>
+ <translation>제목 대문ìž(Title Case)</translation>
</message>
<message>
<source>Toggle password visibility</source>
- <translation type="unfinished"/>
+ <translation>암호 표시 여부 전환</translation>
</message>
</context>
<context>
@@ -5209,7 +5264,7 @@ Expect some bugs and minor issues, this version is not meant for production use.
</message>
<message>
<source>Statistics</source>
- <translation type="unfinished"/>
+ <translation>통계</translation>
</message>
</context>
<context>
@@ -5248,7 +5303,7 @@ Expect some bugs and minor issues, this version is not meant for production use.
</message>
<message>
<source>Continue</source>
- <translation type="unfinished"/>
+ <translation>계ì†</translation>
</message>
</context>
<context>
@@ -5659,7 +5714,7 @@ Available commands:
</message>
<message>
<source>Type: Sequence</source>
- <translation>형ì‹: 시퀀스</translation>
+ <translation>형ì‹: 순서</translation>
</message>
<message>
<source>Type: Spatial</source>
@@ -5695,7 +5750,7 @@ Available commands:
</message>
<message>
<source>Type: Sequence(Rep)</source>
- <translation>형ì‹: 시퀀스(반복)</translation>
+ <translation>형ì‹: 순서(반복)</translation>
</message>
<message>
<source>Type: Spatial(Rep)</source>
@@ -5943,23 +5998,23 @@ Available commands:
</message>
<message>
<source>Deactivate password key for the database.</source>
- <translation type="unfinished"/>
+ <translation>ë°ì´í„°ë² ì´ìŠ¤ì˜ 암호 키를 비활성화합니다.</translation>
</message>
<message>
<source>Displays debugging information.</source>
- <translation type="unfinished"/>
+ <translation>디버그 정보를 표시합니다.</translation>
</message>
<message>
<source>Deactivate password key for the database to merge from.</source>
- <translation type="unfinished"/>
+ <translation>í•©ì¹  ë°ì´í„°ë² ì´ìŠ¤ì˜ 암호 키를 비활성화합니다.</translation>
</message>
<message>
<source>Version %1</source>
- <translation type="unfinished"/>
+ <translation>버전 %1</translation>
</message>
<message>
<source>Build Type: %1</source>
- <translation type="unfinished"/>
+ <translation>빌드 형ì‹: %1</translation>
</message>
<message>
<source>Revision: %1</source>
@@ -5971,11 +6026,11 @@ Available commands:
</message>
<message>
<source>Debugging mode is disabled.</source>
- <translation type="unfinished"/>
+ <translation>디버그 모드가 비활성화ë˜ì—ˆìŠµë‹ˆë‹¤.</translation>
</message>
<message>
<source>Debugging mode is enabled.</source>
- <translation type="unfinished"/>
+ <translation>디버그 모드가 활성화ë˜ì—ˆìŠµë‹ˆë‹¤.</translation>
</message>
<message>
<source>Operating system: %1
@@ -5991,27 +6046,27 @@ CPU 아키í…처: %2
</message>
<message>
<source>KeeShare (signed and unsigned sharing)</source>
- <translation type="unfinished"/>
+ <translation>KeeShare(ì„œëª…ëœ ê³µìœ  ë° ì„œëª…ë˜ì§€ ì•Šì€ ê³µìœ )</translation>
</message>
<message>
<source>KeeShare (only signed sharing)</source>
- <translation type="unfinished"/>
+ <translation>KeeShare(ì„œëª…ëœ ê³µìœ ë§Œ)</translation>
</message>
<message>
<source>KeeShare (only unsigned sharing)</source>
- <translation type="unfinished"/>
+ <translation>KeeShare(서명ë˜ì§€ ì•Šì€ ê³µìœ ë§Œ)</translation>
</message>
<message>
<source>YubiKey</source>
- <translation type="unfinished"/>
+ <translation>YubiKey</translation>
</message>
<message>
<source>TouchID</source>
- <translation type="unfinished"/>
+ <translation>TouchID</translation>
</message>
<message>
<source>None</source>
- <translation type="unfinished"/>
+ <translation>ì—†ìŒ</translation>
</message>
<message>
<source>Enabled extensions:</source>
@@ -6019,151 +6074,151 @@ CPU 아키í…처: %2
</message>
<message>
<source>Cryptographic libraries:</source>
- <translation type="unfinished"/>
+ <translation>암호화 ë¼ì´ë¸ŒëŸ¬ë¦¬:</translation>
</message>
<message>
<source>Cannot generate a password and prompt at the same time!</source>
- <translation type="unfinished"/>
+ <translation>암호와 프롬프트를 ë™ì‹œì— ìƒì„±í•  수 없습니다!</translation>
</message>
<message>
<source>Adds a new group to a database.</source>
- <translation type="unfinished"/>
+ <translation>ë°ì´í„°ë² ì´ìŠ¤ì— 새 ê·¸ë£¹ì„ ì¶”ê°€í•©ë‹ˆë‹¤.</translation>
</message>
<message>
<source>Path of the group to add.</source>
- <translation type="unfinished"/>
+ <translation>추가할 ê·¸ë£¹ì˜ ê²½ë¡œìž…ë‹ˆë‹¤.</translation>
</message>
<message>
<source>Group %1 already exists!</source>
- <translation type="unfinished"/>
+ <translation>그룹 %1ì´(ê°€) ì´ë¯¸ 존재합니다!</translation>
</message>
<message>
<source>Group %1 not found.</source>
- <translation type="unfinished"/>
+ <translation>그룹 %1ì„(를) ì°¾ì„ ìˆ˜ 없습니다.</translation>
</message>
<message>
<source>Successfully added group %1.</source>
- <translation type="unfinished"/>
+ <translation>그룹 %1ì„(를) 추가했습니다.</translation>
</message>
<message>
<source>Check if any passwords have been publicly leaked. FILENAME must be the path of a file listing SHA-1 hashes of leaked passwords in HIBP format, as available from https://haveibeenpwned.com/Passwords.</source>
- <translation type="unfinished"/>
+ <translation>암호가 ìœ ì¶œëœ ì ì´ 있는지 검사합니다. íŒŒì¼ ì´ë¦„ì—는 HIBP 형ì‹ìœ¼ë¡œ ëœ ìœ ì¶œëœ ì•”í˜¸ì˜ SHA-1 해시가 ì €ìž¥ëœ íŒŒì¼ì„ 지정해야 합니다. https://haveibeenpwned.com/Passwords 사ì´íŠ¸ì—ì„œ 다운로드할 수 있습니다.</translation>
</message>
<message>
<source>FILENAME</source>
- <translation type="unfinished"/>
+ <translation>íŒŒì¼ ì´ë¦„</translation>
</message>
<message>
<source>Analyze passwords for weaknesses and problems.</source>
- <translation type="unfinished"/>
+ <translation>취약한 암호와 문제를 분ì„합니다.</translation>
</message>
<message>
<source>Failed to open HIBP file %1: %2</source>
- <translation type="unfinished"/>
+ <translation>HIBP íŒŒì¼ %1ì„(를) ì—´ 수 ì—†ìŒ: %2</translation>
</message>
<message>
<source>Evaluating database entries against HIBP file, this will take a while...</source>
- <translation type="unfinished"/>
+ <translation>ë°ì´í„°ë² ì´ìŠ¤ 항목과 HIBP 파ì¼ì„ 분ì„하고 있습니다. ìž ì‹œ 기다려 주십시오...</translation>
</message>
<message>
<source>Close the currently opened database.</source>
- <translation type="unfinished"/>
+ <translation>현재 열린 ë°ì´í„°ë² ì´ìŠ¤ë¥¼ 닫습니다.</translation>
</message>
<message>
<source>Display this help.</source>
- <translation type="unfinished"/>
+ <translation>ì´ ë„움ë§ì„ 표시합니다.</translation>
</message>
<message>
<source>Yubikey slot used to encrypt the database.</source>
- <translation type="unfinished"/>
+ <translation>ë°ì´í„°ë² ì´ìŠ¤ë¥¼ 암호화할 ë•Œ 사용할 YubiKey 슬롯입니다.</translation>
</message>
<message>
<source>slot</source>
- <translation type="unfinished"/>
+ <translation>슬롯</translation>
</message>
<message>
<source>Invalid word count %1</source>
- <translation type="unfinished"/>
+ <translation>ìž˜ëª»ëœ ë‹¨ì–´ 개수 %1</translation>
</message>
<message>
<source>The word list is too small (&lt; 1000 items)</source>
- <translation type="unfinished"/>
+ <translation>단어 목ë¡ì´ 너무 ìž‘ìŒ(1000ê°œ 미만)</translation>
</message>
<message>
<source>Exit interactive mode.</source>
- <translation type="unfinished"/>
+ <translation>대화형 모드를 종료합니다.</translation>
</message>
<message>
<source>Format to use when exporting. Available choices are xml or csv. Defaults to xml.</source>
- <translation type="unfinished"/>
+ <translation>내보낼 ë•Œ 사용할 형ì‹ìž…니다. xmlê³¼ csv 형ì‹ì„ 사용할 수 있으며 ê¸°ë³¸ê°’ì€ xml입니다.</translation>
</message>
<message>
<source>Exports the content of a database to standard output in the specified format.</source>
- <translation type="unfinished"/>
+ <translation>ë°ì´í„°ë² ì´ìŠ¤ ë‚´ìš©ì„ ì§€ì •í•œ 형ì‹ìœ¼ë¡œ 표준 출력으로 내보냅니다.</translation>
</message>
<message>
<source>Unable to export database to XML: %1</source>
- <translation type="unfinished"/>
+ <translation>XMLë¡œ ë°ì´í„°ë² ì´ìŠ¤ë¥¼ 내보낼 수 ì—†ìŒ: %1</translation>
</message>
<message>
<source>Unsupported format %1</source>
- <translation type="unfinished"/>
+ <translation>지ì›í•˜ì§€ 않는 형ì‹: %1</translation>
</message>
<message>
<source>Use numbers</source>
- <translation type="unfinished"/>
+ <translation>ìˆ«ìž ì‚¬ìš©</translation>
</message>
<message>
<source>Invalid password length %1</source>
- <translation type="unfinished"/>
+ <translation>ìž˜ëª»ëœ ì•”í˜¸ 길ì´: %1</translation>
</message>
<message>
<source>Display command help.</source>
- <translation type="unfinished"/>
+ <translation>명령 ë„움ë§ì„ 표시합니다.</translation>
</message>
<message>
<source>Available commands:</source>
- <translation type="unfinished"/>
+ <translation>사용 가능한 명령:</translation>
</message>
<message>
<source>Import the contents of an XML database.</source>
- <translation type="unfinished"/>
+ <translation>XML ë°ì´í„°ë² ì´ìŠ¤ì˜ ë‚´ìš©ì„ ê°€ì ¸ì˜µë‹ˆë‹¤.</translation>
</message>
<message>
<source>Path of the XML database export.</source>
- <translation type="unfinished"/>
+ <translation>XMLë¡œ ë°ì´í„°ë² ì´ìŠ¤ë¥¼ 내보낼 경로입니다.</translation>
</message>
<message>
<source>Path of the new database.</source>
- <translation type="unfinished"/>
+ <translation>새 ë°ì´í„°ë² ì´ìŠ¤ì˜ 경로입니다.</translation>
</message>
<message>
<source>Unable to import XML database export %1</source>
- <translation type="unfinished"/>
+ <translation>XML ë°ì´í„°ë² ì´ìŠ¤ 내보내기 íŒŒì¼ %1ì„(를) 가져올 수 ì—†ìŒ</translation>
</message>
<message>
<source>Successfully imported database.</source>
- <translation type="unfinished"/>
+ <translation>ë°ì´í„°ë² ì´ìŠ¤ë¥¼ 가져왔습니다.</translation>
</message>
<message>
<source>Unknown command %1</source>
- <translation type="unfinished"/>
+ <translation>알 수 없는 명령 %1</translation>
</message>
<message>
<source>Flattens the output to single lines.</source>
- <translation type="unfinished"/>
+ <translation>ì¶œë ¥ì„ í•œ 줄로 합칩니다.</translation>
</message>
<message>
<source>Only print the changes detected by the merge operation.</source>
- <translation type="unfinished"/>
+ <translation>합치기 작업으로 변경할 사항만 출력합니다.</translation>
</message>
<message>
<source>Yubikey slot for the second database.</source>
- <translation type="unfinished"/>
+ <translation>ë‘ ë²ˆì§¸ ë°ì´í„°ë² ì´ìŠ¤ì˜ YubiKey 슬롯입니다.</translation>
</message>
<message>
<source>Successfully merged %1 into %2.</source>
- <translation type="unfinished"/>
+ <translation>%1ì„(를) %2(으)ë¡œ 합쳤습니다.</translation>
</message>
<message>
<source>Database was not modified by merge operation.</source>
@@ -6171,98 +6226,102 @@ CPU 아키í…처: %2
</message>
<message>
<source>Moves an entry to a new group.</source>
- <translation type="unfinished"/>
+ <translation>í•­ëª©ì„ ìƒˆ 그룹으로 ì´ë™í•©ë‹ˆë‹¤.</translation>
</message>
<message>
<source>Path of the entry to move.</source>
- <translation type="unfinished"/>
+ <translation>ì´ë™í•  í•­ëª©ì˜ ê²½ë¡œìž…ë‹ˆë‹¤.</translation>
</message>
<message>
<source>Path of the destination group.</source>
- <translation type="unfinished"/>
+ <translation>ëŒ€ìƒ ê·¸ë£¹ì˜ ê²½ë¡œìž…ë‹ˆë‹¤.</translation>
</message>
<message>
<source>Could not find group with path %1.</source>
- <translation type="unfinished"/>
+ <translation>경로 %1ì—ì„œ ê·¸ë£¹ì„ ì°¾ì„ ìˆ˜ 없습니다.</translation>
</message>
<message>
<source>Entry is already in group %1.</source>
- <translation type="unfinished"/>
+ <translation>경로 %1ì— í•­ëª©ì´ ì´ë¯¸ 있습니다.</translation>
</message>
<message>
<source>Successfully moved entry %1 to group %2.</source>
- <translation type="unfinished"/>
+ <translation>항목 %1ì„(를) 그룹 %2(으)ë¡œ ì´ë™í–ˆìŠµë‹ˆë‹¤.</translation>
</message>
<message>
<source>Open a database.</source>
- <translation type="unfinished"/>
+ <translation>ë°ì´í„°ë² ì´ìŠ¤ë¥¼ 엽니다.</translation>
</message>
<message>
<source>Path of the group to remove.</source>
- <translation type="unfinished"/>
+ <translation>삭제할 ê·¸ë£¹ì˜ ê²½ë¡œìž…ë‹ˆë‹¤.</translation>
</message>
<message>
<source>Cannot remove root group from database.</source>
- <translation type="unfinished"/>
+ <translation>ë°ì´í„°ë² ì´ìŠ¤ 루트 ê·¸ë£¹ì„ ì‚­ì œí•  수 없습니다.</translation>
</message>
<message>
<source>Successfully recycled group %1.</source>
- <translation type="unfinished"/>
+ <translation>그룹 %1ì„(를) 휴지통으로 ì´ë™í–ˆìŠµë‹ˆë‹¤.</translation>
</message>
<message>
<source>Successfully deleted group %1.</source>
- <translation type="unfinished"/>
+ <translation>그룹 %1ì„(를) 삭제했습니다.</translation>
</message>
<message>
<source>Failed to open database file %1: not found</source>
- <translation type="unfinished"/>
+ <translation>ë°ì´í„°ë² ì´ìŠ¤ íŒŒì¼ %1ì„(를) ì—´ 수 ì—†ìŒ: ì°¾ì„ ìˆ˜ ì—†ìŒ</translation>
</message>
<message>
<source>Failed to open database file %1: not a plain file</source>
- <translation type="unfinished"/>
+ <translation>ë°ì´í„°ë² ì´ìŠ¤ íŒŒì¼ %1ì„(를) ì—´ 수 ì—†ìŒ: ì¼ë°˜ 파ì¼ì´ 아님</translation>
</message>
<message>
<source>Failed to open database file %1: not readable</source>
- <translation type="unfinished"/>
+ <translation>ë°ì´í„°ë² ì´ìŠ¤ íŒŒì¼ %1ì„(를) ì—´ 수 ì—†ìŒ: ì½ì„ 수 ì—†ìŒ</translation>
</message>
<message>
<source>Enter password to unlock %1: </source>
- <translation type="unfinished"/>
+ <translation>%1ì˜ ìž ê¸ˆ í•´ì œ 암호 ìž…ë ¥:</translation>
</message>
<message>
<source>Invalid YubiKey slot %1</source>
- <translation type="unfinished"/>
+ <translation>ìž˜ëª»ëœ YubiKey 슬롯 %1</translation>
</message>
<message>
<source>Please touch the button on your YubiKey to unlock %1</source>
- <translation type="unfinished"/>
+ <translation>%1ì˜ ìž ê¸ˆì„ í•´ì œí•˜ë ¤ë©´ YubiKeyì˜ ë‹¨ì¶”ë¥¼ 누르십시오</translation>
</message>
<message>
<source>Enter password to encrypt database (optional): </source>
- <translation type="unfinished"/>
+ <translation>ë°ì´í„°ë² ì´ìŠ¤ë¥¼ 암호화할 암호 ìž…ë ¥(ì„ íƒ ì‚¬í•­):</translation>
</message>
<message>
<source>HIBP file, line %1: parse error</source>
- <translation type="unfinished"/>
+ <translation>HIBP íŒŒì¼ %1줄: 처리 오류</translation>
</message>
<message>
<source>Secret Service Integration</source>
- <translation type="unfinished"/>
+ <translation>비밀 서비스 통합</translation>
</message>
<message>
<source>User name</source>
- <translation type="unfinished"/>
+ <translation>ì‚¬ìš©ìž ì´ë¦„</translation>
</message>
<message>
<source>%1[%2] Challenge Response - Slot %3 - %4</source>
- <translation type="unfinished"/>
+ <translation>%1[%2] ì§ˆì˜ ì‘답 - 슬롯 %3 - %4</translation>
</message>
<message numerus="yes">
<source>Password for &apos;%1&apos; has been leaked %2 time(s)!</source>
- <translation type="unfinished"><numerusform></numerusform></translation>
+ <translation><numerusform>&apos;%1&apos;ì˜ ì•”í˜¸ê°€ %2회 유출ë˜ì—ˆìŠµë‹ˆë‹¤!</numerusform></translation>
</message>
<message>
<source>Invalid password generator after applying all options</source>
+ <translation>모든 ì˜µì…˜ì„ ì ìš©í–ˆì„ ë•Œ 암호 ìƒì„±ê¸°ê°€ 잘못ë¨</translation>
+ </message>
+ <message>
+ <source>Show the protected attributes in clear text.</source>
<translation type="unfinished"/>
</message>
</context>
@@ -6422,11 +6481,11 @@ CPU 아키í…처: %2
<name>SettingsWidgetFdoSecrets</name>
<message>
<source>Options</source>
- <translation type="unfinished"/>
+ <translation>옵션</translation>
</message>
<message>
<source>Enable KeepassXC Freedesktop.org Secret Service integration</source>
- <translation type="unfinished"/>
+ <translation>KeePassXC Freedesktop.org 비밀 서비스 통합 사용</translation>
</message>
<message>
<source>General</source>
@@ -6434,23 +6493,23 @@ CPU 아키í…처: %2
</message>
<message>
<source>Show notification when credentials are requested</source>
- <translation type="unfinished"/>
+ <translation>ì¸ì¦ ì •ë³´ê°€ 필요할 ë•Œ 알림 표시</translation>
</message>
<message>
<source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;If recycle bin is enabled for the database, entries will be moved to recycle bin directly. Otherwise, they will be deleted without confirmation.&lt;/p&gt;&lt;p&gt;You will still be prompted if any entries are referenced by others.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
- <translation type="unfinished"/>
+ <translation>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;ë°ì´í„°ë² ì´ìŠ¤ì˜ íœ´ì§€í†µì„ í™œì„±í™”í•˜ë©´ í•­ëª©ì„ íœ´ì§€í†µìœ¼ë¡œ ì´ë™í•©ë‹ˆë‹¤. 그렇지 않으면 확ì¸í•˜ì§€ ì•Šê³  삭제합니다.&lt;/p&gt;&lt;p&gt;다른 항목ì—ì„œ 삭제할 í•­ëª©ì„ ì°¸ì¡°í•  ë•Œì—는 ê³„ì† í™•ì¸ ëŒ€í™”ìƒìžë¥¼ 표시합니다.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
</message>
<message>
<source>Don&apos;t confirm when entries are deleted by clients.</source>
- <translation type="unfinished"/>
+ <translation>í´ë¼ì´ì–¸íŠ¸ì—ì„œ í•­ëª©ì„ ì‚­ì œí•  ë•Œ 확ì¸í•˜ì§€ 않습니다.</translation>
</message>
<message>
<source>Exposed database groups:</source>
- <translation type="unfinished"/>
+ <translation>내보낼 ë°ì´í„°ë² ì´ìŠ¤ 그룹:</translation>
</message>
<message>
<source>File Name</source>
- <translation type="unfinished"/>
+ <translation>íŒŒì¼ ì´ë¦„</translation>
</message>
<message>
<source>Group</source>
@@ -6458,23 +6517,23 @@ CPU 아키í…처: %2
</message>
<message>
<source>Manage</source>
- <translation type="unfinished"/>
+ <translation>관리</translation>
</message>
<message>
<source>Authorization</source>
- <translation type="unfinished"/>
+ <translation>ì¸ì¦</translation>
</message>
<message>
<source>These applications are currently connected:</source>
- <translation type="unfinished"/>
+ <translation>ë‹¤ìŒ í”„ë¡œê·¸ëž¨ì´ ì—°ê²°ë˜ì–´ 있습니다:</translation>
</message>
<message>
<source>Application</source>
- <translation type="unfinished"/>
+ <translation>프로그램</translation>
</message>
<message>
<source>Disconnect</source>
- <translation type="unfinished"/>
+ <translation>연결 해제</translation>
</message>
<message>
<source>Database settings</source>
@@ -6482,7 +6541,7 @@ CPU 아키í…처: %2
</message>
<message>
<source>Edit database settings</source>
- <translation type="unfinished"/>
+ <translation>ë°ì´í„°ë² ì´ìŠ¤ 설정 편집</translation>
</message>
<message>
<source>Unlock database</source>
@@ -6490,7 +6549,7 @@ CPU 아키í…처: %2
</message>
<message>
<source>Unlock database to show more information</source>
- <translation type="unfinished"/>
+ <translation>ë” ë§Žì€ ì •ë³´ë¥¼ 보려면 ë°ì´í„°ë² ì´ìŠ¤ ìž ê¸ˆì„ í•´ì œí•˜ì‹­ì‹œì˜¤</translation>
</message>
<message>
<source>Lock database</source>
@@ -6498,11 +6557,11 @@ CPU 아키í…처: %2
</message>
<message>
<source>Unlock to show</source>
- <translation type="unfinished"/>
+ <translation>잠금 해제해서 보기</translation>
</message>
<message>
<source>None</source>
- <translation type="unfinished"/>
+ <translation>ì—†ìŒ</translation>
</message>
</context>
<context>
@@ -6630,15 +6689,15 @@ CPU 아키í…처: %2
</message>
<message>
<source>Allow KeeShare imports</source>
- <translation type="unfinished"/>
+ <translation>KeeShare 가져오기 허용</translation>
</message>
<message>
<source>Allow KeeShare exports</source>
- <translation type="unfinished"/>
+ <translation>KeeShare 내보내기 허용</translation>
</message>
<message>
<source>Only show warnings and errors</source>
- <translation type="unfinished"/>
+ <translation>경고와 오류만 표시</translation>
</message>
<message>
<source>Key</source>
@@ -6646,39 +6705,39 @@ CPU 아키í…처: %2
</message>
<message>
<source>Signer name field</source>
- <translation type="unfinished"/>
+ <translation>ì„œëª…ìž ì´ë¦„ í•„ë“œ</translation>
</message>
<message>
<source>Generate new certificate</source>
- <translation type="unfinished"/>
+ <translation>새 ì¸ì¦ì„œ ìƒì„±</translation>
</message>
<message>
<source>Import existing certificate</source>
- <translation type="unfinished"/>
+ <translation>기존 ì¸ì¦ì„œ 가져오기</translation>
</message>
<message>
<source>Export own certificate</source>
- <translation type="unfinished"/>
+ <translation>ë‚´ ì¸ì¦ì„œ 내보내기</translation>
</message>
<message>
<source>Known shares</source>
- <translation type="unfinished"/>
+ <translation>알려진 공유</translation>
</message>
<message>
<source>Trust selected certificate</source>
- <translation type="unfinished"/>
+ <translation>ì„ íƒí•œ ì¸ì¦ì„œ 신뢰</translation>
</message>
<message>
<source>Ask whether to trust the selected certificate every time</source>
- <translation type="unfinished"/>
+ <translation>ì„ íƒí•œ ì¸ì¦ì„œë¥¼ 신뢰할지 í•­ìƒ ë¬»ê¸°</translation>
</message>
<message>
<source>Untrust selected certificate</source>
- <translation type="unfinished"/>
+ <translation>ì„ íƒí•œ ì¸ì¦ì„œ 신뢰 í•´ì œ</translation>
</message>
<message>
<source>Remove selected certificate</source>
- <translation type="unfinished"/>
+ <translation>ì„ íƒí•œ ì¸ì¦ì„œ ì‚­ì œ</translation>
</message>
</context>
<context>
@@ -6906,15 +6965,15 @@ CPU 아키í…처: %2
</message>
<message>
<source>Secret Key:</source>
- <translation type="unfinished"/>
+ <translation>비밀 키:</translation>
</message>
<message>
<source>Secret key must be in Base32 format</source>
- <translation type="unfinished"/>
+ <translation>비밀 키는 Base32 형ì‹ì´ì–´ì•¼ 함</translation>
</message>
<message>
<source>Secret key field</source>
- <translation type="unfinished"/>
+ <translation>비밀 키 필드</translation>
</message>
<message>
<source>Algorithm:</source>
@@ -6922,28 +6981,29 @@ CPU 아키í…처: %2
</message>
<message>
<source>Time step field</source>
- <translation type="unfinished"/>
+ <translation>시간 단계 필드</translation>
</message>
<message>
<source> digits</source>
- <translation type="unfinished"/>
+ <translation>ìžë¦¬</translation>
</message>
<message>
<source>Invalid TOTP Secret</source>
- <translation type="unfinished"/>
+ <translation>ìž˜ëª»ëœ TOTP 비밀 ê°’</translation>
</message>
<message>
<source>You have entered an invalid secret key. The key must be in Base32 format.
Example: JBSWY3DPEHPK3PXP</source>
- <translation type="unfinished"/>
+ <translation>ìž˜ëª»ëœ ë¹„ë°€ 키를 입력했습니다. 키는 Base32 형ì‹ì´ì–´ì•¼ 합니다.
+예: JBSWY3DPEHPK3PXP</translation>
</message>
<message>
<source>Confirm Remove TOTP Settings</source>
- <translation type="unfinished"/>
+ <translation>TOTP 설정 ì‚­ì œ 확ì¸</translation>
</message>
<message>
<source>Are you sure you want to delete TOTP settings for this entry?</source>
- <translation type="unfinished"/>
+ <translation>ì´ í•­ëª©ì˜ TOTP ì„¤ì •ì„ ì‚­ì œí•˜ì‹œê² ìŠµë‹ˆê¹Œ?</translation>
</message>
</context>
<context>
@@ -7029,11 +7089,11 @@ Example: JBSWY3DPEHPK3PXP</source>
</message>
<message>
<source>Import from 1Password</source>
- <translation type="unfinished"/>
+ <translation>1Passwordì—ì„œ 가져오기</translation>
</message>
<message>
<source>Open a recent database</source>
- <translation type="unfinished"/>
+ <translation>최근 ë°ì´í„°ë² ì´ìŠ¤ 열기</translation>
</message>
</context>
<context>
@@ -7060,11 +7120,11 @@ Example: JBSWY3DPEHPK3PXP</source>
</message>
<message>
<source>Refresh hardware tokens</source>
- <translation type="unfinished"/>
+ <translation>하드웨어 í† í° ìƒˆë¡œ 고침</translation>
</message>
<message>
<source>Hardware key slot selection</source>
- <translation type="unfinished"/>
+ <translation>하드웨어 키 슬롯 ì„ íƒ</translation>
</message>
</context>
</TS> \ No newline at end of file
diff --git a/share/translations/keepassx_lt.ts b/share/translations/keepassx_lt.ts
index 2508cd510..6f22bd656 100644
--- a/share/translations/keepassx_lt.ts
+++ b/share/translations/keepassx_lt.ts
@@ -444,6 +444,14 @@
<source>This Auto-Type command contains arguments which are repeated very often. Do you really want to proceed?</source>
<translation type="unfinished"/>
</message>
+ <message>
+ <source>Permission Required</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>KeePassXC requires the Accessibility permission in order to perform entry level Auto-Type. If you already granted permission, you may have to restart KeePassXC.</source>
+ <translation type="unfinished"/>
+ </message>
</context>
<context>
<name>AutoTypeAssociationsModel</name>
@@ -491,6 +499,17 @@
</message>
</context>
<context>
+ <name>AutoTypePlatformMac</name>
+ <message>
+ <source>Permission Required</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>KeePassXC requires the Accessibility and Screen Recorder permission in order to perform global Auto-Type. Screen Recording is necessary to use the window title to find entries. If you already granted permission, you may have to restart KeePassXC.</source>
+ <translation type="unfinished"/>
+ </message>
+</context>
+<context>
<name>AutoTypeSelectDialog</name>
<message>
<source>Auto-Type - KeePassXC</source>
@@ -774,13 +793,6 @@ Prisijungimo duomenų įrašymui, pasirinkite teisingą duomenų bazę.</transla
<translation>KeePassXC: Naujo rakto susiejimo užklausa</translation>
</message>
<message>
- <source>You have received an association request for the above key.
-
-If you would like to allow it access to your KeePassXC database,
-give it a unique name to identify and accept it.</source>
- <translation type="unfinished"/>
- </message>
- <message>
<source>Save and allow access</source>
<translation>Įrašyti ir leisti prieigą</translation>
</message>
@@ -856,6 +868,14 @@ Would you like to migrate your existing settings now?</source>
<source>Don&apos;t show this warning again</source>
<translation>Daugiau neberodyti šio įspėjimo</translation>
</message>
+ <message>
+ <source>You have received an association request for the following database:
+%1
+
+Give the connection a unique name or ID, for example:
+chrome-laptop.</source>
+ <translation type="unfinished"/>
+ </message>
</context>
<context>
<name>CloneDialog</name>
@@ -1118,10 +1138,6 @@ Please consider generating a new key file.</source>
<translation type="unfinished"/>
</message>
<message>
- <source>Enter Additional Credentials:</source>
- <translation type="unfinished"/>
- </message>
- <message>
<source>Key file selection</source>
<translation type="unfinished"/>
</message>
@@ -1146,11 +1162,6 @@ Please consider generating a new key file.</source>
<translation type="unfinished"/>
</message>
<message>
- <source>&lt;p&gt;You can use a hardware security key such as a &lt;strong&gt;YubiKey&lt;/strong&gt; or &lt;strong&gt;OnlyKey&lt;/strong&gt; with slots configured for HMAC-SHA1.&lt;/p&gt;
- &lt;p&gt;Click for more information...&lt;/p&gt;</source>
- <translation type="unfinished"/>
- </message>
- <message>
<source>Hardware key help</source>
<translation type="unfinished"/>
</message>
@@ -1167,10 +1178,6 @@ Please consider generating a new key file.</source>
<translation type="unfinished"/>
</message>
<message>
- <source>Select file...</source>
- <translation type="unfinished"/>
- </message>
- <message>
<source>Unlock failed and no password given</source>
<translation type="unfinished"/>
</message>
@@ -1185,6 +1192,40 @@ To prevent this error from appearing, you must go to &quot;Database Settings / S
<source>Retry with empty password</source>
<translation type="unfinished"/>
</message>
+ <message>
+ <source>Enter Additional Credentials (if any):</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>&lt;p&gt;You can use a hardware security key such as a &lt;strong&gt;YubiKey&lt;/strong&gt; or &lt;strong&gt;OnlyKey&lt;/strong&gt; with slots configured for HMAC-SHA1.&lt;/p&gt;
+&lt;p&gt;Click for more information...&lt;/p&gt;</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>&lt;p&gt;In addition to your master password, you can use a secret file to enhance the security of your database. Such a file can be generated in your database&apos;s security settings.&lt;/p&gt;&lt;p&gt;This is &lt;strong&gt;not&lt;/strong&gt; your *.kdbx database file!&lt;br&gt;If you do not have a key file, leave the field empty.&lt;/p&gt;&lt;p&gt;Click for more information...&lt;/p&gt;</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Key file help</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>?</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Select key file...</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Cannot use database file as key file</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>You cannot use your database file as a key file.
+If you do not have a key file, please leave the field empty.</source>
+ <translation type="unfinished"/>
+ </message>
</context>
<context>
<name>DatabaseSettingWidgetMetaData</name>
@@ -1814,6 +1855,10 @@ Are you sure you want to continue without a password?</source>
<source>Average password length is less than ten characters. Longer passwords provide more security.</source>
<translation type="unfinished"/>
</message>
+ <message>
+ <source>Please wait, database statistics are being calculated...</source>
+ <translation type="unfinished"/>
+ </message>
</context>
<context>
<name>DatabaseTabWidget</name>
@@ -6226,6 +6271,10 @@ Branduolys: %3 %4</translation>
<source>Invalid password generator after applying all options</source>
<translation type="unfinished"/>
</message>
+ <message>
+ <source>Show the protected attributes in clear text.</source>
+ <translation type="unfinished"/>
+ </message>
</context>
<context>
<name>QtIOCompressor</name>
diff --git a/share/translations/keepassx_nb.ts b/share/translations/keepassx_nb.ts
index 0c71bc6a3..43123408a 100644
--- a/share/translations/keepassx_nb.ts
+++ b/share/translations/keepassx_nb.ts
@@ -444,6 +444,14 @@
<source>This Auto-Type command contains arguments which are repeated very often. Do you really want to proceed?</source>
<translation>Denne autoskriv-kommandoen inneholder argument som gjentas svært hyppig. Vil du virkelig fortsette?</translation>
</message>
+ <message>
+ <source>Permission Required</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>KeePassXC requires the Accessibility permission in order to perform entry level Auto-Type. If you already granted permission, you may have to restart KeePassXC.</source>
+ <translation type="unfinished"/>
+ </message>
</context>
<context>
<name>AutoTypeAssociationsModel</name>
@@ -491,6 +499,17 @@
</message>
</context>
<context>
+ <name>AutoTypePlatformMac</name>
+ <message>
+ <source>Permission Required</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>KeePassXC requires the Accessibility and Screen Recorder permission in order to perform global Auto-Type. Screen Recording is necessary to use the window title to find entries. If you already granted permission, you may have to restart KeePassXC.</source>
+ <translation type="unfinished"/>
+ </message>
+</context>
+<context>
<name>AutoTypeSelectDialog</name>
<message>
<source>Auto-Type - KeePassXC</source>
@@ -774,15 +793,6 @@ Vennligst velg riktig database for å lagre legitimasjon.</translation>
<translation>KeePassXC: Tilknytningsforespørsel for ny nøkkel.</translation>
</message>
<message>
- <source>You have received an association request for the above key.
-
-If you would like to allow it access to your KeePassXC database,
-give it a unique name to identify and accept it.</source>
- <translation>Du har mottatt en tilknytningsforespørsel for den ovennevnte nøkkelen.
-
-Gi den et unikt navn dersom du vil gi den tilgang til KeePassXC-databasen.</translation>
- </message>
- <message>
<source>Save and allow access</source>
<translation>Lagre og tillat aksess</translation>
</message>
@@ -857,6 +867,14 @@ Would you like to migrate your existing settings now?</source>
<source>Don&apos;t show this warning again</source>
<translation>Ikke vis denne advarselen igjen</translation>
</message>
+ <message>
+ <source>You have received an association request for the following database:
+%1
+
+Give the connection a unique name or ID, for example:
+chrome-laptop.</source>
+ <translation type="unfinished"/>
+ </message>
</context>
<context>
<name>CloneDialog</name>
@@ -1121,10 +1139,6 @@ Vurder å opprette en ny nøkkelfil.</translation>
<translation type="unfinished"/>
</message>
<message>
- <source>Enter Additional Credentials:</source>
- <translation type="unfinished"/>
- </message>
- <message>
<source>Key file selection</source>
<translation type="unfinished"/>
</message>
@@ -1149,11 +1163,6 @@ Vurder å opprette en ny nøkkelfil.</translation>
<translation type="unfinished"/>
</message>
<message>
- <source>&lt;p&gt;You can use a hardware security key such as a &lt;strong&gt;YubiKey&lt;/strong&gt; or &lt;strong&gt;OnlyKey&lt;/strong&gt; with slots configured for HMAC-SHA1.&lt;/p&gt;
- &lt;p&gt;Click for more information...&lt;/p&gt;</source>
- <translation type="unfinished"/>
- </message>
- <message>
<source>Hardware key help</source>
<translation type="unfinished"/>
</message>
@@ -1170,10 +1179,6 @@ Vurder å opprette en ny nøkkelfil.</translation>
<translation type="unfinished"/>
</message>
<message>
- <source>Select file...</source>
- <translation type="unfinished"/>
- </message>
- <message>
<source>Unlock failed and no password given</source>
<translation type="unfinished"/>
</message>
@@ -1188,6 +1193,40 @@ To prevent this error from appearing, you must go to &quot;Database Settings / S
<source>Retry with empty password</source>
<translation type="unfinished"/>
</message>
+ <message>
+ <source>Enter Additional Credentials (if any):</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>&lt;p&gt;You can use a hardware security key such as a &lt;strong&gt;YubiKey&lt;/strong&gt; or &lt;strong&gt;OnlyKey&lt;/strong&gt; with slots configured for HMAC-SHA1.&lt;/p&gt;
+&lt;p&gt;Click for more information...&lt;/p&gt;</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>&lt;p&gt;In addition to your master password, you can use a secret file to enhance the security of your database. Such a file can be generated in your database&apos;s security settings.&lt;/p&gt;&lt;p&gt;This is &lt;strong&gt;not&lt;/strong&gt; your *.kdbx database file!&lt;br&gt;If you do not have a key file, leave the field empty.&lt;/p&gt;&lt;p&gt;Click for more information...&lt;/p&gt;</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Key file help</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>?</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Select key file...</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Cannot use database file as key file</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>You cannot use your database file as a key file.
+If you do not have a key file, please leave the field empty.</source>
+ <translation type="unfinished"/>
+ </message>
</context>
<context>
<name>DatabaseSettingWidgetMetaData</name>
@@ -1823,6 +1862,10 @@ Er du sikker på at du vil fortsette uten passord?</translation>
<source>Average password length is less than ten characters. Longer passwords provide more security.</source>
<translation type="unfinished"/>
</message>
+ <message>
+ <source>Please wait, database statistics are being calculated...</source>
+ <translation type="unfinished"/>
+ </message>
</context>
<context>
<name>DatabaseTabWidget</name>
@@ -6243,6 +6286,10 @@ Kjerne: %3 %4</translation>
<source>Invalid password generator after applying all options</source>
<translation type="unfinished"/>
</message>
+ <message>
+ <source>Show the protected attributes in clear text.</source>
+ <translation type="unfinished"/>
+ </message>
</context>
<context>
<name>QtIOCompressor</name>
diff --git a/share/translations/keepassx_nl_NL.ts b/share/translations/keepassx_nl_NL.ts
index 49feaec0b..a2ed92b0e 100644
--- a/share/translations/keepassx_nl_NL.ts
+++ b/share/translations/keepassx_nl_NL.ts
@@ -11,7 +11,7 @@
</message>
<message>
<source>Report bugs at: &lt;a href=&quot;https://github.com/keepassxreboot/keepassxc/issues&quot; style=&quot;text-decoration: underline;&quot;&gt;https://github.com&lt;/a&gt;</source>
- <translation>Meld bugs op: &lt;a href=&quot;https://github.com/keepassxreboot/keepassxc/issues&quot; style=&quot;text-decoration: underline;&quot;&gt; https://github.com&lt;/a&gt;</translation>
+ <translation>Meld problemen op: &lt;a href=&quot;https://github.com/keepassxreboot/keepassxc/issues&quot; style=&quot;text-decoration: underline;&quot;&gt;https://github.com&lt;/a&gt;</translation>
</message>
<message>
<source>KeePassXC is distributed under the terms of the GNU General Public License (GPL) version 2 or (at your option) version 3.</source>
@@ -23,15 +23,15 @@
</message>
<message>
<source>&lt;a href=&quot;https://github.com/keepassxreboot/keepassxc/graphs/contributors&quot;&gt;See Contributions on GitHub&lt;/a&gt;</source>
- <translation>&lt;a href=&quot;https://github.com/keepassxreboot/keepassxc/graphs/contributors&quot;&gt;Toon bijdragen op GitHub&lt;/a&gt;</translation>
+ <translation>&lt;a href=&quot;https://github.com/keepassxreboot/keepassxc/graphs/contributors&quot;&gt;Zie bijdragen op GitHub&lt;/a&gt;</translation>
</message>
<message>
<source>Debug Info</source>
- <translation>Debuginformatie</translation>
+ <translation>Foutopsporingsinformatie</translation>
</message>
<message>
<source>Include the following information whenever you report a bug:</source>
- <translation>Voeg de volgende informatie bij het bugrapport:</translation>
+ <translation>Voeg de volgende informatie bij de foutrapportage:</translation>
</message>
<message>
<source>Copy to clipboard</source>
@@ -61,7 +61,7 @@
<name>ApplicationSettingsWidget</name>
<message>
<source>Application Settings</source>
- <translation>Programma instellingen</translation>
+ <translation>Programma-instellingen</translation>
</message>
<message>
<source>General</source>
@@ -120,7 +120,7 @@
</message>
<message>
<source>Minimize window at application startup</source>
- <translation>Scherm minimaliseren bij het opstarten</translation>
+ <translation>Venster minimaliseren bij het opstarten</translation>
</message>
<message>
<source>File Management</source>
@@ -128,7 +128,7 @@
</message>
<message>
<source>Safely save database files (may be incompatible with Dropbox, etc)</source>
- <translation>Veilig opslaan van databasebestanden (mogelijk incompatibel met Dropbox, etc.)</translation>
+ <translation>Databasebestanden veilig opslaan (mogelijk incompatibel met Dropbox, etc.)</translation>
</message>
<message>
<source>Backup database file before saving</source>
@@ -136,7 +136,7 @@
</message>
<message>
<source>Automatically save after every change</source>
- <translation>Automatisch opslaan na iedere wijziging</translation>
+ <translation>Automatisch opslaan na elke wijziging</translation>
</message>
<message>
<source>Automatically save on exit</source>
@@ -144,7 +144,7 @@
</message>
<message>
<source>Don&apos;t mark database as modified for non-data changes (e.g., expanding groups)</source>
- <translation>Markeer de database niet als gewijzigd voor non-data wijzigingen (bijv. uitgebreide groepen)</translation>
+ <translation>Markeer de database niet als gewijzigd voor non-data wijzigingen (bijv. het uitbreiden van groepen)</translation>
</message>
<message>
<source>Automatically reload the database when modified externally</source>
@@ -160,7 +160,7 @@
</message>
<message>
<source>Hide the entry preview panel</source>
- <translation>Verberg voorvertoning</translation>
+ <translation>Voorvertoning verbergen</translation>
</message>
<message>
<source>General</source>
@@ -168,11 +168,11 @@
</message>
<message>
<source>Hide toolbar (icons)</source>
- <translation>Verberg werkbalk (pictogrammen)</translation>
+ <translation>Werkbalk (pictogrammen) verbergen</translation>
</message>
<message>
<source>Minimize instead of app exit</source>
- <translation>Minimaliseren in plaats van app afsluiten</translation>
+ <translation>Applicatie minimaliseren in plaats afsluiten</translation>
</message>
<message>
<source>Show a system tray icon</source>
@@ -200,7 +200,7 @@
</message>
<message>
<source>Always ask before performing Auto-Type</source>
- <translation>Altijd vragen voor toepassen Auto-type</translation>
+ <translation>Altijd vragen voordat Auto-type wordt toegepast</translation>
</message>
<message>
<source>Global Auto-Type shortcut</source>
@@ -221,7 +221,7 @@
</message>
<message>
<source>Movable toolbar</source>
- <translation>Beweegbare gereedschapsbalk</translation>
+ <translation>Verplaatsbare gereedschapsbalk</translation>
</message>
<message>
<source>Remember previously used databases</source>
@@ -233,11 +233,11 @@
</message>
<message>
<source>Remember database key files and security dongles</source>
- <translation>Laatstgebruikte sleutelbestanden en beveiligingsdongles onthouden</translation>
+ <translation>Laatstgebruikte sleutelbestanden en beveiligingssticks onthouden</translation>
</message>
<message>
<source>Check for updates at application startup once per week</source>
- <translation>Eens per week bij het opstarten van de toepassing zoeken naar updates</translation>
+ <translation>Zoek eens per week bij het opstarten van het programma naar updates</translation>
</message>
<message>
<source>Include beta releases when checking for updates</source>
@@ -281,7 +281,7 @@
</message>
<message>
<source>Website icon download timeout in seconds</source>
- <translation>Websitepictogram download time-out seconden</translation>
+ <translation>Websitepictogram download time-out in seconden</translation>
</message>
<message>
<source> sec</source>
@@ -342,7 +342,7 @@
</message>
<message>
<source>Forget TouchID after inactivity of</source>
- <translation>Vergeet TouchID na inactiviteit van</translation>
+ <translation>TouchID vergeten na inactiviteit van</translation>
</message>
<message>
<source>Convenience</source>
@@ -350,11 +350,11 @@
</message>
<message>
<source>Lock databases when session is locked or lid is closed</source>
- <translation>Databases vergrendelen als de gebruikerssessie wordt vergrendeld of bij het sluiten van de deksel</translation>
+ <translation>Databases vergrendelen als de gebruikerssessie wordt vergrendeld of bij het sluiten van het deksel</translation>
</message>
<message>
<source>Forget TouchID when session is locked or lid is closed</source>
- <translation>Vergeet TouchID wanneer sessie is vergrendeld of deksel is gesloten</translation>
+ <translation>TouchID vergeten wanneer sessie is vergrendeld of deksel is gesloten</translation>
</message>
<message>
<source>Lock databases after minimizing the window</source>
@@ -374,11 +374,11 @@
</message>
<message>
<source>Don&apos;t use placeholder for empty password fields</source>
- <translation>Tijdelijke aanduiding voor lege wachtwoordvelden niet gebruiken</translation>
+ <translation>Geen tijdelijke aanduiding gebruiken voor lege wachtwoordvelden</translation>
</message>
<message>
<source>Hide passwords in the entry preview panel</source>
- <translation>Verberg wachtwoorden in voorvertoning</translation>
+ <translation>Wachtwoorden verbergen in voorvertoning</translation>
</message>
<message>
<source>Hide entry notes by default</source>
@@ -398,7 +398,7 @@
</message>
<message>
<source>Touch ID inactivity reset</source>
- <translation>Touch ID inactiviteit resetten</translation>
+ <translation>Touch ID inactiviteit herstellen</translation>
</message>
<message>
<source>Database lock timeout seconds</source>
@@ -444,6 +444,14 @@
<source>This Auto-Type command contains arguments which are repeated very often. Do you really want to proceed?</source>
<translation>Deze Auto-type opdracht bevat argumenten die zeer vaak worden herhaald. Wil je echt doorgaan?</translation>
</message>
+ <message>
+ <source>Permission Required</source>
+ <translation>Toestemming vereist</translation>
+ </message>
+ <message>
+ <source>KeePassXC requires the Accessibility permission in order to perform entry level Auto-Type. If you already granted permission, you may have to restart KeePassXC.</source>
+ <translation>KeePassXC heeft de Toegankelijkheid-machtiging nodig om invoerniveau Auto-Type te kunnen uitvoeren. Als je de machtiging al gegeven hebt, is het mogelijk dat je KeePassXC opnieuw moet opstarten.</translation>
+ </message>
</context>
<context>
<name>AutoTypeAssociationsModel</name>
@@ -491,6 +499,17 @@
</message>
</context>
<context>
+ <name>AutoTypePlatformMac</name>
+ <message>
+ <source>Permission Required</source>
+ <translation>Toestemming vereist</translation>
+ </message>
+ <message>
+ <source>KeePassXC requires the Accessibility and Screen Recorder permission in order to perform global Auto-Type. Screen Recording is necessary to use the window title to find entries. If you already granted permission, you may have to restart KeePassXC.</source>
+ <translation>KeePassXC heeft de Toegankelijkheid- en Schermopname-machtiging nodig om globale Auto-Type te kunnen uitvoeren. Schermopname is benodigd om het venster te gebruiken om invoer te kunnen vinden. Als je de machtiging al gegeven hebt, is het mogelijk dat je KeePassXC opnieuw moet opstarten.</translation>
+ </message>
+</context>
+<context>
<name>AutoTypeSelectDialog</name>
<message>
<source>Auto-Type - KeePassXC</source>
@@ -526,7 +545,7 @@
<message>
<source>%1 has requested access to passwords for the following item(s).
Please select whether you want to allow access.</source>
- <translation>%1 vraagt toegang tot jouw wachtwoorden voor het volgende.
+ <translation>%1 vraagt voor het volgende toegang tot jouw wachtwoorden.
Geef aan of je toegang wilt verlenen of niet.</translation>
</message>
<message>
@@ -535,7 +554,7 @@ Geef aan of je toegang wilt verlenen of niet.</translation>
</message>
<message>
<source>Deny access</source>
- <translation>Weiger toegang</translation>
+ <translation>Toegang weigeren</translation>
</message>
</context>
<context>
@@ -596,7 +615,7 @@ Selecteer de database voor het opslaan van de inloggegevens.</translation>
<message>
<source>Show a &amp;notification when credentials are requested</source>
<extracomment>Credentials mean login data requested via browser extension</extracomment>
- <translation>Toon een &amp;melding wanneer inloggegevens worden gevraagd</translation>
+ <translation>Een &amp;melding tonen wanneer inloggegevens worden gevraagd</translation>
</message>
<message>
<source>Re&amp;quest to unlock the database if it is locked</source>
@@ -604,11 +623,11 @@ Selecteer de database voor het opslaan van de inloggegevens.</translation>
</message>
<message>
<source>Only entries with the same scheme (http://, https://, ...) are returned.</source>
- <translation>Alleen items van hetzelfde schema (http://, https://, …) wordt gegeven.</translation>
+ <translation>Alleen items van hetzelfde schema (http://, https://, …) worden gegeven.</translation>
</message>
<message>
<source>&amp;Match URL scheme (e.g., https://...)</source>
- <translation>Vergelijk URL sche&amp;ma&apos;s (bijv. https://…)</translation>
+ <translation>Vergelijk URL-sche&amp;ma&apos;s (bijv. https://…)</translation>
</message>
<message>
<source>Only returns the best matches for a specific URL instead of all entries for the whole domain.</source>
@@ -708,7 +727,7 @@ Selecteer de database voor het opslaan van de inloggegevens.</translation>
<message>
<source>Do not ask permission for HTTP &amp;Basic Auth</source>
<extracomment>An extra HTTP Basic Auth setting</extracomment>
- <translation>Vraag geen toestemming voor HTTP en Basis Authentificatie</translation>
+ <translation>Vraag geen toestemming voor HTTP &amp;Basis-authenticatie</translation>
</message>
<message>
<source>Due to Snap sandboxing, you must run a script to enable browser integration.&lt;br /&gt;You can obtain this script from %1</source>
@@ -716,11 +735,11 @@ Selecteer de database voor het opslaan van de inloggegevens.</translation>
</message>
<message>
<source>Please see special instructions for browser extension use below</source>
- <translation>Raadpleeg onderstaand speciale instructies voor gebruik van browserextensie </translation>
+ <translation>Raadpleeg onderstaande instructies voor het gebruik van browserextensies</translation>
</message>
<message>
<source>KeePassXC-Browser is needed for the browser integration to work. &lt;br /&gt;Download it for %1 and %2. %3</source>
- <translation>KeePassXC-Browser is vereist om de integratie van de browser te laten werken. &lt;br /&gt; Download het voor %1 en %2. %3</translation>
+ <translation>KeePassXC-Browser is vereist voor het functioneren van de browserintegratie. &lt;br /&gt; Download het voor %1 en %2. %3</translation>
</message>
<message>
<source>&amp;Brave</source>
@@ -748,7 +767,7 @@ Selecteer de database voor het opslaan van de inloggegevens.</translation>
</message>
<message>
<source>Don&apos;t display the popup suggesting migration of legacy KeePassHTTP settings.</source>
- <translation>Laat de pop-up die de migratie van KeePassHTTP naar KeePassXC-Browser aanbiedt, niet meer zien.</translation>
+ <translation>Laat de pop-up die de migratie van KeePassHTTP naar KeePassXC-Browser aanbiedt, niet meer zien.</translation>
</message>
<message>
<source>&amp;Do not prompt for KeePassHTTP settings migration.</source>
@@ -764,7 +783,7 @@ Selecteer de database voor het opslaan van de inloggegevens.</translation>
</message>
<message>
<source>&lt;b&gt;Warning&lt;/b&gt;, the keepassxc-proxy application was not found!&lt;br /&gt;Please check the KeePassXC installation directory or confirm the custom path in advanced options.&lt;br /&gt;Browser integration WILL NOT WORK without the proxy application.&lt;br /&gt;Expected Path: %1</source>
- <translation>&lt;b&gt;Waarschuwing&lt;/b&gt;, de keepassxc-proxy-applicatie kon niet worden gevonden!&lt;br /&gt;Controleer de KeePassXC-installatiefolder of bevestig het aangepaste pad in de geavanceerde instellingen.&lt;br /&gt;Browserintegratie ZAL NIET WERKEN zonder de proxy-applicatie.&lt;br /&gt;Verwacht Pad: %1</translation>
+ <translation>&lt;b&gt;Waarschuwing&lt;/b&gt;, de keepassxc-proxy-applicatie kon niet worden gevonden!&lt;br /&gt;Controleer de KeePassXC-installatiefolder of geef het aangepaste pad op in de geavanceerde instellingen.&lt;br /&gt;Zonder de proxy-applicatie zal browserintegratie NIET WERKEN.&lt;br /&gt;Verwacht pad: %1</translation>
</message>
</context>
<context>
@@ -774,16 +793,6 @@ Selecteer de database voor het opslaan van de inloggegevens.</translation>
<translation>KeePassXC: Nieuw verzoek voor sleutelkoppeling</translation>
</message>
<message>
- <source>You have received an association request for the above key.
-
-If you would like to allow it access to your KeePassXC database,
-give it a unique name to identify and accept it.</source>
- <translation>Je hebt een koppelingsverzoek ontvangen voor bovenstaande sleutel.
-
-Als je de sleutel toegang tot jouw KeePassXC-database wil geven,
-geef het dan een unieke naam ter identificatie en accepteer het verzoek.</translation>
- </message>
- <message>
<source>Save and allow access</source>
<translation>Opslaan en toegang verlenen</translation>
</message>
@@ -815,7 +824,7 @@ Wil je deze overschrijven?</translation>
</message>
<message>
<source>KeePassXC: Converted KeePassHTTP attributes</source>
- <translation>KeePassXC: Geconverteerde KeePassHTTP kenmerken</translation>
+ <translation>KeePassXC: Geconverteerde KeePassHTTP-kenmerken</translation>
</message>
<message>
<source>Successfully converted attributes from %1 entry(s).
@@ -829,26 +838,26 @@ Moved %2 keys to custom data.</source>
</message>
<message>
<source>KeePassXC: No entry with KeePassHTTP attributes found!</source>
- <translation>KeePassXC: Geen item met KeePassHTTP kenmerken gevonden!</translation>
+ <translation>KeePassXC: Geen item met KeePassHTTP-kenmerken gevonden!</translation>
</message>
<message>
<source>The active database does not contain an entry with KeePassHTTP attributes.</source>
- <translation>De actieve database bevat geen item met KeePassHTTP attributen.</translation>
+ <translation>De actieve database bevat geen item met KeePassHTTP-kenmerken.</translation>
</message>
<message>
<source>KeePassXC: Legacy browser integration settings detected</source>
- <translation>KeePassXC: instellingen voor oudere browserintegratie gedetecteerd</translation>
+ <translation>KeePassXC: Instellingen voor oudere browserintegratie gedetecteerd</translation>
</message>
<message>
<source>KeePassXC: Create a new group</source>
- <translation>KeePassXC: Een nieuwe groep maken</translation>
+ <translation>KeePassXC: Een nieuwe groep aanmaken</translation>
</message>
<message>
<source>A request for creating a new group &quot;%1&quot; has been received.
Do you want to create this group?
</source>
- <translation>Een aanvraag voor het maken van een nieuwe groep &apos;%1&apos; werd ontvangen.
-Wil je deze groep maken?
+ <translation>Een aanvraag voor het aanmaken van een nieuwe groep &apos;%1&apos; werd ontvangen.
+Wil je deze groep aanmaken?
</translation>
</message>
<message>
@@ -863,6 +872,17 @@ Wil je de bestaande instellingen nu migreren?</translation>
<source>Don&apos;t show this warning again</source>
<translation>Deze waarschuwing niet meer geven</translation>
</message>
+ <message>
+ <source>You have received an association request for the following database:
+%1
+
+Give the connection a unique name or ID, for example:
+chrome-laptop.</source>
+ <translation>Je hebt een associatieverzoek ontvangen voor de volgende database:%1
+
+Geef de verbinding een unieke naam of ID, voorbeeld:
+chrome-laptop</translation>
+ </message>
</context>
<context>
<name>CloneDialog</name>
@@ -951,7 +971,7 @@ Wil je de bestaande instellingen nu migreren?</translation>
</message>
<message>
<source>Empty fieldname %1</source>
- <translation>Lege fieldname %1</translation>
+ <translation>Lege veldnaam %1</translation>
</message>
<message>
<source>column %1</source>
@@ -977,7 +997,7 @@ Wil je de bestaande instellingen nu migreren?</translation>
</message>
<message>
<source>Field separation</source>
- <translation>Veld scheiding</translation>
+ <translation>Veldscheiding</translation>
</message>
<message>
<source>Number of header lines to discard</source>
@@ -1029,29 +1049,29 @@ Wil je de bestaande instellingen nu migreren?</translation>
</message>
<message>
<source>File cannot be written as it is opened in read-only mode.</source>
- <translation>Bestand kan niet worden geschreven omdat het in de alleen-lezen modus is geopend.</translation>
+ <translation>Bestand kan niet worden geschreven omdat het in alleen-lezen modus is geopend.</translation>
</message>
<message>
<source>Key not transformed. This is a bug, please report it to the developers!</source>
- <translation>Sleutel niet getransformeerd. Dit is een bug, rapporteer deze alstublieft aan de ontwikkelaars!</translation>
+ <translation>Sleutel niet getransformeerd. Dit is een fout, rapporteer dit alstublieft aan de ontwikkelaars!</translation>
</message>
<message>
<source>%1
Backup database located at %2</source>
<translation>%1
-Back-up databestand staat op %2</translation>
+Back-up databestand op %2</translation>
</message>
<message>
<source>Could not save, database does not point to a valid file.</source>
- <translation>Kan niet opslaan. Database is geen geldig bestand.</translation>
+ <translation>Kan niet opslaan. Database verwijst niet naar een geldig bestand.</translation>
</message>
<message>
<source>Could not save, database file is read-only.</source>
- <translation>Kan niet opslaan. Database is alleen-lezen.</translation>
+ <translation>Kan niet opslaan. Databasebestand is alleen-lezen.</translation>
</message>
<message>
<source>Database file has unmerged changes.</source>
- <translation>Database heeft niet opgeslagen gegevens.</translation>
+ <translation>Databasebestand heeft niet opgeslagen gegevens.</translation>
</message>
<message>
<source>Recycle Bin</source>
@@ -1084,7 +1104,7 @@ Back-up databestand staat op %2</translation>
unsupported in the future.
Please consider generating a new key file.</source>
- <translation>Je gebruikt een verouderd sleutelbestandsformaat dat in de toekomst niet ondersteund zal worden.
+ <translation>Je gebruikt een verouderd sleutelbestandsformaat dat in de toekomst niet wordt ondersteund .
Overweeg een nieuw sleutelbestand te genereren.</translation>
</message>
@@ -1126,11 +1146,7 @@ Overweeg een nieuw sleutelbestand te genereren.</translation>
</message>
<message>
<source>Toggle password visibility</source>
- <translation>Laat wachtwoord wel/niet zien.</translation>
- </message>
- <message>
- <source>Enter Additional Credentials:</source>
- <translation>Aanvullende inloggegevens:</translation>
+ <translation>Wachtwoord wel/niet weergeven.</translation>
</message>
<message>
<source>Key file selection</source>
@@ -1157,12 +1173,6 @@ Overweeg een nieuw sleutelbestand te genereren.</translation>
<translation>Hardwaresleutel:</translation>
</message>
<message>
- <source>&lt;p&gt;You can use a hardware security key such as a &lt;strong&gt;YubiKey&lt;/strong&gt; or &lt;strong&gt;OnlyKey&lt;/strong&gt; with slots configured for HMAC-SHA1.&lt;/p&gt;
- &lt;p&gt;Click for more information...&lt;/p&gt;</source>
- <translation>&lt;p&gt;Je kunt een hardwarebeveiligingssleutel gebruiken, zoals een &lt;strong&gt;YubiKey&lt;/strong&gt; of &lt;strong&gt;onlykey&lt;/strong&gt; met posities &quot;slots&quot; die zijn geconfigureerd voor HMAC-SHA1.&lt;/p&gt;
- &lt;p&gt;Klik hier voor meer informatie...&lt;/p&gt;</translation>
- </message>
- <message>
<source>Hardware key help</source>
<translation>Hardwaresleutelhulp</translation>
</message>
@@ -1179,10 +1189,6 @@ Overweeg een nieuw sleutelbestand te genereren.</translation>
<translation>Wis sleutelbestand</translation>
</message>
<message>
- <source>Select file...</source>
- <translation>Kies bestand...</translation>
- </message>
- <message>
<source>Unlock failed and no password given</source>
<translation>Ontgrendeling mislukt en geen wachtwoord ingevoerd</translation>
</message>
@@ -1194,12 +1200,48 @@ To prevent this error from appearing, you must go to &quot;Database Settings / S
<translation>Het ontgrendelen van de database is mislukt en je hebt geen wachtwoord ingevoerd.
Wil je het opnieuw proberen met een &quot;leeg&quot; wachtwoord?
-Om te voorkomen dat deze fout verschijnt ga je naar &quot;Database instellingen.../Beveiliging&quot; gaan en reset dan het wachtwoord.</translation>
+Om deze fout te voorkomen ga je naar &quot;Database instellingen.../Beveiliging&quot; en herstel daar het wachtwoord.</translation>
</message>
<message>
<source>Retry with empty password</source>
<translation>Probeer opnieuw met leeg wachtwoord</translation>
</message>
+ <message>
+ <source>Enter Additional Credentials (if any):</source>
+ <translation>Voer eventueel additionele inloggegevens in:</translation>
+ </message>
+ <message>
+ <source>&lt;p&gt;You can use a hardware security key such as a &lt;strong&gt;YubiKey&lt;/strong&gt; or &lt;strong&gt;OnlyKey&lt;/strong&gt; with slots configured for HMAC-SHA1.&lt;/p&gt;
+&lt;p&gt;Click for more information...&lt;/p&gt;</source>
+ <translation>&lt;p&gt;Je kunt een hardwarebeveiligingssleutel gebruiken, zoals een &lt;strong&gt;YubiKey&lt;/strong&gt; of &lt;strong&gt;OnlyKey&lt;/strong&gt; met slots geconfigureerd voor HMAC-SHA1.&lt;/p&gt;
+&lt;p&gt;Klik voor meer informatie...&lt;/p&gt;</translation>
+ </message>
+ <message>
+ <source>&lt;p&gt;In addition to your master password, you can use a secret file to enhance the security of your database. Such a file can be generated in your database&apos;s security settings.&lt;/p&gt;&lt;p&gt;This is &lt;strong&gt;not&lt;/strong&gt; your *.kdbx database file!&lt;br&gt;If you do not have a key file, leave the field empty.&lt;/p&gt;&lt;p&gt;Click for more information...&lt;/p&gt;</source>
+ <translation>U kunt de beveiliging van uw database vergroten door naast het hoofdwachtwoord en geheim bestand te gebruiken. Dit bestand kan worden gegenereerd vanuit de beveiligingsinstellingen van uw database. Het betreft hier niet uw *.kdbx bestand! Als u geen sleutenbestand heeft, kunt u het vakje leeg laten. Klik hier voor meer informatie...</translation>
+ </message>
+ <message>
+ <source>Key file help</source>
+ <translation>Sleutelbestandhulp</translation>
+ </message>
+ <message>
+ <source>?</source>
+ <translation>?</translation>
+ </message>
+ <message>
+ <source>Select key file...</source>
+ <translation>Kies sleutelbestand...</translation>
+ </message>
+ <message>
+ <source>Cannot use database file as key file</source>
+ <translation>Kan database niet als sleutelbestand gebruiken</translation>
+ </message>
+ <message>
+ <source>You cannot use your database file as a key file.
+If you do not have a key file, please leave the field empty.</source>
+ <translation>Je kunt je database niet als sleutelbestand gebruiken.
+Als je geen sleutelbestand hebt, laat het veld leeg.</translation>
+ </message>
</context>
<context>
<name>DatabaseSettingWidgetMetaData</name>
@@ -1228,7 +1270,7 @@ Om te voorkomen dat deze fout verschijnt ga je naar &quot;Database instellingen.
</message>
<message>
<source>Encryption Settings</source>
- <translation>Versleuteling instellingen</translation>
+ <translation>Versleutelingsinstellingen</translation>
</message>
<message>
<source>Browser Integration</source>
@@ -1239,7 +1281,7 @@ Om te voorkomen dat deze fout verschijnt ga je naar &quot;Database instellingen.
<name>DatabaseSettingsWidgetBrowser</name>
<message>
<source>KeePassXC-Browser settings</source>
- <translation>KeePassXC-browser instellingen</translation>
+ <translation>KeePassXC-browserinstellingen</translation>
</message>
<message>
<source>&amp;Disconnect all browsers</source>
@@ -1251,7 +1293,7 @@ Om te voorkomen dat deze fout verschijnt ga je naar &quot;Database instellingen.
</message>
<message>
<source>Move KeePassHTTP attributes to KeePassXC-Browser &amp;custom data</source>
- <translation>Verplaats KeePassHTTP kenmerken naar KeePassXC-browser &amp;gebruikersinstellingen</translation>
+ <translation>Verplaats KeePassHTTP-kenmerken naar KeePassXC-browser &amp;gebruikersinstellingen</translation>
</message>
<message>
<source>Stored keys</source>
@@ -1269,7 +1311,7 @@ Om te voorkomen dat deze fout verschijnt ga je naar &quot;Database instellingen.
<source>Do you really want to delete the selected key?
This may prevent connection to the browser plugin.</source>
<translation>Wil je de geselecteerde sleutel echt verwijderen?
-Hierdoor werkt de verbinding met de browser plugin mogelijk niet meer.</translation>
+Hierdoor werkt de verbinding met de browser-plugin mogelijk niet meer.</translation>
</message>
<message>
<source>Key</source>
@@ -1281,7 +1323,7 @@ Hierdoor werkt de verbinding met de browser plugin mogelijk niet meer.</translat
</message>
<message>
<source>Enable Browser Integration to access these settings.</source>
- <translation>Activeer browser integratie om deze instellingen te kunnen wijzigen.</translation>
+ <translation>Activeer browserintegratie om deze instellingen te kunnen wijzigen.</translation>
</message>
<message>
<source>Disconnect all browsers</source>
@@ -1291,7 +1333,7 @@ Hierdoor werkt de verbinding met de browser plugin mogelijk niet meer.</translat
<source>Do you really want to disconnect all browsers?
This may prevent connection to the browser plugin.</source>
<translation>Wil je echt de verbinding met alle browsers verbreken?
-Hierdoor werkt de verbinding met de browser plugin mogelijk niet meer.</translation>
+Hierdoor werkt de verbinding met de browser-plugin mogelijk niet meer.</translation>
</message>
<message>
<source>KeePassXC: No keys found</source>
@@ -1299,7 +1341,7 @@ Hierdoor werkt de verbinding met de browser plugin mogelijk niet meer.</translat
</message>
<message>
<source>No shared encryption keys found in KeePassXC settings.</source>
- <translation>Geen gedeelde coderingssleutels gevonden in KeePassXC instellingen.</translation>
+ <translation>Geen gedeelde coderingssleutels gevonden in KeePassXC-instellingen.</translation>
</message>
<message>
<source>KeePassXC: Removed keys from database</source>
@@ -1328,11 +1370,11 @@ Permissions to access entries will be revoked.</source>
</message>
<message>
<source>KeePassXC: Removed permissions</source>
- <translation>KeePassXC: machtigingen verwijderd</translation>
+ <translation>KeePassXC: Machtigingen verwijderd</translation>
</message>
<message numerus="yes">
<source>Successfully removed permissions from %n entry(s).</source>
- <translation><numerusform>Machtigingen van %n entry(s) zijn verwijderd.</numerusform><numerusform>Machtigingen van %n entry(s) zijn verwijderd.</numerusform></translation>
+ <translation><numerusform>Machtigingen van %n item(s) zijn verwijderd.</numerusform><numerusform>Machtigingen van %n item(s) zijn verwijderd.</numerusform></translation>
</message>
<message>
<source>KeePassXC: No entry with permissions found!</source>
@@ -1344,13 +1386,13 @@ Permissions to access entries will be revoked.</source>
</message>
<message>
<source>Move KeePassHTTP attributes to custom data</source>
- <translation>Verplaats KeePassHTTP kenmerken naar gebruikersinstellingen</translation>
+ <translation>Verplaats KeePassHTTP-kenmerken naar gebruikersinstellingen</translation>
</message>
<message>
<source>Do you really want to move all legacy browser integration data to the latest standard?
This is necessary to maintain compatibility with the browser plugin.</source>
- <translation>Wil je echt alle instellingen voor de oudere browserintegratie veranderen naar de nieuwste standaard?
-Dit is nodig om compatibiliteit met de browser plugin te behouden.</translation>
+ <translation>Wil je alle instellingen voor de oudere browserintegratie omzetten naar de nieuwste standaard?
+Dit is nodig om compatibiliteit met de browser-plugin te behouden.</translation>
</message>
<message>
<source>Stored browser keys</source>
@@ -1358,7 +1400,7 @@ Dit is nodig om compatibiliteit met de browser plugin te behouden.</translation>
</message>
<message>
<source>Remove selected key</source>
- <translation>Verwijder gekozen sleutel</translation>
+ <translation>Geselecteerde sleutel verwijderen</translation>
</message>
</context>
<context>
@@ -1472,7 +1514,7 @@ Als je dit aantal aanhoudt, kan het uren, dagen (of zelfs langer) duren om de da
If you keep this number, your database may be too easy to crack!</source>
<translation>Je gebruikt een zeer laag aantal sleuteltransformatie-iteraties met AES-KDF.
-Als je dit aantal aanhoudt is het mogelijk heel gemakkelijk om de database te kraken!</translation>
+Als je dit aantal aanhoudt is je database mogelijk eenvoudig te kraken!</translation>
</message>
<message>
<source>KDF unchanged</source>
@@ -1504,11 +1546,11 @@ Als je dit aantal aanhoudt is het mogelijk heel gemakkelijk om de database te kr
</message>
<message>
<source>Change existing decryption time</source>
- <translation>Verander bestaande decodeer tijd</translation>
+ <translation>Huidige decoderingstijd wijzigen</translation>
</message>
<message>
<source>Decryption time in seconds</source>
- <translation>Decodeer tijd in seconden</translation>
+ <translation>Decoderingstijd in seconden</translation>
</message>
<message>
<source>Database format</source>
@@ -1543,7 +1585,7 @@ Als je dit aantal aanhoudt is het mogelijk heel gemakkelijk om de database te kr
</message>
<message>
<source>Don&apos;t e&amp;xpose this database</source>
- <translation>Deze database niet blootstellen</translation>
+ <translation>Deze database niet beschikbaar maken</translation>
</message>
<message>
<source>Expose entries &amp;under this group:</source>
@@ -1594,7 +1636,7 @@ Als je dit aantal aanhoudt is het mogelijk heel gemakkelijk om de database te kr
</message>
<message>
<source>Additional Database Settings</source>
- <translation>Extra database-instellingen</translation>
+ <translation>Extra database instellingen</translation>
</message>
<message>
<source>Enable &amp;compression (recommended)</source>
@@ -1627,7 +1669,7 @@ Als je dit aantal aanhoudt is het mogelijk heel gemakkelijk om de database te kr
<message>
<source>Do you want to delete the current recycle bin and all its contents?
This action is not reversible.</source>
- <translation>Wil je de huidige prullenbak verwijderen en al zijn inhoud?
+ <translation>Wil je de huidige prullenbak en al zijn inhoud verwijderen?
Deze actie is onomkeerbaar.</translation>
</message>
<message>
@@ -1655,7 +1697,7 @@ Deze actie is onomkeerbaar.</translation>
</message>
<message>
<source>Last Signer</source>
- <translation>Laatste Ondertekenaar</translation>
+ <translation>Laatste ondertekenaar</translation>
</message>
<message>
<source>Certificates</source>
@@ -1679,7 +1721,7 @@ Deze actie is onomkeerbaar.</translation>
</message>
<message>
<source>You must add at least one encryption key to secure your database!</source>
- <translation>Je moet minstens één coderingssleutel aan uw database toevoegen om deze te beveiligen!</translation>
+ <translation>Je moet minstens één coderingssleutel aan je database toevoegen om deze te beveiligen!</translation>
</message>
<message>
<source>No password set</source>
@@ -1699,7 +1741,7 @@ Weet je zeker dat je door wilt gaan zonder wachtwoord?</translation>
</message>
<message>
<source>Failed to change master key</source>
- <translation>Hoofdsleutel wijzigen is niet gelukt</translation>
+ <translation>Hoofdsleutel niet kunnen wijzigen</translation>
</message>
<message>
<source>Continue without password</source>
@@ -1710,7 +1752,7 @@ Weet je zeker dat je door wilt gaan zonder wachtwoord?</translation>
<name>DatabaseSettingsWidgetMetaDataSimple</name>
<message>
<source>Database Name:</source>
- <translation>Database naam:</translation>
+ <translation>Databasenaam:</translation>
</message>
<message>
<source>Description:</source>
@@ -1733,7 +1775,7 @@ Weet je zeker dat je door wilt gaan zonder wachtwoord?</translation>
</message>
<message>
<source>Hover over lines with error icons for further information.</source>
- <translation>Beweeg de muis over regels met fout pictogrammen voor meer informatie.</translation>
+ <translation>Beweeg de muis over regels met foutpictogrammen voor meer informatie.</translation>
</message>
<message>
<source>Name</source>
@@ -1745,7 +1787,7 @@ Weet je zeker dat je door wilt gaan zonder wachtwoord?</translation>
</message>
<message>
<source>Database name</source>
- <translation>Database naam</translation>
+ <translation>Databasenaam</translation>
</message>
<message>
<source>Description</source>
@@ -1773,7 +1815,7 @@ Weet je zeker dat je door wilt gaan zonder wachtwoord?</translation>
</message>
<message>
<source>The database was modified, but the changes have not yet been saved to disk.</source>
- <translation>De database is bewerkt, maar de wijzigingen zijn nog niet op disk opgeslagen.</translation>
+ <translation>De database is bewerkt, maar de wijzigingen zijn nog niet opgeslagen.</translation>
</message>
<message>
<source>Number of groups</source>
@@ -1801,7 +1843,7 @@ Weet je zeker dat je door wilt gaan zonder wachtwoord?</translation>
</message>
<message>
<source>More than 10% of passwords are reused. Use unique passwords when possible.</source>
- <translation>Meer dan 10% van de wachtwoorden zijn herbruikt. Gebruik waar mogelijk unieke wachtwoorden.</translation>
+ <translation>Meer dan 10% van de wachtwoorden zijn dubbel gebruikt. Gebruik waar mogelijk unieke wachtwoorden.</translation>
</message>
<message>
<source>Maximum password reuse</source>
@@ -1829,7 +1871,7 @@ Weet je zeker dat je door wilt gaan zonder wachtwoord?</translation>
</message>
<message>
<source>Average password length</source>
- <translation>Gemiddeld wachtwoordlengte</translation>
+ <translation>Gemiddelde wachtwoordlengte</translation>
</message>
<message>
<source>%1 characters</source>
@@ -1839,6 +1881,10 @@ Weet je zeker dat je door wilt gaan zonder wachtwoord?</translation>
<source>Average password length is less than ten characters. Longer passwords provide more security.</source>
<translation>Gemiddeld wachtwoordlengte is minder dan tien tekens. Langere wachtwoorden bieden meer veiligheid.</translation>
</message>
+ <message>
+ <source>Please wait, database statistics are being calculated...</source>
+ <translation>Een moment geduld, databasestatistieken worden berekend...</translation>
+ </message>
</context>
<context>
<name>DatabaseTabWidget</name>
@@ -1880,12 +1926,12 @@ Weet je zeker dat je door wilt gaan zonder wachtwoord?</translation>
</message>
<message>
<source>Database creation error</source>
- <translation>Fout bij creëren van de database:</translation>
+ <translation>Fout bij aanmaken van de database:</translation>
</message>
<message>
<source>The created database has no key or KDF, refusing to save it.
This is definitely a bug, please report it to the developers.</source>
- <translation>De aangemaakte database heeft geen sleutel of KDF, dit weiger ik op te slaan.
+ <translation>De aangemaakte database heeft geen sleutel of KDF en kan niet worden opgeslagen.
Dit is zeker een bug, rapporteer dit alsjeblieft aan de ontwikkelaars.</translation>
</message>
<message>
@@ -1917,11 +1963,11 @@ Dit is zeker een bug, rapporteer dit alsjeblieft aan de ontwikkelaars.</translat
</message>
<message>
<source>Export database to HTML file</source>
- <translation>Exporteer database naar HTML-bestand</translation>
+ <translation>Database exporteren naar HTML-bestand</translation>
</message>
<message>
<source>HTML file</source>
- <translation>HTML bestand</translation>
+ <translation>HTML-bestand</translation>
</message>
<message>
<source>Writing the HTML file failed.</source>
@@ -1933,7 +1979,7 @@ Dit is zeker een bug, rapporteer dit alsjeblieft aan de ontwikkelaars.</translat
</message>
<message>
<source>You are about to export your database to an unencrypted file. This will leave your passwords and sensitive information vulnerable! Are you sure you want to continue?</source>
- <translation>Je gaat je database naar een niet-versleuteld bestand exporteren. Dit zal je wachtwoorden en gevoelige informatie kwetsbaar maken! Weet je zeker dat je door wil gaan?</translation>
+ <translation>Je gaat je database naar een niet-versleuteld bestand exporteren. Dit maakt je wachtwoorden en gevoelige informatie kwetsbaar! Weet je zeker dat je door wil gaan?</translation>
</message>
</context>
<context>
@@ -1992,7 +2038,7 @@ Dit is zeker een bug, rapporteer dit alsjeblieft aan de ontwikkelaars.</translat
</message>
<message>
<source>The database file has changed. Do you want to load the changes?</source>
- <translation>Het database-bestand is gewijzigd. Wil je de wijzigingen laden?</translation>
+ <translation>Het databasebestand is gewijzigd. Wil je de wijzigingen laden?</translation>
</message>
<message>
<source>Merge Request</source>
@@ -2640,7 +2686,7 @@ Veilig opslaan uitschakelen en opnieuw proberen?</translation>
</message>
<message>
<source>Remove key from agent after specified seconds</source>
- <translation type="unfinished"/>
+ <translation>Verwijder de sleutel van de agent na het opgegeven aantal seconden</translation>
</message>
<message>
<source>Browser for key file</source>
@@ -2764,15 +2810,15 @@ Ondersteund zijn: %1.</translation>
</message>
<message>
<source>%1 is already being exported by this database.</source>
- <translation type="unfinished"/>
+ <translation>%1 wordt al geëxporteerd door deze database.</translation>
</message>
<message>
<source>%1 is already being imported by this database.</source>
- <translation type="unfinished"/>
+ <translation>%1 wordt al geïmporteerd door deze database.</translation>
</message>
<message>
<source>%1 is being imported and exported by different groups in this database.</source>
- <translation type="unfinished"/>
+ <translation>%1 wordt geïmporteerd en geëxporteerd door verschillende groepen in deze database.</translation>
</message>
<message>
<source>KeeShare is currently disabled. You can enable import/export in the application settings.</source>
@@ -2797,7 +2843,7 @@ Ondersteund zijn: %1.</translation>
</message>
<message>
<source>Browser for share file</source>
- <translation type="unfinished"/>
+ <translation>Blader naar gedeelde database bestand</translation>
</message>
<message>
<source>Password field</source>
@@ -3032,15 +3078,15 @@ Hierdoor werken de plugins mogelijk niet meer goed.</translation>
</message>
<message>
<source>Unique ID</source>
- <translation type="unfinished"/>
+ <translation>Uniek ID</translation>
</message>
<message>
<source>Plugin data</source>
- <translation type="unfinished"/>
+ <translation>Plugin-gegevens</translation>
</message>
<message>
<source>Remove selected plugin data</source>
- <translation type="unfinished"/>
+ <translation>Geselecteerde plugin-gegevens verwijderen</translation>
</message>
</context>
<context>
@@ -3144,19 +3190,19 @@ Hierdoor werken de plugins mogelijk niet meer goed.</translation>
</message>
<message>
<source>Add new attachment</source>
- <translation type="unfinished"/>
+ <translation>Nieuwe bijlage toevoegen</translation>
</message>
<message>
<source>Remove selected attachment</source>
- <translation type="unfinished"/>
+ <translation>Geselecteerde bijlage verwijderen</translation>
</message>
<message>
<source>Open selected attachment</source>
- <translation type="unfinished"/>
+ <translation>Geselecteerde bijlage openen</translation>
</message>
<message>
<source>Save selected attachment to disk</source>
- <translation type="unfinished"/>
+ <translation>Geselecteerde bijlage opslaan</translation>
</message>
</context>
<context>
@@ -3380,26 +3426,26 @@ Hierdoor werken de plugins mogelijk niet meer goed.</translation>
<name>FdoSecrets::Item</name>
<message>
<source>Entry &quot;%1&quot; from database &quot;%2&quot; was used by %3</source>
- <translation type="unfinished"/>
+ <translation>Het item &quot;%1&quot; van de database &quot;%2&quot; werd gebruikt door %3</translation>
</message>
</context>
<context>
<name>FdoSecrets::Service</name>
<message>
<source>Failed to register DBus service at %1: another secret service is running.</source>
- <translation type="unfinished"/>
+ <translation>Kan de DBus-service niet registreren op %1: er wordt een andere geheime service uitgevoerd.</translation>
</message>
<message numerus="yes">
<source>%n Entry(s) was used by %1</source>
<comment>%1 is the name of an application</comment>
- <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
+ <translation><numerusform>%n item(s) werden gebruikt door %1</numerusform><numerusform>%n item(s) werden gebruikt door %1</numerusform></translation>
</message>
</context>
<context>
<name>FdoSecretsPlugin</name>
<message>
<source>Fdo Secret Service: %1</source>
- <translation type="unfinished"/>
+ <translation>FDO-geheime service: %1</translation>
</message>
</context>
<context>
@@ -3451,7 +3497,7 @@ Je kunt de DuckDuckGo website pictogram dienst inschakelen in de sectie &apos;Be
</message>
<message>
<source>Please wait, processing entry list...</source>
- <translation type="unfinished"/>
+ <translation>Even wachten, de items worden verwerkt...</translation>
</message>
<message>
<source>Downloading...</source>
@@ -3659,7 +3705,7 @@ Als dit vaker gebeurt, is het databasebestand mogelijk beschadigd.</translation>
</message>
<message>
<source>(HMAC mismatch)</source>
- <translation type="unfinished"/>
+ <translation>(HMAC komt niet overeen)</translation>
</message>
</context>
<context>
@@ -4053,11 +4099,11 @@ Als dit vaker gebeurt, is het databasebestand mogelijk beschadigd.</translation>
<name>KeeShare</name>
<message>
<source>Invalid sharing reference</source>
- <translation type="unfinished"/>
+ <translation>Ongeldige verwijzing</translation>
</message>
<message>
<source>Inactive share %1</source>
- <translation type="unfinished"/>
+ <translation>Niet actieve gedaalde database %1</translation>
</message>
<message>
<source>Imported from %1</source>
@@ -4065,27 +4111,27 @@ Als dit vaker gebeurt, is het databasebestand mogelijk beschadigd.</translation>
</message>
<message>
<source>Exported to %1</source>
- <translation type="unfinished"/>
+ <translation>Geëxporteerd naar %1</translation>
</message>
<message>
<source>Synchronized with %1</source>
- <translation type="unfinished"/>
+ <translation>Gesynchroniseerd met %1</translation>
</message>
<message>
<source>Import is disabled in settings</source>
- <translation type="unfinished"/>
+ <translation>Importeren is uitgeschakeld in instellingen</translation>
</message>
<message>
<source>Export is disabled in settings</source>
- <translation type="unfinished"/>
+ <translation>Exporteren is uitgeschakeld in instellingen</translation>
</message>
<message>
<source>Inactive share</source>
- <translation type="unfinished"/>
+ <translation>Niet actieve gedeelde database</translation>
</message>
<message>
<source>Imported from</source>
- <translation type="unfinished"/>
+ <translation>Geïmporteerd uit</translation>
</message>
<message>
<source>Exported to</source>
@@ -4275,31 +4321,31 @@ Weet je zeker dat je wilt doorgaan met dit bestand?</translation>
</message>
<message>
<source>&amp;Close database</source>
- <translation>Database &amp;Sluiten</translation>
+ <translation>Database sluiten</translation>
</message>
<message>
<source>&amp;Delete entry</source>
- <translation>Item &amp;Verwijderen</translation>
+ <translation>Item verwijderen</translation>
</message>
<message>
<source>&amp;Edit group</source>
- <translation>Groep B&amp;ewerken</translation>
+ <translation>Groep b&amp;ewerken</translation>
</message>
<message>
<source>&amp;Delete group</source>
- <translation>Groep &amp;Verwijderen</translation>
+ <translation>Groep &amp;verwijderen</translation>
</message>
<message>
<source>Sa&amp;ve database as...</source>
- <translation>Database Opslaan &amp;Als…</translation>
+ <translation>Database opslaan als…</translation>
</message>
<message>
<source>Database settings</source>
- <translation>Database-instellingen</translation>
+ <translation>Database instellingen</translation>
</message>
<message>
<source>&amp;Clone entry</source>
- <translation>Item &amp;Klonen</translation>
+ <translation>Item klonen</translation>
</message>
<message>
<source>Copy &amp;username</source>
@@ -4319,7 +4365,7 @@ Weet je zeker dat je wilt doorgaan met dit bestand?</translation>
</message>
<message>
<source>&amp;Lock databases</source>
- <translation>Databases &amp;Vergrendelen</translation>
+ <translation>Databases vergrende&amp;len</translation>
</message>
<message>
<source>&amp;Title</source>
@@ -4363,7 +4409,7 @@ Weet je zeker dat je wilt doorgaan met dit bestand?</translation>
</message>
<message>
<source>Clear history</source>
- <translation>Geschiedenis wissen</translation>
+ <translation>Wis menu</translation>
</message>
<message>
<source>Access error for config file %1</source>
@@ -4429,7 +4475,7 @@ Wij raden je aan om de AppImage te gebruiken welke beschikbaar is op onze downlo
</message>
<message>
<source>&amp;Merge from database...</source>
- <translation>&amp; Samenvoegen uit database...</translation>
+ <translation>&amp;Samenvoegen uit database...</translation>
</message>
<message>
<source>Merge from another KDBX database</source>
@@ -4453,7 +4499,7 @@ Wij raden je aan om de AppImage te gebruiken welke beschikbaar is op onze downlo
</message>
<message>
<source>&amp;New group</source>
- <translation>&amp; Nieuwe groep</translation>
+ <translation>&amp;Nieuwe groep</translation>
</message>
<message>
<source>Add a new group</source>
@@ -4465,7 +4511,7 @@ Wij raden je aan om de AppImage te gebruiken welke beschikbaar is op onze downlo
</message>
<message>
<source>&amp;Database settings...</source>
- <translation>&amp; Database instellingen...</translation>
+ <translation>&amp;Database instellingen...</translation>
</message>
<message>
<source>Copy &amp;password</source>
@@ -4477,7 +4523,7 @@ Wij raden je aan om de AppImage te gebruiken welke beschikbaar is op onze downlo
</message>
<message>
<source>Open &amp;URL</source>
- <translation>Open &amp; URL</translation>
+ <translation>Open &amp;URL</translation>
</message>
<message>
<source>KeePass 1 database...</source>
@@ -4535,11 +4581,11 @@ Verwacht een aantal bugs en kleine problemen, deze versie is niet bedoeld voor p
</message>
<message>
<source>Sort &amp;A-Z</source>
- <translation type="unfinished"/>
+ <translation>Sorteer &amp;A-Z</translation>
</message>
<message>
<source>Sort &amp;Z-A</source>
- <translation type="unfinished"/>
+ <translation>Sorteer &amp;Z-A</translation>
</message>
<message>
<source>&amp;Password Generator</source>
@@ -4551,15 +4597,15 @@ Verwacht een aantal bugs en kleine problemen, deze versie is niet bedoeld voor p
</message>
<message>
<source>&amp;Export to HTML file...</source>
- <translation type="unfinished"/>
+ <translation>&amp;Exporteer naar HTML-bestand...</translation>
</message>
<message>
<source>1Password Vault...</source>
- <translation type="unfinished"/>
+ <translation>1Password vault...</translation>
</message>
<message>
<source>Import a 1Password Vault</source>
- <translation type="unfinished"/>
+ <translation>Importeer een 1Password vault</translation>
</message>
<message>
<source>&amp;Getting Started</source>
@@ -4677,11 +4723,11 @@ Verwacht een aantal bugs en kleine problemen, deze versie is niet bedoeld voor p
</message>
<message>
<source>En&amp;cryption Settings</source>
- <translation>En&amp;cryptie-instellingen</translation>
+ <translation>En&amp;cryptie instellingen</translation>
</message>
<message>
<source>Here you can adjust the database encryption settings. Don&apos;t worry, you can change them later in the database settings.</source>
- <translation>Hier kun je de coderingsinstellingen van de database aanpassen. Maak je geen zorgen, je kunt dit later in de database-instellingen wijzigen.</translation>
+ <translation>Hier kun je de coderingsinstellingen van de database aanpassen. Maak je geen zorgen, je kunt dit later in de database instellingen wijzigen.</translation>
</message>
<message>
<source>Advanced Settings</source>
@@ -4700,7 +4746,7 @@ Verwacht een aantal bugs en kleine problemen, deze versie is niet bedoeld voor p
</message>
<message>
<source>Here you can adjust the database encryption settings. Don&apos;t worry, you can change them later in the database settings.</source>
- <translation>Hier kun je de coderingsinstellingen van de database aanpassen. Maak je geen zorgen, je kunt dit later in de database-instellingen wijzigen.</translation>
+ <translation>Hier kun je de coderingsinstellingen van de database aanpassen. Maak je geen zorgen, je kunt dit later in de database instellingen wijzigen.</translation>
</message>
</context>
<context>
@@ -4729,31 +4775,31 @@ Verwacht een aantal bugs en kleine problemen, deze versie is niet bedoeld voor p
<name>OpData01</name>
<message>
<source>Invalid OpData01, does not contain header</source>
- <translation type="unfinished"/>
+ <translation>Ongeldige OpData01, bevat geen header</translation>
</message>
<message>
<source>Unable to read all IV bytes, wanted 16 but got %1</source>
- <translation type="unfinished"/>
+ <translation>Kon niet alle IV bytes lezen, gewenst is 16 maar kreeg er %1</translation>
</message>
<message>
<source>Unable to init cipher for opdata01: %1</source>
- <translation type="unfinished"/>
+ <translation>Kan versleuteling niet initiëren voor opdata01: %1</translation>
</message>
<message>
<source>Unable to read all HMAC signature bytes</source>
- <translation type="unfinished"/>
+ <translation>Kan niet alle HMAC-handtekening bytes lezen</translation>
</message>
<message>
<source>Malformed OpData01 due to a failed HMAC</source>
- <translation type="unfinished"/>
+ <translation>Ongeldige OpData01 vanwege een mislukte HMAC</translation>
</message>
<message>
<source>Unable to process clearText in place</source>
- <translation type="unfinished"/>
+ <translation>Kan hier alleen versleutelde tekst verwerken</translation>
</message>
<message>
<source>Expected %1 bytes of clear-text, found %2</source>
- <translation type="unfinished"/>
+ <translation>%1 bytes niet versleutelde tekst verwacht, %2 aangetroffen</translation>
</message>
</context>
<context>
@@ -4761,34 +4807,35 @@ Verwacht een aantal bugs en kleine problemen, deze versie is niet bedoeld voor p
<message>
<source>Read Database did not produce an instance
%1</source>
- <translation type="unfinished"/>
+ <translation>De te lezen database heeft geen exemplaar geproduceerd
+%1</translation>
</message>
</context>
<context>
<name>OpVaultReader</name>
<message>
<source>Directory .opvault must exist</source>
- <translation type="unfinished"/>
+ <translation>Directory .opvault moet bestaan</translation>
</message>
<message>
<source>Directory .opvault must be readable</source>
- <translation type="unfinished"/>
+ <translation>Directory .opvault moet leesbaar zijn</translation>
</message>
<message>
<source>Directory .opvault/default must exist</source>
- <translation type="unfinished"/>
+ <translation>Directory .opvault/default moet bestaan</translation>
</message>
<message>
<source>Directory .opvault/default must be readable</source>
- <translation type="unfinished"/>
+ <translation>Directory .opvault/default moet leesbaar zijn</translation>
</message>
<message>
<source>Unable to decode masterKey: %1</source>
- <translation type="unfinished"/>
+ <translation>Kan hoofdsleutel niet decoderen: %1</translation>
</message>
<message>
<source>Unable to derive master key: %1</source>
- <translation type="unfinished"/>
+ <translation>Kan hoofdsleutel niet afleiden: %1</translation>
</message>
</context>
<context>
@@ -5101,7 +5148,7 @@ Verwacht een aantal bugs en kleine problemen, deze versie is niet bedoeld voor p
</message>
<message>
<source>Logograms</source>
- <translation>Logogrammen</translation>
+ <translation>Speciale tekens</translation>
</message>
<message>
<source>#$%&amp;&amp;@^`~</source>
@@ -5181,7 +5228,7 @@ Verwacht een aantal bugs en kleine problemen, deze versie is niet bedoeld voor p
</message>
<message>
<source>Word Case:</source>
- <translation type="unfinished"/>
+ <translation>Teken grootte</translation>
</message>
<message>
<source>Regenerate password</source>
@@ -5205,7 +5252,7 @@ Verwacht een aantal bugs en kleine problemen, deze versie is niet bedoeld voor p
</message>
<message>
<source>Title Case</source>
- <translation>Titel in hoofd-/kleine letters</translation>
+ <translation>Eerste Letter Als Hoofdletter</translation>
</message>
<message>
<source>Toggle password visibility</source>
@@ -5953,15 +6000,15 @@ Beschikbare opdrachten:
</message>
<message>
<source>Deactivate password key for the database.</source>
- <translation type="unfinished"/>
+ <translation>Schakel de wachtwoordsleutel voor de database uit.</translation>
</message>
<message>
<source>Displays debugging information.</source>
- <translation type="unfinished"/>
+ <translation>Geeft foutopsporingsinformatie weer.</translation>
</message>
<message>
<source>Deactivate password key for the database to merge from.</source>
- <translation type="unfinished"/>
+ <translation>Deactiveer de wachtwoordsleutel voor de database waaruit u wilt samenvoegen.</translation>
</message>
<message>
<source>Version %1</source>
@@ -5981,11 +6028,11 @@ Beschikbare opdrachten:
</message>
<message>
<source>Debugging mode is disabled.</source>
- <translation type="unfinished"/>
+ <translation>De foutopsporingsmodus is uitgeschakeld.</translation>
</message>
<message>
<source>Debugging mode is enabled.</source>
- <translation type="unfinished"/>
+ <translation>De foutopsporingsmodus is ingeschakeld.</translation>
</message>
<message>
<source>Operating system: %1
@@ -6029,19 +6076,19 @@ Kernelversie: %3 %4</translation>
</message>
<message>
<source>Cryptographic libraries:</source>
- <translation type="unfinished"/>
+ <translation>Cryptografische bibliotheken:</translation>
</message>
<message>
<source>Cannot generate a password and prompt at the same time!</source>
- <translation type="unfinished"/>
+ <translation>Kan geen wachtwoord en prompt op hetzelfde moment genereren!</translation>
</message>
<message>
<source>Adds a new group to a database.</source>
- <translation type="unfinished"/>
+ <translation>Voegt een nieuwe groep toe aan een database.</translation>
</message>
<message>
<source>Path of the group to add.</source>
- <translation type="unfinished"/>
+ <translation>Pad van de toe te voegen groep.</translation>
</message>
<message>
<source>Group %1 already exists!</source>
@@ -6093,7 +6140,7 @@ Kernelversie: %3 %4</translation>
</message>
<message>
<source>Invalid word count %1</source>
- <translation type="unfinished"/>
+ <translation>Ongeldig aantal woorden %1</translation>
</message>
<message>
<source>The word list is too small (&lt; 1000 items)</source>
@@ -6101,23 +6148,23 @@ Kernelversie: %3 %4</translation>
</message>
<message>
<source>Exit interactive mode.</source>
- <translation type="unfinished"/>
+ <translation>Interactieve modus afsluiten.</translation>
</message>
<message>
<source>Format to use when exporting. Available choices are xml or csv. Defaults to xml.</source>
- <translation type="unfinished"/>
+ <translation>Bestandsindeling bij het exporteren. Beschikbare opties zijn XML of CSV. Standaard ingesteld op XML.</translation>
</message>
<message>
<source>Exports the content of a database to standard output in the specified format.</source>
- <translation type="unfinished"/>
+ <translation>Exporteert de inhoud van een database naar standaarduitvoer in de opgegeven indeling.</translation>
</message>
<message>
<source>Unable to export database to XML: %1</source>
- <translation type="unfinished"/>
+ <translation>Kon de database niet exporteren naar XML: %1</translation>
</message>
<message>
<source>Unsupported format %1</source>
- <translation type="unfinished"/>
+ <translation>Niet-ondersteund formaat %1</translation>
</message>
<message>
<source>Use numbers</source>
@@ -6137,19 +6184,19 @@ Kernelversie: %3 %4</translation>
</message>
<message>
<source>Import the contents of an XML database.</source>
- <translation type="unfinished"/>
+ <translation>Importeer de inhoud van een XML-database.</translation>
</message>
<message>
<source>Path of the XML database export.</source>
- <translation type="unfinished"/>
+ <translation>Pad van de XML-database export.</translation>
</message>
<message>
<source>Path of the new database.</source>
- <translation type="unfinished"/>
+ <translation>Pad van de nieuwe database.</translation>
</message>
<message>
<source>Unable to import XML database export %1</source>
- <translation type="unfinished"/>
+ <translation>Kan XML-database export %1 niet importeren</translation>
</message>
<message>
<source>Successfully imported database.</source>
@@ -6161,11 +6208,11 @@ Kernelversie: %3 %4</translation>
</message>
<message>
<source>Flattens the output to single lines.</source>
- <translation type="unfinished"/>
+ <translation>Hiermee wordt de uitvoer samengevoegd tot enkele lijnen.</translation>
</message>
<message>
<source>Only print the changes detected by the merge operation.</source>
- <translation type="unfinished"/>
+ <translation>Alleen de wijzigingen afdrukken die zijn gedetecteerd door de samenvoegbewerking.</translation>
</message>
<message>
<source>Yubikey slot for the second database.</source>
@@ -6181,27 +6228,27 @@ Kernelversie: %3 %4</translation>
</message>
<message>
<source>Moves an entry to a new group.</source>
- <translation type="unfinished"/>
+ <translation>Hiermee verplaats je een item naar een nieuwe groep.</translation>
</message>
<message>
<source>Path of the entry to move.</source>
- <translation type="unfinished"/>
+ <translation>Pad van het te verplaatsen item.</translation>
</message>
<message>
<source>Path of the destination group.</source>
- <translation type="unfinished"/>
+ <translation>Pad van de doelgroep.</translation>
</message>
<message>
<source>Could not find group with path %1.</source>
- <translation type="unfinished"/>
+ <translation>Kan groep met pad %1 niet vinden.</translation>
</message>
<message>
<source>Entry is already in group %1.</source>
- <translation type="unfinished"/>
+ <translation>Het item is al in groep %1.</translation>
</message>
<message>
<source>Successfully moved entry %1 to group %2.</source>
- <translation type="unfinished"/>
+ <translation>Item %1 is verplaatst naar groep %2.</translation>
</message>
<message>
<source>Open a database.</source>
@@ -6209,11 +6256,11 @@ Kernelversie: %3 %4</translation>
</message>
<message>
<source>Path of the group to remove.</source>
- <translation type="unfinished"/>
+ <translation>Pad van de te verwijderen groep.</translation>
</message>
<message>
<source>Cannot remove root group from database.</source>
- <translation type="unfinished"/>
+ <translation>Kan de hoofdgroep niet verwijderen uit de database.</translation>
</message>
<message>
<source>Successfully recycled group %1.</source>
@@ -6225,15 +6272,15 @@ Kernelversie: %3 %4</translation>
</message>
<message>
<source>Failed to open database file %1: not found</source>
- <translation type="unfinished"/>
+ <translation>Kan het databasebestand %1 niet openen: niet gevonden</translation>
</message>
<message>
<source>Failed to open database file %1: not a plain file</source>
- <translation type="unfinished"/>
+ <translation>Kan het databasebestand %1 niet openen: geen gewoon bestand</translation>
</message>
<message>
<source>Failed to open database file %1: not readable</source>
- <translation type="unfinished"/>
+ <translation>Kan het databasebestand %1 niet openen: niet leesbaar</translation>
</message>
<message>
<source>Enter password to unlock %1: </source>
@@ -6253,11 +6300,11 @@ Kernelversie: %3 %4</translation>
</message>
<message>
<source>HIBP file, line %1: parse error</source>
- <translation type="unfinished"/>
+ <translation>HIBP-bestand, regel %1: fout bij interpreteren</translation>
</message>
<message>
<source>Secret Service Integration</source>
- <translation type="unfinished"/>
+ <translation>Integratie van geheime diensten</translation>
</message>
<message>
<source>User name</source>
@@ -6275,6 +6322,10 @@ Kernelversie: %3 %4</translation>
<source>Invalid password generator after applying all options</source>
<translation>Ongeldige wachtwoordgenerator na het toepassen van alle opties</translation>
</message>
+ <message>
+ <source>Show the protected attributes in clear text.</source>
+ <translation>Toon de beschermde kenmerken in tekst.</translation>
+ </message>
</context>
<context>
<name>QtIOCompressor</name>
@@ -6436,7 +6487,7 @@ Kernelversie: %3 %4</translation>
</message>
<message>
<source>Enable KeepassXC Freedesktop.org Secret Service integration</source>
- <translation type="unfinished"/>
+ <translation>De integratie van KeepassXC Freedesktop.org Secret service inschakelen</translation>
</message>
<message>
<source>General</source>
@@ -6456,7 +6507,7 @@ Kernelversie: %3 %4</translation>
</message>
<message>
<source>Exposed database groups:</source>
- <translation type="unfinished"/>
+ <translation>Blootgestelde databasegroepen:</translation>
</message>
<message>
<source>File Name</source>
@@ -6488,11 +6539,11 @@ Kernelversie: %3 %4</translation>
</message>
<message>
<source>Database settings</source>
- <translation>Database-instellingen</translation>
+ <translation>Database instellingen</translation>
</message>
<message>
<source>Edit database settings</source>
- <translation type="unfinished"/>
+ <translation>Database instellingen bewerken</translation>
</message>
<message>
<source>Unlock database</source>
@@ -6640,15 +6691,15 @@ Kernelversie: %3 %4</translation>
</message>
<message>
<source>Allow KeeShare imports</source>
- <translation type="unfinished"/>
+ <translation>Importeren van KeeShare toestaan</translation>
</message>
<message>
<source>Allow KeeShare exports</source>
- <translation type="unfinished"/>
+ <translation>Sta KeeShare exports toe</translation>
</message>
<message>
<source>Only show warnings and errors</source>
- <translation type="unfinished"/>
+ <translation>Alleen waarschuwingen en fouten weergeven</translation>
</message>
<message>
<source>Key</source>
@@ -6660,35 +6711,35 @@ Kernelversie: %3 %4</translation>
</message>
<message>
<source>Generate new certificate</source>
- <translation type="unfinished"/>
+ <translation>Nieuw certificaat genereren</translation>
</message>
<message>
<source>Import existing certificate</source>
- <translation type="unfinished"/>
+ <translation>Bestaand certificaat importeren</translation>
</message>
<message>
<source>Export own certificate</source>
- <translation type="unfinished"/>
+ <translation>Eigen certificaat exporteren</translation>
</message>
<message>
<source>Known shares</source>
- <translation type="unfinished"/>
+ <translation>Bekende gedeelde databases</translation>
</message>
<message>
<source>Trust selected certificate</source>
- <translation type="unfinished"/>
+ <translation>Geselecteerd certificaat vertrouwen</translation>
</message>
<message>
<source>Ask whether to trust the selected certificate every time</source>
- <translation type="unfinished"/>
+ <translation>Vraag elke keer of je het geselecteerde certificaat wilt vertrouwen</translation>
</message>
<message>
<source>Untrust selected certificate</source>
- <translation type="unfinished"/>
+ <translation>Geselecteerd certificaat niet vertrouwen</translation>
</message>
<message>
<source>Remove selected certificate</source>
- <translation type="unfinished"/>
+ <translation>Geselecteerd certificaat verwijderen</translation>
</message>
</context>
<context>
@@ -6868,7 +6919,7 @@ Kernelversie: %3 %4</translation>
<message>
<source>NOTE: These TOTP settings are custom and may not work with other authenticators.</source>
<comment>TOTP QR code dialog warning</comment>
- <translation>Merk op: deze TOTP-instellingen zijn op maat en werken mogelijk niet met andere authenticators.</translation>
+ <translation>Merk op: deze TOTP instellingen zijn op maat en werken mogelijk niet met andere authenticators.</translation>
</message>
<message>
<source>There was an error creating the QR code.</source>
@@ -6916,11 +6967,11 @@ Kernelversie: %3 %4</translation>
</message>
<message>
<source>Secret Key:</source>
- <translation type="unfinished"/>
+ <translation>Geheime sleutel:</translation>
</message>
<message>
<source>Secret key must be in Base32 format</source>
- <translation type="unfinished"/>
+ <translation>Geheime sleutel moet in Base32-indeling zijn</translation>
</message>
<message>
<source>Secret key field</source>
@@ -6954,7 +7005,7 @@ Voorbeeld: JBSWY3DPEHPK3PXP</translation>
</message>
<message>
<source>Are you sure you want to delete TOTP settings for this entry?</source>
- <translation>Weet je zeker dat je de TOTP-instellingen voor dit item wilt verwijderen?</translation>
+ <translation>Weet je zeker dat je de TOTP instellingen voor dit item wilt verwijderen?</translation>
</message>
</context>
<context>
@@ -7055,7 +7106,7 @@ Voorbeeld: JBSWY3DPEHPK3PXP</translation>
</message>
<message>
<source>YubiKey Challenge-Response</source>
- <translation>YubiKey challenge/response:</translation>
+ <translation>YubiKey challenge/response</translation>
</message>
<message>
<source>&lt;p&gt;If you own a &lt;a href=&quot;https://www.yubico.com/&quot;&gt;YubiKey&lt;/a&gt;, you can use it for additional security.&lt;/p&gt;&lt;p&gt;The YubiKey requires one of its slots to be programmed as &lt;a href=&quot;https://www.yubico.com/products/services-software/personalization-tools/challenge-response/&quot;&gt;HMAC-SHA1 Challenge-Response&lt;/a&gt;.&lt;/p&gt;</source>
diff --git a/share/translations/keepassx_pl.ts b/share/translations/keepassx_pl.ts
index 977c075ca..a1821978d 100644
--- a/share/translations/keepassx_pl.ts
+++ b/share/translations/keepassx_pl.ts
@@ -444,6 +444,14 @@
<source>This Auto-Type command contains arguments which are repeated very often. Do you really want to proceed?</source>
<translation>Polecenie autowpisywania zawiera argumenty, które powtarzają się bardzo często. Czy chcesz kontynuować?</translation>
</message>
+ <message>
+ <source>Permission Required</source>
+ <translation>Wymagane uprawnienie</translation>
+ </message>
+ <message>
+ <source>KeePassXC requires the Accessibility permission in order to perform entry level Auto-Type. If you already granted permission, you may have to restart KeePassXC.</source>
+ <translation>KeePassXC wymaga uprawnienia Dostępności w celu wykonania autowpisywania na poziomie podstawowym. Jeśli już udzieliłeś uprawnienia, być może będziesz musiał zrestartować KeePassXC.</translation>
+ </message>
</context>
<context>
<name>AutoTypeAssociationsModel</name>
@@ -491,6 +499,17 @@
</message>
</context>
<context>
+ <name>AutoTypePlatformMac</name>
+ <message>
+ <source>Permission Required</source>
+ <translation>Wymagane uprawnienie</translation>
+ </message>
+ <message>
+ <source>KeePassXC requires the Accessibility and Screen Recorder permission in order to perform global Auto-Type. Screen Recording is necessary to use the window title to find entries. If you already granted permission, you may have to restart KeePassXC.</source>
+ <translation>KeePassXC wymaga uprawnień Dostępności i Rejestratora ekranu w celu wykonania globalnego autowpisywania. Nagrywanie ekranu jest konieczne, aby użyć tytułu okna do odnajdywania wpisów. Jeśli już udzieliłeś uprawnień, być może będziesz musiał zrestartować KeePassXC.</translation>
+ </message>
+</context>
+<context>
<name>AutoTypeSelectDialog</name>
<message>
<source>Auto-Type - KeePassXC</source>
@@ -774,16 +793,6 @@ Wybierz właściwą bazę danych do zapisania danych uwierzytelniających.</tran
<translation>KeePassXC: Nowe żądanie skojarzenia klucza</translation>
</message>
<message>
- <source>You have received an association request for the above key.
-
-If you would like to allow it access to your KeePassXC database,
-give it a unique name to identify and accept it.</source>
- <translation>Otrzymałeś żądanie skojarzenia powyższego klucza.
-
-Jeżeli chcesz zezwolić na dostęp do twojej bazy danych KeePassXC,
-nadaj unikatowÄ… nazwÄ™ do zidentyfikowania i zaakceptuj.</translation>
- </message>
- <message>
<source>Save and allow access</source>
<translation>Zapisz i zezwól na dostęp</translation>
</message>
@@ -863,6 +872,18 @@ Czy chcesz teraz migrować istniejące ustawienia?</translation>
<source>Don&apos;t show this warning again</source>
<translation>Nie wyświetlaj ponownie tego ostrzeżenia</translation>
</message>
+ <message>
+ <source>You have received an association request for the following database:
+%1
+
+Give the connection a unique name or ID, for example:
+chrome-laptop.</source>
+ <translation>Otrzymałeś żądanie skojarzenia następującej bazy danych:
+%1
+
+Nadaj połączeniu unikatową nazwę lub identyfikator, na przykład:
+chrome-laptop.</translation>
+ </message>
</context>
<context>
<name>CloneDialog</name>
@@ -1130,10 +1151,6 @@ Proszę rozważyć wygenerowanie nowego pliku klucza.</translation>
<translation>Przełącz widoczność hasła</translation>
</message>
<message>
- <source>Enter Additional Credentials:</source>
- <translation>Wprowadź dodatkowe dane uwierzytelniające:</translation>
- </message>
- <message>
<source>Key file selection</source>
<translation>Wybór pliku klucza</translation>
</message>
@@ -1158,12 +1175,6 @@ Proszę rozważyć wygenerowanie nowego pliku klucza.</translation>
<translation>Klucz sprzętowy:</translation>
</message>
<message>
- <source>&lt;p&gt;You can use a hardware security key such as a &lt;strong&gt;YubiKey&lt;/strong&gt; or &lt;strong&gt;OnlyKey&lt;/strong&gt; with slots configured for HMAC-SHA1.&lt;/p&gt;
- &lt;p&gt;Click for more information...&lt;/p&gt;</source>
- <translation>&lt;p&gt;Możesz użyć sprzętowego klucza bezpieczeństwa, takiego jak &lt;strong&gt;YubiKey&lt;/strong&gt; albo &lt;strong&gt;OnlyKey&lt;/strong&gt; ze slotami skonfigurowanymi dla HMAC-SHA1.&lt;/p&gt;
- &lt;p&gt;Kliknij, aby uzyskać więcej informacji...&lt;/p&gt;</translation>
- </message>
- <message>
<source>Hardware key help</source>
<translation>Pomoc klucza sprzętowego</translation>
</message>
@@ -1180,10 +1191,6 @@ Proszę rozważyć wygenerowanie nowego pliku klucza.</translation>
<translation>Wyczyść plik klucza</translation>
</message>
<message>
- <source>Select file...</source>
- <translation>Wybierz plik...</translation>
- </message>
- <message>
<source>Unlock failed and no password given</source>
<translation>Odblokowanie nie powiodło się i nie podano hasła</translation>
</message>
@@ -1201,6 +1208,42 @@ Aby zapobiec pojawianiu się tego błędu, musisz przejść do &quot;Ustawienia
<source>Retry with empty password</source>
<translation>Spróbuj ponownie z pustym hasłem</translation>
</message>
+ <message>
+ <source>Enter Additional Credentials (if any):</source>
+ <translation>Wprowadź dodatkowe dane uwierzytelniające (jeśli istnieją):</translation>
+ </message>
+ <message>
+ <source>&lt;p&gt;You can use a hardware security key such as a &lt;strong&gt;YubiKey&lt;/strong&gt; or &lt;strong&gt;OnlyKey&lt;/strong&gt; with slots configured for HMAC-SHA1.&lt;/p&gt;
+&lt;p&gt;Click for more information...&lt;/p&gt;</source>
+ <translation>&lt;p&gt;Możesz użyć sprzętowego klucza bezpieczeństwa, takiego jak &lt;strong&gt;YubiKey&lt;/strong&gt; albo &lt;strong&gt;OnlyKey&lt;/strong&gt; ze slotami skonfigurowanymi dla HMAC-SHA1.&lt;/p&gt;
+&lt;p&gt;Kliknij, aby uzyskać więcej informacji...&lt;/p&gt;</translation>
+ </message>
+ <message>
+ <source>&lt;p&gt;In addition to your master password, you can use a secret file to enhance the security of your database. Such a file can be generated in your database&apos;s security settings.&lt;/p&gt;&lt;p&gt;This is &lt;strong&gt;not&lt;/strong&gt; your *.kdbx database file!&lt;br&gt;If you do not have a key file, leave the field empty.&lt;/p&gt;&lt;p&gt;Click for more information...&lt;/p&gt;</source>
+ <translation>&lt;p&gt;Oprócz hasła głównego można użyć pliku sekretnego w celu zwiększenia bezpieczeństwa bazy danych. Taki plik można wygenerować w ustawieniach zabezpieczeń bazy danych.&lt;/p&gt;&lt;p&gt;To &lt;strong&gt;nie&lt;/strong&gt; jest plik bazy danych *. kdbx!&lt;br&gt;Jeśli nie masz pliku klucza, pozostaw pole puste.&lt;/p&gt;&lt;p&gt;Kliknij, aby uzyskać więcej informacji...&lt;/p&gt;</translation>
+ </message>
+ <message>
+ <source>Key file help</source>
+ <translation>Pomoc dotyczÄ…ca pliku klucza</translation>
+ </message>
+ <message>
+ <source>?</source>
+ <translation>?</translation>
+ </message>
+ <message>
+ <source>Select key file...</source>
+ <translation>Wybierz plik klucza...</translation>
+ </message>
+ <message>
+ <source>Cannot use database file as key file</source>
+ <translation>Nie można użyć pliku bazy danych jako pliku klucza</translation>
+ </message>
+ <message>
+ <source>You cannot use your database file as a key file.
+If you do not have a key file, please leave the field empty.</source>
+ <translation>Nie można użyć pliku bazy danych jako pliku klucza.
+Jeśli nie masz pliku klucza, pozostaw puste pole.</translation>
+ </message>
</context>
<context>
<name>DatabaseSettingWidgetMetaData</name>
@@ -1841,6 +1884,10 @@ Czy na pewno chcesz kontynuować bez hasła?</translation>
<source>Average password length is less than ten characters. Longer passwords provide more security.</source>
<translation>Średnia długość hasła wynosi mniej niż dziesięć znaków. Dłuższe hasła zapewniają większe bezpieczeństwo.</translation>
</message>
+ <message>
+ <source>Please wait, database statistics are being calculated...</source>
+ <translation>Proszę czekać, statystyki bazy danych są obliczane...</translation>
+ </message>
</context>
<context>
<name>DatabaseTabWidget</name>
@@ -6281,6 +6328,10 @@ JÄ…dro: %3 %4</translation>
<source>Invalid password generator after applying all options</source>
<translation>Nieprawidłowy generator haseł po zastosowaniu wszystkich opcji</translation>
</message>
+ <message>
+ <source>Show the protected attributes in clear text.</source>
+ <translation>Pokaż chronione atrybuty w postaci zwykłego tekstu.</translation>
+ </message>
</context>
<context>
<name>QtIOCompressor</name>
diff --git a/share/translations/keepassx_pt.ts b/share/translations/keepassx_pt.ts
index 2672bbd9b..d5b4b6b5d 100644
--- a/share/translations/keepassx_pt.ts
+++ b/share/translations/keepassx_pt.ts
@@ -444,6 +444,14 @@
<source>This Auto-Type command contains arguments which are repeated very often. Do you really want to proceed?</source>
<translation>O comando de escrita automática contém argumentos que se repetem muitas vezes. Deseja mesmo continuar?</translation>
</message>
+ <message>
+ <source>Permission Required</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>KeePassXC requires the Accessibility permission in order to perform entry level Auto-Type. If you already granted permission, you may have to restart KeePassXC.</source>
+ <translation type="unfinished"/>
+ </message>
</context>
<context>
<name>AutoTypeAssociationsModel</name>
@@ -491,6 +499,17 @@
</message>
</context>
<context>
+ <name>AutoTypePlatformMac</name>
+ <message>
+ <source>Permission Required</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>KeePassXC requires the Accessibility and Screen Recorder permission in order to perform global Auto-Type. Screen Recording is necessary to use the window title to find entries. If you already granted permission, you may have to restart KeePassXC.</source>
+ <translation type="unfinished"/>
+ </message>
+</context>
+<context>
<name>AutoTypeSelectDialog</name>
<message>
<source>Auto-Type - KeePassXC</source>
@@ -774,16 +793,6 @@ Selecione a base de dados correta para guardar as credenciais.</translation>
<translation>KeePassXC: Pedido de associação de nova chave</translation>
</message>
<message>
- <source>You have received an association request for the above key.
-
-If you would like to allow it access to your KeePassXC database,
-give it a unique name to identify and accept it.</source>
- <translation>Recebeu um pedido de associação para a chave acima indicada.
-
-Se quiser permitir o acesso à sua base de dados do KeePassXC,
-introduza um nome identificável e aceite o pedido.</translation>
- </message>
- <message>
<source>Save and allow access</source>
<translation>Guardar e permitir acesso</translation>
</message>
@@ -863,6 +872,14 @@ Quer migrar as definições agora?</translation>
<source>Don&apos;t show this warning again</source>
<translation>Não mostrar novamente</translation>
</message>
+ <message>
+ <source>You have received an association request for the following database:
+%1
+
+Give the connection a unique name or ID, for example:
+chrome-laptop.</source>
+ <translation type="unfinished"/>
+ </message>
</context>
<context>
<name>CloneDialog</name>
@@ -1129,10 +1146,6 @@ Deve considerar a geração de uma novo ficheiro-chave.</translation>
<translation type="unfinished"/>
</message>
<message>
- <source>Enter Additional Credentials:</source>
- <translation type="unfinished"/>
- </message>
- <message>
<source>Key file selection</source>
<translation type="unfinished"/>
</message>
@@ -1157,11 +1170,6 @@ Deve considerar a geração de uma novo ficheiro-chave.</translation>
<translation type="unfinished"/>
</message>
<message>
- <source>&lt;p&gt;You can use a hardware security key such as a &lt;strong&gt;YubiKey&lt;/strong&gt; or &lt;strong&gt;OnlyKey&lt;/strong&gt; with slots configured for HMAC-SHA1.&lt;/p&gt;
- &lt;p&gt;Click for more information...&lt;/p&gt;</source>
- <translation type="unfinished"/>
- </message>
- <message>
<source>Hardware key help</source>
<translation type="unfinished"/>
</message>
@@ -1178,10 +1186,6 @@ Deve considerar a geração de uma novo ficheiro-chave.</translation>
<translation type="unfinished"/>
</message>
<message>
- <source>Select file...</source>
- <translation type="unfinished"/>
- </message>
- <message>
<source>Unlock failed and no password given</source>
<translation type="unfinished"/>
</message>
@@ -1196,6 +1200,40 @@ To prevent this error from appearing, you must go to &quot;Database Settings / S
<source>Retry with empty password</source>
<translation type="unfinished"/>
</message>
+ <message>
+ <source>Enter Additional Credentials (if any):</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>&lt;p&gt;You can use a hardware security key such as a &lt;strong&gt;YubiKey&lt;/strong&gt; or &lt;strong&gt;OnlyKey&lt;/strong&gt; with slots configured for HMAC-SHA1.&lt;/p&gt;
+&lt;p&gt;Click for more information...&lt;/p&gt;</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>&lt;p&gt;In addition to your master password, you can use a secret file to enhance the security of your database. Such a file can be generated in your database&apos;s security settings.&lt;/p&gt;&lt;p&gt;This is &lt;strong&gt;not&lt;/strong&gt; your *.kdbx database file!&lt;br&gt;If you do not have a key file, leave the field empty.&lt;/p&gt;&lt;p&gt;Click for more information...&lt;/p&gt;</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Key file help</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>?</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Select key file...</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Cannot use database file as key file</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>You cannot use your database file as a key file.
+If you do not have a key file, please leave the field empty.</source>
+ <translation type="unfinished"/>
+ </message>
</context>
<context>
<name>DatabaseSettingWidgetMetaData</name>
@@ -1835,6 +1873,10 @@ Tem a certeza de que deseja continuar?</translation>
<source>Average password length is less than ten characters. Longer passwords provide more security.</source>
<translation type="unfinished"/>
</message>
+ <message>
+ <source>Please wait, database statistics are being calculated...</source>
+ <translation type="unfinished"/>
+ </message>
</context>
<context>
<name>DatabaseTabWidget</name>
@@ -6267,6 +6309,10 @@ Kernel: %3 %4</translation>
<source>Invalid password generator after applying all options</source>
<translation type="unfinished"/>
</message>
+ <message>
+ <source>Show the protected attributes in clear text.</source>
+ <translation type="unfinished"/>
+ </message>
</context>
<context>
<name>QtIOCompressor</name>
diff --git a/share/translations/keepassx_pt_BR.ts b/share/translations/keepassx_pt_BR.ts
index e1a90e218..4e5b1349e 100644
--- a/share/translations/keepassx_pt_BR.ts
+++ b/share/translations/keepassx_pt_BR.ts
@@ -233,7 +233,7 @@
</message>
<message>
<source>Remember database key files and security dongles</source>
- <translation type="unfinished"/>
+ <translation>Lembre-se do arquivo-chave e dongles de segurança do banco de dados</translation>
</message>
<message>
<source>Check for updates at application startup once per week</source>
@@ -394,15 +394,15 @@
</message>
<message>
<source>Clipboard clear seconds</source>
- <translation type="unfinished"/>
+ <translation>Limpeza da área de transferência em segundos</translation>
</message>
<message>
<source>Touch ID inactivity reset</source>
- <translation type="unfinished"/>
+ <translation>Reiniciar a initividade do Touch ID</translation>
</message>
<message>
<source>Database lock timeout seconds</source>
- <translation type="unfinished"/>
+ <translation>Tempo limite em segundos de bloqueio do banco de dados</translation>
</message>
<message>
<source> min</source>
@@ -411,7 +411,7 @@
</message>
<message>
<source>Clear search query after</source>
- <translation type="unfinished"/>
+ <translation>Limpar pesquisa depois de</translation>
</message>
</context>
<context>
@@ -444,6 +444,14 @@
<source>This Auto-Type command contains arguments which are repeated very often. Do you really want to proceed?</source>
<translation>Este comando de autodigitação contém parâmetros que são repetidos muitas vezes. Você tem certeza de que deseja continuar?</translation>
</message>
+ <message>
+ <source>Permission Required</source>
+ <translation>Permissão Requerida</translation>
+ </message>
+ <message>
+ <source>KeePassXC requires the Accessibility permission in order to perform entry level Auto-Type. If you already granted permission, you may have to restart KeePassXC.</source>
+ <translation>KeePassXC requer a permissão de Acessibilidade para realizar Auto-Digitar no nível das entradas. Se você já garantiu as permissões, você deve reiniciar o KeePassXC.</translation>
+ </message>
</context>
<context>
<name>AutoTypeAssociationsModel</name>
@@ -491,6 +499,17 @@
</message>
</context>
<context>
+ <name>AutoTypePlatformMac</name>
+ <message>
+ <source>Permission Required</source>
+ <translation>Permissão Requerida</translation>
+ </message>
+ <message>
+ <source>KeePassXC requires the Accessibility and Screen Recorder permission in order to perform global Auto-Type. Screen Recording is necessary to use the window title to find entries. If you already granted permission, you may have to restart KeePassXC.</source>
+ <translation>KeePassXC requer as permissões de Acessibilidade e de Gravação de Tela para realizar o Auto-Digitar global. Gravação de Tela é necessário para para usar o título da janela e encontrar as entradas. Se você já garantiu as permissões, você deve reiniciar o KeePassXC.</translation>
+ </message>
+</context>
+<context>
<name>AutoTypeSelectDialog</name>
<message>
<source>Auto-Type - KeePassXC</source>
@@ -724,11 +743,11 @@ Por favor, selecione o banco de dados correto para salvar as credenciais.</trans
</message>
<message>
<source>&amp;Brave</source>
- <translation type="unfinished"/>
+ <translation>&amp;Bravo</translation>
</message>
<message>
<source>Returns expired credentials. String [expired] is added to the title.</source>
- <translation type="unfinished"/>
+ <translation>Retornou credenciais expiradas. [expired] foi adicionado ao título.</translation>
</message>
<message>
<source>&amp;Allow returning expired credentials.</source>
@@ -748,23 +767,23 @@ Por favor, selecione o banco de dados correto para salvar as credenciais.</trans
</message>
<message>
<source>Don&apos;t display the popup suggesting migration of legacy KeePassHTTP settings.</source>
- <translation type="unfinished"/>
+ <translation>Não mostrar o popup sugerindo migração das configurações do KeePassHTTP legado.</translation>
</message>
<message>
<source>&amp;Do not prompt for KeePassHTTP settings migration.</source>
- <translation type="unfinished"/>
+ <translation>&amp;Não alertar sobre a migração das configurações do KeePassHTTP.</translation>
</message>
<message>
<source>Custom proxy location field</source>
- <translation type="unfinished"/>
+ <translation>Campo de localização proxy personalizado</translation>
</message>
<message>
<source>Browser for custom proxy file</source>
- <translation type="unfinished"/>
+ <translation>Navegar por arquivo proxy personalizado</translation>
</message>
<message>
<source>&lt;b&gt;Warning&lt;/b&gt;, the keepassxc-proxy application was not found!&lt;br /&gt;Please check the KeePassXC installation directory or confirm the custom path in advanced options.&lt;br /&gt;Browser integration WILL NOT WORK without the proxy application.&lt;br /&gt;Expected Path: %1</source>
- <translation type="unfinished"/>
+ <translation>&lt;b&gt;Alerta&lt;/b&gt;, a aplicação do keepassxc-proxy não foi encontrada! &lt;br /&gt;Por favor verifique o diretório de instalação do KeePassXC ou confirme o caminho personalizado nas opções avançadas.&lt;br /&gt;A integração do navegador NÃO IRà FUNCIONAR sem a aplicação proxy. &lt;br /&gt;Caminho esperado: %1</translation>
</message>
</context>
<context>
@@ -774,15 +793,6 @@ Por favor, selecione o banco de dados correto para salvar as credenciais.</trans
<translation>KeePassXC: Nova associação de chaves requisitada</translation>
</message>
<message>
- <source>You have received an association request for the above key.
-
-If you would like to allow it access to your KeePassXC database,
-give it a unique name to identify and accept it.</source>
- <translation>Você recebeu uma solicitação de associação para a chave acima.
-
-Se você gostaria de permitir acesso ao seu banco de dados KeePassXC, atribua um nome exclusivo para identifica-lo e aceitá-lo.</translation>
- </message>
- <message>
<source>Save and allow access</source>
<translation>Salvar e permitir acesso</translation>
</message>
@@ -862,6 +872,18 @@ Gostaria de migrar suas configurações existentes agora?</translation>
<source>Don&apos;t show this warning again</source>
<translation>Não mostrar este alerta novamente</translation>
</message>
+ <message>
+ <source>You have received an association request for the following database:
+%1
+
+Give the connection a unique name or ID, for example:
+chrome-laptop.</source>
+ <translation>Você receber um pedido de associação para o seguinte banco de dados:
+%1
+
+Dê à conexão um nome único ou um ID, por exemplo:
+chrome-laptop</translation>
+ </message>
</context>
<context>
<name>CloneDialog</name>
@@ -972,15 +994,15 @@ Gostaria de migrar suas configurações existentes agora?</translation>
</message>
<message>
<source>Text qualification</source>
- <translation type="unfinished"/>
+ <translation>Qualificação textual</translation>
</message>
<message>
<source>Field separation</source>
- <translation type="unfinished"/>
+ <translation>Separação de campos</translation>
</message>
<message>
<source>Number of header lines to discard</source>
- <translation type="unfinished"/>
+ <translation>Número de linhas do cabeçalho para descartar</translation>
</message>
<message>
<source>CSV import preview</source>
@@ -1037,19 +1059,20 @@ Gostaria de migrar suas configurações existentes agora?</translation>
<message>
<source>%1
Backup database located at %2</source>
- <translation type="unfinished"/>
+ <translation>%1
+Backup do banco de dados alocado em %2</translation>
</message>
<message>
<source>Could not save, database does not point to a valid file.</source>
- <translation type="unfinished"/>
+ <translation>Não foi possível salvar. Banco de dados não aponta para um arquivo válido.</translation>
</message>
<message>
<source>Could not save, database file is read-only.</source>
- <translation type="unfinished"/>
+ <translation>Não foi possível salvar. Banco de dados é somente leitura.</translation>
</message>
<message>
<source>Database file has unmerged changes.</source>
- <translation type="unfinished"/>
+ <translation>O arquivo de banco de dados separou as mudanças.</translation>
</message>
<message>
<source>Recycle Bin</source>
@@ -1104,11 +1127,11 @@ Por favor, considere-se gerar um novo arquivo de chave.</translation>
</message>
<message>
<source>Failed to open key file: %1</source>
- <translation type="unfinished"/>
+ <translation>Falha ao abrir o arquivo-chave: %1</translation>
</message>
<message>
<source>Select slot...</source>
- <translation type="unfinished"/>
+ <translation>Selecione um campo...</translation>
</message>
<message>
<source>Unlock KeePassXC Database</source>
@@ -1127,16 +1150,12 @@ Por favor, considere-se gerar um novo arquivo de chave.</translation>
<translation>Alternar visibilidade da senha</translation>
</message>
<message>
- <source>Enter Additional Credentials:</source>
- <translation>Digitar Credenciais Adicionais:</translation>
- </message>
- <message>
<source>Key file selection</source>
- <translation type="unfinished"/>
+ <translation>Seleção do arquivo de chave</translation>
</message>
<message>
<source>Hardware key slot selection</source>
- <translation type="unfinished"/>
+ <translation>Seleção de campo de chave de hardware</translation>
</message>
<message>
<source>Browse for key file</source>
@@ -1148,24 +1167,19 @@ Por favor, considere-se gerar um novo arquivo de chave.</translation>
</message>
<message>
<source>Refresh hardware tokens</source>
- <translation type="unfinished"/>
+ <translation>Atualizar os tokens de hardware</translation>
</message>
<message>
<source>Hardware Key:</source>
- <translation type="unfinished"/>
- </message>
- <message>
- <source>&lt;p&gt;You can use a hardware security key such as a &lt;strong&gt;YubiKey&lt;/strong&gt; or &lt;strong&gt;OnlyKey&lt;/strong&gt; with slots configured for HMAC-SHA1.&lt;/p&gt;
- &lt;p&gt;Click for more information...&lt;/p&gt;</source>
- <translation type="unfinished"/>
+ <translation>Chave de hardware:</translation>
</message>
<message>
<source>Hardware key help</source>
- <translation type="unfinished"/>
+ <translation>Ajuda da chave física</translation>
</message>
<message>
<source>TouchID for Quick Unlock</source>
- <translation type="unfinished"/>
+ <translation>TouchID para desbloqueio rápido</translation>
</message>
<message>
<source>Clear</source>
@@ -1173,27 +1187,62 @@ Por favor, considere-se gerar um novo arquivo de chave.</translation>
</message>
<message>
<source>Clear Key File</source>
- <translation type="unfinished"/>
- </message>
- <message>
- <source>Select file...</source>
- <translation>Selecionar arquivo...</translation>
+ <translation>Limpar arquivo de chave</translation>
</message>
<message>
<source>Unlock failed and no password given</source>
- <translation type="unfinished"/>
+ <translation>Desbloqueio falhou e nenhuma senha foi digitada</translation>
</message>
<message>
<source>Unlocking the database failed and you did not enter a password.
Do you want to retry with an &quot;empty&quot; password instead?
To prevent this error from appearing, you must go to &quot;Database Settings / Security&quot; and reset your password.</source>
- <translation type="unfinished"/>
+ <translation>Desbloqueio do banco de dados falhou e você não digitou uma senha.
+Você quer tentar com uma senha &quot;vazia&quot;?
+
+Para impedir que esses erros apareçam, você deve ir em &quot;Configurações do banco de dados / Segurança&quot; e resetar sua senha.</translation>
</message>
<message>
<source>Retry with empty password</source>
<translation>Retentar com senha vazia</translation>
</message>
+ <message>
+ <source>Enter Additional Credentials (if any):</source>
+ <translation>Entre com as Credenciais Adicionais (se tiver alguma):</translation>
+ </message>
+ <message>
+ <source>&lt;p&gt;You can use a hardware security key such as a &lt;strong&gt;YubiKey&lt;/strong&gt; or &lt;strong&gt;OnlyKey&lt;/strong&gt; with slots configured for HMAC-SHA1.&lt;/p&gt;
+&lt;p&gt;Click for more information...&lt;/p&gt;</source>
+ <translation>&lt;p&gt;Você pode usar uma chave de segurança em hardware, como um &lt;strong&gt;YubiKey&lt;/strong&gt; ou &lt;strong&gt;OnlyKey&lt;/strong&gt; com campos configurados para HMAC-SHA1&lt;/p&gt;
+&lt;p&gt;Clique para maiores informações...&lt;/p&gt;</translation>
+ </message>
+ <message>
+ <source>&lt;p&gt;In addition to your master password, you can use a secret file to enhance the security of your database. Such a file can be generated in your database&apos;s security settings.&lt;/p&gt;&lt;p&gt;This is &lt;strong&gt;not&lt;/strong&gt; your *.kdbx database file!&lt;br&gt;If you do not have a key file, leave the field empty.&lt;/p&gt;&lt;p&gt;Click for more information...&lt;/p&gt;</source>
+ <translation>&lt;p&gt;Em adição à sua senha mestra, você pode usar um arquivo secreto para aumentar a segurança de seu banco de dados. Este arquivo pode ser gerado em suas configurações de segurança do banco de dados.&lt;/p&gt;&lt;p&gt;Este &lt;strong&gt;não&lt;/strong&gt; é seu arquivo de banco de dados *.kdbx!&lt;br&gt;Se você não tem um arquivo chave, deixe o campo em branco.&lt;/p&gt;&lt;p&gt;Clique para maiores informações...&lt;/p&gt;</translation>
+ </message>
+ <message>
+ <source>Key file help</source>
+ <translation>Ajuda do Arquivo Chave</translation>
+ </message>
+ <message>
+ <source>?</source>
+ <translation>?</translation>
+ </message>
+ <message>
+ <source>Select key file...</source>
+ <translation>Selecione um arquivo chave...</translation>
+ </message>
+ <message>
+ <source>Cannot use database file as key file</source>
+ <translation>Não use arquivos de banco de dados (*.kdbx) como arquivo chave</translation>
+ </message>
+ <message>
+ <source>You cannot use your database file as a key file.
+If you do not have a key file, please leave the field empty.</source>
+ <translation>Você não pode usar seu arquivo de banco de dados como arquivo chave.
+Se você não tem um arquivo chave, por favor deixe o campo vazio.</translation>
+ </message>
</context>
<context>
<name>DatabaseSettingWidgetMetaData</name>
@@ -1349,7 +1398,7 @@ Isso é necessário para manter a compatibilidade com o plugin do navegador.</tr
</message>
<message>
<source>Stored browser keys</source>
- <translation type="unfinished"/>
+ <translation>Chaves do navegador armazenadas</translation>
</message>
<message>
<source>Remove selected key</source>
@@ -1499,11 +1548,11 @@ Se você manter este número, seu banco de dados pode ser facilmente crackeado!<
</message>
<message>
<source>Change existing decryption time</source>
- <translation type="unfinished"/>
+ <translation>Mudar tempo de descriptografia</translation>
</message>
<message>
<source>Decryption time in seconds</source>
- <translation type="unfinished"/>
+ <translation>Tempo de descriptografia em segundos</translation>
</message>
<message>
<source>Database format</source>
@@ -1515,11 +1564,11 @@ Se você manter este número, seu banco de dados pode ser facilmente crackeado!<
</message>
<message>
<source>Key derivation function</source>
- <translation type="unfinished"/>
+ <translation>Função de derivação de chave</translation>
</message>
<message>
<source>Transform rounds</source>
- <translation type="unfinished"/>
+ <translation>Rodadas de transformação</translation>
</message>
<message>
<source>Memory usage</source>
@@ -1538,15 +1587,15 @@ Se você manter este número, seu banco de dados pode ser facilmente crackeado!<
</message>
<message>
<source>Don&apos;t e&amp;xpose this database</source>
- <translation type="unfinished"/>
+ <translation>Não e&amp;xibir este banco de dados</translation>
</message>
<message>
<source>Expose entries &amp;under this group:</source>
- <translation type="unfinished"/>
+ <translation>Exibir entradas &amp;neste grupo:</translation>
</message>
<message>
<source>Enable fd.o Secret Service to access these settings.</source>
- <translation type="unfinished"/>
+ <translation>Habilitar fd.o Secret Service para acessar estas configurações.</translation>
</message>
</context>
<context>
@@ -1597,23 +1646,23 @@ Se você manter este número, seu banco de dados pode ser facilmente crackeado!<
</message>
<message>
<source>Database name field</source>
- <translation type="unfinished"/>
+ <translation>Nome do campo do banco de dados</translation>
</message>
<message>
<source>Database description field</source>
- <translation type="unfinished"/>
+ <translation>Campo de descrição do banco de dados</translation>
</message>
<message>
<source>Default username field</source>
- <translation type="unfinished"/>
+ <translation>Campo de usuário padrão</translation>
</message>
<message>
<source>Maximum number of history items per entry</source>
- <translation type="unfinished"/>
+ <translation>Número máximo de histórico dos itens por entrada</translation>
</message>
<message>
<source>Maximum size of history per entry</source>
- <translation type="unfinished"/>
+ <translation>Número máximo de histórico dos itens por entrada</translation>
</message>
<message>
<source>Delete Recycle Bin</source>
@@ -1622,7 +1671,8 @@ Se você manter este número, seu banco de dados pode ser facilmente crackeado!<
<message>
<source>Do you want to delete the current recycle bin and all its contents?
This action is not reversible.</source>
- <translation type="unfinished"/>
+ <translation>Você quer deletar a lixeira atual e todo o conteúdo dela?
+Esta ação não é reversível.</translation>
</message>
<message>
<source> (old)</source>
@@ -1637,7 +1687,7 @@ This action is not reversible.</source>
</message>
<message>
<source>Breadcrumb</source>
- <translation type="unfinished"/>
+ <translation>Breadcrumb</translation>
</message>
<message>
<source>Type</source>
@@ -1712,11 +1762,11 @@ Tem certeza de que deseja continuar sem uma senha?</translation>
</message>
<message>
<source>Database name field</source>
- <translation type="unfinished"/>
+ <translation>Nome do campo do banco de dados</translation>
</message>
<message>
<source>Database description field</source>
- <translation type="unfinished"/>
+ <translation>Campo de descrição do banco de dados</translation>
</message>
</context>
<context>
@@ -1727,7 +1777,7 @@ Tem certeza de que deseja continuar sem uma senha?</translation>
</message>
<message>
<source>Hover over lines with error icons for further information.</source>
- <translation type="unfinished"/>
+ <translation>Passe o mouse por cima dos ícones de erro para maiores informações.</translation>
</message>
<message>
<source>Name</source>
@@ -1751,7 +1801,7 @@ Tem certeza de que deseja continuar sem uma senha?</translation>
</message>
<message>
<source>Last saved</source>
- <translation type="unfinished"/>
+ <translation>Salvo por último em </translation>
</message>
<message>
<source>Unsaved changes</source>
@@ -1795,11 +1845,11 @@ Tem certeza de que deseja continuar sem uma senha?</translation>
</message>
<message>
<source>More than 10% of passwords are reused. Use unique passwords when possible.</source>
- <translation type="unfinished"/>
+ <translation>Mais que 10% das senhas estão sendo reutilizadas. Use senhas únicas quando possível.</translation>
</message>
<message>
<source>Maximum password reuse</source>
- <translation type="unfinished"/>
+ <translation>Máximo de reusos da senha</translation>
</message>
<message>
<source>Some passwords are used more than three times. Use unique passwords when possible.</source>
@@ -1807,7 +1857,7 @@ Tem certeza de que deseja continuar sem uma senha?</translation>
</message>
<message>
<source>Number of short passwords</source>
- <translation type="unfinished"/>
+ <translation>Números de senhas pequenas</translation>
</message>
<message>
<source>Recommended minimum password length is at least 8 characters.</source>
@@ -1831,7 +1881,11 @@ Tem certeza de que deseja continuar sem uma senha?</translation>
</message>
<message>
<source>Average password length is less than ten characters. Longer passwords provide more security.</source>
- <translation type="unfinished"/>
+ <translation>O tamanho médio das senhas é menor que dez caracteres. Senhas maiores são mais seguras.</translation>
+ </message>
+ <message>
+ <source>Please wait, database statistics are being calculated...</source>
+ <translation>Por favor espere, as estatísticas do banco de dados estão sendo calculadas...</translation>
</message>
</context>
<context>
@@ -1907,7 +1961,7 @@ Este é definitivamente um bug, por favor denuncie para os desenvolvedores.</tra
</message>
<message>
<source>Failed to open %1. It either does not exist or is not accessible.</source>
- <translation type="unfinished"/>
+ <translation>Falha ao abrir %1. Está inacessível ou não existe.</translation>
</message>
<message>
<source>Export database to HTML file</source>
@@ -1919,7 +1973,7 @@ Este é definitivamente um bug, por favor denuncie para os desenvolvedores.</tra
</message>
<message>
<source>Writing the HTML file failed.</source>
- <translation type="unfinished"/>
+ <translation>Falha ao escrever no arquivo HTML</translation>
</message>
<message>
<source>Export Confirmation</source>
@@ -2235,7 +2289,7 @@ Deseja desabilitar salvamento seguro e tentar novamente?</translation>
</message>
<message>
<source>&lt;empty URL&gt;</source>
- <translation type="unfinished"/>
+ <translation>&lt;empty URL&gt;</translation>
</message>
<message>
<source>Are you sure you want to remove this URL?</source>
@@ -2282,7 +2336,7 @@ Deseja desabilitar salvamento seguro e tentar novamente?</translation>
</message>
<message>
<source>Attribute selection</source>
- <translation type="unfinished"/>
+ <translation>Seleção de atributos</translation>
</message>
<message>
<source>Attribute value</source>
@@ -2302,7 +2356,7 @@ Deseja desabilitar salvamento seguro e tentar novamente?</translation>
</message>
<message>
<source>Toggle attribute protection</source>
- <translation type="unfinished"/>
+ <translation>Alterar a proteção do atributo</translation>
</message>
<message>
<source>Show a protected attribute</source>
@@ -2310,11 +2364,11 @@ Deseja desabilitar salvamento seguro e tentar novamente?</translation>
</message>
<message>
<source>Foreground color selection</source>
- <translation type="unfinished"/>
+ <translation>Seleção da cor do primeiro plano</translation>
</message>
<message>
<source>Background color selection</source>
- <translation type="unfinished"/>
+ <translation>Seleção de cor do plano de fundo</translation>
</message>
</context>
<context>
@@ -2357,42 +2411,42 @@ Deseja desabilitar salvamento seguro e tentar novamente?</translation>
</message>
<message>
<source>Open Auto-Type help webpage</source>
- <translation type="unfinished"/>
+ <translation>Abrir a página de ajuda da auto-digitar</translation>
</message>
<message>
<source>Existing window associations</source>
- <translation type="unfinished"/>
+ <translation>Associar janelas existentes</translation>
</message>
<message>
<source>Add new window association</source>
- <translation type="unfinished"/>
+ <translation>Adicionar nova associação de janela</translation>
</message>
<message>
<source>Remove selected window association</source>
- <translation type="unfinished"/>
+ <translation>Remover a associação de janela selecionada</translation>
</message>
<message>
<source>You can use an asterisk (*) to match everything</source>
- <translation type="unfinished"/>
+ <translation>Você pode usar um asterisco (*) para corresponder a tudo</translation>
</message>
<message>
<source>Set the window association title</source>
- <translation type="unfinished"/>
+ <translation>Montar um arquivo de associação de janela</translation>
</message>
<message>
<source>You can use an asterisk to match everything</source>
- <translation type="unfinished"/>
+ <translation>Você pode usar um asterisco para corresponder a tudo</translation>
</message>
<message>
<source>Custom Auto-Type sequence for this window</source>
- <translation type="unfinished"/>
+ <translation>Sequência de auto-digitar personalizada para esta janela</translation>
</message>
</context>
<context>
<name>EditEntryWidgetBrowser</name>
<message>
<source>These settings affect to the entry&apos;s behaviour with the browser extension.</source>
- <translation type="unfinished"/>
+ <translation>Essas configurações afetam o comportamento de entrada da extensão do navegador.</translation>
</message>
<message>
<source>General</source>
@@ -2408,7 +2462,7 @@ Deseja desabilitar salvamento seguro e tentar novamente?</translation>
</message>
<message>
<source>Additional URL&apos;s</source>
- <translation type="unfinished"/>
+ <translation>URL&apos;s adicionais</translation>
</message>
<message>
<source>Add</source>
@@ -2443,19 +2497,19 @@ Deseja desabilitar salvamento seguro e tentar novamente?</translation>
</message>
<message>
<source>Entry history selection</source>
- <translation type="unfinished"/>
+ <translation>Seleção de histórico de entrada</translation>
</message>
<message>
<source>Show entry at selected history state</source>
- <translation type="unfinished"/>
+ <translation>Mostrar entrada no estado de histórico selecionado</translation>
</message>
<message>
<source>Restore entry to selected history state</source>
- <translation type="unfinished"/>
+ <translation>Restaurar entrada para o estado de histórico selecionado</translation>
</message>
<message>
<source>Delete selected history state</source>
- <translation type="unfinished"/>
+ <translation>Apagar o estado de histórico selecionado</translation>
</message>
<message>
<source>Delete all history</source>
@@ -2510,11 +2564,11 @@ Deseja desabilitar salvamento seguro e tentar novamente?</translation>
</message>
<message>
<source>Repeat password field</source>
- <translation type="unfinished"/>
+ <translation>Repetir campo de senha</translation>
</message>
<message>
<source>Toggle password generator</source>
- <translation type="unfinished"/>
+ <translation>Alternar gerador de senha</translation>
</message>
<message>
<source>Password field</source>
@@ -2530,15 +2584,15 @@ Deseja desabilitar salvamento seguro e tentar novamente?</translation>
</message>
<message>
<source>Expiration field</source>
- <translation type="unfinished"/>
+ <translation>Campo de expiração</translation>
</message>
<message>
<source>Expiration Presets</source>
- <translation type="unfinished"/>
+ <translation>Expiração Predefinida</translation>
</message>
<message>
<source>Expiration presets</source>
- <translation type="unfinished"/>
+ <translation>Expiração predefinida</translation>
</message>
<message>
<source>Notes field</source>
@@ -2546,15 +2600,15 @@ Deseja desabilitar salvamento seguro e tentar novamente?</translation>
</message>
<message>
<source>Title field</source>
- <translation type="unfinished"/>
+ <translation>Campo de título</translation>
</message>
<message>
<source>Username field</source>
- <translation type="unfinished"/>
+ <translation>Campo de usuário</translation>
</message>
<message>
<source>Toggle expiration</source>
- <translation type="unfinished"/>
+ <translation>Alternar expiração</translation>
</message>
</context>
<context>
@@ -2634,19 +2688,19 @@ Deseja desabilitar salvamento seguro e tentar novamente?</translation>
</message>
<message>
<source>Remove key from agent after specified seconds</source>
- <translation type="unfinished"/>
+ <translation>Remover chave do agente após os segundos especificados</translation>
</message>
<message>
<source>Browser for key file</source>
- <translation type="unfinished"/>
+ <translation>Navegar por arquivo chave</translation>
</message>
<message>
<source>External key file</source>
- <translation type="unfinished"/>
+ <translation>Arquivo chave externo</translation>
</message>
<message>
<source>Select attachment file</source>
- <translation type="unfinished"/>
+ <translation>Selecionar arquivo anexado</translation>
</message>
</context>
<context>
@@ -2716,11 +2770,11 @@ Deseja desabilitar salvamento seguro e tentar novamente?</translation>
</message>
<message>
<source>KeeShare unsigned container</source>
- <translation type="unfinished"/>
+ <translation>Recipiente KeeShare não assinado</translation>
</message>
<message>
<source>KeeShare signed container</source>
- <translation type="unfinished"/>
+ <translation>Recipiente KeeShare assinado</translation>
</message>
<message>
<source>Select import source</source>
@@ -2753,24 +2807,25 @@ Deseja desabilitar salvamento seguro e tentar novamente?</translation>
<message>
<source>Your KeePassXC version does not support sharing this container type.
Supported extensions are: %1.</source>
- <translation type="unfinished"/>
+ <translation>Sua versão do KeePassXC não suporta esse tipo de recipiente.
+Extensões suportadas são: %1</translation>
</message>
<message>
<source>%1 is already being exported by this database.</source>
- <translation type="unfinished"/>
+ <translation>%1 já foi exportado deste banco de dados.</translation>
</message>
<message>
<source>%1 is already being imported by this database.</source>
- <translation type="unfinished"/>
+ <translation>%1 já foi importado deste banco de dados.</translation>
</message>
<message>
<source>%1 is being imported and exported by different groups in this database.</source>
- <translation type="unfinished"/>
+ <translation>%1 já foi importado e exportado por diferentes grupos neste banco de dados.</translation>
</message>
<message>
<source>KeeShare is currently disabled. You can enable import/export in the application settings.</source>
<comment>KeeShare is a proper noun</comment>
- <translation type="unfinished"/>
+ <translation>KeeShare está atualmente desativado. Você pode habilitar importação/exportação nas configurações do aplicativo.</translation>
</message>
<message>
<source>Database export is currently disabled by application settings.</source>
@@ -2782,15 +2837,15 @@ Supported extensions are: %1.</source>
</message>
<message>
<source>Sharing mode field</source>
- <translation type="unfinished"/>
+ <translation>Campo do modo de compartilhamento</translation>
</message>
<message>
<source>Path to share file field</source>
- <translation type="unfinished"/>
+ <translation>Campo do caminho para compartilhar arquivo</translation>
</message>
<message>
<source>Browser for share file</source>
- <translation type="unfinished"/>
+ <translation>Navegar por arquivo compartilhado</translation>
</message>
<message>
<source>Password field</source>
@@ -2802,7 +2857,7 @@ Supported extensions are: %1.</source>
</message>
<message>
<source>Toggle password generator</source>
- <translation type="unfinished"/>
+ <translation>Alternar gerador de senha</translation>
</message>
<message>
<source>Clear fields</source>
@@ -2849,23 +2904,23 @@ Supported extensions are: %1.</source>
</message>
<message>
<source>Toggle expiration</source>
- <translation type="unfinished"/>
+ <translation>Alternar expiração</translation>
</message>
<message>
<source>Auto-Type toggle for this and sub groups</source>
- <translation type="unfinished"/>
+ <translation>Alternar Auto-Digitar para estes sub grupos</translation>
</message>
<message>
<source>Expiration field</source>
- <translation type="unfinished"/>
+ <translation>Campo de expiração</translation>
</message>
<message>
<source>Search toggle for this and sub groups</source>
- <translation type="unfinished"/>
+ <translation>Alternar busca para estes sub grupos</translation>
</message>
<message>
<source>Default auto-type sequence field</source>
- <translation type="unfinished"/>
+ <translation>Campo de sequência de Auto-Digitar padrão</translation>
</message>
</context>
<context>
@@ -2932,7 +2987,7 @@ Supported extensions are: %1.</source>
</message>
<message>
<source>You can enable the DuckDuckGo website icon service under Tools -&gt; Settings -&gt; Security</source>
- <translation type="unfinished"/>
+ <translation>Você pode habilitar o serviço de ícone do site do DuckDuckGo em Ferramentas -&gt; Configurações -&gt; Segurança</translation>
</message>
<message>
<source>Download favicon for URL</source>
@@ -2940,31 +2995,31 @@ Supported extensions are: %1.</source>
</message>
<message>
<source>Apply selected icon to subgroups and entries</source>
- <translation type="unfinished"/>
+ <translation>Aplicar ícone selecionado aos sub grupos e entradas</translation>
</message>
<message>
<source>Apply icon &amp;to ...</source>
- <translation type="unfinished"/>
+ <translation>Aplicar ícone &amp;em</translation>
</message>
<message>
<source>Apply to this only</source>
- <translation type="unfinished"/>
+ <translation>Aplicar apenas neste</translation>
</message>
<message>
<source>Also apply to child groups</source>
- <translation type="unfinished"/>
+ <translation>Também aplicar nos grupos herdeiros</translation>
</message>
<message>
<source>Also apply to child entries</source>
- <translation type="unfinished"/>
+ <translation>Também aplicar nas entradas herdeiras</translation>
</message>
<message>
<source>Also apply to all children</source>
- <translation type="unfinished"/>
+ <translation>Também aplicar a todos os herdeiros</translation>
</message>
<message>
<source>Existing icon selected.</source>
- <translation type="unfinished"/>
+ <translation>Ãcone existente selecionado.</translation>
</message>
</context>
<context>
@@ -3013,15 +3068,15 @@ Isto pode causar mal funcionamento dos plugins afetados.</translation>
</message>
<message>
<source>Datetime created</source>
- <translation type="unfinished"/>
+ <translation>Data criada</translation>
</message>
<message>
<source>Datetime modified</source>
- <translation type="unfinished"/>
+ <translation>Data modificada</translation>
</message>
<message>
<source>Datetime accessed</source>
- <translation type="unfinished"/>
+ <translation>Data acessada</translation>
</message>
<message>
<source>Unique ID</source>
@@ -3127,7 +3182,9 @@ Isto pode causar mal funcionamento dos plugins afetados.</translation>
<message numerus="yes">
<source>Unable to open file(s):
%1</source>
- <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
+ <translation><numerusform>Incapaz de abrir o arquivo (s):
+%1</numerusform><numerusform>Não foi possível abrir arquivo(s):
+%1</numerusform></translation>
</message>
<message>
<source>Attachments</source>
@@ -3378,19 +3435,19 @@ Isto pode causar mal funcionamento dos plugins afetados.</translation>
<name>FdoSecrets::Service</name>
<message>
<source>Failed to register DBus service at %1: another secret service is running.</source>
- <translation type="unfinished"/>
+ <translation>Falha ao registrar serviço DBus em %1: outro serviço secreto está aberto.</translation>
</message>
<message numerus="yes">
<source>%n Entry(s) was used by %1</source>
<comment>%1 is the name of an application</comment>
- <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
+ <translation><numerusform>%n Entrada (s) foi utilizada por %1</numerusform><numerusform>%n Entrada(s) foram utilizada por %1</numerusform></translation>
</message>
</context>
<context>
<name>FdoSecretsPlugin</name>
<message>
<source>Fdo Secret Service: %1</source>
- <translation type="unfinished"/>
+ <translation>Serviço Secreto Fdo: %1</translation>
</message>
</context>
<context>
@@ -3425,7 +3482,8 @@ Isto pode causar mal funcionamento dos plugins afetados.</translation>
<message>
<source>Having trouble downloading icons?
You can enable the DuckDuckGo website icon service in the security section of the application settings.</source>
- <translation type="unfinished"/>
+ <translation>Tendo problemas ao baixar ícones?
+Você pode habilitar o serviço de ícones do DuckDuckGo na seção de segurança desse aplicativo.</translation>
</message>
<message>
<source>Close</source>
@@ -3441,7 +3499,7 @@ You can enable the DuckDuckGo website icon service in the security section of th
</message>
<message>
<source>Please wait, processing entry list...</source>
- <translation type="unfinished"/>
+ <translation>Por favor espere... Processando lista de entradas...</translation>
</message>
<message>
<source>Downloading...</source>
@@ -3508,7 +3566,8 @@ You can enable the DuckDuckGo website icon service in the security section of th
<message>
<source>Invalid credentials were provided, please try again.
If this reoccurs, then your database file may be corrupt.</source>
- <translation type="unfinished"/>
+ <translation>Credenciais inválidas foram informadas, por favor tente novamente.
+Se este erro ocorrer novamente, seu banco de dados pode estar corrompido.</translation>
</message>
</context>
<context>
@@ -3643,11 +3702,12 @@ If this reoccurs, then your database file may be corrupt.</source>
<message>
<source>Invalid credentials were provided, please try again.
If this reoccurs, then your database file may be corrupt.</source>
- <translation type="unfinished"/>
+ <translation>Credenciais inválidas foram informadas, por favor tente novamente.
+Se este erro ocorrer novamente, seu banco de dados pode estar corrompido.</translation>
</message>
<message>
<source>(HMAC mismatch)</source>
- <translation type="unfinished"/>
+ <translation>(HMAC não combina)</translation>
</message>
</context>
<context>
@@ -3729,7 +3789,7 @@ Isto é uma migração de caminho único. Você não poderá abrir o banco de da
</message>
<message>
<source>Invalid cipher uuid length: %1 (length=%2)</source>
- <translation type="unfinished"/>
+ <translation>Tamanho de cifra uuid inválida: %1 (tamanho=%2)</translation>
</message>
<message>
<source>Unable to parse UUID: %1</source>
@@ -3876,7 +3936,7 @@ Linha %2, coluna %3</translation>
</message>
<message>
<source>Import KeePass1 Database</source>
- <translation type="unfinished"/>
+ <translation>Importar banco de dados KeePass1</translation>
</message>
</context>
<context>
@@ -4033,18 +4093,19 @@ Linha %2, coluna %3</translation>
<message>
<source>Invalid credentials were provided, please try again.
If this reoccurs, then your database file may be corrupt.</source>
- <translation type="unfinished"/>
+ <translation>Credenciais inválidas foram informadas, por favor tente novamente.
+Se este erro ocorrer novamente, seu banco de dados pode estar corrompido.</translation>
</message>
</context>
<context>
<name>KeeShare</name>
<message>
<source>Invalid sharing reference</source>
- <translation type="unfinished"/>
+ <translation>Referência de compartilhamento inválida</translation>
</message>
<message>
<source>Inactive share %1</source>
- <translation type="unfinished"/>
+ <translation>Desativar compartilhamento %1</translation>
</message>
<message>
<source>Imported from %1</source>
@@ -4052,23 +4113,23 @@ If this reoccurs, then your database file may be corrupt.</source>
</message>
<message>
<source>Exported to %1</source>
- <translation type="unfinished"/>
+ <translation>Exportar para %1</translation>
</message>
<message>
<source>Synchronized with %1</source>
- <translation type="unfinished"/>
+ <translation>Sincronizar com %1</translation>
</message>
<message>
<source>Import is disabled in settings</source>
- <translation type="unfinished"/>
+ <translation>Importar está desabilitado nas configurações</translation>
</message>
<message>
<source>Export is disabled in settings</source>
- <translation type="unfinished"/>
+ <translation>Exportar está desabilitado nas configurações</translation>
</message>
<message>
<source>Inactive share</source>
- <translation type="unfinished"/>
+ <translation>Desativar compartilhamento</translation>
</message>
<message>
<source>Imported from</source>
@@ -4182,7 +4243,7 @@ Mensagem: %2</translation>
</message>
<message>
<source>Key file selection</source>
- <translation type="unfinished"/>
+ <translation>Seleção do arquivo de chave</translation>
</message>
<message>
<source>Browse for key file</source>
@@ -4194,28 +4255,29 @@ Mensagem: %2</translation>
</message>
<message>
<source>Generate a new key file</source>
- <translation type="unfinished"/>
+ <translation>Gerar um novo arquivo chave</translation>
</message>
<message>
<source>Note: Do not use a file that may change as that will prevent you from unlocking your database!</source>
- <translation type="unfinished"/>
+ <translation>Nota: Não use um arquivo que possa ser modificado, pois isso irá impedir que você desbloqueie seu banco de dados!</translation>
</message>
<message>
<source>Invalid Key File</source>
- <translation type="unfinished"/>
+ <translation>Arquivo chave inválido</translation>
</message>
<message>
<source>You cannot use the current database as its own keyfile. Please choose a different file or generate a new key file.</source>
- <translation type="unfinished"/>
+ <translation>Você não pode usar o banco de dados atual como seu próprio arquivo chave. Por favor, escolha um arquivo diferente ou faça um novo arquivo chave.</translation>
</message>
<message>
<source>Suspicious Key File</source>
- <translation type="unfinished"/>
+ <translation>Arquivo chave suspeito</translation>
</message>
<message>
<source>The chosen key file looks like a password database file. A key file must be a static file that never changes or you will lose access to your database forever.
Are you sure you want to continue with this file?</source>
- <translation type="unfinished"/>
+ <translation>O arquivo chave escolhido parece com um arquivo de banco de dados. Um arquivo chave deve ser um arquivo estático que nunca sofrerá mudanças, pois senão você perderá acesso ao seu banco de dados para sempre.
+Tem certeza que deseja continuar com este arquivo?</translation>
</message>
</context>
<context>
@@ -4518,19 +4580,19 @@ Espere alguns bugs e problemas menores, esta versão não é para uso em produç
</message>
<message>
<source>Downlo&amp;ad all favicons</source>
- <translation type="unfinished"/>
+ <translation>Downlo&amp;ad todos os favicons</translation>
</message>
<message>
<source>Sort &amp;A-Z</source>
- <translation type="unfinished"/>
+ <translation>Organizar &amp;A-Z</translation>
</message>
<message>
<source>Sort &amp;Z-A</source>
- <translation type="unfinished"/>
+ <translation>Organizar &amp;Z-A</translation>
</message>
<message>
<source>&amp;Password Generator</source>
- <translation type="unfinished"/>
+ <translation>&amp;Gerador de senhas</translation>
</message>
<message>
<source>Download favicon</source>
@@ -4538,43 +4600,43 @@ Espere alguns bugs e problemas menores, esta versão não é para uso em produç
</message>
<message>
<source>&amp;Export to HTML file...</source>
- <translation type="unfinished"/>
+ <translation>&amp;Exportar para arquivo HTML...</translation>
</message>
<message>
<source>1Password Vault...</source>
- <translation type="unfinished"/>
+ <translation>Cofre 1Password...</translation>
</message>
<message>
<source>Import a 1Password Vault</source>
- <translation type="unfinished"/>
+ <translation>Importar cofre 1Password</translation>
</message>
<message>
<source>&amp;Getting Started</source>
- <translation type="unfinished"/>
+ <translation>&amp;Começando</translation>
</message>
<message>
<source>Open Getting Started Guide PDF</source>
- <translation type="unfinished"/>
+ <translation>Abrir PDF de Guia para Começar</translation>
</message>
<message>
<source>&amp;Online Help...</source>
- <translation type="unfinished"/>
+ <translation>&amp;Ajuda Online...</translation>
</message>
<message>
<source>Go to online documentation (opens browser)</source>
- <translation type="unfinished"/>
+ <translation>Ir para documentação online (abrirá navegador)</translation>
</message>
<message>
<source>&amp;User Guide</source>
- <translation type="unfinished"/>
+ <translation>&amp;Guia do usuário</translation>
</message>
<message>
<source>Open User Guide PDF</source>
- <translation type="unfinished"/>
+ <translation>Abrir PDF do Guia do Usuário</translation>
</message>
<message>
<source>&amp;Keyboard Shortcuts</source>
- <translation type="unfinished"/>
+ <translation>&amp;Atalhos no teclado</translation>
</message>
</context>
<context>
@@ -4605,11 +4667,11 @@ Espere alguns bugs e problemas menores, esta versão não é para uso em produç
</message>
<message>
<source>Reapplying older target entry on top of newer source %1 [%2]</source>
- <translation type="unfinished"/>
+ <translation>Reaplicar entrada alvo antiga em cima da fonte nova %1 [%2]</translation>
</message>
<message>
<source>Reapplying older source entry on top of newer target %1 [%2]</source>
- <translation type="unfinished"/>
+ <translation>Reaplicar entrada de fonte antiga em cima do alvo novo %1 [%2]</translation>
</message>
<message>
<source>Synchronizing from newer source %1 [%2]</source>
@@ -4621,7 +4683,7 @@ Espere alguns bugs e problemas menores, esta versão não é para uso em produç
</message>
<message>
<source>Deleting child %1 [%2]</source>
- <translation type="unfinished"/>
+ <translation>Deletar herdeiro %1 [%2]</translation>
</message>
<message>
<source>Deleting orphan %1 [%2]</source>
@@ -4637,11 +4699,11 @@ Espere alguns bugs e problemas menores, esta versão não é para uso em produç
</message>
<message>
<source>Removed custom data %1 [%2]</source>
- <translation type="unfinished"/>
+ <translation>Remover dado personalizado %1 [%2]</translation>
</message>
<message>
<source>Adding custom data %1 [%2]</source>
- <translation type="unfinished"/>
+ <translation>Adicionar dado personalizado %1 [%2]</translation>
</message>
</context>
<context>
@@ -4716,31 +4778,31 @@ Espere alguns bugs e problemas menores, esta versão não é para uso em produç
<name>OpData01</name>
<message>
<source>Invalid OpData01, does not contain header</source>
- <translation type="unfinished"/>
+ <translation>OpData01 inválido. Não contém cabeçalho.</translation>
</message>
<message>
<source>Unable to read all IV bytes, wanted 16 but got %1</source>
- <translation type="unfinished"/>
+ <translation>Não foi possível ler todos os IV bytes. Requer 16 mas só foi recebido %1</translation>
</message>
<message>
<source>Unable to init cipher for opdata01: %1</source>
- <translation type="unfinished"/>
+ <translation>Não foi possível iniciar cifra para opdata01: %1</translation>
</message>
<message>
<source>Unable to read all HMAC signature bytes</source>
- <translation type="unfinished"/>
+ <translation>Não foi possível ler todos os bytes de assinatura do HMAC</translation>
</message>
<message>
<source>Malformed OpData01 due to a failed HMAC</source>
- <translation type="unfinished"/>
+ <translation>OpData01 malformado devido a falha no HMAC</translation>
</message>
<message>
<source>Unable to process clearText in place</source>
- <translation type="unfinished"/>
+ <translation>Não foi possível processar clearText no lugar</translation>
</message>
<message>
<source>Expected %1 bytes of clear-text, found %2</source>
- <translation type="unfinished"/>
+ <translation>Experado %1 bytes de clear-text. Encontrados %2</translation>
</message>
</context>
<context>
@@ -4748,34 +4810,35 @@ Espere alguns bugs e problemas menores, esta versão não é para uso em produç
<message>
<source>Read Database did not produce an instance
%1</source>
- <translation type="unfinished"/>
+ <translation>Ler banco de dados não produz uma instância
+%1</translation>
</message>
</context>
<context>
<name>OpVaultReader</name>
<message>
<source>Directory .opvault must exist</source>
- <translation type="unfinished"/>
+ <translation>Diretório .opvault deve existir</translation>
</message>
<message>
<source>Directory .opvault must be readable</source>
- <translation type="unfinished"/>
+ <translation>Diretório .opvault deve ser legível</translation>
</message>
<message>
<source>Directory .opvault/default must exist</source>
- <translation type="unfinished"/>
+ <translation>Diretório .opvault/default deve existir</translation>
</message>
<message>
<source>Directory .opvault/default must be readable</source>
- <translation type="unfinished"/>
+ <translation>Diretório .opvault/default deve ser legível</translation>
</message>
<message>
<source>Unable to decode masterKey: %1</source>
- <translation type="unfinished"/>
+ <translation>Não foi possível decodificar senha-mestre: %1</translation>
</message>
<message>
<source>Unable to derive master key: %1</source>
- <translation type="unfinished"/>
+ <translation>Não foi possível derivar senha-mestra: %1</translation>
</message>
</context>
<context>
@@ -4881,11 +4944,11 @@ Espere alguns bugs e problemas menores, esta versão não é para uso em produç
<name>PasswordEdit</name>
<message>
<source>Passwords do not match</source>
- <translation type="unfinished"/>
+ <translation>Senhas não coicidem</translation>
</message>
<message>
<source>Passwords match so far</source>
- <translation type="unfinished"/>
+ <translation>Senhas não coincidem até agora</translation>
</message>
</context>
<context>
@@ -4924,11 +4987,11 @@ Espere alguns bugs e problemas menores, esta versão não é para uso em produç
</message>
<message>
<source>Repeat password field</source>
- <translation type="unfinished"/>
+ <translation>Repetir campo de senha</translation>
</message>
<message>
<source>Toggle password generator</source>
- <translation type="unfinished"/>
+ <translation>Alternar gerador de senha</translation>
</message>
</context>
<context>
@@ -5056,7 +5119,7 @@ Espere alguns bugs e problemas menores, esta versão não é para uso em produç
</message>
<message>
<source>Braces</source>
- <translation type="unfinished"/>
+ <translation>Colchetes</translation>
</message>
<message>
<source>{[(</source>
@@ -5132,43 +5195,43 @@ Espere alguns bugs e problemas menores, esta versão não é para uso em produç
</message>
<message>
<source>Generated password</source>
- <translation type="unfinished"/>
+ <translation>Senha geradas</translation>
</message>
<message>
<source>Upper-case letters</source>
- <translation type="unfinished"/>
+ <translation>Letras maiúsculas</translation>
</message>
<message>
<source>Lower-case letters</source>
- <translation type="unfinished"/>
+ <translation>Letras minúsculas</translation>
</message>
<message>
<source>Special characters</source>
- <translation type="unfinished"/>
+ <translation>Caracteres especiais</translation>
</message>
<message>
<source>Math Symbols</source>
- <translation type="unfinished"/>
+ <translation>Símbolos matemáticos</translation>
</message>
<message>
<source>Dashes and Slashes</source>
- <translation type="unfinished"/>
+ <translation>Barras e traços</translation>
</message>
<message>
<source>Excluded characters</source>
- <translation type="unfinished"/>
+ <translation>Caracteres excluídos</translation>
</message>
<message>
<source>Hex Passwords</source>
- <translation type="unfinished"/>
+ <translation>Senhas hexadecimais</translation>
</message>
<message>
<source>Password length</source>
- <translation type="unfinished"/>
+ <translation>Tamanho da senha</translation>
</message>
<message>
<source>Word Case:</source>
- <translation type="unfinished"/>
+ <translation>Caixa da palavra:</translation>
</message>
<message>
<source>Regenerate password</source>
@@ -5192,7 +5255,7 @@ Espere alguns bugs e problemas menores, esta versão não é para uso em produç
</message>
<message>
<source>Title Case</source>
- <translation type="unfinished"/>
+ <translation>Caixa do título</translation>
</message>
<message>
<source>Toggle password visibility</source>
@@ -5567,11 +5630,11 @@ Comandos disponíveis:
</message>
<message>
<source>Entry with path %1 has no TOTP set up.</source>
- <translation type="unfinished"/>
+ <translation>Entrada com caminho %1 não tem configuração TOTP</translation>
</message>
<message>
<source>Entry&apos;s current TOTP copied to the clipboard!</source>
- <translation type="unfinished"/>
+ <translation>A atual entrada TOTP foi copiada para a área de transferência!</translation>
</message>
<message>
<source>Entry&apos;s password copied to the clipboard!</source>
@@ -5579,7 +5642,7 @@ Comandos disponíveis:
</message>
<message numerus="yes">
<source>Clearing the clipboard in %1 second(s)...</source>
- <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
+ <translation><numerusform>Limpando a prancheta em %1 segundo (s)...</numerusform><numerusform>Limpando a área de transferência em %1 segundo(s)...</numerusform></translation>
</message>
<message>
<source>Clipboard cleared!</source>
@@ -5596,7 +5659,7 @@ Comandos disponíveis:
</message>
<message>
<source>Could not find entry with path %1.</source>
- <translation type="unfinished"/>
+ <translation>Não foi possível encontrar a entrada com o caminho %1.</translation>
</message>
<message>
<source>Not changing any field for entry %1.</source>
@@ -5628,7 +5691,7 @@ Comandos disponíveis:
</message>
<message>
<source>Multi-word extra bits %1</source>
- <translation type="unfinished"/>
+ <translation>Bits extra multi-palavra %1</translation>
</message>
<message>
<source>Type: Bruteforce</source>
@@ -5640,19 +5703,19 @@ Comandos disponíveis:
</message>
<message>
<source>Type: Dict+Leet</source>
- <translation type="unfinished"/>
+ <translation>Tipo: Dicionário+Leet</translation>
</message>
<message>
<source>Type: User Words</source>
- <translation type="unfinished"/>
+ <translation>Tipo: Palavras do usuário</translation>
</message>
<message>
<source>Type: User+Leet</source>
- <translation type="unfinished"/>
+ <translation>Tipo: Usuário+Leet</translation>
</message>
<message>
<source>Type: Repeated</source>
- <translation type="unfinished"/>
+ <translation>Tipo: Repetido</translation>
</message>
<message>
<source>Type: Sequence</source>
@@ -5668,43 +5731,43 @@ Comandos disponíveis:
</message>
<message>
<source>Type: Bruteforce(Rep)</source>
- <translation type="unfinished"/>
+ <translation>Tipo: Bruteforce(Rep)</translation>
</message>
<message>
<source>Type: Dictionary(Rep)</source>
- <translation type="unfinished"/>
+ <translation>Tipo: Dicionário(Rep)</translation>
</message>
<message>
<source>Type: Dict+Leet(Rep)</source>
- <translation type="unfinished"/>
+ <translation>Tipo: Dicionário+Leet(Rep)</translation>
</message>
<message>
<source>Type: User Words(Rep)</source>
- <translation type="unfinished"/>
+ <translation>Tipo: Palavras do usuário(Rep)</translation>
</message>
<message>
<source>Type: User+Leet(Rep)</source>
- <translation type="unfinished"/>
+ <translation>Tipo: Usuário+Leet(Rep)</translation>
</message>
<message>
<source>Type: Repeated(Rep)</source>
- <translation type="unfinished"/>
+ <translation>Tipo: Repetido(Rep)</translation>
</message>
<message>
<source>Type: Sequence(Rep)</source>
- <translation type="unfinished"/>
+ <translation>Tipo: Sequência(Rep)</translation>
</message>
<message>
<source>Type: Spatial(Rep)</source>
- <translation type="unfinished"/>
+ <translation>Tipo: Espacial(Rep)</translation>
</message>
<message>
<source>Type: Date(Rep)</source>
- <translation type="unfinished"/>
+ <translation>Tipo: Data(Rep)</translation>
</message>
<message>
<source>Type: Unknown%1</source>
- <translation type="unfinished"/>
+ <translation>Tipo: Desconhecido%1</translation>
</message>
<message>
<source>Entropy %1 (%2)</source>
@@ -5765,23 +5828,24 @@ Comandos disponíveis:
<message>
<source>Error reading merge file:
%1</source>
- <translation type="unfinished"/>
+ <translation>Erro ao ler arquivo para fundir:
+%1</translation>
</message>
<message>
<source>Unable to save database to file : %1</source>
- <translation type="unfinished"/>
+ <translation>Não foi possível salvar banco de dados no arquivo: %1</translation>
</message>
<message>
<source>Unable to save database to file: %1</source>
- <translation type="unfinished"/>
+ <translation>Não foi possível salvar banco de dados no arquivo: %1</translation>
</message>
<message>
<source>Successfully recycled entry %1.</source>
- <translation type="unfinished"/>
+ <translation>Entrada %1 reciclada com sucesso</translation>
</message>
<message>
<source>Successfully deleted entry %1.</source>
- <translation type="unfinished"/>
+ <translation>Entrada %1 deletada com sucesso</translation>
</message>
<message>
<source>Show the entry&apos;s current TOTP.</source>
@@ -5805,7 +5869,7 @@ Comandos disponíveis:
</message>
<message>
<source>%1: (row, col) %2,%3</source>
- <translation type="unfinished"/>
+ <translation>%1: (linha, coluna) %2,%3</translation>
</message>
<message>
<source>AES: 256-bit</source>
@@ -5939,15 +6003,15 @@ Comandos disponíveis:
</message>
<message>
<source>Deactivate password key for the database.</source>
- <translation type="unfinished"/>
+ <translation>Desativar chave de senha para o banco de dados.</translation>
</message>
<message>
<source>Displays debugging information.</source>
- <translation type="unfinished"/>
+ <translation>Mostrar informações de debug.</translation>
</message>
<message>
<source>Deactivate password key for the database to merge from.</source>
- <translation type="unfinished"/>
+ <translation>Desativar chave de senha para o banco de dados a qual será fundido.</translation>
</message>
<message>
<source>Version %1</source>
@@ -5967,11 +6031,11 @@ Comandos disponíveis:
</message>
<message>
<source>Debugging mode is disabled.</source>
- <translation type="unfinished"/>
+ <translation>Modo de debug desativado.</translation>
</message>
<message>
<source>Debugging mode is enabled.</source>
- <translation type="unfinished"/>
+ <translation>Modo de debug ativado.</translation>
</message>
<message>
<source>Operating system: %1
@@ -6015,39 +6079,39 @@ Kernel: %3 %4</translation>
</message>
<message>
<source>Cryptographic libraries:</source>
- <translation type="unfinished"/>
+ <translation>Bibliotecas de criptografia:</translation>
</message>
<message>
<source>Cannot generate a password and prompt at the same time!</source>
- <translation type="unfinished"/>
+ <translation>Não foi possível gerar uma senha e um alerta ao mesmo tempo!</translation>
</message>
<message>
<source>Adds a new group to a database.</source>
- <translation type="unfinished"/>
+ <translation>Adicionar um novo grupo ao banco de dados.</translation>
</message>
<message>
<source>Path of the group to add.</source>
- <translation type="unfinished"/>
+ <translation>Caminho para adicionar o grupo</translation>
</message>
<message>
<source>Group %1 already exists!</source>
- <translation type="unfinished"/>
+ <translation>Grupo %1 já existe!</translation>
</message>
<message>
<source>Group %1 not found.</source>
- <translation type="unfinished"/>
+ <translation>Grupo %1 não encontrado.</translation>
</message>
<message>
<source>Successfully added group %1.</source>
- <translation type="unfinished"/>
+ <translation>Grupo %1 adicionado com sucesso.</translation>
</message>
<message>
<source>Check if any passwords have been publicly leaked. FILENAME must be the path of a file listing SHA-1 hashes of leaked passwords in HIBP format, as available from https://haveibeenpwned.com/Passwords.</source>
- <translation type="unfinished"/>
+ <translation>Checar se alguma senha vazou publicamente. NOMEDOARQUIVO deve ser o caminho do arquivo listando hashes SHA-1 de senhas vazadas no formato HIBP, assim como disponível em https://haveibeenpwned.com/Passwords.</translation>
</message>
<message>
<source>FILENAME</source>
- <translation type="unfinished"/>
+ <translation>NOMEDOARQUIVO</translation>
</message>
<message>
<source>Analyze passwords for weaknesses and problems.</source>
@@ -6055,11 +6119,11 @@ Kernel: %3 %4</translation>
</message>
<message>
<source>Failed to open HIBP file %1: %2</source>
- <translation type="unfinished"/>
+ <translation>Falha ao abrir arquivo HIBP %1: %2</translation>
</message>
<message>
<source>Evaluating database entries against HIBP file, this will take a while...</source>
- <translation type="unfinished"/>
+ <translation>Avaliando entradas no banco de dados com arquivo HIBP. Isto pode demorar um pouco...</translation>
</message>
<message>
<source>Close the currently opened database.</source>
@@ -6071,19 +6135,19 @@ Kernel: %3 %4</translation>
</message>
<message>
<source>Yubikey slot used to encrypt the database.</source>
- <translation type="unfinished"/>
+ <translation>Campo Yubikey usado para encriptar o banco de dados.</translation>
</message>
<message>
<source>slot</source>
- <translation type="unfinished"/>
+ <translation>campo</translation>
</message>
<message>
<source>Invalid word count %1</source>
- <translation type="unfinished"/>
+ <translation>Contador de palavra %1 inválido</translation>
</message>
<message>
<source>The word list is too small (&lt; 1000 items)</source>
- <translation type="unfinished"/>
+ <translation>A lista de palavras é muito pequena (&lt;1000 itens)</translation>
</message>
<message>
<source>Exit interactive mode.</source>
@@ -6091,19 +6155,19 @@ Kernel: %3 %4</translation>
</message>
<message>
<source>Format to use when exporting. Available choices are xml or csv. Defaults to xml.</source>
- <translation type="unfinished"/>
+ <translation>Formato usado quando exportando. Escolhas disponíveis são xml ou csv. O padrão é xml.</translation>
</message>
<message>
<source>Exports the content of a database to standard output in the specified format.</source>
- <translation type="unfinished"/>
+ <translation>Exportar o conteúdo do banco de dados para um padrão de saída no formato especificado.</translation>
</message>
<message>
<source>Unable to export database to XML: %1</source>
- <translation type="unfinished"/>
+ <translation>Não foi possível exportar o banco de dados para XML: %1</translation>
</message>
<message>
<source>Unsupported format %1</source>
- <translation type="unfinished"/>
+ <translation>Formato %1 não suportado</translation>
</message>
<message>
<source>Use numbers</source>
@@ -6111,11 +6175,11 @@ Kernel: %3 %4</translation>
</message>
<message>
<source>Invalid password length %1</source>
- <translation type="unfinished"/>
+ <translation>Tamanho de senha inválido: %1</translation>
</message>
<message>
<source>Display command help.</source>
- <translation type="unfinished"/>
+ <translation>Exibir comando de ajuda.</translation>
</message>
<message>
<source>Available commands:</source>
@@ -6123,23 +6187,23 @@ Kernel: %3 %4</translation>
</message>
<message>
<source>Import the contents of an XML database.</source>
- <translation type="unfinished"/>
+ <translation>Importar o conteúdo de um banco de dados XML.</translation>
</message>
<message>
<source>Path of the XML database export.</source>
- <translation type="unfinished"/>
+ <translation>Caminho do banco de dados XML exportado.</translation>
</message>
<message>
<source>Path of the new database.</source>
- <translation type="unfinished"/>
+ <translation>Caminho do novo banco de dados.</translation>
</message>
<message>
<source>Unable to import XML database export %1</source>
- <translation type="unfinished"/>
+ <translation>Não foi possível importar o banco de dados XML exportado %1</translation>
</message>
<message>
<source>Successfully imported database.</source>
- <translation type="unfinished"/>
+ <translation>Banco de dados importado com sucesso.</translation>
</message>
<message>
<source>Unknown command %1</source>
@@ -6147,19 +6211,19 @@ Kernel: %3 %4</translation>
</message>
<message>
<source>Flattens the output to single lines.</source>
- <translation type="unfinished"/>
+ <translation>Achatar as saídas em únicas linhas.</translation>
</message>
<message>
<source>Only print the changes detected by the merge operation.</source>
- <translation type="unfinished"/>
+ <translation>Somente exibir mudanças detectadas pela operação de fusão.</translation>
</message>
<message>
<source>Yubikey slot for the second database.</source>
- <translation type="unfinished"/>
+ <translation>Campo Yubikey para o segundo banco de dados.</translation>
</message>
<message>
<source>Successfully merged %1 into %2.</source>
- <translation type="unfinished"/>
+ <translation>Sucesso ao fundir %1 com %2.</translation>
</message>
<message>
<source>Database was not modified by merge operation.</source>
@@ -6167,27 +6231,27 @@ Kernel: %3 %4</translation>
</message>
<message>
<source>Moves an entry to a new group.</source>
- <translation type="unfinished"/>
+ <translation>Mover uma entrada para um novo grupo.</translation>
</message>
<message>
<source>Path of the entry to move.</source>
- <translation type="unfinished"/>
+ <translation>Caminho da entrada para mover.</translation>
</message>
<message>
<source>Path of the destination group.</source>
- <translation type="unfinished"/>
+ <translation>Caminho do grupo de destino.</translation>
</message>
<message>
<source>Could not find group with path %1.</source>
- <translation type="unfinished"/>
+ <translation>Não foi possível encontrar o grupo com o caminho %1</translation>
</message>
<message>
<source>Entry is already in group %1.</source>
- <translation type="unfinished"/>
+ <translation>Entrada já está no grupo %1.</translation>
</message>
<message>
<source>Successfully moved entry %1 to group %2.</source>
- <translation type="unfinished"/>
+ <translation>Sucesso ao mover entrada %1 para o grupo %2.</translation>
</message>
<message>
<source>Open a database.</source>
@@ -6195,55 +6259,55 @@ Kernel: %3 %4</translation>
</message>
<message>
<source>Path of the group to remove.</source>
- <translation type="unfinished"/>
+ <translation>Caminho do grupo para remover.</translation>
</message>
<message>
<source>Cannot remove root group from database.</source>
- <translation type="unfinished"/>
+ <translation>Não é possível remover o grupo raiz do banco de dados.</translation>
</message>
<message>
<source>Successfully recycled group %1.</source>
- <translation type="unfinished"/>
+ <translation>Sucesso ao reciclar grupo %1.</translation>
</message>
<message>
<source>Successfully deleted group %1.</source>
- <translation type="unfinished"/>
+ <translation>Sucesso ao apagar grupo %1.</translation>
</message>
<message>
<source>Failed to open database file %1: not found</source>
- <translation type="unfinished"/>
+ <translation>Falha ao abrir arquivo de banco de dados %1: não encontrado</translation>
</message>
<message>
<source>Failed to open database file %1: not a plain file</source>
- <translation type="unfinished"/>
+ <translation>Falha ao abrir arquivo de banco de dados %1: não é um arquivo válido</translation>
</message>
<message>
<source>Failed to open database file %1: not readable</source>
- <translation type="unfinished"/>
+ <translation>Falha ao abrir arquivo de banco de dados %1: não é legível</translation>
</message>
<message>
<source>Enter password to unlock %1: </source>
- <translation type="unfinished"/>
+ <translation>Digite a senha para desbloquear %1:</translation>
</message>
<message>
<source>Invalid YubiKey slot %1</source>
- <translation type="unfinished"/>
+ <translation>Campo YubiKey inválido %1</translation>
</message>
<message>
<source>Please touch the button on your YubiKey to unlock %1</source>
- <translation type="unfinished"/>
+ <translation>Por favor toque no botão no seu YubiKey para desbloquear %1</translation>
</message>
<message>
<source>Enter password to encrypt database (optional): </source>
- <translation type="unfinished"/>
+ <translation>Digite a senha para encriptar seu banco de dados (opcional):</translation>
</message>
<message>
<source>HIBP file, line %1: parse error</source>
- <translation type="unfinished"/>
+ <translation>Arquivo HIBP, linha %1: parse error</translation>
</message>
<message>
<source>Secret Service Integration</source>
- <translation type="unfinished"/>
+ <translation>Serviço de Integração Secreta</translation>
</message>
<message>
<source>User name</source>
@@ -6251,15 +6315,19 @@ Kernel: %3 %4</translation>
</message>
<message>
<source>%1[%2] Challenge Response - Slot %3 - %4</source>
- <translation type="unfinished"/>
+ <translation>%1[%2] Reposta desafio - Campo %3 - %4</translation>
</message>
<message numerus="yes">
<source>Password for &apos;%1&apos; has been leaked %2 time(s)!</source>
- <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
+ <translation><numerusform>Senha para &apos;%1&apos; foi vazada %2 tempo (s)!</numerusform><numerusform>Senha para &apos;%1&apos; foi vazada %2 vezes(s)!</numerusform></translation>
</message>
<message>
<source>Invalid password generator after applying all options</source>
- <translation type="unfinished"/>
+ <translation>Gerador de senhas inválido após aplicar todas as opções</translation>
+ </message>
+ <message>
+ <source>Show the protected attributes in clear text.</source>
+ <translation>Mostrar os atributos protegidos como texto legível.</translation>
</message>
</context>
<context>
@@ -6422,7 +6490,7 @@ Kernel: %3 %4</translation>
</message>
<message>
<source>Enable KeepassXC Freedesktop.org Secret Service integration</source>
- <translation type="unfinished"/>
+ <translation>Habilitar integração KeePassXC Freedesktop.org Secret Service</translation>
</message>
<message>
<source>General</source>
@@ -6434,15 +6502,15 @@ Kernel: %3 %4</translation>
</message>
<message>
<source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;If recycle bin is enabled for the database, entries will be moved to recycle bin directly. Otherwise, they will be deleted without confirmation.&lt;/p&gt;&lt;p&gt;You will still be prompted if any entries are referenced by others.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
- <translation type="unfinished"/>
+ <translation>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Se a lixeira estiver habilitado para o banco de dados, as entradas serão movidas para a lixeira diretamente. Por outro lado, elas serão apagadas sem confirmação.&lt;/p&gt;&lt;p&gt;Você irá ser alertado se alguma entrada for referenciada por outras.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
</message>
<message>
<source>Don&apos;t confirm when entries are deleted by clients.</source>
- <translation type="unfinished"/>
+ <translation>Não confirmar quando entradas são deletadas pelos clientes.</translation>
</message>
<message>
<source>Exposed database groups:</source>
- <translation type="unfinished"/>
+ <translation>Grupos do banco de dados exposto:</translation>
</message>
<message>
<source>File Name</source>
@@ -6521,7 +6589,7 @@ Kernel: %3 %4</translation>
</message>
<message>
<source>Fingerprint:</source>
- <translation type="unfinished"/>
+ <translation>Impressão digital:</translation>
</message>
<message>
<source>Certificate:</source>
@@ -6626,11 +6694,11 @@ Kernel: %3 %4</translation>
</message>
<message>
<source>Allow KeeShare imports</source>
- <translation type="unfinished"/>
+ <translation>Permitir KeeShare importar</translation>
</message>
<message>
<source>Allow KeeShare exports</source>
- <translation type="unfinished"/>
+ <translation>Permitir KeeShare exportar</translation>
</message>
<message>
<source>Only show warnings and errors</source>
@@ -6642,7 +6710,7 @@ Kernel: %3 %4</translation>
</message>
<message>
<source>Signer name field</source>
- <translation type="unfinished"/>
+ <translation>Campo de nome do signatário</translation>
</message>
<message>
<source>Generate new certificate</source>
@@ -6658,19 +6726,19 @@ Kernel: %3 %4</translation>
</message>
<message>
<source>Known shares</source>
- <translation type="unfinished"/>
+ <translation>Compartilhamentos conhecidos</translation>
</message>
<message>
<source>Trust selected certificate</source>
- <translation type="unfinished"/>
+ <translation>Confiar nos certificados selecionados</translation>
</message>
<message>
<source>Ask whether to trust the selected certificate every time</source>
- <translation type="unfinished"/>
+ <translation>Perguntar se deve confiar nos certificados selecionados sempre</translation>
</message>
<message>
<source>Untrust selected certificate</source>
- <translation type="unfinished"/>
+ <translation>Não confiar nos certificados selecionados</translation>
</message>
<message>
<source>Remove selected certificate</source>
@@ -6681,23 +6749,23 @@ Kernel: %3 %4</translation>
<name>ShareExport</name>
<message>
<source>Overwriting signed share container is not supported - export prevented</source>
- <translation type="unfinished"/>
+ <translation>Sobrescrever recipiente de compartilhamento assinado não é suportado - exportação impedida</translation>
</message>
<message>
<source>Could not write export container (%1)</source>
- <translation type="unfinished"/>
+ <translation>Não foi possível exportar recipiente (%1)</translation>
</message>
<message>
<source>Could not embed signature: Could not open file to write (%1)</source>
- <translation type="unfinished"/>
+ <translation>Não foi possível embutir assinatura: não foi possível abrir o arquivo para escrever (%1)</translation>
</message>
<message>
<source>Could not embed signature: Could not write file (%1)</source>
- <translation type="unfinished"/>
+ <translation>Não foi possível embutir assinatura: não foi possível escrever no arquivo (%1)</translation>
</message>
<message>
<source>Could not embed database: Could not open file to write (%1)</source>
- <translation type="unfinished"/>
+ <translation>Não foi possível embutir banco de dados: não foi possível abrir o arquivo para escrever (%1)</translation>
</message>
<message>
<source>Could not embed database: Could not write file (%1)</source>
@@ -6732,7 +6800,7 @@ Kernel: %3 %4</translation>
</message>
<message>
<source>Do you want to trust %1 with the fingerprint of %2 from %3?</source>
- <translation type="unfinished"/>
+ <translation>Você quer confiar em %1 com a impressão digitar de %2 até %3? {1 ?}{2 ?}</translation>
</message>
<message>
<source>Not this time</source>
@@ -6752,7 +6820,7 @@ Kernel: %3 %4</translation>
</message>
<message>
<source>Signed share container are not supported - import prevented</source>
- <translation type="unfinished"/>
+ <translation>Compartilhamento assinado de recipiente não é suportado - importação impedida</translation>
</message>
<message>
<source>File is not readable</source>
@@ -6776,11 +6844,11 @@ Kernel: %3 %4</translation>
</message>
<message>
<source>Unsigned share container are not supported - import prevented</source>
- <translation type="unfinished"/>
+ <translation>Compartilhamento não assinado de recipiente não é suportado - importação impedida</translation>
</message>
<message>
<source>Successful unsigned import</source>
- <translation type="unfinished"/>
+ <translation>Sucesso ao importar não assinado</translation>
</message>
<message>
<source>File does not exist</source>
@@ -6788,7 +6856,7 @@ Kernel: %3 %4</translation>
</message>
<message>
<source>Unknown share container type</source>
- <translation type="unfinished"/>
+ <translation>Tipo de compartilhamento de recipiente desconhecido</translation>
</message>
</context>
<context>
@@ -6819,11 +6887,11 @@ Kernel: %3 %4</translation>
</message>
<message>
<source>Multiple import source path to %1 in %2</source>
- <translation type="unfinished"/>
+ <translation>Importação de múltiplos caminhos de fontes para %1 em %2</translation>
</message>
<message>
<source>Conflicting export target path %1 in %2</source>
- <translation type="unfinished"/>
+ <translation>Alvo de caminhos %1 em %2 de exportação conflitante</translation>
</message>
</context>
<context>
@@ -6842,7 +6910,7 @@ Kernel: %3 %4</translation>
</message>
<message numerus="yes">
<source>Expires in &lt;b&gt;%n&lt;/b&gt; second(s)</source>
- <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
+ <translation><numerusform>Expira em &lt;b&gt;%n&lt;/b&gt; segundo (s)</numerusform><numerusform>Expira em &lt;b&gt;%n&lt;/b&gt; segundo(s)</numerusform></translation>
</message>
</context>
<context>
@@ -6902,15 +6970,15 @@ Kernel: %3 %4</translation>
</message>
<message>
<source>Secret Key:</source>
- <translation type="unfinished"/>
+ <translation>Chave secreta: </translation>
</message>
<message>
<source>Secret key must be in Base32 format</source>
- <translation type="unfinished"/>
+ <translation>Chave secreta deve ser em formato Base32</translation>
</message>
<message>
<source>Secret key field</source>
- <translation type="unfinished"/>
+ <translation>Campo da chave secreta</translation>
</message>
<message>
<source>Algorithm:</source>
@@ -6918,7 +6986,7 @@ Kernel: %3 %4</translation>
</message>
<message>
<source>Time step field</source>
- <translation type="unfinished"/>
+ <translation>Campo do passo de tempo</translation>
</message>
<message>
<source> digits</source>
@@ -6926,12 +6994,13 @@ Kernel: %3 %4</translation>
</message>
<message>
<source>Invalid TOTP Secret</source>
- <translation type="unfinished"/>
+ <translation>Segredo TOTP inválido</translation>
</message>
<message>
<source>You have entered an invalid secret key. The key must be in Base32 format.
Example: JBSWY3DPEHPK3PXP</source>
- <translation type="unfinished"/>
+ <translation>Você digitou uma chave secreta inválida. A chave deve ser em formato Base32.
+Exemplo: JBSWY3DPEHPK3PXP</translation>
</message>
<message>
<source>Confirm Remove TOTP Settings</source>
@@ -6939,7 +7008,7 @@ Example: JBSWY3DPEHPK3PXP</source>
</message>
<message>
<source>Are you sure you want to delete TOTP settings for this entry?</source>
- <translation type="unfinished"/>
+ <translation>Tem certeza que quer apagar as configurações TOTP para esta entrada?</translation>
</message>
</context>
<context>
@@ -7056,11 +7125,11 @@ Example: JBSWY3DPEHPK3PXP</source>
</message>
<message>
<source>Refresh hardware tokens</source>
- <translation type="unfinished"/>
+ <translation>Atualizar os tokens de hardware</translation>
</message>
<message>
<source>Hardware key slot selection</source>
- <translation type="unfinished"/>
+ <translation>Seleção de campo de chave de hardware</translation>
</message>
</context>
</TS> \ No newline at end of file
diff --git a/share/translations/keepassx_pt_PT.ts b/share/translations/keepassx_pt_PT.ts
index 7f75f8dd4..b6d339905 100644
--- a/share/translations/keepassx_pt_PT.ts
+++ b/share/translations/keepassx_pt_PT.ts
@@ -15,7 +15,7 @@
</message>
<message>
<source>KeePassXC is distributed under the terms of the GNU General Public License (GPL) version 2 or (at your option) version 3.</source>
- <translation>KeePassXC é distribuído sob os termos da GNU General Public License (GPL) versão 2 ou (em sua opção) versão 3.</translation>
+ <translation>KeePassXC é distribuído nos termos da GNU General Public License (GPL) versão 2 ou versão 3 (por opção).</translation>
</message>
<message>
<source>Contributors</source>
@@ -23,7 +23,7 @@
</message>
<message>
<source>&lt;a href=&quot;https://github.com/keepassxreboot/keepassxc/graphs/contributors&quot;&gt;See Contributions on GitHub&lt;/a&gt;</source>
- <translation>&lt;a href=&quot;https://github.com/keepassxreboot/keepassxc/graphs/contributors&quot;&gt;Consulte os contributos no GitHub&lt;/a&gt;</translation>
+ <translation>&lt;a href=&quot;https://github.com/keepassxreboot/keepassxc/graphs/contributors&quot;&gt;Consulte os contributos em GitHub&lt;/a&gt;</translation>
</message>
<message>
<source>Debug Info</source>
@@ -54,7 +54,7 @@
</message>
<message>
<source>Use OpenSSH for Windows instead of Pageant</source>
- <translation>Utilizar OpenSSH for Windows em vez de Pageant</translation>
+ <translation>Utilizar OpenSSH para Windows em vez de Pageant</translation>
</message>
</context>
<context>
@@ -116,7 +116,7 @@
</message>
<message>
<source>Start only a single instance of KeePassXC</source>
- <translation>Abrir apenas uma instância do KeepassXC</translation>
+ <translation>Iniciar apenas uma instância do KeepassXC</translation>
</message>
<message>
<source>Minimize window at application startup</source>
@@ -184,7 +184,7 @@
</message>
<message>
<source>Hide window to system tray when minimized</source>
- <translation>Ao minimizar, ocultar a janela na bandeja do sistema</translation>
+ <translation>Ao minimizar, ocultar janela na bandeja do sistema</translation>
</message>
<message>
<source>Auto-Type</source>
@@ -192,11 +192,11 @@
</message>
<message>
<source>Use entry title to match windows for global Auto-Type</source>
- <translation>Utilizar título da entrada para fazer coincidir com a escrita automática</translation>
+ <translation>Utilizar título da entrada para correspondência com a escrita automática</translation>
</message>
<message>
<source>Use entry URL to match windows for global Auto-Type</source>
- <translation>Utilizar URL da entrada para fazer coincidir com a escrita automática</translation>
+ <translation>Utilizar URL da entrada para correspondência com a escrita automática</translation>
</message>
<message>
<source>Always ask before performing Auto-Type</source>
@@ -208,7 +208,7 @@
</message>
<message>
<source>Auto-Type typing delay</source>
- <translation>Atraso para escrita automática</translation>
+ <translation>Atraso para digitar a escrita automática</translation>
</message>
<message>
<source> ms</source>
@@ -277,7 +277,7 @@
</message>
<message>
<source>Favicon download timeout:</source>
- <translation>Tempo limite para descarregar os &apos;favicons&apos;</translation>
+ <translation>Tempo limite para descarregar o &apos;favicon&apos;:</translation>
</message>
<message>
<source>Website icon download timeout in seconds</source>
@@ -310,7 +310,7 @@
</message>
<message>
<source>Auto-type character typing delay milliseconds</source>
- <translation>Atraso para a escrita automática de caracteres (milissegundos)</translation>
+ <translation>Atraso para digitar a escrita automática de caracteres (milissegundos)</translation>
</message>
<message>
<source>Auto-type start delay milliseconds</source>
@@ -366,7 +366,7 @@
</message>
<message>
<source>Don&apos;t require password repeat when it is visible</source>
- <translation>Não pedir repetição da palavra-passe se esta estiver visível</translation>
+ <translation>Não pedir repetição de palavra-passe se esta estiver visível</translation>
</message>
<message>
<source>Don&apos;t hide passwords when editing them</source>
@@ -394,11 +394,11 @@
</message>
<message>
<source>Clipboard clear seconds</source>
- <translation>Limpar área de transferência após </translation>
+ <translation>Limpar área de transferência após</translation>
</message>
<message>
<source>Touch ID inactivity reset</source>
- <translation>Repor inatividade de Touch ID</translation>
+ <translation>Repor inatividade de TouchID</translation>
</message>
<message>
<source>Database lock timeout seconds</source>
@@ -434,7 +434,7 @@
</message>
<message>
<source>This Auto-Type command contains a very long delay. Do you really want to proceed?</source>
- <translation>O comando de escrita automática tem um atraso muito grande. Deseja mesmo continuar?</translation>
+ <translation>Este comando de escrita automática tem um atraso muito grande. Deseja mesmo continuar?</translation>
</message>
<message>
<source>This Auto-Type command contains very slow key presses. Do you really want to proceed?</source>
@@ -444,6 +444,14 @@
<source>This Auto-Type command contains arguments which are repeated very often. Do you really want to proceed?</source>
<translation>O comando de escrita automática contém argumentos que se repetem muitas vezes. Deseja mesmo continuar?</translation>
</message>
+ <message>
+ <source>Permission Required</source>
+ <translation>Permissão necessária</translation>
+ </message>
+ <message>
+ <source>KeePassXC requires the Accessibility permission in order to perform entry level Auto-Type. If you already granted permission, you may have to restart KeePassXC.</source>
+ <translation>KeePassXC necessita da permissão &apos;Accessibility&apos; para poder executar a escrita automática. Se já concedeu esta permissão, pode ser necessário reiniciar a aplicação.</translation>
+ </message>
</context>
<context>
<name>AutoTypeAssociationsModel</name>
@@ -491,6 +499,17 @@
</message>
</context>
<context>
+ <name>AutoTypePlatformMac</name>
+ <message>
+ <source>Permission Required</source>
+ <translation>Permissão necessária</translation>
+ </message>
+ <message>
+ <source>KeePassXC requires the Accessibility and Screen Recorder permission in order to perform global Auto-Type. Screen Recording is necessary to use the window title to find entries. If you already granted permission, you may have to restart KeePassXC.</source>
+ <translation>KeePassXC necessita das permissões &apos;Accessibility&apos; e &apos;Screen Recorder&apos; para poder executar a escrita automática. A permissão &apos;Screen recording&apos; é necessária para associar o titulo da janela às entradas. Se já concedeu estas permissões, pode ser necessário reiniciar a aplicação.</translation>
+ </message>
+</context>
+<context>
<name>AutoTypeSelectDialog</name>
<message>
<source>Auto-Type - KeePassXC</source>
@@ -498,11 +517,11 @@
</message>
<message>
<source>Select entry to Auto-Type:</source>
- <translation>Selecionar entrada para escrita automática:</translation>
+ <translation>Selecione a entrada para escrita automática:</translation>
</message>
<message>
<source>Search...</source>
- <translation>Pesquisa...</translation>
+ <translation>Pesquisar...</translation>
</message>
</context>
<context>
@@ -546,7 +565,7 @@ Selecione se deseja permitir o acesso.</translation>
</message>
<message>
<source>Ok</source>
- <translation>Aceitar</translation>
+ <translation>Ok</translation>
</message>
<message>
<source>Cancel</source>
@@ -563,7 +582,7 @@ Selecione a base de dados correta para guardar as credenciais.</translation>
<name>BrowserOptionDialog</name>
<message>
<source>Dialog</source>
- <translation>Diálogo</translation>
+ <translation>Caixa de diálogo</translation>
</message>
<message>
<source>This is required for accessing your databases with KeePassXC-Browser</source>
@@ -604,15 +623,15 @@ Selecione a base de dados correta para guardar as credenciais.</translation>
</message>
<message>
<source>Only entries with the same scheme (http://, https://, ...) are returned.</source>
- <translation>Apenas serão devolvidas as entradas com o mesmo esquema (http://, https://, ...).</translation>
+ <translation>Devolver apenas as entradas com o mesmo esquema (http://, https://, ...)</translation>
</message>
<message>
<source>&amp;Match URL scheme (e.g., https://...)</source>
- <translation>Corresponder com os esque&amp;mas do URL (https://...)</translation>
+ <translation>Correspondência com os esque&amp;mas URL (https://...)</translation>
</message>
<message>
<source>Only returns the best matches for a specific URL instead of all entries for the whole domain.</source>
- <translation>Apenas devolve as melhores entradas para o URL específico em vez das entradas para o domínio.</translation>
+ <translation>Devolver apenas as melhores entradas para o URL específico em vez das entradas para o domínio</translation>
</message>
<message>
<source>&amp;Return only best-matching credentials</source>
@@ -691,7 +710,7 @@ Selecione a base de dados correta para guardar as credenciais.</translation>
</message>
<message>
<source>Select custom proxy location</source>
- <translation>Selecionar localização do proxy personalizado</translation>
+ <translation>Selecione a localização do proxy personalizado</translation>
</message>
<message>
<source>&amp;Tor Browser</source>
@@ -712,11 +731,11 @@ Selecione a base de dados correta para guardar as credenciais.</translation>
</message>
<message>
<source>Due to Snap sandboxing, you must run a script to enable browser integration.&lt;br /&gt;You can obtain this script from %1</source>
- <translation>Devido a &apos;Snap sandboxing&apos;, tem que executar um script para ativar a integração com o navegador.&lt;br /&gt;Pode obter este script em %1.</translation>
+ <translation>Devido a &apos;Snap sandboxing&apos;, tem que executar um script para ativar a integração com o navegador.&lt;br /&gt;Pode obter o script em %1.</translation>
</message>
<message>
<source>Please see special instructions for browser extension use below</source>
- <translation>Por favor consulte as instruções para a utilização da extensão abaixo</translation>
+ <translation>Por favor consulte abaixo as instruções para a utilização da extensão</translation>
</message>
<message>
<source>KeePassXC-Browser is needed for the browser integration to work. &lt;br /&gt;Download it for %1 and %2. %3</source>
@@ -728,11 +747,11 @@ Selecione a base de dados correta para guardar as credenciais.</translation>
</message>
<message>
<source>Returns expired credentials. String [expired] is added to the title.</source>
- <translation>Devolve as credenciais expiradas. Adicionar [expirada] ao título.</translation>
+ <translation>Devolve as credenciais expiradas. Adiciona [expirada] ao título.</translation>
</message>
<message>
<source>&amp;Allow returning expired credentials.</source>
- <translation>Permitir devolução de credencias expir&amp;adas.</translation>
+ <translation>Permitir devolução de credencias expir&amp;adas</translation>
</message>
<message>
<source>Enable browser integration</source>
@@ -740,7 +759,7 @@ Selecione a base de dados correta para guardar as credenciais.</translation>
</message>
<message>
<source>Browsers installed as snaps are currently not supported.</source>
- <translation>Ainda não temos suporte a navegadores no formato Snap.</translation>
+ <translation>Ainda não existe suporte a navegadores no formato Snap.</translation>
</message>
<message>
<source>All databases connected to the extension will return matching credentials.</source>
@@ -748,11 +767,11 @@ Selecione a base de dados correta para guardar as credenciais.</translation>
</message>
<message>
<source>Don&apos;t display the popup suggesting migration of legacy KeePassHTTP settings.</source>
- <translation>Não mostrar janela para que sugere a migração das definições KeePassHTTP legadas.</translation>
+ <translation>Não mostrar janela que sugere a migração das definições KeePassHTTP legadas.</translation>
</message>
<message>
<source>&amp;Do not prompt for KeePassHTTP settings migration.</source>
- <translation>Não perguntar para migrar as &amp;definições KeePassHTTP.</translation>
+ <translation>Não perguntar para migrar as &amp;definições KeePassHTTP</translation>
</message>
<message>
<source>Custom proxy location field</source>
@@ -774,16 +793,6 @@ Selecione a base de dados correta para guardar as credenciais.</translation>
<translation>KeePassXC: Pedido de associação da nova chave</translation>
</message>
<message>
- <source>You have received an association request for the above key.
-
-If you would like to allow it access to your KeePassXC database,
-give it a unique name to identify and accept it.</source>
- <translation>Recebeu um pedido de associação para a chave acima indicada.
-
-Se quiser permitir o acesso à sua base de dados do KeePassXC,
-introduza um nome identificável e aceite o pedido.</translation>
- </message>
- <message>
<source>Save and allow access</source>
<translation>Guardar e permitir acesso</translation>
</message>
@@ -820,7 +829,7 @@ Deseja substituir a chave existente?</translation>
<message>
<source>Successfully converted attributes from %1 entry(s).
Moved %2 keys to custom data.</source>
- <translation>Os atributos para %1 entrada(s) foram convertidos.
+ <translation>Convertidos com sucesso s atributos para %1 entrada(s).
%2 chaves movidas para dados personalizados.</translation>
</message>
<message numerus="yes">
@@ -833,7 +842,7 @@ Moved %2 keys to custom data.</source>
</message>
<message>
<source>The active database does not contain an entry with KeePassHTTP attributes.</source>
- <translation>A base de dados ativa não tem entradas com atributos KePassHTTP.</translation>
+ <translation>A base de dados ativa não tem entradas com atributos KeePassHTTP.</translation>
</message>
<message>
<source>KeePassXC: Legacy browser integration settings detected</source>
@@ -847,7 +856,7 @@ Moved %2 keys to custom data.</source>
<source>A request for creating a new group &quot;%1&quot; has been received.
Do you want to create this group?
</source>
- <translation>Foi recebido um pedido para a criação do grupo &quot;%1&quot;.
+ <translation>Recebido um pedido para a criação do grupo &quot;%1&quot;.
Deseja criar este grupo?
</translation>
</message>
@@ -855,7 +864,7 @@ Deseja criar este grupo?
<source>Your KeePassXC-Browser settings need to be moved into the database settings.
This is necessary to maintain your current browser connections.
Would you like to migrate your existing settings now?</source>
- <translation>Tem que mover as suas definições KeePassXC-Browser para as definições da base de dados.
+ <translation>Tem que mover as definições KeePassXC-Browser para as definições da base de dados.
Este procedimento é necessário para manter as ligações existentes.
Gostaria de migrar agora as definições?</translation>
</message>
@@ -863,6 +872,18 @@ Gostaria de migrar agora as definições?</translation>
<source>Don&apos;t show this warning again</source>
<translation>Não mostrar novamente</translation>
</message>
+ <message>
+ <source>You have received an association request for the following database:
+%1
+
+Give the connection a unique name or ID, for example:
+chrome-laptop.</source>
+ <translation>Recebeu um pedido de associação para a base de dados abaixo:
+%1
+
+Indique um nome ou ID exclusivo para a ligação como, por exemplo:
+chrome-laptop</translation>
+ </message>
</context>
<context>
<name>CloneDialog</name>
@@ -880,7 +901,7 @@ Gostaria de migrar agora as definições?</translation>
</message>
<message>
<source>Copy history</source>
- <translation>Histórico de cópias</translation>
+ <translation>Copiar histórico</translation>
</message>
</context>
<context>
@@ -919,7 +940,7 @@ Gostaria de migrar agora as definições?</translation>
</message>
<message>
<source>First record has field names</source>
- <translation>Primeiro registo tem nome dos campos</translation>
+ <translation>Primeiro registo tem nome de campos</translation>
</message>
<message>
<source>Consider &apos;\&apos; an escape character</source>
@@ -927,7 +948,7 @@ Gostaria de migrar agora as definições?</translation>
</message>
<message>
<source>Preview</source>
- <translation>Antevisão</translation>
+ <translation>Pré-visualização</translation>
</message>
<message>
<source>Column layout</source>
@@ -935,11 +956,11 @@ Gostaria de migrar agora as definições?</translation>
</message>
<message>
<source>Not present in CSV file</source>
- <translation>Não existente no ficheiro CSV</translation>
+ <translation>Não existe no ficheiro CSV</translation>
</message>
<message>
<source>Imported from CSV file</source>
- <translation>Importar de ficheiro CSV</translation>
+ <translation>Importada de ficheiro CSV</translation>
</message>
<message>
<source>Original data: </source>
@@ -1017,7 +1038,7 @@ Gostaria de migrar agora as definições?</translation>
</message>
<message>
<source>File %1 does not exist.</source>
- <translation>%1 não existe.</translation>
+ <translation>Ficheiro %1 não existe.</translation>
</message>
<message>
<source>Unable to open file %1.</source>
@@ -1107,11 +1128,11 @@ Deve considerar a geração de um novo ficheiro-chave.</translation>
</message>
<message>
<source>Failed to open key file: %1</source>
- <translation>Não foi possível abrir o ficheiro chave: %1</translation>
+ <translation>Não foi possível abrir o ficheiro-chave: %1</translation>
</message>
<message>
<source>Select slot...</source>
- <translation>Selecionar &apos;slot&apos;</translation>
+ <translation>Selecionar &apos;slot&apos;...</translation>
</message>
<message>
<source>Unlock KeePassXC Database</source>
@@ -1130,16 +1151,12 @@ Deve considerar a geração de um novo ficheiro-chave.</translation>
<translation>Alternar visibilidade da palavra-passe</translation>
</message>
<message>
- <source>Enter Additional Credentials:</source>
- <translation>Introduza as credenciais adicionais:</translation>
- </message>
- <message>
<source>Key file selection</source>
<translation>Seleção do ficheiro-chave</translation>
</message>
<message>
<source>Hardware key slot selection</source>
- <translation type="unfinished"/>
+ <translation>Seleção de &apos;slot&apos; para a chave de hardware</translation>
</message>
<message>
<source>Browse for key file</source>
@@ -1147,7 +1164,7 @@ Deve considerar a geração de um novo ficheiro-chave.</translation>
</message>
<message>
<source>Browse...</source>
- <translation>Explorar...</translation>
+ <translation>Procurar...</translation>
</message>
<message>
<source>Refresh hardware tokens</source>
@@ -1158,13 +1175,8 @@ Deve considerar a geração de um novo ficheiro-chave.</translation>
<translation>Chave de hardware:</translation>
</message>
<message>
- <source>&lt;p&gt;You can use a hardware security key such as a &lt;strong&gt;YubiKey&lt;/strong&gt; or &lt;strong&gt;OnlyKey&lt;/strong&gt; with slots configured for HMAC-SHA1.&lt;/p&gt;
- &lt;p&gt;Click for more information...&lt;/p&gt;</source>
- <translation type="unfinished"/>
- </message>
- <message>
<source>Hardware key help</source>
- <translation>Ajuda para a chave de hardware</translation>
+ <translation>Ajuda para chaves de hardware</translation>
</message>
<message>
<source>TouchID for Quick Unlock</source>
@@ -1179,10 +1191,6 @@ Deve considerar a geração de um novo ficheiro-chave.</translation>
<translation>Limpar ficheiro-chave</translation>
</message>
<message>
- <source>Select file...</source>
- <translation>Selecionar ficheiro</translation>
- </message>
- <message>
<source>Unlock failed and no password given</source>
<translation>Não foi possível desbloquear e palavra-passe não introduzida</translation>
</message>
@@ -1194,12 +1202,48 @@ To prevent this error from appearing, you must go to &quot;Database Settings / S
<translation>Não foi possível desbloquear a base de dados e não foi introduzida uma palavra-passe.
Deseja tentar com uma palavra-passe vazia?
-Para impedir que este erro surja novamente, deve aceder a Definições da base de dados -&gt; Segurança para repor a palavra-passe.</translation>
+Para impedir que este erro surja novamente, deve aceder a &quot;Definições da base de dados -&gt; Segurança&quot; para repor a palavra-passe.</translation>
</message>
<message>
<source>Retry with empty password</source>
<translation>Tentar com palavra-passe vazia</translation>
</message>
+ <message>
+ <source>Enter Additional Credentials (if any):</source>
+ <translation>Introduza as credenciais adicionais (se existentes):</translation>
+ </message>
+ <message>
+ <source>&lt;p&gt;You can use a hardware security key such as a &lt;strong&gt;YubiKey&lt;/strong&gt; or &lt;strong&gt;OnlyKey&lt;/strong&gt; with slots configured for HMAC-SHA1.&lt;/p&gt;
+&lt;p&gt;Click for more information...&lt;/p&gt;</source>
+ <translation>&lt;p&gt;Pode utilizar uma chave de segurança como, por exemplo, os dispositivos &lt;strong&gt;YubiKey&lt;/strong&gt; ou &lt;strong&gt;OnlyKey&lt;/strong&gt; com &apos;slots&apos; configuradas para HMAC-SHA1.&lt;/p&gt;
+&lt;p&gt;Clique aqui para mais informações.&lt;/p&gt;</translation>
+ </message>
+ <message>
+ <source>&lt;p&gt;In addition to your master password, you can use a secret file to enhance the security of your database. Such a file can be generated in your database&apos;s security settings.&lt;/p&gt;&lt;p&gt;This is &lt;strong&gt;not&lt;/strong&gt; your *.kdbx database file!&lt;br&gt;If you do not have a key file, leave the field empty.&lt;/p&gt;&lt;p&gt;Click for more information...&lt;/p&gt;</source>
+ <translation>&lt;p&gt;Para além da palavra-passe, pode utilizar um ficheiro-chave de modo a aumentar a segurança da sua base de dados. Esse ficheiro-chave pode ser gerado nas definições de segurança da sua base de dados..&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Não&lt;/strong&gt; pode utilizar os ficheiros *.kdbx como ficheiro-chave!&lt;br&gt;Se não quiser utilizar um ficheiro-chave, deixe este campo em branco.&lt;/p&gt;&lt;p&gt;Clique aqui para mais informação.&lt;/p&gt;</translation>
+ </message>
+ <message>
+ <source>Key file help</source>
+ <translation>Ajuda para ficheiros-chave</translation>
+ </message>
+ <message>
+ <source>?</source>
+ <translation>?</translation>
+ </message>
+ <message>
+ <source>Select key file...</source>
+ <translation>Selecione o ficheiro-chave...</translation>
+ </message>
+ <message>
+ <source>Cannot use database file as key file</source>
+ <translation>Não pode utilizar uma base de dados como ficheiro-chave</translation>
+ </message>
+ <message>
+ <source>You cannot use your database file as a key file.
+If you do not have a key file, please leave the field empty.</source>
+ <translation>Não pode utilizar o ficheiro da sua base de dados como ficheiro-chave.
+Se não quiser utilizar um ficheiro-chave, deixe este campo em branco.</translation>
+ </message>
</context>
<context>
<name>DatabaseSettingWidgetMetaData</name>
@@ -1232,7 +1276,7 @@ Para impedir que este erro surja novamente, deve aceder a Definições da base d
</message>
<message>
<source>Browser Integration</source>
- <translation>Integração com o navegador</translation>
+ <translation>Integração com navegadores</translation>
</message>
</context>
<context>
@@ -1341,7 +1385,7 @@ Serão removidas todas as permissões para aceder às entradas.</translation>
</message>
<message>
<source>The active database does not contain an entry with permissions.</source>
- <translation>A base de dados ativa não contém uma entrada com permissões.</translation>
+ <translation>A base de dados ativa não contém qualquer entrada com permissões.</translation>
</message>
<message>
<source>Move KeePassHTTP attributes to custom data</source>
@@ -1370,11 +1414,11 @@ Esta atualização é necessária para manter a compatibilidade com o suplemento
</message>
<message>
<source>AES: 256 Bit (default)</source>
- <translation>AES: 256 bits (padrão)</translation>
+ <translation>AES: 256 bits (padrão)</translation>
</message>
<message>
<source>Twofish: 256 Bit</source>
- <translation>Twofish: 256 bits</translation>
+ <translation>Twofish: 256 bits</translation>
</message>
<message>
<source>Key Derivation Function:</source>
@@ -1418,7 +1462,7 @@ Esta atualização é necessária para manter a compatibilidade com o suplemento
</message>
<message>
<source>Higher values offer more protection, but opening the database will take longer.</source>
- <translation>Os valores mais altos oferecem mais proteção mas também pode demorar mais tempo para abrir a base de dados.</translation>
+ <translation>Valores mais altos oferecem mais proteção mas também pode demorar mais tempo para abrir a base de dados.</translation>
</message>
<message>
<source>Database format:</source>
@@ -1491,7 +1535,7 @@ Se mantiver este número, a sua base de dados pode ser desbloqueada muito facilm
<message numerus="yes">
<source> thread(s)</source>
<comment>Threads for parallel execution (KDF settings)</comment>
- <translation><numerusform>processo</numerusform><numerusform>processos</numerusform></translation>
+ <translation><numerusform> processo</numerusform><numerusform> processos</numerusform></translation>
</message>
<message numerus="yes">
<source>%1 ms</source>
@@ -1505,11 +1549,11 @@ Se mantiver este número, a sua base de dados pode ser desbloqueada muito facilm
</message>
<message>
<source>Change existing decryption time</source>
- <translation>Alterar tempo de decifragem</translation>
+ <translation>Alterar tempo para decifrar</translation>
</message>
<message>
<source>Decryption time in seconds</source>
- <translation>Tem de decifragem em segundos</translation>
+ <translation>Tempo para decifrar (segundos)</translation>
</message>
<message>
<source>Database format</source>
@@ -1552,7 +1596,7 @@ Se mantiver este número, a sua base de dados pode ser desbloqueada muito facilm
</message>
<message>
<source>Enable fd.o Secret Service to access these settings.</source>
- <translation type="unfinished"/>
+ <translation>Ative &apos;fd.o Secret Service&apos; para aceder a estas definições.</translation>
</message>
</context>
<context>
@@ -1575,7 +1619,7 @@ Se mantiver este número, a sua base de dados pode ser desbloqueada muito facilm
</message>
<message>
<source>History Settings</source>
- <translation>Definições do histórico</translation>
+ <translation>Definições de histórico</translation>
</message>
<message>
<source>Max. history items:</source>
@@ -1599,7 +1643,7 @@ Se mantiver este número, a sua base de dados pode ser desbloqueada muito facilm
</message>
<message>
<source>Enable &amp;compression (recommended)</source>
- <translation>Ativar compr&amp;essão (recomendado)</translation>
+ <translation>Ativar &amp;compressão (recomendado)</translation>
</message>
<message>
<source>Database name field</source>
@@ -1633,7 +1677,7 @@ Esta ação é irreversível.</translation>
</message>
<message>
<source> (old)</source>
- <translation>(antiga)</translation>
+ <translation> (antiga)</translation>
</message>
</context>
<context>
@@ -1734,7 +1778,7 @@ Tem a certeza de que deseja continuar?</translation>
</message>
<message>
<source>Hover over lines with error icons for further information.</source>
- <translation>Passe com o rato por cima das linhas com o erros para mais informações.</translation>
+ <translation>Passe com o rato por cima das linhas com o erro para mais informações.</translation>
</message>
<message>
<source>Name</source>
@@ -1794,7 +1838,7 @@ Tem a certeza de que deseja continuar?</translation>
</message>
<message>
<source>Unique passwords</source>
- <translation>Palavras-passe unívocas </translation>
+ <translation>Palavras-passe unívocas</translation>
</message>
<message>
<source>Non-unique passwords</source>
@@ -1838,7 +1882,11 @@ Tem a certeza de que deseja continuar?</translation>
</message>
<message>
<source>Average password length is less than ten characters. Longer passwords provide more security.</source>
- <translation type="unfinished"/>
+ <translation>O tamanho médio das palavras-passe é inferior a 10 caracteres. Palavras-passe com tamanho maior conferem mais segurança.</translation>
+ </message>
+ <message>
+ <source>Please wait, database statistics are being calculated...</source>
+ <translation>Por favor aguarde. As estatísticas da base de dados estão a ser calculadas.</translation>
</message>
</context>
<context>
@@ -1914,11 +1962,11 @@ Existe aqui um erro que deve ser reportado aos programadores.</translation>
</message>
<message>
<source>Failed to open %1. It either does not exist or is not accessible.</source>
- <translation>Não foi possível abrir %1. Provavelmente não existe ou não pode ser acedida.</translation>
+ <translation>Não foi possível abrir %1. Provavelmente não existe ou não está acessível.</translation>
</message>
<message>
<source>Export database to HTML file</source>
- <translation>Exportar base de dados para um ficheiro HTML</translation>
+ <translation>Exportar base de dados para ficheiro HTML</translation>
</message>
<message>
<source>HTML file</source>
@@ -1977,7 +2025,7 @@ Existe aqui um erro que deve ser reportado aos programadores.</translation>
</message>
<message>
<source>No source database, nothing to do.</source>
- <translation>Não existe base de dados de origem, nada a fazer.</translation>
+ <translation>Não existe base de dados de origem, nada para fazer.</translation>
</message>
<message>
<source>Search Results (%1)</source>
@@ -1985,7 +2033,7 @@ Existe aqui um erro que deve ser reportado aos programadores.</translation>
</message>
<message>
<source>No Results</source>
- <translation>Sem resultados</translation>
+ <translation>Não há resultados</translation>
</message>
<message>
<source>File has changed</source>
@@ -2052,7 +2100,7 @@ Guardar alterações?</translation>
<message>
<source>Could not open the new database file while attempting to autoreload.
Error: %1</source>
- <translation>Não foi possível abrir a nova base de dados durante o carregamento
+ <translation>Não foi possível abrir a nova base de dados durante o carregamento.
Erro: %1</translation>
</message>
<message>
@@ -2083,7 +2131,7 @@ Desativar salvaguardas e tentar novamente?</translation>
</message>
<message numerus="yes">
<source>Entry &quot;%1&quot; has %2 reference(s). Do you want to overwrite references with values, skip this entry, or delete anyway?</source>
- <translation><numerusform>A entrada &quot;%1&quot; tem %2 referência. Deseja substituir as referência com valores, ignorar a entrada ou apagar?</numerusform><numerusform>A entrada &quot;%1&quot; tem %2 referências. Deseja substituir as referências com valores, ignorar a entrada ou apagar?</numerusform></translation>
+ <translation><numerusform>A entrada &quot;%1&quot; tem %2 referência. Deseja substituir a referência com valores, ignorar ou apagar a entrada?</numerusform><numerusform>A entrada &quot;%1&quot; tem %2 referências. Deseja substituir as referências com valores, ignorar ou apagar a entrada?</numerusform></translation>
</message>
<message>
<source>Delete group</source>
@@ -2218,7 +2266,7 @@ Desativar salvaguardas e tentar novamente?</translation>
</message>
<message>
<source>Entry has unsaved changes</source>
- <translation>A entrada tem alterações por guardar</translation>
+ <translation>Entrada com alterações não guardadas</translation>
</message>
<message>
<source>New attribute %1</source>
@@ -2238,11 +2286,11 @@ Desativar salvaguardas e tentar novamente?</translation>
</message>
<message>
<source>Browser Integration</source>
- <translation>Integração com o navegador</translation>
+ <translation>Integração com navegadores</translation>
</message>
<message>
<source>&lt;empty URL&gt;</source>
- <translation>&lt;empty URL&gt;</translation>
+ <translation>&lt;URL vazio&gt;</translation>
</message>
<message>
<source>Are you sure you want to remove this URL?</source>
@@ -2253,7 +2301,7 @@ Desativar salvaguardas e tentar novamente?</translation>
<name>EditEntryWidgetAdvanced</name>
<message>
<source>Additional attributes</source>
- <translation>Atributos adicionais</translation>
+ <translation>Atributos extra</translation>
</message>
<message>
<source>Add</source>
@@ -2364,19 +2412,19 @@ Desativar salvaguardas e tentar novamente?</translation>
</message>
<message>
<source>Open Auto-Type help webpage</source>
- <translation>Abrir pagina de ajuda sobre escrita automática</translation>
+ <translation>Abrir página de ajuda sobre escrita automática</translation>
</message>
<message>
<source>Existing window associations</source>
- <translation>Associações de janela existentes</translation>
+ <translation>Associações existentes</translation>
</message>
<message>
<source>Add new window association</source>
- <translation>Adicionar nova associação de janela</translation>
+ <translation>Adicionar nova associação</translation>
</message>
<message>
<source>Remove selected window association</source>
- <translation>Remover associação de janela selecionada</translation>
+ <translation>Remover associação selecionada</translation>
</message>
<message>
<source>You can use an asterisk (*) to match everything</source>
@@ -2407,7 +2455,7 @@ Desativar salvaguardas e tentar novamente?</translation>
</message>
<message>
<source>Skip Auto-Submit for this entry</source>
- <translation>Ignorar submissão automática par esta entrada</translation>
+ <translation>Ignorar submissão automática para esta entrada</translation>
</message>
<message>
<source>Hide this entry from the browser extension</source>
@@ -2415,7 +2463,7 @@ Desativar salvaguardas e tentar novamente?</translation>
</message>
<message>
<source>Additional URL&apos;s</source>
- <translation>URL(s) extra </translation>
+ <translation>URL(s) extra</translation>
</message>
<message>
<source>Add</source>
@@ -2692,7 +2740,7 @@ Desativar salvaguardas e tentar novamente?</translation>
</message>
<message>
<source>Entry has unsaved changes</source>
- <translation>A entrada tem alterações por guardar</translation>
+ <translation>Entrada com alterações não guardadas</translation>
</message>
</context>
<context>
@@ -2760,19 +2808,20 @@ Desativar salvaguardas e tentar novamente?</translation>
<message>
<source>Your KeePassXC version does not support sharing this container type.
Supported extensions are: %1.</source>
- <translation>A sua versão de KeePasXC não tem suporte a partilha deste tipo de contentor. As extensões suportadas são: %1</translation>
+ <translation>A sua versão de KeePasXC não tem suporte a partilha deste tipo de contentor.
+As extensões suportadas são: %1.</translation>
</message>
<message>
<source>%1 is already being exported by this database.</source>
- <translation type="unfinished"/>
+ <translation>%1 já está a ser exportada para esta base de dados.</translation>
</message>
<message>
<source>%1 is already being imported by this database.</source>
- <translation type="unfinished"/>
+ <translation>%1 já está a ser importada para esta base de dados.</translation>
</message>
<message>
<source>%1 is being imported and exported by different groups in this database.</source>
- <translation type="unfinished"/>
+ <translation>%1 está a ser importada e exportada por grupos distintos desta base de dados.</translation>
</message>
<message>
<source>KeeShare is currently disabled. You can enable import/export in the application settings.</source>
@@ -2781,11 +2830,11 @@ Supported extensions are: %1.</source>
</message>
<message>
<source>Database export is currently disabled by application settings.</source>
- <translation>As suas definições não permitem exportação de bases de dados.</translation>
+ <translation>As suas definições não permitem a exportação de bases de dados.</translation>
</message>
<message>
<source>Database import is currently disabled by application settings.</source>
- <translation>As suas definições não permitem importação de bases de dados.</translation>
+ <translation>As suas definições não permitem a importação de bases de dados.</translation>
</message>
<message>
<source>Sharing mode field</source>
@@ -2860,7 +2909,7 @@ Supported extensions are: %1.</source>
</message>
<message>
<source>Auto-Type toggle for this and sub groups</source>
- <translation>Alternar escrita automática para este grupo e sub-grupos.</translation>
+ <translation>Ativar/desativar escrita automática para este grupo e sub-grupos</translation>
</message>
<message>
<source>Expiration field</source>
@@ -2868,11 +2917,11 @@ Supported extensions are: %1.</source>
</message>
<message>
<source>Search toggle for this and sub groups</source>
- <translation type="unfinished"/>
+ <translation>Ativar/desativar pesquisa para este grupo e os seus sub-grupos</translation>
</message>
<message>
<source>Default auto-type sequence field</source>
- <translation type="unfinished"/>
+ <translation>Campo Sequência padrão de escrita automática</translation>
</message>
</context>
<context>
@@ -2919,7 +2968,7 @@ Supported extensions are: %1.</source>
</message>
<message numerus="yes">
<source>Successfully loaded %1 of %n icon(s)</source>
- <translation><numerusform>%1 de %n ícone carregados com sucesso.</numerusform><numerusform>%1 de %n ícones carregados com sucesso.</numerusform></translation>
+ <translation><numerusform>%1 de %n ícone carregados com sucesso</numerusform><numerusform>%1 de %n ícones carregados com sucesso</numerusform></translation>
</message>
<message>
<source>No icons were loaded</source>
@@ -2927,7 +2976,7 @@ Supported extensions are: %1.</source>
</message>
<message numerus="yes">
<source>%n icon(s) already exist in the database</source>
- <translation><numerusform>%n ícone já existe na sua base de dados.</numerusform><numerusform>%n ícones já existem na sua base de dados.</numerusform></translation>
+ <translation><numerusform>%n ícone já existe na sua base de dados</numerusform><numerusform>%n ícones já existem na sua base de dados</numerusform></translation>
</message>
<message numerus="yes">
<source>The following icon(s) failed:</source>
@@ -2935,7 +2984,7 @@ Supported extensions are: %1.</source>
</message>
<message numerus="yes">
<source>This icon is used by %n entry(s), and will be replaced by the default icon. Are you sure you want to delete it?</source>
- <translation><numerusform>Este ícone é utilizado por % entrada e será substituído pelo ícone padrão. Tem a certeza de que deseja apagar o ícone?</numerusform><numerusform>Este ícone é utilizado por % entradas e será substituído pelo ícone padrão. Tem a certeza de que deseja apagar o ícone?</numerusform></translation>
+ <translation><numerusform>Este ícone é utilizado por %n entrada e será substituído pelo ícone padrão. Tem a certeza de que deseja apagar o ícone?</numerusform><numerusform>Este ícone é utilizado por %n entradas e será substituído pelo ícone padrão. Tem a certeza de que deseja apagar o ícone?</numerusform></translation>
</message>
<message>
<source>You can enable the DuckDuckGo website icon service under Tools -&gt; Settings -&gt; Security</source>
@@ -3156,7 +3205,7 @@ Esta ação pode implicar um funcionamento errático.</translation>
</message>
<message>
<source>Save selected attachment to disk</source>
- <translation>Guardar anexo selecionado para o disco</translation>
+ <translation>Guardar anexo selecionado no disco</translation>
</message>
</context>
<context>
@@ -3269,7 +3318,7 @@ Esta ação pode implicar um funcionamento errático.</translation>
</message>
<message>
<source>Expiration</source>
- <translation>Expiração</translation>
+ <translation>Expira</translation>
</message>
<message>
<source>URL</source>
@@ -3349,7 +3398,7 @@ Esta ação pode implicar um funcionamento errático.</translation>
<name>EntryView</name>
<message>
<source>Customize View</source>
- <translation>Vista personalizada</translation>
+ <translation>Personalizar vista</translation>
</message>
<message>
<source>Hide Usernames</source>
@@ -3380,7 +3429,7 @@ Esta ação pode implicar um funcionamento errático.</translation>
<name>FdoSecrets::Item</name>
<message>
<source>Entry &quot;%1&quot; from database &quot;%2&quot; was used by %3</source>
- <translation type="unfinished"/>
+ <translation>A entrada &quot;%1&quot; da base de dados &quot;%2&quot; foi utilizada por %3</translation>
</message>
</context>
<context>
@@ -3392,7 +3441,7 @@ Esta ação pode implicar um funcionamento errático.</translation>
<message numerus="yes">
<source>%n Entry(s) was used by %1</source>
<comment>%1 is the name of an application</comment>
- <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
+ <translation><numerusform>%n entrada foi utilizada por %1</numerusform><numerusform>%n entradas foram utilizadas por %1</numerusform></translation>
</message>
</context>
<context>
@@ -3407,7 +3456,7 @@ Esta ação pode implicar um funcionamento errático.</translation>
<message>
<source>[empty]</source>
<comment>group has no children</comment>
- <translation>[vazia]</translation>
+ <translation>[vazio]</translation>
</message>
</context>
<context>
@@ -3459,7 +3508,7 @@ Pode ativar o serviço DuckDuckGo na secção &apos;Segurança&apos; das definiÃ
</message>
<message>
<source>Ok</source>
- <translation>Aceitar</translation>
+ <translation>Ok</translation>
</message>
<message>
<source>Already Exists</source>
@@ -3505,7 +3554,7 @@ Pode ativar o serviço DuckDuckGo na secção &apos;Segurança&apos; das definiÃ
</message>
<message>
<source>Invalid header id size</source>
- <translation>Tamanho do id do cabeçalho inválido</translation>
+ <translation>Tamanho inválido no id do cabeçalho</translation>
</message>
<message>
<source>Invalid header field length</source>
@@ -3518,7 +3567,8 @@ Pode ativar o serviço DuckDuckGo na secção &apos;Segurança&apos; das definiÃ
<message>
<source>Invalid credentials were provided, please try again.
If this reoccurs, then your database file may be corrupt.</source>
- <translation type="unfinished"/>
+ <translation>Credenciais inválidas. Por favor tente novamente.
+Caso isto volte a acontecer, pode ser que a base de dados esteja danificada.</translation>
</message>
</context>
<context>
@@ -3556,15 +3606,15 @@ If this reoccurs, then your database file may be corrupt.</source>
</message>
<message>
<source>Invalid header id size</source>
- <translation>Tamanho do id do cabeçalho inválido</translation>
+ <translation>Tamanho inválido para a ID do cabeçalho</translation>
</message>
<message>
<source>Invalid header field length</source>
- <translation>Comprimento do campo de cabeçalho inválido</translation>
+ <translation>Comprimento inválido para o campo de cabeçalho</translation>
</message>
<message>
<source>Invalid header data length</source>
- <translation>Comprimento dos dados de cabeçalho inválido</translation>
+ <translation>Comprimento inválido para os dados do cabeçalho</translation>
</message>
<message>
<source>Failed to open buffer for KDF parameters in header</source>
@@ -3580,80 +3630,81 @@ If this reoccurs, then your database file may be corrupt.</source>
</message>
<message>
<source>Invalid inner header id size</source>
- <translation>Tamanho do id do cabeçalho interno inválido</translation>
+ <translation>Tamanho inválido na ID do cabeçalho interno</translation>
</message>
<message>
<source>Invalid inner header field length</source>
- <translation>Comprimento do campo de cabeçalho interno inválido</translation>
+ <translation>Comprimento inválido no campo de cabeçalho interno</translation>
</message>
<message>
<source>Invalid inner header binary size</source>
- <translation>Tamanho binário do cabeçalho interno inválido</translation>
+ <translation>Tamanho binário inválido no cabeçalho interno</translation>
</message>
<message>
<source>Unsupported KeePass variant map version.</source>
<extracomment>Translation: variant map = data structure for storing meta data</extracomment>
- <translation>Versão não suportada do mapa variante KeePass.</translation>
+ <translation>Versão não suportada da variente de mapa KeePass.</translation>
</message>
<message>
<source>Invalid variant map entry name length</source>
<extracomment>Translation: variant map = data structure for storing meta data</extracomment>
- <translation>Comprimento inválido no nome da entrada da variante do mapa</translation>
+ <translation>Comprimento inválido no nome da entrada da variante de mapa</translation>
</message>
<message>
<source>Invalid variant map entry name data</source>
<extracomment>Translation: variant map = data structure for storing meta data</extracomment>
- <translation>Dados inválidos no nome da entrada da variante do mapa</translation>
+ <translation>Dados inválidos no nome da entrada da variante de mapa</translation>
</message>
<message>
<source>Invalid variant map entry value length</source>
<extracomment>Translation: variant map = data structure for storing meta data</extracomment>
- <translation>Comprimento inválido no valor de entrada do mapa</translation>
+ <translation>Comprimento inválido no valor de entrada na variente de mapa</translation>
</message>
<message>
<source>Invalid variant map entry value data</source>
<extracomment>Translation comment: variant map = data structure for storing meta data</extracomment>
- <translation>Dados inválidos no valor da entrada da variante do mapa</translation>
+ <translation>Dados inválidos no valor de entrada da variante de mapa</translation>
</message>
<message>
<source>Invalid variant map Bool entry value length</source>
<extracomment>Translation: variant map = data structure for storing meta data</extracomment>
- <translation>Comprimento inválido do valor booleano da entrada da variante do mapa</translation>
+ <translation>Comprimento inválido do valor de entrada booleano da variante de mapa</translation>
</message>
<message>
<source>Invalid variant map Int32 entry value length</source>
<extracomment>Translation: variant map = data structure for storing meta data</extracomment>
- <translation>Comprimento inválido do valor da entrada Int32 da variante do mapa</translation>
+ <translation>Comprimento inválido no valor de entrada Int32 da variante de mapa</translation>
</message>
<message>
<source>Invalid variant map UInt32 entry value length</source>
<extracomment>Translation: variant map = data structure for storing meta data</extracomment>
- <translation>Comprimento inválido do valor da entrada UInt32 da variante do mapa</translation>
+ <translation>Comprimento inválido no valor de entrada UInt32 da variante de mapa</translation>
</message>
<message>
<source>Invalid variant map Int64 entry value length</source>
<extracomment>Translation: variant map = data structure for storing meta data</extracomment>
- <translation>Comprimento inválido do valor da entrada Int64 da variante do mapa</translation>
+ <translation>Comprimento inválido no valor de entrada Int64 da variante de mapa</translation>
</message>
<message>
<source>Invalid variant map UInt64 entry value length</source>
<extracomment>Translation: variant map = data structure for storing meta data</extracomment>
- <translation>Comprimento inválido do valor da entrada UInt64 da variante do mapa</translation>
+ <translation>Comprimento inválido no valor de entrada UInt64 da variante de mapa</translation>
</message>
<message>
<source>Invalid variant map entry type</source>
<extracomment>Translation: variant map = data structure for storing meta data</extracomment>
- <translation>Tipo inválido da entrada da variante do mapa</translation>
+ <translation>Tipo inválido na entrada da variante de mapa</translation>
</message>
<message>
<source>Invalid variant map field type size</source>
<extracomment>Translation: variant map = data structure for storing meta data</extracomment>
- <translation>Tamanho inválido do tipo de campo da variante do mapa</translation>
+ <translation>Tamanho inválido no tipo de campo da variante de mapa</translation>
</message>
<message>
<source>Invalid credentials were provided, please try again.
If this reoccurs, then your database file may be corrupt.</source>
- <translation type="unfinished"/>
+ <translation>Credenciais inválidas. Por favor tente novamente.
+Caso isto volte a acontecer, pode ser que a base de dados esteja danificada.</translation>
</message>
<message>
<source>(HMAC mismatch)</source>
@@ -3678,7 +3729,7 @@ If this reoccurs, then your database file may be corrupt.</source>
<message>
<source>Failed to serialize KDF parameters variant map</source>
<extracomment>Translation comment: variant map = data structure for storing meta data</extracomment>
- <translation>Não foi possível serializar os parâmetros KDF da variante do mapa</translation>
+ <translation>Não foi possível serializar os parâmetros KDF do mapa</translation>
</message>
</context>
<context>
@@ -3689,7 +3740,7 @@ If this reoccurs, then your database file may be corrupt.</source>
</message>
<message>
<source>Invalid compression flags length</source>
- <translation>Comprimento inválido da compressão de flags</translation>
+ <translation>Tamanho inválido da compressão</translation>
</message>
<message>
<source>Unsupported compression algorithm</source>
@@ -3713,7 +3764,7 @@ If this reoccurs, then your database file may be corrupt.</source>
</message>
<message>
<source>Invalid random stream id size</source>
- <translation>Tamanho inválido do ID do fluxo aleatório</translation>
+ <translation>Tamanho inválido da ID do fluxo aleatório</translation>
</message>
<message>
<source>Invalid inner random stream cipher</source>
@@ -3730,7 +3781,7 @@ You can import it by clicking on Database &gt; 'Import KeePass 1 database...'.
This is a one-way migration. You won&apos;t be able to open the imported database with the old KeePassX 0.4 version.</source>
<translation>O ficheiro selecionado é uma base de dados do KeePass 1 (.kdb).
-Pode importá-lo clicando em Base de dados - &gt; &apos;Importar base de dados do KeePass 1...&apos;.
+Pode importá-lo em Base de dados - &gt; &apos;Importar base de dados do KeePass 1...&apos;.
Esta é uma migração unidirecional. Não será possível abrir a base de dados importada com a versão 0.4 do KeePassX.</translation>
</message>
<message>
@@ -3814,7 +3865,7 @@ Esta é uma migração unidirecional. Não será possível abrir a base de dados
</message>
<message>
<source>No entry uuid found</source>
- <translation>Não foi encontrada uma entrada UUID</translation>
+ <translation>Não foi encontrada o UUID da entrada</translation>
</message>
<message>
<source>History element with different uuid</source>
@@ -3854,7 +3905,7 @@ Esta é uma migração unidirecional. Não será possível abrir a base de dados
</message>
<message>
<source>Invalid color rgb part</source>
- <translation>Parte da cor RGB inválida</translation>
+ <translation>Parte de cor RGB inválida</translation>
</message>
<message>
<source>Invalid number value</source>
@@ -3958,7 +4009,7 @@ Linha %2, coluna %3</translation>
</message>
<message>
<source>Read group field data doesn&apos;t match size</source>
- <translation>Leitura de grupo de dados do campo não coincidem no tamanho</translation>
+ <translation>Leitura de grupo de dados do campo não coincide no tamanho</translation>
</message>
<message>
<source>Incorrect group id field size</source>
@@ -4006,7 +4057,7 @@ Linha %2, coluna %3</translation>
</message>
<message>
<source>Read entry field data doesn&apos;t match size</source>
- <translation>Dados de campo de entrada não coincidem no tamanho</translation>
+ <translation>Dados do campo de entrada não coincidem no tamanho</translation>
</message>
<message>
<source>Invalid entry uuid field size</source>
@@ -4043,7 +4094,8 @@ Linha %2, coluna %3</translation>
<message>
<source>Invalid credentials were provided, please try again.
If this reoccurs, then your database file may be corrupt.</source>
- <translation type="unfinished"/>
+ <translation>Credenciais inválidas. Por favor tente novamente.
+Caso isto volte a acontecer, pode ser que a base de dados esteja danificada.</translation>
</message>
</context>
<context>
@@ -4129,7 +4181,7 @@ If this reoccurs, then your database file may be corrupt.</source>
<message>
<source>%1 set, click to change or remove</source>
<comment>Change or remove a key component</comment>
- <translation>%1 definida, clique para alterar ou remover</translation>
+ <translation>%1 definido, clique para alterar ou remover</translation>
</message>
</context>
<context>
@@ -4208,7 +4260,7 @@ Mensagem: %2</translation>
</message>
<message>
<source>Note: Do not use a file that may change as that will prevent you from unlocking your database!</source>
- <translation>AVISO: Não utilize um ficheiro que possa ser alterado pois poderá deixará de conseguir desbloquear a sua base de dados!</translation>
+ <translation>AVISO: Não utilize um ficheiro que possa ser alterado pois deixará de conseguir desbloquear a sua base de dados!</translation>
</message>
<message>
<source>Invalid Key File</source>
@@ -4226,7 +4278,7 @@ Mensagem: %2</translation>
<source>The chosen key file looks like a password database file. A key file must be a static file that never changes or you will lose access to your database forever.
Are you sure you want to continue with this file?</source>
<translation>Parece que o ficheiro-chave utilizado é um ficheiro de uma base de dados. Deve utilizar um ficheiro estático ou deixará de conseguir aceder à sua base de dados.
-Tem a certeza de que deseja utilizar este ficheiro? </translation>
+Tem a certeza de que deseja utilizar este ficheiro?</translation>
</message>
</context>
<context>
@@ -4504,12 +4556,12 @@ Recomendamos que utilize a versão AppImage disponível no nosso site.</translat
<message>
<source>NOTE: You are using a pre-release version of KeePassXC!
Expect some bugs and minor issues, this version is not meant for production use.</source>
- <translation>NOTA: está a utilizar uma versão de teste do KeePassXC!
+ <translation>NOTA: está a utilizar uma versão de testes do KeePassXC!
Pode encontrar erros graves e esta versão não deve ser utilizada em ambientes de produção.</translation>
</message>
<message>
<source>Check for updates on startup?</source>
- <translation>Verificar se existem atualizações ao iniciar?</translation>
+ <translation>Procurar por atualizações ao iniciar?</translation>
</message>
<message>
<source>Would you like KeePassXC to check for updates on startup?</source>
@@ -4529,7 +4581,7 @@ Pode encontrar erros graves e esta versão não deve ser utilizada em ambientes
</message>
<message>
<source>Downlo&amp;ad all favicons</source>
- <translation>Descarreg&amp;ar tos os &apos;favicon&apos;</translation>
+ <translation>Descarreg&amp;ar todos os &apos;favicon&apos;</translation>
</message>
<message>
<source>Sort &amp;A-Z</source>
@@ -4553,7 +4605,7 @@ Pode encontrar erros graves e esta versão não deve ser utilizada em ambientes
</message>
<message>
<source>1Password Vault...</source>
- <translation>Cofre 1Password</translation>
+ <translation>Cofre 1Password...</translation>
</message>
<message>
<source>Import a 1Password Vault</source>
@@ -4585,7 +4637,7 @@ Pode encontrar erros graves e esta versão não deve ser utilizada em ambientes
</message>
<message>
<source>&amp;Keyboard Shortcuts</source>
- <translation>Atal&amp;hos do teclado</translation>
+ <translation>Atal&amp;hos de teclado</translation>
</message>
</context>
<context>
@@ -4596,7 +4648,7 @@ Pode encontrar erros graves e esta versão não deve ser utilizada em ambientes
</message>
<message>
<source>Relocating %1 [%2]</source>
- <translation>A alocar %1 [%2]</translation>
+ <translation>A realocar %1 [%2]</translation>
</message>
<message>
<source>Overwriting %1 [%2]</source>
@@ -4659,7 +4711,7 @@ Pode encontrar erros graves e esta versão não deve ser utilizada em ambientes
<name>NewDatabaseWizard</name>
<message>
<source>Create a new KeePassXC database...</source>
- <translation>A criar uma nova base de dados do KeePassXC...</translation>
+ <translation>Criar uma nova base de dados do KeePassXC...</translation>
</message>
<message>
<source>Root</source>
@@ -4727,7 +4779,7 @@ Pode encontrar erros graves e esta versão não deve ser utilizada em ambientes
<name>OpData01</name>
<message>
<source>Invalid OpData01, does not contain header</source>
- <translation>OpData01 inválido porque não tem um cabeçalho.</translation>
+ <translation>OpData01 inválido, não existe um cabeçalho</translation>
</message>
<message>
<source>Unable to read all IV bytes, wanted 16 but got %1</source>
@@ -4743,15 +4795,15 @@ Pode encontrar erros graves e esta versão não deve ser utilizada em ambientes
</message>
<message>
<source>Malformed OpData01 due to a failed HMAC</source>
- <translation type="unfinished"/>
+ <translation>OpData01 mal formado por causa de uma falha HMAC</translation>
</message>
<message>
<source>Unable to process clearText in place</source>
- <translation type="unfinished"/>
+ <translation>Não foi possível processar &apos;clear-text&apos; localmente</translation>
</message>
<message>
<source>Expected %1 bytes of clear-text, found %2</source>
- <translation type="unfinished"/>
+ <translation>Esperados %1 bytes de &apos;clear-text&apos; mas foram encontrados %2</translation>
</message>
</context>
<context>
@@ -4759,7 +4811,8 @@ Pode encontrar erros graves e esta versão não deve ser utilizada em ambientes
<message>
<source>Read Database did not produce an instance
%1</source>
- <translation type="unfinished"/>
+ <translation>A leitura da base de dados não produziu uma instância
+%1</translation>
</message>
</context>
<context>
@@ -4877,7 +4930,7 @@ Pode encontrar erros graves e esta versão não deve ser utilizada em ambientes
</message>
<message>
<source>Cipher IV is too short for MD5 kdf</source>
- <translation>Cifra IV é muito curta para MD kdf</translation>
+ <translation>Cifra IV é muito curta para MD5 kdf</translation>
</message>
<message>
<source>Unknown KDF: %1</source>
@@ -4896,7 +4949,7 @@ Pode encontrar erros graves e esta versão não deve ser utilizada em ambientes
</message>
<message>
<source>Passwords match so far</source>
- <translation type="unfinished"/>
+ <translation>Correspondências até agora</translation>
</message>
</context>
<context>
@@ -4987,7 +5040,7 @@ Pode encontrar erros graves e esta versão não deve ser utilizada em ambientes
</message>
<message>
<source>&amp;Length:</source>
- <translation>&amp;Comprimento:</translation>
+ <translation>&amp;Tamanho:</translation>
</message>
<message>
<source>Passphrase</source>
@@ -5107,7 +5160,7 @@ Pode encontrar erros graves e esta versão não deve ser utilizada em ambientes
</message>
<message>
<source>Switch to simple mode</source>
- <translation>Trocar para o modo básico</translation>
+ <translation>Ativar modo básico</translation>
</message>
<message>
<source>Simple</source>
@@ -5179,7 +5232,7 @@ Pode encontrar erros graves e esta versão não deve ser utilizada em ambientes
</message>
<message>
<source>Word Case:</source>
- <translation type="unfinished"/>
+ <translation>Tipo de letra:</translation>
</message>
<message>
<source>Regenerate password</source>
@@ -5187,7 +5240,7 @@ Pode encontrar erros graves e esta versão não deve ser utilizada em ambientes
</message>
<message>
<source>Copy password</source>
- <translation>Copiar senha</translation>
+ <translation>Copiar palavra-passe</translation>
</message>
<message>
<source>Accept password</source>
@@ -5445,7 +5498,7 @@ Comandos disponíveis:
</message>
<message>
<source>Path of the database to merge from.</source>
- <translation>Caminho da base de dados de origem da combinação.</translation>
+ <translation>Caminho da base de dados de origem para a combinação.</translation>
</message>
<message>
<source>Use the same credentials for both database files.</source>
@@ -5551,7 +5604,7 @@ Comandos disponíveis:
</message>
<message>
<source>Could not create entry with path %1.</source>
- <translation>Não foi possível criar a entrada com o caminho %1</translation>
+ <translation>Não foi possível criar a entrada com o caminho %1.</translation>
</message>
<message>
<source>Enter password for new entry: </source>
@@ -5563,19 +5616,19 @@ Comandos disponíveis:
</message>
<message>
<source>Successfully added entry %1.</source>
- <translation>Entrada %1 adicionada com sucesso</translation>
+ <translation>Entrada %1 adicionada com sucesso.</translation>
</message>
<message>
<source>Copy the current TOTP to the clipboard.</source>
- <translation>Copiar TOTP atual para a área de transferência</translation>
+ <translation>Copiar TOTP atual para a área de transferência.</translation>
</message>
<message>
<source>Invalid timeout value %1.</source>
- <translation>Valor limite inválido %1</translation>
+ <translation>Valor limite inválido %1.</translation>
</message>
<message>
<source>Entry %1 not found.</source>
- <translation>Entrada %1 não encontrada</translation>
+ <translation>Entrada %1 não encontrada.</translation>
</message>
<message>
<source>Entry with path %1 has no TOTP set up.</source>
@@ -5798,15 +5851,15 @@ Comandos disponíveis:
</message>
<message>
<source>Show the entry&apos;s current TOTP.</source>
- <translation>Mostrar TOTP atual da entrada.</translation>
+ <translation>Mostrar TOTP da entrada atual.</translation>
</message>
<message>
<source>ERROR: unknown attribute %1.</source>
- <translation>Erro: atributo desconhecido %1</translation>
+ <translation>Erro: atributo desconhecido %1.</translation>
</message>
<message>
<source>No program defined for clipboard manipulation</source>
- <translation>Não definiu um programa para manipulação da área de transferência</translation>
+ <translation>Não definiu um programa para manipular a área de transferência</translation>
</message>
<message>
<source>Unable to start program %1</source>
@@ -5868,7 +5921,7 @@ Comandos disponíveis:
</message>
<message>
<source>File %1 already exists.</source>
- <translation>O ficheiro %1 já existe.</translation>
+ <translation>Ficheiro %1 já existe.</translation>
</message>
<message>
<source>Loading the key file failed</source>
@@ -5952,7 +6005,7 @@ Comandos disponíveis:
</message>
<message>
<source>Deactivate password key for the database.</source>
- <translation type="unfinished"/>
+ <translation>Desativar chave de segurança para a base de dados.</translation>
</message>
<message>
<source>Displays debugging information.</source>
@@ -5960,7 +6013,7 @@ Comandos disponíveis:
</message>
<message>
<source>Deactivate password key for the database to merge from.</source>
- <translation type="unfinished"/>
+ <translation>Desativar palavra-passe da base de dados de origem.</translation>
</message>
<message>
<source>Version %1</source>
@@ -6044,7 +6097,7 @@ Kernel: %3 %4</translation>
</message>
<message>
<source>Group %1 already exists!</source>
- <translation>O grupo %1 já existe!</translation>
+ <translation>Grupo %1 já existe!</translation>
</message>
<message>
<source>Group %1 not found.</source>
@@ -6056,11 +6109,11 @@ Kernel: %3 %4</translation>
</message>
<message>
<source>Check if any passwords have been publicly leaked. FILENAME must be the path of a file listing SHA-1 hashes of leaked passwords in HIBP format, as available from https://haveibeenpwned.com/Passwords.</source>
- <translation type="unfinished"/>
+ <translation>Verifique se as suas palavras-passe foram reveladas publicamente. FILENAME tem que ser o caminho de um ficheiro que liste as &apos;hashes&apos; SHA-1 das palavras-passe reveladas (no formato HIBP), tal como definido em https://haveibeenpwned.com/Passwords.</translation>
</message>
<message>
<source>FILENAME</source>
- <translation>Nome do ficheiro</translation>
+ <translation>FILENAME</translation>
</message>
<message>
<source>Analyze passwords for weaknesses and problems.</source>
@@ -6080,19 +6133,19 @@ Kernel: %3 %4</translation>
</message>
<message>
<source>Display this help.</source>
- <translation>Mostrar esta ajuda.</translation>
+ <translation>Mostra esta ajuda.</translation>
</message>
<message>
<source>Yubikey slot used to encrypt the database.</source>
- <translation type="unfinished"/>
+ <translation>&apos;Slot&apos; Yubikey utilizada para cifrar a base de dados.</translation>
</message>
<message>
<source>slot</source>
- <translation type="unfinished"/>
+ <translation>slot</translation>
</message>
<message>
<source>Invalid word count %1</source>
- <translation type="unfinished"/>
+ <translation>Número de palavras inválido: %1</translation>
</message>
<message>
<source>The word list is too small (&lt; 1000 items)</source>
@@ -6104,11 +6157,11 @@ Kernel: %3 %4</translation>
</message>
<message>
<source>Format to use when exporting. Available choices are xml or csv. Defaults to xml.</source>
- <translation type="unfinished"/>
+ <translation>Formato a utilizar para a exportação. As opções possíveis são xml e csv. Por definição, é utilizado o formato XML.</translation>
</message>
<message>
<source>Exports the content of a database to standard output in the specified format.</source>
- <translation type="unfinished"/>
+ <translation>Exporta o conteúdo da base de dados para o formato especificado.</translation>
</message>
<message>
<source>Unable to export database to XML: %1</source>
@@ -6128,7 +6181,7 @@ Kernel: %3 %4</translation>
</message>
<message>
<source>Display command help.</source>
- <translation>Mostrar ajuda para comandos.</translation>
+ <translation>Mostra a ajuda para os comandos.</translation>
</message>
<message>
<source>Available commands:</source>
@@ -6140,7 +6193,7 @@ Kernel: %3 %4</translation>
</message>
<message>
<source>Path of the XML database export.</source>
- <translation type="unfinished"/>
+ <translation>Caminho para guardar a base de dados em XML.</translation>
</message>
<message>
<source>Path of the new database.</source>
@@ -6148,7 +6201,7 @@ Kernel: %3 %4</translation>
</message>
<message>
<source>Unable to import XML database export %1</source>
- <translation type="unfinished"/>
+ <translation>Não foi possível importar a base de dados %1</translation>
</message>
<message>
<source>Successfully imported database.</source>
@@ -6160,19 +6213,19 @@ Kernel: %3 %4</translation>
</message>
<message>
<source>Flattens the output to single lines.</source>
- <translation type="unfinished"/>
+ <translation>Restringe o resultado para uma linha única.</translation>
</message>
<message>
<source>Only print the changes detected by the merge operation.</source>
- <translation type="unfinished"/>
+ <translation>Imprimir apenas as alterações detetadas pela operação de combinação.</translation>
</message>
<message>
<source>Yubikey slot for the second database.</source>
- <translation type="unfinished"/>
+ <translation>&apos;Slot&apos; Yubikey para a segunda base de dados.</translation>
</message>
<message>
<source>Successfully merged %1 into %2.</source>
- <translation type="unfinished"/>
+ <translation>%1 combinado com sucesso para %2.</translation>
</message>
<message>
<source>Database was not modified by merge operation.</source>
@@ -6212,11 +6265,11 @@ Kernel: %3 %4</translation>
</message>
<message>
<source>Cannot remove root group from database.</source>
- <translation type="unfinished"/>
+ <translation>Não é possível remover o grupo raiz da base de dados.</translation>
</message>
<message>
<source>Successfully recycled group %1.</source>
- <translation>Grupo %1 enviado para a reciclagem</translation>
+ <translation>Grupo %1 enviado para a reciclagem.</translation>
</message>
<message>
<source>Successfully deleted group %1.</source>
@@ -6236,11 +6289,11 @@ Kernel: %3 %4</translation>
</message>
<message>
<source>Enter password to unlock %1: </source>
- <translation>Introduza a palavra-passe para desbloquear %1:</translation>
+ <translation>Introduza a palavra-passe para desbloquear %1: </translation>
</message>
<message>
<source>Invalid YubiKey slot %1</source>
- <translation type="unfinished"/>
+ <translation>&apos;Slot&apos; Yubikey inválida: %1</translation>
</message>
<message>
<source>Please touch the button on your YubiKey to unlock %1</source>
@@ -6248,7 +6301,7 @@ Kernel: %3 %4</translation>
</message>
<message>
<source>Enter password to encrypt database (optional): </source>
- <translation>Introduza a palavra-passe para cifrar a base de dados (opcional):</translation>
+ <translation>Introduza a palavra-passe para cifrar a base de dados (opcional): </translation>
</message>
<message>
<source>HIBP file, line %1: parse error</source>
@@ -6268,11 +6321,15 @@ Kernel: %3 %4</translation>
</message>
<message numerus="yes">
<source>Password for &apos;%1&apos; has been leaked %2 time(s)!</source>
- <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
+ <translation><numerusform>A palavra-passe para &apos;%1&apos; foi revelada %2 vez!</numerusform><numerusform>A palavra-passe para &apos;%1&apos; foi revelada %2 vezes!</numerusform></translation>
</message>
<message>
<source>Invalid password generator after applying all options</source>
- <translation type="unfinished"/>
+ <translation>Gerador de palavras-passe inválido depois de aplicar todas as opções</translation>
+ </message>
+ <message>
+ <source>Show the protected attributes in clear text.</source>
+ <translation>Mostrar atributos protegidos em &apos;clear-text&apos;.</translation>
</message>
</context>
<context>
@@ -6317,7 +6374,7 @@ Kernel: %3 %4</translation>
</message>
<message>
<source>Agent protocol error.</source>
- <translation>Erro de protocolo do agente.</translation>
+ <translation>Erro no protocolo do agente.</translation>
</message>
<message>
<source>No agent running, cannot add identity.</source>
@@ -6337,7 +6394,7 @@ Kernel: %3 %4</translation>
</message>
<message>
<source>Restricted lifetime is not supported by the agent (check options).</source>
- <translation>O tempo de vida restrito não é suportado pelo agente (verificar opções).</translation>
+ <translation>O tempo de vida restrito não é suportado pelo agente (consulte as opções).</translation>
</message>
<message>
<source>A confirmation request is not supported by the agent (check options).</source>
@@ -6420,11 +6477,11 @@ Kernel: %3 %4</translation>
<message>
<source>Search (%1)...</source>
<comment>Search placeholder text, %1 is the keyboard shortcut</comment>
- <translation>Pesquisa (%1)...</translation>
+ <translation>Pesquisar (%1)...</translation>
</message>
<message>
<source>Case sensitive</source>
- <translation>Sensível ao tipo</translation>
+ <translation>Diferenciar maiúsculas/minúsculas</translation>
</message>
</context>
<context>
@@ -6627,7 +6684,7 @@ Kernel: %3 %4</translation>
</message>
<message>
<source>Exporting changed certificate</source>
- <translation>A exportar certificado alterado</translation>
+ <translation>Exportação do certificado alterado</translation>
</message>
<message>
<source>The exported certificate is not the same as the one in use. Do you want to export the current certificate?</source>
@@ -6694,11 +6751,11 @@ Kernel: %3 %4</translation>
<name>ShareExport</name>
<message>
<source>Overwriting signed share container is not supported - export prevented</source>
- <translation>A substituição de contentor de partilha não assinado não é suportada - exportação evitada</translation>
+ <translation>A substituição de contentores de partilha assinados não é suportada - exportação evitada</translation>
</message>
<message>
<source>Could not write export container (%1)</source>
- <translation>Não foi possível escrever contentor de exportação (%1)</translation>
+ <translation>Não foi possível escrever o contentor de exportação (%1)</translation>
</message>
<message>
<source>Could not embed signature: Could not open file to write (%1)</source>
@@ -6718,7 +6775,7 @@ Kernel: %3 %4</translation>
</message>
<message>
<source>Overwriting unsigned share container is not supported - export prevented</source>
- <translation>A substituição de contentor de partilha assinado não é suportada - exportação evitada</translation>
+ <translation>A substituição de contentores de partilha não assinados não é suportada - exportação evitada</translation>
</message>
<message>
<source>Could not write export container</source>
@@ -6745,7 +6802,7 @@ Kernel: %3 %4</translation>
</message>
<message>
<source>Do you want to trust %1 with the fingerprint of %2 from %3?</source>
- <translation>Deseja confiar em %1 com a impressão digital de %2 em %3? {1 ?} {2 ?}</translation>
+ <translation>Deseja confiar em %1 com a impressão digital de %2 em %3?</translation>
</message>
<message>
<source>Not this time</source>
@@ -6886,11 +6943,11 @@ Kernel: %3 %4</translation>
</message>
<message>
<source>Default RFC 6238 token settings</source>
- <translation>Definições padrão do token RFC 6238</translation>
+ <translation>Definições padrão do &apos;token&apos; RFC 6238</translation>
</message>
<message>
<source>Steam token settings</source>
- <translation>Definições do token do fluxo</translation>
+ <translation>Definições do &apos;token&apos; do fluxo</translation>
</message>
<message>
<source>Use custom settings</source>
@@ -6931,11 +6988,11 @@ Kernel: %3 %4</translation>
</message>
<message>
<source>Time step field</source>
- <translation type="unfinished"/>
+ <translation>Campo Avanço de tempo</translation>
</message>
<message>
<source> digits</source>
- <translation>dígitos</translation>
+ <translation> dígitos</translation>
</message>
<message>
<source>Invalid TOTP Secret</source>
@@ -6952,18 +7009,18 @@ Example: JBSWY3DPEHPK3PXP</source>
</message>
<message>
<source>Are you sure you want to delete TOTP settings for this entry?</source>
- <translation>Tem a certeza de que deseja remover as definições TOTP para esta entrada?</translation>
+ <translation>Tem a certeza de que deseja remover as definições TOTP desta entrada?</translation>
</message>
</context>
<context>
<name>UpdateCheckDialog</name>
<message>
<source>Checking for updates</source>
- <translation>A verificar se existem atualizações</translation>
+ <translation>A procurar por atualizações</translation>
</message>
<message>
<source>Checking for updates...</source>
- <translation>A verificar se existem atualizações...</translation>
+ <translation>A procurar por atualizações...</translation>
</message>
<message>
<source>Close</source>
@@ -6979,7 +7036,7 @@ Example: JBSWY3DPEHPK3PXP</source>
</message>
<message>
<source>Please try again later.</source>
- <translation>Por favor tente mais tarde</translation>
+ <translation>Por favor tente mais tarde.</translation>
</message>
<message>
<source>Software Update</source>
@@ -6991,7 +7048,7 @@ Example: JBSWY3DPEHPK3PXP</source>
</message>
<message>
<source>KeePassXC %1 is now available — you have %2.</source>
- <translation>O KeePassXC %1 já está disponível — você tem a versão %2.</translation>
+ <translation>Está disponível o KeePassXC %1 — você tem a versão %2.</translation>
</message>
<message>
<source>Download it at keepassxc.org</source>
@@ -6999,7 +7056,7 @@ Example: JBSWY3DPEHPK3PXP</source>
</message>
<message>
<source>You&apos;re up-to-date!</source>
- <translation>A sua versão está atualizada!</translation>
+ <translation>Versão atualizada!</translation>
</message>
<message>
<source>KeePassXC %1 is currently the newest version available</source>
@@ -7022,7 +7079,7 @@ Example: JBSWY3DPEHPK3PXP</source>
</message>
<message>
<source>Import from KeePass 1</source>
- <translation>Importar do KeePass 1</translation>
+ <translation>Importar de KeePass 1</translation>
</message>
<message>
<source>Import from CSV</source>
@@ -7073,7 +7130,7 @@ Example: JBSWY3DPEHPK3PXP</source>
</message>
<message>
<source>Hardware key slot selection</source>
- <translation type="unfinished"/>
+ <translation>Seleção de &apos;slot&apos; para a chave de hardware</translation>
</message>
</context>
</TS> \ No newline at end of file
diff --git a/share/translations/keepassx_ro.ts b/share/translations/keepassx_ro.ts
index 826286377..bd4f02fbd 100644
--- a/share/translations/keepassx_ro.ts
+++ b/share/translations/keepassx_ro.ts
@@ -444,6 +444,14 @@
<source>This Auto-Type command contains arguments which are repeated very often. Do you really want to proceed?</source>
<translation>Această comandă auto-tip conține argumente care se repetă foarte des. Chiar vrei să continuăm?</translation>
</message>
+ <message>
+ <source>Permission Required</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>KeePassXC requires the Accessibility permission in order to perform entry level Auto-Type. If you already granted permission, you may have to restart KeePassXC.</source>
+ <translation type="unfinished"/>
+ </message>
</context>
<context>
<name>AutoTypeAssociationsModel</name>
@@ -491,6 +499,17 @@
</message>
</context>
<context>
+ <name>AutoTypePlatformMac</name>
+ <message>
+ <source>Permission Required</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>KeePassXC requires the Accessibility and Screen Recorder permission in order to perform global Auto-Type. Screen Recording is necessary to use the window title to find entries. If you already granted permission, you may have to restart KeePassXC.</source>
+ <translation type="unfinished"/>
+ </message>
+</context>
+<context>
<name>AutoTypeSelectDialog</name>
<message>
<source>Auto-Type - KeePassXC</source>
@@ -774,16 +793,6 @@ Selectați baza de date corectă pentru salvarea acreditărilor.</translation>
<translation>KeePassXC: noua cerere de asociere cheie</translation>
</message>
<message>
- <source>You have received an association request for the above key.
-
-If you would like to allow it access to your KeePassXC database,
-give it a unique name to identify and accept it.</source>
- <translation>Ați primit o solicitare de asociere pentru cheia de mai sus.
-
-Dacă doriți să-i permiteți accesul la baza de date KeePassXC,
-dati un nume unic pentru a identifica și de a accepta.</translation>
- </message>
- <message>
<source>Save and allow access</source>
<translation>Salvează și permite acces</translation>
</message>
@@ -862,6 +871,14 @@ Migrați acum setările existente?</translation>
<source>Don&apos;t show this warning again</source>
<translation>Nu mai afișa acest avertisment</translation>
</message>
+ <message>
+ <source>You have received an association request for the following database:
+%1
+
+Give the connection a unique name or ID, for example:
+chrome-laptop.</source>
+ <translation type="unfinished"/>
+ </message>
</context>
<context>
<name>CloneDialog</name>
@@ -1128,10 +1145,6 @@ Vă rugăm să luați în considerare generarea unui nou fișier cheie.</transla
<translation type="unfinished"/>
</message>
<message>
- <source>Enter Additional Credentials:</source>
- <translation type="unfinished"/>
- </message>
- <message>
<source>Key file selection</source>
<translation type="unfinished"/>
</message>
@@ -1156,11 +1169,6 @@ Vă rugăm să luați în considerare generarea unui nou fișier cheie.</transla
<translation type="unfinished"/>
</message>
<message>
- <source>&lt;p&gt;You can use a hardware security key such as a &lt;strong&gt;YubiKey&lt;/strong&gt; or &lt;strong&gt;OnlyKey&lt;/strong&gt; with slots configured for HMAC-SHA1.&lt;/p&gt;
- &lt;p&gt;Click for more information...&lt;/p&gt;</source>
- <translation type="unfinished"/>
- </message>
- <message>
<source>Hardware key help</source>
<translation type="unfinished"/>
</message>
@@ -1177,10 +1185,6 @@ Vă rugăm să luați în considerare generarea unui nou fișier cheie.</transla
<translation type="unfinished"/>
</message>
<message>
- <source>Select file...</source>
- <translation type="unfinished"/>
- </message>
- <message>
<source>Unlock failed and no password given</source>
<translation type="unfinished"/>
</message>
@@ -1195,6 +1199,40 @@ To prevent this error from appearing, you must go to &quot;Database Settings / S
<source>Retry with empty password</source>
<translation type="unfinished"/>
</message>
+ <message>
+ <source>Enter Additional Credentials (if any):</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>&lt;p&gt;You can use a hardware security key such as a &lt;strong&gt;YubiKey&lt;/strong&gt; or &lt;strong&gt;OnlyKey&lt;/strong&gt; with slots configured for HMAC-SHA1.&lt;/p&gt;
+&lt;p&gt;Click for more information...&lt;/p&gt;</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>&lt;p&gt;In addition to your master password, you can use a secret file to enhance the security of your database. Such a file can be generated in your database&apos;s security settings.&lt;/p&gt;&lt;p&gt;This is &lt;strong&gt;not&lt;/strong&gt; your *.kdbx database file!&lt;br&gt;If you do not have a key file, leave the field empty.&lt;/p&gt;&lt;p&gt;Click for more information...&lt;/p&gt;</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Key file help</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>?</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Select key file...</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Cannot use database file as key file</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>You cannot use your database file as a key file.
+If you do not have a key file, please leave the field empty.</source>
+ <translation type="unfinished"/>
+ </message>
</context>
<context>
<name>DatabaseSettingWidgetMetaData</name>
@@ -1834,6 +1872,10 @@ Sigur continuați fără parolă?</translation>
<source>Average password length is less than ten characters. Longer passwords provide more security.</source>
<translation type="unfinished"/>
</message>
+ <message>
+ <source>Please wait, database statistics are being calculated...</source>
+ <translation type="unfinished"/>
+ </message>
</context>
<context>
<name>DatabaseTabWidget</name>
@@ -6267,6 +6309,10 @@ Nucleu (Kernel): %3 %4</translation>
<source>Invalid password generator after applying all options</source>
<translation type="unfinished"/>
</message>
+ <message>
+ <source>Show the protected attributes in clear text.</source>
+ <translation type="unfinished"/>
+ </message>
</context>
<context>
<name>QtIOCompressor</name>
diff --git a/share/translations/keepassx_ru.ts b/share/translations/keepassx_ru.ts
index 07799f568..2cbec38f8 100644
--- a/share/translations/keepassx_ru.ts
+++ b/share/translations/keepassx_ru.ts
@@ -101,7 +101,7 @@
</message>
<message>
<source>Are you sure you want to reset all general and security settings to default?</source>
- <translation type="unfinished"/>
+ <translation>Ð’Ñ‹ уверены, что вы хотите ÑброÑить по умолчанию вÑе общие наÑтройки и наÑтройки безопаÑноÑти? </translation>
</message>
</context>
<context>
@@ -144,7 +144,7 @@
</message>
<message>
<source>Don&apos;t mark database as modified for non-data changes (e.g., expanding groups)</source>
- <translation>Ðе помечать базу данных изменённой при дейÑтвиÑÑ…, не ÑвÑзанных Ñ Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸ÐµÐ¼ данных (например при раÑкрытии групп)</translation>
+ <translation>Ðе помечать базу данных изменённой при дейÑтвиÑÑ…, не ÑвÑзанных Ñ Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸ÐµÐ¼ данных (например, при раÑкрытии групп)</translation>
</message>
<message>
<source>Automatically reload the database when modified externally</source>
@@ -225,96 +225,96 @@
</message>
<message>
<source>Remember previously used databases</source>
- <translation type="unfinished"/>
+ <translation>Запоминать ранее иÑпользованные базы данных</translation>
</message>
<message>
<source>Load previously open databases on startup</source>
- <translation type="unfinished"/>
+ <translation>Загружать прошлые базы данных при запуÑке</translation>
</message>
<message>
<source>Remember database key files and security dongles</source>
- <translation type="unfinished"/>
+ <translation>Запоминать Ð´Ð»Ñ Ð±Ð°Ð· данных ключевые файлы и ключи безопаÑноÑти</translation>
</message>
<message>
<source>Check for updates at application startup once per week</source>
- <translation type="unfinished"/>
+ <translation>ПроверÑÑ‚ÑŒ Ð¾Ð±Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ Ð¿Ñ€Ð¸ запуÑке раз в неделю</translation>
</message>
<message>
<source>Include beta releases when checking for updates</source>
- <translation type="unfinished"/>
+ <translation>Включать в проверку обновлений бета-релизы</translation>
</message>
<message>
<source>Button style:</source>
- <translation type="unfinished"/>
+ <translation>Стиль кнопок:</translation>
</message>
<message>
<source>Language:</source>
- <translation type="unfinished"/>
+ <translation>Язык:</translation>
</message>
<message>
<source>(restart program to activate)</source>
- <translation type="unfinished"/>
+ <translation>(перезапуÑтить программу Ð´Ð»Ñ Ð°ÐºÑ‚Ð¸Ð²Ð°Ñ†Ð¸Ð¸)</translation>
</message>
<message>
<source>Minimize window after unlocking database</source>
- <translation type="unfinished"/>
+ <translation>Минимизировать окно поÑле Ñ€Ð°Ð·Ð±Ð»Ð¾ÐºÐ¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð±Ð°Ð·Ñ‹ данных</translation>
</message>
<message>
<source>Minimize when opening a URL</source>
- <translation type="unfinished"/>
+ <translation>Сворачивать при открытии URL</translation>
</message>
<message>
<source>Hide window when copying to clipboard</source>
- <translation type="unfinished"/>
+ <translation>Скрывать окно поÑле ÐºÐ¾Ð¿Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð² буфер обмена:</translation>
</message>
<message>
<source>Minimize</source>
- <translation type="unfinished"/>
+ <translation>Сворачивать</translation>
</message>
<message>
<source>Drop to background</source>
- <translation type="unfinished"/>
+ <translation>Убирать на задний план</translation>
</message>
<message>
<source>Favicon download timeout:</source>
- <translation type="unfinished"/>
+ <translation>Тайм-аут загрузки значков:</translation>
</message>
<message>
<source>Website icon download timeout in seconds</source>
- <translation type="unfinished"/>
+ <translation>Тайм-аут Ð¿Ð¾Ð»ÑƒÑ‡ÐµÐ½Ð¸Ñ Ð·Ð½Ð°Ñ‡ÐºÐ¾Ð² веб-Ñайтов, задаётÑÑ Ð² Ñекундах</translation>
</message>
<message>
<source> sec</source>
<comment>Seconds</comment>
- <translation>Ñек</translation>
+ <translation> Ñ</translation>
</message>
<message>
<source>Toolbar button style</source>
- <translation type="unfinished"/>
+ <translation>Внешний вид кнопок на панели инÑтрументов</translation>
</message>
<message>
<source>Use monospaced font for Notes</source>
- <translation type="unfinished"/>
+ <translation>ИÑпользовать Ð´Ð»Ñ Ð·Ð°Ð¼ÐµÑ‚Ð¾Ðº моноширинный шрифт</translation>
</message>
<message>
<source>Language selection</source>
- <translation type="unfinished"/>
+ <translation>Выбор Ñзыка</translation>
</message>
<message>
<source>Reset Settings to Default</source>
- <translation type="unfinished"/>
+ <translation>ВоÑÑтановить Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ð¿Ð¾ умолчанию</translation>
</message>
<message>
<source>Global auto-type shortcut</source>
- <translation type="unfinished"/>
+ <translation>ÐšÐ¾Ð¼Ð±Ð¸Ð½Ð°Ñ†Ð¸Ñ ÐºÐ»Ð°Ð²Ð¸Ñˆ Ð´Ð»Ñ Ð³Ð»Ð¾Ð±Ð°Ð»ÑŒÐ½Ð¾Ð³Ð¾ автоввода:</translation>
</message>
<message>
<source>Auto-type character typing delay milliseconds</source>
- <translation type="unfinished"/>
+ <translation>Задержка ввода Ñимволов, задаётÑÑ Ð² миллиÑекундах</translation>
</message>
<message>
<source>Auto-type start delay milliseconds</source>
- <translation type="unfinished"/>
+ <translation>Задержка начала автоввода, задаётÑÑ Ð² милиÑекундах</translation>
</message>
</context>
<context>
@@ -325,12 +325,12 @@
</message>
<message>
<source>Clear clipboard after</source>
- <translation>Очищать буфер обмена через</translation>
+ <translation>Задержка очиÑтки поиÑкового запроÑа:</translation>
</message>
<message>
<source> sec</source>
<comment>Seconds</comment>
- <translation>Ñек</translation>
+ <translation> Ñ</translation>
</message>
<message>
<source>Lock databases after inactivity of</source>
@@ -382,7 +382,7 @@
</message>
<message>
<source>Hide entry notes by default</source>
- <translation>Скрыть Ð¿Ñ€Ð¸Ð¼ÐµÑ‡Ð°Ð½Ð¸Ñ Ð·Ð°Ð¿Ð¸Ñи по умолчанию</translation>
+ <translation>Скрывать заметки по умолчанию</translation>
</message>
<message>
<source>Privacy</source>
@@ -390,19 +390,19 @@
</message>
<message>
<source>Use DuckDuckGo service to download website icons</source>
- <translation type="unfinished"/>
+ <translation>ИÑпользовать DuckDuckGo Ð´Ð»Ñ Ð·Ð°Ð³Ñ€ÑƒÐ·ÐºÐ¸ значков</translation>
</message>
<message>
<source>Clipboard clear seconds</source>
- <translation type="unfinished"/>
+ <translation>ОчиÑтка буфера обмена в Ñекундах</translation>
</message>
<message>
<source>Touch ID inactivity reset</source>
- <translation type="unfinished"/>
+ <translation>Ð¡Ð±Ñ€Ð¾Ñ Touch ID при неактивноÑти</translation>
</message>
<message>
<source>Database lock timeout seconds</source>
- <translation type="unfinished"/>
+ <translation>Задержка Ð±Ð»Ð¾ÐºÐ¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð±Ð°Ð·Ñ‹ (Ñек):</translation>
</message>
<message>
<source> min</source>
@@ -411,7 +411,7 @@
</message>
<message>
<source>Clear search query after</source>
- <translation type="unfinished"/>
+ <translation>Задержка очиÑтки поиÑкового запроÑа:</translation>
</message>
</context>
<context>
@@ -422,7 +422,7 @@
</message>
<message>
<source>Auto-Type - KeePassXC</source>
- <translation>Ðвтоввод - KeePassXC</translation>
+ <translation>Ðвтоввод — KeePassXC</translation>
</message>
<message>
<source>Auto-Type</source>
@@ -444,6 +444,14 @@
<source>This Auto-Type command contains arguments which are repeated very often. Do you really want to proceed?</source>
<translation>Команда автоввода Ñодержит чаÑто повторÑющиеÑÑ Ð°Ñ€Ð³ÑƒÐ¼ÐµÐ½Ñ‚Ñ‹. ДейÑтвительно продолжить?</translation>
</message>
+ <message>
+ <source>Permission Required</source>
+ <translation>ТребуетÑÑ Ð¿Ñ€ÐµÐ´Ð¾Ñтавление разрешений</translation>
+ </message>
+ <message>
+ <source>KeePassXC requires the Accessibility permission in order to perform entry level Auto-Type. If you already granted permission, you may have to restart KeePassXC.</source>
+ <translation>Приложению KeePassXC Ð´Ð»Ñ Ð²Ñ‹Ð¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Ð°Ð²Ñ‚Ð¾Ð²Ð²Ð¾Ð´Ð° требуетÑÑ Ð¿Ð¾Ð»ÑƒÑ‡ÐµÐ½Ð¸Ðµ разрешений на доÑтуп к Ñпециальным возможноÑÑ‚Ñм. ЕÑли такое разрешение уже предоÑтавлено, требуетÑÑ Ð¿Ð¾Ð²Ñ‚Ð¾Ñ€Ð½Ñ‹Ð¹ запуÑк KeePassXC.</translation>
+ </message>
</context>
<context>
<name>AutoTypeAssociationsModel</name>
@@ -491,10 +499,21 @@
</message>
</context>
<context>
+ <name>AutoTypePlatformMac</name>
+ <message>
+ <source>Permission Required</source>
+ <translation>ТребуетÑÑ Ð¿Ñ€ÐµÐ´Ð¾Ñтавление разрешений</translation>
+ </message>
+ <message>
+ <source>KeePassXC requires the Accessibility and Screen Recorder permission in order to perform global Auto-Type. Screen Recording is necessary to use the window title to find entries. If you already granted permission, you may have to restart KeePassXC.</source>
+ <translation>Приложению KeePassXC Ð´Ð»Ñ Ð²Ñ‹Ð¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Ð°Ð²Ñ‚Ð¾Ð²Ð²Ð¾Ð´Ð° на уровне ÑиÑтемы требуетÑÑ Ð¿Ð¾Ð»ÑƒÑ‡ÐµÐ½Ð¸Ðµ разрешений на доÑтуп к Ñпециальным возможноÑÑ‚Ñм и запиÑи Ñкрана. ЗапиÑÑŒ Ñкрана необходима Ð´Ð»Ñ Ð¸ÑÐ¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²ÐºÐ¾Ð² окон Ð´Ð»Ñ Ð¿Ð¾Ð¸Ñка полей ввода. ЕÑли такие Ñ€Ð°Ð·Ñ€ÐµÑˆÐµÐ½Ð¸Ñ ÑƒÐ¶Ðµ предоÑтавлены, требуетÑÑ Ð¿Ð¾Ð²Ñ‚Ð¾Ñ€Ð½Ñ‹Ð¹ запуÑк KeePassXC.</translation>
+ </message>
+</context>
+<context>
<name>AutoTypeSelectDialog</name>
<message>
<source>Auto-Type - KeePassXC</source>
- <translation>Ðвтоввод - KeePassXC</translation>
+ <translation>Ðвтоввод — KeePassXC</translation>
</message>
<message>
<source>Select entry to Auto-Type:</source>
@@ -531,11 +550,11 @@ Please select whether you want to allow access.</source>
</message>
<message>
<source>Allow access</source>
- <translation type="unfinished"/>
+ <translation>Разрешить доÑтуп</translation>
</message>
<message>
<source>Deny access</source>
- <translation type="unfinished"/>
+ <translation>Запретить доÑтуп</translation>
</message>
</context>
<context>
@@ -608,7 +627,7 @@ Please select the correct database for saving credentials.</source>
</message>
<message>
<source>&amp;Match URL scheme (e.g., https://...)</source>
- <translation>&amp;ПроверÑÑ‚ÑŒ Ñовпадение Ñхем Ð´Ð»Ñ URL-адреÑов (например: https://...)</translation>
+ <translation>&amp;ПроверÑÑ‚ÑŒ Ñовпадение протокола Ð´Ð»Ñ URL-адреÑов (например: https://...)</translation>
</message>
<message>
<source>Only returns the best matches for a specific URL instead of all entries for the whole domain.</source>
@@ -724,23 +743,23 @@ Please select the correct database for saving credentials.</source>
</message>
<message>
<source>&amp;Brave</source>
- <translation type="unfinished"/>
+ <translation>&amp;Brave</translation>
</message>
<message>
<source>Returns expired credentials. String [expired] is added to the title.</source>
- <translation type="unfinished"/>
+ <translation>Возвращать также запиÑи Ñ Ð·Ð°Ð²ÐµÑ€ÑˆÐ¸Ð²ÑˆÐ¸Ð¼ÑÑ Ñроком дейÑтвиÑ. К названию таких запиÑей будет добавлено «[expired]».</translation>
</message>
<message>
<source>&amp;Allow returning expired credentials.</source>
- <translation type="unfinished"/>
+ <translation>Разрешить возвращать &amp;иÑтёкшие запиÑи</translation>
</message>
<message>
<source>Enable browser integration</source>
- <translation type="unfinished"/>
+ <translation>Включить интеграцию Ñ Ð±Ñ€Ð°ÑƒÐ·ÐµÑ€Ð¾Ð¼</translation>
</message>
<message>
<source>Browsers installed as snaps are currently not supported.</source>
- <translation type="unfinished"/>
+ <translation>Браузеры, уÑтановленные в виде snap-пакетов, в наÑтоÑщее Ð²Ñ€ÐµÐ¼Ñ Ð½Ðµ поддерживаютÑÑ.</translation>
</message>
<message>
<source>All databases connected to the extension will return matching credentials.</source>
@@ -748,23 +767,23 @@ Please select the correct database for saving credentials.</source>
</message>
<message>
<source>Don&apos;t display the popup suggesting migration of legacy KeePassHTTP settings.</source>
- <translation type="unfinished"/>
+ <translation>Ðе показывать напоминание о переноÑе уÑтаревших параметров KeePassHTTP.</translation>
</message>
<message>
<source>&amp;Do not prompt for KeePassHTTP settings migration.</source>
- <translation type="unfinished"/>
+ <translation>Ðе показывать напоминание о переноÑе уÑтаревших параметров KeePassHTTP</translation>
</message>
<message>
<source>Custom proxy location field</source>
- <translation type="unfinished"/>
+ <translation>Поле раÑÐ¿Ð¾Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»ÑŒÑкого прокÑи Ñервера</translation>
</message>
<message>
<source>Browser for custom proxy file</source>
- <translation type="unfinished"/>
+ <translation>Выбрать файл пользовательÑкого прокÑи Ñервера</translation>
</message>
<message>
<source>&lt;b&gt;Warning&lt;/b&gt;, the keepassxc-proxy application was not found!&lt;br /&gt;Please check the KeePassXC installation directory or confirm the custom path in advanced options.&lt;br /&gt;Browser integration WILL NOT WORK without the proxy application.&lt;br /&gt;Expected Path: %1</source>
- <translation type="unfinished"/>
+ <translation>&lt;b&gt;Внимание!&lt;/b&gt; Ðе найдено приложение keepassxc-proxy! &lt;br /&gt; Проверьте папку уÑтановки KeePassXC или задайте Ñвой путь в дополнительных наÑтройках. &lt;br /&gt;Ð˜Ð½Ñ‚ÐµÐ³Ñ€Ð°Ñ†Ð¸Ñ Ð² браузеры не будет работать без прокÑи-приложениÑ. &lt;br /&gt;Ожидаемый путь: %1</translation>
</message>
</context>
<context>
@@ -774,16 +793,6 @@ Please select the correct database for saving credentials.</source>
<translation>KeePassXC: Ð—Ð°Ð¿Ñ€Ð¾Ñ Ð½Ð° аÑÑоциацию нового ключа</translation>
</message>
<message>
- <source>You have received an association request for the above key.
-
-If you would like to allow it access to your KeePassXC database,
-give it a unique name to identify and accept it.</source>
- <translation>Получен Ð·Ð°Ð¿Ñ€Ð¾Ñ Ð½Ð° аÑÑоциацию вышеуказанного ключа.
-
-ЕÑли хотите разрешить доÑтуп к базе данных KeePassXC,
-дайте ему уникальное имÑ, чтобы раÑпознать и принÑÑ‚ÑŒ ключ.</translation>
- </message>
- <message>
<source>Save and allow access</source>
<translation>Сохранить и разрешить доÑтуп</translation>
</message>
@@ -863,6 +872,17 @@ Would you like to migrate your existing settings now?</source>
<source>Don&apos;t show this warning again</source>
<translation>Ðе показывать Ñто предупреждение</translation>
</message>
+ <message>
+ <source>You have received an association request for the following database:
+%1
+
+Give the connection a unique name or ID, for example:
+chrome-laptop.</source>
+ <translation>Получен Ð·Ð°Ð¿Ñ€Ð¾Ñ Ð½Ð° аÑÑоциацию Ð´Ð»Ñ Ñледующей базы данных:
+%1
+
+Задайте Ð´Ð»Ñ ÑÐ¾ÐµÐ´Ð¸Ð½ÐµÐ½Ð¸Ñ ÑƒÐ½Ð¸ÐºÐ°Ð»ÑŒÐ½Ð¾Ðµ Ð¸Ð¼Ñ Ð¸Ð»Ð¸ идентификатор, например: chrome-laptop.</translation>
+ </message>
</context>
<context>
<name>CloneDialog</name>
@@ -955,7 +975,7 @@ Would you like to migrate your existing settings now?</source>
</message>
<message>
<source>column %1</source>
- <translation>колонке %1</translation>
+ <translation>Столбец %1</translation>
</message>
<message>
<source>Error(s) detected in CSV file!</source>
@@ -972,19 +992,19 @@ Would you like to migrate your existing settings now?</source>
</message>
<message>
<source>Text qualification</source>
- <translation type="unfinished"/>
+ <translation>Разделитель текÑта</translation>
</message>
<message>
<source>Field separation</source>
- <translation type="unfinished"/>
+ <translation>Разделитель полей</translation>
</message>
<message>
<source>Number of header lines to discard</source>
- <translation type="unfinished"/>
+ <translation>КоличеÑтво пропуÑкаемых Ñтрок заголовка</translation>
</message>
<message>
<source>CSV import preview</source>
- <translation type="unfinished"/>
+ <translation>Предварительный проÑмотр импорта из CSV</translation>
</message>
</context>
<context>
@@ -1037,19 +1057,20 @@ Would you like to migrate your existing settings now?</source>
<message>
<source>%1
Backup database located at %2</source>
- <translation type="unfinished"/>
+ <translation>%1
+РаÑположение резервной копии базы данных: «%2»</translation>
</message>
<message>
<source>Could not save, database does not point to a valid file.</source>
- <translation type="unfinished"/>
+ <translation>Ðе удалоÑÑŒ Ñохранить, база данных не указывает на верный файл.</translation>
</message>
<message>
<source>Could not save, database file is read-only.</source>
- <translation type="unfinished"/>
+ <translation>Ðевозможно Ñохранить, файл базы данных доÑтупен только Ð´Ð»Ñ Ñ‡Ñ‚ÐµÐ½Ð¸Ñ</translation>
</message>
<message>
<source>Database file has unmerged changes.</source>
- <translation type="unfinished"/>
+ <translation>Файл базы данных имеет неÑинхронизированные Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ </translation>
</message>
<message>
<source>Recycle Bin</source>
@@ -1067,7 +1088,7 @@ Backup database located at %2</source>
<name>DatabaseOpenWidget</name>
<message>
<source>Key File:</source>
- <translation>Ключевой файл:</translation>
+ <translation>Файл-ключ:</translation>
</message>
<message>
<source>Refresh</source>
@@ -1104,43 +1125,39 @@ Please consider generating a new key file.</source>
</message>
<message>
<source>Failed to open key file: %1</source>
- <translation type="unfinished"/>
+ <translation>Ошибка при открытии файла ключа: %1</translation>
</message>
<message>
<source>Select slot...</source>
- <translation type="unfinished"/>
+ <translation>Выбрать Ñлот...</translation>
</message>
<message>
<source>Unlock KeePassXC Database</source>
- <translation type="unfinished"/>
+ <translation>Разблокировать базу данных KeePassXC</translation>
</message>
<message>
<source>Enter Password:</source>
- <translation type="unfinished"/>
+ <translation>Введите пароль:</translation>
</message>
<message>
<source>Password field</source>
- <translation type="unfinished"/>
+ <translation>Поле паролÑ</translation>
</message>
<message>
<source>Toggle password visibility</source>
- <translation type="unfinished"/>
- </message>
- <message>
- <source>Enter Additional Credentials:</source>
- <translation type="unfinished"/>
+ <translation>Скрывать или показывать Ñимволы вводимого паролÑ</translation>
</message>
<message>
<source>Key file selection</source>
- <translation type="unfinished"/>
+ <translation>Выбор ключевого файла</translation>
</message>
<message>
<source>Hardware key slot selection</source>
- <translation type="unfinished"/>
+ <translation>Выбор Ñлота аппаратного ключа</translation>
</message>
<message>
<source>Browse for key file</source>
- <translation type="unfinished"/>
+ <translation>Открытие диалога выбора файла-ключа</translation>
</message>
<message>
<source>Browse...</source>
@@ -1148,24 +1165,19 @@ Please consider generating a new key file.</source>
</message>
<message>
<source>Refresh hardware tokens</source>
- <translation type="unfinished"/>
+ <translation>Перечитать токены</translation>
</message>
<message>
<source>Hardware Key:</source>
- <translation type="unfinished"/>
- </message>
- <message>
- <source>&lt;p&gt;You can use a hardware security key such as a &lt;strong&gt;YubiKey&lt;/strong&gt; or &lt;strong&gt;OnlyKey&lt;/strong&gt; with slots configured for HMAC-SHA1.&lt;/p&gt;
- &lt;p&gt;Click for more information...&lt;/p&gt;</source>
- <translation type="unfinished"/>
+ <translation>Ðппаратный ключ:</translation>
</message>
<message>
<source>Hardware key help</source>
- <translation type="unfinished"/>
+ <translation>Помощь по аппаратному ключу</translation>
</message>
<message>
<source>TouchID for Quick Unlock</source>
- <translation type="unfinished"/>
+ <translation>TouchID Ð´Ð»Ñ Ð‘Ñ‹Ñтрой Разблокировки</translation>
</message>
<message>
<source>Clear</source>
@@ -1173,26 +1185,60 @@ Please consider generating a new key file.</source>
</message>
<message>
<source>Clear Key File</source>
- <translation type="unfinished"/>
- </message>
- <message>
- <source>Select file...</source>
- <translation type="unfinished"/>
+ <translation>ОчиÑтить Ñтроку выбора файла-ключа </translation>
</message>
<message>
<source>Unlock failed and no password given</source>
- <translation type="unfinished"/>
+ <translation>Ðеудачное разблокирование, пароль не указан</translation>
</message>
<message>
<source>Unlocking the database failed and you did not enter a password.
Do you want to retry with an &quot;empty&quot; password instead?
To prevent this error from appearing, you must go to &quot;Database Settings / Security&quot; and reset your password.</source>
- <translation type="unfinished"/>
+ <translation>Ðе удалоÑÑŒ разблокировать базу данных, пароль не был указан.
+Повторить попытку Ñ Ð¿ÑƒÑтым паролем?
+
+Чтобы отключить вывод Ñтого ÑÐ¾Ð¾Ð±Ñ‰ÐµÐ½Ð¸Ñ Ð¾Ð± ошибке, выполните ÑÐ±Ñ€Ð¾Ñ Ð¿Ð°Ñ€Ð¾Ð»Ñ Ð² меню «Параметры базы данных» → «БезопаÑноÑть».</translation>
</message>
<message>
<source>Retry with empty password</source>
- <translation type="unfinished"/>
+ <translation>Попробовать ещё раз Ñ Ð¿ÑƒÑтым паролем</translation>
+ </message>
+ <message>
+ <source>Enter Additional Credentials (if any):</source>
+ <translation>Дополнительные механизмы аутентификации:</translation>
+ </message>
+ <message>
+ <source>&lt;p&gt;You can use a hardware security key such as a &lt;strong&gt;YubiKey&lt;/strong&gt; or &lt;strong&gt;OnlyKey&lt;/strong&gt; with slots configured for HMAC-SHA1.&lt;/p&gt;
+&lt;p&gt;Click for more information...&lt;/p&gt;</source>
+ <translation>&lt;p&gt;Возможно иÑпользовать аппаратные ключи безопаÑноÑти, такие как &lt;strong&gt;Yubikey&lt;/strong&gt; или &lt;strong&gt;OneKey&lt;/strong&gt; Ñо Ñлотами, наÑтроенными в режиме HMAC-SHA1.&lt;/p&gt;
+&lt;p&gt;Ðажмите здеÑÑŒ Ð´Ð»Ñ Ð¿Ð¾Ð»ÑƒÑ‡ÐµÐ½Ð¸Ñ Ð´Ð¾Ð¿Ð¾Ð»Ð½Ð¸Ñ‚ÐµÐ»ÑŒÐ½Ð¾Ð¹ информации…&lt;/p&gt;</translation>
+ </message>
+ <message>
+ <source>&lt;p&gt;In addition to your master password, you can use a secret file to enhance the security of your database. Such a file can be generated in your database&apos;s security settings.&lt;/p&gt;&lt;p&gt;This is &lt;strong&gt;not&lt;/strong&gt; your *.kdbx database file!&lt;br&gt;If you do not have a key file, leave the field empty.&lt;/p&gt;&lt;p&gt;Click for more information...&lt;/p&gt;</source>
+ <translation>&lt;p&gt;Ð”Ð»Ñ ÑƒÑÐ¸Ð»ÐµÐ½Ð¸Ñ Ð·Ð°Ñ‰Ð¸Ñ‚Ñ‹ базы данных, в дополнение к оÑновному паролю, возможно иÑпользовать Ñекретный файл. Такой файл может быть Ñоздан из раздела «БезопаÑноÑть» диалога параметров базы данных.&lt;/p&gt;&lt;p&gt;Файл-ключ &lt;strong&gt;не ÑвлÑетÑÑ&lt;/strong&gt; файлом базы данных в формате *.kdbx!&lt;br&gt;ЕÑли файл-ключ не иÑпользуетÑÑ, оÑтавьте Ñто поле пуÑтым.&lt;/p&gt;&lt;p&gt;Ðажмите Ð´Ð»Ñ Ð¿Ð¾Ð»ÑƒÑ‡ÐµÐ½Ð¸Ñ Ð´Ð¾Ð¿Ð¾Ð»Ð½Ð¸Ñ‚ÐµÐ»ÑŒÐ½Ñ‹Ñ… Ñведений…&lt;/p&gt;</translation>
+ </message>
+ <message>
+ <source>Key file help</source>
+ <translation>Справка о файле-ключе</translation>
+ </message>
+ <message>
+ <source>?</source>
+ <translation>?</translation>
+ </message>
+ <message>
+ <source>Select key file...</source>
+ <translation>Выберите файл-ключ…</translation>
+ </message>
+ <message>
+ <source>Cannot use database file as key file</source>
+ <translation>Файл базы данных не может быть файлом-ключом</translation>
+ </message>
+ <message>
+ <source>You cannot use your database file as a key file.
+If you do not have a key file, please leave the field empty.</source>
+ <translation>Файл базы данных не может быть иÑпользован в качеÑтве файла-ключа. ЕÑли файл-ключ не иÑпользуетÑÑ, оÑтавьте Ñто поле пуÑтым.</translation>
</message>
</context>
<context>
@@ -1263,7 +1309,7 @@ To prevent this error from appearing, you must go to &quot;Database Settings / S
<source>Do you really want to delete the selected key?
This may prevent connection to the browser plugin.</source>
<translation>Ð’Ñ‹ дейÑтвительно хотите удалить выбранный ключ?
-Это может воÑпрепÑÑ‚Ñтвовать Ñоединению Ñ Ð¿Ð»Ð°Ð³Ð¸Ð½Ð¾Ð¼ браузера.</translation>
+Это может воÑпрепÑÑ‚Ñтвовать Ñоединению Ñ Ð¿Ð¾Ð´ÐºÐ»ÑŽÑ‡Ð°ÐµÐ¼Ñ‹Ð¼ модулем браузера.</translation>
</message>
<message>
<source>Key</source>
@@ -1285,7 +1331,7 @@ This may prevent connection to the browser plugin.</source>
<source>Do you really want to disconnect all browsers?
This may prevent connection to the browser plugin.</source>
<translation>Ð’Ñ‹ дейÑтвительно хотите отÑоединить вÑе браузеры?
-Это может воÑпрепÑÑ‚Ñтвовать Ñоединению Ñ Ð¿Ð»Ð°Ð³Ð¸Ð½Ð¾Ð¼ браузера.</translation>
+Это может воÑпрепÑÑ‚Ñтвовать Ñоединению Ñ Ð¿Ð¾Ð´ÐºÐ»ÑŽÑ‡Ð°ÐµÐ¼Ñ‹Ð¼ модулем браузера.</translation>
</message>
<message>
<source>KeePassXC: No keys found</source>
@@ -1345,15 +1391,15 @@ Permissions to access entries will be revoked.</source>
<source>Do you really want to move all legacy browser integration data to the latest standard?
This is necessary to maintain compatibility with the browser plugin.</source>
<translation>Ð’Ñ‹ дейÑтвительно хотите привеÑти вÑе уÑтаревшие данные интеграции браузера к новейшему Ñтандарту?
-Это необходимо Ð´Ð»Ñ Ð¿Ð¾Ð´Ð´ÐµÑ€Ð¶Ð°Ð½Ð¸Ñ ÑовмеÑтимоÑти Ñ Ð¿Ð»Ð°Ð³Ð¸Ð½Ð¾Ð¼ браузера.</translation>
+Это необходимо Ð´Ð»Ñ Ð¿Ð¾Ð´Ð´ÐµÑ€Ð¶Ð°Ð½Ð¸Ñ ÑовмеÑтимоÑти Ñ Ð¿Ð¾Ð´ÐºÐ»ÑŽÑ‡Ð°ÐµÐ¼Ñ‹Ð¼ модулем браузера.</translation>
</message>
<message>
<source>Stored browser keys</source>
- <translation type="unfinished"/>
+ <translation>Сохранённые ключи браузера</translation>
</message>
<message>
<source>Remove selected key</source>
- <translation type="unfinished"/>
+ <translation>Удалить выбранный ключ</translation>
</message>
</context>
<context>
@@ -1396,7 +1442,7 @@ This is necessary to maintain compatibility with the browser plugin.</source>
</message>
<message>
<source>?? s</source>
- <translation>?? Ñек</translation>
+ <translation>?? Ñ</translation>
</message>
<message>
<source>Change</source>
@@ -1499,35 +1545,35 @@ If you keep this number, your database may be too easy to crack!</source>
</message>
<message>
<source>Change existing decryption time</source>
- <translation type="unfinished"/>
+ <translation>Изменить Ð²Ñ€ÐµÐ¼Ñ Ñ€Ð°ÑшифровываниÑ</translation>
</message>
<message>
<source>Decryption time in seconds</source>
- <translation type="unfinished"/>
+ <translation>Ð’Ñ€ÐµÐ¼Ñ Ñ€Ð°ÑÑˆÐ¸Ñ„Ñ€Ð¾Ð²Ñ‹Ð²Ð°Ð½Ð¸Ñ Ð² Ñекундах</translation>
</message>
<message>
<source>Database format</source>
- <translation type="unfinished"/>
+ <translation>Формат базы данных</translation>
</message>
<message>
<source>Encryption algorithm</source>
- <translation type="unfinished"/>
+ <translation>Ðлгоритм шифрованиÑ</translation>
</message>
<message>
<source>Key derivation function</source>
- <translation type="unfinished"/>
+ <translation>Ð¤ÑƒÐ½ÐºÑ†Ð¸Ñ Ñ„Ð¾Ñ€Ð¼Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ ÐºÐ»ÑŽÑ‡Ð°</translation>
</message>
<message>
<source>Transform rounds</source>
- <translation type="unfinished"/>
+ <translation>Раундов преобразованиÑ:</translation>
</message>
<message>
<source>Memory usage</source>
- <translation type="unfinished"/>
+ <translation>ИÑпользование памÑти</translation>
</message>
<message>
<source>Parallelism</source>
- <translation type="unfinished"/>
+ <translation>Параллелизм</translation>
</message>
</context>
<context>
@@ -1597,36 +1643,37 @@ If you keep this number, your database may be too easy to crack!</source>
</message>
<message>
<source>Database name field</source>
- <translation type="unfinished"/>
+ <translation>Поле имени базы данных</translation>
</message>
<message>
<source>Database description field</source>
- <translation type="unfinished"/>
+ <translation>Поле опиÑÐ°Ð½Ð¸Ñ Ð±Ð°Ð·Ñ‹ данных</translation>
</message>
<message>
<source>Default username field</source>
- <translation type="unfinished"/>
+ <translation>Поле имени Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ Ð¿Ð¾ умолчанию</translation>
</message>
<message>
<source>Maximum number of history items per entry</source>
- <translation type="unfinished"/>
+ <translation>МакÑимальное количеÑтво Ñобытий иÑтории Ð´Ð»Ñ ÐºÐ°Ð¶Ð´Ð¾Ð¹ из запиÑей</translation>
</message>
<message>
<source>Maximum size of history per entry</source>
- <translation type="unfinished"/>
+ <translation>МакÑимальный размер Ñобытий иÑтории Ð´Ð»Ñ ÐºÐ°Ð¶Ð´Ð¾Ð¹ из запиÑей</translation>
</message>
<message>
<source>Delete Recycle Bin</source>
- <translation type="unfinished"/>
+ <translation>Удалить корзину</translation>
</message>
<message>
<source>Do you want to delete the current recycle bin and all its contents?
This action is not reversible.</source>
- <translation type="unfinished"/>
+ <translation>Удалить корзину и вÑÑ‘ её Ñодержимое?
+Это необратимое дейÑтвие.</translation>
</message>
<message>
<source> (old)</source>
- <translation type="unfinished"/>
+ <translation> (уÑтар.)</translation>
</message>
</context>
<context>
@@ -1697,7 +1744,7 @@ Are you sure you want to continue without a password?</source>
</message>
<message>
<source>Continue without password</source>
- <translation type="unfinished"/>
+ <translation>Продолжить без паролÑ</translation>
</message>
</context>
<context>
@@ -1712,18 +1759,18 @@ Are you sure you want to continue without a password?</source>
</message>
<message>
<source>Database name field</source>
- <translation type="unfinished"/>
+ <translation>Поле имени базы данных</translation>
</message>
<message>
<source>Database description field</source>
- <translation type="unfinished"/>
+ <translation>Поле опиÑÐ°Ð½Ð¸Ñ Ð±Ð°Ð·Ñ‹ данных</translation>
</message>
</context>
<context>
<name>DatabaseSettingsWidgetStatistics</name>
<message>
<source>Statistics</source>
- <translation type="unfinished"/>
+ <translation>СтатиÑтика</translation>
</message>
<message>
<source>Hover over lines with error icons for further information.</source>
@@ -1739,99 +1786,103 @@ Are you sure you want to continue without a password?</source>
</message>
<message>
<source>Database name</source>
- <translation type="unfinished"/>
+ <translation>Ð˜Ð¼Ñ Ð±Ð°Ð·Ñ‹ данных</translation>
</message>
<message>
<source>Description</source>
- <translation type="unfinished"/>
+ <translation>ОпиÑание</translation>
</message>
<message>
<source>Location</source>
- <translation type="unfinished"/>
+ <translation>РаÑположение</translation>
</message>
<message>
<source>Last saved</source>
- <translation type="unfinished"/>
+ <translation>ПоÑледнее Ñохранение</translation>
</message>
<message>
<source>Unsaved changes</source>
- <translation type="unfinished"/>
+ <translation>ÐеÑохраненные изменениÑ</translation>
</message>
<message>
<source>yes</source>
- <translation type="unfinished"/>
+ <translation>да</translation>
</message>
<message>
<source>no</source>
- <translation type="unfinished"/>
+ <translation>нет</translation>
</message>
<message>
<source>The database was modified, but the changes have not yet been saved to disk.</source>
- <translation type="unfinished"/>
+ <translation>База данных была изменена, но Ñти Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ ÐµÑ‰Ñ‘ не были Ñохранены на диÑк.</translation>
</message>
<message>
<source>Number of groups</source>
- <translation type="unfinished"/>
+ <translation>КоличеÑтво групп</translation>
</message>
<message>
<source>Number of entries</source>
- <translation type="unfinished"/>
+ <translation>КоличеÑтво запиÑей</translation>
</message>
<message>
<source>Number of expired entries</source>
- <translation type="unfinished"/>
+ <translation>КоличеÑтво иÑтёкших запиÑей</translation>
</message>
<message>
<source>The database contains entries that have expired.</source>
- <translation type="unfinished"/>
+ <translation>База данных Ñодержит запиÑи, Ñрок дейÑÑ‚Ð²Ð¸Ñ ÐºÐ¾Ñ‚Ð¾Ñ€Ñ‹Ñ… иÑтёк.</translation>
</message>
<message>
<source>Unique passwords</source>
- <translation type="unfinished"/>
+ <translation>Уникальные пароли</translation>
</message>
<message>
<source>Non-unique passwords</source>
- <translation type="unfinished"/>
+ <translation>Ðеуникальные пароли</translation>
</message>
<message>
<source>More than 10% of passwords are reused. Use unique passwords when possible.</source>
- <translation type="unfinished"/>
+ <translation>Ð”Ð»Ñ Ð±Ð¾Ð»ÐµÐµ 10% запиÑей иÑпользуютÑÑ Ð¿Ð¾Ð²Ñ‚Ð¾Ñ€ÑющиеÑÑ Ð¿Ð°Ñ€Ð¾Ð»Ð¸. ИÑпользуйте уникальные пароли, когда Ñто возможно.</translation>
</message>
<message>
<source>Maximum password reuse</source>
- <translation type="unfinished"/>
+ <translation>МакÑимальное количеÑтво повторных иÑпользований паролÑ</translation>
</message>
<message>
<source>Some passwords are used more than three times. Use unique passwords when possible.</source>
- <translation type="unfinished"/>
+ <translation>Ðекоторые пароли иÑпользуютÑÑ Ð±Ð¾Ð»ÐµÐµ трёх раз. ИÑпользуйте уникальные пароли, когда Ñто возможно.</translation>
</message>
<message>
<source>Number of short passwords</source>
- <translation type="unfinished"/>
+ <translation>КоличеÑтво коротких паролей</translation>
</message>
<message>
<source>Recommended minimum password length is at least 8 characters.</source>
- <translation type="unfinished"/>
+ <translation>Ð ÐµÐºÐ¾Ð¼ÐµÐ½Ð´ÑƒÐµÐ¼Ð°Ñ Ð´Ð»Ð¸Ð½Ð° паролей — не менее 8 Ñимволов.</translation>
</message>
<message>
<source>Number of weak passwords</source>
- <translation type="unfinished"/>
+ <translation>КоличеÑтво ненадёжных паролей</translation>
</message>
<message>
<source>Recommend using long, randomized passwords with a rating of &apos;good&apos; or &apos;excellent&apos;.</source>
- <translation type="unfinished"/>
+ <translation>РекомендуетÑÑ Ð¸Ñпользовать длинные пароли, ÑоÑтоÑщие из Ñлучайных Ñимволов Ñ ÑƒÑ€Ð¾Ð²Ð½Ñми безопаÑноÑти «хорошо» или «отлично». </translation>
</message>
<message>
<source>Average password length</source>
- <translation type="unfinished"/>
+ <translation>СреднÑÑ Ð´Ð»Ð¸Ð½Ð° паролÑ</translation>
</message>
<message>
<source>%1 characters</source>
- <translation type="unfinished"/>
+ <translation>%1 Ñимволов</translation>
</message>
<message>
<source>Average password length is less than ten characters. Longer passwords provide more security.</source>
- <translation type="unfinished"/>
+ <translation>СреднÑÑ Ð´Ð»Ð¸Ð½Ð° паролей менее деÑÑти Ñимволов. Более длинные пароли более безопаÑны.</translation>
+ </message>
+ <message>
+ <source>Please wait, database statistics are being calculated...</source>
+ <translation>Подождите, выполнÑетÑÑ Ñбор ÑтатиÑтики…</translation>
</message>
</context>
<context>
@@ -1911,23 +1962,23 @@ This is definitely a bug, please report it to the developers.</source>
</message>
<message>
<source>Export database to HTML file</source>
- <translation type="unfinished"/>
+ <translation>ЭкÑпортировать базу данных в HTML файл</translation>
</message>
<message>
<source>HTML file</source>
- <translation type="unfinished"/>
+ <translation>HTML файл</translation>
</message>
<message>
<source>Writing the HTML file failed.</source>
- <translation type="unfinished"/>
+ <translation>Ошибка запиÑи HTML файла.</translation>
</message>
<message>
<source>Export Confirmation</source>
- <translation type="unfinished"/>
+ <translation>Подтверждение ÑкÑпортированиÑ</translation>
</message>
<message>
<source>You are about to export your database to an unencrypted file. This will leave your passwords and sensitive information vulnerable! Are you sure you want to continue?</source>
- <translation type="unfinished"/>
+ <translation>При продолжении, будет выполнен ÑкÑпорт базы данных в незашифрованный файл, что делает доÑтупными ÑодержащиеÑÑ Ð² нём пароли и другие чувÑтвительные данные. Продолжить ÑкÑпортирование?</translation>
</message>
</context>
<context>
@@ -1990,7 +2041,7 @@ This is definitely a bug, please report it to the developers.</source>
</message>
<message>
<source>Merge Request</source>
- <translation>Ð—Ð°Ð¿Ñ€Ð¾Ñ Ð½Ð° ÑлиÑние</translation>
+ <translation>Ð—Ð°Ð¿Ñ€Ð¾Ñ Ð½Ð° объединение</translation>
</message>
<message>
<source>The database file has changed and you have unsaved changes.
@@ -2108,7 +2159,7 @@ Disable safe saves and try again?</source>
</message>
<message>
<source>This database is opened in read-only mode. Autosave is disabled.</source>
- <translation type="unfinished"/>
+ <translation>База данных открыта в режиме только Ð´Ð»Ñ Ñ‡Ñ‚ÐµÐ½Ð¸Ñ. ÐвтоÑохраниение отключено.</translation>
</message>
</context>
<context>
@@ -2151,15 +2202,15 @@ Disable safe saves and try again?</source>
</message>
<message>
<source>Select private key</source>
- <translation>Выберите чаÑтный ключ</translation>
+ <translation>Выберите закрытый ключ</translation>
</message>
<message>
<source>File too large to be a private key</source>
- <translation>Слишком большой файл Ð´Ð»Ñ Ñ‡Ð°Ñтного ключа</translation>
+ <translation>Слишком большой файл Ð´Ð»Ñ Ð·Ð°ÐºÑ€Ñ‹Ñ‚Ð¾Ð³Ð¾ ключа</translation>
</message>
<message>
<source>Failed to open private key</source>
- <translation>Ðе удалоÑÑŒ открыть чаÑтный ключ</translation>
+ <translation>Ðе удалоÑÑŒ открыть закрытый ключ</translation>
</message>
<message>
<source>Entry history</source>
@@ -2235,11 +2286,11 @@ Disable safe saves and try again?</source>
</message>
<message>
<source>&lt;empty URL&gt;</source>
- <translation type="unfinished"/>
+ <translation>&lt;ПуÑтой URL&gt;</translation>
</message>
<message>
<source>Are you sure you want to remove this URL?</source>
- <translation type="unfinished"/>
+ <translation>Удалить Ñтот URL?</translation>
</message>
</context>
<context>
@@ -2282,39 +2333,39 @@ Disable safe saves and try again?</source>
</message>
<message>
<source>Attribute selection</source>
- <translation type="unfinished"/>
+ <translation>Выбор атрибута</translation>
</message>
<message>
<source>Attribute value</source>
- <translation type="unfinished"/>
+ <translation>Значение атрибута</translation>
</message>
<message>
<source>Add a new attribute</source>
- <translation type="unfinished"/>
+ <translation>Добавить новый атрибут</translation>
</message>
<message>
<source>Remove selected attribute</source>
- <translation type="unfinished"/>
+ <translation>Удалить выбранный атрибут</translation>
</message>
<message>
<source>Edit attribute name</source>
- <translation type="unfinished"/>
+ <translation>Изменить Ð¸Ð¼Ñ Ð°Ñ‚Ñ€Ð¸Ð±ÑƒÑ‚Ð°</translation>
</message>
<message>
<source>Toggle attribute protection</source>
- <translation type="unfinished"/>
+ <translation>Включить или отключить защиту атрибута</translation>
</message>
<message>
<source>Show a protected attribute</source>
- <translation type="unfinished"/>
+ <translation>Показать защищённый атрибут </translation>
</message>
<message>
<source>Foreground color selection</source>
- <translation type="unfinished"/>
+ <translation>Выбор оÑновного цвета</translation>
</message>
<message>
<source>Background color selection</source>
- <translation type="unfinished"/>
+ <translation>Выбор цвета фона</translation>
</message>
</context>
<context>
@@ -2353,7 +2404,7 @@ Disable safe saves and try again?</source>
</message>
<message>
<source>Custom Auto-Type sequence</source>
- <translation type="unfinished"/>
+ <translation>Ð¡Ð²Ð¾Ñ Ð¿Ð¾ÑледовательноÑÑ‚ÑŒ автоввода</translation>
</message>
<message>
<source>Open Auto-Type help webpage</source>
@@ -2361,38 +2412,38 @@ Disable safe saves and try again?</source>
</message>
<message>
<source>Existing window associations</source>
- <translation type="unfinished"/>
+ <translation>СущеÑтвующие аÑÑоциации Ñ Ð¾ÐºÐ½Ð°Ð¼Ð¸</translation>
</message>
<message>
<source>Add new window association</source>
- <translation type="unfinished"/>
+ <translation>Добавить аÑÑоциацию Ñ Ð¾ÐºÐ½Ð¾Ð¼</translation>
</message>
<message>
<source>Remove selected window association</source>
- <translation type="unfinished"/>
+ <translation>Удалить выбранную аÑÑоциацию Ñ Ð¾ÐºÐ½Ð¾Ð¼</translation>
</message>
<message>
<source>You can use an asterisk (*) to match everything</source>
- <translation type="unfinished"/>
+ <translation>Ð”Ð»Ñ Ð²Ñ‹Ð±Ð¾Ñ€Ð° вÑех значений иÑпользуйте звёздочку (*)</translation>
</message>
<message>
<source>Set the window association title</source>
- <translation type="unfinished"/>
+ <translation>Задайте заголовок окна Ð´Ð»Ñ Ð°ÑÑоциации</translation>
</message>
<message>
<source>You can use an asterisk to match everything</source>
- <translation type="unfinished"/>
+ <translation>Ð”Ð»Ñ Ð²Ñ‹Ð±Ð¾Ñ€Ð° вÑех значений иÑпользуйте звёздочку (*)</translation>
</message>
<message>
<source>Custom Auto-Type sequence for this window</source>
- <translation type="unfinished"/>
+ <translation>ПользовательÑÐºÐ°Ñ Ð¿Ð¾ÑледовательноÑÑ‚ÑŒ автоввода Ð´Ð»Ñ Ñтого окна</translation>
</message>
</context>
<context>
<name>EditEntryWidgetBrowser</name>
<message>
<source>These settings affect to the entry&apos;s behaviour with the browser extension.</source>
- <translation type="unfinished"/>
+ <translation>Эти параметры влиÑÑŽÑ‚ на данные, возвращаемые при запроÑе из раÑÑˆÐ¸Ñ€ÐµÐ½Ð¸Ñ Ð±Ñ€Ð°ÑƒÐ·ÐµÑ€Ð°.</translation>
</message>
<message>
<source>General</source>
@@ -2400,15 +2451,15 @@ Disable safe saves and try again?</source>
</message>
<message>
<source>Skip Auto-Submit for this entry</source>
- <translation type="unfinished"/>
+ <translation>Ðе иÑпользовать автоматичеÑкую отправку данных форм Ð´Ð»Ñ Ñтой запиÑи</translation>
</message>
<message>
<source>Hide this entry from the browser extension</source>
- <translation type="unfinished"/>
+ <translation>Ðе показывать Ñту запиÑÑŒ при запроÑе из раÑÑˆÐ¸Ñ€ÐµÐ½Ð¸Ñ Ð±Ñ€Ð°ÑƒÐ·ÐµÑ€Ð°</translation>
</message>
<message>
<source>Additional URL&apos;s</source>
- <translation type="unfinished"/>
+ <translation>Дополнительные URL-адреÑа</translation>
</message>
<message>
<source>Add</source>
@@ -2443,23 +2494,23 @@ Disable safe saves and try again?</source>
</message>
<message>
<source>Entry history selection</source>
- <translation type="unfinished"/>
+ <translation>Выбор иÑтории запиÑи</translation>
</message>
<message>
<source>Show entry at selected history state</source>
- <translation type="unfinished"/>
+ <translation>Показать запиÑÑŒ в ÑоÑтоÑнии на выбранный момент иÑтории</translation>
</message>
<message>
<source>Restore entry to selected history state</source>
- <translation type="unfinished"/>
+ <translation>ВоÑÑтановить запиÑÑŒ в ÑоÑтоÑнии на выбранный момент иÑтории</translation>
</message>
<message>
<source>Delete selected history state</source>
- <translation type="unfinished"/>
+ <translation>Удалить выбранное ÑоÑтоÑние запиÑи</translation>
</message>
<message>
<source>Delete all history</source>
- <translation type="unfinished"/>
+ <translation>Удалить вÑÑŽ иÑторию</translation>
</message>
</context>
<context>
@@ -2482,7 +2533,7 @@ Disable safe saves and try again?</source>
</message>
<message>
<source>Notes</source>
- <translation>ПримечаниÑ</translation>
+ <translation>Заметки</translation>
</message>
<message>
<source>Presets</source>
@@ -2490,7 +2541,7 @@ Disable safe saves and try again?</source>
</message>
<message>
<source>Toggle the checkbox to reveal the notes section.</source>
- <translation>Включите Ð´Ð»Ñ Ð¾Ñ‚Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð¸Ñ Ñ€Ð°Ð·Ð´ÐµÐ»Ð° примечаний.</translation>
+ <translation>Включите Ð´Ð»Ñ Ð¾Ñ‚Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð¸Ñ Ð·Ð°Ð¼ÐµÑ‚Ð¾Ðº.</translation>
</message>
<message>
<source>Username:</source>
@@ -2502,59 +2553,59 @@ Disable safe saves and try again?</source>
</message>
<message>
<source>Url field</source>
- <translation type="unfinished"/>
+ <translation>Поле URL-адреÑа</translation>
</message>
<message>
<source>Download favicon for URL</source>
- <translation type="unfinished"/>
+ <translation>Загрузить значок Ñайта Ð´Ð»Ñ URL</translation>
</message>
<message>
<source>Repeat password field</source>
- <translation type="unfinished"/>
+ <translation>Поле повтора паролÑ</translation>
</message>
<message>
<source>Toggle password generator</source>
- <translation type="unfinished"/>
+ <translation>Скрыть или показать генератор паролей</translation>
</message>
<message>
<source>Password field</source>
- <translation type="unfinished"/>
+ <translation>Пароль</translation>
</message>
<message>
<source>Toggle password visibility</source>
- <translation type="unfinished"/>
+ <translation>Скрывать или показывать Ñимволы вводимого паролÑ</translation>
</message>
<message>
<source>Toggle notes visible</source>
- <translation type="unfinished"/>
+ <translation>Скрыть или показать заметку</translation>
</message>
<message>
<source>Expiration field</source>
- <translation type="unfinished"/>
+ <translation>Поле ввода Ð¾ÐºÐ¾Ð½Ñ‡Ð°Ð½Ð¸Ñ Ñрока дейÑтвиÑ</translation>
</message>
<message>
<source>Expiration Presets</source>
- <translation type="unfinished"/>
+ <translation>СпиÑок предварительно заданных Ñроков дейÑтвиÑ</translation>
</message>
<message>
<source>Expiration presets</source>
- <translation type="unfinished"/>
+ <translation>СпиÑок предварительно заданных Ñроков дейÑтвиÑ</translation>
</message>
<message>
<source>Notes field</source>
- <translation type="unfinished"/>
+ <translation>Поле заметок</translation>
</message>
<message>
<source>Title field</source>
- <translation type="unfinished"/>
+ <translation>Поле названиÑ</translation>
</message>
<message>
<source>Username field</source>
- <translation type="unfinished"/>
+ <translation>Поле имени пользователÑ</translation>
</message>
<message>
<source>Toggle expiration</source>
- <translation type="unfinished"/>
+ <translation>ИÑпользовать Ñрок Ð¾ÐºÐ¾Ð½Ñ‡Ð°Ð½Ð¸Ñ Ð´ÐµÐ¹ÑтвиÑ</translation>
</message>
</context>
<context>
@@ -2605,7 +2656,7 @@ Disable safe saves and try again?</source>
</message>
<message>
<source>Private key</source>
- <translation>ЧаÑтный ключ</translation>
+ <translation>Закрытый ключ</translation>
</message>
<message>
<source>External file</source>
@@ -2638,15 +2689,15 @@ Disable safe saves and try again?</source>
</message>
<message>
<source>Browser for key file</source>
- <translation type="unfinished"/>
+ <translation>Выбор файла ключа</translation>
</message>
<message>
<source>External key file</source>
- <translation type="unfinished"/>
+ <translation>Внешний файл ключа</translation>
</message>
<message>
<source>Select attachment file</source>
- <translation type="unfinished"/>
+ <translation>Выберите файл вложениÑ</translation>
</message>
</context>
<context>
@@ -2748,7 +2799,7 @@ Disable safe saves and try again?</source>
</message>
<message>
<source>Synchronize</source>
- <translation type="unfinished"/>
+ <translation>Синхронизировать</translation>
</message>
<message>
<source>Your KeePassXC version does not support sharing this container type.
@@ -2770,15 +2821,15 @@ Supported extensions are: %1.</source>
<message>
<source>KeeShare is currently disabled. You can enable import/export in the application settings.</source>
<comment>KeeShare is a proper noun</comment>
- <translation type="unfinished"/>
+ <translation>Обмен запиÑÑми KeeShare отключён. Включите возможноÑÑ‚ÑŒ импорта и/или ÑкÑпорта в параметрах приложениÑ.</translation>
</message>
<message>
<source>Database export is currently disabled by application settings.</source>
- <translation type="unfinished"/>
+ <translation>ЭкÑпорт базы данных запрещён параметрами приложениÑ.</translation>
</message>
<message>
<source>Database import is currently disabled by application settings.</source>
- <translation type="unfinished"/>
+ <translation>Импорт в базу данных запрещён параметрами приложениÑ.</translation>
</message>
<message>
<source>Sharing mode field</source>
@@ -2794,19 +2845,19 @@ Supported extensions are: %1.</source>
</message>
<message>
<source>Password field</source>
- <translation type="unfinished"/>
+ <translation>Пароль</translation>
</message>
<message>
<source>Toggle password visibility</source>
- <translation type="unfinished"/>
+ <translation>Скрывать или показывать Ñимволы вводимого паролÑ</translation>
</message>
<message>
<source>Toggle password generator</source>
- <translation type="unfinished"/>
+ <translation>Скрыть или показать генератор паролей</translation>
</message>
<message>
<source>Clear fields</source>
- <translation type="unfinished"/>
+ <translation>ОчиÑтить полÑ</translation>
</message>
</context>
<context>
@@ -2817,7 +2868,7 @@ Supported extensions are: %1.</source>
</message>
<message>
<source>Notes</source>
- <translation>ПримечаниÑ</translation>
+ <translation>Заметки</translation>
</message>
<message>
<source>Expires</source>
@@ -2841,31 +2892,31 @@ Supported extensions are: %1.</source>
</message>
<message>
<source>Name field</source>
- <translation type="unfinished"/>
+ <translation>Поле имени</translation>
</message>
<message>
<source>Notes field</source>
- <translation type="unfinished"/>
+ <translation>Поле заметок</translation>
</message>
<message>
<source>Toggle expiration</source>
- <translation type="unfinished"/>
+ <translation>ИÑпользовать Ñрок Ð¾ÐºÐ¾Ð½Ñ‡Ð°Ð½Ð¸Ñ Ð´ÐµÐ¹ÑтвиÑ</translation>
</message>
<message>
<source>Auto-Type toggle for this and sub groups</source>
- <translation type="unfinished"/>
+ <translation>Включение или отключение автоввода Ð´Ð»Ñ Ñтой и вложенных групп</translation>
</message>
<message>
<source>Expiration field</source>
- <translation type="unfinished"/>
+ <translation>Поле ввода Ð¾ÐºÐ¾Ð½Ñ‡Ð°Ð½Ð¸Ñ Ñрока дейÑтвиÑ</translation>
</message>
<message>
<source>Search toggle for this and sub groups</source>
- <translation type="unfinished"/>
+ <translation>Включение или отключение поиÑка Ð´Ð»Ñ Ñтой и вложенных групп</translation>
</message>
<message>
<source>Default auto-type sequence field</source>
- <translation type="unfinished"/>
+ <translation>Поле поÑледовательноÑти автоввода, иÑпользуемой по умолчанию</translation>
</message>
</context>
<context>
@@ -2932,39 +2983,39 @@ Supported extensions are: %1.</source>
</message>
<message>
<source>You can enable the DuckDuckGo website icon service under Tools -&gt; Settings -&gt; Security</source>
- <translation type="unfinished"/>
+ <translation>Возможно иÑпользовать Ñлужбу поиÑка значков Ñайта DuckDuckGo в меню «СервиÑ» → «Параметры» → «БезопаÑноÑть»</translation>
</message>
<message>
<source>Download favicon for URL</source>
- <translation type="unfinished"/>
+ <translation>Загрузить значок Ñайта Ð´Ð»Ñ URL-адреÑа</translation>
</message>
<message>
<source>Apply selected icon to subgroups and entries</source>
- <translation type="unfinished"/>
+ <translation>ИÑпользовать выбранный значок Ð´Ð»Ñ Ð²Ð»Ð¾Ð¶ÐµÐ½Ð½Ñ‹Ñ… групп и запиÑей</translation>
</message>
<message>
<source>Apply icon &amp;to ...</source>
- <translation type="unfinished"/>
+ <translation>ИÑпользовать выбранный значок длÑ…</translation>
</message>
<message>
<source>Apply to this only</source>
- <translation type="unfinished"/>
+ <translation>ИÑпользовать только Ð´Ð»Ñ Ð²Ñ‹Ð±Ñ€Ð°Ð½Ð½Ð¾Ð³Ð¾ объекта</translation>
</message>
<message>
<source>Also apply to child groups</source>
- <translation type="unfinished"/>
+ <translation>Также применить к дочерним группам</translation>
</message>
<message>
<source>Also apply to child entries</source>
- <translation type="unfinished"/>
+ <translation>Также применить к дочерним запиÑÑм</translation>
</message>
<message>
<source>Also apply to all children</source>
- <translation type="unfinished"/>
+ <translation>Также применить ко вÑем дочерним Ñлементам</translation>
</message>
<message>
<source>Existing icon selected.</source>
- <translation type="unfinished"/>
+ <translation>Выбран ÑущеÑтвующий значок.</translation>
</message>
</context>
<context>
@@ -2987,7 +3038,7 @@ Supported extensions are: %1.</source>
</message>
<message>
<source>Plugin Data</source>
- <translation>Данные плагинов</translation>
+ <translation>Данные подключаемых модулей</translation>
</message>
<message>
<source>Remove</source>
@@ -2995,13 +3046,13 @@ Supported extensions are: %1.</source>
</message>
<message>
<source>Delete plugin data?</source>
- <translation>Удалить данные плагинов?</translation>
+ <translation>Удалить данные подключаемых модулей?</translation>
</message>
<message>
<source>Do you really want to delete the selected plugin data?
This may cause the affected plugins to malfunction.</source>
- <translation>Ð’Ñ‹ дейÑтвительно хотите удалить выбранные данные плагинов?
-Это может привеÑти к ÑбоÑм плагинов.</translation>
+ <translation>ДейÑтвительно удалить выбранные данные подключаемых модулей?
+Это дейÑтвие может привеÑти к неработоÑпоÑобноÑти подключаемых модулей.</translation>
</message>
<message>
<source>Key</source>
@@ -3025,7 +3076,7 @@ This may cause the affected plugins to malfunction.</source>
</message>
<message>
<source>Unique ID</source>
- <translation type="unfinished"/>
+ <translation>Уникальный ID</translation>
</message>
<message>
<source>Plugin data</source>
@@ -3212,7 +3263,7 @@ This may cause the affected plugins to malfunction.</source>
</message>
<message>
<source>Notes</source>
- <translation>ПримечаниÑ</translation>
+ <translation>Заметки</translation>
</message>
<message>
<source>Expires</source>
@@ -3279,7 +3330,7 @@ This may cause the affected plugins to malfunction.</source>
</message>
<message>
<source>Notes</source>
- <translation>ПримечаниÑ</translation>
+ <translation>Заметки</translation>
</message>
<message>
<source>Autotype</source>
@@ -3332,7 +3383,7 @@ This may cause the affected plugins to malfunction.</source>
</message>
<message>
<source>Display current TOTP value</source>
- <translation type="unfinished"/>
+ <translation>Показать текущее значение TOTP</translation>
</message>
<message>
<source>Advanced</source>
@@ -3374,19 +3425,19 @@ This may cause the affected plugins to malfunction.</source>
<name>FdoSecrets::Item</name>
<message>
<source>Entry &quot;%1&quot; from database &quot;%2&quot; was used by %3</source>
- <translation type="unfinished"/>
+ <translation>ЗапиÑÑŒ «%1» из базы данных «%2» иÑпользована %3</translation>
</message>
</context>
<context>
<name>FdoSecrets::Service</name>
<message>
<source>Failed to register DBus service at %1: another secret service is running.</source>
- <translation type="unfinished"/>
+ <translation>Ðе удалоÑÑŒ зарегиÑтрировать Ñлужбу DBus на %1: работает Ð´Ñ€ÑƒÐ³Ð°Ñ Ñлужба доÑтупа к паролÑм.</translation>
</message>
<message numerus="yes">
<source>%n Entry(s) was used by %1</source>
<comment>%1 is the name of an application</comment>
- <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform><numerusform></numerusform><numerusform></numerusform></translation>
+ <translation><numerusform>%1 запиÑÑŒ иÑпользована %1</numerusform><numerusform>%1 запиÑи иÑпользованы %1</numerusform><numerusform>%1 запиÑей иÑпользованы %1</numerusform><numerusform>%1 запиÑи иÑпользованы %1</numerusform></translation>
</message>
</context>
<context>
@@ -3419,7 +3470,7 @@ This may cause the affected plugins to malfunction.</source>
<name>IconDownloaderDialog</name>
<message>
<source>Download Favicons</source>
- <translation type="unfinished"/>
+ <translation>Загрузить значки</translation>
</message>
<message>
<source>Cancel</source>
@@ -3428,7 +3479,8 @@ This may cause the affected plugins to malfunction.</source>
<message>
<source>Having trouble downloading icons?
You can enable the DuckDuckGo website icon service in the security section of the application settings.</source>
- <translation type="unfinished"/>
+ <translation>Ðе удалоÑÑŒ получить значки Ñайтов?
+Ð’ разделе «КонфиденциальноÑть» вкладки «БезопаÑноÑть» параметров Ð¿Ñ€Ð¸Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ Ð²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ включить иÑпользование Ñлужбы значков Ñайта DuckDuckGo.</translation>
</message>
<message>
<source>Close</source>
@@ -3444,11 +3496,11 @@ You can enable the DuckDuckGo website icon service in the security section of th
</message>
<message>
<source>Please wait, processing entry list...</source>
- <translation type="unfinished"/>
+ <translation>ДождитеÑÑŒ Ð¾ÐºÐ¾Ð½Ñ‡Ð°Ð½Ð¸Ñ Ð¾Ð±Ñ€Ð°Ð±Ð¾Ñ‚ÐºÐ¸ ÑпиÑка запиÑей…</translation>
</message>
<message>
<source>Downloading...</source>
- <translation type="unfinished"/>
+ <translation>Загрузка...</translation>
</message>
<message>
<source>Ok</source>
@@ -3456,15 +3508,15 @@ You can enable the DuckDuckGo website icon service in the security section of th
</message>
<message>
<source>Already Exists</source>
- <translation type="unfinished"/>
+ <translation>Уже ÑущеÑтвует</translation>
</message>
<message>
<source>Download Failed</source>
- <translation type="unfinished"/>
+ <translation>Ошибка загрузки</translation>
</message>
<message>
<source>Downloading favicons (%1/%2)...</source>
- <translation type="unfinished"/>
+ <translation>Получение значков (%1 из %2)…</translation>
</message>
</context>
<context>
@@ -4129,33 +4181,33 @@ If this reoccurs, then your database file may be corrupt.</source>
<name>KeyFileEditWidget</name>
<message>
<source>Generate</source>
- <translation>Генерировать</translation>
+ <translation>Создать</translation>
</message>
<message>
<source>Key File</source>
- <translation>Ключевой файл</translation>
+ <translation>Файл-ключ</translation>
</message>
<message>
<source>&lt;p&gt;You can add a key file containing random bytes for additional security.&lt;/p&gt;&lt;p&gt;You must keep it secret and never lose it or you will be locked out!&lt;/p&gt;</source>
- <translation>&lt;p&gt;Ð”Ð»Ñ Ð±Ð¾Ð»ÑŒÑˆÐµÐ¹ надёжноÑти можно добавить ключевой файл, Ñодержащий Ñлучайные байты.&lt;/p&gt;&lt;p&gt;Этот файл нужно хранить в Ñекрете и не терÑÑ‚ÑŒ, иначе не удаÑÑ‚ÑÑ Ð¿Ð¾Ð»ÑƒÑ‡Ð¸Ñ‚ÑŒ доÑтуп к данным.&lt;/p&gt;</translation>
+ <translation>&lt;p&gt;Ð”Ð»Ñ Ð±Ð¾Ð»ÑŒÑˆÐµÐ¹ надёжноÑти можно добавить файл-ключ, Ñодержащий Ñлучайные байты.&lt;/p&gt;&lt;p&gt;Этот файл нужно хранить в Ñекрете и не терÑÑ‚ÑŒ, иначе не удаÑÑ‚ÑÑ Ð¿Ð¾Ð»ÑƒÑ‡Ð¸Ñ‚ÑŒ доÑтуп к данным.&lt;/p&gt;</translation>
</message>
<message>
<source>Legacy key file format</source>
- <translation>УÑтаревший формат ключевого файла</translation>
+ <translation>УÑтаревший формат файла-ключа</translation>
</message>
<message>
<source>You are using a legacy key file format which may become
unsupported in the future.
Please go to the master key settings and generate a new key file.</source>
- <translation>Ð’Ñ‹ иÑпользуете ключевой файл уÑтаревшего формата, поддержка которого в дальнейшем может быть прекращена.
+ <translation>Ð’Ñ‹ иÑпользуете файл-ключ уÑтаревшего формата, поддержка которого в дальнейшем может быть прекращена.
-Перейдите в наÑтройки маÑтер-ключа и Ñоздайте новый ключевой файл.</translation>
+Перейдите в наÑтройки маÑтер-ключа и Ñоздайте новый файл-ключ.</translation>
</message>
<message>
<source>Error loading the key file '%1'
Message: %2</source>
- <translation>Ошибка загрузки ключевого файла &apos;%1&apos;
+ <translation>Ошибка загрузки файла-ключа «%1»
Сообщение: %2</translation>
</message>
<message>
@@ -4184,11 +4236,11 @@ Message: %2</source>
</message>
<message>
<source>Key file selection</source>
- <translation type="unfinished"/>
+ <translation>Выбор ключевого файла</translation>
</message>
<message>
<source>Browse for key file</source>
- <translation type="unfinished"/>
+ <translation>Открытие диалога выбора ключевого файла </translation>
</message>
<message>
<source>Browse...</source>
@@ -4204,7 +4256,7 @@ Message: %2</source>
</message>
<message>
<source>Invalid Key File</source>
- <translation type="unfinished"/>
+ <translation>Ðеверный ключевой файл</translation>
</message>
<message>
<source>You cannot use the current database as its own keyfile. Please choose a different file or generate a new key file.</source>
@@ -4212,7 +4264,7 @@ Message: %2</source>
</message>
<message>
<source>Suspicious Key File</source>
- <translation type="unfinished"/>
+ <translation>Подозрительный ключевой файл</translation>
</message>
<message>
<source>The chosen key file looks like a password database file. A key file must be a static file that never changes or you will lose access to your database forever.
@@ -4328,11 +4380,11 @@ Are you sure you want to continue with this file?</source>
</message>
<message>
<source>&amp;Notes</source>
- <translation>&amp;ПримечаниÑ</translation>
+ <translation>&amp;Заметки</translation>
</message>
<message>
<source>Copy notes to clipboard</source>
- <translation>Скопировать Ð¿Ñ€Ð¸Ð¼ÐµÑ‡Ð°Ð½Ð¸Ñ Ð² буфер обмена</translation>
+ <translation>Скопировать заметку в буфер обмена</translation>
</message>
<message>
<source>&amp;Export to CSV file...</source>
@@ -4364,7 +4416,7 @@ Are you sure you want to continue with this file?</source>
</message>
<message>
<source>Toggle window</source>
- <translation>Переключить окно</translation>
+ <translation>Скрыть или показать окно</translation>
</message>
<message>
<source>Quit KeePassXC</source>
@@ -4512,27 +4564,27 @@ Expect some bugs and minor issues, this version is not meant for production use.
</message>
<message>
<source>&amp;Export</source>
- <translation type="unfinished"/>
+ <translation> &amp;ЭкÑпорт</translation>
</message>
<message>
<source>&amp;Check for Updates...</source>
- <translation type="unfinished"/>
+ <translation>&amp;Проверить обновлениÑ…</translation>
</message>
<message>
<source>Downlo&amp;ad all favicons</source>
- <translation type="unfinished"/>
+ <translation>Загрузить &amp;значки Ñайтов Ð´Ð»Ñ Ð²Ñех запиÑей</translation>
</message>
<message>
<source>Sort &amp;A-Z</source>
- <translation type="unfinished"/>
+ <translation>Сортировать &amp;A-Z</translation>
</message>
<message>
<source>Sort &amp;Z-A</source>
- <translation type="unfinished"/>
+ <translation>Сортировать &amp;Z-A</translation>
</message>
<message>
<source>&amp;Password Generator</source>
- <translation type="unfinished"/>
+ <translation>&amp;Генератор Паролей</translation>
</message>
<message>
<source>Download favicon</source>
@@ -4540,43 +4592,43 @@ Expect some bugs and minor issues, this version is not meant for production use.
</message>
<message>
<source>&amp;Export to HTML file...</source>
- <translation type="unfinished"/>
+ <translation>&amp;ЭкÑпорт в HTML-файл...</translation>
</message>
<message>
<source>1Password Vault...</source>
- <translation type="unfinished"/>
+ <translation>Хранилище 1Password...</translation>
</message>
<message>
<source>Import a 1Password Vault</source>
- <translation type="unfinished"/>
+ <translation>Импортировать хранилище 1Password</translation>
</message>
<message>
<source>&amp;Getting Started</source>
- <translation type="unfinished"/>
+ <translation>&amp;Ðачало работы</translation>
</message>
<message>
<source>Open Getting Started Guide PDF</source>
- <translation type="unfinished"/>
+ <translation>Открыть руководÑтво по началу работы в формате PDF</translation>
</message>
<message>
<source>&amp;Online Help...</source>
- <translation type="unfinished"/>
+ <translation>&amp;Онлайн помощь...</translation>
</message>
<message>
<source>Go to online documentation (opens browser)</source>
- <translation type="unfinished"/>
+ <translation>Перейти к онлайн документации (открывает браузер)</translation>
</message>
<message>
<source>&amp;User Guide</source>
- <translation type="unfinished"/>
+ <translation>&amp;РуководÑтво ПользователÑ</translation>
</message>
<message>
<source>Open User Guide PDF</source>
- <translation type="unfinished"/>
+ <translation>Открыть инÑтрукцию Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ Ð² формате PDF</translation>
</message>
<message>
<source>&amp;Keyboard Shortcuts</source>
- <translation type="unfinished"/>
+ <translation>&amp;Комбинации клавиш</translation>
</message>
</context>
<context>
@@ -4773,7 +4825,7 @@ Expect some bugs and minor issues, this version is not meant for production use.
</message>
<message>
<source>Unable to decode masterKey: %1</source>
- <translation type="unfinished"/>
+ <translation>Ðе удалоÑÑŒ декодировать оÑновной ключ: %1</translation>
</message>
<message>
<source>Unable to derive master key: %1</source>
@@ -4812,11 +4864,11 @@ Expect some bugs and minor issues, this version is not meant for production use.
</message>
<message>
<source>Corrupted key file, reading private key failed</source>
- <translation>Повреждённый ключевой файл, ошибка Ñ‡Ñ‚ÐµÐ½Ð¸Ñ Ñ‡Ð°Ñтного ключа</translation>
+ <translation>Повреждённый ключевой файл, ошибка Ñ‡Ñ‚ÐµÐ½Ð¸Ñ Ñ„Ð°Ð¹Ð»Ð° закрытого ключа</translation>
</message>
<message>
<source>No private key payload to decrypt</source>
- <translation>Ðет Ñведений Ð´Ð»Ñ Ð´ÐµÑˆÐ¸Ñ„Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð² чаÑтном ключе</translation>
+ <translation>Ð’ закрытом ключе нет Ñведений Ð´Ð»Ñ Ñ€Ð°ÑшифровываниÑ</translation>
</message>
<message>
<source>Trying to run KDF without cipher</source>
@@ -4840,7 +4892,7 @@ Expect some bugs and minor issues, this version is not meant for production use.
</message>
<message>
<source>Unexpected EOF while reading private key</source>
- <translation>Ðеожиданный конец файла при чтении чаÑтного ключа</translation>
+ <translation>Ðеожиданный конец файла при чтении закрытого ключа</translation>
</message>
<message>
<source>Can&apos;t write public key as it is empty</source>
@@ -4852,11 +4904,11 @@ Expect some bugs and minor issues, this version is not meant for production use.
</message>
<message>
<source>Can&apos;t write private key as it is empty</source>
- <translation>Ðевозможно запиÑать чаÑтный ключ, так как он пуÑÑ‚</translation>
+ <translation>Ðевозможно запиÑать закрытый ключ, так как он пуÑÑ‚</translation>
</message>
<message>
<source>Unexpected EOF when writing private key</source>
- <translation>Ðеожиданный конец файла при запиÑи чаÑтного ключа</translation>
+ <translation>Ðеожиданный конец файла при запиÑи закрытого ключа</translation>
</message>
<message>
<source>Unsupported key type: %1</source>
@@ -4883,7 +4935,7 @@ Expect some bugs and minor issues, this version is not meant for production use.
<name>PasswordEdit</name>
<message>
<source>Passwords do not match</source>
- <translation type="unfinished"/>
+ <translation>Пароли не Ñовпадают</translation>
</message>
<message>
<source>Passwords match so far</source>
@@ -4918,19 +4970,19 @@ Expect some bugs and minor issues, this version is not meant for production use.
</message>
<message>
<source>Password field</source>
- <translation type="unfinished"/>
+ <translation>Пароль</translation>
</message>
<message>
<source>Toggle password visibility</source>
- <translation type="unfinished"/>
+ <translation>Скрывать или показывать Ñимволы вводимого паролÑ</translation>
</message>
<message>
<source>Repeat password field</source>
- <translation type="unfinished"/>
+ <translation>Поле повтора паролÑ</translation>
</message>
<message>
<source>Toggle password generator</source>
- <translation type="unfinished"/>
+ <translation>Скрыть или показать генератор паролей</translation>
</message>
</context>
<context>
@@ -5038,11 +5090,11 @@ Expect some bugs and minor issues, this version is not meant for production use.
</message>
<message>
<source>Switch to advanced mode</source>
- <translation>Ð’ раÑширенный режим</translation>
+ <translation>Переключение в раÑширенный режим</translation>
</message>
<message>
<source>Advanced</source>
- <translation>Дополнительные</translation>
+ <translation>РаÑширенный режим</translation>
</message>
<message>
<source>A-Z</source>
@@ -5098,11 +5150,11 @@ Expect some bugs and minor issues, this version is not meant for production use.
</message>
<message>
<source>Switch to simple mode</source>
- <translation>Ð’ проÑтой режим</translation>
+ <translation>Переключение в проÑтой режим</translation>
</message>
<message>
<source>Simple</source>
- <translation>ПроÑтой</translation>
+ <translation>ПроÑтой режим</translation>
</message>
<message>
<source>Character set to exclude from generated password</source>
@@ -5114,11 +5166,11 @@ Expect some bugs and minor issues, this version is not meant for production use.
</message>
<message>
<source>Add non-hex letters to &quot;do not include&quot; list</source>
- <translation>Добавить не-шеÑтнадцатеричные буквы к ÑпиÑку иÑключений</translation>
+ <translation>Добавить не-шеÑтнадцатеричные Ñимволы к ÑпиÑку иÑключений</translation>
</message>
<message>
<source>Hex</source>
- <translation>16</translation>
+ <translation>Hex</translation>
</message>
<message>
<source>Excluded characters: &quot;0&quot;, &quot;1&quot;, &quot;l&quot;, &quot;I&quot;, &quot;O&quot;, &quot;|&quot;, &quot;ï¹’&quot;</source>
@@ -5134,47 +5186,47 @@ Expect some bugs and minor issues, this version is not meant for production use.
</message>
<message>
<source>Generated password</source>
- <translation type="unfinished"/>
+ <translation>Сгенерированный пароль</translation>
</message>
<message>
<source>Upper-case letters</source>
- <translation type="unfinished"/>
+ <translation>Большие буквы</translation>
</message>
<message>
<source>Lower-case letters</source>
- <translation type="unfinished"/>
+ <translation>Маленькие буквы</translation>
</message>
<message>
<source>Special characters</source>
- <translation type="unfinished"/>
+ <translation>Специальные Ñимволы</translation>
</message>
<message>
<source>Math Symbols</source>
- <translation type="unfinished"/>
+ <translation>МатематичеÑкие Ñимволы</translation>
</message>
<message>
<source>Dashes and Slashes</source>
- <translation type="unfinished"/>
+ <translation>Тире и ÑлÑши </translation>
</message>
<message>
<source>Excluded characters</source>
- <translation type="unfinished"/>
+ <translation>ИÑключенные Ñимволы</translation>
</message>
<message>
<source>Hex Passwords</source>
- <translation type="unfinished"/>
+ <translation>Hex пароли</translation>
</message>
<message>
<source>Password length</source>
- <translation type="unfinished"/>
+ <translation>Длина паролÑ</translation>
</message>
<message>
<source>Word Case:</source>
- <translation type="unfinished"/>
+ <translation>РегиÑÑ‚Ñ€ Ñлов:</translation>
</message>
<message>
<source>Regenerate password</source>
- <translation type="unfinished"/>
+ <translation>Создать пароль заново</translation>
</message>
<message>
<source>Copy password</source>
@@ -5182,23 +5234,23 @@ Expect some bugs and minor issues, this version is not meant for production use.
</message>
<message>
<source>Accept password</source>
- <translation type="unfinished"/>
+ <translation>ПринÑÑ‚ÑŒ пароль</translation>
</message>
<message>
<source>lower case</source>
- <translation type="unfinished"/>
+ <translation>нижний региÑÑ‚Ñ€</translation>
</message>
<message>
<source>UPPER CASE</source>
- <translation type="unfinished"/>
+ <translation>ВЕРХÐИЙ РЕГИСТР</translation>
</message>
<message>
<source>Title Case</source>
- <translation type="unfinished"/>
+ <translation>Каждое Слово С Заглавной Буквы</translation>
</message>
<message>
<source>Toggle password visibility</source>
- <translation type="unfinished"/>
+ <translation>Скрывать или показывать Ñимволы вводимого паролÑ</translation>
</message>
</context>
<context>
@@ -5209,7 +5261,7 @@ Expect some bugs and minor issues, this version is not meant for production use.
</message>
<message>
<source>Statistics</source>
- <translation type="unfinished"/>
+ <translation>СтатиÑтика</translation>
</message>
</context>
<context>
@@ -5244,11 +5296,11 @@ Expect some bugs and minor issues, this version is not meant for production use.
</message>
<message>
<source>Merge</source>
- <translation>СлиÑние</translation>
+ <translation>Объединить</translation>
</message>
<message>
<source>Continue</source>
- <translation type="unfinished"/>
+ <translation>Продолжить</translation>
</message>
</context>
<context>
@@ -5496,7 +5548,7 @@ Available commands:
</message>
<message>
<source>Notes</source>
- <translation>ПримечаниÑ</translation>
+ <translation>Заметки</translation>
</message>
<message>
<source>Last Modified</source>
@@ -5903,19 +5955,19 @@ Available commands:
</message>
<message>
<source>filenames of the password databases to open (*.kdbx)</source>
- <translation>имена файлов открываемой базы данных паролей (*.kdbx)</translation>
+ <translation>Имена файлов открываемых баз данных паролей (*.kdbx).</translation>
</message>
<message>
<source>path to a custom config file</source>
- <translation>путь к Ñвоему файлу наÑтроек</translation>
+ <translation>Путь к пользовательÑкому файлу наÑтроек.</translation>
</message>
<message>
<source>key file of the database</source>
- <translation>ключевой файл базы данных</translation>
+ <translation>Ключевой файл базы данных.</translation>
</message>
<message>
<source>read password of the database from stdin</source>
- <translation>читать пароли базы данных Ñ stdin</translation>
+ <translation>Прочитать пароль базы данных Ñо Ñтандартного ввода stdin.</translation>
</message>
<message>
<source>Parent window handle</source>
@@ -5943,15 +5995,15 @@ Available commands:
</message>
<message>
<source>Deactivate password key for the database.</source>
- <translation type="unfinished"/>
+ <translation>Отключить иÑÐ¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¿Ð°Ñ€Ð¾Ð»ÑŒÐ½Ð¾Ð³Ð¾ ключа базой данных.</translation>
</message>
<message>
<source>Displays debugging information.</source>
- <translation type="unfinished"/>
+ <translation>Выводить отладочную информацию.</translation>
</message>
<message>
<source>Deactivate password key for the database to merge from.</source>
- <translation type="unfinished"/>
+ <translation>Отключить иÑÐ¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¿Ð°Ñ€Ð¾Ð»ÑŒÐ½Ð¾Ð³Ð¾ ключа Ð´Ð»Ñ Ð¾Ð±ÑŠÐµÐ´Ð¸Ð½Ñемой базы данных.</translation>
</message>
<message>
<source>Version %1</source>
@@ -5971,11 +6023,11 @@ Available commands:
</message>
<message>
<source>Debugging mode is disabled.</source>
- <translation type="unfinished"/>
+ <translation>Режим отладки выключен.</translation>
</message>
<message>
<source>Debugging mode is enabled.</source>
- <translation type="unfinished"/>
+ <translation>Режим отладки включен.</translation>
</message>
<message>
<source>Operating system: %1
@@ -6019,31 +6071,31 @@ Kernel: %3 %4</source>
</message>
<message>
<source>Cryptographic libraries:</source>
- <translation type="unfinished"/>
+ <translation>КриптографичеÑкие библиотеки:</translation>
</message>
<message>
<source>Cannot generate a password and prompt at the same time!</source>
- <translation type="unfinished"/>
+ <translation>Ðевозможно одновременно Ñоздать пароль и запроÑ.</translation>
</message>
<message>
<source>Adds a new group to a database.</source>
- <translation type="unfinished"/>
+ <translation>Добавить новую группу в базу данных.</translation>
</message>
<message>
<source>Path of the group to add.</source>
- <translation type="unfinished"/>
+ <translation>Путь к добавлÑемой группе.</translation>
</message>
<message>
<source>Group %1 already exists!</source>
- <translation type="unfinished"/>
+ <translation>Группа %1 уже ÑущеÑтвует.</translation>
</message>
<message>
<source>Group %1 not found.</source>
- <translation type="unfinished"/>
+ <translation>Группа %1 не найдена.</translation>
</message>
<message>
<source>Successfully added group %1.</source>
- <translation type="unfinished"/>
+ <translation>Группа %1 добавлена.</translation>
</message>
<message>
<source>Check if any passwords have been publicly leaked. FILENAME must be the path of a file listing SHA-1 hashes of leaked passwords in HIBP format, as available from https://haveibeenpwned.com/Passwords.</source>
@@ -6071,7 +6123,7 @@ Kernel: %3 %4</source>
</message>
<message>
<source>Display this help.</source>
- <translation type="unfinished"/>
+ <translation>Показать Ñту помощь.</translation>
</message>
<message>
<source>Yubikey slot used to encrypt the database.</source>
@@ -6079,7 +6131,7 @@ Kernel: %3 %4</source>
</message>
<message>
<source>slot</source>
- <translation type="unfinished"/>
+ <translation>Ñлот</translation>
</message>
<message>
<source>Invalid word count %1</source>
@@ -6087,11 +6139,11 @@ Kernel: %3 %4</source>
</message>
<message>
<source>The word list is too small (&lt; 1000 items)</source>
- <translation type="unfinished"/>
+ <translation>Словарь Ñлишком маленький (&lt; 1000 Ñлов)</translation>
</message>
<message>
<source>Exit interactive mode.</source>
- <translation type="unfinished"/>
+ <translation>Покинуть интерактивный режим.</translation>
</message>
<message>
<source>Format to use when exporting. Available choices are xml or csv. Defaults to xml.</source>
@@ -6107,23 +6159,23 @@ Kernel: %3 %4</source>
</message>
<message>
<source>Unsupported format %1</source>
- <translation type="unfinished"/>
+ <translation>Ðеподдерживаемый формат %1</translation>
</message>
<message>
<source>Use numbers</source>
- <translation type="unfinished"/>
+ <translation>ИÑпользовать цифры</translation>
</message>
<message>
<source>Invalid password length %1</source>
- <translation type="unfinished"/>
+ <translation>ÐÐµÐ²ÐµÑ€Ð½Ð°Ñ Ð´Ð»Ð¸Ð½Ð° Ð¿Ð°Ñ€Ð¾Ð»Ñ %1</translation>
</message>
<message>
<source>Display command help.</source>
- <translation type="unfinished"/>
+ <translation>Показать Ñправку команды.</translation>
</message>
<message>
<source>Available commands:</source>
- <translation type="unfinished"/>
+ <translation>ДоÑтупные команды:</translation>
</message>
<message>
<source>Import the contents of an XML database.</source>
@@ -6135,7 +6187,7 @@ Kernel: %3 %4</source>
</message>
<message>
<source>Path of the new database.</source>
- <translation type="unfinished"/>
+ <translation>Путь до новой базы данных. </translation>
</message>
<message>
<source>Unable to import XML database export %1</source>
@@ -6143,15 +6195,15 @@ Kernel: %3 %4</source>
</message>
<message>
<source>Successfully imported database.</source>
- <translation type="unfinished"/>
+ <translation>База данных уÑпешно импортирована.</translation>
</message>
<message>
<source>Unknown command %1</source>
- <translation type="unfinished"/>
+ <translation>ÐеизвеÑÑ‚Ð½Ð°Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð° %1</translation>
</message>
<message>
<source>Flattens the output to single lines.</source>
- <translation type="unfinished"/>
+ <translation>Формирование вывода в виде отдельных Ñтрок.</translation>
</message>
<message>
<source>Only print the changes detected by the merge operation.</source>
@@ -6159,7 +6211,7 @@ Kernel: %3 %4</source>
</message>
<message>
<source>Yubikey slot for the second database.</source>
- <translation type="unfinished"/>
+ <translation>Слот Yubikey Ð´Ð»Ñ Ð²Ñ‚Ð¾Ñ€Ð¾Ð¹ базы данных.</translation>
</message>
<message>
<source>Successfully merged %1 into %2.</source>
@@ -6171,67 +6223,67 @@ Kernel: %3 %4</source>
</message>
<message>
<source>Moves an entry to a new group.</source>
- <translation type="unfinished"/>
+ <translation>Перемещение запиÑи в новую группу.</translation>
</message>
<message>
<source>Path of the entry to move.</source>
- <translation type="unfinished"/>
+ <translation>Путь к перемещаемой запиÑи.</translation>
</message>
<message>
<source>Path of the destination group.</source>
- <translation type="unfinished"/>
+ <translation>Путь к группе назначениÑ.</translation>
</message>
<message>
<source>Could not find group with path %1.</source>
- <translation type="unfinished"/>
+ <translation>Ðе удалоÑÑŒ найти группу Ñ Ð¿ÑƒÑ‚Ñ‘Ð¼ %1.</translation>
</message>
<message>
<source>Entry is already in group %1.</source>
- <translation type="unfinished"/>
+ <translation>ЗапиÑÑŒ уже ÑущеÑтвует в группе %1.</translation>
</message>
<message>
<source>Successfully moved entry %1 to group %2.</source>
- <translation type="unfinished"/>
+ <translation>ЗапиÑÑŒ %1 перемещена в группу %2.</translation>
</message>
<message>
<source>Open a database.</source>
- <translation type="unfinished"/>
+ <translation>Открыть базу данных.</translation>
</message>
<message>
<source>Path of the group to remove.</source>
- <translation type="unfinished"/>
+ <translation>Путь к удалÑемой группе.</translation>
</message>
<message>
<source>Cannot remove root group from database.</source>
- <translation type="unfinished"/>
+ <translation>Ðевозможно удалить корневую группу базы данных.</translation>
</message>
<message>
<source>Successfully recycled group %1.</source>
- <translation type="unfinished"/>
+ <translation>Группа %1 перемещена в корзину.</translation>
</message>
<message>
<source>Successfully deleted group %1.</source>
- <translation type="unfinished"/>
+ <translation>Группа %1 удалена.</translation>
</message>
<message>
<source>Failed to open database file %1: not found</source>
- <translation type="unfinished"/>
+ <translation>Ðе удалоÑÑŒ открыть базу данных «%1»: файл не найден</translation>
</message>
<message>
<source>Failed to open database file %1: not a plain file</source>
- <translation type="unfinished"/>
+ <translation>Ðе удалоÑÑŒ открыть базу данных «%1»: файл не ÑвлÑетÑÑ Ð¿Ñ€Ð¾Ñтым</translation>
</message>
<message>
<source>Failed to open database file %1: not readable</source>
- <translation type="unfinished"/>
+ <translation>Ðе удалоÑÑŒ открыть базу данных «%1»: файл не может быть прочитан</translation>
</message>
<message>
<source>Enter password to unlock %1: </source>
- <translation type="unfinished"/>
+ <translation>Введите пароль Ð´Ð»Ñ Ñ€Ð°Ð·Ð±Ð»Ð¾ÐºÐ¸Ñ€Ð¾Ð²ÐºÐ¸ %1:</translation>
</message>
<message>
<source>Invalid YubiKey slot %1</source>
- <translation type="unfinished"/>
+ <translation>ÐедейÑтвительный Ñлот Yubikey %1</translation>
</message>
<message>
<source>Please touch the button on your YubiKey to unlock %1</source>
@@ -6247,11 +6299,11 @@ Kernel: %3 %4</source>
</message>
<message>
<source>Secret Service Integration</source>
- <translation type="unfinished"/>
+ <translation>Ð˜Ð½Ñ‚ÐµÐ³Ñ€Ð°Ñ†Ð¸Ñ Ñо Ñлужбой Secret Service</translation>
</message>
<message>
<source>User name</source>
- <translation type="unfinished"/>
+ <translation>Ð˜Ð¼Ñ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ</translation>
</message>
<message>
<source>%1[%2] Challenge Response - Slot %3 - %4</source>
@@ -6265,6 +6317,10 @@ Kernel: %3 %4</source>
<source>Invalid password generator after applying all options</source>
<translation type="unfinished"/>
</message>
+ <message>
+ <source>Show the protected attributes in clear text.</source>
+ <translation>Показать защищённый атрибут в виде проÑтого текÑта.</translation>
+ </message>
</context>
<context>
<name>QtIOCompressor</name>
@@ -6422,7 +6478,7 @@ Kernel: %3 %4</source>
<name>SettingsWidgetFdoSecrets</name>
<message>
<source>Options</source>
- <translation type="unfinished"/>
+ <translation>Опции</translation>
</message>
<message>
<source>Enable KeepassXC Freedesktop.org Secret Service integration</source>
@@ -6462,7 +6518,7 @@ Kernel: %3 %4</source>
</message>
<message>
<source>Authorization</source>
- <translation type="unfinished"/>
+ <translation>ÐвторизациÑ</translation>
</message>
<message>
<source>These applications are currently connected:</source>
@@ -6490,7 +6546,7 @@ Kernel: %3 %4</source>
</message>
<message>
<source>Unlock database to show more information</source>
- <translation type="unfinished"/>
+ <translation>Разблокируйте базу данных Ð´Ð»Ñ Ð¿Ñ€Ð¾Ñмотра дополнительных Ñведений</translation>
</message>
<message>
<source>Lock database</source>
@@ -6498,7 +6554,7 @@ Kernel: %3 %4</source>
</message>
<message>
<source>Unlock to show</source>
- <translation type="unfinished"/>
+ <translation>Разблокируйте Ð´Ð»Ñ Ð¿Ñ€Ð¾Ñмотра</translation>
</message>
<message>
<source>None</source>
@@ -6509,7 +6565,7 @@ Kernel: %3 %4</source>
<name>SettingsWidgetKeeShare</name>
<message>
<source>Active</source>
- <translation>Ðктивный</translation>
+ <translation>ДейÑтвиÑ</translation>
</message>
<message>
<source>Allow export</source>
@@ -6541,7 +6597,7 @@ Kernel: %3 %4</source>
</message>
<message>
<source>Generate</source>
- <translation>Генерировать</translation>
+ <translation>Создать</translation>
</message>
<message>
<source>Import</source>
@@ -6622,7 +6678,7 @@ Kernel: %3 %4</source>
</message>
<message>
<source>The exported certificate is not the same as the one in use. Do you want to export the current certificate?</source>
- <translation>ЭкÑпортированный Ñертификат не такой же, как ÑÐµÐ¹Ñ‡Ð°Ñ Ð¸Ñпользуемый. ЭкÑпортировать текущий Ñертификат?</translation>
+ <translation>ЭкÑпортируемый Ñертификат отличаетÑÑ Ð¾Ñ‚ иÑпользуемого. ЭкÑпортировать текущий Ñертификат?</translation>
</message>
<message>
<source>Signer:</source>
@@ -6630,15 +6686,15 @@ Kernel: %3 %4</source>
</message>
<message>
<source>Allow KeeShare imports</source>
- <translation type="unfinished"/>
+ <translation>Разрешить импорт KeeShare</translation>
</message>
<message>
<source>Allow KeeShare exports</source>
- <translation type="unfinished"/>
+ <translation>Разрешить ÑкÑпорт KeeShare</translation>
</message>
<message>
<source>Only show warnings and errors</source>
- <translation type="unfinished"/>
+ <translation>Показывать только ошибки и предупреждениÑ</translation>
</message>
<message>
<source>Key</source>
@@ -6646,39 +6702,39 @@ Kernel: %3 %4</source>
</message>
<message>
<source>Signer name field</source>
- <translation type="unfinished"/>
+ <translation>Поле имени владельца Ñертификата</translation>
</message>
<message>
<source>Generate new certificate</source>
- <translation type="unfinished"/>
+ <translation>Создать Ñертификат</translation>
</message>
<message>
<source>Import existing certificate</source>
- <translation type="unfinished"/>
+ <translation>Импортировать ÑущеÑтвующий Ñертификат</translation>
</message>
<message>
<source>Export own certificate</source>
- <translation type="unfinished"/>
+ <translation>ЭкÑпортировать ÑобÑтвенный Ñертификат</translation>
</message>
<message>
<source>Known shares</source>
- <translation type="unfinished"/>
+ <translation>ИзвеÑтные общие реÑурÑÑ‹</translation>
</message>
<message>
<source>Trust selected certificate</source>
- <translation type="unfinished"/>
+ <translation>ДоверÑÑ‚ÑŒ выбранному Ñертификату</translation>
</message>
<message>
<source>Ask whether to trust the selected certificate every time</source>
- <translation type="unfinished"/>
+ <translation>Ð’Ñегда запрашивать подтверждение Ð´Ð¾Ð²ÐµÑ€Ð¸Ñ Ðº Ñертификату</translation>
</message>
<message>
<source>Untrust selected certificate</source>
- <translation type="unfinished"/>
+ <translation>Ðе доверÑÑ‚ÑŒ выбранному Ñертификату</translation>
</message>
<message>
<source>Remove selected certificate</source>
- <translation type="unfinished"/>
+ <translation>Удалить выбранный Ñертификат</translation>
</message>
</context>
<context>
@@ -6873,7 +6929,7 @@ Kernel: %3 %4</source>
<name>TotpSetupDialog</name>
<message>
<source>Setup TOTP</source>
- <translation>ÐаÑтроить TOTP</translation>
+ <translation>Параметры TOTP</translation>
</message>
<message>
<source>Default RFC 6238 token settings</source>
@@ -6906,15 +6962,15 @@ Kernel: %3 %4</source>
</message>
<message>
<source>Secret Key:</source>
- <translation type="unfinished"/>
+ <translation>Секретный ключ</translation>
</message>
<message>
<source>Secret key must be in Base32 format</source>
- <translation type="unfinished"/>
+ <translation>Секретный ключ должен быть задан в формате Base32</translation>
</message>
<message>
<source>Secret key field</source>
- <translation type="unfinished"/>
+ <translation>Поле Ñекретного ключа</translation>
</message>
<message>
<source>Algorithm:</source>
@@ -6922,28 +6978,28 @@ Kernel: %3 %4</source>
</message>
<message>
<source>Time step field</source>
- <translation type="unfinished"/>
+ <translation>Поле шага времени</translation>
</message>
<message>
<source> digits</source>
- <translation type="unfinished"/>
+ <translation> цифр(ы)</translation>
</message>
<message>
<source>Invalid TOTP Secret</source>
- <translation type="unfinished"/>
+ <translation>ÐедейÑтвительный Ñекрет TOTP</translation>
</message>
<message>
<source>You have entered an invalid secret key. The key must be in Base32 format.
Example: JBSWY3DPEHPK3PXP</source>
- <translation type="unfinished"/>
+ <translation>Введён недейÑтвительный Ñекретный ключ. Ключ должен быть задан в формате Base32, например: JBSWY3DPEHPK3PXP.</translation>
</message>
<message>
<source>Confirm Remove TOTP Settings</source>
- <translation type="unfinished"/>
+ <translation>Подтверждение ÑƒÐ´Ð°Ð»ÐµÐ½Ð¸Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ð¾Ð² TOTP</translation>
</message>
<message>
<source>Are you sure you want to delete TOTP settings for this entry?</source>
- <translation type="unfinished"/>
+ <translation>Удалить параметры TOTP Ñтой запиÑи?</translation>
</message>
</context>
<context>
@@ -7029,11 +7085,11 @@ Example: JBSWY3DPEHPK3PXP</source>
</message>
<message>
<source>Import from 1Password</source>
- <translation type="unfinished"/>
+ <translation>Импорт из 1Password</translation>
</message>
<message>
<source>Open a recent database</source>
- <translation type="unfinished"/>
+ <translation>Открыть недавнюю базу данных</translation>
</message>
</context>
<context>
@@ -7060,11 +7116,11 @@ Example: JBSWY3DPEHPK3PXP</source>
</message>
<message>
<source>Refresh hardware tokens</source>
- <translation type="unfinished"/>
+ <translation>Перечитать токены</translation>
</message>
<message>
<source>Hardware key slot selection</source>
- <translation type="unfinished"/>
+ <translation>Выбор Ñлота аппаратного ключа</translation>
</message>
</context>
</TS> \ No newline at end of file
diff --git a/share/translations/keepassx_sk.ts b/share/translations/keepassx_sk.ts
index aadd1b145..ef4289e86 100644
--- a/share/translations/keepassx_sk.ts
+++ b/share/translations/keepassx_sk.ts
@@ -101,7 +101,7 @@
</message>
<message>
<source>Are you sure you want to reset all general and security settings to default?</source>
- <translation type="unfinished"/>
+ <translation>Naozaj chcete obnoviť všetky všeobecné nastavenia na predvolené hodnoty?</translation>
</message>
</context>
<context>
@@ -237,51 +237,51 @@
</message>
<message>
<source>Check for updates at application startup once per week</source>
- <translation type="unfinished"/>
+ <translation>Pri štarte skontrolovať aktualizácie raz týždenne</translation>
</message>
<message>
<source>Include beta releases when checking for updates</source>
- <translation type="unfinished"/>
+ <translation>Pri kontrole aktualizácii zahrnúť pred-vydania</translation>
</message>
<message>
<source>Button style:</source>
- <translation type="unfinished"/>
+ <translation>Å týl tlaÄidla:</translation>
</message>
<message>
<source>Language:</source>
- <translation type="unfinished"/>
+ <translation>Jazyk:</translation>
</message>
<message>
<source>(restart program to activate)</source>
- <translation type="unfinished"/>
+ <translation>(reštartovať program kvôli aktivácii)</translation>
</message>
<message>
<source>Minimize window after unlocking database</source>
- <translation type="unfinished"/>
+ <translation>Minimalizovať okno po odomknutí databázy</translation>
</message>
<message>
<source>Minimize when opening a URL</source>
- <translation type="unfinished"/>
+ <translation>Minimalizovať pri otvorení URL</translation>
</message>
<message>
<source>Hide window when copying to clipboard</source>
- <translation type="unfinished"/>
+ <translation>Skryť okno pri kopírovaní do schránky</translation>
</message>
<message>
<source>Minimize</source>
- <translation type="unfinished"/>
+ <translation>Minimalizovať</translation>
</message>
<message>
<source>Drop to background</source>
- <translation type="unfinished"/>
+ <translation>Poslať do pozadia</translation>
</message>
<message>
<source>Favicon download timeout:</source>
- <translation type="unfinished"/>
+ <translation>Časový limit stiahnutia ikony:</translation>
</message>
<message>
<source>Website icon download timeout in seconds</source>
- <translation type="unfinished"/>
+ <translation>Časový limit stiahnutia ikony v sekundách</translation>
</message>
<message>
<source> sec</source>
@@ -290,11 +290,11 @@
</message>
<message>
<source>Toolbar button style</source>
- <translation type="unfinished"/>
+ <translation>Å týl tlaÄidiel panela nástrojov</translation>
</message>
<message>
<source>Use monospaced font for Notes</source>
- <translation type="unfinished"/>
+ <translation>Na poznámky použiť písmo Monospace</translation>
</message>
<message>
<source>Language selection</source>
@@ -306,15 +306,15 @@
</message>
<message>
<source>Global auto-type shortcut</source>
- <translation type="unfinished"/>
+ <translation>Globálna klávesová skratka Automatického vypĺňania</translation>
</message>
<message>
<source>Auto-type character typing delay milliseconds</source>
- <translation type="unfinished"/>
+ <translation>Oneskorenie Automatického vypĺňania znakov v milisekundách</translation>
</message>
<message>
<source>Auto-type start delay milliseconds</source>
- <translation type="unfinished"/>
+ <translation>Oneskorenia spustenia Automatického vypĺňania v milisekundách</translation>
</message>
</context>
<context>
@@ -394,15 +394,15 @@
</message>
<message>
<source>Clipboard clear seconds</source>
- <translation type="unfinished"/>
+ <translation>Sekundy do vymazania schárnky</translation>
</message>
<message>
<source>Touch ID inactivity reset</source>
- <translation type="unfinished"/>
+ <translation>Reset TouchID po neaktivite</translation>
</message>
<message>
<source>Database lock timeout seconds</source>
- <translation type="unfinished"/>
+ <translation>Časový limit zamknutia databázy v sekundách</translation>
</message>
<message>
<source> min</source>
@@ -411,7 +411,7 @@
</message>
<message>
<source>Clear search query after</source>
- <translation type="unfinished"/>
+ <translation>Vymazať dopyt po</translation>
</message>
</context>
<context>
@@ -444,6 +444,14 @@
<source>This Auto-Type command contains arguments which are repeated very often. Do you really want to proceed?</source>
<translation>Tento príkaz Automatického vypĺňania obsahuje argumenty, ktoré sú opakované príliÅ¡ Äasto. Naozaj ho chcete vykonaÅ¥?</translation>
</message>
+ <message>
+ <source>Permission Required</source>
+ <translation>Požadované práva</translation>
+ </message>
+ <message>
+ <source>KeePassXC requires the Accessibility permission in order to perform entry level Auto-Type. If you already granted permission, you may have to restart KeePassXC.</source>
+ <translation type="unfinished"/>
+ </message>
</context>
<context>
<name>AutoTypeAssociationsModel</name>
@@ -491,6 +499,17 @@
</message>
</context>
<context>
+ <name>AutoTypePlatformMac</name>
+ <message>
+ <source>Permission Required</source>
+ <translation>Požadované práva</translation>
+ </message>
+ <message>
+ <source>KeePassXC requires the Accessibility and Screen Recorder permission in order to perform global Auto-Type. Screen Recording is necessary to use the window title to find entries. If you already granted permission, you may have to restart KeePassXC.</source>
+ <translation type="unfinished"/>
+ </message>
+</context>
+<context>
<name>AutoTypeSelectDialog</name>
<message>
<source>Auto-Type - KeePassXC</source>
@@ -728,11 +747,11 @@ Prosím, vyberte správnu databázu na uloženie prihlasovacích údajov.</trans
</message>
<message>
<source>Returns expired credentials. String [expired] is added to the title.</source>
- <translation type="unfinished"/>
+ <translation>Vrátiť prshlasovacie údaje po vypršaní platnosti. Do názvu je pridaný reťazec [expired].</translation>
</message>
<message>
<source>&amp;Allow returning expired credentials.</source>
- <translation type="unfinished"/>
+ <translation>&amp;Povoliť vrátenie prihlasovacích údajov po dobe platnosti.</translation>
</message>
<message>
<source>Enable browser integration</source>
@@ -744,7 +763,7 @@ Prosím, vyberte správnu databázu na uloženie prihlasovacích údajov.</trans
</message>
<message>
<source>All databases connected to the extension will return matching credentials.</source>
- <translation type="unfinished"/>
+ <translation>Všetky databázy pripojené k rozšíreniu budú vracať zodpovedajúce prihlasovacie údaje.</translation>
</message>
<message>
<source>Don&apos;t display the popup suggesting migration of legacy KeePassHTTP settings.</source>
@@ -756,15 +775,15 @@ Prosím, vyberte správnu databázu na uloženie prihlasovacích údajov.</trans
</message>
<message>
<source>Custom proxy location field</source>
- <translation type="unfinished"/>
+ <translation>Pole vlastné umiestnenia proxy</translation>
</message>
<message>
<source>Browser for custom proxy file</source>
- <translation type="unfinished"/>
+ <translation>PrehliadaÄ súboru vlastného proxy</translation>
</message>
<message>
<source>&lt;b&gt;Warning&lt;/b&gt;, the keepassxc-proxy application was not found!&lt;br /&gt;Please check the KeePassXC installation directory or confirm the custom path in advanced options.&lt;br /&gt;Browser integration WILL NOT WORK without the proxy application.&lt;br /&gt;Expected Path: %1</source>
- <translation type="unfinished"/>
+ <translation>&lt;b&gt;Upozornenie&lt;/b&gt;, nebola nájdená aplikácia keepassxc-proxy!&lt;br /&gt;Prosím, skontrolujte inÅ¡talaÄný adresár KeePassXC alebo potvrÄte vlastnú cestu v pokroÄilých nastaveniach.&lt;br /&gt;Integrácia prehliadaÄa bez tohoto proxy NEBUDE FUNGOVAŤ.&lt;br /&gt;OÄakávaná cesta: %1</translation>
</message>
</context>
<context>
@@ -774,16 +793,6 @@ Prosím, vyberte správnu databázu na uloženie prihlasovacích údajov.</trans
<translation>KeePassXC: Nová požiadavka priradenia kľúÄa</translation>
</message>
<message>
- <source>You have received an association request for the above key.
-
-If you would like to allow it access to your KeePassXC database,
-give it a unique name to identify and accept it.</source>
- <translation>Obdržali ste požiadavku na priradenie vyÅ¡Å¡ie uvedeného kľúÄa.
-
-Ak mu chcete umožniť prístup do databázy KeePassXC,
-zadajte mu jedineÄný názov na identifikáciu a potvrÄte ho.</translation>
- </message>
- <message>
<source>Save and allow access</source>
<translation>Uložiť a povoliť prístup</translation>
</message>
@@ -825,7 +834,7 @@ Do vlastných dát presunuté %2 kľúÄe.</translation>
</message>
<message numerus="yes">
<source>Successfully moved %n keys to custom data.</source>
- <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform><numerusform></numerusform><numerusform></numerusform></translation>
+ <translation><numerusform>ÚspeÅ¡ne presunutých %n kÄ¾ÃºÄ do vlastných dát.</numerusform><numerusform>ÚspeÅ¡ne presunutých %n kľúÄe do vlastných dát.</numerusform><numerusform>ÚspeÅ¡ne presunutých %n kľúÄov do vlastných dát.</numerusform><numerusform>ÚspeÅ¡ne presunutých %n kľúÄov do vlastných dát.</numerusform></translation>
</message>
<message>
<source>KeePassXC: No entry with KeePassHTTP attributes found!</source>
@@ -863,6 +872,14 @@ Chcete teraz migrovať svoje nastavenia?</translation>
<source>Don&apos;t show this warning again</source>
<translation>Nezobrazovať znova toto upozornenie</translation>
</message>
+ <message>
+ <source>You have received an association request for the following database:
+%1
+
+Give the connection a unique name or ID, for example:
+chrome-laptop.</source>
+ <translation type="unfinished"/>
+ </message>
</context>
<context>
<name>CloneDialog</name>
@@ -963,7 +980,7 @@ Chcete teraz migrovať svoje nastavenia?</translation>
</message>
<message numerus="yes">
<source>[%n more message(s) skipped]</source>
- <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform><numerusform></numerusform><numerusform></numerusform></translation>
+ <translation><numerusform>[%n ÄalÅ¡ia správa preskoÄená]</numerusform><numerusform>[%n ÄalÅ¡ie správy preskoÄené]</numerusform><numerusform>[%n Äalších správ preskoÄených]</numerusform><numerusform>[%n Äalších správ preskoÄených]</numerusform></translation>
</message>
<message>
<source>CSV import: writer has errors:
@@ -973,26 +990,26 @@ Chcete teraz migrovať svoje nastavenia?</translation>
</message>
<message>
<source>Text qualification</source>
- <translation type="unfinished"/>
+ <translation>Kvalifikácia textu</translation>
</message>
<message>
<source>Field separation</source>
- <translation type="unfinished"/>
+ <translation>Oddeľovanie polí</translation>
</message>
<message>
<source>Number of header lines to discard</source>
- <translation type="unfinished"/>
+ <translation>PoÄet riadkov hlaviÄky na zahodenie</translation>
</message>
<message>
<source>CSV import preview</source>
- <translation type="unfinished"/>
+ <translation>Ukážka importu CSV</translation>
</message>
</context>
<context>
<name>CsvParserModel</name>
<message numerus="yes">
<source>%n column(s)</source>
- <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform><numerusform></numerusform><numerusform></numerusform></translation>
+ <translation><numerusform>%n stĺpec</numerusform><numerusform>%n stĺpce</numerusform><numerusform>%n stĺpcov</numerusform><numerusform>%n stĺpcov</numerusform></translation>
</message>
<message>
<source>%1, %2, %3</source>
@@ -1001,11 +1018,11 @@ Chcete teraz migrovať svoje nastavenia?</translation>
</message>
<message numerus="yes">
<source>%n byte(s)</source>
- <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform><numerusform></numerusform><numerusform></numerusform></translation>
+ <translation><numerusform>%n bajt</numerusform><numerusform>%n bajty</numerusform><numerusform>%n bajtov</numerusform><numerusform>%n bajtov</numerusform></translation>
</message>
<message numerus="yes">
<source>%n row(s)</source>
- <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform><numerusform></numerusform><numerusform></numerusform></translation>
+ <translation><numerusform>%n riadok</numerusform><numerusform>%n riadky</numerusform><numerusform>%n riadkov</numerusform><numerusform>%n riadkov</numerusform></translation>
</message>
</context>
<context>
@@ -1051,7 +1068,7 @@ Zálohovať databázu nachádzajúcu sa na %2</translation>
</message>
<message>
<source>Database file has unmerged changes.</source>
- <translation type="unfinished"/>
+ <translation>Súbor databázy má neuložené zmeny.</translation>
</message>
<message>
<source>Recycle Bin</source>
@@ -1130,10 +1147,6 @@ Prosím, zvážte vygenerovanie nového súboru kľúÄa.</translation>
<translation>Prepnúť viditeľnosť hesla</translation>
</message>
<message>
- <source>Enter Additional Credentials:</source>
- <translation type="unfinished"/>
- </message>
- <message>
<source>Key file selection</source>
<translation>Výber kľúÄového súboru</translation>
</message>
@@ -1158,12 +1171,6 @@ Prosím, zvážte vygenerovanie nového súboru kľúÄa.</translation>
<translation>Hardvérový kľúÄ:</translation>
</message>
<message>
- <source>&lt;p&gt;You can use a hardware security key such as a &lt;strong&gt;YubiKey&lt;/strong&gt; or &lt;strong&gt;OnlyKey&lt;/strong&gt; with slots configured for HMAC-SHA1.&lt;/p&gt;
- &lt;p&gt;Click for more information...&lt;/p&gt;</source>
- <translation>&lt;p&gt;Môžete použiÅ¥ hardvérový bezpeÄnostný kÄ¾ÃºÄ ako &lt;strong&gt;Yubikey&lt;/strong&gt; alebo &lt;strong&gt;OnlyKey&lt;/strong&gt; so slotmi nakonfigurovanými pre HMAC-SHA1.&lt;/p&gt;
- &lt;p&gt;Kliknite pre viac informácií...&lt;/p&gt;</translation>
- </message>
- <message>
<source>Hardware key help</source>
<translation>Pomocník pre hardvérový kľúÄ</translation>
</message>
@@ -1180,10 +1187,6 @@ Prosím, zvážte vygenerovanie nového súboru kľúÄa.</translation>
<translation>VymazaÅ¥ súbor kľúÄa</translation>
</message>
<message>
- <source>Select file...</source>
- <translation>Vybrať súbor...</translation>
- </message>
- <message>
<source>Unlock failed and no password given</source>
<translation>Odomkntie zlyhalo a nebolo zadané žiadne heslo</translation>
</message>
@@ -1201,6 +1204,42 @@ Ak chcete zabrániť zobrazovaniu tejto chyby, musíte ísť do &quot;Nastavenia
<source>Retry with empty password</source>
<translation>Skúsiť znova s prázdnym heslom</translation>
</message>
+ <message>
+ <source>Enter Additional Credentials (if any):</source>
+ <translation>Zadajte dodatoÄné prihlasovacie údaje (ak treba):</translation>
+ </message>
+ <message>
+ <source>&lt;p&gt;You can use a hardware security key such as a &lt;strong&gt;YubiKey&lt;/strong&gt; or &lt;strong&gt;OnlyKey&lt;/strong&gt; with slots configured for HMAC-SHA1.&lt;/p&gt;
+&lt;p&gt;Click for more information...&lt;/p&gt;</source>
+ <translation>&lt;p&gt;Môžete použiÅ¥ hardvérový bezpeÄnostný kÄ¾ÃºÄ ako &lt;strong&gt;Yubikey&lt;/strong&gt; alebo &lt;strong&gt;OnlyKey&lt;/strong&gt; so slotmi nakonfigurovanými pre HMAC-SHA1.&lt;/p&gt;
+ &lt;p&gt;Kliknite pre viac informácií...&lt;/p&gt;</translation>
+ </message>
+ <message>
+ <source>&lt;p&gt;In addition to your master password, you can use a secret file to enhance the security of your database. Such a file can be generated in your database&apos;s security settings.&lt;/p&gt;&lt;p&gt;This is &lt;strong&gt;not&lt;/strong&gt; your *.kdbx database file!&lt;br&gt;If you do not have a key file, leave the field empty.&lt;/p&gt;&lt;p&gt;Click for more information...&lt;/p&gt;</source>
+ <translation>&lt;p&gt;Okrem svojho hlavného hesla môžete na zvýšenie bezpeÄnosti svojej databázy použiÅ¥ tajný súbor. Taký súbor môže byÅ¥ vygenerovaný v bezpeÄnostných nastaveniach databázy.&lt;/p&gt;&lt;p&gt;Toto &lt;strong&gt;nie je&lt;/strong&gt; Váš súbor *.kdbx database!&lt;br&gt;Ak nemáte takýto súbor kľúÄa, nechajte pole prázdne.&lt;/p&gt;&lt;p&gt;Kliknite na zobrazenie Äalších informácií…&lt;/p&gt;</translation>
+ </message>
+ <message>
+ <source>Key file help</source>
+ <translation>Pomocník súbora kľúÄov</translation>
+ </message>
+ <message>
+ <source>?</source>
+ <translation>?</translation>
+ </message>
+ <message>
+ <source>Select key file...</source>
+ <translation>Zvoľte súbor kľúÄa…</translation>
+ </message>
+ <message>
+ <source>Cannot use database file as key file</source>
+ <translation>Súbor databázy nemožno použiÅ¥ ako súbor kľúÄa</translation>
+ </message>
+ <message>
+ <source>You cannot use your database file as a key file.
+If you do not have a key file, please leave the field empty.</source>
+ <translation>Nemôžete použiÅ¥ svoju databázu ako súbor kľúÄa.
+Ak nemáte súbor kľúÄa, prosím nechajte toto pole prázdne.</translation>
+ </message>
</context>
<context>
<name>DatabaseSettingWidgetMetaData</name>
@@ -1487,7 +1526,7 @@ Ak ponecháte toto Äíslo, môže byÅ¥ prelomenie ochrany databázy príliÅ¡ je
<message numerus="yes">
<source> MiB</source>
<comment>Abbreviation for Mebibytes (KDF settings)</comment>
- <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform><numerusform></numerusform><numerusform></numerusform></translation>
+ <translation><numerusform> MiB</numerusform><numerusform> MiB</numerusform><numerusform> MiB</numerusform><numerusform> MiB</numerusform></translation>
</message>
<message numerus="yes">
<source> thread(s)</source>
@@ -1497,12 +1536,12 @@ Ak ponecháte toto Äíslo, môže byÅ¥ prelomenie ochrany databázy príliÅ¡ je
<message numerus="yes">
<source>%1 ms</source>
<comment>milliseconds</comment>
- <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform><numerusform></numerusform><numerusform></numerusform></translation>
+ <translation><numerusform>%1 ms</numerusform><numerusform>%1 ms</numerusform><numerusform>%1 ms</numerusform><numerusform>%1 ms</numerusform></translation>
</message>
<message numerus="yes">
<source>%1 s</source>
<comment>seconds</comment>
- <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform><numerusform></numerusform><numerusform></numerusform></translation>
+ <translation><numerusform>%1 s</numerusform><numerusform>%1 s</numerusform><numerusform>%1 s</numerusform><numerusform>%1 s</numerusform></translation>
</message>
<message>
<source>Change existing decryption time</source>
@@ -1526,7 +1565,7 @@ Ak ponecháte toto Äíslo, môže byÅ¥ prelomenie ochrany databázy príliÅ¡ je
</message>
<message>
<source>Transform rounds</source>
- <translation type="unfinished"/>
+ <translation>PoÄet transformácií</translation>
</message>
<message>
<source>Memory usage</source>
@@ -1549,7 +1588,7 @@ Ak ponecháte toto Äíslo, môže byÅ¥ prelomenie ochrany databázy príliÅ¡ je
</message>
<message>
<source>Expose entries &amp;under this group:</source>
- <translation type="unfinished"/>
+ <translation>Odkryť položky &amp;v tejto skupine:</translation>
</message>
<message>
<source>Enable fd.o Secret Service to access these settings.</source>
@@ -1604,23 +1643,23 @@ Ak ponecháte toto Äíslo, môže byÅ¥ prelomenie ochrany databázy príliÅ¡ je
</message>
<message>
<source>Database name field</source>
- <translation type="unfinished"/>
+ <translation>Pole názvu databázy</translation>
</message>
<message>
<source>Database description field</source>
- <translation type="unfinished"/>
+ <translation>Pole popisu databázy</translation>
</message>
<message>
<source>Default username field</source>
- <translation type="unfinished"/>
+ <translation>Pole predvoleného používateľa</translation>
</message>
<message>
<source>Maximum number of history items per entry</source>
- <translation type="unfinished"/>
+ <translation>Maximálny poÄet histórie na položku</translation>
</message>
<message>
<source>Maximum size of history per entry</source>
- <translation type="unfinished"/>
+ <translation>Maximálna veľkosť histórie na položku</translation>
</message>
<message>
<source>Delete Recycle Bin</source>
@@ -1634,7 +1673,7 @@ Táto akcia nie je reverzibilná.</translation>
</message>
<message>
<source> (old)</source>
- <translation type="unfinished"/>
+ <translation> (staré)</translation>
</message>
</context>
<context>
@@ -1720,18 +1759,18 @@ Naozaj chcete pokraÄovaÅ¥ bez hesla?</translation>
</message>
<message>
<source>Database name field</source>
- <translation type="unfinished"/>
+ <translation>Pole názvu databázy</translation>
</message>
<message>
<source>Database description field</source>
- <translation type="unfinished"/>
+ <translation>Pole popisu databázy</translation>
</message>
</context>
<context>
<name>DatabaseSettingsWidgetStatistics</name>
<message>
<source>Statistics</source>
- <translation type="unfinished"/>
+ <translation>Å tatistiky</translation>
</message>
<message>
<source>Hover over lines with error icons for further information.</source>
@@ -1755,15 +1794,15 @@ Naozaj chcete pokraÄovaÅ¥ bez hesla?</translation>
</message>
<message>
<source>Location</source>
- <translation type="unfinished"/>
+ <translation>Umiestnenie</translation>
</message>
<message>
<source>Last saved</source>
- <translation type="unfinished"/>
+ <translation>Naposledy uložené</translation>
</message>
<message>
<source>Unsaved changes</source>
- <translation type="unfinished"/>
+ <translation>Neuložené zmeny</translation>
</message>
<message>
<source>yes</source>
@@ -1779,15 +1818,15 @@ Naozaj chcete pokraÄovaÅ¥ bez hesla?</translation>
</message>
<message>
<source>Number of groups</source>
- <translation type="unfinished"/>
+ <translation>PoÄet skupín</translation>
</message>
<message>
<source>Number of entries</source>
- <translation type="unfinished"/>
+ <translation>PoÄet položiek</translation>
</message>
<message>
<source>Number of expired entries</source>
- <translation type="unfinished"/>
+ <translation>PoÄet položiek po dobe platnosti</translation>
</message>
<message>
<source>The database contains entries that have expired.</source>
@@ -1799,47 +1838,51 @@ Naozaj chcete pokraÄovaÅ¥ bez hesla?</translation>
</message>
<message>
<source>Non-unique passwords</source>
- <translation type="unfinished"/>
+ <translation>Nie jedineÄné heslá</translation>
</message>
<message>
<source>More than 10% of passwords are reused. Use unique passwords when possible.</source>
- <translation type="unfinished"/>
+ <translation>Viac ako 10 % hesiel je použitých opakovanie. Použite jedineÄné heslá, vždy keÄ je to možné.</translation>
</message>
<message>
<source>Maximum password reuse</source>
- <translation type="unfinished"/>
+ <translation>Maximálny poÄet opakovane použitých hesiel</translation>
</message>
<message>
<source>Some passwords are used more than three times. Use unique passwords when possible.</source>
- <translation type="unfinished"/>
+ <translation>Niektoré heslá sú použité viac tri krát. Použite jedineÄné heslá, vždy keÄ je to možné.</translation>
</message>
<message>
<source>Number of short passwords</source>
- <translation type="unfinished"/>
+ <translation>PoÄet krátkych hesiel</translation>
</message>
<message>
<source>Recommended minimum password length is at least 8 characters.</source>
- <translation type="unfinished"/>
+ <translation>OdporúÄaná minimálna dĺžka hesla je aspoň 8 znakov.</translation>
</message>
<message>
<source>Number of weak passwords</source>
- <translation type="unfinished"/>
+ <translation>PoÄet slabých hesiel</translation>
</message>
<message>
<source>Recommend using long, randomized passwords with a rating of &apos;good&apos; or &apos;excellent&apos;.</source>
- <translation type="unfinished"/>
+ <translation>OdporúÄame použiÅ¥ dlhé, náhodné heslá s hodnotením „dobré†alebo „výborné†good&apos; or &apos;excellent&apos;.</translation>
</message>
<message>
<source>Average password length</source>
- <translation type="unfinished"/>
+ <translation>Priemerná dĺžka hesla</translation>
</message>
<message>
<source>%1 characters</source>
- <translation type="unfinished"/>
+ <translation>%1 znakov</translation>
</message>
<message>
<source>Average password length is less than ten characters. Longer passwords provide more security.</source>
- <translation type="unfinished"/>
+ <translation>Priemerná dĺžka hesla je menÅ¡ia ako desaÅ¥ znakov. DlhÅ¡ie heslá poskytujú vyÅ¡Å¡iu bezpeÄnosÅ¥.</translation>
+ </message>
+ <message>
+ <source>Please wait, database statistics are being calculated...</source>
+ <translation>Prosím poÄkajte, poÄítanie Å¡tatistík databázy…</translation>
</message>
</context>
<context>
@@ -1915,27 +1958,27 @@ Toto je urÄite chyba, prosím nahláste ju vývojárom.</translation>
</message>
<message>
<source>Failed to open %1. It either does not exist or is not accessible.</source>
- <translation type="unfinished"/>
+ <translation>Zlyhalo otvorenie %1. BuÄ neexistuje alebo je neprístupný.</translation>
</message>
<message>
<source>Export database to HTML file</source>
- <translation type="unfinished"/>
+ <translation>Exportovať databázu do súboru HTML</translation>
</message>
<message>
<source>HTML file</source>
- <translation type="unfinished"/>
+ <translation>Súbor HTML</translation>
</message>
<message>
<source>Writing the HTML file failed.</source>
- <translation type="unfinished"/>
+ <translation>Zápis do súboru HTML zlyhal.</translation>
</message>
<message>
<source>Export Confirmation</source>
- <translation type="unfinished"/>
+ <translation>Potvrdenie exportu</translation>
</message>
<message>
<source>You are about to export your database to an unencrypted file. This will leave your passwords and sensitive information vulnerable! Are you sure you want to continue?</source>
- <translation type="unfinished"/>
+ <translation>Chystáte sa exportovaÅ¥ svoju databázu do neÅ¡ifrovaného súboru. Takto necháte svoje heslá a citlivé informácie nechránené! Naozaj chcete pokraÄovaÅ¥?</translation>
</message>
</context>
<context>
@@ -1954,7 +1997,7 @@ Toto je urÄite chyba, prosím nahláste ju vývojárom.</translation>
</message>
<message numerus="yes">
<source>Do you really want to move %n entry(s) to the recycle bin?</source>
- <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform><numerusform></numerusform><numerusform></numerusform></translation>
+ <translation><numerusform>Naozaj chcete presunúť %1 položku do koša?</numerusform><numerusform>Naozaj chcete presunúť %1 položky do koša?</numerusform><numerusform>Naozaj chcete presunúť %1 položiek do koša?</numerusform><numerusform>Naozaj chcete presunúť %1 položiek do koša?</numerusform></translation>
</message>
<message>
<source>Execute command?</source>
@@ -2016,15 +2059,15 @@ Chcete zlúÄiÅ¥ svoje zmeny?</translation>
</message>
<message numerus="yes">
<source>Do you really want to delete %n entry(s) for good?</source>
- <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform><numerusform></numerusform><numerusform></numerusform></translation>
+ <translation><numerusform>Naozaj chcete natrvalo odstrániť %n položku?</numerusform><numerusform>Naozaj chcete natrvalo odstrániť %n položky?</numerusform><numerusform>Naozaj chcete natrvalo odstrániť %n položiek?</numerusform><numerusform>Naozaj chcete natrvalo odstrániť %n položkiek?</numerusform></translation>
</message>
<message numerus="yes">
<source>Delete entry(s)?</source>
- <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform><numerusform></numerusform><numerusform></numerusform></translation>
+ <translation><numerusform>Odstrániť položku?</numerusform><numerusform>Odstrániť položky?</numerusform><numerusform>Odstrániť položky?</numerusform><numerusform>Odstrániť položky?</numerusform></translation>
</message>
<message numerus="yes">
<source>Move entry(s) to recycle bin?</source>
- <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform><numerusform></numerusform><numerusform></numerusform></translation>
+ <translation><numerusform>Presunúť položku do koša?</numerusform><numerusform>Presunúť položky do koša?</numerusform><numerusform>Presunúť položky do koša?</numerusform><numerusform>Presunúť položky do koša?</numerusform></translation>
</message>
<message>
<source>Lock Database?</source>
@@ -2084,7 +2127,7 @@ Vypnúť bezpeÄné ukladanie a skúsiÅ¥ znova?</translation>
</message>
<message numerus="yes">
<source>Entry &quot;%1&quot; has %2 reference(s). Do you want to overwrite references with values, skip this entry, or delete anyway?</source>
- <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform><numerusform></numerusform><numerusform></numerusform></translation>
+ <translation><numerusform>Položka „%1†má %2 odkaz. Chcete prepísaÅ¥ odkaz hodnotou, preskoÄiÅ¥ túto položku alebo ju i tak odstrániÅ¥?</numerusform><numerusform>Položka „%1†má %2 odkazy. Chcete prepísaÅ¥ odkazy hodnotami, preskoÄiÅ¥ túto položku alebo ju i tak odstrániÅ¥?</numerusform><numerusform>Položka „%1†má %2 odkazov. Chcete prepísaÅ¥ odkazy hodnotami, preskoÄiÅ¥ túto položku alebo ju i tak odstrániÅ¥?</numerusform><numerusform>Položka „%1†má %2 odkazov. Chcete prepísaÅ¥ odkazy hodnotami, preskoÄiÅ¥ túto položku alebo ju i tak odstrániÅ¥?</numerusform></translation>
</message>
<message>
<source>Delete group</source>
@@ -2116,7 +2159,7 @@ Vypnúť bezpeÄné ukladanie a skúsiÅ¥ znova?</translation>
</message>
<message>
<source>This database is opened in read-only mode. Autosave is disabled.</source>
- <translation type="unfinished"/>
+ <translation>Táto databáza je otvorená len na Äítanie. Automatické ukladanie je vypnuté.</translation>
</message>
</context>
<context>
@@ -2199,11 +2242,11 @@ Vypnúť bezpeÄné ukladanie a skúsiÅ¥ znova?</translation>
</message>
<message numerus="yes">
<source>%n week(s)</source>
- <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform><numerusform></numerusform><numerusform></numerusform></translation>
+ <translation><numerusform>%n týždeň</numerusform><numerusform>%n týždne</numerusform><numerusform>%n týždňov</numerusform><numerusform>%n týždňov</numerusform></translation>
</message>
<message numerus="yes">
<source>%n month(s)</source>
- <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform><numerusform></numerusform><numerusform></numerusform></translation>
+ <translation><numerusform>%n mesiac</numerusform><numerusform>%n mesiace</numerusform><numerusform>%n mesiacov</numerusform><numerusform>%n mesiacov</numerusform></translation>
</message>
<message>
<source>Apply generated password?</source>
@@ -2231,7 +2274,7 @@ Vypnúť bezpeÄné ukladanie a skúsiÅ¥ znova?</translation>
</message>
<message numerus="yes">
<source>%n year(s)</source>
- <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform><numerusform></numerusform><numerusform></numerusform></translation>
+ <translation><numerusform>%n rok</numerusform><numerusform>%n roky</numerusform><numerusform>%n rokov</numerusform><numerusform>%n rokov</numerusform></translation>
</message>
<message>
<source>Confirm Removal</source>
@@ -2247,7 +2290,7 @@ Vypnúť bezpeÄné ukladanie a skúsiÅ¥ znova?</translation>
</message>
<message>
<source>Are you sure you want to remove this URL?</source>
- <translation type="unfinished"/>
+ <translation>Naozaj chcete odstrániť túto URL?</translation>
</message>
</context>
<context>
@@ -2290,39 +2333,39 @@ Vypnúť bezpeÄné ukladanie a skúsiÅ¥ znova?</translation>
</message>
<message>
<source>Attribute selection</source>
- <translation type="unfinished"/>
+ <translation>Výber atribútu</translation>
</message>
<message>
<source>Attribute value</source>
- <translation type="unfinished"/>
+ <translation>Hodnota atribútu</translation>
</message>
<message>
<source>Add a new attribute</source>
- <translation type="unfinished"/>
+ <translation>Pridať nový atribút</translation>
</message>
<message>
<source>Remove selected attribute</source>
- <translation type="unfinished"/>
+ <translation>Odstrániť vybraný atribút</translation>
</message>
<message>
<source>Edit attribute name</source>
- <translation type="unfinished"/>
+ <translation>Upraviť meno atribúta</translation>
</message>
<message>
<source>Toggle attribute protection</source>
- <translation type="unfinished"/>
+ <translation>Prepnúť ochranu atribúta</translation>
</message>
<message>
<source>Show a protected attribute</source>
- <translation type="unfinished"/>
+ <translation>Zobraziť chránený atribút</translation>
</message>
<message>
<source>Foreground color selection</source>
- <translation type="unfinished"/>
+ <translation>Výber farby popredia</translation>
</message>
<message>
<source>Background color selection</source>
- <translation type="unfinished"/>
+ <translation>Výber farby pozadia</translation>
</message>
</context>
<context>
@@ -2361,39 +2404,39 @@ Vypnúť bezpeÄné ukladanie a skúsiÅ¥ znova?</translation>
</message>
<message>
<source>Custom Auto-Type sequence</source>
- <translation type="unfinished"/>
+ <translation>Vlastná postupnosť Automatického vypĺňania</translation>
</message>
<message>
<source>Open Auto-Type help webpage</source>
- <translation type="unfinished"/>
+ <translation>Otvorí webovú stránku Automatického vypĺňania</translation>
</message>
<message>
<source>Existing window associations</source>
- <translation type="unfinished"/>
+ <translation>Existujúce priradenia okna</translation>
</message>
<message>
<source>Add new window association</source>
- <translation type="unfinished"/>
+ <translation>Pridať nové priradenia okna</translation>
</message>
<message>
<source>Remove selected window association</source>
- <translation type="unfinished"/>
+ <translation>Odstrániť vybrané priradenia okna</translation>
</message>
<message>
<source>You can use an asterisk (*) to match everything</source>
- <translation type="unfinished"/>
+ <translation>Môžete použiÅ¥ hviezdiÄku (*) na zhodu so vÅ¡etkým</translation>
</message>
<message>
<source>Set the window association title</source>
- <translation type="unfinished"/>
+ <translation>Nastaviť názov priradenia okna</translation>
</message>
<message>
<source>You can use an asterisk to match everything</source>
- <translation type="unfinished"/>
+ <translation>Môžete použiÅ¥ hviezdiÄku na zhodu so vÅ¡etkým</translation>
</message>
<message>
<source>Custom Auto-Type sequence for this window</source>
- <translation type="unfinished"/>
+ <translation>Vlastná postupnosť Automatického vypĺňania tohoto okna</translation>
</message>
</context>
<context>
@@ -2428,7 +2471,7 @@ Vypnúť bezpeÄné ukladanie a skúsiÅ¥ znova?</translation>
</message>
<message>
<source>Edit</source>
- <translation type="unfinished"/>
+ <translation>Upraviť</translation>
</message>
</context>
<context>
@@ -2467,7 +2510,7 @@ Vypnúť bezpeÄné ukladanie a skúsiÅ¥ znova?</translation>
</message>
<message>
<source>Delete all history</source>
- <translation type="unfinished"/>
+ <translation>Vymazať celú históriu</translation>
</message>
</context>
<context>
@@ -2510,7 +2553,7 @@ Vypnúť bezpeÄné ukladanie a skúsiÅ¥ znova?</translation>
</message>
<message>
<source>Url field</source>
- <translation type="unfinished"/>
+ <translation>Pole URL</translation>
</message>
<message>
<source>Download favicon for URL</source>
@@ -2518,11 +2561,11 @@ Vypnúť bezpeÄné ukladanie a skúsiÅ¥ znova?</translation>
</message>
<message>
<source>Repeat password field</source>
- <translation type="unfinished"/>
+ <translation>Pole opakovaného hesla</translation>
</message>
<message>
<source>Toggle password generator</source>
- <translation type="unfinished"/>
+ <translation>Prepnúť generátor hesla</translation>
</message>
<message>
<source>Password field</source>
@@ -2534,23 +2577,23 @@ Vypnúť bezpeÄné ukladanie a skúsiÅ¥ znova?</translation>
</message>
<message>
<source>Toggle notes visible</source>
- <translation type="unfinished"/>
+ <translation>Prepnúť tobrazenie poznámok</translation>
</message>
<message>
<source>Expiration field</source>
- <translation type="unfinished"/>
+ <translation>Pole doby platnosti</translation>
</message>
<message>
<source>Expiration Presets</source>
- <translation type="unfinished"/>
+ <translation>Prednastavenia platnosti</translation>
</message>
<message>
<source>Expiration presets</source>
- <translation type="unfinished"/>
+ <translation>Prednastavenia platnosti</translation>
</message>
<message>
<source>Notes field</source>
- <translation type="unfinished"/>
+ <translation>Pole poznámok</translation>
</message>
<message>
<source>Title field</source>
@@ -2562,7 +2605,7 @@ Vypnúť bezpeÄné ukladanie a skúsiÅ¥ znova?</translation>
</message>
<message>
<source>Toggle expiration</source>
- <translation type="unfinished"/>
+ <translation>Prepnúť dobu platnosti</translation>
</message>
</context>
<context>
@@ -2810,11 +2853,11 @@ Supported extensions are: %1.</source>
</message>
<message>
<source>Toggle password generator</source>
- <translation type="unfinished"/>
+ <translation>Prepnúť generátor hesla</translation>
</message>
<message>
<source>Clear fields</source>
- <translation type="unfinished"/>
+ <translation>Vymazať polia</translation>
</message>
</context>
<context>
@@ -2849,15 +2892,15 @@ Supported extensions are: %1.</source>
</message>
<message>
<source>Name field</source>
- <translation type="unfinished"/>
+ <translation>Pole mena</translation>
</message>
<message>
<source>Notes field</source>
- <translation type="unfinished"/>
+ <translation>Pole poznámok</translation>
</message>
<message>
<source>Toggle expiration</source>
- <translation type="unfinished"/>
+ <translation>Prepnúť dobu platnosti</translation>
</message>
<message>
<source>Auto-Type toggle for this and sub groups</source>
@@ -2865,7 +2908,7 @@ Supported extensions are: %1.</source>
</message>
<message>
<source>Expiration field</source>
- <translation type="unfinished"/>
+ <translation>Pole doby platnosti</translation>
</message>
<message>
<source>Search toggle for this and sub groups</source>
@@ -2873,7 +2916,7 @@ Supported extensions are: %1.</source>
</message>
<message>
<source>Default auto-type sequence field</source>
- <translation type="unfinished"/>
+ <translation>Pole postupnosti Automatického vypĺňania</translation>
</message>
</context>
<context>
@@ -2920,7 +2963,7 @@ Supported extensions are: %1.</source>
</message>
<message numerus="yes">
<source>Successfully loaded %1 of %n icon(s)</source>
- <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform><numerusform></numerusform><numerusform></numerusform></translation>
+ <translation><numerusform>ÚspeÅ¡ne naÄítané %1 z %n ikony</numerusform><numerusform>ÚspeÅ¡ne naÄítané %1 z %n ikon</numerusform><numerusform>ÚspeÅ¡ne naÄítané %1 z %n ikon</numerusform><numerusform>ÚspeÅ¡ne naÄítané %1 z %n ikon</numerusform></translation>
</message>
<message>
<source>No icons were loaded</source>
@@ -2928,11 +2971,11 @@ Supported extensions are: %1.</source>
</message>
<message numerus="yes">
<source>%n icon(s) already exist in the database</source>
- <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform><numerusform></numerusform><numerusform></numerusform></translation>
+ <translation><numerusform>%n ikona už v databáze existuje</numerusform><numerusform>%n ikony už v databáze existujú</numerusform><numerusform>%n ikon už v databáze existuje</numerusform><numerusform>%n ikon už v databáze existuje</numerusform></translation>
</message>
<message numerus="yes">
<source>The following icon(s) failed:</source>
- <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform><numerusform></numerusform><numerusform></numerusform></translation>
+ <translation><numerusform>Nasledujúca ikona zlyhala:</numerusform><numerusform>Nasledujúce ikony zlyhali:</numerusform><numerusform>Nasledujúce ikony zlyhali:</numerusform><numerusform>Nasledujúce ikony zlyhali:</numerusform></translation>
</message>
<message numerus="yes">
<source>This icon is used by %n entry(s), and will be replaced by the default icon. Are you sure you want to delete it?</source>
@@ -3021,27 +3064,27 @@ Môže to spôsobiÅ¥ nefunkÄnosÅ¥ dotknutých zásuvných modulov.</translation
</message>
<message>
<source>Datetime created</source>
- <translation type="unfinished"/>
+ <translation>Dátum a Äas vytvorenia</translation>
</message>
<message>
<source>Datetime modified</source>
- <translation type="unfinished"/>
+ <translation>Dátum a Äas úpravy</translation>
</message>
<message>
<source>Datetime accessed</source>
- <translation type="unfinished"/>
+ <translation>Dátum a Äas použitia</translation>
</message>
<message>
<source>Unique ID</source>
- <translation type="unfinished"/>
+ <translation>JedineÄné ID</translation>
</message>
<message>
<source>Plugin data</source>
- <translation type="unfinished"/>
+ <translation>Dáta zásuvného modulu</translation>
</message>
<message>
<source>Remove selected plugin data</source>
- <translation type="unfinished"/>
+ <translation>Odstrániť dáta zásuvného modulu</translation>
</message>
</context>
<context>
@@ -3090,7 +3133,7 @@ Môže to spôsobiÅ¥ nefunkÄnosÅ¥ dotknutých zásuvných modulov.</translation
</message>
<message numerus="yes">
<source>Are you sure you want to remove %n attachment(s)?</source>
- <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform><numerusform></numerusform><numerusform></numerusform></translation>
+ <translation><numerusform>Naozaj chcete odstrániť %n prílohu?</numerusform><numerusform>Naozaj chcete odstrániť %n prílohy?</numerusform><numerusform>Naozaj chcete odstrániť %n príloh?</numerusform><numerusform>Naozaj chcete odstrániť %n príloh?</numerusform></translation>
</message>
<message>
<source>Save attachments</source>
@@ -3461,11 +3504,11 @@ You can enable the DuckDuckGo website icon service in the security section of th
</message>
<message>
<source>Already Exists</source>
- <translation type="unfinished"/>
+ <translation>Už existuje</translation>
</message>
<message>
<source>Download Failed</source>
- <translation type="unfinished"/>
+ <translation>SÅ¥ahovanie zlyhalo</translation>
</message>
<message>
<source>Downloading favicons (%1/%2)...</source>
@@ -3884,7 +3927,7 @@ Riadok %2, stĺpec %3</translation>
</message>
<message>
<source>Import KeePass1 Database</source>
- <translation type="unfinished"/>
+ <translation>Importovať databázu KeePass 1</translation>
</message>
</context>
<context>
@@ -4052,7 +4095,7 @@ If this reoccurs, then your database file may be corrupt.</source>
</message>
<message>
<source>Inactive share %1</source>
- <translation type="unfinished"/>
+ <translation>Neaktívne zdieľanie %1</translation>
</message>
<message>
<source>Imported from %1</source>
@@ -4060,35 +4103,35 @@ If this reoccurs, then your database file may be corrupt.</source>
</message>
<message>
<source>Exported to %1</source>
- <translation type="unfinished"/>
+ <translation>Exportované do %1</translation>
</message>
<message>
<source>Synchronized with %1</source>
- <translation type="unfinished"/>
+ <translation>Synchronizované s %1</translation>
</message>
<message>
<source>Import is disabled in settings</source>
- <translation type="unfinished"/>
+ <translation>Import je vypnutý v nastaveniach</translation>
</message>
<message>
<source>Export is disabled in settings</source>
- <translation type="unfinished"/>
+ <translation>Export je vypnutý v nastaveniach</translation>
</message>
<message>
<source>Inactive share</source>
- <translation type="unfinished"/>
+ <translation>Neaktívne zdieľanie</translation>
</message>
<message>
<source>Imported from</source>
- <translation type="unfinished"/>
+ <translation>Importované z</translation>
</message>
<message>
<source>Exported to</source>
- <translation type="unfinished"/>
+ <translation>Exportované do</translation>
</message>
<message>
<source>Synchronized with</source>
- <translation type="unfinished"/>
+ <translation>Synchronizované s</translation>
</message>
</context>
<context>
@@ -4201,28 +4244,29 @@ Správa: %2</translation>
</message>
<message>
<source>Generate a new key file</source>
- <translation type="unfinished"/>
+ <translation>GenerovaÅ¥ nový súbor kľúÄa</translation>
</message>
<message>
<source>Note: Do not use a file that may change as that will prevent you from unlocking your database!</source>
- <translation type="unfinished"/>
+ <translation>Poznámka: Nepoužívajte súbor, ktorý sa môže zmeniť, pretože to zabráni odomknutiu databázy!</translation>
</message>
<message>
<source>Invalid Key File</source>
- <translation type="unfinished"/>
+ <translation>Neplatný súbor kľúÄa</translation>
</message>
<message>
<source>You cannot use the current database as its own keyfile. Please choose a different file or generate a new key file.</source>
- <translation type="unfinished"/>
+ <translation>Nemôžete použiÅ¥ svoju databázu ako súbor kľúÄa. Prosím, zvoľte iný súbor alebo vygenerujte nový súbor kľúÄa.</translation>
</message>
<message>
<source>Suspicious Key File</source>
- <translation type="unfinished"/>
+ <translation>Podozrivý súbor kľúÄa</translation>
</message>
<message>
<source>The chosen key file looks like a password database file. A key file must be a static file that never changes or you will lose access to your database forever.
Are you sure you want to continue with this file?</source>
- <translation type="unfinished"/>
+ <translation>Zvolený súbor kľúÄa vyzerá ako súbor hesla databázy. Súbor kľúÄa musí byÅ¥ statický súbor, ktorý sa nikdy nezmení, inak navždy stratíte prístup k svojej databáze.
+Naozaj chcete pokraÄovaÅ¥ s týmto súborom?</translation>
</message>
</context>
<context>
@@ -4517,27 +4561,27 @@ OÄakávajte chyby a menÅ¡ie problémy, táto verzia nie je urÄená na produkÄ
</message>
<message>
<source>&amp;Export</source>
- <translation type="unfinished"/>
+ <translation>&amp;Exportovať</translation>
</message>
<message>
<source>&amp;Check for Updates...</source>
- <translation type="unfinished"/>
+ <translation>Kontrola aktualizácií…</translation>
</message>
<message>
<source>Downlo&amp;ad all favicons</source>
- <translation type="unfinished"/>
+ <translation>Stiahnuť &amp;všetky ikony</translation>
</message>
<message>
<source>Sort &amp;A-Z</source>
- <translation type="unfinished"/>
+ <translation>Zoradiť &amp;A-Z</translation>
</message>
<message>
<source>Sort &amp;Z-A</source>
- <translation type="unfinished"/>
+ <translation>Zoradiť &amp;Z-A</translation>
</message>
<message>
<source>&amp;Password Generator</source>
- <translation type="unfinished"/>
+ <translation>&amp;Generátor hesla</translation>
</message>
<message>
<source>Download favicon</source>
@@ -4545,7 +4589,7 @@ OÄakávajte chyby a menÅ¡ie problémy, táto verzia nie je urÄená na produkÄ
</message>
<message>
<source>&amp;Export to HTML file...</source>
- <translation type="unfinished"/>
+ <translation>&amp;Exportovať do súboru HTML…</translation>
</message>
<message>
<source>1Password Vault...</source>
@@ -4557,15 +4601,15 @@ OÄakávajte chyby a menÅ¡ie problémy, táto verzia nie je urÄená na produkÄ
</message>
<message>
<source>&amp;Getting Started</source>
- <translation type="unfinished"/>
+ <translation>&amp;ZaÄíname</translation>
</message>
<message>
<source>Open Getting Started Guide PDF</source>
- <translation type="unfinished"/>
+ <translation>Otvorí príruÄku ZaÄíname v PDF</translation>
</message>
<message>
<source>&amp;Online Help...</source>
- <translation type="unfinished"/>
+ <translation>Pomocník &amp;online…</translation>
</message>
<message>
<source>Go to online documentation (opens browser)</source>
@@ -4573,15 +4617,15 @@ OÄakávajte chyby a menÅ¡ie problémy, táto verzia nie je urÄená na produkÄ
</message>
<message>
<source>&amp;User Guide</source>
- <translation type="unfinished"/>
+ <translation>&amp;Používateľská príruÄka</translation>
</message>
<message>
<source>Open User Guide PDF</source>
- <translation type="unfinished"/>
+ <translation>Otvorí používateľskú príruÄku v PDF</translation>
</message>
<message>
<source>&amp;Keyboard Shortcuts</source>
- <translation type="unfinished"/>
+ <translation>&amp;Klávesové skratky</translation>
</message>
</context>
<context>
@@ -4931,11 +4975,11 @@ OÄakávajte chyby a menÅ¡ie problémy, táto verzia nie je urÄená na produkÄ
</message>
<message>
<source>Repeat password field</source>
- <translation type="unfinished"/>
+ <translation>Pole opakovaného hesla</translation>
</message>
<message>
<source>Toggle password generator</source>
- <translation type="unfinished"/>
+ <translation>Prepnúť generátor hesla</translation>
</message>
</context>
<context>
@@ -5139,67 +5183,67 @@ OÄakávajte chyby a menÅ¡ie problémy, táto verzia nie je urÄená na produkÄ
</message>
<message>
<source>Generated password</source>
- <translation type="unfinished"/>
+ <translation>Generované heslo</translation>
</message>
<message>
<source>Upper-case letters</source>
- <translation type="unfinished"/>
+ <translation>Veľké písmená</translation>
</message>
<message>
<source>Lower-case letters</source>
- <translation type="unfinished"/>
+ <translation>Malé písmená</translation>
</message>
<message>
<source>Special characters</source>
- <translation type="unfinished"/>
+ <translation>Špeciálne znaky</translation>
</message>
<message>
<source>Math Symbols</source>
- <translation type="unfinished"/>
+ <translation>Matematické symboly</translation>
</message>
<message>
<source>Dashes and Slashes</source>
- <translation type="unfinished"/>
+ <translation>PomlÄky a lomky</translation>
</message>
<message>
<source>Excluded characters</source>
- <translation type="unfinished"/>
+ <translation>Rozšírené znaky</translation>
</message>
<message>
<source>Hex Passwords</source>
- <translation type="unfinished"/>
+ <translation>Hexadecimálne heslá</translation>
</message>
<message>
<source>Password length</source>
- <translation type="unfinished"/>
+ <translation>Dĺžka hesla</translation>
</message>
<message>
<source>Word Case:</source>
- <translation type="unfinished"/>
+ <translation>Slová veľkými:</translation>
</message>
<message>
<source>Regenerate password</source>
- <translation type="unfinished"/>
+ <translation>Obnoviť heslo</translation>
</message>
<message>
<source>Copy password</source>
- <translation type="unfinished"/>
+ <translation>Kopírovať heslo</translation>
</message>
<message>
<source>Accept password</source>
- <translation type="unfinished"/>
+ <translation>Prijať heslo</translation>
</message>
<message>
<source>lower case</source>
- <translation type="unfinished"/>
+ <translation>malé písmená</translation>
</message>
<message>
<source>UPPER CASE</source>
- <translation type="unfinished"/>
+ <translation>VEĽKÉ PÃSMENÃ</translation>
</message>
<message>
<source>Title Case</source>
- <translation type="unfinished"/>
+ <translation>Titulková Veľkosť</translation>
</message>
<message>
<source>Toggle password visibility</source>
@@ -5214,7 +5258,7 @@ OÄakávajte chyby a menÅ¡ie problémy, táto verzia nie je urÄená na produkÄ
</message>
<message>
<source>Statistics</source>
- <translation type="unfinished"/>
+ <translation>Å tatistiky</translation>
</message>
</context>
<context>
@@ -5253,7 +5297,7 @@ OÄakávajte chyby a menÅ¡ie problémy, táto verzia nie je urÄená na produkÄ
</message>
<message>
<source>Continue</source>
- <translation type="unfinished"/>
+ <translation>PokraÄovaÅ¥</translation>
</message>
</context>
<context>
@@ -5587,7 +5631,7 @@ Dostupné príkazy:
</message>
<message numerus="yes">
<source>Clearing the clipboard in %1 second(s)...</source>
- <translation type="unfinished"><numerusform></numerusform><numerusform></numerusform><numerusform></numerusform><numerusform></numerusform></translation>
+ <translation><numerusform>Schránka bude vymazaná za %1 s</numerusform><numerusform>Schránka bude vymazaná za %1 s</numerusform><numerusform>Schránka bude vymazaná za %1 s</numerusform><numerusform>Schránka bude vymazaná za %1 s</numerusform></translation>
</message>
<message>
<source>Clipboard cleared!</source>
@@ -5948,11 +5992,11 @@ Dostupné príkazy:
</message>
<message>
<source>Deactivate password key for the database.</source>
- <translation type="unfinished"/>
+ <translation>DeaktivovaÅ¥ heslo kľúÄa databázy.</translation>
</message>
<message>
<source>Displays debugging information.</source>
- <translation type="unfinished"/>
+ <translation>Zobraziť ladiace informácie</translation>
</message>
<message>
<source>Deactivate password key for the database to merge from.</source>
@@ -5976,11 +6020,11 @@ Dostupné príkazy:
</message>
<message>
<source>Debugging mode is disabled.</source>
- <translation type="unfinished"/>
+ <translation>Režim ladenia je vypnutý.</translation>
</message>
<message>
<source>Debugging mode is enabled.</source>
- <translation type="unfinished"/>
+ <translation>Režim ladenia je zapnutý.</translation>
</message>
<message>
<source>Operating system: %1
@@ -6012,7 +6056,7 @@ Jadro: %3 %4</translation>
</message>
<message>
<source>TouchID</source>
- <translation type="unfinished"/>
+ <translation>TouchID</translation>
</message>
<message>
<source>None</source>
@@ -6024,7 +6068,7 @@ Jadro: %3 %4</translation>
</message>
<message>
<source>Cryptographic libraries:</source>
- <translation type="unfinished"/>
+ <translation>Kryptografické knižnice:</translation>
</message>
<message>
<source>Cannot generate a password and prompt at the same time!</source>
@@ -6032,23 +6076,23 @@ Jadro: %3 %4</translation>
</message>
<message>
<source>Adds a new group to a database.</source>
- <translation type="unfinished"/>
+ <translation>Pridá do databázy novú skupinu</translation>
</message>
<message>
<source>Path of the group to add.</source>
- <translation type="unfinished"/>
+ <translation>Cesta pridávanej skupiny.</translation>
</message>
<message>
<source>Group %1 already exists!</source>
- <translation type="unfinished"/>
+ <translation>Skupina %1 už existuje!</translation>
</message>
<message>
<source>Group %1 not found.</source>
- <translation type="unfinished"/>
+ <translation>Skupina %1 nenájdená.</translation>
</message>
<message>
<source>Successfully added group %1.</source>
- <translation type="unfinished"/>
+ <translation>Úspešne pridaná skupina %1.</translation>
</message>
<message>
<source>Check if any passwords have been publicly leaked. FILENAME must be the path of a file listing SHA-1 hashes of leaked passwords in HIBP format, as available from https://haveibeenpwned.com/Passwords.</source>
@@ -6060,7 +6104,7 @@ Jadro: %3 %4</translation>
</message>
<message>
<source>Analyze passwords for weaknesses and problems.</source>
- <translation type="unfinished"/>
+ <translation>Analyzovať slabé a problémové heslá.</translation>
</message>
<message>
<source>Failed to open HIBP file %1: %2</source>
@@ -6072,7 +6116,7 @@ Jadro: %3 %4</translation>
</message>
<message>
<source>Close the currently opened database.</source>
- <translation type="unfinished"/>
+ <translation>Zatvoriť aktuálne otvorenú databázu.</translation>
</message>
<message>
<source>Display this help.</source>
@@ -6200,7 +6244,7 @@ Jadro: %3 %4</translation>
</message>
<message>
<source>Open a database.</source>
- <translation type="unfinished"/>
+ <translation>Otvorí databázu.</translation>
</message>
<message>
<source>Path of the group to remove.</source>
@@ -6256,7 +6300,7 @@ Jadro: %3 %4</translation>
</message>
<message>
<source>User name</source>
- <translation type="unfinished"/>
+ <translation>Meno používavteľa</translation>
</message>
<message>
<source>%1[%2] Challenge Response - Slot %3 - %4</source>
@@ -6270,6 +6314,10 @@ Jadro: %3 %4</translation>
<source>Invalid password generator after applying all options</source>
<translation type="unfinished"/>
</message>
+ <message>
+ <source>Show the protected attributes in clear text.</source>
+ <translation type="unfinished"/>
+ </message>
</context>
<context>
<name>QtIOCompressor</name>
@@ -6427,7 +6475,7 @@ Jadro: %3 %4</translation>
<name>SettingsWidgetFdoSecrets</name>
<message>
<source>Options</source>
- <translation type="unfinished"/>
+ <translation>Voľby</translation>
</message>
<message>
<source>Enable KeepassXC Freedesktop.org Secret Service integration</source>
@@ -6455,7 +6503,7 @@ Jadro: %3 %4</translation>
</message>
<message>
<source>File Name</source>
- <translation type="unfinished"/>
+ <translation>Meno súboru</translation>
</message>
<message>
<source>Group</source>
@@ -6463,11 +6511,11 @@ Jadro: %3 %4</translation>
</message>
<message>
<source>Manage</source>
- <translation type="unfinished"/>
+ <translation>Spravovať</translation>
</message>
<message>
<source>Authorization</source>
- <translation type="unfinished"/>
+ <translation>Autorizácia</translation>
</message>
<message>
<source>These applications are currently connected:</source>
@@ -6475,7 +6523,7 @@ Jadro: %3 %4</translation>
</message>
<message>
<source>Application</source>
- <translation type="unfinished"/>
+ <translation>Aplikácia</translation>
</message>
<message>
<source>Disconnect</source>
diff --git a/share/translations/keepassx_sv.ts b/share/translations/keepassx_sv.ts
index ace3cf00f..ccde447a7 100644
--- a/share/translations/keepassx_sv.ts
+++ b/share/translations/keepassx_sv.ts
@@ -444,6 +444,14 @@
<source>This Auto-Type command contains arguments which are repeated very often. Do you really want to proceed?</source>
<translation>Det här autoskrivkommandot innehåller parametrar som upprepas många gånger. Vill du verkligen fortsätta?</translation>
</message>
+ <message>
+ <source>Permission Required</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>KeePassXC requires the Accessibility permission in order to perform entry level Auto-Type. If you already granted permission, you may have to restart KeePassXC.</source>
+ <translation type="unfinished"/>
+ </message>
</context>
<context>
<name>AutoTypeAssociationsModel</name>
@@ -491,6 +499,17 @@
</message>
</context>
<context>
+ <name>AutoTypePlatformMac</name>
+ <message>
+ <source>Permission Required</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>KeePassXC requires the Accessibility and Screen Recorder permission in order to perform global Auto-Type. Screen Recording is necessary to use the window title to find entries. If you already granted permission, you may have to restart KeePassXC.</source>
+ <translation type="unfinished"/>
+ </message>
+</context>
+<context>
<name>AutoTypeSelectDialog</name>
<message>
<source>Auto-Type - KeePassXC</source>
@@ -774,16 +793,6 @@ Välj rätt databas för att spara inloggningsuppgifterna.</translation>
<translation>KeePassXC: Ny nyckelassocieringsbegäran</translation>
</message>
<message>
- <source>You have received an association request for the above key.
-
-If you would like to allow it access to your KeePassXC database,
-give it a unique name to identify and accept it.</source>
- <translation>Du har fått en associationsbegäran för ovanstående nyckel.
-
-Ge den ett unikt namn för identifikation och acceptera, om du
-vill tillåta åtkomst till din KeePassXC-databas.</translation>
- </message>
- <message>
<source>Save and allow access</source>
<translation>Spara och tillåt åtkomst</translation>
</message>
@@ -863,6 +872,14 @@ Vill du migrera dina befintliga inställningar nu?</translation>
<source>Don&apos;t show this warning again</source>
<translation>Visa inte denna varning igen</translation>
</message>
+ <message>
+ <source>You have received an association request for the following database:
+%1
+
+Give the connection a unique name or ID, for example:
+chrome-laptop.</source>
+ <translation type="unfinished"/>
+ </message>
</context>
<context>
<name>CloneDialog</name>
@@ -1129,10 +1146,6 @@ komma att tas bort för i framtiden.
<translation type="unfinished"/>
</message>
<message>
- <source>Enter Additional Credentials:</source>
- <translation type="unfinished"/>
- </message>
- <message>
<source>Key file selection</source>
<translation type="unfinished"/>
</message>
@@ -1157,11 +1170,6 @@ komma att tas bort för i framtiden.
<translation type="unfinished"/>
</message>
<message>
- <source>&lt;p&gt;You can use a hardware security key such as a &lt;strong&gt;YubiKey&lt;/strong&gt; or &lt;strong&gt;OnlyKey&lt;/strong&gt; with slots configured for HMAC-SHA1.&lt;/p&gt;
- &lt;p&gt;Click for more information...&lt;/p&gt;</source>
- <translation type="unfinished"/>
- </message>
- <message>
<source>Hardware key help</source>
<translation type="unfinished"/>
</message>
@@ -1178,10 +1186,6 @@ komma att tas bort för i framtiden.
<translation type="unfinished"/>
</message>
<message>
- <source>Select file...</source>
- <translation type="unfinished"/>
- </message>
- <message>
<source>Unlock failed and no password given</source>
<translation type="unfinished"/>
</message>
@@ -1196,6 +1200,40 @@ To prevent this error from appearing, you must go to &quot;Database Settings / S
<source>Retry with empty password</source>
<translation type="unfinished"/>
</message>
+ <message>
+ <source>Enter Additional Credentials (if any):</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>&lt;p&gt;You can use a hardware security key such as a &lt;strong&gt;YubiKey&lt;/strong&gt; or &lt;strong&gt;OnlyKey&lt;/strong&gt; with slots configured for HMAC-SHA1.&lt;/p&gt;
+&lt;p&gt;Click for more information...&lt;/p&gt;</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>&lt;p&gt;In addition to your master password, you can use a secret file to enhance the security of your database. Such a file can be generated in your database&apos;s security settings.&lt;/p&gt;&lt;p&gt;This is &lt;strong&gt;not&lt;/strong&gt; your *.kdbx database file!&lt;br&gt;If you do not have a key file, leave the field empty.&lt;/p&gt;&lt;p&gt;Click for more information...&lt;/p&gt;</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Key file help</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>?</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Select key file...</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Cannot use database file as key file</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>You cannot use your database file as a key file.
+If you do not have a key file, please leave the field empty.</source>
+ <translation type="unfinished"/>
+ </message>
</context>
<context>
<name>DatabaseSettingWidgetMetaData</name>
@@ -1835,6 +1873,10 @@ Vill du verkligen fortsätta utan lösenord?</translation>
<source>Average password length is less than ten characters. Longer passwords provide more security.</source>
<translation type="unfinished"/>
</message>
+ <message>
+ <source>Please wait, database statistics are being calculated...</source>
+ <translation type="unfinished"/>
+ </message>
</context>
<context>
<name>DatabaseTabWidget</name>
@@ -6263,6 +6305,10 @@ Kärna: %3 %4</translation>
<source>Invalid password generator after applying all options</source>
<translation type="unfinished"/>
</message>
+ <message>
+ <source>Show the protected attributes in clear text.</source>
+ <translation type="unfinished"/>
+ </message>
</context>
<context>
<name>QtIOCompressor</name>
diff --git a/share/translations/keepassx_th.ts b/share/translations/keepassx_th.ts
index 1d9c44f45..915852139 100644
--- a/share/translations/keepassx_th.ts
+++ b/share/translations/keepassx_th.ts
@@ -250,7 +250,7 @@
</message>
<message>
<source>Language:</source>
- <translation type="unfinished"/>
+ <translation>ภาษา:</translation>
</message>
<message>
<source>(restart program to activate)</source>
@@ -270,7 +270,7 @@
</message>
<message>
<source>Minimize</source>
- <translation type="unfinished"/>
+ <translation>ย่อเล็à¸</translation>
</message>
<message>
<source>Drop to background</source>
@@ -445,6 +445,14 @@
<source>This Auto-Type command contains arguments which are repeated very often. Do you really want to proceed?</source>
<translation>คำสั่ง Auto-Type นี้มีอาร์à¸à¸´à¸§à¹€à¸¡à¸™à¸•à¹Œà¸‹à¹‰à¸³à¸à¸±à¸™à¸«à¸¥à¸²à¸¢à¸„รั้ง ต้องà¸à¸²à¸£à¸”ำเนินà¸à¸²à¸£à¸•à¹ˆà¸­à¸«à¸£à¸·à¸­à¹„ม่</translation>
</message>
+ <message>
+ <source>Permission Required</source>
+ <translation>ต้องà¸à¸²à¸£à¸à¸²à¸£à¸­à¸™à¸¸à¸à¸²à¸•</translation>
+ </message>
+ <message>
+ <source>KeePassXC requires the Accessibility permission in order to perform entry level Auto-Type. If you already granted permission, you may have to restart KeePassXC.</source>
+ <translation type="unfinished"/>
+ </message>
</context>
<context>
<name>AutoTypeAssociationsModel</name>
@@ -492,6 +500,17 @@
</message>
</context>
<context>
+ <name>AutoTypePlatformMac</name>
+ <message>
+ <source>Permission Required</source>
+ <translation>ต้องà¸à¸²à¸£à¸à¸²à¸£à¸­à¸™à¸¸à¸à¸²à¸•</translation>
+ </message>
+ <message>
+ <source>KeePassXC requires the Accessibility and Screen Recorder permission in order to perform global Auto-Type. Screen Recording is necessary to use the window title to find entries. If you already granted permission, you may have to restart KeePassXC.</source>
+ <translation type="unfinished"/>
+ </message>
+</context>
+<context>
<name>AutoTypeSelectDialog</name>
<message>
<source>Auto-Type - KeePassXC</source>
@@ -774,16 +793,6 @@ Please select the correct database for saving credentials.</source>
<translation>KeePassXC: คำขอà¸à¸¸à¸à¹à¸ˆà¸—ี่เชื่อมโยงใหม่</translation>
</message>
<message>
- <source>You have received an association request for the above key.
-
-If you would like to allow it access to your KeePassXC database,
-give it a unique name to identify and accept it.</source>
- <translation>คุณได้รับคำร้องขอที่เà¸à¸µà¹ˆà¸¢à¸§à¸‚้องสำหรับà¸à¸¸à¸à¹à¸ˆà¸”้านบน
-
-ถ้าคุณต้องà¸à¸²à¸£à¸­à¸™à¸¸à¸à¸²à¸•à¸´à¸¡à¸±à¸™à¹ƒà¸«à¹‰à¹€à¸‚้าถึงà¸à¸²à¸™à¸‚้อมูล KeePassXC database,
-โปรดให้ชื่อเฉพาะเพื่อยืนยันตัวตนà¹à¸¥à¸°à¸•à¸­à¸šà¸£à¸±à¸šà¸¡à¸±à¸™.</translation>
- </message>
- <message>
<source>Save and allow access</source>
<translation>บันทึà¸à¹à¸¥à¸°à¸­à¸™à¸¸à¸à¸²à¸•à¸´à¹ƒà¸«à¹‰à¹€à¸‚้าถึง</translation>
</message>
@@ -861,6 +870,14 @@ Would you like to migrate your existing settings now?</source>
<source>Don&apos;t show this warning again</source>
<translation>ไม่ต้องà¹à¸ªà¸”งคำเตือนนี้อีà¸</translation>
</message>
+ <message>
+ <source>You have received an association request for the following database:
+%1
+
+Give the connection a unique name or ID, for example:
+chrome-laptop.</source>
+ <translation type="unfinished"/>
+ </message>
</context>
<context>
<name>CloneDialog</name>
@@ -989,7 +1006,7 @@ Would you like to migrate your existing settings now?</source>
<name>CsvParserModel</name>
<message numerus="yes">
<source>%n column(s)</source>
- <translation type="unfinished"><numerusform></numerusform></translation>
+ <translation><numerusform>%n คอลัมน์</numerusform></translation>
</message>
<message>
<source>%1, %2, %3</source>
@@ -998,11 +1015,11 @@ Would you like to migrate your existing settings now?</source>
</message>
<message numerus="yes">
<source>%n byte(s)</source>
- <translation type="unfinished"><numerusform></numerusform></translation>
+ <translation><numerusform>%n ไบต์</numerusform></translation>
</message>
<message numerus="yes">
<source>%n row(s)</source>
- <translation type="unfinished"><numerusform></numerusform></translation>
+ <translation><numerusform>%n à¹à¸–ว</numerusform></translation>
</message>
</context>
<context>
@@ -1102,7 +1119,7 @@ Please consider generating a new key file.</source>
</message>
<message>
<source>Failed to open key file: %1</source>
- <translation type="unfinished"/>
+ <translation>ไม่สามารถเปิดà¹à¸Ÿà¹‰à¸¡à¸à¸¸à¸à¹à¸ˆà¹„ด้: %1</translation>
</message>
<message>
<source>Select slot...</source>
@@ -1110,11 +1127,11 @@ Please consider generating a new key file.</source>
</message>
<message>
<source>Unlock KeePassXC Database</source>
- <translation type="unfinished"/>
+ <translation>ปลดล็อà¸à¸à¸²à¸™à¸‚้อมูล KeePassXC</translation>
</message>
<message>
<source>Enter Password:</source>
- <translation type="unfinished"/>
+ <translation>ใส่รหัสผ่าน:</translation>
</message>
<message>
<source>Password field</source>
@@ -1125,10 +1142,6 @@ Please consider generating a new key file.</source>
<translation type="unfinished"/>
</message>
<message>
- <source>Enter Additional Credentials:</source>
- <translation type="unfinished"/>
- </message>
- <message>
<source>Key file selection</source>
<translation type="unfinished"/>
</message>
@@ -1150,12 +1163,7 @@ Please consider generating a new key file.</source>
</message>
<message>
<source>Hardware Key:</source>
- <translation type="unfinished"/>
- </message>
- <message>
- <source>&lt;p&gt;You can use a hardware security key such as a &lt;strong&gt;YubiKey&lt;/strong&gt; or &lt;strong&gt;OnlyKey&lt;/strong&gt; with slots configured for HMAC-SHA1.&lt;/p&gt;
- &lt;p&gt;Click for more information...&lt;/p&gt;</source>
- <translation type="unfinished"/>
+ <translation>à¸à¸¸à¸à¹à¸ˆà¸®à¸²à¸£à¹Œà¸”à¹à¸§à¸£à¹Œ:</translation>
</message>
<message>
<source>Hardware key help</source>
@@ -1174,10 +1182,6 @@ Please consider generating a new key file.</source>
<translation type="unfinished"/>
</message>
<message>
- <source>Select file...</source>
- <translation type="unfinished"/>
- </message>
- <message>
<source>Unlock failed and no password given</source>
<translation type="unfinished"/>
</message>
@@ -1192,6 +1196,40 @@ To prevent this error from appearing, you must go to &quot;Database Settings / S
<source>Retry with empty password</source>
<translation type="unfinished"/>
</message>
+ <message>
+ <source>Enter Additional Credentials (if any):</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>&lt;p&gt;You can use a hardware security key such as a &lt;strong&gt;YubiKey&lt;/strong&gt; or &lt;strong&gt;OnlyKey&lt;/strong&gt; with slots configured for HMAC-SHA1.&lt;/p&gt;
+&lt;p&gt;Click for more information...&lt;/p&gt;</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>&lt;p&gt;In addition to your master password, you can use a secret file to enhance the security of your database. Such a file can be generated in your database&apos;s security settings.&lt;/p&gt;&lt;p&gt;This is &lt;strong&gt;not&lt;/strong&gt; your *.kdbx database file!&lt;br&gt;If you do not have a key file, leave the field empty.&lt;/p&gt;&lt;p&gt;Click for more information...&lt;/p&gt;</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Key file help</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>?</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Select key file...</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Cannot use database file as key file</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>You cannot use your database file as a key file.
+If you do not have a key file, please leave the field empty.</source>
+ <translation type="unfinished"/>
+ </message>
</context>
<context>
<name>DatabaseSettingWidgetMetaData</name>
@@ -1830,6 +1868,10 @@ Are you sure you want to continue without a password?</source>
<source>Average password length is less than ten characters. Longer passwords provide more security.</source>
<translation type="unfinished"/>
</message>
+ <message>
+ <source>Please wait, database statistics are being calculated...</source>
+ <translation type="unfinished"/>
+ </message>
</context>
<context>
<name>DatabaseTabWidget</name>
@@ -6265,6 +6307,10 @@ Kernel: %3 %4</source>
<source>Invalid password generator after applying all options</source>
<translation type="unfinished"/>
</message>
+ <message>
+ <source>Show the protected attributes in clear text.</source>
+ <translation type="unfinished"/>
+ </message>
</context>
<context>
<name>QtIOCompressor</name>
diff --git a/share/translations/keepassx_tr.ts b/share/translations/keepassx_tr.ts
index 95acad850..a8d0c79be 100644
--- a/share/translations/keepassx_tr.ts
+++ b/share/translations/keepassx_tr.ts
@@ -97,11 +97,11 @@
</message>
<message>
<source>Reset Settings?</source>
- <translation type="unfinished"/>
+ <translation>Ayarları Sıfırla?</translation>
</message>
<message>
<source>Are you sure you want to reset all general and security settings to default?</source>
- <translation type="unfinished"/>
+ <translation>Tüm genel ayarları ve güvenlik ayarlarını varsayılan ayarlara getirmek istediğinizden emin misiniz?</translation>
</message>
</context>
<context>
@@ -225,15 +225,15 @@
</message>
<message>
<source>Remember previously used databases</source>
- <translation type="unfinished"/>
+ <translation>Daha önce kullanılan veritabanlarını hatırla</translation>
</message>
<message>
<source>Load previously open databases on startup</source>
- <translation type="unfinished"/>
+ <translation>Başlangıçta önceden açılmış veritabanlarını yükle</translation>
</message>
<message>
<source>Remember database key files and security dongles</source>
- <translation type="unfinished"/>
+ <translation>Veritabanı anahtar dosyalarını ve güvenlik donanımlarını hatırla</translation>
</message>
<message>
<source>Check for updates at application startup once per week</source>
@@ -444,6 +444,14 @@
<source>This Auto-Type command contains arguments which are repeated very often. Do you really want to proceed?</source>
<translation>Bu Oto-Yazım komutu çok sık tekrarlanan argümanlar içerir. Gerçekten devam etmek istiyor musun?</translation>
</message>
+ <message>
+ <source>Permission Required</source>
+ <translation>Ä°zin Gerekli</translation>
+ </message>
+ <message>
+ <source>KeePassXC requires the Accessibility permission in order to perform entry level Auto-Type. If you already granted permission, you may have to restart KeePassXC.</source>
+ <translation type="unfinished"/>
+ </message>
</context>
<context>
<name>AutoTypeAssociationsModel</name>
@@ -491,6 +499,17 @@
</message>
</context>
<context>
+ <name>AutoTypePlatformMac</name>
+ <message>
+ <source>Permission Required</source>
+ <translation>Ä°zin Gerekli</translation>
+ </message>
+ <message>
+ <source>KeePassXC requires the Accessibility and Screen Recorder permission in order to perform global Auto-Type. Screen Recording is necessary to use the window title to find entries. If you already granted permission, you may have to restart KeePassXC.</source>
+ <translation type="unfinished"/>
+ </message>
+</context>
+<context>
<name>AutoTypeSelectDialog</name>
<message>
<source>Auto-Type - KeePassXC</source>
@@ -531,11 +550,11 @@ Lütfen erişime izin vermek isteyip istemediğinizi belirtin.</translation>
</message>
<message>
<source>Allow access</source>
- <translation type="unfinished"/>
+ <translation>EriÅŸime izin ver</translation>
</message>
<message>
<source>Deny access</source>
- <translation type="unfinished"/>
+ <translation>EriÅŸimi reddet</translation>
</message>
</context>
<context>
@@ -774,16 +793,6 @@ Lütfen kimlik bilgilerini kaydetmek için doğru veritabanını seç.</translat
<translation>KeePassXC: Yeni anahtar iliÅŸkilendirme isteÄŸi</translation>
</message>
<message>
- <source>You have received an association request for the above key.
-
-If you would like to allow it access to your KeePassXC database,
-give it a unique name to identify and accept it.</source>
- <translation>Yukarıdaki anahtar için bir ilişkilendirme isteği aldınız.
-
-Eğer KeePassXC veritabanınıza erişim izni vermek isterseniz,
-onu tanımlamak için benzersiz bir isim ver ve kabul et.</translation>
- </message>
- <message>
<source>Save and allow access</source>
<translation>Kaydet ve eriÅŸime izin ver</translation>
</message>
@@ -863,6 +872,14 @@ Mevcut ayarlarınızı şimdi taşımak ister misiniz?</translation>
<source>Don&apos;t show this warning again</source>
<translation>Bu uyarıyı bir daha gösterme</translation>
</message>
+ <message>
+ <source>You have received an association request for the following database:
+%1
+
+Give the connection a unique name or ID, for example:
+chrome-laptop.</source>
+ <translation type="unfinished"/>
+ </message>
</context>
<context>
<name>CloneDialog</name>
@@ -1129,10 +1146,6 @@ Lütfen yeni bir anahtar dosyası oluşturmayı düşünün.</translation>
<translation type="unfinished"/>
</message>
<message>
- <source>Enter Additional Credentials:</source>
- <translation type="unfinished"/>
- </message>
- <message>
<source>Key file selection</source>
<translation type="unfinished"/>
</message>
@@ -1154,16 +1167,11 @@ Lütfen yeni bir anahtar dosyası oluşturmayı düşünün.</translation>
</message>
<message>
<source>Hardware Key:</source>
- <translation type="unfinished"/>
- </message>
- <message>
- <source>&lt;p&gt;You can use a hardware security key such as a &lt;strong&gt;YubiKey&lt;/strong&gt; or &lt;strong&gt;OnlyKey&lt;/strong&gt; with slots configured for HMAC-SHA1.&lt;/p&gt;
- &lt;p&gt;Click for more information...&lt;/p&gt;</source>
- <translation type="unfinished"/>
+ <translation>Donanım Anahtarı:</translation>
</message>
<message>
<source>Hardware key help</source>
- <translation type="unfinished"/>
+ <translation>Donanım anahtarı yardım</translation>
</message>
<message>
<source>TouchID for Quick Unlock</source>
@@ -1178,10 +1186,6 @@ Lütfen yeni bir anahtar dosyası oluşturmayı düşünün.</translation>
<translation type="unfinished"/>
</message>
<message>
- <source>Select file...</source>
- <translation>Dosya seç...</translation>
- </message>
- <message>
<source>Unlock failed and no password given</source>
<translation type="unfinished"/>
</message>
@@ -1196,6 +1200,40 @@ To prevent this error from appearing, you must go to &quot;Database Settings / S
<source>Retry with empty password</source>
<translation type="unfinished"/>
</message>
+ <message>
+ <source>Enter Additional Credentials (if any):</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>&lt;p&gt;You can use a hardware security key such as a &lt;strong&gt;YubiKey&lt;/strong&gt; or &lt;strong&gt;OnlyKey&lt;/strong&gt; with slots configured for HMAC-SHA1.&lt;/p&gt;
+&lt;p&gt;Click for more information...&lt;/p&gt;</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>&lt;p&gt;In addition to your master password, you can use a secret file to enhance the security of your database. Such a file can be generated in your database&apos;s security settings.&lt;/p&gt;&lt;p&gt;This is &lt;strong&gt;not&lt;/strong&gt; your *.kdbx database file!&lt;br&gt;If you do not have a key file, leave the field empty.&lt;/p&gt;&lt;p&gt;Click for more information...&lt;/p&gt;</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Key file help</source>
+ <translation>Anahtar dosyası yardım</translation>
+ </message>
+ <message>
+ <source>?</source>
+ <translation>?</translation>
+ </message>
+ <message>
+ <source>Select key file...</source>
+ <translation>Anahtar dosyası seç...</translation>
+ </message>
+ <message>
+ <source>Cannot use database file as key file</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>You cannot use your database file as a key file.
+If you do not have a key file, please leave the field empty.</source>
+ <translation type="unfinished"/>
+ </message>
</context>
<context>
<name>DatabaseSettingWidgetMetaData</name>
@@ -1835,6 +1873,10 @@ Parola olmadan devam etmek istediÄŸinize emin misiniz?</translation>
<source>Average password length is less than ten characters. Longer passwords provide more security.</source>
<translation type="unfinished"/>
</message>
+ <message>
+ <source>Please wait, database statistics are being calculated...</source>
+ <translation type="unfinished"/>
+ </message>
</context>
<context>
<name>DatabaseTabWidget</name>
@@ -6267,6 +6309,10 @@ MÄ°B mimarisi: %2
<source>Invalid password generator after applying all options</source>
<translation type="unfinished"/>
</message>
+ <message>
+ <source>Show the protected attributes in clear text.</source>
+ <translation type="unfinished"/>
+ </message>
</context>
<context>
<name>QtIOCompressor</name>
diff --git a/share/translations/keepassx_uk.ts b/share/translations/keepassx_uk.ts
index 4dda6ee85..76e540eee 100644
--- a/share/translations/keepassx_uk.ts
+++ b/share/translations/keepassx_uk.ts
@@ -97,11 +97,11 @@
</message>
<message>
<source>Reset Settings?</source>
- <translation type="unfinished"/>
+ <translation>Скинути налаштуваннÑ?</translation>
</message>
<message>
<source>Are you sure you want to reset all general and security settings to default?</source>
- <translation type="unfinished"/>
+ <translation>Ви дійÑно бажаєте повніÑÑ‚ÑŽ Ñкинути Ð½Ð°Ð»Ð°ÑˆÑ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ñ– повернутиÑÑŒ до Ñтандартних параметрів?</translation>
</message>
</context>
<context>
@@ -172,7 +172,7 @@
</message>
<message>
<source>Minimize instead of app exit</source>
- <translation>Мінімізувати вікно заміÑÑ‚ÑŒ закриттÑ</translation>
+ <translation>Згортати вікно заміÑÑ‚ÑŒ закриттÑ</translation>
</message>
<message>
<source>Show a system tray icon</source>
@@ -204,11 +204,11 @@
</message>
<message>
<source>Global Auto-Type shortcut</source>
- <translation>Глобальні ÑÐ¿Ð¾Ð»ÑƒÑ‡ÐµÐ½Ð½Ñ ÐºÐ»Ð°Ð²Ñ–Ñˆ Ð´Ð»Ñ Ð°Ð²Ñ‚Ð¾Ð·Ð°Ð¿Ð¾Ð²Ð½ÐµÐ½Ð½Ñ</translation>
+ <translation>Глобальне ÑÐ¿Ð¾Ð»ÑƒÑ‡ÐµÐ½Ð½Ñ ÐºÐ»Ð°Ð²Ñ–Ñˆ Ð´Ð»Ñ Ð°Ð²Ñ‚Ð¾Ð·Ð°Ð¿Ð¾Ð²Ð½ÐµÐ½Ð½Ñ</translation>
</message>
<message>
<source>Auto-Type typing delay</source>
- <translation>Затримка Ð²Ð²ÐµÐ´ÐµÐ½Ð½Ñ Ñимволів при автозаповненні</translation>
+ <translation>Затримка Ð²Ð²ÐµÐ´ÐµÐ½Ð½Ñ Ñимволів під Ñ‡Ð°Ñ Ð°Ð²Ñ‚Ð¾Ð·Ð°Ð¿Ð¾Ð²Ð½ÐµÐ½Ð½Ñ</translation>
</message>
<message>
<source> ms</source>
@@ -225,63 +225,63 @@
</message>
<message>
<source>Remember previously used databases</source>
- <translation type="unfinished"/>
+ <translation>Пам&apos;Ñтати раніше викориÑтані Ñховища</translation>
</message>
<message>
<source>Load previously open databases on startup</source>
- <translation type="unfinished"/>
+ <translation>Завантажувати попередньо відкриті Ñховища під Ñ‡Ð°Ñ Ð·Ð°Ð¿ÑƒÑку</translation>
</message>
<message>
<source>Remember database key files and security dongles</source>
- <translation type="unfinished"/>
+ <translation>Пам&apos;Ñтати файли ключів та апаратні ключі Ð´Ð»Ñ Ñховища</translation>
</message>
<message>
<source>Check for updates at application startup once per week</source>
- <translation type="unfinished"/>
+ <translation>ПеревірÑти наÑвніÑÑ‚ÑŒ оновлень Ñ‰Ð¾Ñ‚Ð¸Ð¶Ð½Ñ Ð¿Ñ–Ð´ Ñ‡Ð°Ñ Ð·Ð°Ð¿ÑƒÑку заÑтоÑунку</translation>
</message>
<message>
<source>Include beta releases when checking for updates</source>
- <translation type="unfinished"/>
+ <translation>Пропонувати бета випуÑки Ð´Ð»Ñ Ð¾Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ</translation>
</message>
<message>
<source>Button style:</source>
- <translation type="unfinished"/>
+ <translation>Стиль кнопок:</translation>
</message>
<message>
<source>Language:</source>
- <translation type="unfinished"/>
+ <translation>Мова:</translation>
</message>
<message>
<source>(restart program to activate)</source>
- <translation type="unfinished"/>
+ <translation>(перезапуÑÑ‚Ñ–Ñ‚ÑŒ програму, щоб активувати)</translation>
</message>
<message>
<source>Minimize window after unlocking database</source>
- <translation type="unfinished"/>
+ <translation>Згортати вікно піÑÐ»Ñ Ñ€Ð¾Ð·Ð±Ð»Ð¾ÐºÑƒÐ²Ð°Ð½Ð½Ñ Ñховища</translation>
</message>
<message>
<source>Minimize when opening a URL</source>
- <translation type="unfinished"/>
+ <translation>Згортати піÑÐ»Ñ Ð²Ñ–Ð´ÐºÑ€Ð¸Ñ‚Ñ‚Ñ URL</translation>
</message>
<message>
<source>Hide window when copying to clipboard</source>
- <translation type="unfinished"/>
+ <translation>Ховати вікно піÑÐ»Ñ ÐºÐ¾Ð¿Ñ–ÑŽÐ²Ð°Ð½Ð½Ñ Ñƒ кишеню</translation>
</message>
<message>
<source>Minimize</source>
- <translation type="unfinished"/>
+ <translation>Згорнути</translation>
</message>
<message>
<source>Drop to background</source>
- <translation type="unfinished"/>
+ <translation>ПереÑунути на задній план</translation>
</message>
<message>
<source>Favicon download timeout:</source>
- <translation type="unfinished"/>
+ <translation>Ліміт чаÑу Ð´Ð»Ñ Ð·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÐµÐ½Ð½Ñ Ñ„Ð°Ð²Ñ–ÐºÐ¾Ð½Ñƒ:</translation>
</message>
<message>
<source>Website icon download timeout in seconds</source>
- <translation type="unfinished"/>
+ <translation>Ліміт чаÑу в Ñекундах Ð´Ð»Ñ Ð·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÐµÐ½Ð½Ñ Ð·Ð½Ð°Ñ‡ÐºÐ° Ñайту</translation>
</message>
<message>
<source> sec</source>
@@ -290,31 +290,31 @@
</message>
<message>
<source>Toolbar button style</source>
- <translation type="unfinished"/>
+ <translation>Стиль кнопки Ð´Ð»Ñ Ð¿Ð°Ð½ÐµÐ»Ñ– інÑтрументів</translation>
</message>
<message>
<source>Use monospaced font for Notes</source>
- <translation type="unfinished"/>
+ <translation>ВикориÑтовувати моноширинний шрифт Ð´Ð»Ñ Ð½Ð¾Ñ‚Ð°Ñ‚Ð¾Ðº</translation>
</message>
<message>
<source>Language selection</source>
- <translation type="unfinished"/>
+ <translation>Вибір мови</translation>
</message>
<message>
<source>Reset Settings to Default</source>
- <translation type="unfinished"/>
+ <translation>Скинути нетипове налаштуваннÑ</translation>
</message>
<message>
<source>Global auto-type shortcut</source>
- <translation type="unfinished"/>
+ <translation>Глобальне ÑÐ¿Ð¾Ð»ÑƒÑ‡ÐµÐ½Ð½Ñ ÐºÐ»Ð°Ð²Ñ–Ñˆ Ð´Ð»Ñ Ð°Ð²Ñ‚Ð¾Ð·Ð°Ð¿Ð¾Ð²Ð½ÐµÐ½Ð½Ñ</translation>
</message>
<message>
<source>Auto-type character typing delay milliseconds</source>
- <translation type="unfinished"/>
+ <translation>Затримка в міліÑекундах перед введеннÑм Ñимволів під Ñ‡Ð°Ñ Ð°Ð²Ñ‚Ð¾Ð·Ð°Ð¿Ð¾Ð²Ð½ÐµÐ½Ð½Ñ</translation>
</message>
<message>
<source>Auto-type start delay milliseconds</source>
- <translation type="unfinished"/>
+ <translation>Затримка в міліÑекундах перед початком автозаповненнÑ</translation>
</message>
</context>
<context>
@@ -390,11 +390,11 @@
</message>
<message>
<source>Use DuckDuckGo service to download website icons</source>
- <translation type="unfinished"/>
+ <translation>ВикориÑтовувати ÑÐµÑ€Ð²Ñ–Ñ DuckDuckGo Ð´Ð»Ñ Ð·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÐµÐ½Ð½Ñ Ð·Ð½Ð°Ñ‡ÐºÑ–Ð² Ñайтів</translation>
</message>
<message>
<source>Clipboard clear seconds</source>
- <translation type="unfinished"/>
+ <translation>Очищати кишеню через Ñтільки Ñекунд</translation>
</message>
<message>
<source>Touch ID inactivity reset</source>
@@ -411,7 +411,7 @@
</message>
<message>
<source>Clear search query after</source>
- <translation type="unfinished"/>
+ <translation>Очищати пошуковий запит через</translation>
</message>
</context>
<context>
@@ -444,6 +444,14 @@
<source>This Auto-Type command contains arguments which are repeated very often. Do you really want to proceed?</source>
<translation>Команда ÐÐ²Ñ‚Ð¾Ð·Ð°Ð¿Ð¾Ð²Ð½ÐµÐ½Ð½Ñ Ð¼Ñ–Ñтить надто чаÑто повторювані параметри. Ви дійÑно хочете продовжити?</translation>
</message>
+ <message>
+ <source>Permission Required</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>KeePassXC requires the Accessibility permission in order to perform entry level Auto-Type. If you already granted permission, you may have to restart KeePassXC.</source>
+ <translation type="unfinished"/>
+ </message>
</context>
<context>
<name>AutoTypeAssociationsModel</name>
@@ -483,11 +491,22 @@
<name>AutoTypeMatchView</name>
<message>
<source>Copy &amp;username</source>
- <translation>Скопі&amp;ювати ім&apos;Ñ ÐºÐ¾Ñ€Ð¸Ñтувача</translation>
+ <translation>Скопіювати &amp;ім&apos;Ñ ÐºÐ¾Ñ€Ð¸Ñтувача</translation>
</message>
<message>
<source>Copy &amp;password</source>
- <translation>Скопіювати пароль</translation>
+ <translation>Скопіювати &amp;пароль</translation>
+ </message>
+</context>
+<context>
+ <name>AutoTypePlatformMac</name>
+ <message>
+ <source>Permission Required</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>KeePassXC requires the Accessibility and Screen Recorder permission in order to perform global Auto-Type. Screen Recording is necessary to use the window title to find entries. If you already granted permission, you may have to restart KeePassXC.</source>
+ <translation type="unfinished"/>
</message>
</context>
<context>
@@ -531,11 +550,11 @@ Please select whether you want to allow access.</source>
</message>
<message>
<source>Allow access</source>
- <translation type="unfinished"/>
+ <translation>Дозволити доÑтуп</translation>
</message>
<message>
<source>Deny access</source>
- <translation type="unfinished"/>
+ <translation>Заборонити доÑтуп</translation>
</message>
</context>
<context>
@@ -724,47 +743,47 @@ Please select the correct database for saving credentials.</source>
</message>
<message>
<source>&amp;Brave</source>
- <translation type="unfinished"/>
+ <translation>&amp;Brave</translation>
</message>
<message>
<source>Returns expired credentials. String [expired] is added to the title.</source>
- <translation type="unfinished"/>
+ <translation>Показує знечинені реєÑтраційні дані. Заголовок міÑтитимить позначку [знечинені].</translation>
</message>
<message>
<source>&amp;Allow returning expired credentials.</source>
- <translation type="unfinished"/>
+ <translation>Дозволити показ знечинених реєÑтраційних даних.</translation>
</message>
<message>
<source>Enable browser integration</source>
- <translation type="unfinished"/>
+ <translation>Увімкнути ÑÐ¿Ð¾Ð»ÑƒÑ‡ÐµÐ½Ð½Ñ Ð· переглÑдачами</translation>
</message>
<message>
<source>Browsers installed as snaps are currently not supported.</source>
- <translation type="unfinished"/>
+ <translation>Підтримка переглÑдачів, вÑтановлених через Snap, наразі не втілена.</translation>
</message>
<message>
<source>All databases connected to the extension will return matching credentials.</source>
- <translation type="unfinished"/>
+ <translation>Збіги з реєÑтраційними даними будуть знайдені в уÑÑ–Ñ… Ñполучених Ñховищах.</translation>
</message>
<message>
<source>Don&apos;t display the popup suggesting migration of legacy KeePassHTTP settings.</source>
- <translation type="unfinished"/>
+ <translation>Ðе показувати вигульк, що рекомендує Ð¿ÐµÑ€ÐµÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ð½Ð°Ð»Ð°ÑˆÑ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ð·Ð°Ñтарілого KeePassHTTP.</translation>
</message>
<message>
<source>&amp;Do not prompt for KeePassHTTP settings migration.</source>
- <translation type="unfinished"/>
+ <translation>Ðе запитувати щодо Ð¿ÐµÑ€ÐµÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ð½Ð°Ð»Ð°ÑˆÑ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ð·Ð°Ñтарілого KeePassHTTP.</translation>
</message>
<message>
<source>Custom proxy location field</source>
- <translation type="unfinished"/>
+ <translation>Поле влаÑного Ñ€Ð¾Ð·Ñ‚Ð°ÑˆÑƒÐ²Ð°Ð½Ð½Ñ Ð¿Ð¾Ñередника</translation>
</message>
<message>
<source>Browser for custom proxy file</source>
- <translation type="unfinished"/>
+ <translation>ПереглÑдач Ð´Ð»Ñ Ð²Ð»Ð°Ñного файла поÑередника</translation>
</message>
<message>
<source>&lt;b&gt;Warning&lt;/b&gt;, the keepassxc-proxy application was not found!&lt;br /&gt;Please check the KeePassXC installation directory or confirm the custom path in advanced options.&lt;br /&gt;Browser integration WILL NOT WORK without the proxy application.&lt;br /&gt;Expected Path: %1</source>
- <translation type="unfinished"/>
+ <translation>&lt;b&gt;ПопередженнÑ:&lt;/b&gt; поÑередницький заÑтоÑунок Ð´Ð»Ñ KeePassXC-не знайдено!&lt;br /&gt;Будь лаÑка, перевірте його наÑвніÑÑ‚ÑŒ у теці вÑÑ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ KeePassXC або підтвердьте влвÑний шлÑÑ… до нього у розширених параметрах.&lt;br /&gt;Ð¡Ð¿Ð¾Ð»ÑƒÑ‡ÐµÐ½Ð½Ñ Ð· переглÑдачами &lt;b&gt;не працюватими&lt;/b&gt; без поÑередницького заÑтоÑунку.&lt;br /&gt;Очікуваний шлÑÑ…: %1</translation>
</message>
</context>
<context>
@@ -774,16 +793,6 @@ Please select the correct database for saving credentials.</source>
<translation>KeePassXC: новий запит на прив&apos;Ñзку ключа</translation>
</message>
<message>
- <source>You have received an association request for the above key.
-
-If you would like to allow it access to your KeePassXC database,
-give it a unique name to identify and accept it.</source>
- <translation>Ви одержали запит на прив&apos;Ñзку вказаного ключа.
-
-Якщо Ви бажаєте надати доÑтуп до Вашого Ñховища KeePassXC,
-вкажіть унікальну назву та Ñхваліть прив&apos;Ñзку.</translation>
- </message>
- <message>
<source>Save and allow access</source>
<translation>Зберегти Ñ– дозволити доÑтуп</translation>
</message>
@@ -863,6 +872,14 @@ Would you like to migrate your existing settings now?</source>
<source>Don&apos;t show this warning again</source>
<translation>Більше не показувати це попередженнÑ</translation>
</message>
+ <message>
+ <source>You have received an association request for the following database:
+%1
+
+Give the connection a unique name or ID, for example:
+chrome-laptop.</source>
+ <translation type="unfinished"/>
+ </message>
</context>
<context>
<name>CloneDialog</name>
@@ -973,19 +990,19 @@ Would you like to migrate your existing settings now?</source>
</message>
<message>
<source>Text qualification</source>
- <translation type="unfinished"/>
+ <translation>ÐžÐ±Ð¼ÐµÐ¶ÐµÐ½Ð½Ñ Ñ‚ÐµÐºÑту</translation>
</message>
<message>
<source>Field separation</source>
- <translation type="unfinished"/>
+ <translation>Розділювач полів</translation>
</message>
<message>
<source>Number of header lines to discard</source>
- <translation type="unfinished"/>
+ <translation>КількіÑÑ‚ÑŒ Ñ€Ñдків заголовка, Ñкі треба пропуÑтити</translation>
</message>
<message>
<source>CSV import preview</source>
- <translation type="unfinished"/>
+ <translation>Попередній переглÑд імпортованого CSV</translation>
</message>
</context>
<context>
@@ -1038,19 +1055,20 @@ Would you like to migrate your existing settings now?</source>
<message>
<source>%1
Backup database located at %2</source>
- <translation type="unfinished"/>
+ <translation>%1
+Резервне Ñховище знаходитьÑÑ Ð² %2</translation>
</message>
<message>
<source>Could not save, database does not point to a valid file.</source>
- <translation type="unfinished"/>
+ <translation>Ð—Ð±ÐµÑ€ÐµÐ¶ÐµÐ½Ð½Ñ Ð½ÐµÐ¼Ð¾Ð¶Ð»Ð¸Ð²Ðµ оÑкільки шлÑÑ… до Ñховища не вказує на придатний файл.</translation>
</message>
<message>
<source>Could not save, database file is read-only.</source>
- <translation type="unfinished"/>
+ <translation>Ð—Ð±ÐµÑ€ÐµÐ¶ÐµÐ½Ð½Ñ Ð½ÐµÐ¼Ð¾Ð¶Ð»Ð¸Ð²Ðµ оÑкільки файл Ñховища доÑтупний лише Ð´Ð»Ñ Ñ‡Ð¸Ñ‚Ð°Ð½Ð½Ñ.</translation>
</message>
<message>
<source>Database file has unmerged changes.</source>
- <translation type="unfinished"/>
+ <translation>Файл Ñховища міÑтить необ&apos;єднані зміни.</translation>
</message>
<message>
<source>Recycle Bin</source>
@@ -1106,43 +1124,39 @@ Please consider generating a new key file.</source>
</message>
<message>
<source>Failed to open key file: %1</source>
- <translation type="unfinished"/>
+ <translation>Ð’Ñ–Ð´ÐºÑ€Ð¸Ñ‚Ñ‚Ñ Ñ„Ð°Ð¹Ð»Ð° ключа зазнало невдачі: %1</translation>
</message>
<message>
<source>Select slot...</source>
- <translation type="unfinished"/>
+ <translation>Вибрати гніздо...</translation>
</message>
<message>
<source>Unlock KeePassXC Database</source>
- <translation type="unfinished"/>
+ <translation>Розблокувати Ñховище KeePassXC</translation>
</message>
<message>
<source>Enter Password:</source>
- <translation type="unfinished"/>
+ <translation>Введіть пароль:</translation>
</message>
<message>
<source>Password field</source>
- <translation type="unfinished"/>
+ <translation>Поле паролÑ</translation>
</message>
<message>
<source>Toggle password visibility</source>
- <translation type="unfinished"/>
- </message>
- <message>
- <source>Enter Additional Credentials:</source>
- <translation type="unfinished"/>
+ <translation>Перемкнути видиміÑÑ‚ÑŒ паролÑ</translation>
</message>
<message>
<source>Key file selection</source>
- <translation type="unfinished"/>
+ <translation>Вибір файла ключа</translation>
</message>
<message>
<source>Hardware key slot selection</source>
- <translation type="unfinished"/>
+ <translation>Вибір гнізда апаратного захиÑту</translation>
</message>
<message>
<source>Browse for key file</source>
- <translation type="unfinished"/>
+ <translation>Вибрати файл ключа</translation>
</message>
<message>
<source>Browse...</source>
@@ -1150,24 +1164,19 @@ Please consider generating a new key file.</source>
</message>
<message>
<source>Refresh hardware tokens</source>
- <translation type="unfinished"/>
+ <translation>Оновити апаратні позначки</translation>
</message>
<message>
<source>Hardware Key:</source>
- <translation type="unfinished"/>
- </message>
- <message>
- <source>&lt;p&gt;You can use a hardware security key such as a &lt;strong&gt;YubiKey&lt;/strong&gt; or &lt;strong&gt;OnlyKey&lt;/strong&gt; with slots configured for HMAC-SHA1.&lt;/p&gt;
- &lt;p&gt;Click for more information...&lt;/p&gt;</source>
- <translation type="unfinished"/>
+ <translation>Ðпаратний ключ:</translation>
</message>
<message>
<source>Hardware key help</source>
- <translation type="unfinished"/>
+ <translation>Довідка щодо апаратних ключів</translation>
</message>
<message>
<source>TouchID for Quick Unlock</source>
- <translation type="unfinished"/>
+ <translation>TouchID Ð´Ð»Ñ ÑˆÐ²Ð¸Ð´ÐºÐ¾Ð³Ð¾ розблокуваннÑ</translation>
</message>
<message>
<source>Clear</source>
@@ -1175,25 +1184,58 @@ Please consider generating a new key file.</source>
</message>
<message>
<source>Clear Key File</source>
- <translation type="unfinished"/>
- </message>
- <message>
- <source>Select file...</source>
- <translation type="unfinished"/>
+ <translation>ОчиÑтити файл ключа</translation>
</message>
<message>
<source>Unlock failed and no password given</source>
- <translation type="unfinished"/>
+ <translation>Ð Ð¾Ð·Ð±Ð»Ð¾ÐºÑƒÐ²Ð°Ð½Ð½Ñ Ð·Ð°Ð·Ð½Ð°Ð»Ð¾ невдачі й пароль не надано</translation>
</message>
<message>
<source>Unlocking the database failed and you did not enter a password.
Do you want to retry with an &quot;empty&quot; password instead?
To prevent this error from appearing, you must go to &quot;Database Settings / Security&quot; and reset your password.</source>
- <translation type="unfinished"/>
+ <translation>Ð Ð¾Ð·Ð±Ð»Ð¾ÐºÑƒÐ²Ð°Ð½Ð½Ñ Ñховища зазнало невдачі Ñ– Ви не ввели пароль.
+Бажаєте Ñпробувати натоміÑÑ‚ÑŒ з порожнім паролем?
+
+Щоб уникати цього Ð¿Ð¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½Ð½Ñ Ñƒ майбутньому, Ви муÑите вибрати в меню в меню «ÐÐ°Ð»Ð°ÑˆÑ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ñховища / Безпека» Ñ– вÑтановити Ваш пароль.</translation>
</message>
<message>
<source>Retry with empty password</source>
+ <translation>Спробувати знову з порожнім паролем</translation>
+ </message>
+ <message>
+ <source>Enter Additional Credentials (if any):</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>&lt;p&gt;You can use a hardware security key such as a &lt;strong&gt;YubiKey&lt;/strong&gt; or &lt;strong&gt;OnlyKey&lt;/strong&gt; with slots configured for HMAC-SHA1.&lt;/p&gt;
+&lt;p&gt;Click for more information...&lt;/p&gt;</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>&lt;p&gt;In addition to your master password, you can use a secret file to enhance the security of your database. Such a file can be generated in your database&apos;s security settings.&lt;/p&gt;&lt;p&gt;This is &lt;strong&gt;not&lt;/strong&gt; your *.kdbx database file!&lt;br&gt;If you do not have a key file, leave the field empty.&lt;/p&gt;&lt;p&gt;Click for more information...&lt;/p&gt;</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Key file help</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>?</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Select key file...</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>Cannot use database file as key file</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <source>You cannot use your database file as a key file.
+If you do not have a key file, please leave the field empty.</source>
<translation type="unfinished"/>
</message>
</context>
@@ -1351,11 +1393,11 @@ This is necessary to maintain compatibility with the browser plugin.</source>
</message>
<message>
<source>Stored browser keys</source>
- <translation type="unfinished"/>
+ <translation>Збережені ключі переглÑдачів</translation>
</message>
<message>
<source>Remove selected key</source>
- <translation type="unfinished"/>
+ <translation>Видалити вибраний ключ</translation>
</message>
</context>
<context>
@@ -1501,35 +1543,35 @@ If you keep this number, your database may be too easy to crack!</source>
</message>
<message>
<source>Change existing decryption time</source>
- <translation type="unfinished"/>
+ <translation>Змінити наÑвний Ñ‡Ð°Ñ Ñ€Ð¾Ð·ÑˆÐ¸Ñ„Ñ€ÑƒÐ²Ð°Ð½Ð½Ñ</translation>
</message>
<message>
<source>Decryption time in seconds</source>
- <translation type="unfinished"/>
+ <translation>Ð§Ð°Ñ Ñ€Ð¾Ð·ÑˆÐ¸Ñ„Ñ€ÑƒÐ²Ð°Ð½Ð½Ñ Ð² Ñекундах</translation>
</message>
<message>
<source>Database format</source>
- <translation type="unfinished"/>
+ <translation>Формат Ñховища</translation>
</message>
<message>
<source>Encryption algorithm</source>
- <translation type="unfinished"/>
+ <translation>Ðлгоритм шифруваннÑ</translation>
</message>
<message>
<source>Key derivation function</source>
- <translation type="unfinished"/>
+ <translation>Ð¤ÑƒÐ½ÐºÑ†Ñ–Ñ Ð¾Ð±Ñ‡Ð¸ÑÐ»ÐµÐ½Ð½Ñ ÐºÐ»ÑŽÑ‡Ð°</translation>
</message>
<message>
<source>Transform rounds</source>
- <translation type="unfinished"/>
+ <translation>КількіÑÑ‚ÑŒ циклів перетвореннÑ</translation>
</message>
<message>
<source>Memory usage</source>
- <translation type="unfinished"/>
+ <translation>ВикориÑтана пам&apos;ÑÑ‚ÑŒ</translation>
</message>
<message>
<source>Parallelism</source>
- <translation type="unfinished"/>
+ <translation>ПаралельніÑÑ‚ÑŒ</translation>
</message>
</context>
<context>
@@ -1599,15 +1641,15 @@ If you keep this number, your database may be too easy to crack!</source>
</message>
<message>
<source>Database name field</source>
- <translation type="unfinished"/>
+ <translation>Поле назви Ñховища</translation>
</message>
<message>
<source>Database description field</source>
- <translation type="unfinished"/>
+ <translation>Поле опиÑу Ñховища</translation>
</message>
<message>
<source>Default username field</source>
- <translation type="unfinished"/>
+ <translation>Поле типового імені кориÑтувача</translation>
</message>
<message>
<source>Maximum number of history items per entry</source>
@@ -1615,11 +1657,11 @@ If you keep this number, your database may be too easy to crack!</source>
</message>
<message>
<source>Maximum size of history per entry</source>
- <translation type="unfinished"/>
+ <translation>МакÑимальний розмір журналу Ð´Ð»Ñ Ð·Ð°Ð¿Ð¸Ñу</translation>
</message>
<message>
<source>Delete Recycle Bin</source>
- <translation type="unfinished"/>
+ <translation>Видалити Ñмітник</translation>
</message>
<message>
<source>Do you want to delete the current recycle bin and all its contents?
@@ -1699,7 +1741,7 @@ Are you sure you want to continue without a password?</source>
</message>
<message>
<source>Continue without password</source>
- <translation type="unfinished"/>
+ <translation>Продовжити без паролÑ</translation>
</message>
</context>
<context>
@@ -1714,18 +1756,18 @@ Are you sure you want to continue without a password?</source>
</message>
<message>
<source>Database name field</source>
- <translation type="unfinished"/>
+ <translation>Поле назви Ñховища</translation>
</message>
<message>
<source>Database description field</source>
- <translation type="unfinished"/>
+ <translation>Поле опиÑу Ñховища</translation>
</message>
</context>
<context>
<name>DatabaseSettingsWidgetStatistics</name>
<message>
<source>Statistics</source>
- <translation type="unfinished"/>
+ <translation>СтатиÑтика</translation>
</message>
<message>
<source>Hover over lines with error icons for further information.</source>
@@ -1741,11 +1783,11 @@ Are you sure you want to continue without a password?</source>
</message>
<message>
<source>Database name</source>
- <translation type="unfinished"/>
+ <translation>Ðазва Ñховища</translation>
</message>
<message>
<source>Description</source>
- <translation type="unfinished"/>
+ <translation>ОпиÑ</translation>
</message>
<message>
<source>Location</source>
@@ -1753,7 +1795,7 @@ Are you sure you want to continue without a password?</source>
</message>
<message>
<source>Last saved</source>
- <translation type="unfinished"/>
+ <translation>ОÑтаннє збереженнÑ</translation>
</message>
<message>
<source>Unsaved changes</source>
@@ -1761,11 +1803,11 @@ Are you sure you want to continue without a password?</source>
</message>
<message>
<source>yes</source>
- <translation type="unfinished"/>
+ <translation>так</translation>
</message>
<message>
<source>no</source>
- <translation type="unfinished"/>
+ <translation>ні</translation>
</message>
<message>
<source>The database was modified, but the changes have not yet been saved to disk.</source>
@@ -1773,15 +1815,15 @@ Are you sure you want to continue without a password?</source>
</message>
<message>
<source>Number of groups</source>
- <translation type="unfinished"/>
+ <translation>КількіÑÑ‚ÑŒ груп</translation>
</message>
<message>
<source>Number of entries</source>
- <translation type="unfinished"/>
+ <translation>КількіÑÑ‚ÑŒ запиÑів</translation>
</message>
<message>
<source>Number of expired entries</source>
- <translation type="unfinished"/>
+ <translation>КількіÑÑ‚ÑŒ знечинених запиÑів</translation>
</message>
<message>
<source>The database contains entries that have expired.</source>
@@ -1835,6 +1877,10 @@ Are you sure you want to continue without a password?</source>
<source>Average password length is less than ten characters. Longer passwords provide more security.</source>
<translation type="unfinished"/>
</message>
+ <message>
+ <source>Please wait, database statistics are being calculated...</source>
+ <translation type="unfinished"/>
+ </message>
</context>
<context>
<name>DatabaseTabWidget</name>
@@ -2520,11 +2566,11 @@ Disable safe saves and try again?</source>
</message>
<message>
<source>Password field</source>
- <translation type="unfinished"/>
+ <translation>Поле паролÑ</translation>
</message>
<message>
<source>Toggle password visibility</source>
- <translation type="unfinished"/>
+ <translation>Перемкнути видиміÑÑ‚ÑŒ паролÑ</translation>
</message>
<message>
<source>Toggle notes visible</source>
@@ -2796,11 +2842,11 @@ Supported extensions are: %1.</source>
</message>
<message>
<source>Password field</source>
- <translation type="unfinished"/>
+ <translation>Поле паролÑ</translation>
</message>
<message>
<source>Toggle password visibility</source>
- <translation type="unfinished"/>
+ <translation>Перемкнути видиміÑÑ‚ÑŒ паролÑ</translation>
</message>
<message>
<source>Toggle password generator</source>
@@ -4188,11 +4234,11 @@ Message: %2</source>
</message>
<message>
<source>Key file selection</source>
- <translation type="unfinished"/>
+ <translation>Вибір файла ключа</translation>
</message>
<message>
<source>Browse for key file</source>
- <translation type="unfinished"/>
+ <translation>Вибрати файл ключа</translation>
</message>
<message>
<source>Browse...</source>
@@ -4921,11 +4967,11 @@ Expect some bugs and minor issues, this version is not meant for production use.
</message>
<message>
<source>Password field</source>
- <translation type="unfinished"/>
+ <translation>Поле паролÑ</translation>
</message>
<message>
<source>Toggle password visibility</source>
- <translation type="unfinished"/>
+ <translation>Перемкнути видиміÑÑ‚ÑŒ паролÑ</translation>
</message>
<message>
<source>Repeat password field</source>
@@ -5201,7 +5247,7 @@ Expect some bugs and minor issues, this version is not meant for production use.
</message>
<message>
<source>Toggle password visibility</source>
- <translation type="unfinished"/>
+ <translation>Перемкнути видиміÑÑ‚ÑŒ паролÑ</translation>
</message>
</context>
<context>
@@ -5212,7 +5258,7 @@ Expect some bugs and minor issues, this version is not meant for production use.
</message>
<message>
<source>Statistics</source>
- <translation type="unfinished"/>
+ <translation>СтатиÑтика</translation>
</message>
</context>
<context>
@@ -6268,6 +6314,10 @@ Kernel: %3 %4</source>
<source>Invalid password generator after applying all options</source>
<translation type="unfinished"/>
</message>
+ <message>
+ <source>Show the protected attributes in clear text.</source>
+ <translation type="unfinished"/>
+ </message>
</context>
<context>
<name>QtIOCompressor</name>
@@ -7063,11 +7113,11 @@ Example: JBSWY3DPEHPK3PXP</source>
</message>
<message>
<source>Refresh hardware tokens</source>
- <translation type="unfinished"/>
+ <translation>Оновити апаратні позначки</translation>
</message>
<message>
<source>Hardware key slot selection</source>
- <translation type="unfinished"/>
+ <translation>Вибір гнізда апаратного захиÑту</translation>
</message>
</context>
</TS> \ No newline at end of file
diff --git a/share/translations/keepassx_zh_CN.ts b/share/translations/keepassx_zh_CN.ts
index 1711f3983..3270b861f 100644
--- a/share/translations/keepassx_zh_CN.ts
+++ b/share/translations/keepassx_zh_CN.ts
@@ -314,7 +314,7 @@
</message>
<message>
<source>Auto-type start delay milliseconds</source>
- <translation type="unfinished"/>
+ <translation>å¯ç”¨è¾“入时延迟(毫秒)</translation>
</message>
</context>
<context>
@@ -390,19 +390,19 @@
</message>
<message>
<source>Use DuckDuckGo service to download website icons</source>
- <translation type="unfinished"/>
+ <translation>使用 DuckDuckGo æ¥ä¸‹è½½ç½‘页图标</translation>
</message>
<message>
<source>Clipboard clear seconds</source>
- <translation type="unfinished"/>
+ <translation>剪贴æ¿æ¸…楚时间</translation>
</message>
<message>
<source>Touch ID inactivity reset</source>
- <translation type="unfinished"/>
+ <translation>Touch ID é‡ç½®æ—¶é—´</translation>
</message>
<message>
<source>Database lock timeout seconds</source>
- <translation type="unfinished"/>
+ <translation>æ•°æ®åº“自动é”定秒数</translation>
</message>
<message>
<source> min</source>
@@ -411,7 +411,7 @@
</message>
<message>
<source>Clear search query after</source>
- <translation type="unfinished"/>
+ <translation>多久åŽæ¸…除æœç´¢æ¡†</translation>
</message>
</context>
<context>
@@ -444,6 +444,14 @@
<source>This Auto-Type command contains arguments which are repeated very often. Do you really want to proceed?</source>
<translation>此自动输入命令包å«é¢‘ç¹é‡å¤çš„å‚数。你真的è¦ç»§ç»­å—?</translation>
</message>
+ <message>
+ <source>Permission Required</source>
+ <translation>需è¦æƒé™</translation>
+ </message>
+ <message>
+ <source>KeePassXC requires the Accessibility permission in order to perform entry level Auto-Type. If you already granted permission, you may have to restart KeePassXC.</source>
+ <translation>KeePassXC需è¦è¾…助功能æƒé™ä»¥å®žçŽ°æ¡ç›®è‡ªåŠ¨è¾“入。如果你已ç»æŽˆäºˆæ­¤æƒé™ï¼Œä½ å¯èƒ½éœ€è¦é‡æ–°å¼€å¯KeePassXC。</translation>
+ </message>
</context>
<context>
<name>AutoTypeAssociationsModel</name>
@@ -491,6 +499,17 @@
</message>
</context>
<context>
+ <name>AutoTypePlatformMac</name>
+ <message>
+ <source>Permission Required</source>
+ <translation>需è¦æƒé™</translation>
+ </message>
+ <message>
+ <source>KeePassXC requires the Accessibility and Screen Recorder permission in order to perform global Auto-Type. Screen Recording is necessary to use the window title to find entries. If you already granted permission, you may have to restart KeePassXC.</source>
+ <translation>KeePassXC需è¦è¾…助功能和录制å±å¹•æƒé™ä»¥å®žçŽ°å…¨å±€è‡ªåŠ¨è¾“入。获å–窗å£æ ‡é¢˜å¯»æ‰¾å¯¹åº”æ¡ç›®éœ€è¦å½•åˆ¶å±å¹•æƒé™ã€‚如果你已ç»æŽˆäºˆæ­¤æƒé™ï¼Œä½ å¯èƒ½éœ€è¦é‡æ–°å¼€å¯KeePassXC。</translation>
+ </message>
+</context>
+<context>
<name>AutoTypeSelectDialog</name>
<message>
<source>Auto-Type - KeePassXC</source>
@@ -728,43 +747,43 @@ Please select the correct database for saving credentials.</source>
</message>
<message>
<source>Returns expired credentials. String [expired] is added to the title.</source>
- <translation type="unfinished"/>
+ <translation>返回过期的è¯ä¹¦æ—¶æ³¨æ˜Žï¼ˆè¿‡æœŸï¼‰å­—æ ·</translation>
</message>
<message>
<source>&amp;Allow returning expired credentials.</source>
- <translation type="unfinished"/>
+ <translation>å…许返回过期è¯ä¹¦</translation>
</message>
<message>
<source>Enable browser integration</source>
- <translation type="unfinished"/>
+ <translation>å¯ç”¨æµè§ˆå™¨é›†æˆ</translation>
</message>
<message>
<source>Browsers installed as snaps are currently not supported.</source>
- <translation type="unfinished"/>
+ <translation>ç›®å‰ä¸æ”¯æŒsnap安装的æµè§ˆå™¨</translation>
</message>
<message>
<source>All databases connected to the extension will return matching credentials.</source>
- <translation type="unfinished"/>
+ <translation>所有连接到扩展的数æ®åº“都返回匹é…è¯ä¹¦</translation>
</message>
<message>
<source>Don&apos;t display the popup suggesting migration of legacy KeePassHTTP settings.</source>
- <translation type="unfinished"/>
+ <translation>ä¸è¦æ˜¾ç¤ºæ—§ç‰ˆ KeePassHTTP设置转移的弹出窗å£</translation>
</message>
<message>
<source>&amp;Do not prompt for KeePassHTTP settings migration.</source>
- <translation type="unfinished"/>
+ <translation>KeePassHTTP 设置转移时ä¸è¦æ示</translation>
</message>
<message>
<source>Custom proxy location field</source>
- <translation type="unfinished"/>
+ <translation>自定义代ç†çš„ä½ç½®å­—段</translation>
</message>
<message>
<source>Browser for custom proxy file</source>
- <translation type="unfinished"/>
+ <translation>æµè§ˆè‡ªå®šä¹‰çš„代ç†æ–‡ä»¶</translation>
</message>
<message>
<source>&lt;b&gt;Warning&lt;/b&gt;, the keepassxc-proxy application was not found!&lt;br /&gt;Please check the KeePassXC installation directory or confirm the custom path in advanced options.&lt;br /&gt;Browser integration WILL NOT WORK without the proxy application.&lt;br /&gt;Expected Path: %1</source>
- <translation type="unfinished"/>
+ <translation>&lt;b&gt;警告&lt;/b&gt;,没有找到 KeePassXC 的代ç†åº”用&lt;br /&gt;请检查 KeePassXC 的安装文件夹或在高级设置里确定自定义文件夹&lt;br /&gt;没有代ç†åº”用æµè§ˆå™¨æ’件将ã€ä¸ä¼šå·¥ä½œã€‘&lt;br /&gt;å¯èƒ½è·¯å¾„:%1</translation>
</message>
</context>
<context>
@@ -774,16 +793,6 @@ Please select the correct database for saving credentials.</source>
<translation>KeePassXC: 新的密钥关è”请求</translation>
</message>
<message>
- <source>You have received an association request for the above key.
-
-If you would like to allow it access to your KeePassXC database,
-give it a unique name to identify and accept it.</source>
- <translation>你已收到上述密钥的关è”请求。
-
-如果你想å…许它访问你的 KeePassXC æ•°æ®åº“,
-请为它æ供一个唯一的å称æ¥è¯†åˆ«å¹¶æŽ¥å—它。</translation>
- </message>
- <message>
<source>Save and allow access</source>
<translation>ä¿å­˜å¹¶å…许访问</translation>
</message>
@@ -862,6 +871,18 @@ Would you like to migrate your existing settings now?</source>
<source>Don&apos;t show this warning again</source>
<translation>ä¸å†æ˜¾ç¤ºæ­¤è­¦å‘Š</translation>
</message>
+ <message>
+ <source>You have received an association request for the following database:
+%1
+
+Give the connection a unique name or ID, for example:
+chrome-laptop.</source>
+ <translation>你从下列数æ®åº“收到关è”请求:
+%1
+
+请为它æ供一个唯一的å称或ID,比如:
+Chrome笔记本电脑</translation>
+ </message>
</context>
<context>
<name>CloneDialog</name>
@@ -972,15 +993,15 @@ Would you like to migrate your existing settings now?</source>
</message>
<message>
<source>Text qualification</source>
- <translation type="unfinished"/>
+ <translation>文本验è¯</translation>
</message>
<message>
<source>Field separation</source>
- <translation type="unfinished"/>
+ <translation>字段分隔</translation>
</message>
<message>
<source>Number of header lines to discard</source>
- <translation type="unfinished"/>
+ <translation>忽略开头的几行</translation>
</message>
<message>
<source>CSV import preview</source>
@@ -1037,19 +1058,20 @@ Would you like to migrate your existing settings now?</source>
<message>
<source>%1
Backup database located at %2</source>
- <translation type="unfinished"/>
+ <translation>%1
+æ•°æ®åº“的备份路径是</translation>
</message>
<message>
<source>Could not save, database does not point to a valid file.</source>
- <translation type="unfinished"/>
+ <translation>无法ä¿å­˜ï¼Œæ•°æ®åº“没有指å‘一个有效文件</translation>
</message>
<message>
<source>Could not save, database file is read-only.</source>
- <translation type="unfinished"/>
+ <translation>无法ä¿å­˜ï¼Œæ•°æ®åº“为åªè¯»</translation>
</message>
<message>
<source>Database file has unmerged changes.</source>
- <translation type="unfinished"/>
+ <translation>æ•°æ®åº“å·²ç»åˆå¹¶æ”¹åŠ¨</translation>
</message>
<message>
<source>Recycle Bin</source>
@@ -1108,39 +1130,35 @@ Please consider generating a new key file.</source>
</message>
<message>
<source>Select slot...</source>
- <translation type="unfinished"/>
+ <translation>选择æ’槽...</translation>
</message>
<message>
<source>Unlock KeePassXC Database</source>
- <translation type="unfinished"/>
+ <translation>解é”KeePassXCæ•°æ®åº“</translation>
</message>
<message>
<source>Enter Password:</source>
- <translation type="unfinished"/>
+ <translation>输入密ç ï¼š</translation>
</message>
<message>
<source>Password field</source>
- <translation type="unfinished"/>
+ <translation>密ç å­—段</translation>
</message>
<message>
<source>Toggle password visibility</source>
- <translation type="unfinished"/>
- </message>
- <message>
- <source>Enter Additional Credentials:</source>
- <translation type="unfinished"/>
+ <translation>密ç å¯è§</translation>
</message>
<message>
<source>Key file selection</source>
- <translation type="unfinished"/>
+ <translation>选择密匙文件</translation>
</message>
<message>
<source>Hardware key slot selection</source>
- <translation type="unfinished"/>
+ <translation>选择实体 Key çš„æ’槽</translation>
</message>
<message>
<source>Browse for key file</source>
- <translation type="unfinished"/>
+ <translation>æµè§ˆå¯†åŒ™æ–‡ä»¶</translation>
</message>
<message>
<source>Browse...</source>
@@ -1148,24 +1166,19 @@ Please consider generating a new key file.</source>
</message>
<message>
<source>Refresh hardware tokens</source>
- <translation type="unfinished"/>
+ <translation>刷新实体令牌</translation>
</message>
<message>
<source>Hardware Key:</source>
- <translation type="unfinished"/>
- </message>
- <message>
- <source>&lt;p&gt;You can use a hardware security key such as a &lt;strong&gt;YubiKey&lt;/strong&gt; or &lt;strong&gt;OnlyKey&lt;/strong&gt; with slots configured for HMAC-SHA1.&lt;/p&gt;
- &lt;p&gt;Click for more information...&lt;/p&gt;</source>
- <translation type="unfinished"/>
+ <translation>实体 Key:</translation>
</message>
<message>
<source>Hardware key help</source>
- <translation type="unfinished"/>
+ <translation>实体 Key 帮助</translation>
</message>
<message>
<source>TouchID for Quick Unlock</source>
- <translation type="unfinished"/>
+ <translation>TouchID 快速解é”</translation>
</message>
<message>
<source>Clear</source>
@@ -1176,23 +1189,58 @@ Please consider generating a new key file.</source>
<translation>清除密钥文件</translation>
</message>
<message>
- <source>Select file...</source>
- <translation type="unfinished"/>
- </message>
- <message>
<source>Unlock failed and no password given</source>
- <translation type="unfinished"/>
+ <translation>解é”失败没有收到密ç </translation>
</message>
<message>
<source>Unlocking the database failed and you did not enter a password.
Do you want to retry with an &quot;empty&quot; password instead?
To prevent this error from appearing, you must go to &quot;Database Settings / Security&quot; and reset your password.</source>
- <translation type="unfinished"/>
+ <translation>解é”æ•°æ®åº“失败,你没有输入密ç 
+使用空密ç åœ¨è§£é”一次?
+
+为了é¿å…这样的错误,你应该去“数æ®åº“设置/高级â€é‡Œé¢é‡ç½®ä½ çš„密ç </translation>
</message>
<message>
<source>Retry with empty password</source>
- <translation type="unfinished"/>
+ <translation>使用空密ç é‡è¯•</translation>
+ </message>
+ <message>
+ <source>Enter Additional Credentials (if any):</source>
+ <translation>输入附加凭è¯ï¼ˆå¦‚果有):</translation>
+ </message>
+ <message>
+ <source>&lt;p&gt;You can use a hardware security key such as a &lt;strong&gt;YubiKey&lt;/strong&gt; or &lt;strong&gt;OnlyKey&lt;/strong&gt; with slots configured for HMAC-SHA1.&lt;/p&gt;
+&lt;p&gt;Click for more information...&lt;/p&gt;</source>
+ <translation>&lt;p&gt;ä½ å¯ä»¥ä½¿ç”¨åƒ&lt;strong&gt;Yubikey&lt;/strong&gt;或&lt;strong&gt;Onlykey&lt;/strong&gt;è¿™ç§å¸¦æœ‰é…ç½®HMAC-SHA1槽ä½çš„硬件安全密钥。&lt;/p&gt;
+&lt;p&gt;点击此处获å–更多信æ¯â€¦â€¦&lt;/p&gt;</translation>
+ </message>
+ <message>
+ <source>&lt;p&gt;In addition to your master password, you can use a secret file to enhance the security of your database. Such a file can be generated in your database&apos;s security settings.&lt;/p&gt;&lt;p&gt;This is &lt;strong&gt;not&lt;/strong&gt; your *.kdbx database file!&lt;br&gt;If you do not have a key file, leave the field empty.&lt;/p&gt;&lt;p&gt;Click for more information...&lt;/p&gt;</source>
+ <translation>&lt;p&gt;ä½ å¯ä»¥ä½¿ç”¨å¯†é’¥æ–‡ä»¶ä½œä¸ºå¤„主密ç ä¹‹å¤–增强数æ®åº“安全性的手段,你å¯ä»¥ä»Žæ•°æ®åº“安全设置中生æˆè¿™ç§æ–‡ä»¶ã€‚&lt;/p&gt;&lt;p&gt;è¿™&lt;strong&gt;ä¸èƒ½&lt;/strong&gt;是你的kdbxæ•°æ®åº“文件ï¼&lt;br&gt;如果你没有密钥文件,留空此字段。&lt;/p&gt;&lt;p&gt;点击查看更多……&lt;/p&gt;</translation>
+ </message>
+ <message>
+ <source>Key file help</source>
+ <translation>密钥文件帮助</translation>
+ </message>
+ <message>
+ <source>?</source>
+ <translation>?</translation>
+ </message>
+ <message>
+ <source>Select key file...</source>
+ <translation>选择密钥文件…</translation>
+ </message>
+ <message>
+ <source>Cannot use database file as key file</source>
+ <translation>无法使用数æ®åº“文件作为密钥</translation>
+ </message>
+ <message>
+ <source>You cannot use your database file as a key file.
+If you do not have a key file, please leave the field empty.</source>
+ <translation>ä½ ä¸èƒ½ç”¨ä½ çš„æ•°æ®åº“作为密钥文件。
+如果你没有密钥文件,请留空这个字段。</translation>
</message>
</context>
<context>
@@ -1349,11 +1397,11 @@ This is necessary to maintain compatibility with the browser plugin.</source>
</message>
<message>
<source>Stored browser keys</source>
- <translation type="unfinished"/>
+ <translation>存储的æµè§ˆå™¨å¯†é’¥</translation>
</message>
<message>
<source>Remove selected key</source>
- <translation type="unfinished"/>
+ <translation>移除选择的 Key</translation>
</message>
</context>
<context>
@@ -1499,54 +1547,54 @@ If you keep this number, your database may be too easy to crack!</source>
</message>
<message>
<source>Change existing decryption time</source>
- <translation type="unfinished"/>
+ <translation>改å˜çŽ°åœ¨çš„解密次数</translation>
</message>
<message>
<source>Decryption time in seconds</source>
- <translation type="unfinished"/>
+ <translation>一秒解密次数</translation>
</message>
<message>
<source>Database format</source>
- <translation type="unfinished"/>
+ <translation>æ•°æ®åº“æ ¼å¼</translation>
</message>
<message>
<source>Encryption algorithm</source>
- <translation type="unfinished"/>
+ <translation>加密算法</translation>
</message>
<message>
<source>Key derivation function</source>
- <translation type="unfinished"/>
+ <translation>密钥派生函数:</translation>
</message>
<message>
<source>Transform rounds</source>
- <translation type="unfinished"/>
+ <translation>加密次数</translation>
</message>
<message>
<source>Memory usage</source>
- <translation type="unfinished"/>
+ <translation>内存å ç”¨</translation>
</message>
<message>
<source>Parallelism</source>
- <translation type="unfinished"/>
+ <translation>平行è¿ç®—</translation>
</message>
</context>
<context>
<name>DatabaseSettingsWidgetFdoSecrets</name>
<message>
<source>Exposed Entries</source>
- <translation type="unfinished"/>
+ <translation>开放的项目</translation>
</message>
<message>
<source>Don&apos;t e&amp;xpose this database</source>
- <translation type="unfinished"/>
+ <translation>ä¸è¦å¼€æ”¾è¿™ä¸ªæ•°æ®åº“</translation>
</message>
<message>
<source>Expose entries &amp;under this group:</source>
- <translation type="unfinished"/>
+ <translation>这个组下开放的项目</translation>
</message>
<message>
<source>Enable fd.o Secret Service to access these settings.</source>
- <translation type="unfinished"/>
+ <translation>å¼€å¯ fd.o 机密æœåŠ¡æ¥å­˜å‚¨è¿™äº›è®¾ç½®</translation>
</message>
</context>
<context>
@@ -1597,36 +1645,37 @@ If you keep this number, your database may be too easy to crack!</source>
</message>
<message>
<source>Database name field</source>
- <translation type="unfinished"/>
+ <translation>æ•°æ®åº“å称字段</translation>
</message>
<message>
<source>Database description field</source>
- <translation type="unfinished"/>
+ <translation>æ•°æ®åº“æ述字段</translation>
</message>
<message>
<source>Default username field</source>
- <translation type="unfinished"/>
+ <translation>默认用户å字段</translation>
</message>
<message>
<source>Maximum number of history items per entry</source>
- <translation type="unfinished"/>
+ <translation>æ¯ä¸ªé¡¹ç›®çš„最多ä¿ç•™å‡ æ¡åŽ†å²è®°å½•</translation>
</message>
<message>
<source>Maximum size of history per entry</source>
- <translation type="unfinished"/>
+ <translation>æ¯ä¸ªé¡¹ç›®çš„最多ä¿ç•™å¤šå¤§çš„历å²è®°å½•</translation>
</message>
<message>
<source>Delete Recycle Bin</source>
- <translation type="unfinished"/>
+ <translation>清空回收站</translation>
</message>
<message>
<source>Do you want to delete the current recycle bin and all its contents?
This action is not reversible.</source>
- <translation type="unfinished"/>
+ <translation>确定清空回收站?
+这个动作无法逆转。</translation>
</message>
<message>
<source> (old)</source>
- <translation type="unfinished"/>
+ <translation>(旧的)</translation>
</message>
</context>
<context>
@@ -1697,7 +1746,7 @@ Are you sure you want to continue without a password?</source>
</message>
<message>
<source>Continue without password</source>
- <translation type="unfinished"/>
+ <translation>ä¸ä½¿ç”¨å¯†ç ç»§ç»­</translation>
</message>
</context>
<context>
@@ -1712,22 +1761,22 @@ Are you sure you want to continue without a password?</source>
</message>
<message>
<source>Database name field</source>
- <translation type="unfinished"/>
+ <translation>æ•°æ®åº“å称字段</translation>
</message>
<message>
<source>Database description field</source>
- <translation type="unfinished"/>
+ <translation>æ•°æ®åº“æ述字段</translation>
</message>
</context>
<context>
<name>DatabaseSettingsWidgetStatistics</name>
<message>
<source>Statistics</source>
- <translation type="unfinished"/>
+ <translation>统计表</translation>
</message>
<message>
<source>Hover over lines with error icons for further information.</source>
- <translation type="unfinished"/>
+ <translation>将鼠标悬浮于错误图标上å¯èŽ·å¾—更多信æ¯ã€‚</translation>
</message>
<message>
<source>Name</source>
@@ -1739,99 +1788,103 @@ Are you sure you want to continue without a password?</source>
</message>
<message>
<source>Database name</source>
- <translation type="unfinished"/>
+ <translation>æ•°æ®åº“å称</translation>
</message>
<message>
<source>Description</source>
- <translation type="unfinished"/>
+ <translation>æè¿°</translation>
</message>
<message>
<source>Location</source>
- <translation type="unfinished"/>
+ <translation>ä½ç½®</translation>
</message>
<message>
<source>Last saved</source>
- <translation type="unfinished"/>
+ <translation>上一次ä¿å­˜</translation>
</message>
<message>
<source>Unsaved changes</source>
- <translation type="unfinished"/>
+ <translation>未ä¿å­˜çš„修改</translation>
</message>
<message>
<source>yes</source>
- <translation type="unfinished"/>
+ <translation>是</translation>
</message>
<message>
<source>no</source>
- <translation type="unfinished"/>
+ <translation>å¦</translation>
</message>
<message>
<source>The database was modified, but the changes have not yet been saved to disk.</source>
- <translation type="unfinished"/>
+ <translation>æ•°æ®åº“å·²ç»è¢«æ›´æ”¹ï¼Œä½†æœªä¿å­˜åˆ°ç¡¬ç›˜ä¸Šã€‚</translation>
</message>
<message>
<source>Number of groups</source>
- <translation type="unfinished"/>
+ <translation>组数</translation>
</message>
<message>
<source>Number of entries</source>
- <translation type="unfinished"/>
+ <translation>项目数</translation>
</message>
<message>
<source>Number of expired entries</source>
- <translation type="unfinished"/>
+ <translation>失效的项目数</translation>
</message>
<message>
<source>The database contains entries that have expired.</source>
- <translation type="unfinished"/>
+ <translation>这个数æ®åº“包å«è¿‡æœŸçš„项目</translation>
</message>
<message>
<source>Unique passwords</source>
- <translation type="unfinished"/>
+ <translation>唯一密ç </translation>
</message>
<message>
<source>Non-unique passwords</source>
- <translation type="unfinished"/>
+ <translation>é‡å¤å¯†ç </translation>
</message>
<message>
<source>More than 10% of passwords are reused. Use unique passwords when possible.</source>
- <translation type="unfinished"/>
+ <translation>超过10%的项目使用这个密ç ï¼Œè¯·å°½é‡ä½¿ç”¨ä¸é‡å¤çš„密ç </translation>
</message>
<message>
<source>Maximum password reuse</source>
- <translation type="unfinished"/>
+ <translation>密ç çš„最大å¤ç”¨æ•°</translation>
</message>
<message>
<source>Some passwords are used more than three times. Use unique passwords when possible.</source>
- <translation type="unfinished"/>
+ <translation>部分密ç å·²ç»ä½¿ç”¨è¿‡3次以上,请尽é‡ä½¿ç”¨ä¸é‡å¤çš„密ç </translation>
</message>
<message>
<source>Number of short passwords</source>
- <translation type="unfinished"/>
+ <translation>短密ç çš„æ•°é‡</translation>
</message>
<message>
<source>Recommended minimum password length is at least 8 characters.</source>
- <translation type="unfinished"/>
+ <translation>推è密ç æœ€å°‘有8ä½</translation>
</message>
<message>
<source>Number of weak passwords</source>
- <translation type="unfinished"/>
+ <translation>弱密ç çš„æ•°é‡</translation>
</message>
<message>
<source>Recommend using long, randomized passwords with a rating of &apos;good&apos; or &apos;excellent&apos;.</source>
- <translation type="unfinished"/>
+ <translation>推è使用长的ã€éšæœºåŒ–的,评分是“良好â€æˆ–者“优秀â€çš„密ç </translation>
</message>
<message>
<source>Average password length</source>
- <translation type="unfinished"/>
+ <translation>å¹³å‡å¯†ç é•¿åº¦</translation>
</message>
<message>
<source>%1 characters</source>
- <translation type="unfinished"/>
+ <translation>%1 字符</translation>
</message>
<message>
<source>Average password length is less than ten characters. Longer passwords provide more security.</source>
- <translation type="unfinished"/>
+ <translation>密ç å¹³å‡å°äºŽ10ä½ï¼Œæ›´é•¿çš„密ç å®‰å…¨æ€§æ›´å¼ºã€‚</translation>
+ </message>
+ <message>
+ <source>Please wait, database statistics are being calculated...</source>
+ <translation>请ç¨å€™ï¼Œæ­£åœ¨è®¡ç®—æ•°æ®åº“ä¿¡æ¯â€¦â€¦</translation>
</message>
</context>
<context>
@@ -1907,27 +1960,27 @@ This is definitely a bug, please report it to the developers.</source>
</message>
<message>
<source>Failed to open %1. It either does not exist or is not accessible.</source>
- <translation type="unfinished"/>
+ <translation>打开 %1 失败,å¯èƒ½ä¸å­˜åœ¨æˆ–ä¸å¯ç”¨</translation>
</message>
<message>
<source>Export database to HTML file</source>
- <translation type="unfinished"/>
+ <translation>导出到 HTML 文件</translation>
</message>
<message>
<source>HTML file</source>
- <translation type="unfinished"/>
+ <translation>HTML 文件</translation>
</message>
<message>
<source>Writing the HTML file failed.</source>
- <translation type="unfinished"/>
+ <translation>导出到 HTML 文件失败</translation>
</message>
<message>
<source>Export Confirmation</source>
- <translation type="unfinished"/>
+ <translation>导出é…ç½®</translation>
</message>
<message>
<source>You are about to export your database to an unencrypted file. This will leave your passwords and sensitive information vulnerable! Are you sure you want to continue?</source>
- <translation type="unfinished"/>
+ <translation>你将把数æ®å¯¼å‡ºåˆ°æœªåŠ å¯†æ–‡ä»¶ï¼Œè¿™å°†ä¼šç›´æŽ¥æš´éœ²ä½ çš„密ç æˆ–æ•æ„Ÿä¿¡æ¯ï¼Œç¡®å®šè¦ç»§ç»­å—?</translation>
</message>
</context>
<context>
@@ -2108,7 +2161,7 @@ Disable safe saves and try again?</source>
</message>
<message>
<source>This database is opened in read-only mode. Autosave is disabled.</source>
- <translation type="unfinished"/>
+ <translation>这个数æ®åº“通过åªè¯»æ¨¡å¼æ‰“开,自动ä¿å­˜å·²å…³é—­</translation>
</message>
</context>
<context>
@@ -2239,7 +2292,7 @@ Disable safe saves and try again?</source>
</message>
<message>
<source>Are you sure you want to remove this URL?</source>
- <translation type="unfinished"/>
+ <translation>你确定è¦åˆ é™¤è¿™ä¸ª URL?</translation>
</message>
</context>
<context>
@@ -2282,39 +2335,39 @@ Disable safe saves and try again?</source>
</message>
<message>
<source>Attribute selection</source>
- <translation type="unfinished"/>
+ <translation>属性选择</translation>
</message>
<message>
<source>Attribute value</source>
- <translation type="unfinished"/>
+ <translation>属性值</translation>
</message>
<message>
<source>Add a new attribute</source>
- <translation type="unfinished"/>
+ <translation>添加新属性</translation>
</message>
<message>
<source>Remove selected attribute</source>
- <translation type="unfinished"/>
+ <translation>删除所选的属性</translation>
</message>
<message>
<source>Edit attribute name</source>
- <translation type="unfinished"/>
+ <translation>编辑属性å称</translation>
</message>
<message>
<source>Toggle attribute protection</source>
- <translation type="unfinished"/>
+ <translation>属性ä¿æŠ¤å¼€å…³</translation>
</message>
<message>
<source>Show a protected attribute</source>
- <translation type="unfinished"/>
+ <translation>显示被ä¿æŠ¤çš„属性</translation>
</message>
<message>
<source>Foreground color selection</source>
- <translation type="unfinished"/>
+ <translation>å‰æ™¯è‰²é€‰æ‹©</translation>
</message>
<message>
<source>Background color selection</source>
- <translation type="unfinished"/>
+ <translation>背景色选择</translation>
</message>
</context>
<context>
@@ -2353,46 +2406,46 @@ Disable safe saves and try again?</source>
</message>
<message>
<source>Custom Auto-Type sequence</source>
- <translation type="unfinished"/>
+ <translation>自定义自动输入顺åº</translation>
</message>
<message>
<source>Open Auto-Type help webpage</source>
- <translation type="unfinished"/>
+ <translation>打开自动输入的帮助网页</translation>
</message>
<message>
<source>Existing window associations</source>
- <translation type="unfinished"/>
+ <translation>现在的窗å£ç»„åˆ</translation>
</message>
<message>
<source>Add new window association</source>
- <translation type="unfinished"/>
+ <translation>添加一个新的窗å£ç»„åˆ</translation>
</message>
<message>
<source>Remove selected window association</source>
- <translation type="unfinished"/>
+ <translation>删除所选的窗å£ç»„åˆ</translation>
</message>
<message>
<source>You can use an asterisk (*) to match everything</source>
- <translation type="unfinished"/>
+ <translation>ä½ å¯ä»¥ä½¿ç”¨æ˜Ÿå·ï¼ˆ*)æ¥æ ‡è®°ä»»ä½•ä¸œè¥¿</translation>
</message>
<message>
<source>Set the window association title</source>
- <translation type="unfinished"/>
+ <translation>设定窗å£ç»„åˆæ ‡é¢˜</translation>
</message>
<message>
<source>You can use an asterisk to match everything</source>
- <translation type="unfinished"/>
+ <translation>ä½ å¯ä»¥ä½¿ç”¨æ˜Ÿå·æ¥æ ‡è®°ä»»ä½•ä¸œè¥¿</translation>
</message>
<message>
<source>Custom Auto-Type sequence for this window</source>
- <translation type="unfinished"/>
+ <translation>自定义这个窗å£çš„自动输入顺åº</translation>
</message>
</context>
<context>
<name>EditEntryWidgetBrowser</name>
<message>
<source>These settings affect to the entry&apos;s behaviour with the browser extension.</source>
- <translation type="unfinished"/>
+ <translation>这些设置会影å“这个项目在æµè§ˆå™¨æ‰©å±•ä¸­çš„动作</translation>
</message>
<message>
<source>General</source>
@@ -2400,15 +2453,15 @@ Disable safe saves and try again?</source>
</message>
<message>
<source>Skip Auto-Submit for this entry</source>
- <translation type="unfinished"/>
+ <translation>跳过这个项目的自动æ交功能</translation>
</message>
<message>
<source>Hide this entry from the browser extension</source>
- <translation type="unfinished"/>
+ <translation>为æµè§ˆå™¨æ‰©å±•éšè—这个项目</translation>
</message>
<message>
<source>Additional URL&apos;s</source>
- <translation type="unfinished"/>
+ <translation>é¢å¤–çš„ URL</translation>
</message>
<message>
<source>Add</source>
@@ -2443,23 +2496,23 @@ Disable safe saves and try again?</source>
</message>
<message>
<source>Entry history selection</source>
- <translation type="unfinished"/>
+ <translation>选择项目æ¡ç›®</translation>
</message>
<message>
<source>Show entry at selected history state</source>
- <translation type="unfinished"/>
+ <translation>在选定的历å²è®°å½•ä¸‹æ˜¾ç¤ºæ¡ç›®</translation>
</message>
<message>
<source>Restore entry to selected history state</source>
- <translation type="unfinished"/>
+ <translation>回å¤åˆ°è¿™ä¸ªåŽ†å²è®°å½•</translation>
</message>
<message>
<source>Delete selected history state</source>
- <translation type="unfinished"/>
+ <translation>删除这æ¡åŽ†å²è®°å½•</translation>
</message>
<message>
<source>Delete all history</source>
- <translation type="unfinished"/>
+ <translation>删除所以历å²è®°å½•</translation>
</message>
</context>
<context>
@@ -2502,59 +2555,59 @@ Disable safe saves and try again?</source>
</message>
<message>
<source>Url field</source>
- <translation type="unfinished"/>
+ <translation>URL 字段</translation>
</message>
<message>
<source>Download favicon for URL</source>
- <translation type="unfinished"/>
+ <translation>从 URL 下载 favicon</translation>
</message>
<message>
<source>Repeat password field</source>
- <translation type="unfinished"/>
+ <translation>é‡å¤å¯†ç å­—段</translation>
</message>
<message>
<source>Toggle password generator</source>
- <translation type="unfinished"/>
+ <translation>密ç ç”Ÿæˆå™¨</translation>
</message>
<message>
<source>Password field</source>
- <translation type="unfinished"/>
+ <translation>密ç å­—段</translation>
</message>
<message>
<source>Toggle password visibility</source>
- <translation type="unfinished"/>
+ <translation>密ç å¯è§</translation>
</message>
<message>
<source>Toggle notes visible</source>
- <translation type="unfinished"/>
+ <translation>备注å¯è§</translation>
</message>
<message>
<source>Expiration field</source>
- <translation type="unfinished"/>
+ <translation>过期字段</translation>
</message>
<message>
<source>Expiration Presets</source>
- <translation type="unfinished"/>
+ <translation>预设过期时间</translation>
</message>
<message>
<source>Expiration presets</source>
- <translation type="unfinished"/>
+ <translation>预设过期时间</translation>
</message>
<message>
<source>Notes field</source>
- <translation type="unfinished"/>
+ <translation>备注字段</translation>
</message>
<message>
<source>Title field</source>
- <translation type="unfinished"/>
+ <translation>标题字段</translation>
</message>
<message>
<source>Username field</source>
- <translation type="unfinished"/>
+ <translation>用户å字段</translation>
</message>
<message>
<source>Toggle expiration</source>
- <translation type="unfinished"/>
+ <translation>å¯ç”¨è¿‡æœŸ</translation>
</message>
</context>
<context>
@@ -2634,19 +2687,19 @@ Disable safe saves and try again?</source>
</message>
<message>
<source>Remove key from agent after specified seconds</source>
- <translation type="unfinished"/>
+ <translation>从代ç†ä¸­åˆ é™¤å¯†é’¥çš„时间</translation>
</message>
<message>
<source>Browser for key file</source>
- <translation type="unfinished"/>
+ <translation>æµè§ˆå¯†åŒ™æ–‡ä»¶</translation>
</message>
<message>
<source>External key file</source>
- <translation type="unfinished"/>
+ <translation>外部密匙文件</translation>
</message>
<message>
<source>Select attachment file</source>
- <translation type="unfinished"/>
+ <translation>选择附件</translation>
</message>
</context>
<context>
@@ -2748,65 +2801,66 @@ Disable safe saves and try again?</source>
</message>
<message>
<source>Synchronize</source>
- <translation type="unfinished"/>
+ <translation>åŒæ­¥</translation>
</message>
<message>
<source>Your KeePassXC version does not support sharing this container type.
Supported extensions are: %1.</source>
- <translation type="unfinished"/>
+ <translation>您的KeePassXC版本ä¸æ”¯æŒå…±äº«æ‚¨çš„容器类型。
+现在支æŒï¼š%1。</translation>
</message>
<message>
<source>%1 is already being exported by this database.</source>
- <translation type="unfinished"/>
+ <translation>%1 å·²ç»ä»Žæ•°æ®åº“导出</translation>
</message>
<message>
<source>%1 is already being imported by this database.</source>
- <translation type="unfinished"/>
+ <translation>%1 å·²ç»ä»Žæ•°æ®åº“导入</translation>
</message>
<message>
<source>%1 is being imported and exported by different groups in this database.</source>
- <translation type="unfinished"/>
+ <translation>%1 已由ä¸åŒçš„群组导入和导出。</translation>
</message>
<message>
<source>KeeShare is currently disabled. You can enable import/export in the application settings.</source>
<comment>KeeShare is a proper noun</comment>
- <translation type="unfinished"/>
+ <translation>KeeShare 未开å¯ï¼Œä½ å¯ä»¥åœ¨è®¾ç½®ä¸­æ‰“开导入/导出选项</translation>
</message>
<message>
<source>Database export is currently disabled by application settings.</source>
- <translation type="unfinished"/>
+ <translation>æ•°æ®åº“导出被ç¦ç”¨</translation>
</message>
<message>
<source>Database import is currently disabled by application settings.</source>
- <translation type="unfinished"/>
+ <translation>æ•°æ®åº“导入被ç¦ç”¨</translation>
</message>
<message>
<source>Sharing mode field</source>
- <translation type="unfinished"/>
+ <translation>分享模å¼å­—段</translation>
</message>
<message>
<source>Path to share file field</source>
- <translation type="unfinished"/>
+ <translation>打开分享文件路径</translation>
</message>
<message>
<source>Browser for share file</source>
- <translation type="unfinished"/>
+ <translation>æµè§ˆåˆ†äº«çš„文件</translation>
</message>
<message>
<source>Password field</source>
- <translation type="unfinished"/>
+ <translation>密ç å­—段</translation>
</message>
<message>
<source>Toggle password visibility</source>
- <translation type="unfinished"/>
+ <translation>密ç å¯è§</translation>
</message>
<message>
<source>Toggle password generator</source>
- <translation type="unfinished"/>
+ <translation>打开密ç ç”Ÿæˆå™¨</translation>
</message>
<message>
<source>Clear fields</source>
- <translation type="unfinished"/>
+ <translation>清楚字段</translation>
</message>
</context>
<context>
@@ -2841,31 +2895,31 @@ Supported extensions are: %1.</source>
</message>
<message>
<source>Name field</source>
- <translation type="unfinished"/>
+ <translation>用户å字段</translation>
</message>
<message>
<source>Notes field</source>
- <translation type="unfinished"/>
+ <translation>备注字段</translation>
</message>
<message>
<source>Toggle expiration</source>
- <translation type="unfinished"/>
+ <translation>å¯ç”¨è¿‡æœŸ</translation>
</message>
<message>
<source>Auto-Type toggle for this and sub groups</source>
- <translation type="unfinished"/>
+ <translation>为此和å­ç¾¤ç»„切æ¢è‡ªåŠ¨è¾“å…¥</translation>
</message>
<message>
<source>Expiration field</source>
- <translation type="unfinished"/>
+ <translation>过期字段</translation>
</message>
<message>
<source>Search toggle for this and sub groups</source>
- <translation type="unfinished"/>
+ <translation>为此和å­ç¾¤ç»„切æ¢æœç´¢</translation>
</message>
<message>
<source>Default auto-type sequence field</source>
- <translation type="unfinished"/>
+ <translation>默认自动输入顺åºå­—段</translation>
</message>
</context>
<context>
@@ -2932,39 +2986,39 @@ Supported extensions are: %1.</source>
</message>
<message>
<source>You can enable the DuckDuckGo website icon service under Tools -&gt; Settings -&gt; Security</source>
- <translation type="unfinished"/>
+ <translation>ä½ å¯ä»¥åœ¨ 工具-&gt;设置-&gt;安全 中选择DuckDuckGo作为网站图标æ¥æº</translation>
</message>
<message>
<source>Download favicon for URL</source>
- <translation type="unfinished"/>
+ <translation>从 URL 下载 favicon</translation>
</message>
<message>
<source>Apply selected icon to subgroups and entries</source>
- <translation type="unfinished"/>
+ <translation>将选择的图标应用于å­ç¾¤ç»„å’Œæ¡ç›®</translation>
</message>
<message>
<source>Apply icon &amp;to ...</source>
- <translation type="unfinished"/>
+ <translation>将图标应用于… (&amp;t)</translation>
</message>
<message>
<source>Apply to this only</source>
- <translation type="unfinished"/>
+ <translation>仅应用于此项</translation>
</message>
<message>
<source>Also apply to child groups</source>
- <translation type="unfinished"/>
+ <translation>也应用到å­ç¾¤ç»„</translation>
</message>
<message>
<source>Also apply to child entries</source>
- <translation type="unfinished"/>
+ <translation>也应用于å­æ¡ç›®</translation>
</message>
<message>
<source>Also apply to all children</source>
- <translation type="unfinished"/>
+ <translation>也应用于所有å­æ¡ç›®</translation>
</message>
<message>
<source>Existing icon selected.</source>
- <translation type="unfinished"/>
+ <translation>选择的图标已ç»å­˜åœ¨ã€‚</translation>
</message>
</context>
<context>
@@ -3013,27 +3067,27 @@ This may cause the affected plugins to malfunction.</source>
</message>
<message>
<source>Datetime created</source>
- <translation type="unfinished"/>
+ <translation>创建时日期和时间</translation>
</message>
<message>
<source>Datetime modified</source>
- <translation type="unfinished"/>
+ <translation>修改时日期和时间</translation>
</message>
<message>
<source>Datetime accessed</source>
- <translation type="unfinished"/>
+ <translation>访问时日期和时间</translation>
</message>
<message>
<source>Unique ID</source>
- <translation type="unfinished"/>
+ <translation>唯一ID</translation>
</message>
<message>
<source>Plugin data</source>
- <translation type="unfinished"/>
+ <translation>æ’件数æ®</translation>
</message>
<message>
<source>Remove selected plugin data</source>
- <translation type="unfinished"/>
+ <translation>移除选择的æ’件数æ®</translation>
</message>
</context>
<context>
@@ -3135,19 +3189,19 @@ This may cause the affected plugins to malfunction.</source>
</message>
<message>
<source>Add new attachment</source>
- <translation type="unfinished"/>
+ <translation>添加新附件</translation>
</message>
<message>
<source>Remove selected attachment</source>
- <translation type="unfinished"/>
+ <translation>移除已选择的附件</translation>
</message>
<message>
<source>Open selected attachment</source>
- <translation type="unfinished"/>
+ <translation>打开选择的附件</translation>
</message>
<message>
<source>Save selected attachment to disk</source>
- <translation type="unfinished"/>
+ <translation>将选择的附件ä¿å­˜åˆ°ç£ç›˜</translation>
</message>
</context>
<context>
@@ -3329,7 +3383,7 @@ This may cause the affected plugins to malfunction.</source>
</message>
<message>
<source>Display current TOTP value</source>
- <translation type="unfinished"/>
+ <translation>显示当å‰TOTP验è¯ç </translation>
</message>
<message>
<source>Advanced</source>
@@ -3371,26 +3425,26 @@ This may cause the affected plugins to malfunction.</source>
<name>FdoSecrets::Item</name>
<message>
<source>Entry &quot;%1&quot; from database &quot;%2&quot; was used by %3</source>
- <translation type="unfinished"/>
+ <translation>æ•°æ®åº“&quot;%2&quot;çš„æ¡ç›®&quot;%1&quot;正被%3使用</translation>
</message>
</context>
<context>
<name>FdoSecrets::Service</name>
<message>
<source>Failed to register DBus service at %1: another secret service is running.</source>
- <translation type="unfinished"/>
+ <translation>注册ä½äºŽ%1çš„DBusæœåŠ¡å¤±è´¥ï¼šå¦ä¸€ä¸ªå¯†é’¥æœåŠ¡æ­£åœ¨è¿è¡Œã€‚</translation>
</message>
<message numerus="yes">
<source>%n Entry(s) was used by %1</source>
<comment>%1 is the name of an application</comment>
- <translation type="unfinished"><numerusform></numerusform></translation>
+ <translation><numerusform>%næ¡ç›®æ­£è¢«%1使用</numerusform></translation>
</message>
</context>
<context>
<name>FdoSecretsPlugin</name>
<message>
<source>Fdo Secret Service: %1</source>
- <translation type="unfinished"/>
+ <translation>Fdo密钥æœåŠ¡ï¼š%1</translation>
</message>
</context>
<context>
@@ -3416,7 +3470,7 @@ This may cause the affected plugins to malfunction.</source>
<name>IconDownloaderDialog</name>
<message>
<source>Download Favicons</source>
- <translation type="unfinished"/>
+ <translation>下载网站图标</translation>
</message>
<message>
<source>Cancel</source>
@@ -3425,7 +3479,8 @@ This may cause the affected plugins to malfunction.</source>
<message>
<source>Having trouble downloading icons?
You can enable the DuckDuckGo website icon service in the security section of the application settings.</source>
- <translation type="unfinished"/>
+ <translation>下载图标é‡åˆ°é—®é¢˜ï¼Ÿ
+ä½ å¯ä»¥åœ¨ç¨‹åºè®¾ç½®çš„安全选项å¡ä¸­å¯ç”¨DuckDuckGo图标æœåŠ¡ã€‚</translation>
</message>
<message>
<source>Close</source>
@@ -3441,11 +3496,11 @@ You can enable the DuckDuckGo website icon service in the security section of th
</message>
<message>
<source>Please wait, processing entry list...</source>
- <translation type="unfinished"/>
+ <translation>请等待,正在处ç†æ¡ç›®åˆ—表……</translation>
</message>
<message>
<source>Downloading...</source>
- <translation type="unfinished"/>
+ <translation>正在下载……</translation>
</message>
<message>
<source>Ok</source>
@@ -3453,15 +3508,15 @@ You can enable the DuckDuckGo website icon service in the security section of th
</message>
<message>
<source>Already Exists</source>
- <translation type="unfinished"/>
+ <translation>å·²ç»å­˜åœ¨</translation>
</message>
<message>
<source>Download Failed</source>
- <translation type="unfinished"/>
+ <translation>下载失败</translation>
</message>
<message>
<source>Downloading favicons (%1/%2)...</source>
- <translation type="unfinished"/>
+ <translation>正在下载图标(%1/%2)</translation>
</message>
</context>
<context>
@@ -3508,7 +3563,8 @@ You can enable the DuckDuckGo website icon service in the security section of th
<message>
<source>Invalid credentials were provided, please try again.
If this reoccurs, then your database file may be corrupt.</source>
- <translation type="unfinished"/>
+ <translation>凭æ®æ— æ•ˆï¼Œè¯·é‡è¯•ã€‚
+若这现象é‡å¤å‘生,å¯èƒ½ä½ çš„æ•°æ®åº“文件已æŸå。</translation>
</message>
</context>
<context>
@@ -3643,11 +3699,12 @@ If this reoccurs, then your database file may be corrupt.</source>
<message>
<source>Invalid credentials were provided, please try again.
If this reoccurs, then your database file may be corrupt.</source>
- <translation type="unfinished"/>
+ <translation>凭æ®æ— æ•ˆï¼Œè¯·é‡è¯•ã€‚
+若这现象é‡å¤å‘生,å¯èƒ½ä½ çš„æ•°æ®åº“文件已æŸå。</translation>
</message>
<message>
<source>(HMAC mismatch)</source>
- <translation type="unfinished"/>
+ <translation>(HMACä¸åŒ¹é…)</translation>
</message>
</context>
<context>
@@ -3875,7 +3932,7 @@ Line %2, column %3</source>
</message>
<message>
<source>Import KeePass1 Database</source>
- <translation type="unfinished"/>
+ <translation>导入 KeePass 1 æ•°æ®åº“</translation>
</message>
</context>
<context>
@@ -4032,18 +4089,19 @@ Line %2, column %3</source>
<message>
<source>Invalid credentials were provided, please try again.
If this reoccurs, then your database file may be corrupt.</source>
- <translation type="unfinished"/>
+ <translation>凭æ®æ— æ•ˆï¼Œè¯·é‡è¯•ã€‚
+若这现象é‡å¤å‘生,å¯èƒ½ä½ çš„æ•°æ®åº“文件已æŸå。</translation>
</message>
</context>
<context>
<name>KeeShare</name>
<message>
<source>Invalid sharing reference</source>
- <translation type="unfinished"/>
+ <translation>无效的共享引用</translation>
</message>
<message>
<source>Inactive share %1</source>
- <translation type="unfinished"/>
+ <translation>éžæ´»åŠ¨çš„共享%1</translation>
</message>
<message>
<source>Imported from %1</source>
@@ -4051,35 +4109,35 @@ If this reoccurs, then your database file may be corrupt.</source>
</message>
<message>
<source>Exported to %1</source>
- <translation type="unfinished"/>
+ <translation>已导出至%1</translation>
</message>
<message>
<source>Synchronized with %1</source>
- <translation type="unfinished"/>
+ <translation>已与%1åŒæ­¥</translation>
</message>
<message>
<source>Import is disabled in settings</source>
- <translation type="unfinished"/>
+ <translation>设置中已ç¦ç”¨å¯¼å…¥æ“作</translation>
</message>
<message>
<source>Export is disabled in settings</source>
- <translation type="unfinished"/>
+ <translation>设置中已ç¦ç”¨å¯¼å‡ºæ“作</translation>
</message>
<message>
<source>Inactive share</source>
- <translation type="unfinished"/>
+ <translation>éžæ´»åŠ¨çš„共享</translation>
</message>
<message>
<source>Imported from</source>
- <translation type="unfinished"/>
+ <translation>已从导入</translation>
</message>
<message>
<source>Exported to</source>
- <translation type="unfinished"/>
+ <translation>已导出至</translation>
</message>
<message>
<source>Synchronized with</source>
- <translation type="unfinished"/>
+ <translation>已与åŒæ­¥</translation>
</message>
</context>
<context>
@@ -4181,7 +4239,7 @@ Message: %2</source>
</message>
<message>
<source>Key file selection</source>
- <translation type="unfinished"/>
+ <translation>选择密匙文件</translation>
</message>
<message>
<source>Browse for key file</source>
@@ -4197,7 +4255,7 @@ Message: %2</source>
</message>
<message>
<source>Note: Do not use a file that may change as that will prevent you from unlocking your database!</source>
- <translation type="unfinished"/>
+ <translation>注æ„:ä¸è¦ä½¿ç”¨ä¼šè¢«æ›´æ”¹çš„文件,å¦åˆ™æ–‡ä»¶è¢«æ›´æ”¹åŽä¸èƒ½è§£é”æ•°æ®åº“ï¼</translation>
</message>
<message>
<source>Invalid Key File</source>
@@ -4205,16 +4263,17 @@ Message: %2</source>
</message>
<message>
<source>You cannot use the current database as its own keyfile. Please choose a different file or generate a new key file.</source>
- <translation type="unfinished"/>
+ <translation>ä½ ä¸èƒ½ç”¨å½“å‰æ•°æ®åº“作为它本身的密钥文件。请选择ä¸åŒçš„文件或生æˆä¸€ä¸ªæ–°çš„密钥文件。</translation>
</message>
<message>
<source>Suspicious Key File</source>
- <translation type="unfinished"/>
+ <translation>ä¸ä¿¡ä»»çš„密钥文件</translation>
</message>
<message>
<source>The chosen key file looks like a password database file. A key file must be a static file that never changes or you will lose access to your database forever.
Are you sure you want to continue with this file?</source>
- <translation type="unfinished"/>
+ <translation>选择的密钥文件似乎是个密ç åº“文件。密钥文件必须是ä¸ä¼šè¢«æ”¹å˜çš„文件,å¦åˆ™ä½ ä¼šæ°¸ä¹…失去对数æ®åº“的访问。
+你确定è¦ç”¨è¿™ä¸ªæ–‡ä»¶ç»§ç»­å—?</translation>
</message>
</context>
<context>
@@ -4509,27 +4568,27 @@ Expect some bugs and minor issues, this version is not meant for production use.
</message>
<message>
<source>&amp;Export</source>
- <translation type="unfinished"/>
+ <translation>导出(&amp;E)</translation>
</message>
<message>
<source>&amp;Check for Updates...</source>
- <translation type="unfinished"/>
+ <translation>检查更新(&amp;C)</translation>
</message>
<message>
<source>Downlo&amp;ad all favicons</source>
- <translation type="unfinished"/>
+ <translation>下载所有网站图标(&amp;A)</translation>
</message>
<message>
<source>Sort &amp;A-Z</source>
- <translation type="unfinished"/>
+ <translation>顺åºæŽ’列(&amp;A)</translation>
</message>
<message>
<source>Sort &amp;Z-A</source>
- <translation type="unfinished"/>
+ <translation>逆åºæŽ’列(&amp;Z)</translation>
</message>
<message>
<source>&amp;Password Generator</source>
- <translation type="unfinished"/>
+ <translation>密ç ç”Ÿæˆå™¨ï¼ˆ&amp;P)</translation>
</message>
<message>
<source>Download favicon</source>
@@ -4537,43 +4596,43 @@ Expect some bugs and minor issues, this version is not meant for production use.
</message>
<message>
<source>&amp;Export to HTML file...</source>
- <translation type="unfinished"/>
+ <translation>导出为HTML文件(&amp;E)...</translation>
</message>
<message>
<source>1Password Vault...</source>
- <translation type="unfinished"/>
+ <translation>1Passwordä¿é™©åº“…</translation>
</message>
<message>
<source>Import a 1Password Vault</source>
- <translation type="unfinished"/>
+ <translation>导入1Passwordä¿é™©åº“</translation>
</message>
<message>
<source>&amp;Getting Started</source>
- <translation type="unfinished"/>
+ <translation>开始使用(&amp;G)</translation>
</message>
<message>
<source>Open Getting Started Guide PDF</source>
- <translation type="unfinished"/>
+ <translation>打开开始使用教程PDF</translation>
</message>
<message>
<source>&amp;Online Help...</source>
- <translation type="unfinished"/>
+ <translation>在线帮助(&amp;O)</translation>
</message>
<message>
<source>Go to online documentation (opens browser)</source>
- <translation type="unfinished"/>
+ <translation>查看在线文档(æµè§ˆå™¨æ‰“开)</translation>
</message>
<message>
<source>&amp;User Guide</source>
- <translation type="unfinished"/>
+ <translation>用户手册(&amp;U)</translation>
</message>
<message>
<source>Open User Guide PDF</source>
- <translation type="unfinished"/>
+ <translation>打开用户手册PDF</translation>
</message>
<message>
<source>&amp;Keyboard Shortcuts</source>
- <translation type="unfinished"/>
+ <translation>键盘快æ·é”®ï¼ˆ&amp;K)</translation>
</message>
</context>
<context>
@@ -4636,11 +4695,11 @@ Expect some bugs and minor issues, this version is not meant for production use.
</message>
<message>
<source>Removed custom data %1 [%2]</source>
- <translation type="unfinished"/>
+ <translation>å·²ç»ç§»é™¤è‡ªå®šä¹‰æ•°æ®%1 [%2]</translation>
</message>
<message>
<source>Adding custom data %1 [%2]</source>
- <translation type="unfinished"/>
+ <translation>正在添加自定义数æ®%1 [%2]</translation>
</message>
</context>
<context>
@@ -4715,31 +4774,31 @@ Expect some bugs and minor issues, this version is not meant for production use.
<name>OpData01</name>
<message>
<source>Invalid OpData01, does not contain header</source>
- <translation type="unfinished"/>
+ <translation>无效的OpData01,ä¸åŒ…å«æ•°æ®å¤´</translation>
</message>
<message>
<source>Unable to read all IV bytes, wanted 16 but got %1</source>
- <translation type="unfinished"/>
+ <translation>没能读å–全部IV,期望16字节å´ä»…读å–到%1</translation>
</message>
<message>
<source>Unable to init cipher for opdata01: %1</source>
- <translation type="unfinished"/>
+ <translation>未能为opdata01åˆå§‹åŒ–加密:%1</translation>
</message>
<message>
<source>Unable to read all HMAC signature bytes</source>
- <translation type="unfinished"/>
+ <translation>没能读å–全部HMACç­¾å长度</translation>
</message>
<message>
<source>Malformed OpData01 due to a failed HMAC</source>
- <translation type="unfinished"/>
+ <translation>由于HMAC失败,OpData01读å–异常。</translation>
</message>
<message>
<source>Unable to process clearText in place</source>
- <translation type="unfinished"/>
+ <translation>无法直接处ç†çº¯æ–‡æœ¬ã€‚</translation>
</message>
<message>
<source>Expected %1 bytes of clear-text, found %2</source>
- <translation type="unfinished"/>
+ <translation>期望长%1字节的明文数æ®ï¼Œä»…仅找到%2</translation>
</message>
</context>
<context>
@@ -4747,34 +4806,35 @@ Expect some bugs and minor issues, this version is not meant for production use.
<message>
<source>Read Database did not produce an instance
%1</source>
- <translation type="unfinished"/>
+ <translation>读å–æ•°æ®åº“没有产生实例
+%1</translation>
</message>
</context>
<context>
<name>OpVaultReader</name>
<message>
<source>Directory .opvault must exist</source>
- <translation type="unfinished"/>
+ <translation>目录.opvault必须存在</translation>
</message>
<message>
<source>Directory .opvault must be readable</source>
- <translation type="unfinished"/>
+ <translation>目录.opvaultå¿…é¡»å¯è¯»</translation>
</message>
<message>
<source>Directory .opvault/default must exist</source>
- <translation type="unfinished"/>
+ <translation>目录.opvault/default必须存在</translation>
</message>
<message>
<source>Directory .opvault/default must be readable</source>
- <translation type="unfinished"/>
+ <translation>目录.opvault/default必须存å¯è¯»</translation>
</message>
<message>
<source>Unable to decode masterKey: %1</source>
- <translation type="unfinished"/>
+ <translation>无法解密主密钥:%1</translation>
</message>
<message>
<source>Unable to derive master key: %1</source>
- <translation type="unfinished"/>
+ <translation>ä¸èƒ½æ´¾ç”Ÿä¸»å¯†ç ï¼š%1</translation>
</message>
</context>
<context>
@@ -4880,11 +4940,11 @@ Expect some bugs and minor issues, this version is not meant for production use.
<name>PasswordEdit</name>
<message>
<source>Passwords do not match</source>
- <translation type="unfinished"/>
+ <translation>密ç ä¸åŒ¹é…</translation>
</message>
<message>
<source>Passwords match so far</source>
- <translation type="unfinished"/>
+ <translation>ç›®å‰åŒ¹é…的密ç </translation>
</message>
</context>
<context>
@@ -4915,19 +4975,19 @@ Expect some bugs and minor issues, this version is not meant for production use.
</message>
<message>
<source>Password field</source>
- <translation type="unfinished"/>
+ <translation>密ç å­—段</translation>
</message>
<message>
<source>Toggle password visibility</source>
- <translation type="unfinished"/>
+ <translation>密ç å¯è§</translation>
</message>
<message>
<source>Repeat password field</source>
- <translation type="unfinished"/>
+ <translation>é‡å¤å¯†ç å­—段</translation>
</message>
<message>
<source>Toggle password generator</source>
- <translation type="unfinished"/>
+ <translation>打开密ç ç”Ÿæˆå™¨</translation>
</message>
</context>
<context>
@@ -5127,51 +5187,51 @@ Expect some bugs and minor issues, this version is not meant for production use.
</message>
<message>
<source>Regenerate</source>
- <translation>å†ç”Ÿ</translation>
+ <translation>é‡æ–°ç”Ÿæˆ</translation>
</message>
<message>
<source>Generated password</source>
- <translation type="unfinished"/>
+ <translation>生æˆçš„密ç </translation>
</message>
<message>
<source>Upper-case letters</source>
- <translation type="unfinished"/>
+ <translation>大写字æ¯</translation>
</message>
<message>
<source>Lower-case letters</source>
- <translation type="unfinished"/>
+ <translation>å°å†™å­—æ¯</translation>
</message>
<message>
<source>Special characters</source>
- <translation type="unfinished"/>
+ <translation>特殊字符</translation>
</message>
<message>
<source>Math Symbols</source>
- <translation type="unfinished"/>
+ <translation>数学符å·</translation>
</message>
<message>
<source>Dashes and Slashes</source>
- <translation type="unfinished"/>
+ <translation>破折å·å’Œæ–œçº¿</translation>
</message>
<message>
<source>Excluded characters</source>
- <translation type="unfinished"/>
+ <translation>排除的字符</translation>
</message>
<message>
<source>Hex Passwords</source>
- <translation type="unfinished"/>
+ <translation>å六进制密ç </translation>
</message>
<message>
<source>Password length</source>
- <translation type="unfinished"/>
+ <translation>密ç é•¿åº¦</translation>
</message>
<message>
<source>Word Case:</source>
- <translation type="unfinished"/>
+ <translation>字符大å°å†™ï¼š</translation>
</message>
<message>
<source>Regenerate password</source>
- <translation type="unfinished"/>
+ <translation>é‡æ–°ç”Ÿæˆå¯†ç </translation>
</message>
<message>
<source>Copy password</source>
@@ -5179,23 +5239,23 @@ Expect some bugs and minor issues, this version is not meant for production use.
</message>
<message>
<source>Accept password</source>
- <translation type="unfinished"/>
+ <translation>接å—密ç </translation>
</message>
<message>
<source>lower case</source>
- <translation type="unfinished"/>
+ <translation>å°å†™</translation>
</message>
<message>
<source>UPPER CASE</source>
- <translation type="unfinished"/>
+ <translation>大写</translation>
</message>
<message>
<source>Title Case</source>
- <translation type="unfinished"/>
+ <translation>首字æ¯å¤§å°å†™</translation>
</message>
<message>
<source>Toggle password visibility</source>
- <translation type="unfinished"/>
+ <translation>密ç å¯è§</translation>
</message>
</context>
<context>
@@ -5206,7 +5266,7 @@ Expect some bugs and minor issues, this version is not meant for production use.
</message>
<message>
<source>Statistics</source>
- <translation type="unfinished"/>
+ <translation>统计表</translation>
</message>
</context>
<context>
@@ -5245,7 +5305,7 @@ Expect some bugs and minor issues, this version is not meant for production use.
</message>
<message>
<source>Continue</source>
- <translation type="unfinished"/>
+ <translation>继续</translation>
</message>
</context>
<context>
@@ -5940,15 +6000,15 @@ Available commands:
</message>
<message>
<source>Deactivate password key for the database.</source>
- <translation type="unfinished"/>
+ <translation>åœç”¨æ­¤æ•°æ®åº“的密ç ç§é’¥ã€‚</translation>
</message>
<message>
<source>Displays debugging information.</source>
- <translation type="unfinished"/>
+ <translation>显示调试信æ¯ã€‚</translation>
</message>
<message>
<source>Deactivate password key for the database to merge from.</source>
- <translation type="unfinished"/>
+ <translation>åœç”¨è¢«åˆå¹¶æ•°æ®åº“使用的密ç ç§é’¥ã€‚</translation>
</message>
<message>
<source>Version %1</source>
@@ -5968,11 +6028,11 @@ Available commands:
</message>
<message>
<source>Debugging mode is disabled.</source>
- <translation type="unfinished"/>
+ <translation>å·²ç¦ç”¨è°ƒè¯•æ¨¡å¼ã€‚</translation>
</message>
<message>
<source>Debugging mode is enabled.</source>
- <translation type="unfinished"/>
+ <translation>å·²å¯ç”¨è°ƒè¯•æ¨¡å¼ã€‚</translation>
</message>
<message>
<source>Operating system: %1
@@ -6016,151 +6076,151 @@ CPU 架构:%2
</message>
<message>
<source>Cryptographic libraries:</source>
- <translation type="unfinished"/>
+ <translation>密ç å­¦å…¬å…±åº“:</translation>
</message>
<message>
<source>Cannot generate a password and prompt at the same time!</source>
- <translation type="unfinished"/>
+ <translation>无法åŒæ—¶ç”Ÿæˆå¯†ç å’Œæ示ï¼</translation>
</message>
<message>
<source>Adds a new group to a database.</source>
- <translation type="unfinished"/>
+ <translation>å‘æ•°æ®åº“添加新群组。</translation>
</message>
<message>
<source>Path of the group to add.</source>
- <translation type="unfinished"/>
+ <translation>è¦æ·»åŠ çš„群组路径。</translation>
</message>
<message>
<source>Group %1 already exists!</source>
- <translation type="unfinished"/>
+ <translation>群组%1å·²ç»å­˜åœ¨ï¼</translation>
</message>
<message>
<source>Group %1 not found.</source>
- <translation type="unfinished"/>
+ <translation>未找到群组%1。</translation>
</message>
<message>
<source>Successfully added group %1.</source>
- <translation type="unfinished"/>
+ <translation>æˆåŠŸæ·»åŠ ç¾¤ç»„%1。</translation>
</message>
<message>
<source>Check if any passwords have been publicly leaked. FILENAME must be the path of a file listing SHA-1 hashes of leaked passwords in HIBP format, as available from https://haveibeenpwned.com/Passwords.</source>
- <translation type="unfinished"/>
+ <translation>检查是å¦æœ‰å¯†ç æ³„露至公共网络。文件å必须是HIBPæ ¼å¼çš„ã€å·²æ³„露密ç çš„SHA-1摘è¦æ¸…å•ï¼Œå¯ä»¥åœ¨ https://haveibeenpwned.com/Passwords 下载到。</translation>
</message>
<message>
<source>FILENAME</source>
- <translation type="unfinished"/>
+ <translation>文件å</translation>
</message>
<message>
<source>Analyze passwords for weaknesses and problems.</source>
- <translation type="unfinished"/>
+ <translation>分æžå¯†ç çš„弱点和问题。</translation>
</message>
<message>
<source>Failed to open HIBP file %1: %2</source>
- <translation type="unfinished"/>
+ <translation>无法打开HIBP文件%1: %2</translation>
</message>
<message>
<source>Evaluating database entries against HIBP file, this will take a while...</source>
- <translation type="unfinished"/>
+ <translation>正通过HIBP文件评估所有数æ®åº“æ¡ç›®ï¼Œè¿™éœ€è¦ä¸€äº›æ—¶é—´â€¦â€¦</translation>
</message>
<message>
<source>Close the currently opened database.</source>
- <translation type="unfinished"/>
+ <translation>关闭当å‰å¼€å¯çš„æ•°æ®åº“。</translation>
</message>
<message>
<source>Display this help.</source>
- <translation type="unfinished"/>
+ <translation>显示此帮助。</translation>
</message>
<message>
<source>Yubikey slot used to encrypt the database.</source>
- <translation type="unfinished"/>
+ <translation>用于加密数æ®åº“çš„Yubikey槽ä½ã€‚</translation>
</message>
<message>
<source>slot</source>
- <translation type="unfinished"/>
+ <translation>槽ä½</translation>
</message>
<message>
<source>Invalid word count %1</source>
- <translation type="unfinished"/>
+ <translation>无效的字数%1</translation>
</message>
<message>
<source>The word list is too small (&lt; 1000 items)</source>
- <translation type="unfinished"/>
+ <translation>è¯æ±‡è¡¨å¤ªçŸ­ï¼ˆå°‘于1000项目)</translation>
</message>
<message>
<source>Exit interactive mode.</source>
- <translation type="unfinished"/>
+ <translation>退出交互模å¼ã€‚</translation>
</message>
<message>
<source>Format to use when exporting. Available choices are xml or csv. Defaults to xml.</source>
- <translation type="unfinished"/>
+ <translation>导出时使用的格å¼ã€‚å¯é€‰XML或者CSV。默认XML。</translation>
</message>
<message>
<source>Exports the content of a database to standard output in the specified format.</source>
- <translation type="unfinished"/>
+ <translation>将数æ®åº“内容按照指定的格å¼è¾“出至标准输出。</translation>
</message>
<message>
<source>Unable to export database to XML: %1</source>
- <translation type="unfinished"/>
+ <translation>无法导出数æ®åº“至XML:%1</translation>
</message>
<message>
<source>Unsupported format %1</source>
- <translation type="unfinished"/>
+ <translation>ä¸æ”¯æŒçš„æ ¼å¼%1</translation>
</message>
<message>
<source>Use numbers</source>
- <translation type="unfinished"/>
+ <translation>使用数字</translation>
</message>
<message>
<source>Invalid password length %1</source>
- <translation type="unfinished"/>
+ <translation>无效的密ç é•¿åº¦%1</translation>
</message>
<message>
<source>Display command help.</source>
- <translation type="unfinished"/>
+ <translation>显示命令帮助。</translation>
</message>
<message>
<source>Available commands:</source>
- <translation type="unfinished"/>
+ <translation>å¯ç”¨å‘½ä»¤ï¼š</translation>
</message>
<message>
<source>Import the contents of an XML database.</source>
- <translation type="unfinished"/>
+ <translation>导入XMLæ•°æ®åº“的内容。</translation>
</message>
<message>
<source>Path of the XML database export.</source>
- <translation type="unfinished"/>
+ <translation>XMLæ•°æ®åº“导出的路径。</translation>
</message>
<message>
<source>Path of the new database.</source>
- <translation type="unfinished"/>
+ <translation>æ–°æ•°æ®åº“的路径。</translation>
</message>
<message>
<source>Unable to import XML database export %1</source>
- <translation type="unfinished"/>
+ <translation>无法导入XMLæ•°æ®åº“%1</translation>
</message>
<message>
<source>Successfully imported database.</source>
- <translation type="unfinished"/>
+ <translation>æˆåŠŸå¯¼å…¥æ•°æ®åº“。</translation>
</message>
<message>
<source>Unknown command %1</source>
- <translation type="unfinished"/>
+ <translation>未知命令%1</translation>
</message>
<message>
<source>Flattens the output to single lines.</source>
- <translation type="unfinished"/>
+ <translation>将输出摊平ä½ä¸€è¡Œã€‚</translation>
</message>
<message>
<source>Only print the changes detected by the merge operation.</source>
- <translation type="unfinished"/>
+ <translation>仅打å°åˆå¹¶æ“作检测到的更改。</translation>
</message>
<message>
<source>Yubikey slot for the second database.</source>
- <translation type="unfinished"/>
+ <translation>第二个数æ®åº“è¦ä½¿ç”¨çš„Yubikey槽ä½ã€‚</translation>
</message>
<message>
<source>Successfully merged %1 into %2.</source>
- <translation type="unfinished"/>
+ <translation>æˆåŠŸå°†%1åˆå¹¶è‡³%2。</translation>
</message>
<message>
<source>Database was not modified by merge operation.</source>
@@ -6168,99 +6228,103 @@ CPU 架构:%2
</message>
<message>
<source>Moves an entry to a new group.</source>
- <translation type="unfinished"/>
+ <translation>å°†æ¡ç›®ç§»è‡³æ–°ç¾¤ç»„。</translation>
</message>
<message>
<source>Path of the entry to move.</source>
- <translation type="unfinished"/>
+ <translation>è¦ç§»åŠ¨çš„æ¡ç›®è·¯å¾„。</translation>
</message>
<message>
<source>Path of the destination group.</source>
- <translation type="unfinished"/>
+ <translation>目标群组的路径。</translation>
</message>
<message>
<source>Could not find group with path %1.</source>
- <translation type="unfinished"/>
+ <translation>找ä¸åˆ°è·¯å¾„为 %1的群组。</translation>
</message>
<message>
<source>Entry is already in group %1.</source>
- <translation type="unfinished"/>
+ <translation>æ¡ç›®å·²ä½äºŽç¾¤ç»„%1。</translation>
</message>
<message>
<source>Successfully moved entry %1 to group %2.</source>
- <translation type="unfinished"/>
+ <translation>æˆåŠŸå°†æ¡ç›®%1移至群组%2。</translation>
</message>
<message>
<source>Open a database.</source>
- <translation type="unfinished"/>
+ <translation>打开一个数æ®åº“</translation>
</message>
<message>
<source>Path of the group to remove.</source>
- <translation type="unfinished"/>
+ <translation>è¦åˆ é™¤çš„群组的路径。</translation>
</message>
<message>
<source>Cannot remove root group from database.</source>
- <translation type="unfinished"/>
+ <translation>ä¸èƒ½ä»ŽæœåŠ¡å™¨ç§»é™¤æ ¹ç¾¤ç»„。</translation>
</message>
<message>
<source>Successfully recycled group %1.</source>
- <translation type="unfinished"/>
+ <translation>æˆåŠŸå›žæ”¶äº†ç¾¤ç»„%1。</translation>
</message>
<message>
<source>Successfully deleted group %1.</source>
- <translation type="unfinished"/>
+ <translation>æˆåŠŸåˆ é™¤ç¾¤ç»„%1。</translation>
</message>
<message>
<source>Failed to open database file %1: not found</source>
- <translation type="unfinished"/>
+ <translation>无法打开数æ®åº“文件%1:文件未找到</translation>
</message>
<message>
<source>Failed to open database file %1: not a plain file</source>
- <translation type="unfinished"/>
+ <translation>å¼€å¯æ•°æ®åº“文件%1失败:ä¸æ˜¯æ­£å¸¸çš„文件</translation>
</message>
<message>
<source>Failed to open database file %1: not readable</source>
- <translation type="unfinished"/>
+ <translation>无法打开数æ®åº“文件%1:文件ä¸å¯è¯»</translation>
</message>
<message>
<source>Enter password to unlock %1: </source>
- <translation type="unfinished"/>
+ <translation>输入密ç ä»¥è§£é”%1: </translation>
</message>
<message>
<source>Invalid YubiKey slot %1</source>
- <translation type="unfinished"/>
+ <translation>无效的YubiKey槽ä½%1</translation>
</message>
<message>
<source>Please touch the button on your YubiKey to unlock %1</source>
- <translation type="unfinished"/>
+ <translation>请触摸你 YubiKey 上的按键以解é”%1ï¼</translation>
</message>
<message>
<source>Enter password to encrypt database (optional): </source>
- <translation type="unfinished"/>
+ <translation>输入用于加密数æ®åº“的密ç ï¼ˆå¯é€‰ï¼‰ï¼š</translation>
</message>
<message>
<source>HIBP file, line %1: parse error</source>
- <translation type="unfinished"/>
+ <translation>HIBP文件 第%1行:解æžé”™è¯¯</translation>
</message>
<message>
<source>Secret Service Integration</source>
- <translation type="unfinished"/>
+ <translation>密钥æœåŠ¡é›†æˆ</translation>
</message>
<message>
<source>User name</source>
- <translation type="unfinished"/>
+ <translation>用户å</translation>
</message>
<message>
<source>%1[%2] Challenge Response - Slot %3 - %4</source>
- <translation type="unfinished"/>
+ <translation>%1[%2] 挑战应答 - æ§½ä½ %3 - %4</translation>
</message>
<message numerus="yes">
<source>Password for &apos;%1&apos; has been leaked %2 time(s)!</source>
- <translation type="unfinished"><numerusform></numerusform></translation>
+ <translation><numerusform>‘%1’的密ç æ³„露了%2次ï¼</numerusform></translation>
</message>
<message>
<source>Invalid password generator after applying all options</source>
- <translation type="unfinished"/>
+ <translation>应用所有选项åŽï¼Œå…³é—­å¯†ç ç”Ÿæˆå™¨ã€‚</translation>
+ </message>
+ <message>
+ <source>Show the protected attributes in clear text.</source>
+ <translation>明文显示被ä¿æŠ¤çš„属性。</translation>
</message>
</context>
<context>
@@ -6419,11 +6483,11 @@ CPU 架构:%2
<name>SettingsWidgetFdoSecrets</name>
<message>
<source>Options</source>
- <translation type="unfinished"/>
+ <translation>选项</translation>
</message>
<message>
<source>Enable KeepassXC Freedesktop.org Secret Service integration</source>
- <translation type="unfinished"/>
+ <translation>å¯ç”¨KeepassXCçš„Freedesktop.org密钥æœåŠ¡é›†æˆ</translation>
</message>
<message>
<source>General</source>
@@ -6431,23 +6495,23 @@ CPU 架构:%2
</message>
<message>
<source>Show notification when credentials are requested</source>
- <translation type="unfinished"/>
+ <translation>当请求凭æ®æ—¶æ˜¾ç¤ºé€šçŸ¥</translation>
</message>
<message>
<source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;If recycle bin is enabled for the database, entries will be moved to recycle bin directly. Otherwise, they will be deleted without confirmation.&lt;/p&gt;&lt;p&gt;You will still be prompted if any entries are referenced by others.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
- <translation type="unfinished"/>
+ <translation>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;如果数æ®åº“å·²å¯ç”¨å›žæ”¶ç«™ï¼Œæ¡ç›®ä¼šè¢«ç§»åŠ¨åˆ°å›žæ”¶ç«™ï¼›å¦åˆ™æ¡ç›®ä¼šè¢«ç›´æŽ¥åˆ é™¤ã€‚&lt;/p&gt;&lt;p&gt;如果æ¡ç›®è¢«å…¶ä»–æ¡ç›®å¼•ç”¨ä¼šå‘出æ醒。&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
</message>
<message>
<source>Don&apos;t confirm when entries are deleted by clients.</source>
- <translation type="unfinished"/>
+ <translation>当客户端删除æ¡ç›®æ—¶ä¸è¿›è¡Œç¡®è®¤ã€‚</translation>
</message>
<message>
<source>Exposed database groups:</source>
- <translation type="unfinished"/>
+ <translation>已公开的数æ®åº“群组:</translation>
</message>
<message>
<source>File Name</source>
- <translation type="unfinished"/>
+ <translation>文件å</translation>
</message>
<message>
<source>Group</source>
@@ -6455,23 +6519,23 @@ CPU 架构:%2
</message>
<message>
<source>Manage</source>
- <translation type="unfinished"/>
+ <translation>管ç†</translation>
</message>
<message>
<source>Authorization</source>
- <translation type="unfinished"/>
+ <translation>认è¯</translation>
</message>
<message>
<source>These applications are currently connected:</source>
- <translation type="unfinished"/>
+ <translation>现在已ç»è¿žæŽ¥åˆ°ä»¥ä¸‹åº”用:</translation>
</message>
<message>
<source>Application</source>
- <translation type="unfinished"/>
+ <translation>应用</translation>
</message>
<message>
<source>Disconnect</source>
- <translation type="unfinished"/>
+ <translation>断开连接</translation>
</message>
<message>
<source>Database settings</source>
@@ -6479,7 +6543,7 @@ CPU 架构:%2
</message>
<message>
<source>Edit database settings</source>
- <translation type="unfinished"/>
+ <translation>修改数æ®åº“设置</translation>
</message>
<message>
<source>Unlock database</source>
@@ -6487,7 +6551,7 @@ CPU 架构:%2
</message>
<message>
<source>Unlock database to show more information</source>
- <translation type="unfinished"/>
+ <translation>解é”æ•°æ®åº“以显示更多信æ¯</translation>
</message>
<message>
<source>Lock database</source>
@@ -6495,7 +6559,7 @@ CPU 架构:%2
</message>
<message>
<source>Unlock to show</source>
- <translation type="unfinished"/>
+ <translation>解é”以显示</translation>
</message>
<message>
<source>None</source>
@@ -6627,15 +6691,15 @@ CPU 架构:%2
</message>
<message>
<source>Allow KeeShare imports</source>
- <translation type="unfinished"/>
+ <translation>å…许KeeShare导入</translation>
</message>
<message>
<source>Allow KeeShare exports</source>
- <translation type="unfinished"/>
+ <translation>å…许KeeShare导出</translation>
</message>
<message>
<source>Only show warnings and errors</source>
- <translation type="unfinished"/>
+ <translation>仅显示警告和错误信æ¯</translation>
</message>
<message>
<source>Key</source>
@@ -6643,39 +6707,39 @@ CPU 架构:%2
</message>
<message>
<source>Signer name field</source>
- <translation type="unfinished"/>
+ <translation>ç­¾å者å字字段</translation>
</message>
<message>
<source>Generate new certificate</source>
- <translation type="unfinished"/>
+ <translation>生æˆæ–°è¯ä¹¦</translation>
</message>
<message>
<source>Import existing certificate</source>
- <translation type="unfinished"/>
+ <translation>导入已存在的è¯ä¹¦</translation>
</message>
<message>
<source>Export own certificate</source>
- <translation type="unfinished"/>
+ <translation>导出自己的è¯ä¹¦</translation>
</message>
<message>
<source>Known shares</source>
- <translation type="unfinished"/>
+ <translation>已知共享</translation>
</message>
<message>
<source>Trust selected certificate</source>
- <translation type="unfinished"/>
+ <translation>信任选择的è¯ä¹¦</translation>
</message>
<message>
<source>Ask whether to trust the selected certificate every time</source>
- <translation type="unfinished"/>
+ <translation>æ¯æ¬¡éƒ½è¯¢é—®æ˜¯å¦ä¿¡ä»»é€‰æ‹©çš„è¯ä¹¦</translation>
</message>
<message>
<source>Untrust selected certificate</source>
- <translation type="unfinished"/>
+ <translation>ä¸ä¿¡ä»»é€‰æ‹©çš„è¯ä¹¦</translation>
</message>
<message>
<source>Remove selected certificate</source>
- <translation type="unfinished"/>
+ <translation>移除选择的è¯ä¹¦</translation>
</message>
</context>
<context>
@@ -6903,15 +6967,15 @@ CPU 架构:%2
</message>
<message>
<source>Secret Key:</source>
- <translation type="unfinished"/>
+ <translation>密匙 Key :</translation>
</message>
<message>
<source>Secret key must be in Base32 format</source>
- <translation type="unfinished"/>
+ <translation>密匙 Key 必须是base32 æ ¼å¼</translation>
</message>
<message>
<source>Secret key field</source>
- <translation type="unfinished"/>
+ <translation>密匙 Key 字段</translation>
</message>
<message>
<source>Algorithm:</source>
@@ -6919,28 +6983,29 @@ CPU 架构:%2
</message>
<message>
<source>Time step field</source>
- <translation type="unfinished"/>
+ <translation>刷新时间字段</translation>
</message>
<message>
<source> digits</source>
- <translation type="unfinished"/>
+ <translation>一次性密ç </translation>
</message>
<message>
<source>Invalid TOTP Secret</source>
- <translation type="unfinished"/>
+ <translation>无效的 TOTP 密匙</translation>
</message>
<message>
<source>You have entered an invalid secret key. The key must be in Base32 format.
Example: JBSWY3DPEHPK3PXP</source>
- <translation type="unfinished"/>
+ <translation>你输入了一个无效的密匙 Key ,Key必须是base32æ ¼å¼
+比如:JBSWY3DPEHPK3PXP</translation>
</message>
<message>
<source>Confirm Remove TOTP Settings</source>
- <translation type="unfinished"/>
+ <translation>确认删除 TOTP 设置</translation>
</message>
<message>
<source>Are you sure you want to delete TOTP settings for this entry?</source>
- <translation type="unfinished"/>
+ <translation>你确定è¦ç§»é™¤è¿™ä¸ªé¡¹ç›®çš„ TOTP 设置å—?</translation>
</message>
</context>
<context>
@@ -7026,11 +7091,11 @@ Example: JBSWY3DPEHPK3PXP</source>
</message>
<message>
<source>Import from 1Password</source>
- <translation type="unfinished"/>
+ <translation>从 1Password 导入</translation>
</message>
<message>
<source>Open a recent database</source>
- <translation type="unfinished"/>
+ <translation>打开最近的数æ®åº“</translation>
</message>
</context>
<context>
@@ -7057,11 +7122,11 @@ Example: JBSWY3DPEHPK3PXP</source>
</message>
<message>
<source>Refresh hardware tokens</source>
- <translation type="unfinished"/>
+ <translation>刷新实体令牌</translation>
</message>
<message>
<source>Hardware key slot selection</source>
- <translation type="unfinished"/>
+ <translation>选择实体 Key çš„æ’槽</translation>
</message>
</context>
</TS> \ No newline at end of file
diff --git a/share/translations/keepassx_zh_TW.ts b/share/translations/keepassx_zh_TW.ts
index e5c8f188b..b335c314e 100644
--- a/share/translations/keepassx_zh_TW.ts
+++ b/share/translations/keepassx_zh_TW.ts
@@ -444,6 +444,14 @@
<source>This Auto-Type command contains arguments which are repeated very often. Do you really want to proceed?</source>
<translation>此自動輸入命令包å«é »ç¹é‡è¤‡çš„åƒæ•¸ã€‚真的è¦ç¹¼çºŒå—Žï¼Ÿ</translation>
</message>
+ <message>
+ <source>Permission Required</source>
+ <translation>需è¦æ¬Šé™</translation>
+ </message>
+ <message>
+ <source>KeePassXC requires the Accessibility permission in order to perform entry level Auto-Type. If you already granted permission, you may have to restart KeePassXC.</source>
+ <translation>KeePassXC 需è¦ã€Œè¼”助使用ã€æ¬Šé™ä»¥åŸ·è¡Œé …目層級的自動輸入。若您已授予權é™ï¼Œå¯èƒ½è¦é‡æ–°å•Ÿå‹• KeePassXC。</translation>
+ </message>
</context>
<context>
<name>AutoTypeAssociationsModel</name>
@@ -491,6 +499,17 @@
</message>
</context>
<context>
+ <name>AutoTypePlatformMac</name>
+ <message>
+ <source>Permission Required</source>
+ <translation>需è¦æ¬Šé™</translation>
+ </message>
+ <message>
+ <source>KeePassXC requires the Accessibility and Screen Recorder permission in order to perform global Auto-Type. Screen Recording is necessary to use the window title to find entries. If you already granted permission, you may have to restart KeePassXC.</source>
+ <translation>KeePassXC 需è¦ã€Œè¼”助使用ã€å’Œã€Œèž¢å¹•éŒ„製ã€æ¬Šé™ä»¥åŸ·è¡Œå…¨åŸŸè‡ªå‹•è¼¸å…¥ã€‚使用視窗標題尋找項目時需è¦èž¢å¹•éŒ„製功能。若您已授予權é™ï¼Œå¯èƒ½è¦é‡æ–°å•Ÿå‹• KeePassXC。</translation>
+ </message>
+</context>
+<context>
<name>AutoTypeSelectDialog</name>
<message>
<source>Auto-Type - KeePassXC</source>
@@ -774,16 +793,6 @@ Please select the correct database for saving credentials.</source>
<translation>KeePassXC:新的金鑰關è¯è«‹æ±‚</translation>
</message>
<message>
- <source>You have received an association request for the above key.
-
-If you would like to allow it access to your KeePassXC database,
-give it a unique name to identify and accept it.</source>
- <translation>你已接收到上述金鑰的關è¯è«‹æ±‚。
-
-如果你å…許é€éŽæ­¤é‡‘é‘°å­˜å–ä½ çš„ KeePassXC 資料庫,
-è«‹å–一個唯一識別å並按下接å—。</translation>
- </message>
- <message>
<source>Save and allow access</source>
<translation>儲存並å…許存å–</translation>
</message>
@@ -863,6 +872,18 @@ Would you like to migrate your existing settings now?</source>
<source>Don&apos;t show this warning again</source>
<translation>ä¸å†é¡¯ç¤ºæ­¤è­¦å‘Š</translation>
</message>
+ <message>
+ <source>You have received an association request for the following database:
+%1
+
+Give the connection a unique name or ID, for example:
+chrome-laptop.</source>
+ <translation>你已接收到以下資料庫的關è¯è«‹æ±‚:
+%1
+
+請給予連線一個唯一的å稱或 ID,例如:
+chrome-laptop.</translation>
+ </message>
</context>
<context>
<name>CloneDialog</name>
@@ -1129,10 +1150,6 @@ Please consider generating a new key file.</source>
<translation>切æ›å¯†ç¢¼å¯è¦‹æ€§</translation>
</message>
<message>
- <source>Enter Additional Credentials:</source>
- <translation>輸入é¡å¤–憑證:</translation>
- </message>
- <message>
<source>Key file selection</source>
<translation>金鑰檔案é¸æ“‡</translation>
</message>
@@ -1157,12 +1174,6 @@ Please consider generating a new key file.</source>
<translation>硬體金鑰:</translation>
</message>
<message>
- <source>&lt;p&gt;You can use a hardware security key such as a &lt;strong&gt;YubiKey&lt;/strong&gt; or &lt;strong&gt;OnlyKey&lt;/strong&gt; with slots configured for HMAC-SHA1.&lt;/p&gt;
- &lt;p&gt;Click for more information...&lt;/p&gt;</source>
- <translation>&lt;p&gt;您å¯ä»¥ä½¿ç”¨å¯¦é«”安全金鑰如 &lt;strong&gt;YubiKey&lt;/strong&gt; 或 &lt;strong&gt;OnlyKey&lt;/strong&gt;,並é…åˆä»¥ HMAC-SHA1 設置的æ’槽。&lt;/p&gt;
- &lt;p&gt;點此以ç²å¾—更多資訊...&lt;/p&gt;</translation>
- </message>
- <message>
<source>Hardware key help</source>
<translation>硬體金鑰幫助</translation>
</message>
@@ -1179,10 +1190,6 @@ Please consider generating a new key file.</source>
<translation>清除金鑰檔案</translation>
</message>
<message>
- <source>Select file...</source>
- <translation>é¸æ“‡æª”案...</translation>
- </message>
- <message>
<source>Unlock failed and no password given</source>
<translation>解鎖失敗,密碼未æä¾›</translation>
</message>
@@ -1200,6 +1207,42 @@ To prevent this error from appearing, you must go to &quot;Database Settings / S
<source>Retry with empty password</source>
<translation>以空白密碼é‡è©¦</translation>
</message>
+ <message>
+ <source>Enter Additional Credentials (if any):</source>
+ <translation>輸入é¡å¤–憑證(如果有的話):</translation>
+ </message>
+ <message>
+ <source>&lt;p&gt;You can use a hardware security key such as a &lt;strong&gt;YubiKey&lt;/strong&gt; or &lt;strong&gt;OnlyKey&lt;/strong&gt; with slots configured for HMAC-SHA1.&lt;/p&gt;
+&lt;p&gt;Click for more information...&lt;/p&gt;</source>
+ <translation>&lt;p&gt;您å¯ä»¥ä½¿ç”¨å¯¦é«”安全金鑰如 &lt;strong&gt;YubiKey&lt;/strong&gt; 或 &lt;strong&gt;OnlyKey&lt;/strong&gt;,並é…åˆä»¥ HMAC-SHA1 設置的æ’槽。&lt;/p&gt;
+&lt;p&gt;點此以ç²å¾—更多資訊...&lt;/p&gt;</translation>
+ </message>
+ <message>
+ <source>&lt;p&gt;In addition to your master password, you can use a secret file to enhance the security of your database. Such a file can be generated in your database&apos;s security settings.&lt;/p&gt;&lt;p&gt;This is &lt;strong&gt;not&lt;/strong&gt; your *.kdbx database file!&lt;br&gt;If you do not have a key file, leave the field empty.&lt;/p&gt;&lt;p&gt;Click for more information...&lt;/p&gt;</source>
+ <translation>&lt;p&gt;除了主密碼,您還å¯ä»¥ä½¿ç”¨ä¸€ä»½è¢å¯†æª”案來加強資料庫的安全性。此檔案å¯åœ¨æ‚¨è³‡æ–™åº«çš„安全性設定下產生。&lt;/p&gt;&lt;p&gt;這&lt;strong&gt;並ä¸æ˜¯&lt;/strong&gt;您的 *.kdbx 資料庫檔案ï¼&lt;br&gt;若您沒有金鑰檔案,請將欄ä½ç•™ç©ºã€‚&lt;/p&gt;&lt;p&gt;點此以ç²å¾—更多資訊...&lt;/p&gt;</translation>
+ </message>
+ <message>
+ <source>Key file help</source>
+ <translation>金鑰檔案幫助</translation>
+ </message>
+ <message>
+ <source>?</source>
+ <translation>?</translation>
+ </message>
+ <message>
+ <source>Select key file...</source>
+ <translation>é¸æ“‡é‡‘鑰檔案...</translation>
+ </message>
+ <message>
+ <source>Cannot use database file as key file</source>
+ <translation>無法使用資料庫檔案作為金鑰檔案</translation>
+ </message>
+ <message>
+ <source>You cannot use your database file as a key file.
+If you do not have a key file, please leave the field empty.</source>
+ <translation>您ä¸èƒ½ä½¿ç”¨è‡ªå·±çš„資料庫作為金鑰檔案。
+若您沒有金鑰檔案,請將欄ä½ç•™ç©ºã€‚</translation>
+ </message>
</context>
<context>
<name>DatabaseSettingWidgetMetaData</name>
@@ -1840,6 +1883,10 @@ Are you sure you want to continue without a password?</source>
<source>Average password length is less than ten characters. Longer passwords provide more security.</source>
<translation>å¹³å‡å¯†ç¢¼é•·åº¦å°æ–¼ 10 個字元。密碼越長,能æ供的ä¿è­·è¶Šå¤šã€‚</translation>
</message>
+ <message>
+ <source>Please wait, database statistics are being calculated...</source>
+ <translation>è«‹ç¨ç­‰ï¼Œæ­£åœ¨è¨ˆç®—並統計資料庫數據...</translation>
+ </message>
</context>
<context>
<name>DatabaseTabWidget</name>
@@ -6276,6 +6323,10 @@ Kernel: %3 %4</source>
<source>Invalid password generator after applying all options</source>
<translation>套用所有é¸é …的密碼產生器為無效</translation>
</message>
+ <message>
+ <source>Show the protected attributes in clear text.</source>
+ <translation>以明文顯示被ä¿è­·çš„屬性。</translation>
+ </message>
</context>
<context>
<name>QtIOCompressor</name>
diff --git a/snap/snapcraft.yaml b/snap/snapcraft.yaml
index aa68cea4f..f438f689b 100644
--- a/snap/snapcraft.yaml
+++ b/snap/snapcraft.yaml
@@ -1,5 +1,5 @@
name: keepassxc
-version: 2.5.0
+version: 2.5.1
grade: stable
summary: Community-driven port of the Windows application “KeePass Password Safeâ€
description: |
diff --git a/src/autotype/AutoType.cpp b/src/autotype/AutoType.cpp
index a539d0a03..299299b8c 100644
--- a/src/autotype/AutoType.cpp
+++ b/src/autotype/AutoType.cpp
@@ -218,6 +218,15 @@ void AutoType::executeAutoTypeActions(const Entry* entry, QWidget* hideWindow, c
if (hideWindow) {
#if defined(Q_OS_MACOS)
+ // Check for accessibility permission
+ if (!macUtils()->enableAccessibility()) {
+ MessageBox::information(nullptr,
+ tr("Permission Required"),
+ tr("KeePassXC requires the Accessibility permission in order to perform entry "
+ "level Auto-Type. If you already granted permission, you may have to restart "
+ "KeePassXC."));
+ return;
+ }
macUtils()->raiseLastActiveWindow();
m_plugin->hideOwnWindow();
#else
diff --git a/src/autotype/mac/AutoTypeMac.cpp b/src/autotype/mac/AutoTypeMac.cpp
index c88ae6fca..fadc70e1c 100644
--- a/src/autotype/mac/AutoTypeMac.cpp
+++ b/src/autotype/mac/AutoTypeMac.cpp
@@ -17,43 +17,56 @@
*/
#include "AutoTypeMac.h"
-#include "AutoTypeMacKeyCodes.h"
#include "gui/macutils/MacUtils.h"
+#include "gui/MessageBox.h"
+#include <ApplicationServices/ApplicationServices.h>
+
+#define HOTKEY_ID 1
#define MAX_WINDOW_TITLE_LENGTH 1024
#define INVALID_KEYCODE 0xFFFF
+namespace {
+bool accessibilityChecked = false;
+}
+
AutoTypePlatformMac::AutoTypePlatformMac()
- : m_globalMonitor(nullptr)
+ : m_hotkeyRef(nullptr)
+ , m_hotkeyId({ 'kpx2', HOTKEY_ID })
{
+ EventTypeSpec eventSpec;
+ eventSpec.eventClass = kEventClassKeyboard;
+ eventSpec.eventKind = kEventHotKeyPressed;
+
+ MessageBox::initializeButtonDefs();
+ ::InstallApplicationEventHandler(AutoTypePlatformMac::hotkeyHandler, 1, &eventSpec, this, nullptr);
}
/**
- * Request accessibility permissions required for keyboard control
+ * Determine if Auto-Type is available
*
- * @return true on success
+ * @return always return true
*/
bool AutoTypePlatformMac::isAvailable()
{
- return macUtils()->enableAccessibility();
+ // Accessibility permissions are requested upon first use, instead of on load
+ return true;
}
-/**
- * Get a list of the currently open window titles
- *
- * @return list of window titles
- */
+//
+// Get list of visible window titles
+// see: Quartz Window Services
+//
QStringList AutoTypePlatformMac::windowTitles()
{
QStringList list;
- auto windowList = ::CGWindowListCopyWindowInfo(
- kCGWindowListOptionOnScreenOnly | kCGWindowListExcludeDesktopElements, kCGNullWindowID);
- if (windowList) {
- auto count = ::CFArrayGetCount(windowList);
+ CFArrayRef windowList = ::CGWindowListCopyWindowInfo(kCGWindowListOptionOnScreenOnly | kCGWindowListExcludeDesktopElements, kCGNullWindowID);
+ if (windowList != nullptr) {
+ CFIndex count = ::CFArrayGetCount(windowList);
for (CFIndex i = 0; i < count; i++) {
- auto window = static_cast<CFDictionaryRef>(::CFArrayGetValueAtIndex(windowList, i));
+ CFDictionaryRef window = static_cast<CFDictionaryRef>(::CFArrayGetValueAtIndex(windowList, i));
if (windowLayer(window) != 0) {
continue;
}
@@ -70,28 +83,24 @@ QStringList AutoTypePlatformMac::windowTitles()
return list;
}
-/**
- * Get active window ID
- *
- * @return window ID
- */
+//
+// Get active window process id
+//
WId AutoTypePlatformMac::activeWindow()
{
return macUtils()->activeWindow();
}
-/**
- * Get active window title
- *
- * @return window title
- */
+//
+// Get active window title
+// see: Quartz Window Services
+//
QString AutoTypePlatformMac::activeWindowTitle()
{
QString title;
- CFArrayRef windowList = ::CGWindowListCopyWindowInfo(
- kCGWindowListOptionOnScreenOnly | kCGWindowListExcludeDesktopElements, kCGNullWindowID);
- if (windowList) {
+ CFArrayRef windowList = ::CGWindowListCopyWindowInfo(kCGWindowListOptionOnScreenOnly | kCGWindowListExcludeDesktopElements, kCGNullWindowID);
+ if (windowList != nullptr) {
CFIndex count = ::CFArrayGetCount(windowList);
for (CFIndex i = 0; i < count; i++) {
@@ -111,62 +120,41 @@ QString AutoTypePlatformMac::activeWindowTitle()
return title;
}
-/**
- * Register global hotkey using NS global event monitor.
- * Note that this hotkey is not trapped and may trigger
- * actions in the local application where it is issued.
- *
- * @param key key used for hotkey
- * @param modifiers modifiers required in addition to key
- * @return true on success
- */
+//
+// Register global hotkey
+//
bool AutoTypePlatformMac::registerGlobalShortcut(Qt::Key key, Qt::KeyboardModifiers modifiers)
{
- auto nativeKeyCode = qtToNativeKeyCode(key);
+ uint16 nativeKeyCode = qtToNativeKeyCode(key);
if (nativeKeyCode == INVALID_KEYCODE) {
qWarning("Invalid key code");
return false;
}
- auto nativeModifiers = qtToNativeModifiers(modifiers);
- m_globalMonitor =
- macUtils()->addGlobalMonitor(nativeKeyCode, nativeModifiers, this, AutoTypePlatformMac::hotkeyHandler);
- return true;
-}
+ CGEventFlags nativeModifiers = qtToNativeModifiers(modifiers, false);
+ if (::RegisterEventHotKey(nativeKeyCode, nativeModifiers, m_hotkeyId, GetApplicationEventTarget(), 0, &m_hotkeyRef) != noErr) {
+ qWarning("Register hotkey failed");
+ return false;
+ }
-/**
- * Handle global hotkey presses by emitting the trigger signal
- *
- * @param userData pointer to AutoTypePlatform
- */
-void AutoTypePlatformMac::hotkeyHandler(void* userData)
-{
- auto* self = static_cast<AutoTypePlatformMac*>(userData);
- emit self->globalShortcutTriggered();
+ return true;
}
-/**
- * Unregister a previously registered global hotkey
- *
- * @param key unused
- * @param modifiers unused
- */
+//
+// Unregister global hotkey
+//
void AutoTypePlatformMac::unregisterGlobalShortcut(Qt::Key key, Qt::KeyboardModifiers modifiers)
{
Q_UNUSED(key);
Q_UNUSED(modifiers);
- if (m_globalMonitor) {
- macUtils()->removeGlobalMonitor(m_globalMonitor);
- m_globalMonitor = nullptr;
- }
+
+ ::UnregisterEventHotKey(m_hotkeyRef);
}
-/**
- * Unused
- */
int AutoTypePlatformMac::platformEventFilter(void* event)
{
Q_UNUSED(event);
Q_ASSERT(false);
+
return -1;
}
@@ -175,21 +163,17 @@ AutoTypeExecutor* AutoTypePlatformMac::createExecutor()
return new AutoTypeExecutorMac(this);
}
-/**
- * Raise the given window ID
- *
- * @return true on success
- */
+//
+// Activate window by process id
+//
bool AutoTypePlatformMac::raiseWindow(WId pid)
{
return macUtils()->raiseWindow(pid);
}
-/**
- * Hide the KeePassXC window
- *
- * @return true on success
- */
+//
+// Activate last active window
+//
bool AutoTypePlatformMac::hideOwnWindow()
{
return macUtils()->hideOwnWindow();
@@ -203,287 +187,285 @@ bool AutoTypePlatformMac::raiseOwnWindow()
return macUtils()->raiseOwnWindow();
}
-/**
- * Send provided character as key event to the active window
- *
- * @param ch unicode character
- * @param isKeyDown whether the key is pressed
- */
+//
+// Send unicode character to active window
+// see: Quartz Event Services
+//
void AutoTypePlatformMac::sendChar(const QChar& ch, bool isKeyDown)
{
- auto keyEvent = ::CGEventCreateKeyboardEvent(nullptr, 0, isKeyDown);
- if (keyEvent) {
- auto unicode = ch.unicode();
+ CGEventRef keyEvent = ::CGEventCreateKeyboardEvent(nullptr, 0, isKeyDown);
+ if (keyEvent != nullptr) {
+ UniChar unicode = ch.unicode();
::CGEventKeyboardSetUnicodeString(keyEvent, 1, &unicode);
::CGEventPost(kCGSessionEventTap, keyEvent);
::CFRelease(keyEvent);
}
}
-/**
- * Send provided Qt key as key event to the active window
- *
- * @param key Qt key code
- * @param isKeyDown whether the key is pressed
- * @param modifiers any modifiers to apply to key
- */
-void AutoTypePlatformMac::sendKey(Qt::Key key, bool isKeyDown, Qt::KeyboardModifiers modifiers)
+//
+// Send key code to active window
+// see: Quartz Event Services
+//
+void AutoTypePlatformMac::sendKey(Qt::Key key, bool isKeyDown, Qt::KeyboardModifiers modifiers = 0)
{
- auto keyCode = qtToNativeKeyCode(key);
+ uint16 keyCode = qtToNativeKeyCode(key);
if (keyCode == INVALID_KEYCODE) {
return;
}
- auto keyEvent = ::CGEventCreateKeyboardEvent(nullptr, keyCode, isKeyDown);
- auto nativeModifiers = qtToNativeModifiers(modifiers);
- if (keyEvent) {
+ CGEventRef keyEvent = ::CGEventCreateKeyboardEvent(nullptr, keyCode, isKeyDown);
+ CGEventFlags nativeModifiers = qtToNativeModifiers(modifiers, true);
+ if (keyEvent != nullptr) {
::CGEventSetFlags(keyEvent, nativeModifiers);
::CGEventPost(kCGSessionEventTap, keyEvent);
::CFRelease(keyEvent);
}
}
-/**
- * Translate Qt key to macOS key code provided by
- * AutoTypeMacKeyCodes.h which are derived from
- * legacy Carbon "HIToolbox/Events.h"
- *
- * @param key key to translate
- * @returns macOS key code
- */
-CGKeyCode AutoTypePlatformMac::qtToNativeKeyCode(Qt::Key key)
+//
+// Translate qt key code to mac os key code
+// see: HIToolbox/Events.h
+//
+uint16 AutoTypePlatformMac::qtToNativeKeyCode(Qt::Key key)
{
switch (key) {
- case Qt::Key_A:
- return kVK_ANSI_A;
- case Qt::Key_B:
- return kVK_ANSI_B;
- case Qt::Key_C:
- return kVK_ANSI_C;
- case Qt::Key_D:
- return kVK_ANSI_D;
- case Qt::Key_E:
- return kVK_ANSI_E;
- case Qt::Key_F:
- return kVK_ANSI_F;
- case Qt::Key_G:
- return kVK_ANSI_G;
- case Qt::Key_H:
- return kVK_ANSI_H;
- case Qt::Key_I:
- return kVK_ANSI_I;
- case Qt::Key_J:
- return kVK_ANSI_J;
- case Qt::Key_K:
- return kVK_ANSI_K;
- case Qt::Key_L:
- return kVK_ANSI_L;
- case Qt::Key_M:
- return kVK_ANSI_M;
- case Qt::Key_N:
- return kVK_ANSI_N;
- case Qt::Key_O:
- return kVK_ANSI_O;
- case Qt::Key_P:
- return kVK_ANSI_P;
- case Qt::Key_Q:
- return kVK_ANSI_Q;
- case Qt::Key_R:
- return kVK_ANSI_R;
- case Qt::Key_S:
- return kVK_ANSI_S;
- case Qt::Key_T:
- return kVK_ANSI_T;
- case Qt::Key_U:
- return kVK_ANSI_U;
- case Qt::Key_V:
- return kVK_ANSI_V;
- case Qt::Key_W:
- return kVK_ANSI_W;
- case Qt::Key_X:
- return kVK_ANSI_X;
- case Qt::Key_Y:
- return kVK_ANSI_Y;
- case Qt::Key_Z:
- return kVK_ANSI_Z;
-
- case Qt::Key_0:
- return kVK_ANSI_0;
- case Qt::Key_1:
- return kVK_ANSI_1;
- case Qt::Key_2:
- return kVK_ANSI_2;
- case Qt::Key_3:
- return kVK_ANSI_3;
- case Qt::Key_4:
- return kVK_ANSI_4;
- case Qt::Key_5:
- return kVK_ANSI_5;
- case Qt::Key_6:
- return kVK_ANSI_6;
- case Qt::Key_7:
- return kVK_ANSI_7;
- case Qt::Key_8:
- return kVK_ANSI_8;
- case Qt::Key_9:
- return kVK_ANSI_9;
-
- case Qt::Key_Equal:
- return kVK_ANSI_Equal;
- case Qt::Key_Minus:
- return kVK_ANSI_Minus;
- case Qt::Key_BracketRight:
- return kVK_ANSI_RightBracket;
- case Qt::Key_BracketLeft:
- return kVK_ANSI_LeftBracket;
- case Qt::Key_QuoteDbl:
- return kVK_ANSI_Quote;
- case Qt::Key_Semicolon:
- return kVK_ANSI_Semicolon;
- case Qt::Key_Backslash:
- return kVK_ANSI_Backslash;
- case Qt::Key_Comma:
- return kVK_ANSI_Comma;
- case Qt::Key_Slash:
- return kVK_ANSI_Slash;
- case Qt::Key_Period:
- return kVK_ANSI_Period;
-
- case Qt::Key_Shift:
- return kVK_Shift;
- case Qt::Key_Control:
- return kVK_Command;
- case Qt::Key_Backspace:
- return kVK_Delete;
- case Qt::Key_Tab:
- case Qt::Key_Backtab:
- return kVK_Tab;
- case Qt::Key_Enter:
- case Qt::Key_Return:
- return kVK_Return;
- case Qt::Key_CapsLock:
- return kVK_CapsLock;
- case Qt::Key_Escape:
- return kVK_Escape;
- case Qt::Key_Space:
- return kVK_Space;
- case Qt::Key_PageUp:
- return kVK_PageUp;
- case Qt::Key_PageDown:
- return kVK_PageDown;
- case Qt::Key_End:
- return kVK_End;
- case Qt::Key_Home:
- return kVK_Home;
- case Qt::Key_Left:
- return kVK_LeftArrow;
- case Qt::Key_Up:
- return kVK_UpArrow;
- case Qt::Key_Right:
- return kVK_RightArrow;
- case Qt::Key_Down:
- return kVK_DownArrow;
- case Qt::Key_Delete:
- return kVK_ForwardDelete;
- case Qt::Key_Help:
- return kVK_Help;
-
- case Qt::Key_F1:
- return kVK_F1;
- case Qt::Key_F2:
- return kVK_F2;
- case Qt::Key_F3:
- return kVK_F3;
- case Qt::Key_F4:
- return kVK_F4;
- case Qt::Key_F5:
- return kVK_F5;
- case Qt::Key_F6:
- return kVK_F6;
- case Qt::Key_F7:
- return kVK_F7;
- case Qt::Key_F8:
- return kVK_F8;
- case Qt::Key_F9:
- return kVK_F9;
- case Qt::Key_F10:
- return kVK_F10;
- case Qt::Key_F11:
- return kVK_F11;
- case Qt::Key_F12:
- return kVK_F12;
- case Qt::Key_F13:
- return kVK_F13;
- case Qt::Key_F14:
- return kVK_F14;
- case Qt::Key_F15:
- return kVK_F15;
- case Qt::Key_F16:
- return kVK_F16;
-
- default:
- return INVALID_KEYCODE;
+ case Qt::Key_A:
+ return kVK_ANSI_A;
+ case Qt::Key_B:
+ return kVK_ANSI_B;
+ case Qt::Key_C:
+ return kVK_ANSI_C;
+ case Qt::Key_D:
+ return kVK_ANSI_D;
+ case Qt::Key_E:
+ return kVK_ANSI_E;
+ case Qt::Key_F:
+ return kVK_ANSI_F;
+ case Qt::Key_G:
+ return kVK_ANSI_G;
+ case Qt::Key_H:
+ return kVK_ANSI_H;
+ case Qt::Key_I:
+ return kVK_ANSI_I;
+ case Qt::Key_J:
+ return kVK_ANSI_J;
+ case Qt::Key_K:
+ return kVK_ANSI_K;
+ case Qt::Key_L:
+ return kVK_ANSI_L;
+ case Qt::Key_M:
+ return kVK_ANSI_M;
+ case Qt::Key_N:
+ return kVK_ANSI_N;
+ case Qt::Key_O:
+ return kVK_ANSI_O;
+ case Qt::Key_P:
+ return kVK_ANSI_P;
+ case Qt::Key_Q:
+ return kVK_ANSI_Q;
+ case Qt::Key_R:
+ return kVK_ANSI_R;
+ case Qt::Key_S:
+ return kVK_ANSI_S;
+ case Qt::Key_T:
+ return kVK_ANSI_T;
+ case Qt::Key_U:
+ return kVK_ANSI_U;
+ case Qt::Key_V:
+ return kVK_ANSI_V;
+ case Qt::Key_W:
+ return kVK_ANSI_W;
+ case Qt::Key_X:
+ return kVK_ANSI_X;
+ case Qt::Key_Y:
+ return kVK_ANSI_Y;
+ case Qt::Key_Z:
+ return kVK_ANSI_Z;
+
+ case Qt::Key_0:
+ return kVK_ANSI_0;
+ case Qt::Key_1:
+ return kVK_ANSI_1;
+ case Qt::Key_2:
+ return kVK_ANSI_2;
+ case Qt::Key_3:
+ return kVK_ANSI_3;
+ case Qt::Key_4:
+ return kVK_ANSI_4;
+ case Qt::Key_5:
+ return kVK_ANSI_5;
+ case Qt::Key_6:
+ return kVK_ANSI_6;
+ case Qt::Key_7:
+ return kVK_ANSI_7;
+ case Qt::Key_8:
+ return kVK_ANSI_8;
+ case Qt::Key_9:
+ return kVK_ANSI_9;
+
+ case Qt::Key_Equal:
+ return kVK_ANSI_Equal;
+ case Qt::Key_Minus:
+ return kVK_ANSI_Minus;
+ case Qt::Key_BracketRight:
+ return kVK_ANSI_RightBracket;
+ case Qt::Key_BracketLeft:
+ return kVK_ANSI_LeftBracket;
+ case Qt::Key_QuoteDbl:
+ return kVK_ANSI_Quote;
+ case Qt::Key_Semicolon:
+ return kVK_ANSI_Semicolon;
+ case Qt::Key_Backslash:
+ return kVK_ANSI_Backslash;
+ case Qt::Key_Comma:
+ return kVK_ANSI_Comma;
+ case Qt::Key_Slash:
+ return kVK_ANSI_Slash;
+ case Qt::Key_Period:
+ return kVK_ANSI_Period;
+
+ case Qt::Key_Shift:
+ return kVK_Shift;
+ case Qt::Key_Control:
+ return kVK_Command;
+ case Qt::Key_Backspace:
+ return kVK_Delete;
+ case Qt::Key_Tab:
+ case Qt::Key_Backtab:
+ return kVK_Tab;
+ case Qt::Key_Enter:
+ case Qt::Key_Return:
+ return kVK_Return;
+ case Qt::Key_CapsLock:
+ return kVK_CapsLock;
+ case Qt::Key_Escape:
+ return kVK_Escape;
+ case Qt::Key_Space:
+ return kVK_Space;
+ case Qt::Key_PageUp:
+ return kVK_PageUp;
+ case Qt::Key_PageDown:
+ return kVK_PageDown;
+ case Qt::Key_End:
+ return kVK_End;
+ case Qt::Key_Home:
+ return kVK_Home;
+ case Qt::Key_Left:
+ return kVK_LeftArrow;
+ case Qt::Key_Up:
+ return kVK_UpArrow;
+ case Qt::Key_Right:
+ return kVK_RightArrow;
+ case Qt::Key_Down:
+ return kVK_DownArrow;
+ case Qt::Key_Delete:
+ return kVK_ForwardDelete;
+ case Qt::Key_Help:
+ return kVK_Help;
+
+ case Qt::Key_F1:
+ return kVK_F1;
+ case Qt::Key_F2:
+ return kVK_F2;
+ case Qt::Key_F3:
+ return kVK_F3;
+ case Qt::Key_F4:
+ return kVK_F4;
+ case Qt::Key_F5:
+ return kVK_F5;
+ case Qt::Key_F6:
+ return kVK_F6;
+ case Qt::Key_F7:
+ return kVK_F7;
+ case Qt::Key_F8:
+ return kVK_F8;
+ case Qt::Key_F9:
+ return kVK_F9;
+ case Qt::Key_F10:
+ return kVK_F10;
+ case Qt::Key_F11:
+ return kVK_F11;
+ case Qt::Key_F12:
+ return kVK_F12;
+ case Qt::Key_F13:
+ return kVK_F13;
+ case Qt::Key_F14:
+ return kVK_F14;
+ case Qt::Key_F15:
+ return kVK_F15;
+ case Qt::Key_F16:
+ return kVK_F16;
+
+ default:
+ Q_ASSERT(false);
+ return INVALID_KEYCODE;
}
}
-/**
- * Translate Qt key modifiers to macOS key modifiers
- * provided by the Core Graphics component
- *
- * @param modifiers Qt keyboard modifier(s)
- * @returns macOS key modifier(s)
- */
-CGEventFlags AutoTypePlatformMac::qtToNativeModifiers(Qt::KeyboardModifiers modifiers)
+//
+// Translate qt key modifiers to mac os modifiers
+// see: https://doc.qt.io/qt-5/osx-issues.html#special-keys
+//
+CGEventFlags AutoTypePlatformMac::qtToNativeModifiers(Qt::KeyboardModifiers modifiers, bool native)
{
- auto nativeModifiers = CGEventFlags(0);
+ CGEventFlags nativeModifiers = CGEventFlags(0);
+
+ CGEventFlags shiftMod = CGEventFlags(shiftKey);
+ CGEventFlags cmdMod = CGEventFlags(cmdKey);
+ CGEventFlags optionMod = CGEventFlags(optionKey);
+ CGEventFlags controlMod = CGEventFlags(controlKey);
+
+ if (native) {
+ shiftMod = kCGEventFlagMaskShift;
+ cmdMod = kCGEventFlagMaskCommand;
+ optionMod = kCGEventFlagMaskAlternate;
+ controlMod = kCGEventFlagMaskControl;
+ }
+
if (modifiers & Qt::ShiftModifier) {
- nativeModifiers = CGEventFlags(nativeModifiers | kCGEventFlagMaskShift);
+ nativeModifiers = CGEventFlags(nativeModifiers | shiftMod);
}
if (modifiers & Qt::ControlModifier) {
- nativeModifiers = CGEventFlags(nativeModifiers | kCGEventFlagMaskCommand);
+ nativeModifiers = CGEventFlags(nativeModifiers | cmdMod);
}
if (modifiers & Qt::AltModifier) {
- nativeModifiers = CGEventFlags(nativeModifiers | kCGEventFlagMaskAlternate);
+ nativeModifiers = CGEventFlags(nativeModifiers | optionMod);
}
if (modifiers & Qt::MetaModifier) {
- nativeModifiers = CGEventFlags(nativeModifiers | kCGEventFlagMaskControl);
+ nativeModifiers = CGEventFlags(nativeModifiers | controlMod);
}
return nativeModifiers;
}
-/**
- * Get window layer / level
- *
- * @param window macOS window ref
- * @returns layer number or -1 if window not found
- */
+//
+// Get window layer/level
+//
int AutoTypePlatformMac::windowLayer(CFDictionaryRef window)
{
int layer;
- auto layerRef = static_cast<CFNumberRef>(::CFDictionaryGetValue(window, kCGWindowLayer));
- if (layerRef && ::CFNumberGetValue(layerRef, kCFNumberIntType, &layer)) {
+ CFNumberRef layerRef = static_cast<CFNumberRef>(::CFDictionaryGetValue(window, kCGWindowLayer));
+ if (layerRef != nullptr
+ && ::CFNumberGetValue(layerRef, kCFNumberIntType, &layer)) {
return layer;
}
return -1;
}
-/**
- * Get window title for macOS window ref
- *
- * @param window macOS window ref
- * @returns window title if found
- */
+//
+// Get window title
+//
QString AutoTypePlatformMac::windowTitle(CFDictionaryRef window)
{
char buffer[MAX_WINDOW_TITLE_LENGTH];
QString title;
- auto titleRef = static_cast<CFStringRef>(::CFDictionaryGetValue(window, kCGWindowName));
- if (titleRef && ::CFStringGetCString(titleRef, buffer, MAX_WINDOW_TITLE_LENGTH, kCFStringEncodingUTF8)) {
+ CFStringRef titleRef = static_cast<CFStringRef>(::CFDictionaryGetValue(window, kCGWindowName));
+ if (titleRef != nullptr
+ && ::CFStringGetCString(titleRef, buffer, MAX_WINDOW_TITLE_LENGTH, kCFStringEncodingUTF8)) {
title = QString::fromUtf8(buffer);
}
@@ -491,6 +473,39 @@ QString AutoTypePlatformMac::windowTitle(CFDictionaryRef window)
}
//
+// Carbon hotkey handler
+//
+OSStatus AutoTypePlatformMac::hotkeyHandler(EventHandlerCallRef nextHandler, EventRef theEvent, void* userData)
+{
+ Q_UNUSED(nextHandler);
+
+ // Determine if the user has given proper permissions to KeePassXC to perform Auto-Type
+ if (!accessibilityChecked) {
+ if (macUtils()->enableAccessibility() && macUtils()->enableScreenRecording()) {
+ accessibilityChecked = true;
+ } else {
+ // Does not have required permissions to Auto-Type, ignore the keypress
+ MessageBox::information(nullptr,
+ tr("Permission Required"),
+ tr("KeePassXC requires the Accessibility and Screen Recorder permission in order to perform global "
+ "Auto-Type. Screen Recording is necessary to use the window title to find entries. If you "
+ "already granted permission, you may have to restart KeePassXC."));
+ return noErr;
+ }
+ }
+
+ AutoTypePlatformMac* self = static_cast<AutoTypePlatformMac*>(userData);
+ EventHotKeyID hotkeyId;
+
+ if (::GetEventParameter(theEvent, kEventParamDirectObject, typeEventHotKeyID, nullptr, sizeof(hotkeyId), nullptr, &hotkeyId) == noErr
+ && hotkeyId.id == HOTKEY_ID) {
+ emit self->globalShortcutTriggered();
+ }
+
+ return noErr;
+}
+
+//
// ------------------------------ AutoTypeExecutorMac ------------------------------
//
@@ -511,7 +526,7 @@ void AutoTypeExecutorMac::execKey(AutoTypeKey* action)
m_platform->sendKey(action->key, false);
}
-void AutoTypeExecutorMac::execClearField(AutoTypeClearField* action)
+void AutoTypeExecutorMac::execClearField(AutoTypeClearField* action = nullptr)
{
Q_UNUSED(action);
diff --git a/src/autotype/mac/AutoTypeMac.h b/src/autotype/mac/AutoTypeMac.h
index 904046e33..56c35fd2c 100644
--- a/src/autotype/mac/AutoTypeMac.h
+++ b/src/autotype/mac/AutoTypeMac.h
@@ -19,12 +19,12 @@
#ifndef KEEPASSX_AUTOTYPEMAC_H
#define KEEPASSX_AUTOTYPEMAC_H
-#include <ApplicationServices/ApplicationServices.h>
+#include <Carbon/Carbon.h>
#include <QtPlugin>
#include <memory>
-#include "autotype/AutoTypeAction.h"
#include "autotype/AutoTypePlatformPlugin.h"
+#include "autotype/AutoTypeAction.h"
class AutoTypePlatformMac : public QObject, public AutoTypePlatformInterface
{
@@ -48,19 +48,20 @@ public:
bool raiseOwnWindow() override;
void sendChar(const QChar& ch, bool isKeyDown);
- void sendKey(Qt::Key key, bool isKeyDown, Qt::KeyboardModifiers modifiers = 0);
+ void sendKey(Qt::Key key, bool isKeyDown, Qt::KeyboardModifiers modifiers);
signals:
void globalShortcutTriggered();
private:
- static void hotkeyHandler(void* userData);
- static CGKeyCode qtToNativeKeyCode(Qt::Key key);
- static CGEventFlags qtToNativeModifiers(Qt::KeyboardModifiers modifiers);
+ EventHotKeyRef m_hotkeyRef;
+ EventHotKeyID m_hotkeyId;
+
+ static uint16 qtToNativeKeyCode(Qt::Key key);
+ static CGEventFlags qtToNativeModifiers(Qt::KeyboardModifiers modifiers, bool native);
static int windowLayer(CFDictionaryRef window);
static QString windowTitle(CFDictionaryRef window);
-
- void* m_globalMonitor;
+ static OSStatus hotkeyHandler(EventHandlerCallRef nextHandler, EventRef theEvent, void* userData);
};
class AutoTypeExecutorMac : public AutoTypeExecutor
@@ -76,4 +77,4 @@ private:
AutoTypePlatformMac* const m_platform;
};
-#endif // KEEPASSX_AUTOTYPEMAC_H
+#endif // KEEPASSX_AUTOTYPEMAC_H
diff --git a/src/autotype/mac/AutoTypeMacKeyCodes.h b/src/autotype/mac/AutoTypeMacKeyCodes.h
deleted file mode 100644
index c89cf0346..000000000
--- a/src/autotype/mac/AutoTypeMacKeyCodes.h
+++ /dev/null
@@ -1,160 +0,0 @@
-//
-// Taken from HIToolbox/Events.h
-//
-
-/*
- * Summary:
- * Virtual keycodes
- *
- * Discussion:
- * These constants are the virtual keycodes defined originally in
- * Inside Mac Volume V, pg. V-191. They identify physical keys on a
- * keyboard. Those constants with "ANSI" in the name are labeled
- * according to the key position on an ANSI-standard US keyboard.
- * For example, kVK_ANSI_A indicates the virtual keycode for the key
- * with the letter 'A' in the US keyboard layout. Other keyboard
- * layouts may have the 'A' key label on a different physical key;
- * in this case, pressing 'A' will generate a different virtual
- * keycode.
- */
-
-#ifndef KEEPASSXC_AUTOTYPEMAC_KEYCODES_H
-#define KEEPASSXC_AUTOTYPEMAC_KEYCODES_H
-
-// clang-format off
-enum {
- kVK_ANSI_A = 0x00,
- kVK_ANSI_S = 0x01,
- kVK_ANSI_D = 0x02,
- kVK_ANSI_F = 0x03,
- kVK_ANSI_H = 0x04,
- kVK_ANSI_G = 0x05,
- kVK_ANSI_Z = 0x06,
- kVK_ANSI_X = 0x07,
- kVK_ANSI_C = 0x08,
- kVK_ANSI_V = 0x09,
- kVK_ANSI_B = 0x0B,
- kVK_ANSI_Q = 0x0C,
- kVK_ANSI_W = 0x0D,
- kVK_ANSI_E = 0x0E,
- kVK_ANSI_R = 0x0F,
- kVK_ANSI_Y = 0x10,
- kVK_ANSI_T = 0x11,
- kVK_ANSI_1 = 0x12,
- kVK_ANSI_2 = 0x13,
- kVK_ANSI_3 = 0x14,
- kVK_ANSI_4 = 0x15,
- kVK_ANSI_6 = 0x16,
- kVK_ANSI_5 = 0x17,
- kVK_ANSI_Equal = 0x18,
- kVK_ANSI_9 = 0x19,
- kVK_ANSI_7 = 0x1A,
- kVK_ANSI_Minus = 0x1B,
- kVK_ANSI_8 = 0x1C,
- kVK_ANSI_0 = 0x1D,
- kVK_ANSI_RightBracket = 0x1E,
- kVK_ANSI_O = 0x1F,
- kVK_ANSI_U = 0x20,
- kVK_ANSI_LeftBracket = 0x21,
- kVK_ANSI_I = 0x22,
- kVK_ANSI_P = 0x23,
- kVK_ANSI_L = 0x25,
- kVK_ANSI_J = 0x26,
- kVK_ANSI_Quote = 0x27,
- kVK_ANSI_K = 0x28,
- kVK_ANSI_Semicolon = 0x29,
- kVK_ANSI_Backslash = 0x2A,
- kVK_ANSI_Comma = 0x2B,
- kVK_ANSI_Slash = 0x2C,
- kVK_ANSI_N = 0x2D,
- kVK_ANSI_M = 0x2E,
- kVK_ANSI_Period = 0x2F,
- kVK_ANSI_Grave = 0x32,
- kVK_ANSI_KeypadDecimal = 0x41,
- kVK_ANSI_KeypadMultiply = 0x43,
- kVK_ANSI_KeypadPlus = 0x45,
- kVK_ANSI_KeypadClear = 0x47,
- kVK_ANSI_KeypadDivide = 0x4B,
- kVK_ANSI_KeypadEnter = 0x4C,
- kVK_ANSI_KeypadMinus = 0x4E,
- kVK_ANSI_KeypadEquals = 0x51,
- kVK_ANSI_Keypad0 = 0x52,
- kVK_ANSI_Keypad1 = 0x53,
- kVK_ANSI_Keypad2 = 0x54,
- kVK_ANSI_Keypad3 = 0x55,
- kVK_ANSI_Keypad4 = 0x56,
- kVK_ANSI_Keypad5 = 0x57,
- kVK_ANSI_Keypad6 = 0x58,
- kVK_ANSI_Keypad7 = 0x59,
- kVK_ANSI_Keypad8 = 0x5B,
- kVK_ANSI_Keypad9 = 0x5C
-};
-
-/* keycodes for keys that are independent of keyboard layout*/
-enum {
- kVK_Return = 0x24,
- kVK_Tab = 0x30,
- kVK_Space = 0x31,
- kVK_Delete = 0x33,
- kVK_Escape = 0x35,
- kVK_Command = 0x37,
- kVK_Shift = 0x38,
- kVK_CapsLock = 0x39,
- kVK_Option = 0x3A,
- kVK_Control = 0x3B,
- kVK_RightCommand = 0x36,
- kVK_RightShift = 0x3C,
- kVK_RightOption = 0x3D,
- kVK_RightControl = 0x3E,
- kVK_Function = 0x3F,
- kVK_F17 = 0x40,
- kVK_VolumeUp = 0x48,
- kVK_VolumeDown = 0x49,
- kVK_Mute = 0x4A,
- kVK_F18 = 0x4F,
- kVK_F19 = 0x50,
- kVK_F20 = 0x5A,
- kVK_F5 = 0x60,
- kVK_F6 = 0x61,
- kVK_F7 = 0x62,
- kVK_F3 = 0x63,
- kVK_F8 = 0x64,
- kVK_F9 = 0x65,
- kVK_F11 = 0x67,
- kVK_F13 = 0x69,
- kVK_F16 = 0x6A,
- kVK_F14 = 0x6B,
- kVK_F10 = 0x6D,
- kVK_F12 = 0x6F,
- kVK_F15 = 0x71,
- kVK_Help = 0x72,
- kVK_Home = 0x73,
- kVK_PageUp = 0x74,
- kVK_ForwardDelete = 0x75,
- kVK_F4 = 0x76,
- kVK_End = 0x77,
- kVK_F2 = 0x78,
- kVK_PageDown = 0x79,
- kVK_F1 = 0x7A,
- kVK_LeftArrow = 0x7B,
- kVK_RightArrow = 0x7C,
- kVK_DownArrow = 0x7D,
- kVK_UpArrow = 0x7E
-};
-
-/* ISO keyboards only*/
-enum {
- kVK_ISO_Section = 0x0A
-};
-
-/* JIS keyboards only*/
-enum {
- kVK_JIS_Yen = 0x5D,
- kVK_JIS_Underscore = 0x5E,
- kVK_JIS_KeypadComma = 0x5F,
- kVK_JIS_Eisu = 0x66,
- kVK_JIS_Kana = 0x68
-};
-// clang-format on
-
-#endif
diff --git a/src/autotype/mac/CMakeLists.txt b/src/autotype/mac/CMakeLists.txt
index 0179b4a0c..7427450a1 100644
--- a/src/autotype/mac/CMakeLists.txt
+++ b/src/autotype/mac/CMakeLists.txt
@@ -1,7 +1,7 @@
set(autotype_mac_SOURCES AutoTypeMac.cpp)
add_library(keepassx-autotype-cocoa MODULE ${autotype_mac_SOURCES})
-set_target_properties(keepassx-autotype-cocoa PROPERTIES LINK_FLAGS "-framework Foundation -framework AppKit")
+set_target_properties(keepassx-autotype-cocoa PROPERTIES LINK_FLAGS "-framework Foundation -framework AppKit -framework Carbon")
target_link_libraries(keepassx-autotype-cocoa ${PROGNAME} Qt5::Core Qt5::Widgets)
if(WITH_APP_BUNDLE)
diff --git a/src/browser/BrowserService.cpp b/src/browser/BrowserService.cpp
index 2e5088c8a..392d28c43 100644
--- a/src/browser/BrowserService.cpp
+++ b/src/browser/BrowserService.cpp
@@ -18,6 +18,7 @@
*/
#include <QCheckBox>
+#include <QHostAddress>
#include <QInputDialog>
#include <QJsonArray>
#include <QMessageBox>
@@ -600,17 +601,20 @@ BrowserService::searchEntries(const QSharedPointer<Database>& db, const QString&
continue;
}
+ auto domain = baseDomain(hostname);
+
// Search for additional URL's starting with KP2A_URL
if (entry->attributes()->keys().contains(ADDITIONAL_URL)) {
for (const auto& key : entry->attributes()->keys()) {
- if (key.startsWith(ADDITIONAL_URL) && handleURL(entry->attributes()->value(key), hostname, url)) {
+ if (key.startsWith(ADDITIONAL_URL)
+ && handleURL(entry->attributes()->value(key), domain, url)) {
entries.append(entry);
continue;
}
}
}
- if (!handleURL(entry->url(), hostname, url)) {
+ if (!handleURL(entry->url(), domain, url)) {
continue;
}
@@ -928,12 +932,15 @@ int BrowserService::sortPriority(const Entry* entry,
{
QUrl url(entry->url());
if (url.scheme().isEmpty()) {
- url.setScheme("http");
+ url.setScheme("https");
}
const QString entryURL = url.toString(QUrl::StripTrailingSlash);
const QString baseEntryURL =
url.toString(QUrl::StripTrailingSlash | QUrl::RemovePath | QUrl::RemoveQuery | QUrl::RemoveFragment);
+ if (!url.host().contains(".") && url.host() != "localhost") {
+ return 0;
+ }
if (submitUrl == entryURL) {
return 100;
}
@@ -970,7 +977,7 @@ int BrowserService::sortPriority(const Entry* entry,
return 0;
}
-bool BrowserService::matchUrlScheme(const QString& url)
+bool BrowserService::schemeFound(const QString& url)
{
QUrl address(url);
return !address.scheme().isEmpty();
@@ -995,21 +1002,49 @@ bool BrowserService::removeFirstDomain(QString& hostname)
bool BrowserService::handleURL(const QString& entryUrl, const QString& hostname, const QString& url)
{
- QUrl entryQUrl(entryUrl);
- QString entryScheme = entryQUrl.scheme();
+ if (entryUrl.isEmpty()) {
+ return false;
+ }
+
+ QUrl entryQUrl;
+ if (entryUrl.contains("://")) {
+ entryQUrl = entryUrl;
+ } else {
+ entryQUrl = QUrl::fromUserInput(entryUrl);
+
+ if (browserSettings()->matchUrlScheme()) {
+ entryQUrl.setScheme("https");
+ }
+ }
+
+ // URL host validation fails
+ if (browserSettings()->matchUrlScheme() && entryQUrl.host().isEmpty()) {
+ return false;
+ }
+
+ // Match port, if used
QUrl qUrl(url);
+ if (entryQUrl.port() > 0 && entryQUrl.port() != qUrl.port()) {
+ return false;
+ }
- // Ignore entry if port or scheme defined in the URL doesn't match
- if ((entryQUrl.port() > 0 && entryQUrl.port() != qUrl.port())
- || (browserSettings()->matchUrlScheme() && !entryScheme.isEmpty() && entryScheme.compare(qUrl.scheme()) != 0)) {
+ // Match scheme
+ if (browserSettings()->matchUrlScheme() && !entryQUrl.scheme().isEmpty() && entryQUrl.scheme().compare(qUrl.scheme()) != 0) {
+ return false;
+ }
+
+ // Check for illegal characters
+ QRegularExpression re("[<>\\^`{|}]");
+ auto match = re.match(entryUrl);
+ if (match.hasMatch()) {
return false;
}
// Filter to match hostname in URL field
- if ((!entryUrl.isEmpty() && hostname.contains(entryUrl))
- || (matchUrlScheme(entryUrl) && hostname.endsWith(entryQUrl.host()))) {
+ if (entryQUrl.host().endsWith(hostname)) {
return true;
}
+
return false;
};
@@ -1018,19 +1053,25 @@ bool BrowserService::handleURL(const QString& entryUrl, const QString& hostname,
*
* Returns the base domain, e.g. https://another.example.co.uk -> example.co.uk
*/
-QString BrowserService::baseDomain(const QString& url) const
+QString BrowserService::baseDomain(const QString& hostname) const
{
- QUrl qurl = QUrl::fromUserInput(url);
- QString hostname = qurl.host();
+ QUrl qurl = QUrl::fromUserInput(hostname);
+ QString host = qurl.host();
+
+ // If the hostname is an IP address, return it directly
+ QHostAddress hostAddress(hostname);
+ if (!hostAddress.isNull()) {
+ return hostname;
+ }
- if (hostname.isEmpty() || !hostname.contains(qurl.topLevelDomain())) {
+ if (host.isEmpty() || !host.contains(qurl.topLevelDomain())) {
return {};
}
// Remove the top level domain part from the hostname, e.g. https://another.example.co.uk -> https://another.example
- hostname.chop(qurl.topLevelDomain().length());
+ host.chop(qurl.topLevelDomain().length());
// Split the URL and select the last part, e.g. https://another.example -> example
- QString baseDomain = hostname.split('.').last();
+ QString baseDomain = host.split('.').last();
// Append the top level domain back to the URL, e.g. example -> example.co.uk
baseDomain.append(qurl.topLevelDomain());
return baseDomain;
@@ -1070,7 +1111,7 @@ QSharedPointer<Database> BrowserService::selectedDatabase()
if (res == QDialog::Accepted) {
const auto selectedDatabase = browserEntrySaveDialog.getSelected();
if (selectedDatabase.length() > 0) {
- int index = selectedDatabase[0]->data(Qt::UserRole).toUInt();
+ int index = selectedDatabase[0]->data(Qt::UserRole).toInt();
return databaseWidgets[index]->database();
}
} else {
@@ -1188,7 +1229,7 @@ void BrowserService::raiseWindow(const bool force)
m_prevWindowState = WindowState::Minimized;
}
#ifdef Q_OS_MACOS
- Q_UNUSED(force);
+ Q_UNUSED(force)
if (macUtils()->isHidden()) {
m_prevWindowState = WindowState::Hidden;
diff --git a/src/browser/BrowserService.h b/src/browser/BrowserService.h
index 81d3ed317..cb20ecbfb 100644
--- a/src/browser/BrowserService.h
+++ b/src/browser/BrowserService.h
@@ -128,10 +128,10 @@ private:
Group* getDefaultEntryGroup(const QSharedPointer<Database>& selectedDb = {});
int
sortPriority(const Entry* entry, const QString& host, const QString& submitUrl, const QString& baseSubmitUrl) const;
- bool matchUrlScheme(const QString& url);
+ bool schemeFound(const QString& url);
bool removeFirstDomain(QString& hostname);
bool handleURL(const QString& entryUrl, const QString& hostname, const QString& url);
- QString baseDomain(const QString& url) const;
+ QString baseDomain(const QString& hostname) const;
QSharedPointer<Database> getDatabase();
QSharedPointer<Database> selectedDatabase();
QJsonArray getChildrenFromGroup(Group* group);
diff --git a/src/cli/Clip.cpp b/src/cli/Clip.cpp
index 2b1dfdc1b..482ad8a13 100644
--- a/src/cli/Clip.cpp
+++ b/src/cli/Clip.cpp
@@ -46,7 +46,7 @@ Clip::Clip()
int Clip::executeWithDatabase(QSharedPointer<Database> database, QSharedPointer<QCommandLineParser> parser)
{
const QStringList args = parser->positionalArguments();
- QString entryPath = args.at(1);
+ const QString& entryPath = args.at(1);
QString timeout;
if (args.size() == 3) {
timeout = args.at(2);
diff --git a/src/cli/Import.cpp b/src/cli/Import.cpp
index ff6fb266b..0907f00ab 100644
--- a/src/cli/Import.cpp
+++ b/src/cli/Import.cpp
@@ -60,8 +60,8 @@ int Import::execute(const QStringList& arguments)
TextStream errorTextStream(Utils::STDERR, QIODevice::WriteOnly);
const QStringList args = parser->positionalArguments();
- const QString xmlExportPath = args.at(0);
- const QString dbPath = args.at(1);
+ const QString& xmlExportPath = args.at(0);
+ const QString& dbPath = args.at(1);
if (QFileInfo::exists(dbPath)) {
errorTextStream << QObject::tr("File %1 already exists.").arg(dbPath) << endl;
diff --git a/src/cli/List.cpp b/src/cli/List.cpp
index 62e67aed8..d068cdf53 100644
--- a/src/cli/List.cpp
+++ b/src/cli/List.cpp
@@ -60,7 +60,7 @@ int List::executeWithDatabase(QSharedPointer<Database> database, QSharedPointer<
return EXIT_SUCCESS;
}
- QString groupPath = args.at(1);
+ const QString& groupPath = args.at(1);
Group* group = database->rootGroup()->findGroupByPath(groupPath);
if (!group) {
errorTextStream << QObject::tr("Cannot find group %1.").arg(groupPath) << endl;
diff --git a/src/cli/Locate.cpp b/src/cli/Locate.cpp
index eeb37d803..9b574852d 100644
--- a/src/cli/Locate.cpp
+++ b/src/cli/Locate.cpp
@@ -40,7 +40,7 @@ int Locate::executeWithDatabase(QSharedPointer<Database> database, QSharedPointe
{
const QStringList args = parser->positionalArguments();
- QString searchTerm = args.at(1);
+ const QString& searchTerm = args.at(1);
TextStream outputTextStream(Utils::STDOUT, QIODevice::WriteOnly);
TextStream errorTextStream(Utils::STDERR, QIODevice::WriteOnly);
diff --git a/src/cli/Show.cpp b/src/cli/Show.cpp
index 7da1c871c..646d5d90d 100644
--- a/src/cli/Show.cpp
+++ b/src/cli/Show.cpp
@@ -31,6 +31,11 @@ const QCommandLineOption Show::TotpOption = QCommandLineOption(QStringList() <<
<< "totp",
QObject::tr("Show the entry's current TOTP."));
+const QCommandLineOption Show::ProtectedAttributesOption =
+ QCommandLineOption(QStringList() << "s"
+ << "show-protected",
+ QObject::tr("Show the protected attributes in clear text."));
+
const QCommandLineOption Show::AttributesOption = QCommandLineOption(
QStringList() << "a"
<< "attributes",
@@ -46,6 +51,7 @@ Show::Show()
description = QObject::tr("Show an entry's information.");
options.append(Show::TotpOption);
options.append(Show::AttributesOption);
+ options.append(Show::ProtectedAttributesOption);
positionalArguments.append({QString("entry"), QObject::tr("Name of the entry to show."), QString("")});
}
@@ -57,6 +63,7 @@ int Show::executeWithDatabase(QSharedPointer<Database> database, QSharedPointer<
const QStringList args = parser->positionalArguments();
const QString& entryPath = args.at(1);
bool showTotp = parser->isSet(Show::TotpOption);
+ bool showProtectedAttributes = parser->isSet(Show::ProtectedAttributesOption);
QStringList attributes = parser->values(Show::AttributesOption);
Entry* entry = database->rootGroup()->findEntryByPath(entryPath);
@@ -78,16 +85,20 @@ int Show::executeWithDatabase(QSharedPointer<Database> database, QSharedPointer<
// Iterate over the attributes and output them line-by-line.
bool sawUnknownAttribute = false;
- for (const QString& attribute : asConst(attributes)) {
- if (!entry->attributes()->contains(attribute)) {
+ for (const QString& attributeName : asConst(attributes)) {
+ if (!entry->attributes()->contains(attributeName)) {
sawUnknownAttribute = true;
- errorTextStream << QObject::tr("ERROR: unknown attribute %1.").arg(attribute) << endl;
+ errorTextStream << QObject::tr("ERROR: unknown attribute %1.").arg(attributeName) << endl;
continue;
}
if (showAttributeNames) {
- outputTextStream << attribute << ": ";
+ outputTextStream << attributeName << ": ";
+ }
+ if (entry->attributes()->isProtected(attributeName) && showAttributeNames && !showProtectedAttributes) {
+ outputTextStream << "PROTECTED" << endl;
+ } else {
+ outputTextStream << entry->resolveMultiplePlaceholders(entry->attributes()->value(attributeName)) << endl;
}
- outputTextStream << entry->resolveMultiplePlaceholders(entry->attributes()->value(attribute)) << endl;
}
if (showTotp) {
diff --git a/src/cli/Show.h b/src/cli/Show.h
index 03700b465..bf76c6973 100644
--- a/src/cli/Show.h
+++ b/src/cli/Show.h
@@ -29,6 +29,7 @@ public:
static const QCommandLineOption TotpOption;
static const QCommandLineOption AttributesOption;
+ static const QCommandLineOption ProtectedAttributesOption;
};
#endif // KEEPASSXC_SHOW_H
diff --git a/src/core/Alloc.cpp b/src/core/Alloc.cpp
index 967b4e3ef..625386a3f 100644
--- a/src/core/Alloc.cpp
+++ b/src/core/Alloc.cpp
@@ -23,8 +23,10 @@
#include <malloc/malloc.h>
#elif defined(Q_OS_FREEBSD)
#include <malloc_np.h>
-#else
+#elif defined(HAVE_MALLOC_H)
#include <malloc.h>
+#else
+#include <stdlib.h>
#endif
#if defined(NDEBUG) && !defined(__cpp_sized_deallocation)
@@ -64,7 +66,7 @@ void operator delete(void* ptr) noexcept
::operator delete(ptr, _msize(ptr));
#elif defined(Q_OS_MACOS)
::operator delete(ptr, malloc_size(ptr));
-#elif defined(Q_OS_UNIX)
+#elif defined(HAVE_MALLOC_USABLE_SIZE)
::operator delete(ptr, malloc_usable_size(ptr));
#else
// whatever OS this is, give up and simply free stuff
diff --git a/src/core/Database.cpp b/src/core/Database.cpp
index 944597f56..4cccd6d53 100644
--- a/src/core/Database.cpp
+++ b/src/core/Database.cpp
@@ -72,11 +72,7 @@ Database::Database(const QString& filePath)
Database::~Database()
{
- s_uuidMap.remove(m_uuid);
-
- if (m_modified) {
- emit databaseDiscarded();
- }
+ releaseData();
}
QUuid Database::uuid() const
@@ -158,7 +154,7 @@ bool Database::open(const QString& filePath, QSharedPointer<const CompositeKey>
m_initialized = true;
emit databaseOpened();
- m_fileWatcher->start(canonicalFilePath());
+ m_fileWatcher->start(canonicalFilePath(), 30, 1);
setEmitModified(true);
return true;
@@ -234,7 +230,7 @@ bool Database::saveAs(const QString& filePath, QString* error, bool atomic, bool
bool ok = performSave(canonicalFilePath, error, atomic, backup);
if (ok) {
setFilePath(filePath);
- m_fileWatcher->start(canonicalFilePath);
+ m_fileWatcher->start(canonicalFilePath, 30, 1);
} else {
// Saving failed, don't rewatch file since it does not represent our database
markAsModified();
@@ -320,7 +316,11 @@ bool Database::writeDatabase(QIODevice* device, QString* error)
return false;
}
- QByteArray oldTransformedKey = m_data.transformedMasterKey;
+ PasswordKey oldTransformedKey;
+ if (m_data.hasKey) {
+ oldTransformedKey.setHash(m_data.transformedMasterKey->rawKey());
+ }
+
KeePass2Writer writer;
setEmitModified(false);
writer.writeDatabase(device, this);
@@ -333,9 +333,10 @@ bool Database::writeDatabase(QIODevice* device, QString* error)
return false;
}
- Q_ASSERT(!m_data.transformedMasterKey.isEmpty());
- Q_ASSERT(m_data.transformedMasterKey != oldTransformedKey);
- if (m_data.transformedMasterKey.isEmpty() || m_data.transformedMasterKey == oldTransformedKey) {
+ QByteArray newKey = m_data.transformedMasterKey->rawKey();
+ Q_ASSERT(!newKey.isEmpty());
+ Q_ASSERT(newKey != oldTransformedKey.rawKey());
+ if (newKey.isEmpty() || newKey == oldTransformedKey.rawKey()) {
if (error) {
*error = tr("Key not transformed. This is a bug, please report it to the developers!");
}
@@ -379,6 +380,43 @@ bool Database::import(const QString& xmlExportPath, QString* error)
}
/**
+ * Release all stored group, entry, and meta data of this database.
+ *
+ * Call this method to ensure all data is cleared even if valid
+ * pointers to this Database object are still being held.
+ *
+ * A previously reparented root group will not be freed.
+ */
+
+void Database::releaseData()
+{
+ s_uuidMap.remove(m_uuid);
+ m_uuid = QUuid();
+
+ if (m_modified) {
+ emit databaseDiscarded();
+ }
+
+ m_data.clear();
+
+ if (m_rootGroup && m_rootGroup->parent() == this) {
+ delete m_rootGroup;
+ }
+ if (m_metadata) {
+ delete m_metadata;
+ }
+ if (m_fileWatcher) {
+ delete m_fileWatcher;
+ }
+
+ m_deletedObjects.clear();
+ m_commonUsernames.clear();
+
+ m_initialized = false;
+ m_modified = false;
+}
+
+/**
* Remove the old backup and replace it with a new one
* backups are named <filename>.old.<extension>
*
@@ -598,19 +636,24 @@ Database::CompressionAlgorithm Database::compressionAlgorithm() const
QByteArray Database::transformedMasterKey() const
{
- return m_data.transformedMasterKey;
+ return m_data.transformedMasterKey->rawKey();
}
QByteArray Database::challengeResponseKey() const
{
- return m_data.challengeResponseKey;
+ return m_data.challengeResponseKey->rawKey();
}
bool Database::challengeMasterSeed(const QByteArray& masterSeed)
{
if (m_data.key) {
- m_data.masterSeed = masterSeed;
- return m_data.key->challenge(masterSeed, m_data.challengeResponseKey);
+ m_data.masterSeed->setHash(masterSeed);
+ QByteArray response;
+ bool ok = m_data.key->challenge(masterSeed, response);
+ if (ok && !response.isEmpty()) {
+ m_data.challengeResponseKey->setHash(response);
+ }
+ return ok;
}
return false;
}
@@ -647,7 +690,7 @@ bool Database::setKey(const QSharedPointer<const CompositeKey>& key,
if (!key) {
m_data.key.reset();
- m_data.transformedMasterKey = {};
+ m_data.transformedMasterKey.reset(new PasswordKey());
m_data.hasKey = false;
return true;
}
@@ -657,22 +700,29 @@ bool Database::setKey(const QSharedPointer<const CompositeKey>& key,
Q_ASSERT(!m_data.kdf->seed().isEmpty());
}
- QByteArray oldTransformedMasterKey = m_data.transformedMasterKey;
+ PasswordKey oldTransformedMasterKey;
+ if (m_data.hasKey) {
+ oldTransformedMasterKey.setHash(m_data.transformedMasterKey->rawKey());
+ }
+
QByteArray transformedMasterKey;
+
if (!transformKey) {
- transformedMasterKey = oldTransformedMasterKey;
+ transformedMasterKey = QByteArray(oldTransformedMasterKey.rawKey());
} else if (!key->transform(*m_data.kdf, transformedMasterKey)) {
return false;
}
m_data.key = key;
- m_data.transformedMasterKey = transformedMasterKey;
+ if (!transformedMasterKey.isEmpty()) {
+ m_data.transformedMasterKey->setHash(transformedMasterKey);
+ }
m_data.hasKey = true;
if (updateChangedTime) {
m_metadata->setMasterKeyChanged(Clock::currentDateTimeUtc());
}
- if (oldTransformedMasterKey != m_data.transformedMasterKey) {
+ if (oldTransformedMasterKey.rawKey() != m_data.transformedMasterKey->rawKey()) {
markAsModified();
}
@@ -688,15 +738,15 @@ bool Database::verifyKey(const QSharedPointer<CompositeKey>& key) const
{
Q_ASSERT(hasKey());
- if (!m_data.challengeResponseKey.isEmpty()) {
+ if (!m_data.challengeResponseKey->rawKey().isEmpty()) {
QByteArray result;
- if (!key->challenge(m_data.masterSeed, result)) {
+ if (!key->challenge(m_data.masterSeed->rawKey(), result)) {
// challenge failed, (YubiKey?) removed?
return false;
}
- if (m_data.challengeResponseKey != result) {
+ if (m_data.challengeResponseKey->rawKey() != result) {
// wrong response from challenged device(s)
return false;
}
@@ -861,7 +911,7 @@ bool Database::changeKdf(const QSharedPointer<Kdf>& kdf)
}
setKdf(kdf);
- m_data.transformedMasterKey = transformedMasterKey;
+ m_data.transformedMasterKey->setHash(transformedMasterKey);
markAsModified();
return true;
diff --git a/src/core/Database.h b/src/core/Database.h
index 7f504cc55..9c9929945 100644
--- a/src/core/Database.h
+++ b/src/core/Database.h
@@ -23,11 +23,13 @@
#include <QHash>
#include <QObject>
#include <QPointer>
+#include <QScopedPointer>
#include "config-keepassx.h"
#include "crypto/kdf/AesKdf.h"
#include "crypto/kdf/Kdf.h"
#include "format/KeePass2.h"
+#include "keys/PasswordKey.h"
#include "keys/CompositeKey.h"
class Entry;
@@ -76,6 +78,8 @@ public:
bool extract(QByteArray&, QString* error = nullptr);
bool import(const QString& xmlExportPath, QString* error = nullptr);
+ void releaseData();
+
bool isInitialized() const;
void setInitialized(bool initialized);
bool isModified() const;
@@ -161,18 +165,39 @@ private:
bool isReadOnly = false;
QUuid cipher = KeePass2::CIPHER_AES256;
CompressionAlgorithm compressionAlgorithm = CompressionGZip;
- QByteArray transformedMasterKey;
- QSharedPointer<Kdf> kdf = QSharedPointer<AesKdf>::create(true);
- QSharedPointer<const CompositeKey> key;
+
+ QScopedPointer<PasswordKey> masterSeed;
+ QScopedPointer<PasswordKey> transformedMasterKey;
+ QScopedPointer<PasswordKey> challengeResponseKey;
+
bool hasKey = false;
- QByteArray masterSeed;
- QByteArray challengeResponseKey;
+ QSharedPointer<const CompositeKey> key;
+ QSharedPointer<Kdf> kdf = QSharedPointer<AesKdf>::create(true);
+
QVariantMap publicCustomData;
DatabaseData()
+ : masterSeed(new PasswordKey())
+ , transformedMasterKey(new PasswordKey())
+ , challengeResponseKey(new PasswordKey())
{
kdf->randomizeSeed();
}
+
+ void clear()
+ {
+ filePath.clear();
+
+ masterSeed.reset();
+ transformedMasterKey.reset();
+ challengeResponseKey.reset();
+
+ hasKey = false;
+ key.reset();
+ kdf.reset();
+
+ publicCustomData.clear();
+ }
};
void createRecycleBin();
@@ -182,9 +207,9 @@ private:
bool restoreDatabase(const QString& filePath);
bool performSave(const QString& filePath, QString* error, bool atomic, bool backup);
- Metadata* const m_metadata;
+ QPointer<Metadata> const m_metadata;
DatabaseData m_data;
- Group* m_rootGroup;
+ QPointer<Group> m_rootGroup;
QList<DeletedObject> m_deletedObjects;
QPointer<QTimer> m_timer;
QPointer<FileWatcher> m_fileWatcher;
diff --git a/src/core/EntrySearcher.cpp b/src/core/EntrySearcher.cpp
index 79e43e71a..21b86a7a1 100644
--- a/src/core/EntrySearcher.cpp
+++ b/src/core/EntrySearcher.cpp
@@ -29,6 +29,20 @@ EntrySearcher::EntrySearcher(bool caseSensitive)
}
/**
+ * Search group, and its children, directly by provided search terms
+ * @param searchTerms search terms
+ * @param baseGroup group to start search from, cannot be null
+ * @param forceSearch ignore group search settings
+ * @return list of entries that match the search terms
+ */
+QList<Entry*> EntrySearcher::search(const QList<SearchTerm>& searchTerms, const Group* baseGroup, bool forceSearch)
+{
+ Q_ASSERT(baseGroup);
+ m_searchTerms = searchTerms;
+ return repeat(baseGroup, forceSearch);
+}
+
+/**
* Search group, and its children, by parsing the provided search
* string for search terms.
*
@@ -70,6 +84,19 @@ QList<Entry*> EntrySearcher::repeat(const Group* baseGroup, bool forceSearch)
}
/**
+ * Search provided entries by the provided search terms
+ *
+ * @param searchTerms search terms
+ * @param entries list of entries to include in the search
+ * @return list of entries that match the search terms
+ */
+QList<Entry*> EntrySearcher::searchEntries(const QList<SearchTerm>& searchTerms, const QList<Entry*>& entries)
+{
+ m_searchTerms = searchTerms;
+ return repeatEntries(entries);
+}
+
+/**
* Search provided entries by parsing the search string
* for search terms.
*
@@ -124,46 +151,46 @@ bool EntrySearcher::searchEntryImpl(Entry* entry)
bool found;
for (const auto& term : m_searchTerms) {
- switch (term->field) {
+ switch (term.field) {
case Field::Title:
- found = term->regex.match(entry->resolvePlaceholder(entry->title())).hasMatch();
+ found = term.regex.match(entry->resolvePlaceholder(entry->title())).hasMatch();
break;
case Field::Username:
- found = term->regex.match(entry->resolvePlaceholder(entry->username())).hasMatch();
+ found = term.regex.match(entry->resolvePlaceholder(entry->username())).hasMatch();
break;
case Field::Password:
- found = term->regex.match(entry->resolvePlaceholder(entry->password())).hasMatch();
+ found = term.regex.match(entry->resolvePlaceholder(entry->password())).hasMatch();
break;
case Field::Url:
- found = term->regex.match(entry->resolvePlaceholder(entry->url())).hasMatch();
+ found = term.regex.match(entry->resolvePlaceholder(entry->url())).hasMatch();
break;
case Field::Notes:
- found = term->regex.match(entry->notes()).hasMatch();
+ found = term.regex.match(entry->notes()).hasMatch();
break;
- case Field::AttributeKey:
- found = !attributes.filter(term->regex).empty();
+ case Field::AttributeKV:
+ found = !attributes.filter(term.regex).empty();
break;
case Field::Attachment:
- found = !attachments.filter(term->regex).empty();
+ found = !attachments.filter(term.regex).empty();
break;
case Field::AttributeValue:
// skip protected attributes
- if (entry->attributes()->isProtected(term->word)) {
+ if (entry->attributes()->isProtected(term.word)) {
continue;
}
- found = entry->attributes()->contains(term->word)
- && term->regex.match(entry->attributes()->value(term->word)).hasMatch();
+ found = entry->attributes()->contains(term.word)
+ && term.regex.match(entry->attributes()->value(term.word)).hasMatch();
break;
default:
// Terms without a specific field try to match title, username, url, and notes
- found = term->regex.match(entry->resolvePlaceholder(entry->title())).hasMatch()
- || term->regex.match(entry->resolvePlaceholder(entry->username())).hasMatch()
- || term->regex.match(entry->resolvePlaceholder(entry->url())).hasMatch()
- || term->regex.match(entry->notes()).hasMatch();
+ found = term.regex.match(entry->resolvePlaceholder(entry->title())).hasMatch()
+ || term.regex.match(entry->resolvePlaceholder(entry->username())).hasMatch()
+ || term.regex.match(entry->resolvePlaceholder(entry->url())).hasMatch()
+ || term.regex.match(entry->notes()).hasMatch();
}
// Short circuit if we failed to match or we matched and are excluding this term
- if ((!found && !term->exclude) || (found && term->exclude)) {
+ if ((!found && !term.exclude) || (found && term.exclude)) {
return false;
}
}
@@ -175,7 +202,7 @@ void EntrySearcher::parseSearchTerms(const QString& searchString)
{
static const QList<QPair<QString, Field>> fieldnames{
{QStringLiteral("attachment"), Field::Attachment},
- {QStringLiteral("attribute"), Field::AttributeKey},
+ {QStringLiteral("attribute"), Field::AttributeKV},
{QStringLiteral("notes"), Field::Notes},
{QStringLiteral("pw"), Field::Password},
{QStringLiteral("password"), Field::Password},
@@ -188,44 +215,44 @@ void EntrySearcher::parseSearchTerms(const QString& searchString)
auto results = m_termParser.globalMatch(searchString);
while (results.hasNext()) {
auto result = results.next();
- auto term = QSharedPointer<SearchTerm>::create();
+ SearchTerm term{};
// Quoted string group
- term->word = result.captured(3);
+ term.word = result.captured(3);
// If empty, use the unquoted string group
- if (term->word.isEmpty()) {
- term->word = result.captured(4);
+ if (term.word.isEmpty()) {
+ term.word = result.captured(4);
}
// If still empty, ignore this match
- if (term->word.isEmpty()) {
+ if (term.word.isEmpty()) {
continue;
}
auto mods = result.captured(1);
// Convert term to regex
- term->regex = Tools::convertToRegex(term->word, !mods.contains("*"), mods.contains("+"), m_caseSensitive);
+ term.regex = Tools::convertToRegex(term.word, !mods.contains("*"), mods.contains("+"), m_caseSensitive);
// Exclude modifier
- term->exclude = mods.contains("-") || mods.contains("!");
+ term.exclude = mods.contains("-") || mods.contains("!");
// Determine the field to search
- term->field = Field::Undefined;
+ term.field = Field::Undefined;
QString field = result.captured(2);
if (!field.isEmpty()) {
if (field.startsWith("_", Qt::CaseInsensitive)) {
- term->field = Field::AttributeValue;
+ term.field = Field::AttributeValue;
// searching a custom attribute
- // in this case term->word is the attribute key (removing the leading "_")
- // and term->regex is used to match attribute value
- term->word = field.mid(1);
+ // in this case term.word is the attribute key (removing the leading "_")
+ // and term.regex is used to match attribute value
+ term.word = field.mid(1);
} else {
for (const auto& pair : fieldnames) {
if (pair.first.startsWith(field, Qt::CaseInsensitive)) {
- term->field = pair.second;
+ term.field = pair.second;
break;
}
}
diff --git a/src/core/EntrySearcher.h b/src/core/EntrySearcher.h
index 4a3394924..2300fcf29 100644
--- a/src/core/EntrySearcher.h
+++ b/src/core/EntrySearcher.h
@@ -28,18 +28,6 @@ class Entry;
class EntrySearcher
{
public:
- explicit EntrySearcher(bool caseSensitive = false);
-
- QList<Entry*> search(const QString& searchString, const Group* baseGroup, bool forceSearch = false);
- QList<Entry*> repeat(const Group* baseGroup, bool forceSearch = false);
-
- QList<Entry*> searchEntries(const QString& searchString, const QList<Entry*>& entries);
- QList<Entry*> repeatEntries(const QList<Entry*>& entries);
-
- void setCaseSensitive(bool state);
- bool isCaseSensitive();
-
-private:
enum class Field
{
Undefined,
@@ -48,7 +36,7 @@ private:
Password,
Url,
Notes,
- AttributeKey,
+ AttributeKV,
Attachment,
AttributeValue
};
@@ -56,17 +44,32 @@ private:
struct SearchTerm
{
Field field;
+ // only used when field == Field::AttributeValue
QString word;
QRegularExpression regex;
bool exclude;
};
+ explicit EntrySearcher(bool caseSensitive = false);
+
+ QList<Entry*> search(const QList<SearchTerm>& searchTerms, const Group* baseGroup, bool forceSearch = false);
+ QList<Entry*> search(const QString& searchString, const Group* baseGroup, bool forceSearch = false);
+ QList<Entry*> repeat(const Group* baseGroup, bool forceSearch = false);
+
+ QList<Entry*> searchEntries(const QList<SearchTerm>& searchTerms, const QList<Entry*>& entries);
+ QList<Entry*> searchEntries(const QString& searchString, const QList<Entry*>& entries);
+ QList<Entry*> repeatEntries(const QList<Entry*>& entries);
+
+ void setCaseSensitive(bool state);
+ bool isCaseSensitive();
+
+private:
bool searchEntryImpl(Entry* entry);
void parseSearchTerms(const QString& searchString);
bool m_caseSensitive;
QRegularExpression m_termParser;
- QList<QSharedPointer<SearchTerm>> m_searchTerms;
+ QList<SearchTerm> m_searchTerms;
friend class TestEntrySearcher;
};
diff --git a/src/core/FileWatcher.cpp b/src/core/FileWatcher.cpp
index 1b39e597d..0d1def31a 100644
--- a/src/core/FileWatcher.cpp
+++ b/src/core/FileWatcher.cpp
@@ -18,7 +18,9 @@
#include "FileWatcher.h"
+#include "core/AsyncTask.h"
#include "core/Clock.h"
+
#include <QCryptographicHash>
#include <QFileInfo>
@@ -42,7 +44,7 @@ FileWatcher::FileWatcher(QObject* parent)
m_fileIgnoreDelayTimer.setSingleShot(true);
}
-void FileWatcher::start(const QString& filePath, int checksumInterval)
+void FileWatcher::start(const QString& filePath, int checksumIntervalSeconds, int checksumSizeKibibytes)
{
stop();
@@ -63,8 +65,14 @@ void FileWatcher::start(const QString& filePath, int checksumInterval)
m_fileWatcher.addPath(filePath);
m_filePath = filePath;
+
+ // Handle file checksum
+ m_fileChecksumSizeBytes = checksumSizeKibibytes * 1024;
m_fileChecksum = calculateChecksum();
- m_fileChecksumTimer.start(checksumInterval);
+ if (checksumIntervalSeconds > 0) {
+ m_fileChecksumTimer.start(checksumIntervalSeconds * 1000);
+ }
+
m_ignoreFileChange = false;
}
@@ -128,14 +136,19 @@ void FileWatcher::checkFileChecksum()
QByteArray FileWatcher::calculateChecksum()
{
- QFile file(m_filePath);
- if (file.open(QFile::ReadOnly)) {
- QCryptographicHash hash(QCryptographicHash::Sha256);
- if (hash.addData(&file)) {
+ return AsyncTask::runAndWaitForFuture([this]() -> QByteArray {
+ QFile file(m_filePath);
+ if (file.open(QFile::ReadOnly)) {
+ QCryptographicHash hash(QCryptographicHash::Sha256);
+ if (m_fileChecksumSizeBytes > 0) {
+ hash.addData(file.read(m_fileChecksumSizeBytes));
+ } else {
+ hash.addData(&file);
+ }
return hash.result();
}
- }
- return {};
+ return {};
+ });
}
BulkFileWatcher::BulkFileWatcher(QObject* parent)
diff --git a/src/core/FileWatcher.h b/src/core/FileWatcher.h
index 3793ae860..fea05fc84 100644
--- a/src/core/FileWatcher.h
+++ b/src/core/FileWatcher.h
@@ -30,7 +30,7 @@ class FileWatcher : public QObject
public:
explicit FileWatcher(QObject* parent = nullptr);
- void start(const QString& path, int checksumInterval = 1000);
+ void start(const QString& path, int checksumIntervalSeconds = 0, int checksumSizeKibibytes = -1);
void stop();
bool hasSameFileChecksum();
@@ -56,6 +56,7 @@ private:
QTimer m_fileChangeDelayTimer;
QTimer m_fileIgnoreDelayTimer;
QTimer m_fileChecksumTimer;
+ int m_fileChecksumSizeBytes;
bool m_ignoreFileChange;
};
diff --git a/src/core/Global.h b/src/core/Global.h
index 64570b33b..9ebe78790 100644
--- a/src/core/Global.h
+++ b/src/core/Global.h
@@ -36,6 +36,12 @@
#define QUINT32_MAX 4294967295U
#endif
+#if defined(Q_OS_WIN) || defined(Q_OS_MACOS)
+#define FILE_CASE_SENSITIVE Qt::CaseInsensitive
+#else
+#define FILE_CASE_SENSITIVE Qt::CaseSensitive
+#endif
+
template <typename T> struct AddConst
{
typedef const T Type;
diff --git a/src/core/IconDownloader.cpp b/src/core/IconDownloader.cpp
index 36047ce2a..fe346becd 100644
--- a/src/core/IconDownloader.cpp
+++ b/src/core/IconDownloader.cpp
@@ -90,7 +90,7 @@ void IconDownloader::setUrl(const QString& entryUrl)
// searching for a match with the returned address(es).
bool hostIsIp = false;
QList<QHostAddress> hostAddressess = QHostInfo::fromName(fullyQualifiedDomain).addresses();
- for (auto addr : hostAddressess) {
+ for (const auto& addr : hostAddressess) {
if (addr.toString() == fullyQualifiedDomain) {
hostIsIp = true;
}
diff --git a/src/core/Tools.cpp b/src/core/Tools.cpp
index 9035a96a7..2dbf0093d 100644
--- a/src/core/Tools.cpp
+++ b/src/core/Tools.cpp
@@ -108,6 +108,9 @@ namespace Tools
#ifdef WITH_XC_TOUCHID
extensions += "\n- " + QObject::tr("TouchID");
#endif
+#ifdef WITH_XC_FDOSECRETS
+ extensions += "\n- " + QObject::tr("Secret Service Integration");
+#endif
if (extensions.isEmpty())
extensions = " " + QObject::tr("None");
diff --git a/src/fdosecrets/objects/Collection.cpp b/src/fdosecrets/objects/Collection.cpp
index ccf88cecc..c826c1db0 100644
--- a/src/fdosecrets/objects/Collection.cpp
+++ b/src/fdosecrets/objects/Collection.cpp
@@ -24,7 +24,7 @@
#include "core/Config.h"
#include "core/Database.h"
-#include "core/EntrySearcher.h"
+#include "core/Tools.h"
#include "gui/DatabaseTabWidget.h"
#include "gui/DatabaseWidget.h"
@@ -233,24 +233,16 @@ namespace FdoSecrets
}
}
- static QMap<QString, QString> attrKeyToField{
- {EntryAttributes::TitleKey, QStringLiteral("title")},
- {EntryAttributes::UserNameKey, QStringLiteral("user")},
- {EntryAttributes::URLKey, QStringLiteral("url")},
- {EntryAttributes::NotesKey, QStringLiteral("notes")},
- };
-
- QStringList terms;
+ QList<EntrySearcher::SearchTerm> terms;
for (auto it = attributes.constBegin(); it != attributes.constEnd(); ++it) {
if (it.key() == EntryAttributes::PasswordKey) {
continue;
}
- auto field = attrKeyToField.value(it.key(), QStringLiteral("_") + Item::encodeAttributeKey(it.key()));
- terms << QStringLiteral(R"raw(+%1:"%2")raw").arg(field, it.value());
+ terms << attributeToTerm(it.key(), it.value());
}
QList<Item*> items;
- const auto foundEntries = EntrySearcher().search(terms.join(' '), m_exposedGroup);
+ const auto foundEntries = EntrySearcher().search(terms, m_exposedGroup);
items.reserve(foundEntries.size());
for (const auto& entry : foundEntries) {
items << m_entryToItem.value(entry);
@@ -258,6 +250,28 @@ namespace FdoSecrets
return items;
}
+ EntrySearcher::SearchTerm Collection::attributeToTerm(const QString& key, const QString& value)
+ {
+ static QMap<QString, EntrySearcher::Field> attrKeyToField{
+ {EntryAttributes::TitleKey, EntrySearcher::Field::Title},
+ {EntryAttributes::UserNameKey, EntrySearcher::Field::Username},
+ {EntryAttributes::URLKey, EntrySearcher::Field::Url},
+ {EntryAttributes::NotesKey, EntrySearcher::Field::Notes},
+ };
+
+ EntrySearcher::SearchTerm term{};
+ term.field = attrKeyToField.value(key, EntrySearcher::Field::AttributeValue);
+ term.word = key;
+ term.exclude = false;
+
+ const auto useWildcards = false;
+ const auto exactMatch = true;
+ const auto caseSensitive = true;
+ term.regex = Tools::convertToRegex(value, useWildcards, exactMatch, caseSensitive);
+
+ return term;
+ }
+
DBusReturn<Item*>
Collection::createItem(const QVariantMap& properties, const SecretStruct& secret, bool replace, PromptBase*& prompt)
{
diff --git a/src/fdosecrets/objects/Collection.h b/src/fdosecrets/objects/Collection.h
index f11669b7d..de9db3a49 100644
--- a/src/fdosecrets/objects/Collection.h
+++ b/src/fdosecrets/objects/Collection.h
@@ -21,6 +21,7 @@
#include "DBusObject.h"
#include "adaptors/CollectionAdaptor.h"
+#include "core/EntrySearcher.h"
#include <QPointer>
#include <QSet>
@@ -90,6 +91,8 @@ namespace FdoSecrets
bool inRecycleBin(Group* group) const;
bool inRecycleBin(Entry* entry) const;
+ static EntrySearcher::SearchTerm attributeToTerm(const QString& key, const QString& value);
+
public slots:
// expose some methods for Prmopt to use
void doLock();
diff --git a/src/fdosecrets/objects/Item.cpp b/src/fdosecrets/objects/Item.cpp
index 18624bbdb..f3b8bceb7 100644
--- a/src/fdosecrets/objects/Item.cpp
+++ b/src/fdosecrets/objects/Item.cpp
@@ -99,10 +99,7 @@ namespace FdoSecrets
// add custom attributes
const auto customKeys = entryAttrs->customKeys();
for (const auto& attr : customKeys) {
- // decode attr key
- auto decoded = decodeAttributeKey(attr);
-
- attrs[decoded] = entryAttrs->value(attr);
+ attrs[attr] = entryAttrs->value(attr);
}
// add some informative and readonly attributes
@@ -134,8 +131,7 @@ namespace FdoSecrets
continue;
}
- auto encoded = encodeAttributeKey(it.key());
- entryAttrs->set(encoded, it.value());
+ entryAttrs->set(it.key(), it.value());
}
m_backend->endUpdate();
@@ -354,16 +350,6 @@ namespace FdoSecrets
return pathComponents.join('/');
}
- QString Item::encodeAttributeKey(const QString& key)
- {
- return QUrl::toPercentEncoding(key, "", "_:").replace('%', '_');
- }
-
- QString Item::decodeAttributeKey(const QString& key)
- {
- return QString::fromUtf8(QByteArray::fromPercentEncoding(key.toLatin1(), '_'));
- }
-
void setEntrySecret(Entry* entry, const QByteArray& data, const QString& contentType)
{
auto mimeName = contentType.split(';').takeFirst().trimmed();
diff --git a/src/fdosecrets/objects/Item.h b/src/fdosecrets/objects/Item.h
index cfec77fe5..39e83de74 100644
--- a/src/fdosecrets/objects/Item.h
+++ b/src/fdosecrets/objects/Item.h
@@ -67,15 +67,6 @@ namespace FdoSecrets
public:
static const QSet<QString> ReadOnlyAttributes;
- /**
- * Due to the limitation in EntrySearcher, custom attr key cannot contain ':',
- * Thus we encode the key when saving and decode it when returning.
- * @param key
- * @return
- */
- static QString encodeAttributeKey(const QString& key);
- static QString decodeAttributeKey(const QString& key);
-
DBusReturn<void> setProperties(const QVariantMap& properties);
Entry* backend() const;
diff --git a/src/fdosecrets/objects/Service.cpp b/src/fdosecrets/objects/Service.cpp
index cf9dfdbf7..6bca1f12c 100644
--- a/src/fdosecrets/objects/Service.cpp
+++ b/src/fdosecrets/objects/Service.cpp
@@ -303,7 +303,9 @@ namespace FdoSecrets
toUnlock << coll;
}
}
- prompt = new UnlockCollectionsPrompt(this, toUnlock);
+ if (!toUnlock.isEmpty()) {
+ prompt = new UnlockCollectionsPrompt(this, toUnlock);
+ }
return unlocked;
}
@@ -339,7 +341,9 @@ namespace FdoSecrets
toLock << coll;
}
}
- prompt = new LockCollectionsPrompt(this, toLock);
+ if (!toLock.isEmpty()) {
+ prompt = new LockCollectionsPrompt(this, toLock);
+ }
return locked;
}
diff --git a/src/fdosecrets/objects/SessionCipher.cpp b/src/fdosecrets/objects/SessionCipher.cpp
index 374580eed..dcdbc1932 100644
--- a/src/fdosecrets/objects/SessionCipher.cpp
+++ b/src/fdosecrets/objects/SessionCipher.cpp
@@ -44,11 +44,6 @@ namespace
namespace FdoSecrets
{
- QVariant CipherPair::negotiationOutput() const
- {
- return {};
- }
-
DhIetf1024Sha256Aes128CbcPkcs7::DhIetf1024Sha256Aes128CbcPkcs7(const QByteArray& clientPublicKeyBytes)
: m_valid(false)
{
diff --git a/src/fdosecrets/objects/SessionCipher.h b/src/fdosecrets/objects/SessionCipher.h
index 7d1d32d42..124636fdd 100644
--- a/src/fdosecrets/objects/SessionCipher.h
+++ b/src/fdosecrets/objects/SessionCipher.h
@@ -35,7 +35,7 @@ namespace FdoSecrets
virtual SecretStruct encrypt(const SecretStruct& input) = 0;
virtual SecretStruct decrypt(const SecretStruct& input) = 0;
virtual bool isValid() const = 0;
- virtual QVariant negotiationOutput() const;
+ virtual QVariant negotiationOutput() const = 0;
};
class PlainCipher : public CipherPair
@@ -57,6 +57,11 @@ namespace FdoSecrets
{
return true;
}
+
+ QVariant negotiationOutput() const override
+ {
+ return QStringLiteral("");
+ }
};
class DhIetf1024Sha256Aes128CbcPkcs7 : public CipherPair
diff --git a/src/format/OpVaultReader.cpp b/src/format/OpVaultReader.cpp
index 49d62b624..cc72653fd 100644
--- a/src/format/OpVaultReader.cpp
+++ b/src/format/OpVaultReader.cpp
@@ -341,6 +341,8 @@ OpVaultReader::decodeB64CompositeKeys(const QString& b64, const QByteArray& encK
result->errorStr = tr("Unable to decode masterKey: %1").arg(keyKey01.errorString());
return result;
}
+ delete result;
+
const QByteArray keyKey = keyKey01.getClearText();
return decodeCompositeKeys(keyKey);
diff --git a/src/gui/DatabaseOpenDialog.cpp b/src/gui/DatabaseOpenDialog.cpp
index ff7d46f22..e7f138f15 100644
--- a/src/gui/DatabaseOpenDialog.cpp
+++ b/src/gui/DatabaseOpenDialog.cpp
@@ -31,6 +31,8 @@ DatabaseOpenDialog::DatabaseOpenDialog(QWidget* parent)
setWindowFlags(windowFlags() | Qt::WindowStaysOnTopHint | Qt::ForeignWindow);
#endif
connect(m_view, SIGNAL(dialogFinished(bool)), this, SLOT(complete(bool)));
+ setLayout(m_view->layout());
+ setMinimumWidth(700);
}
void DatabaseOpenDialog::setFilePath(const QString& filePath)
diff --git a/src/gui/DatabaseOpenWidget.cpp b/src/gui/DatabaseOpenWidget.cpp
index 1cadc5e21..a409aadc3 100644
--- a/src/gui/DatabaseOpenWidget.cpp
+++ b/src/gui/DatabaseOpenWidget.cpp
@@ -58,6 +58,7 @@ DatabaseOpenWidget::DatabaseOpenWidget(QWidget* parent)
m_ui->buttonTogglePassword->setIcon(filePath()->onOffIcon("actions", "password-show"));
connect(m_ui->buttonTogglePassword, SIGNAL(toggled(bool)), m_ui->editPassword, SLOT(setShowPassword(bool)));
+ connect(m_ui->buttonTogglePassword, SIGNAL(toggled(bool)), m_ui->editPassword, SLOT(setFocus()));
connect(m_ui->buttonBrowseFile, SIGNAL(clicked()), SLOT(browseKeyFile()));
connect(m_ui->buttonBox, SIGNAL(accepted()), SLOT(openDatabase()));
@@ -65,6 +66,8 @@ DatabaseOpenWidget::DatabaseOpenWidget(QWidget* parent)
m_ui->hardwareKeyLabelHelp->setIcon(filePath()->icon("actions", "system-help").pixmap(QSize(12, 12)));
connect(m_ui->hardwareKeyLabelHelp, SIGNAL(clicked(bool)), SLOT(openHardwareKeyHelp()));
+ m_ui->keyFileLabelHelp->setIcon(filePath()->icon("actions", "system-help").pixmap(QSize(12, 12)));
+ connect(m_ui->keyFileLabelHelp, SIGNAL(clicked(bool)), SLOT(openKeyFileHelp()));
connect(m_ui->comboKeyFile->lineEdit(), SIGNAL(textChanged(QString)), SLOT(handleKeyFileComboEdited()));
connect(m_ui->comboKeyFile, SIGNAL(currentIndexChanged(int)), SLOT(handleKeyFileComboChanged()));
@@ -148,7 +151,7 @@ void DatabaseOpenWidget::load(const QString& filename)
m_filename = filename;
m_ui->fileNameLabel->setRawText(m_filename);
- m_ui->comboKeyFile->addItem(tr("Select file..."), -1);
+ m_ui->comboKeyFile->addItem(tr("Select key file..."), -1);
m_ui->comboKeyFile->setCurrentIndex(0);
m_ui->keyFileClearIcon->setVisible(false);
m_keyFileComboEdited = false;
@@ -163,8 +166,6 @@ void DatabaseOpenWidget::load(const QString& filename)
QHash<QString, QVariant> useTouchID = config()->get("UseTouchID").toHash();
m_ui->checkTouchID->setChecked(useTouchID.value(m_filename, false).toBool());
-
- m_ui->editPassword->setFocus();
}
void DatabaseOpenWidget::clearForms()
@@ -228,6 +229,9 @@ void DatabaseOpenWidget::openDatabase()
}
m_retryUnlockWithEmptyPassword = false;
m_ui->messageWidget->showMessage(error, MessageWidget::MessageType::Error);
+ // Focus on the password field and select the input for easy retry
+ m_ui->editPassword->selectAll();
+ m_ui->editPassword->setFocus();
return;
}
@@ -365,6 +369,13 @@ void DatabaseOpenWidget::browseKeyFile()
}
QString filename = fileDialog()->getOpenFileName(this, tr("Select key file"), QString(), filters);
+ if (QFileInfo(filename).canonicalFilePath() == QFileInfo(m_filename).canonicalFilePath()) {
+ MessageBox::warning(this, tr("Cannot use database file as key file"),
+ tr("You cannot use your database file as a key file.\nIf you do not have a key file, please leave the field empty."),
+ MessageBox::Button::Ok);
+ filename = "";
+ }
+
if (!filename.isEmpty()) {
m_ui->comboKeyFile->setCurrentIndex(-1);
m_ui->comboKeyFile->setEditText(filename);
@@ -433,5 +444,10 @@ void DatabaseOpenWidget::noYubikeyFound()
void DatabaseOpenWidget::openHardwareKeyHelp()
{
- QDesktopServices::openUrl(QUrl("https://keepassxc.org/docs#hwtoken"));
-} \ No newline at end of file
+ QDesktopServices::openUrl(QUrl("https://keepassxc.org/docs#faq-cat-yubikey"));
+}
+
+void DatabaseOpenWidget::openKeyFileHelp()
+{
+ QDesktopServices::openUrl(QUrl("https://keepassxc.org/docs#faq-cat-keyfile"));
+}
diff --git a/src/gui/DatabaseOpenWidget.h b/src/gui/DatabaseOpenWidget.h
index 1ea05ca9f..aa0a4315b 100644
--- a/src/gui/DatabaseOpenWidget.h
+++ b/src/gui/DatabaseOpenWidget.h
@@ -68,6 +68,7 @@ private slots:
void yubikeyDetectComplete();
void noYubikeyFound();
void openHardwareKeyHelp();
+ void openKeyFileHelp();
protected:
const QScopedPointer<Ui::DatabaseOpenWidget> m_ui;
diff --git a/src/gui/DatabaseOpenWidget.ui b/src/gui/DatabaseOpenWidget.ui
index ac60413b7..14a1337c6 100644
--- a/src/gui/DatabaseOpenWidget.ui
+++ b/src/gui/DatabaseOpenWidget.ui
@@ -2,14 +2,6 @@
<ui version="4.0">
<class>DatabaseOpenWidget</class>
<widget class="QWidget" name="DatabaseOpenWidget">
- <property name="geometry">
- <rect>
- <x>0</x>
- <y>0</y>
- <width>592</width>
- <height>462</height>
- </rect>
- </property>
<property name="accessibleName">
<string>Unlock KeePassXC Database</string>
</property>
@@ -210,7 +202,7 @@
<item>
<widget class="QLabel" name="label_2">
<property name="text">
- <string>Enter Additional Credentials:</string>
+ <string>Enter Additional Credentials (if any):</string>
</property>
</widget>
</item>
@@ -243,32 +235,6 @@
<property name="topMargin">
<number>3</number>
</property>
- <item row="0" column="3">
- <layout class="QGridLayout" name="gridLayout_2">
- <property name="verticalSpacing">
- <number>0</number>
- </property>
- <item row="0" column="1">
- <widget class="QComboBox" name="comboKeyFile">
- <property name="enabled">
- <bool>true</bool>
- </property>
- <property name="sizePolicy">
- <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="accessibleName">
- <string>Key file selection</string>
- </property>
- <property name="editable">
- <bool>true</bool>
- </property>
- </widget>
- </item>
- </layout>
- </item>
<item row="1" column="3">
<layout class="QGridLayout" name="gridLayout">
<property name="spacing">
@@ -330,26 +296,36 @@
</property>
</widget>
</item>
- <item row="1" column="4">
- <widget class="QPushButton" name="buttonRedetectYubikey">
- <property name="enabled">
- <bool>true</bool>
- </property>
- <property name="toolTip">
- <string>Refresh hardware tokens</string>
- </property>
- <property name="accessibleName">
- <string>Refresh hardware tokens</string>
- </property>
- <property name="text">
- <string>Refresh</string>
+ <item row="0" column="3">
+ <layout class="QGridLayout" name="gridLayout_2">
+ <property name="verticalSpacing">
+ <number>0</number>
</property>
- </widget>
+ <item row="0" column="1">
+ <widget class="QComboBox" name="comboKeyFile">
+ <property name="enabled">
+ <bool>true</bool>
+ </property>
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="accessibleName">
+ <string>Key file selection</string>
+ </property>
+ <property name="editable">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ </layout>
</item>
<item row="1" column="0">
<layout class="QHBoxLayout" name="horizontalLayout_6">
<property name="spacing">
- <number>0</number>
+ <number>5</number>
</property>
<item>
<widget class="QLabel" name="hardwareKeyLabel">
@@ -368,16 +344,16 @@
</property>
<property name="toolTip">
<string>&lt;p&gt;You can use a hardware security key such as a &lt;strong&gt;YubiKey&lt;/strong&gt; or &lt;strong&gt;OnlyKey&lt;/strong&gt; with slots configured for HMAC-SHA1.&lt;/p&gt;
- &lt;p&gt;Click for more information...&lt;/p&gt;</string>
+&lt;p&gt;Click for more information...&lt;/p&gt;</string>
</property>
<property name="accessibleName">
<string>Hardware key help</string>
</property>
<property name="styleSheet">
<string notr="true">QToolButton {
- border: none;
- background: none;
- }</string>
+ border: none;
+ background: none;
+}</string>
</property>
<property name="text">
<string notr="true">?</string>
@@ -396,12 +372,66 @@
</layout>
</item>
<item row="0" column="0">
- <widget class="QLabel" name="keyFileLabel">
- <property name="text">
- <string>Key File:</string>
+ <layout class="QHBoxLayout" name="horizontalLayout_4">
+ <property name="spacing">
+ <number>5</number>
</property>
- <property name="buddy">
- <cstring>comboKeyFile</cstring>
+ <item>
+ <widget class="QLabel" name="keyFileLabel">
+ <property name="text">
+ <string>Key File:</string>
+ </property>
+ <property name="buddy">
+ <cstring>comboKeyFile</cstring>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QToolButton" name="keyFileLabelHelp">
+ <property name="cursor">
+ <cursorShape>PointingHandCursor</cursorShape>
+ </property>
+ <property name="toolTip">
+ <string>&lt;p&gt;In addition to your master password, you can use a secret file to enhance the security of your database. Such a file can be generated in your database's security settings.&lt;/p&gt;&lt;p&gt;This is &lt;strong&gt;not&lt;/strong&gt; your *.kdbx database file!&lt;br&gt;If you do not have a key file, leave the field empty.&lt;/p&gt;&lt;p&gt;Click for more information...&lt;/p&gt;</string>
+ </property>
+ <property name="accessibleName">
+ <string>Key file help</string>
+ </property>
+ <property name="styleSheet">
+ <string notr="true">QToolButton {
+ border: none;
+ background: none;
+}</string>
+ </property>
+ <property name="text">
+ <string>?</string>
+ </property>
+ <property name="iconSize">
+ <size>
+ <width>12</width>
+ <height>12</height>
+ </size>
+ </property>
+ <property name="popupMode">
+ <enum>QToolButton::InstantPopup</enum>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ <item row="1" column="4">
+ <widget class="QPushButton" name="buttonRedetectYubikey">
+ <property name="enabled">
+ <bool>true</bool>
+ </property>
+ <property name="toolTip">
+ <string>Refresh hardware tokens</string>
+ </property>
+ <property name="accessibleName">
+ <string>Refresh hardware tokens</string>
+ </property>
+ <property name="text">
+ <string>Refresh</string>
</property>
</widget>
</item>
diff --git a/src/gui/DatabaseTabWidget.cpp b/src/gui/DatabaseTabWidget.cpp
index 4c8458e52..9cbfa8fd7 100644
--- a/src/gui/DatabaseTabWidget.cpp
+++ b/src/gui/DatabaseTabWidget.cpp
@@ -156,6 +156,7 @@ void DatabaseTabWidget::addDatabaseTab(const QString& filePath,
{
QFileInfo fileInfo(filePath);
QString canonicalFilePath = fileInfo.canonicalFilePath();
+
if (canonicalFilePath.isEmpty()) {
emit messageGlobal(tr("Failed to open %1. It either does not exist or is not accessible.").arg(filePath),
MessageWidget::Error);
@@ -165,7 +166,7 @@ void DatabaseTabWidget::addDatabaseTab(const QString& filePath,
for (int i = 0, c = count(); i < c; ++i) {
auto* dbWidget = databaseWidgetFromIndex(i);
Q_ASSERT(dbWidget);
- if (dbWidget && dbWidget->database()->canonicalFilePath() == canonicalFilePath) {
+ if (dbWidget && dbWidget->database()->canonicalFilePath().compare(canonicalFilePath, FILE_CASE_SENSITIVE) == 0) {
dbWidget->performUnlockDatabase(password, keyfile);
if (!inBackground) {
// switch to existing tab if file is already open
diff --git a/src/gui/DatabaseWidget.cpp b/src/gui/DatabaseWidget.cpp
index 45645fa55..29942571c 100644
--- a/src/gui/DatabaseWidget.cpp
+++ b/src/gui/DatabaseWidget.cpp
@@ -95,6 +95,8 @@ DatabaseWidget::DatabaseWidget(QSharedPointer<Database> db, QWidget* parent)
, m_groupView(new GroupView(m_db.data(), m_mainSplitter))
, m_saveAttempts(0)
{
+ Q_ASSERT(m_db);
+
m_messageWidget->setHidden(true);
auto* mainLayout = new QVBoxLayout();
@@ -221,7 +223,11 @@ DatabaseWidget::DatabaseWidget(QSharedPointer<Database> db, QWidget* parent)
KeeShare::instance()->connectDatabase(m_db, {});
#endif
- switchToMainView();
+ if (m_db->isInitialized()) {
+ switchToMainView();
+ } else {
+ switchToOpenDatabase();
+ }
}
DatabaseWidget::DatabaseWidget(const QString& filePath, QWidget* parent)
@@ -394,7 +400,6 @@ void DatabaseWidget::replaceDatabase(QSharedPointer<Database> db)
m_db = std::move(db);
connectDatabaseSignals();
m_groupView->changeDatabase(m_db);
- processAutoOpen();
// Restore the new parent group pointer, if not found default to the root group
// this prevents data loss when merging a database while creating a new entry
@@ -413,6 +418,8 @@ void DatabaseWidget::replaceDatabase(QSharedPointer<Database> db)
// Keep the instance active till the end of this function
Q_UNUSED(oldDb);
#endif
+
+ oldDb->releaseData();
}
void DatabaseWidget::cloneEntry()
@@ -940,6 +947,7 @@ void DatabaseWidget::loadDatabase(bool accepted)
if (accepted) {
replaceDatabase(openWidget->database());
switchToMainView();
+ processAutoOpen();
m_saveAttempts = 0;
emit databaseUnlocked();
if (config()->get("MinimizeAfterUnlock").toBool()) {
@@ -1026,6 +1034,7 @@ void DatabaseWidget::unlockDatabase(bool accepted)
m_entryBeforeLock = QUuid();
switchToMainView();
+ processAutoOpen();
emit databaseUnlocked();
if (senderDialog && senderDialog->intent() == DatabaseOpenDialog::Intent::AutoType) {
@@ -1462,6 +1471,7 @@ void DatabaseWidget::reloadDatabaseFile()
}
replaceDatabase(db);
+ processAutoOpen();
restoreGroupEntryFocus(groupBeforeReload, entryBeforeReload);
m_blockAutoSave = false;
} else {
diff --git a/src/gui/EntryPreviewWidget.cpp b/src/gui/EntryPreviewWidget.cpp
index af8c1cd21..e46e3a663 100644
--- a/src/gui/EntryPreviewWidget.cpp
+++ b/src/gui/EntryPreviewWidget.cpp
@@ -58,6 +58,15 @@ EntryPreviewWidget::EntryPreviewWidget(QWidget* parent)
m_ui->entryAttachmentsWidget->setReadOnly(true);
m_ui->entryAttachmentsWidget->setButtonsVisible(false);
+ // Match background of read-only text edit fields with the window
+ m_ui->entryPasswordLabel->setBackgroundRole(QPalette::Window);
+ m_ui->entryUsernameLabel->setBackgroundRole(QPalette::Window);
+ m_ui->entryNotesTextEdit->setBackgroundRole(QPalette::Window);
+ m_ui->groupNotesTextEdit->setBackgroundRole(QPalette::Window);
+ // Align notes text with label text
+ m_ui->entryNotesTextEdit->document()->setDocumentMargin(0);
+ m_ui->groupNotesTextEdit->document()->setDocumentMargin(0);
+
connect(m_ui->entryUrlLabel, SIGNAL(linkActivated(QString)), SLOT(openEntryUrl()));
connect(m_ui->entryTotpButton, SIGNAL(toggled(bool)), m_ui->entryTotpLabel, SLOT(setVisible(bool)));
@@ -173,44 +182,35 @@ void EntryPreviewWidget::setPasswordVisible(bool state)
{
const QString password = m_currentEntry->resolveMultiplePlaceholders(m_currentEntry->password());
if (state) {
- m_ui->entryPasswordLabel->setRawText(password);
- m_ui->entryPasswordLabel->setToolTip(password);
- m_ui->entryPasswordLabel->setTextInteractionFlags(Qt::TextSelectableByMouse);
+ m_ui->entryPasswordLabel->setText(password);
+ m_ui->entryPasswordLabel->setCursorPosition(0);
+ } else if (password.isEmpty() && config()->get("security/passwordemptynodots").toBool()) {
+ m_ui->entryPasswordLabel->setText("");
} else {
- m_ui->entryPasswordLabel->setTextInteractionFlags(Qt::NoTextInteraction);
- m_ui->entryPasswordLabel->setToolTip({});
- if (password.isEmpty() && config()->get("security/passwordemptynodots").toBool()) {
- m_ui->entryPasswordLabel->setRawText("");
- } else {
- m_ui->entryPasswordLabel->setRawText(QString("\u25cf").repeated(6));
- }
+ m_ui->entryPasswordLabel->setText(QString("\u25cf").repeated(6));
}
}
void EntryPreviewWidget::setEntryNotesVisible(bool state)
{
- setNotesVisible(m_ui->entryNotesLabel, m_currentEntry->notes(), state);
+ setNotesVisible(m_ui->entryNotesTextEdit, m_currentEntry->notes(), state);
}
void EntryPreviewWidget::setGroupNotesVisible(bool state)
{
- setNotesVisible(m_ui->groupNotesLabel, m_currentGroup->notes(), state);
+ setNotesVisible(m_ui->groupNotesTextEdit, m_currentGroup->notes(), state);
}
-void EntryPreviewWidget::setNotesVisible(QLabel* notesLabel, const QString& notes, bool state)
+void EntryPreviewWidget::setNotesVisible(QTextEdit* notesWidget, const QString& notes, bool state)
{
if (state) {
- // Add html hyperlinks to notes that start with XXXX://
- QString hyperlinkNotes = notes;
- notesLabel->setText(hyperlinkNotes.replace(QRegExp("(\\w+:\\/\\/\\S+)"), "<a href=\"\\1\">\\1</a>"));
- notesLabel->setTextInteractionFlags(Qt::TextBrowserInteraction);
+ notesWidget->setPlainText(notes);
+ notesWidget->moveCursor(QTextCursor::Start);
+ notesWidget->ensureCursorVisible();
} else {
- if (notes.isEmpty()) {
- notesLabel->setText("");
- } else {
- notesLabel->setText(QString("\u25cf").repeated(6));
+ if (!notes.isEmpty()) {
+ notesWidget->setPlainText(QString("\u25cf").repeated(6));
}
- notesLabel->setTextInteractionFlags(Qt::NoTextInteraction);
}
}
@@ -218,12 +218,13 @@ void EntryPreviewWidget::updateEntryGeneralTab()
{
Q_ASSERT(m_currentEntry);
m_ui->entryUsernameLabel->setText(m_currentEntry->resolveMultiplePlaceholders(m_currentEntry->username()));
+ m_ui->entryUsernameLabel->setCursorPosition(0);
if (config()->get("security/HidePasswordPreviewPanel").toBool()) {
// Hide password
setPasswordVisible(false);
// Show the password toggle button if there are dots in the label
- m_ui->togglePasswordButton->setVisible(!m_ui->entryPasswordLabel->rawText().isEmpty());
+ m_ui->togglePasswordButton->setVisible(!m_ui->entryPasswordLabel->text().isEmpty());
m_ui->togglePasswordButton->setChecked(false);
} else {
// Show password
@@ -233,7 +234,7 @@ void EntryPreviewWidget::updateEntryGeneralTab()
if (config()->get("security/hidenotes").toBool()) {
setEntryNotesVisible(false);
- m_ui->toggleEntryNotesButton->setVisible(!m_ui->entryNotesLabel->text().isEmpty());
+ m_ui->toggleEntryNotesButton->setVisible(!m_ui->entryNotesTextEdit->toPlainText().isEmpty());
m_ui->toggleEntryNotesButton->setChecked(false);
} else {
setEntryNotesVisible(true);
@@ -241,9 +242,9 @@ void EntryPreviewWidget::updateEntryGeneralTab()
}
if (config()->get("GUI/MonospaceNotes", false).toBool()) {
- m_ui->entryNotesLabel->setFont(Font::fixedFont());
+ m_ui->entryNotesTextEdit->setFont(Font::fixedFont());
} else {
- m_ui->entryNotesLabel->setFont(Font::defaultFont());
+ m_ui->entryNotesTextEdit->setFont(Font::defaultFont());
}
m_ui->entryUrlLabel->setRawText(m_currentEntry->displayUrl());
@@ -329,7 +330,7 @@ void EntryPreviewWidget::updateGroupGeneralTab()
if (config()->get("security/hidenotes").toBool()) {
setGroupNotesVisible(false);
- m_ui->toggleGroupNotesButton->setVisible(!m_ui->groupNotesLabel->text().isEmpty());
+ m_ui->toggleGroupNotesButton->setVisible(!m_ui->groupNotesTextEdit->toPlainText().isEmpty());
m_ui->toggleGroupNotesButton->setChecked(false);
} else {
setGroupNotesVisible(true);
@@ -337,9 +338,9 @@ void EntryPreviewWidget::updateGroupGeneralTab()
}
if (config()->get("GUI/MonospaceNotes", false).toBool()) {
- m_ui->groupNotesLabel->setFont(Font::fixedFont());
+ m_ui->groupNotesTextEdit->setFont(Font::fixedFont());
} else {
- m_ui->groupNotesLabel->setFont(Font::defaultFont());
+ m_ui->groupNotesTextEdit->setFont(Font::defaultFont());
}
}
diff --git a/src/gui/EntryPreviewWidget.h b/src/gui/EntryPreviewWidget.h
index 0887c49d4..e8e7d2172 100644
--- a/src/gui/EntryPreviewWidget.h
+++ b/src/gui/EntryPreviewWidget.h
@@ -28,6 +28,8 @@ namespace Ui
class EntryPreviewWidget;
}
+class QTextEdit;
+
class EntryPreviewWidget : public QWidget
{
Q_OBJECT
@@ -54,7 +56,7 @@ private slots:
void setPasswordVisible(bool state);
void setEntryNotesVisible(bool state);
void setGroupNotesVisible(bool state);
- void setNotesVisible(QLabel* notesLabel, const QString& notes, bool state);
+ void setNotesVisible(QTextEdit* notesWidget, const QString& notes, bool state);
void updateGroupHeaderLine();
void updateGroupGeneralTab();
diff --git a/src/gui/EntryPreviewWidget.ui b/src/gui/EntryPreviewWidget.ui
index 124923a77..4ac3702d5 100644
--- a/src/gui/EntryPreviewWidget.ui
+++ b/src/gui/EntryPreviewWidget.ui
@@ -159,7 +159,7 @@
<layout class="QVBoxLayout" name="verticalLayout_5">
<item>
<widget class="QWidget" name="entryGeneralWidget" native="true">
- <layout class="QGridLayout" name="gridLayout" rowstretch="0,0,0" columnstretch="0,0,0,2,0,0,3">
+ <layout class="QGridLayout" name="gridLayout">
<property name="leftMargin">
<number>0</number>
</property>
@@ -172,24 +172,8 @@
<property name="bottomMargin">
<number>0</number>
</property>
- <item row="0" column="0">
- <spacer name="entryLeftHorizontalSpacer">
- <property name="orientation">
- <enum>Qt::Horizontal</enum>
- </property>
- <property name="sizeType">
- <enum>QSizePolicy::Fixed</enum>
- </property>
- <property name="sizeHint" stdset="0">
- <size>
- <width>20</width>
- <height>20</height>
- </size>
- </property>
- </spacer>
- </item>
- <item row="0" column="1">
- <widget class="QLabel" name="entryUsernameTitleLabel">
+ <item row="1" column="1">
+ <widget class="QLabel" name="entryPasswordTitleLabel">
<property name="sizePolicy">
<sizepolicy hsizetype="Minimum" vsizetype="Preferred">
<horstretch>0</horstretch>
@@ -202,38 +186,74 @@
<bold>true</bold>
</font>
</property>
- <property name="layoutDirection">
- <enum>Qt::LeftToRight</enum>
- </property>
<property name="text">
- <string>Username</string>
+ <string>Password</string>
</property>
<property name="alignment">
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
</property>
</widget>
</item>
- <item row="0" column="3">
- <widget class="QLabel" name="entryUsernameLabel">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Expanding" vsizetype="Preferred">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
+ <item row="0" column="0">
+ <spacer name="entryLeftHorizontalSpacer">
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
</property>
- <property name="minimumSize">
+ <property name="sizeType">
+ <enum>QSizePolicy::Fixed</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
<size>
- <width>100</width>
- <height>0</height>
+ <width>20</width>
+ <height>20</height>
</size>
</property>
- <property name="text">
- <string notr="true">username</string>
+ </spacer>
+ </item>
+ <item row="1" column="2" colspan="2">
+ <layout class="QHBoxLayout" name="horizontalLayout_2" stretch="0,0">
+ <property name="spacing">
+ <number>6</number>
</property>
- <property name="textInteractionFlags">
- <set>Qt::LinksAccessibleByMouse|Qt::TextSelectableByMouse</set>
+ <property name="leftMargin">
+ <number>4</number>
</property>
- </widget>
+ <item>
+ <widget class="QToolButton" name="togglePasswordButton">
+ <property name="text">
+ <string/>
+ </property>
+ <property name="checkable">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QLineEdit" name="entryPasswordLabel">
+ <property name="minimumSize">
+ <size>
+ <width>150</width>
+ <height>0</height>
+ </size>
+ </property>
+ <property name="focusPolicy">
+ <enum>Qt::ClickFocus</enum>
+ </property>
+ <property name="text">
+ <string notr="true">password</string>
+ </property>
+ <property name="frame">
+ <bool>false</bool>
+ </property>
+ <property name="dragEnabled">
+ <bool>true</bool>
+ </property>
+ <property name="readOnly">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ </layout>
</item>
<item row="0" column="4">
<spacer name="entryMiddleHorizontalSpacer">
@@ -251,28 +271,6 @@
</property>
</spacer>
</item>
- <item row="0" column="5">
- <widget class="QLabel" name="entryUrlTitleLabel">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Minimum" vsizetype="Preferred">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="font">
- <font>
- <weight>75</weight>
- <bold>true</bold>
- </font>
- </property>
- <property name="text">
- <string>URL</string>
- </property>
- <property name="alignment">
- <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
- </property>
- </widget>
- </item>
<item row="0" column="6">
<widget class="ElidedLabel" name="entryUrlLabel">
<property name="sizePolicy">
@@ -283,7 +281,7 @@
</property>
<property name="minimumSize">
<size>
- <width>100</width>
+ <width>150</width>
<height>0</height>
</size>
</property>
@@ -301,24 +299,8 @@
</property>
</widget>
</item>
- <item row="1" column="0">
- <spacer name="entryLeftHorizontalSpacer_2">
- <property name="orientation">
- <enum>Qt::Horizontal</enum>
- </property>
- <property name="sizeType">
- <enum>QSizePolicy::Fixed</enum>
- </property>
- <property name="sizeHint" stdset="0">
- <size>
- <width>20</width>
- <height>30</height>
- </size>
- </property>
- </spacer>
- </item>
- <item row="1" column="1">
- <widget class="QLabel" name="entryPasswordTitleLabel">
+ <item row="2" column="1">
+ <widget class="QLabel" name="entryNotesTitleLabel">
<property name="sizePolicy">
<sizepolicy hsizetype="Minimum" vsizetype="Preferred">
<horstretch>0</horstretch>
@@ -332,68 +314,13 @@
</font>
</property>
<property name="text">
- <string>Password</string>
+ <string>Notes</string>
</property>
<property name="alignment">
- <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+ <set>Qt::AlignRight|Qt::AlignTop|Qt::AlignTrailing</set>
</property>
</widget>
</item>
- <item row="1" column="2" colspan="2">
- <layout class="QHBoxLayout" name="horizontalLayout_2" stretch="0,0">
- <property name="spacing">
- <number>6</number>
- </property>
- <property name="leftMargin">
- <number>4</number>
- </property>
- <item>
- <widget class="QToolButton" name="togglePasswordButton">
- <property name="text">
- <string/>
- </property>
- <property name="checkable">
- <bool>true</bool>
- </property>
- </widget>
- </item>
- <item>
- <widget class="ElidedLabel" name="entryPasswordLabel">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Expanding" vsizetype="Preferred">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="minimumSize">
- <size>
- <width>100</width>
- <height>0</height>
- </size>
- </property>
- <property name="text">
- <string notr="true">password</string>
- </property>
- </widget>
- </item>
- </layout>
- </item>
- <item row="1" column="4">
- <spacer name="entryMiddleHorizontalSpacer_3">
- <property name="orientation">
- <enum>Qt::Horizontal</enum>
- </property>
- <property name="sizeType">
- <enum>QSizePolicy::Fixed</enum>
- </property>
- <property name="sizeHint" stdset="0">
- <size>
- <width>10</width>
- <height>20</height>
- </size>
- </property>
- </spacer>
- </item>
<item row="1" column="5">
<widget class="QLabel" name="entryExpirationTitleLabel">
<property name="sizePolicy">
@@ -445,27 +372,21 @@
</property>
</spacer>
</item>
- <item row="2" column="1">
- <widget class="QLabel" name="entryNotesTitleLabel">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Minimum" vsizetype="Preferred">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="font">
- <font>
- <weight>75</weight>
- <bold>true</bold>
- </font>
+ <item row="1" column="0">
+ <spacer name="entryLeftHorizontalSpacer_2">
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
</property>
- <property name="text">
- <string>Notes</string>
+ <property name="sizeType">
+ <enum>QSizePolicy::Fixed</enum>
</property>
- <property name="alignment">
- <set>Qt::AlignRight|Qt::AlignTop|Qt::AlignTrailing</set>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>20</width>
+ <height>30</height>
+ </size>
</property>
- </widget>
+ </spacer>
</item>
<item row="2" column="2" colspan="5">
<layout class="QHBoxLayout" name="horizontalLayout_3" stretch="0,0">
@@ -486,41 +407,120 @@
</widget>
</item>
<item>
- <widget class="QLabel" name="entryNotesLabel">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Expanding" vsizetype="Expanding">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
+ <widget class="QTextEdit" name="entryNotesTextEdit">
+ <property name="focusPolicy">
+ <enum>Qt::ClickFocus</enum>
</property>
- <property name="minimumSize">
- <size>
- <width>100</width>
- <height>30</height>
- </size>
- </property>
- <property name="text">
- <string notr="true">notes</string>
+ <property name="frameShape">
+ <enum>QFrame::NoFrame</enum>
</property>
- <property name="textFormat">
- <enum>Qt::RichText</enum>
+ <property name="frameShadow">
+ <enum>QFrame::Plain</enum>
</property>
- <property name="alignment">
- <set>Qt::AlignTop</set>
+ <property name="lineWidth">
+ <number>0</number>
</property>
- <property name="wordWrap">
+ <property name="tabChangesFocus">
<bool>true</bool>
</property>
- <property name="openExternalLinks">
+ <property name="readOnly">
<bool>true</bool>
</property>
- <property name="textInteractionFlags">
- <set>Qt::NoTextInteraction</set>
- </property>
</widget>
</item>
</layout>
</item>
+ <item row="0" column="1">
+ <widget class="QLabel" name="entryUsernameTitleLabel">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Minimum" vsizetype="Preferred">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="font">
+ <font>
+ <weight>75</weight>
+ <bold>true</bold>
+ </font>
+ </property>
+ <property name="layoutDirection">
+ <enum>Qt::LeftToRight</enum>
+ </property>
+ <property name="text">
+ <string>Username</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="4">
+ <spacer name="entryMiddleHorizontalSpacer_3">
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="sizeType">
+ <enum>QSizePolicy::Fixed</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>10</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ <item row="0" column="5">
+ <widget class="QLabel" name="entryUrlTitleLabel">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Minimum" vsizetype="Preferred">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="font">
+ <font>
+ <weight>75</weight>
+ <bold>true</bold>
+ </font>
+ </property>
+ <property name="text">
+ <string>URL</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="2">
+ <widget class="QLineEdit" name="entryUsernameLabel">
+ <property name="minimumSize">
+ <size>
+ <width>150</width>
+ <height>0</height>
+ </size>
+ </property>
+ <property name="focusPolicy">
+ <enum>Qt::ClickFocus</enum>
+ </property>
+ <property name="text">
+ <string notr="true">username</string>
+ </property>
+ <property name="frame">
+ <bool>false</bool>
+ </property>
+ <property name="cursorPosition">
+ <number>8</number>
+ </property>
+ <property name="dragEnabled">
+ <bool>true</bool>
+ </property>
+ <property name="readOnly">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
</layout>
</widget>
</item>
@@ -1003,26 +1003,23 @@
</widget>
</item>
<item>
- <widget class="QLabel" name="groupNotesLabel">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Expanding" vsizetype="Expanding">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
+ <widget class="QTextEdit" name="groupNotesTextEdit">
+ <property name="focusPolicy">
+ <enum>Qt::ClickFocus</enum>
</property>
- <property name="minimumSize">
- <size>
- <width>100</width>
- <height>30</height>
- </size>
+ <property name="frameShape">
+ <enum>QFrame::NoFrame</enum>
</property>
- <property name="text">
- <string notr="true">notes</string>
+ <property name="frameShadow">
+ <enum>QFrame::Plain</enum>
</property>
- <property name="alignment">
- <set>Qt::AlignTop</set>
+ <property name="lineWidth">
+ <number>0</number>
+ </property>
+ <property name="tabChangesFocus">
+ <bool>true</bool>
</property>
- <property name="wordWrap">
+ <property name="readOnly">
<bool>true</bool>
</property>
</widget>
diff --git a/src/gui/TotpSetupDialog.cpp b/src/gui/TotpSetupDialog.cpp
index 8acf7d115..b350bedc4 100644
--- a/src/gui/TotpSetupDialog.cpp
+++ b/src/gui/TotpSetupDialog.cpp
@@ -1,6 +1,5 @@
/*
- * Copyright (C) 2017 Weslly Honorato <weslly@protonmail.com>
- * Copyright (C) 2017 KeePassXC Team <team@keepassxc.org>
+ * Copyright (C) 2019 KeePassXC Team <team@keepassxc.org>
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -46,9 +45,11 @@ TotpSetupDialog::~TotpSetupDialog()
void TotpSetupDialog::saveSettings()
{
// Secret key sanity check
- auto key = m_ui->seedEdit->text().toLatin1();
+ // Convert user input to all uppercase and remove '='
+ auto key = m_ui->seedEdit->text().toUpper().remove(" ").remove("=").toLatin1();
auto sanitizedKey = Base32::sanitizeInput(key);
- if (sanitizedKey != key) {
+ // Use startsWith to ignore added '=' for padding at the end
+ if (!sanitizedKey.startsWith(key)) {
MessageBox::information(this,
tr("Invalid TOTP Secret"),
tr("You have entered an invalid secret key. The key must be in Base32 format.\n"
@@ -112,7 +113,9 @@ void TotpSetupDialog::init()
// Read entry totp settings
auto settings = m_entry->totpSettings();
if (settings) {
- m_ui->seedEdit->setText(settings->key);
+ auto key = settings->key;
+ m_ui->seedEdit->setText(key.remove("="));
+ m_ui->seedEdit->setCursorPosition(0);
m_ui->stepSpinBox->setValue(settings->step);
if (settings->encoder.shortName == Totp::STEAM_SHORTNAME) {
diff --git a/src/gui/dbsettings/DatabaseSettingsWidgetStatistics.cpp b/src/gui/dbsettings/DatabaseSettingsWidgetStatistics.cpp
index e61436696..b02741adb 100644
--- a/src/gui/dbsettings/DatabaseSettingsWidgetStatistics.cpp
+++ b/src/gui/dbsettings/DatabaseSettingsWidgetStatistics.cpp
@@ -18,6 +18,7 @@
#include "DatabaseSettingsWidgetStatistics.h"
#include "ui_DatabaseSettingsWidgetStatistics.h"
+#include "core/AsyncTask.h"
#include "core/Database.h"
#include "core/FilePath.h"
#include "core/Group.h"
@@ -123,7 +124,8 @@ namespace
++nPwdsShort;
}
- if (ZxcvbnMatch(pwd.toLatin1(), nullptr, nullptr) < 65) {
+ // Speed up Zxcvbn process by excluding very long passwords and most passphrases
+ if (pwd.size() < 25 && ZxcvbnMatch(pwd.toLatin1(), nullptr, nullptr) < 65) {
++nPwdsWeak;
}
@@ -142,6 +144,11 @@ DatabaseSettingsWidgetStatistics::DatabaseSettingsWidgetStatistics(QWidget* pare
, m_errIcon(FilePath::instance()->icon("status", "dialog-error"))
{
m_ui->setupUi(this);
+
+ m_referencesModel.reset(new QStandardItemModel());
+ m_referencesModel->setHorizontalHeaderLabels(QStringList() << tr("Name") << tr("Value"));
+ m_ui->statisticsTableView->setModel(m_referencesModel.data());
+ m_ui->statisticsTableView->horizontalHeader()->setSectionResizeMode(QHeaderView::ResizeToContents);
}
DatabaseSettingsWidgetStatistics::~DatabaseSettingsWidgetStatistics()
@@ -165,48 +172,63 @@ void DatabaseSettingsWidgetStatistics::addStatsRow(QString name, QString value,
void DatabaseSettingsWidgetStatistics::loadSettings(QSharedPointer<Database> db)
{
- m_referencesModel.reset(new QStandardItemModel());
- m_referencesModel->setHorizontalHeaderLabels(QStringList() << tr("Name") << tr("Value"));
+ m_db = std::move(db);
+ m_statsCalculated = false;
+ m_referencesModel->clear();
+ addStatsRow(tr("Please wait, database statistics are being calculated..."), "");
+}
+
+void DatabaseSettingsWidgetStatistics::showEvent(QShowEvent* event)
+{
+ QWidget::showEvent(event);
+
+ if (!m_statsCalculated) {
+ // Perform stats calculation on next event loop to allow widget to appear
+ m_statsCalculated = true;
+ QTimer::singleShot(0, this, SLOT(calculateStats()));
+ }
+}
- const auto stats = Stats(db);
- addStatsRow(tr("Database name"), db->metadata()->name());
- addStatsRow(tr("Description"), db->metadata()->description());
- addStatsRow(tr("Location"), db->filePath());
- addStatsRow(tr("Last saved"), stats.modified.toString(Qt::DefaultLocaleShortDate));
+void DatabaseSettingsWidgetStatistics::calculateStats()
+{
+ const auto stats = AsyncTask::runAndWaitForFuture([this] { return new Stats(m_db); });
+
+ m_referencesModel->clear();
+ addStatsRow(tr("Database name"), m_db->metadata()->name());
+ addStatsRow(tr("Description"), m_db->metadata()->description());
+ addStatsRow(tr("Location"), m_db->filePath());
+ addStatsRow(tr("Last saved"), stats->modified.toString(Qt::DefaultLocaleShortDate));
addStatsRow(tr("Unsaved changes"),
- db->isModified() ? tr("yes") : tr("no"),
- db->isModified(),
+ m_db->isModified() ? tr("yes") : tr("no"),
+ m_db->isModified(),
tr("The database was modified, but the changes have not yet been saved to disk."));
- addStatsRow(tr("Number of groups"), QString::number(stats.nGroups));
- addStatsRow(tr("Number of entries"), QString::number(stats.nEntries));
+ addStatsRow(tr("Number of groups"), QString::number(stats->nGroups));
+ addStatsRow(tr("Number of entries"), QString::number(stats->nEntries));
addStatsRow(tr("Number of expired entries"),
- QString::number(stats.nExpired),
- stats.isAnyExpired(),
+ QString::number(stats->nExpired),
+ stats->isAnyExpired(),
tr("The database contains entries that have expired."));
- addStatsRow(tr("Unique passwords"), QString::number(stats.nPwdsUnique));
+ addStatsRow(tr("Unique passwords"), QString::number(stats->nPwdsUnique));
addStatsRow(tr("Non-unique passwords"),
- QString::number(stats.nPwdsReused),
- stats.areTooManyPwdsReused(),
+ QString::number(stats->nPwdsReused),
+ stats->areTooManyPwdsReused(),
tr("More than 10% of passwords are reused. Use unique passwords when possible."));
addStatsRow(tr("Maximum password reuse"),
- QString::number(stats.maxPwdReuse()),
- stats.arePwdsReusedTooOften(),
+ QString::number(stats->maxPwdReuse()),
+ stats->arePwdsReusedTooOften(),
tr("Some passwords are used more than three times. Use unique passwords when possible."));
addStatsRow(tr("Number of short passwords"),
- QString::number(stats.nPwdsShort),
- stats.nPwdsShort > 0,
+ QString::number(stats->nPwdsShort),
+ stats->nPwdsShort > 0,
tr("Recommended minimum password length is at least 8 characters."));
addStatsRow(tr("Number of weak passwords"),
- QString::number(stats.nPwdsWeak),
- stats.nPwdsWeak > 0,
+ QString::number(stats->nPwdsWeak),
+ stats->nPwdsWeak > 0,
tr("Recommend using long, randomized passwords with a rating of 'good' or 'excellent'."));
addStatsRow(tr("Average password length"),
- tr("%1 characters").arg(stats.averagePwdLength()),
- stats.isAvgPwdTooShort(),
+ tr("%1 characters").arg(stats->averagePwdLength()),
+ stats->isAvgPwdTooShort(),
tr("Average password length is less than ten characters. Longer passwords provide more security."));
-
- m_ui->sharedGroupsView->setModel(m_referencesModel.data());
- m_ui->sharedGroupsView->horizontalHeader()->setSectionResizeMode(QHeaderView::ResizeToContents);
}
void DatabaseSettingsWidgetStatistics::saveSettings()
diff --git a/src/gui/dbsettings/DatabaseSettingsWidgetStatistics.h b/src/gui/dbsettings/DatabaseSettingsWidgetStatistics.h
index 189df41ff..2bd42f13d 100644
--- a/src/gui/dbsettings/DatabaseSettingsWidgetStatistics.h
+++ b/src/gui/dbsettings/DatabaseSettingsWidgetStatistics.h
@@ -39,11 +39,19 @@ public:
void loadSettings(QSharedPointer<Database> db);
void saveSettings();
+protected:
+ void showEvent(QShowEvent* event) override;
+
+private slots:
+ void calculateStats();
+
private:
QScopedPointer<Ui::DatabaseSettingsWidgetStatistics> m_ui;
+ bool m_statsCalculated = false;
QIcon m_errIcon;
QScopedPointer<QStandardItemModel> m_referencesModel;
+ QSharedPointer<Database> m_db;
void addStatsRow(QString name, QString value, bool bad = false, QString badMsg = "");
};
diff --git a/src/gui/dbsettings/DatabaseSettingsWidgetStatistics.ui b/src/gui/dbsettings/DatabaseSettingsWidgetStatistics.ui
index 6eef5b366..ed9d6346e 100644
--- a/src/gui/dbsettings/DatabaseSettingsWidgetStatistics.ui
+++ b/src/gui/dbsettings/DatabaseSettingsWidgetStatistics.ui
@@ -24,13 +24,13 @@
<number>0</number>
</property>
<item>
- <widget class="QGroupBox" name="enableGroupBox">
+ <widget class="QGroupBox" name="statisticsGroupBox">
<property name="title">
<string>Statistics</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout_2">
<item>
- <widget class="QTableView" name="sharedGroupsView">
+ <widget class="QTableView" name="statisticsTableView">
<property name="editTriggers">
<set>QAbstractItemView::NoEditTriggers</set>
</property>
@@ -58,7 +58,7 @@
</widget>
</item>
<item>
- <widget class="QLabel" name="label">
+ <widget class="QLabel" name="tipLabel">
<property name="font">
<font>
<italic>true</italic>
diff --git a/src/gui/entry/AutoTypeMatchView.cpp b/src/gui/entry/AutoTypeMatchView.cpp
index 180473fd3..72ee32fde 100644
--- a/src/gui/entry/AutoTypeMatchView.cpp
+++ b/src/gui/entry/AutoTypeMatchView.cpp
@@ -35,7 +35,7 @@ AutoTypeMatchView::AutoTypeMatchView(QWidget* parent)
m_sortModel->setDynamicSortFilter(true);
m_sortModel->setSortLocaleAware(true);
m_sortModel->setSortCaseSensitivity(Qt::CaseInsensitive);
- QTreeView::setModel(m_sortModel);
+ setModel(m_sortModel);
setUniformRowHeights(true);
setRootIsDecorated(false);
@@ -90,12 +90,26 @@ void AutoTypeMatchView::keyPressEvent(QKeyEvent* event)
void AutoTypeMatchView::setMatchList(const QList<AutoTypeMatch>& matches)
{
m_model->setMatchList(matches);
+
+ bool sameSequences = true;
+ if (matches.count() > 1) {
+ QString sequenceTest = matches[0].sequence;
+ for (const auto& match : matches) {
+ if (match.sequence != sequenceTest) {
+ sameSequences = false;
+ break;
+ }
+ }
+ }
+ setColumnHidden(AutoTypeMatchModel::Sequence, sameSequences);
+
for (int i = 0; i < m_model->columnCount(); ++i) {
resizeColumnToContents(i);
if (columnWidth(i) > 250) {
setColumnWidth(i, 250);
}
}
+
setFirstMatchActive();
}
diff --git a/src/gui/macutils/AppKit.h b/src/gui/macutils/AppKit.h
index d7a5ba16e..2bff8f5b3 100644
--- a/src/gui/macutils/AppKit.h
+++ b/src/gui/macutils/AppKit.h
@@ -20,7 +20,7 @@
#define KEEPASSX_APPKIT_H
#include <QObject>
-#include <CoreGraphics/CGEvent.h>
+#include <unistd.h>
class AppKit : public QObject
{
@@ -37,9 +37,8 @@ public:
bool hideProcess(pid_t pid);
bool isHidden(pid_t pid);
bool isDarkMode();
- void* addGlobalMonitor(CGKeyCode keycode, CGEventFlags modifier, void* userData, void (*handler)(void*));
- void removeGlobalMonitor(void* monitor);
bool enableAccessibility();
+ bool enableScreenRecording();
signals:
void lockDatabases();
@@ -48,4 +47,4 @@ private:
void* self;
};
-#endif // KEEPASSX_APPKIT_H
+#endif // KEEPASSX_APPKIT_H
diff --git a/src/gui/macutils/AppKitImpl.h b/src/gui/macutils/AppKitImpl.h
index 54f695919..326879766 100644
--- a/src/gui/macutils/AppKitImpl.h
+++ b/src/gui/macutils/AppKitImpl.h
@@ -19,7 +19,6 @@
#import "AppKit.h"
#import <Foundation/Foundation.h>
-#import <AppKit/NSEvent.h>
#import <AppKit/NSRunningApplication.h>
@interface AppKitImpl : NSObject
@@ -37,8 +36,7 @@
- (bool) isHidden:(pid_t) pid;
- (bool) isDarkMode;
- (void) userSwitchHandler:(NSNotification*) notification;
-- (id) addGlobalMonitor:(NSEventMask) mask handler:(void (^)(NSEvent*)) handler;
-- (void) removeGlobalMonitor:(id) monitor;
- (bool) enableAccessibility;
+- (bool) enableScreenRecording;
@end
diff --git a/src/gui/macutils/AppKitImpl.mm b/src/gui/macutils/AppKitImpl.mm
index fa0128569..44137ee7f 100644
--- a/src/gui/macutils/AppKitImpl.mm
+++ b/src/gui/macutils/AppKitImpl.mm
@@ -19,6 +19,7 @@
#import "AppKitImpl.h"
#import <AppKit/NSWorkspace.h>
+#import <CoreVideo/CVPixelBuffer.h>
#import <Availability.h>
#if __MAC_OS_X_VERSION_MAX_ALLOWED < 101200
@@ -124,41 +125,40 @@ static const NSEventMask NSEventMaskKeyDown = NSKeyDownMask;
}
//
-// Add global event monitor
-//
-- (id) addGlobalMonitor:(NSEventMask) mask handler:(void (^)(NSEvent*)) handler
-{
- return [NSEvent addGlobalMonitorForEventsMatchingMask:mask handler:handler];
-}
-
-//
-// Remove global event monitor
-//
-- (void) removeGlobalMonitor:(id) monitor
-{
- [NSEvent removeMonitor:monitor];
-}
-
-//
// Check if accessibility is enabled, may show an popup asking for permissions
//
- (bool) enableAccessibility
{
- // Request a 1 pixel screenshot to trigger the permissions
- // required for screen reader access. These are necessary
- // for Auto-Type to find the window titles in macOS 10.15+
- CGImageRef screenshot = CGWindowListCreateImage(
- CGRectMake(0, 0, 1, 1),
- kCGWindowListOptionOnScreenOnly,
- kCGNullWindowID,
- kCGWindowImageDefault);
- CFRelease(screenshot);
-
// Request accessibility permissions for Auto-Type type on behalf of the user
NSDictionary* opts = @{static_cast<id>(kAXTrustedCheckOptionPrompt): @YES};
return AXIsProcessTrustedWithOptions(static_cast<CFDictionaryRef>(opts));
}
+//
+// Check if screen recording is enabled, may show an popup asking for permissions
+//
+- (bool) enableScreenRecording
+{
+ if (@available(macOS 10.15, *)) {
+ // Request screen recording permission on macOS 10.15+
+ // This is necessary to get the current window title
+ CGDisplayStreamRef stream = CGDisplayStreamCreate(CGMainDisplayID(), 1, 1, kCVPixelFormatType_32BGRA, nil,
+ ^(CGDisplayStreamFrameStatus status, uint64_t displayTime,
+ IOSurfaceRef frameSurface, CGDisplayStreamUpdateRef updateRef) {
+ Q_UNUSED(status);
+ Q_UNUSED(displayTime);
+ Q_UNUSED(frameSurface);
+ Q_UNUSED(updateRef);
+ });
+ if (stream) {
+ CFRelease(stream);
+ } else {
+ return NO;
+ }
+ }
+ return YES;
+}
+
@end
//
@@ -211,21 +211,12 @@ bool AppKit::isDarkMode()
return [static_cast<id>(self) isDarkMode];
}
-void* AppKit::addGlobalMonitor(CGKeyCode keycode, CGEventFlags modifier, void* userData, void (*handler)(void*))
-{
- return [static_cast<id>(self) addGlobalMonitor:NSEventMaskKeyDown handler:^(NSEvent* event) {
- if (event.keyCode == keycode && (event.modifierFlags & modifier) == modifier) {
- handler(userData);
- }
- }];
-}
-
-void AppKit::removeGlobalMonitor(void* monitor)
+bool AppKit::enableAccessibility()
{
- [static_cast<id>(self) removeGlobalMonitor:static_cast<id>(monitor)];
+ return [static_cast<id>(self) enableAccessibility];
}
-bool AppKit::enableAccessibility()
+bool AppKit::enableScreenRecording()
{
- return [static_cast<id>(self) enableAccessibility];
+ return [static_cast<id>(self) enableScreenRecording];
}
diff --git a/src/gui/macutils/MacUtils.cpp b/src/gui/macutils/MacUtils.cpp
index 653eb0832..211aaa7eb 100644
--- a/src/gui/macutils/MacUtils.cpp
+++ b/src/gui/macutils/MacUtils.cpp
@@ -21,7 +21,8 @@
MacUtils* MacUtils::m_instance = nullptr;
-MacUtils::MacUtils(QObject* parent) : QObject(parent)
+MacUtils::MacUtils(QObject* parent)
+ : QObject(parent)
, m_appkit(new AppKit())
{
connect(m_appkit.data(), SIGNAL(lockDatabases()), SIGNAL(lockDatabases()));
@@ -29,7 +30,6 @@ MacUtils::MacUtils(QObject* parent) : QObject(parent)
MacUtils::~MacUtils()
{
-
}
MacUtils* MacUtils::instance()
@@ -76,17 +76,12 @@ bool MacUtils::isDarkMode()
return m_appkit->isDarkMode();
}
-void* MacUtils::addGlobalMonitor(CGKeyCode keycode, CGEventFlags modifier, void* userData, void (*handler)(void*))
-{
- return m_appkit->addGlobalMonitor(keycode, modifier, userData, handler);
-}
-
-void MacUtils::removeGlobalMonitor(void* monitor)
+bool MacUtils::enableAccessibility()
{
- m_appkit->removeGlobalMonitor(monitor);
+ return m_appkit->enableAccessibility();
}
-bool MacUtils::enableAccessibility()
+bool MacUtils::enableScreenRecording()
{
- return m_appkit->enableAccessibility();
+ return m_appkit->enableScreenRecording();
}
diff --git a/src/gui/macutils/MacUtils.h b/src/gui/macutils/MacUtils.h
index ced612749..3e35994b1 100644
--- a/src/gui/macutils/MacUtils.h
+++ b/src/gui/macutils/MacUtils.h
@@ -19,9 +19,9 @@
#ifndef KEEPASSXC_MACUTILS_H
#define KEEPASSXC_MACUTILS_H
+#include "AppKit.h"
#include <QObject>
#include <QWidget>
-#include "AppKit.h"
class MacUtils : public QObject
{
@@ -38,9 +38,8 @@ public:
bool hideOwnWindow();
bool isHidden();
bool isDarkMode();
- void* addGlobalMonitor(CGKeyCode keycode, CGEventFlags modifier, void* userData, void (*handler)(void*));
- void removeGlobalMonitor(void* monitor);
bool enableAccessibility();
+ bool enableScreenRecording();
signals:
void lockDatabases();
diff --git a/src/keys/PasswordKey.cpp b/src/keys/PasswordKey.cpp
index 77d2f276e..4393a1780 100644
--- a/src/keys/PasswordKey.cpp
+++ b/src/keys/PasswordKey.cpp
@@ -48,19 +48,29 @@ PasswordKey::~PasswordKey()
}
}
-QSharedPointer<PasswordKey> PasswordKey::fromRawKey(const QByteArray& rawKey)
-{
- auto result = QSharedPointer<PasswordKey>::create();
- std::memcpy(result->m_key, rawKey.data(), std::min(SHA256_SIZE, rawKey.size()));
- return result;
-}
-
QByteArray PasswordKey::rawKey() const
{
+ if (!m_isInitialized) {
+ return {};
+ }
return QByteArray::fromRawData(m_key, SHA256_SIZE);
}
void PasswordKey::setPassword(const QString& password)
{
- std::memcpy(m_key, CryptoHash::hash(password.toUtf8(), CryptoHash::Sha256).data(), SHA256_SIZE);
+ setHash(CryptoHash::hash(password.toUtf8(), CryptoHash::Sha256));
+}
+
+void PasswordKey::setHash(const QByteArray& hash)
+{
+ Q_ASSERT(hash.size() == SHA256_SIZE);
+ std::memcpy(m_key, hash.data(), std::min(SHA256_SIZE, hash.size()));
+ m_isInitialized = true;
+}
+
+QSharedPointer<PasswordKey> PasswordKey::fromRawKey(const QByteArray& rawKey)
+{
+ auto result = QSharedPointer<PasswordKey>::create();
+ result->setHash(rawKey);
+ return result;
}
diff --git a/src/keys/PasswordKey.h b/src/keys/PasswordKey.h
index 4408cabcf..b84506673 100644
--- a/src/keys/PasswordKey.h
+++ b/src/keys/PasswordKey.h
@@ -33,6 +33,7 @@ public:
~PasswordKey() override;
QByteArray rawKey() const override;
void setPassword(const QString& password);
+ void setHash(const QByteArray& hash);
static QSharedPointer<PasswordKey> fromRawKey(const QByteArray& rawKey);
@@ -40,6 +41,7 @@ private:
static constexpr int SHA256_SIZE = 32;
char* m_key = nullptr;
+ bool m_isInitialized = false;
};
#endif // KEEPASSX_PASSWORDKEY_H
diff --git a/src/keys/drivers/YubiKeyStub.cpp b/src/keys/drivers/YubiKeyStub.cpp
index 81e913b0e..1c2fcb8b6 100644
--- a/src/keys/drivers/YubiKeyStub.cpp
+++ b/src/keys/drivers/YubiKeyStub.cpp
@@ -75,3 +75,10 @@ YubiKey::ChallengeResult YubiKey::challenge(int slot, bool mayBlock, const QByte
return ERROR;
}
+
+bool YubiKey::checkSlotIsBlocking(int slot, QString& errorMessage)
+{
+ Q_UNUSED(slot);
+ Q_UNUSED(errorMessage);
+ return false;
+}
diff --git a/src/main.cpp b/src/main.cpp
index 91eb1b73e..dd503d957 100644
--- a/src/main.cpp
+++ b/src/main.cpp
@@ -55,8 +55,12 @@ int main(int argc, char** argv)
#endif
#endif
+#if QT_VERSION >= QT_VERSION_CHECK(5, 7, 0)
+ QGuiApplication::setDesktopFileName("org.keepassxc.KeePassXC.desktop");
+#endif
+
Application app(argc, argv);
- Application::setApplicationName("keepassxc");
+ Application::setApplicationName("KeePassXC");
Application::setApplicationVersion(KEEPASSXC_VERSION);
// don't set organizationName as that changes the return value of
// QStandardPaths::writableLocation(QDesktopServices::DataLocation)
diff --git a/src/totp/totp.cpp b/src/totp/totp.cpp
index c6bad0156..105196fcd 100644
--- a/src/totp/totp.cpp
+++ b/src/totp/totp.cpp
@@ -152,7 +152,7 @@ QString Totp::writeSettings(const QSharedPointer<Totp::Settings>& settings,
auto urlstring = QString("otpauth://totp/%1:%2?secret=%3&period=%4&digits=%5&issuer=%1")
.arg(title.isEmpty() ? "KeePassXC" : QString(QUrl::toPercentEncoding(title)),
username.isEmpty() ? "none" : QString(QUrl::toPercentEncoding(username)),
- QString(Base32::sanitizeInput(settings->key.toLatin1())),
+ QString(QUrl::toPercentEncoding(Base32::sanitizeInput(settings->key.toLatin1()))),
QString::number(settings->step),
QString::number(settings->digits));
diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt
index 288f64470..9aac1b7d8 100644
--- a/tests/CMakeLists.txt
+++ b/tests/CMakeLists.txt
@@ -87,17 +87,7 @@ macro(add_unit_test)
endif()
endmacro(add_unit_test)
-set(TEST_LIBRARIES
- keepassx_core
- ${keepassxcbrowser_LIB}
- ${autotype_LIB}
- Qt5::Core
- Qt5::Concurrent
- Qt5::Widgets
- Qt5::Test
- ${GCRYPT_LIBRARIES}
- ${GPGERROR_LIBRARIES}
- ${ZLIB_LIBRARIES})
+set(TEST_LIBRARIES keepassx_core Qt5::Test)
set(testsupport_SOURCES
modeltest.cpp
@@ -108,10 +98,6 @@ set(testsupport_SOURCES
add_library(testsupport STATIC ${testsupport_SOURCES})
target_link_libraries(testsupport Qt5::Core Qt5::Concurrent Qt5::Widgets Qt5::Test)
-if(YUBIKEY_FOUND)
- set(TEST_LIBRARIES ${TEST_LIBRARIES} ${YUBIKEY_LIBRARIES})
-endif()
-
add_unit_test(NAME testgroup SOURCES TestGroup.cpp
LIBS testsupport ${TEST_LIBRARIES})
diff --git a/tests/TestBrowser.cpp b/tests/TestBrowser.cpp
index 576b72c18..bb3318d07 100644
--- a/tests/TestBrowser.cpp
+++ b/tests/TestBrowser.cpp
@@ -147,7 +147,7 @@ void TestBrowser::testSortPriority()
entry6->setUrl("http://github.com/login");
entry7->setUrl("github.com");
entry8->setUrl("github.com/login");
- entry9->setUrl("https://github");
+ entry9->setUrl("https://github"); // Invalid URL
entry10->setUrl("github.com");
// The extension uses the submitUrl as default for comparison
@@ -170,7 +170,7 @@ void TestBrowser::testSortPriority()
QCOMPARE(res6, 0);
QCOMPARE(res7, 0);
QCOMPARE(res8, 0);
- QCOMPARE(res9, 90);
+ QCOMPARE(res9, 0);
QCOMPARE(res10, 0);
}
@@ -188,7 +188,7 @@ void TestBrowser::testSearchEntries()
urls.push_back("http://github.com/login");
urls.push_back("github.com");
urls.push_back("github.com/login");
- urls.push_back("https://github");
+ urls.push_back("https://github"); // Invalid URL
urls.push_back("github.com");
for (int i = 0; i < urls.length(); ++i) {
@@ -202,24 +202,23 @@ void TestBrowser::testSearchEntries()
browserSettings()->setMatchUrlScheme(false);
auto result = m_browserService->searchEntries(db, "github.com", "https://github.com"); // db, hostname, url
- QCOMPARE(result.length(), 7);
+
+ QCOMPARE(result.length(), 9);
QCOMPARE(result[0]->url(), QString("https://github.com/login_page"));
QCOMPARE(result[1]->url(), QString("https://github.com/login"));
QCOMPARE(result[2]->url(), QString("https://github.com/"));
- QCOMPARE(result[3]->url(), QString("http://github.com"));
- QCOMPARE(result[4]->url(), QString("http://github.com/login"));
- QCOMPARE(result[5]->url(), QString("github.com"));
- QCOMPARE(result[6]->url(), QString("github.com"));
+ QCOMPARE(result[3]->url(), QString("github.com/login"));
+ QCOMPARE(result[4]->url(), QString("http://github.com"));
+ QCOMPARE(result[5]->url(), QString("http://github.com/login"));
- // With matching there should be only 5 results
+ // With matching there should be only 3 results + 4 without a scheme
browserSettings()->setMatchUrlScheme(true);
result = m_browserService->searchEntries(db, "github.com", "https://github.com"); // db, hostname, url
- QCOMPARE(result.length(), 5);
+ QCOMPARE(result.length(), 7);
QCOMPARE(result[0]->url(), QString("https://github.com/login_page"));
QCOMPARE(result[1]->url(), QString("https://github.com/login"));
QCOMPARE(result[2]->url(), QString("https://github.com/"));
- QCOMPARE(result[3]->url(), QString("github.com"));
- QCOMPARE(result[4]->url(), QString("github.com"));
+ QCOMPARE(result[3]->url(), QString("github.com/login"));
}
void TestBrowser::testSearchEntriesWithPort()
@@ -242,7 +241,7 @@ void TestBrowser::testSearchEntriesWithPort()
auto result = m_browserService->searchEntries(db, "127.0.0.1", "http://127.0.0.1:443"); // db, hostname, url
QCOMPARE(result.length(), 1);
- QCOMPARE(result[0]->url(), QString("http://127.0.0.1:443"));
+ QCOMPARE(result[0]->url(), urls[0]);
}
void TestBrowser::testSearchEntriesWithAdditionalURLs()
@@ -271,12 +270,94 @@ void TestBrowser::testSearchEntriesWithAdditionalURLs()
auto result = m_browserService->searchEntries(db, "github.com", "https://github.com"); // db, hostname, url
QCOMPARE(result.length(), 1);
- QCOMPARE(result[0]->url(), QString("https://github.com/"));
+ QCOMPARE(result[0]->url(), urls[0]);
// Search the additional URL. It should return the same entry
auto additionalResult = m_browserService->searchEntries(db, "keepassxc.org", "https://keepassxc.org");
QCOMPARE(additionalResult.length(), 1);
- QCOMPARE(additionalResult[0]->url(), QString("https://github.com/"));
+ QCOMPARE(additionalResult[0]->url(), urls[0]);
+}
+
+void TestBrowser::testInvalidEntries()
+{
+ auto db = QSharedPointer<Database>::create();
+ auto* root = db->rootGroup();
+
+ QList<QString> urls;
+ urls.push_back("https://github.com/login");
+ urls.push_back("https:///github.com/"); // Extra '/'
+ urls.push_back("http://github.com/**//*");
+ urls.push_back("http://*.github.com/login");
+ urls.push_back("//github.com"); // fromUserInput() corrects this one.
+ urls.push_back("github.com/{}<>");
+
+ for (int i = 0; i < urls.length(); ++i) {
+ auto entry = new Entry();
+ entry->setGroup(root);
+ entry->beginUpdate();
+ entry->setUrl(urls[i]);
+ entry->setUsername(QString("User %1").arg(i));
+ entry->endUpdate();
+ }
+
+ browserSettings()->setMatchUrlScheme(true);
+ auto result = m_browserService->searchEntries(db, "github.com", "https://github.com"); // db, hostname, url
+ QCOMPARE(result.length(), 2);
+ QCOMPARE(result[0]->url(), QString("https://github.com/login"));
+ QCOMPARE(result[1]->url(), QString("//github.com"));
+
+ // Test the URL's directly
+ QCOMPARE(m_browserService->handleURL(urls[0], "github.com", "https://github.com"), true);
+ QCOMPARE(m_browserService->handleURL(urls[1], "github.com", "https://github.com"), false);
+ QCOMPARE(m_browserService->handleURL(urls[2], "github.com", "https://github.com"), false);
+ QCOMPARE(m_browserService->handleURL(urls[3], "github.com", "https://github.com"), false);
+ QCOMPARE(m_browserService->handleURL(urls[4], "github.com", "https://github.com"), true);
+ QCOMPARE(m_browserService->handleURL(urls[5], "github.com", "https://github.com"), false);
+}
+
+void TestBrowser::testSubdomainsAndPaths()
+{
+ auto db = QSharedPointer<Database>::create();
+ auto* root = db->rootGroup();
+
+ QList<QString> urls;
+ urls.push_back("https://www.github.com/login/page.xml");
+ urls.push_back("https://login.github.com/");
+ urls.push_back("https://github.com");
+ urls.push_back("http://www.github.com");
+ urls.push_back("http://login.github.com/pathtonowhere");
+ urls.push_back(".github.com"); // Invalid URL
+ urls.push_back("www.github.com/");
+ urls.push_back("https://github"); // Invalid URL
+
+ for (int i = 0; i < urls.length(); ++i) {
+ auto entry = new Entry();
+ entry->setGroup(root);
+ entry->beginUpdate();
+ entry->setUrl(urls[i]);
+ entry->setUsername(QString("User %1").arg(i));
+ entry->endUpdate();
+ }
+
+ browserSettings()->setMatchUrlScheme(false);
+ auto result = m_browserService->searchEntries(db, "github.com", "https://github.com"); // db, hostname, url
+
+ QCOMPARE(result.length(), 6);
+ QCOMPARE(result[0]->url(), urls[0]);
+ QCOMPARE(result[1]->url(), urls[1]);
+ QCOMPARE(result[2]->url(), urls[2]);
+ QCOMPARE(result[3]->url(), urls[3]);
+ QCOMPARE(result[4]->url(), urls[4]);
+ QCOMPARE(result[5]->url(), urls[6]);
+
+ // With matching there should be only 3 results
+ browserSettings()->setMatchUrlScheme(true);
+ result = m_browserService->searchEntries(db, "github.com", "https://github.com"); // db, hostname, url
+ QCOMPARE(result.length(), 4);
+ QCOMPARE(result[0]->url(), urls[0]);
+ QCOMPARE(result[1]->url(), urls[1]);
+ QCOMPARE(result[2]->url(), urls[2]);
+ QCOMPARE(result[3]->url(), urls[6]);
}
void TestBrowser::testSortEntries()
@@ -293,7 +374,7 @@ void TestBrowser::testSortEntries()
urls.push_back("http://github.com/login");
urls.push_back("github.com");
urls.push_back("github.com/login");
- urls.push_back("https://github");
+ urls.push_back("https://github"); // Invalid URL
urls.push_back("github.com");
QList<Entry*> entries;
@@ -313,12 +394,13 @@ void TestBrowser::testSortEntries()
QCOMPARE(result.size(), 10);
QCOMPARE(result[0]->username(), QString("User 2"));
QCOMPARE(result[0]->url(), QString("https://github.com/"));
- QCOMPARE(result[1]->username(), QString("User 8"));
- QCOMPARE(result[1]->url(), QString("https://github"));
- QCOMPARE(result[2]->username(), QString("User 0"));
- QCOMPARE(result[2]->url(), QString("https://github.com/login_page"));
- QCOMPARE(result[3]->username(), QString("User 1"));
- QCOMPARE(result[3]->url(), QString("https://github.com/login"));
+ QCOMPARE(result[1]->username(), QString("User 0"));
+ QCOMPARE(result[1]->url(), QString("https://github.com/login_page"));
+ QCOMPARE(result[2]->username(), QString("User 1"));
+ QCOMPARE(result[2]->url(), QString("https://github.com/login"));
+ QCOMPARE(result[3]->username(), QString("User 3"));
+ QCOMPARE(result[3]->url(), QString("github.com/login"));
+
}
void TestBrowser::testGetDatabaseGroups()
diff --git a/tests/TestBrowser.h b/tests/TestBrowser.h
index 0eed0d23f..981c1642d 100644
--- a/tests/TestBrowser.h
+++ b/tests/TestBrowser.h
@@ -43,6 +43,8 @@ private slots:
void testSearchEntries();
void testSearchEntriesWithPort();
void testSearchEntriesWithAdditionalURLs();
+ void testInvalidEntries();
+ void testSubdomainsAndPaths();
void testSortEntries();
void testGetDatabaseGroups();
diff --git a/tests/TestCli.cpp b/tests/TestCli.cpp
index 586c39be1..8a9ab50ce 100644
--- a/tests/TestCli.cpp
+++ b/tests/TestCli.cpp
@@ -21,9 +21,9 @@
#include "core/Bootstrap.h"
#include "core/Config.h"
#include "core/Global.h"
-#include "core/PasswordGenerator.h"
#include "core/Tools.h"
#include "crypto/Crypto.h"
+#include "keys/drivers/YubiKey.h"
#include "format/Kdbx3Reader.h"
#include "format/Kdbx3Writer.h"
#include "format/Kdbx4Reader.h"
@@ -1682,14 +1682,15 @@ void TestCli::testShow()
QCOMPARE(m_stdoutFile->readAll(),
QByteArray("Title: Sample Entry\n"
"UserName: User Name\n"
- "Password: Password\n"
+ "Password: PROTECTED\n"
"URL: http://www.somesite.com/\n"
"Notes: Notes\n"));
qint64 pos = m_stdoutFile->pos();
Utils::Test::setNextPassword("a");
- showCmd.execute({"show", m_dbFile->fileName(), "-q", "/Sample Entry"});
+ showCmd.execute({"show", "-s", m_dbFile->fileName(), "/Sample Entry"});
m_stdoutFile->seek(pos);
+ m_stdoutFile->readLine(); // skip password prompt
QCOMPARE(m_stdoutFile->readAll(),
QByteArray("Title: Sample Entry\n"
"UserName: User Name\n"
@@ -1699,6 +1700,17 @@ void TestCli::testShow()
pos = m_stdoutFile->pos();
Utils::Test::setNextPassword("a");
+ showCmd.execute({"show", m_dbFile->fileName(), "-q", "/Sample Entry"});
+ m_stdoutFile->seek(pos);
+ QCOMPARE(m_stdoutFile->readAll(),
+ QByteArray("Title: Sample Entry\n"
+ "UserName: User Name\n"
+ "Password: PROTECTED\n"
+ "URL: http://www.somesite.com/\n"
+ "Notes: Notes\n"));
+
+ pos = m_stdoutFile->pos();
+ Utils::Test::setNextPassword("a");
showCmd.execute({"show", "-a", "Title", m_dbFile->fileName(), "/Sample Entry"});
m_stdoutFile->seek(pos);
m_stdoutFile->readLine(); // skip password prompt
@@ -1706,6 +1718,13 @@ void TestCli::testShow()
pos = m_stdoutFile->pos();
Utils::Test::setNextPassword("a");
+ showCmd.execute({"show", "-a", "Password", m_dbFile->fileName(), "/Sample Entry"});
+ m_stdoutFile->seek(pos);
+ m_stdoutFile->readLine(); // skip password prompt
+ QCOMPARE(m_stdoutFile->readAll(), QByteArray("Password\n"));
+
+ pos = m_stdoutFile->pos();
+ Utils::Test::setNextPassword("a");
showCmd.execute({"show", "-a", "Title", "-a", "URL", m_dbFile->fileName(), "/Sample Entry"});
m_stdoutFile->seek(pos);
m_stdoutFile->readLine(); // skip password prompt
diff --git a/tests/TestCsvParser.cpp b/tests/TestCsvParser.cpp
index 46d254098..f31e30414 100644
--- a/tests/TestCsvParser.cpp
+++ b/tests/TestCsvParser.cpp
@@ -111,7 +111,7 @@ void TestCsvParser::testEmptySimple()
out << "";
QVERIFY(parser->parse(file.data()));
t = parser->getCsvTable();
- QVERIFY(t.size() == 0);
+ QVERIFY(t.isEmpty());
}
void TestCsvParser::testEmptyQuoted()
@@ -120,7 +120,7 @@ void TestCsvParser::testEmptyQuoted()
out << "\"\"";
QVERIFY(parser->parse(file.data()));
t = parser->getCsvTable();
- QVERIFY(t.size() == 0);
+ QVERIFY(t.isEmpty());
}
void TestCsvParser::testEmptyNewline()
@@ -129,14 +129,14 @@ void TestCsvParser::testEmptyNewline()
out << "\"\n\"";
QVERIFY(parser->parse(file.data()));
t = parser->getCsvTable();
- QVERIFY(t.size() == 0);
+ QVERIFY(t.isEmpty());
}
void TestCsvParser::testEmptyFile()
{
QVERIFY(parser->parse(file.data()));
t = parser->getCsvTable();
- QVERIFY(t.size() == 0);
+ QVERIFY(t.isEmpty());
}
void TestCsvParser::testNewline()
@@ -281,7 +281,7 @@ void TestCsvParser::testEmptyReparsing()
parser->parse(nullptr);
QVERIFY(parser->reparse());
t = parser->getCsvTable();
- QVERIFY(t.size() == 0);
+ QVERIFY(t.isEmpty());
}
void TestCsvParser::testReparsing()
diff --git a/tests/TestEntryModel.cpp b/tests/TestEntryModel.cpp
index e32de2466..670e43aab 100644
--- a/tests/TestEntryModel.cpp
+++ b/tests/TestEntryModel.cpp
@@ -296,7 +296,7 @@ void TestEntryModel::testProxyModel()
QSignalSpy spyColumnRemove(modelProxy, SIGNAL(columnsAboutToBeRemoved(QModelIndex, int, int)));
modelProxy->hideColumn(0, true);
QCOMPARE(modelProxy->columnCount(), 12);
- QVERIFY(spyColumnRemove.size() >= 1);
+ QVERIFY(!spyColumnRemove.isEmpty());
int oldSpyColumnRemoveSize = spyColumnRemove.size();
modelProxy->hideColumn(0, true);
@@ -318,7 +318,7 @@ void TestEntryModel::testProxyModel()
QSignalSpy spyColumnInsert(modelProxy, SIGNAL(columnsAboutToBeInserted(QModelIndex, int, int)));
modelProxy->hideColumn(0, false);
QCOMPARE(modelProxy->columnCount(), 13);
- QVERIFY(spyColumnInsert.size() >= 1);
+ QVERIFY(!spyColumnInsert.isEmpty());
int oldSpyColumnInsertSize = spyColumnInsert.size();
modelProxy->hideColumn(0, false);
diff --git a/tests/TestEntrySearcher.cpp b/tests/TestEntrySearcher.cpp
index 7b129df17..7107cff0a 100644
--- a/tests/TestEntrySearcher.cpp
+++ b/tests/TestEntrySearcher.cpp
@@ -197,22 +197,22 @@ void TestEntrySearcher::testSearchTermParser()
QCOMPARE(terms.length(), 5);
- QCOMPARE(terms[0]->field, EntrySearcher::Field::Undefined);
- QCOMPARE(terms[0]->word, QString("test"));
- QCOMPARE(terms[0]->exclude, true);
+ QCOMPARE(terms[0].field, EntrySearcher::Field::Undefined);
+ QCOMPARE(terms[0].word, QString("test"));
+ QCOMPARE(terms[0].exclude, true);
- QCOMPARE(terms[1]->field, EntrySearcher::Field::Undefined);
- QCOMPARE(terms[1]->word, QString("quoted \\\"string\\\""));
- QCOMPARE(terms[1]->exclude, false);
+ QCOMPARE(terms[1].field, EntrySearcher::Field::Undefined);
+ QCOMPARE(terms[1].word, QString("quoted \\\"string\\\""));
+ QCOMPARE(terms[1].exclude, false);
- QCOMPARE(terms[2]->field, EntrySearcher::Field::Username);
- QCOMPARE(terms[2]->word, QString("user"));
+ QCOMPARE(terms[2].field, EntrySearcher::Field::Username);
+ QCOMPARE(terms[2].word, QString("user"));
- QCOMPARE(terms[3]->field, EntrySearcher::Field::Password);
- QCOMPARE(terms[3]->word, QString("test me"));
+ QCOMPARE(terms[3].field, EntrySearcher::Field::Password);
+ QCOMPARE(terms[3].word, QString("test me"));
- QCOMPARE(terms[4]->field, EntrySearcher::Field::Undefined);
- QCOMPARE(terms[4]->word, QString("noquote"));
+ QCOMPARE(terms[4].field, EntrySearcher::Field::Undefined);
+ QCOMPARE(terms[4].word, QString("noquote"));
// Test wildcard and regex search terms
m_entrySearcher.parseSearchTerms("+url:*.google.com *user:\\d+\\w{2}");
@@ -220,11 +220,11 @@ void TestEntrySearcher::testSearchTermParser()
QCOMPARE(terms.length(), 2);
- QCOMPARE(terms[0]->field, EntrySearcher::Field::Url);
- QCOMPARE(terms[0]->regex.pattern(), QString("^.*\\.google\\.com$"));
+ QCOMPARE(terms[0].field, EntrySearcher::Field::Url);
+ QCOMPARE(terms[0].regex.pattern(), QString("^.*\\.google\\.com$"));
- QCOMPARE(terms[1]->field, EntrySearcher::Field::Username);
- QCOMPARE(terms[1]->regex.pattern(), QString("\\d+\\w{2}"));
+ QCOMPARE(terms[1].field, EntrySearcher::Field::Username);
+ QCOMPARE(terms[1].regex.pattern(), QString("\\d+\\w{2}"));
// Test custom attribute search terms
m_entrySearcher.parseSearchTerms("+_abc:efg _def:\"ddd\"");
@@ -232,13 +232,13 @@ void TestEntrySearcher::testSearchTermParser()
QCOMPARE(terms.length(), 2);
- QCOMPARE(terms[0]->field, EntrySearcher::Field::AttributeValue);
- QCOMPARE(terms[0]->word, QString("abc"));
- QCOMPARE(terms[0]->regex.pattern(), QString("^efg$"));
+ QCOMPARE(terms[0].field, EntrySearcher::Field::AttributeValue);
+ QCOMPARE(terms[0].word, QString("abc"));
+ QCOMPARE(terms[0].regex.pattern(), QString("^efg$"));
- QCOMPARE(terms[1]->field, EntrySearcher::Field::AttributeValue);
- QCOMPARE(terms[1]->word, QString("def"));
- QCOMPARE(terms[1]->regex.pattern(), QString("ddd"));
+ QCOMPARE(terms[1].field, EntrySearcher::Field::AttributeValue);
+ QCOMPARE(terms[1].word, QString("def"));
+ QCOMPARE(terms[1].regex.pattern(), QString("ddd"));
}
void TestEntrySearcher::testCustomAttributesAreSearched()
diff --git a/tests/TestFdoSecrets.cpp b/tests/TestFdoSecrets.cpp
index 3876f9033..6994f60ab 100644
--- a/tests/TestFdoSecrets.cpp
+++ b/tests/TestFdoSecrets.cpp
@@ -19,8 +19,11 @@
#include "TestGlobal.h"
+#include "core/EntrySearcher.h"
#include "fdosecrets/GcryptMPI.h"
#include "fdosecrets/objects/SessionCipher.h"
+#include "fdosecrets/objects/Collection.h"
+#include "fdosecrets/objects/Item.h"
#include "crypto/Crypto.h"
@@ -90,3 +93,22 @@ void TestFdoSecrets::testDhIetf1024Sha256Aes128CbcPkcs7()
QCOMPARE(cipher->m_aesKey.toHex(), QByteArrayLiteral("6b8f5ee55138eac37118508be21e7834"));
}
+
+void TestFdoSecrets::testCrazyAttributeKey()
+{
+ using FdoSecrets::Item;
+ using FdoSecrets::Collection;
+
+ const QScopedPointer<Group> root(new Group());
+ const QScopedPointer<Entry> e1(new Entry());
+ e1->setGroup(root.data());
+
+ const QString key = "_a:bc&-+'-e%12df_d";
+ const QString value = "value";
+ e1->attributes()->set(key, value);
+
+ // search for custom entries
+ const auto term = Collection::attributeToTerm(key, value);
+ const auto res = EntrySearcher().search({term}, root.data());
+ QCOMPARE(res.count(), 1);
+}
diff --git a/tests/TestFdoSecrets.h b/tests/TestFdoSecrets.h
index eecc687e4..e108a81b9 100644
--- a/tests/TestFdoSecrets.h
+++ b/tests/TestFdoSecrets.h
@@ -30,6 +30,7 @@ private slots:
void testGcryptMPI();
void testDhIetf1024Sha256Aes128CbcPkcs7();
+ void testCrazyAttributeKey();
};
#endif // KEEPASSXC_TESTFDOSECRETS_H
diff --git a/tests/TestGroup.cpp b/tests/TestGroup.cpp
index ae9c59894..9fc39dc64 100644
--- a/tests/TestGroup.cpp
+++ b/tests/TestGroup.cpp
@@ -1070,7 +1070,7 @@ void TestGroup::testHierarchy()
QVERIFY(hierarchy.contains("group3"));
hierarchy = group3->hierarchy(0);
- QVERIFY(hierarchy.size() == 0);
+ QVERIFY(hierarchy.isEmpty());
hierarchy = group3->hierarchy(1);
QVERIFY(hierarchy.size() == 1);
diff --git a/tests/gui/CMakeLists.txt b/tests/gui/CMakeLists.txt
index 168272bac..6a8d21c4a 100644
--- a/tests/gui/CMakeLists.txt
+++ b/tests/gui/CMakeLists.txt
@@ -16,5 +16,8 @@
include_directories(${CMAKE_CURRENT_SOURCE_DIR}/..)
add_unit_test(NAME testgui SOURCES TestGui.cpp ../util/TemporaryFile.cpp LIBS ${TEST_LIBRARIES})
-add_unit_test(NAME testguibrowser SOURCES TestGuiBrowser.cpp ../util/TemporaryFile.cpp LIBS ${TEST_LIBRARIES})
add_unit_test(NAME testguipixmaps SOURCES TestGuiPixmaps.cpp LIBS ${TEST_LIBRARIES})
+
+if(WITH_XC_BROWSER)
+ add_unit_test(NAME testguibrowser SOURCES TestGuiBrowser.cpp ../util/TemporaryFile.cpp LIBS ${TEST_LIBRARIES})
+endif()
diff --git a/tests/gui/TestGui.cpp b/tests/gui/TestGui.cpp
index ca208db01..2a0bef483 100644
--- a/tests/gui/TestGui.cpp
+++ b/tests/gui/TestGui.cpp
@@ -756,7 +756,8 @@ void TestGui::testTotp()
QApplication::processEvents();
- QString exampleSeed = "gezdgnbvgy3tqojqgezdgnbvgy3tqojq";
+ QString exampleSeed = "gezd gnbvgY 3tqojqGEZdgnb vgy3tqoJq===";
+ QString expectedFinalSeed = exampleSeed.toUpper().remove(" ").remove("=");
auto* seedEdit = setupTotpDialog->findChild<QLineEdit*>("seedEdit");
seedEdit->setText("");
QTest::keyClicks(seedEdit, exampleSeed);
@@ -781,7 +782,7 @@ void TestGui::testTotp()
editEntryWidget->setCurrentPage(1);
auto* attrTextEdit = editEntryWidget->findChild<QPlainTextEdit*>("attributesEdit");
QTest::mouseClick(editEntryWidget->findChild<QAbstractButton*>("revealAttributeButton"), Qt::LeftButton);
- QCOMPARE(attrTextEdit->toPlainText(), exampleSeed);
+ QCOMPARE(attrTextEdit->toPlainText(), expectedFinalSeed);
auto* editEntryWidgetButtonBox = editEntryWidget->findChild<QDialogButtonBox*>("buttonBox");
QTest::mouseClick(editEntryWidgetButtonBox->button(QDialogButtonBox::Ok), Qt::LeftButton);